Build out API feature parity with interlinedlist.com - #1
Merged
Conversation
Closes the bulk of the gap between the native client and the web app, verified endpoint-by-endpoint against the live API (OpenAPI + probing with the test account). App builds clean in Debug and Release; the self-contained win-x64 publish (what the WiX MSI harvests) succeeds. New nav views: - Direct Messages — recipients + thread + send/read - People — profile lookup, follow/unfollow, request approve/reject, a user's messages, block/mute/report - Settings — profile edit, avatar-from-URL, email change, notification prefs, blocked/muted management, API-session list + revoke, CSV data export Feed depth: - replies/threads, edit/delete own posts, report, image attachments (upload + display), and click-through from an author to their profile (Navigator hub) Existing views enhanced: - Lists: row edit + delete (were write-once) - Documents: folder create/rename/delete + new-doc-in-folder - Organizations: full member management (add via search, change role, remove), edit/delete org - Notifications: mark-one-read + delete-one Service layer: 10 new/extended partials + multipart upload helper + shared JSON helpers; wire models added for all of the above. Write paths follow the codebase's read-after-write discipline. Corrected stale CLAUDE.md constraints (re-verified live 2026-07-31): org members and LinkedIn targets accept the bearer token (were documented as 401 walls), and the sync-token DOES have a server-side revoke (GET/DELETE /api/user/sessions). See the-gaps.md for the full gap analysis, per-session progress, and remaining post-v1 items. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes the bulk of the feature gap between this native WPF client and the web app at https://interlinedlist.com, verified endpoint-by-endpoint against the live API (OpenAPI spec + live probing with the test account). Full gap analysis, per-session progress, and remaining post-v1 items are in
the-gaps.md.Build status (local, macOS via
EnableWindowsTargeting): ✅ Debug ✅ Release ✅ self-containedwin-x64publish (what the WiX MSI harvests).What's included
New nav views
Feed depth
Existing views enhanced
Service layer — 10 new/extended
InterlinedApiClientpartials, a multipart-upload helper, shared JSON helpers, and wire models for all of the above. Write paths follow the repo's read-after-write discipline.Corrected stale constraints (re-verified live 2026-07-31)
GET /api/organizations/{id}/membersand/api/linkedin/targetsaccept the bearer token (CLAUDE.md documented them as 401 walls) → member management is now built.GET/DELETE /api/user/sessions→ surfaced in Settings.Caveats
POST /api/dmbody, notification-pref PATCH, org member mutations.MSI
The
build-msiCI job on this PR publishes the app and buildsInterlinedList-Setup.msi, uploaded as theInterlinedList-Setup-msiworkflow artifact.🤖 Generated with Claude Code