Skip to content

Build out API feature parity with interlinedlist.com - #1

Merged
Adron merged 1 commit into
devfrom
feature/api-parity-buildout
Aug 1, 2026
Merged

Build out API feature parity with interlinedlist.com#1
Adron merged 1 commit into
devfrom
feature/api-parity-buildout

Conversation

@Adron

@Adron Adron commented Jul 31, 2026

Copy link
Copy Markdown
Member

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-contained win-x64 publish (what the WiX MSI harvests).

What's included

New nav views

  • Direct Messages — recipient list + conversation thread + send/read
  • People — profile lookup, follow/unfollow, follow-request approve/reject, a user's messages, block/mute/report
  • Settings — profile edit, avatar-from-URL, email change, notification preferences, 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

Existing views enhanced

  • Lists: row edit + delete (were write-once) · Documents: folder CRUD + 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 InterlinedApiClient partials, 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}/members and /api/linkedin/targets accept the bearer token (CLAUDE.md documented them as 401 walls) → member management is now built.
  • The sync-token does have a server-side revoke: GET/DELETE /api/user/sessions → surfaced in Settings.

Caveats

  • Compiles on macOS but not runtime-tested on Windows (WPF can't run in this env).
  • A few write shapes use read-after-write and should get one live exercise: POST /api/dm body, notification-pref PATCH, org member mutations.
  • Fully verifying two-sided flows (DM send↔receive, follow approve/reject) needs a second test account.

MSI

The build-msi CI job on this PR publishes the app and builds InterlinedList-Setup.msi, uploaded as the InterlinedList-Setup-msi workflow artifact.

🤖 Generated with Claude Code

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>
@Adron
Adron merged commit b66b60d into dev Aug 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant