Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: CompositeCode/interlinedlist-android
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: dev
Choose a base ref
...
head repository: CompositeCode/interlinedlist-android
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 238 files changed
  • 3 contributors

Commits on Jul 31, 2026

  1. feat(notifications): add Notification Preferences settings screen (Mi…

    …lestone E)
    
    GET/PATCH /api/user/notification-preferences — per-event push/inApp/email
    toggles with optimistic update + rollback. Files integrated from the
    worktree build onto the real :feature:notifications module (its build.gradle,
    DI, and shared TestDoubles kept; only the new NotificationPreferences* files
    added). Nav wiring into the Account hub deferred.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    c6d644e View commit details
    Browse the repository at this point in the history
  2. feat(profile): add Account & Security surface (Milestone K)

    Active Sessions (list + revoke device), Connected Accounts (view + unlink
    identity), Change email, and a type-to-confirm Delete Account flow (Play
    requires an in-app deletion path). Endpoints: /api/user/sessions (GET/DELETE),
    /api/user/identities (GET, DELETE by ?provider), /api/user/change-email/request,
    /api/user/delete. 107 unit tests green. Nav wiring deferred (snippet in report).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    cdd216e View commit details
    Browse the repository at this point in the history
  3. feat(dm): add Direct Messages module (Milestone A)

    New self-contained :feature:directmessages — inbox (cursor paged), thread
    with image attach + read receipts + lifecycle-scoped update polling, and a
    recipient picker. Offline-first (own Room db interlinedlist-dm.db), owns its
    DirectMessagesApi from the shared authed Retrofit. Endpoints: /api/dm (+ {id}
    read/trash/restore), /api/dm/recipients, /api/dm/thread/{username}(+/updates),
    /api/dm/unread-count, /api/dm/images/upload. 25 unit tests green. Nav wiring
    deferred (snippet in report).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    ff6111a View commit details
    Browse the repository at this point in the history
  4. feat(profile): browse others' public content (Milestone L)

    Adds Posts/Lists/Documents tabs to the other-user profile plus a mutual-
    connections indicator, and read-only public list/document viewers. Endpoints:
    /api/user/{username}/messages, /api/users/{username}/lists(+/{id}(+/data)),
    /api/users/{username}/documents, /api/documents/{id}, /api/users/lookup,
    /api/follow/{userId}/mutual (counts-only). 123 profile unit tests green.
    Stacks on Milestone K. Nav wiring deferred.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    09f2ada View commit details
    Browse the repository at this point in the history
  5. feat(lists,documents): sharing & share links (Milestone F)

    Create/list/revoke tokenized share links (view/edit/admin) on lists and
    documents; resolve + claim shared links; 'Shared with me' backed by
    /api/lists/watching (with role). Endpoints: {lists,documents}/{id}/share-links
    (+/{token} DELETE), {lists,documents}/shared/{token} (GET/POST), lists/watching,
    lists/shared/{token}/data. lists 92 + documents 72 unit tests green. Deep-link
    intent-filters + nav wiring deferred (snippets in report).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    e1685c3 View commit details
    Browse the repository at this point in the history
  6. feat(auth): complete account lifecycle (Milestone B)

    Adds Register, Forgot-password, Reset-password, and Email-verification flows to
    :feature:auth (was login-only), reusing login's sync-token/session path. New
    module-local AuthApi (POST /api/auth/register|forgot-password|reset-password|
    verify-email|send-verification-email) — no :core:network edits. Self-contained
    unauth nav sub-graph with reset/verify deep-link definitions. 29 unit tests
    green. App-level nav + manifest intent-filters deferred (snippets in report).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    0c9da8e View commit details
    Browse the repository at this point in the history
  7. feat(lists): completeness polish (Milestone M, lists slice)

    Edit list metadata (PUT /api/lists/{id}), folder rename/move/delete
    (PUT/DELETE /api/folders/{id}), contributors (GET /api/lists/{id}/contributors,
    shown in watchers), and single-row fetch (GET /api/lists/{id}/data/{rowId}).
    111 lists unit tests green. Documents slice (create-in-folder, templates
    seed-defaults) follows after Milestone G. Nav wiring deferred.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    ea0db68 View commit details
    Browse the repository at this point in the history
  8. feat(app): wire 7 parity milestones into navigation; app assembles

    Adds a 5th 'DMs' bottom-nav tab (directMessagesGraph); wires the auth
    lifecycle nested graph (register/forgot/reset/verify); profile Account &
    Security (sessions/connected-accounts/settings, aliasing the profile vs
    integrations ConnectedAccountsRoute clash); public content (list/document);
    notification preferences (gear in Notifications); and lists/documents share +
    shared/{token} deep-link routes + folder browser. app/build.gradle.kts now
    depends on :feature:directmessages. :app:assembleDebug BUILD SUCCESSFUL.
    App-manifest deep-link intent-filters still deferred.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    9249601 View commit details
    Browse the repository at this point in the history
  9. feat(documents): collaboration + delta sync (Milestone G) + wire mana…

    …ge-access
    
    Delta sync (GET/POST /api/documents/sync via WorkManager worker + cursor),
    PATCH save with If-Match optimistic concurrency (409 -> Conflict state),
    document /tree, collaborators CRUD (+user search) and lightweight presence
    heartbeat. 99 documents unit tests green. Wires the Manage-access route
    (documents/{id}/access -> DocumentCollaboratorsRoute) from the editor.
    :app:assembleDebug SUCCESSFUL. NOTE: the @HiltWorker delta-sync worker still
    needs the app-level HiltWorkerFactory bootstrap + a schedule call to run at
    runtime (deferred to device verification).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    610147a View commit details
    Browse the repository at this point in the history
  10. feat(documents): completeness polish (Milestone M, documents slice)

    Create-document-in-folder (POST /api/documents/folders/{id}/documents; browser
    FAB auto-routes when inside a folder) and seed default templates (POST
    /api/documents/templates/seed-defaults) with a Templates screen. Also fixes the
    live getTemplates parse (templates arrive under the 'templates' key). 112
    documents unit tests green; :app:assembleDebug SUCCESSFUL. Completes Milestone M.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Jul 31, 2026
    Configuration menu
    Copy the full SHA
    9d22622 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2026

  1. feat(billing): subscription upsell + Stripe checkout/portal (Mileston…

    …e J)
    
    New thin :feature:billing module: UpsellScreen with Subscribe (POST
    /api/stripe/create-checkout-session) and Manage subscription (POST
    /api/stripe/create-portal-session), opening the returned Stripe URL via
    ACTION_VIEW (no new deps). 16 unit tests green. App-nav wiring (403-gate ->
    upsell + Account hub) deferred to the app-level pass. NOTE: shipping Stripe web
    checkout on Google Play needs a payments-policy decision (code works either way).
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Aug 1, 2026
    Configuration menu
    Copy the full SHA
    fc5c039 View commit details
    Browse the repository at this point in the history
  2. feat(integrations): GitHub integration (Milestone N)

    Adds a GitHub section to :feature:integrations: list connected repos, browse a
    repo's issues, create an issue (title/body + optional labels/assignees), and
    comment on an issue; graceful 'GitHub not linked' state (live: 400
    {error:'GitHub account not linked'}). Endpoints: /api/github/repos, /issues
    (GET/POST), issue comments, repo assignees/labels. 33 integrations unit tests
    green (20 new). Hub GitHub entry gated behind a defaulted onOpenGitHub; app-nav
    wiring deferred to the app-level pass.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Aug 1, 2026
    Configuration menu
    Copy the full SHA
    e1b8e70 View commit details
    Browse the repository at this point in the history
  3. feat(profile): user moderation - block/mute/report (Milestone D, prof…

    …ile-side)
    
    Overflow menu on the other-user profile (Block/Mute/Report with confirm +
    reason) and a 'Blocked & muted' management screen in the Account hub. Endpoints:
    /api/users/{username}/block|mute|report (+ status GETs), /api/user/blocks|mutes.
    Report body confirmed {reason, detail?}. 150 profile unit tests green (27 new).
    The message-feed moderation menu stays deferred (touches :feature:messages).
    Nav wiring deferred to the app-level pass.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Aug 1, 2026
    Configuration menu
    Copy the full SHA
    55dd6ee View commit details
    Browse the repository at this point in the history
  4. feat(app): wire D moderation, J billing, N GitHub into nav + deep-links

    Adds account/blocked-muted (BlockedMutedRoute), integrations/github (GitHubRoute),
    billingGraph + a 'Subscription' Account-hub row (onOpenUpgrade -> upsell), and
    app-manifest deep-link intent-filters for lists/documents shared/{token} +
    reset-password/verify-email (https autoVerify + interlinedlist:// scheme).
    :app:assembleDebug SUCCESSFUL. (Folder-browser/templates routes remain
    registered-but-unreached; WorkManager bootstrap still deferred to #17.)
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Aug 1, 2026
    Configuration menu
    Copy the full SHA
    8f7864e View commit details
    Browse the repository at this point in the history
  5. chore: remove billing from Android (handled on web) + label device se…

    …ssions
    
    Per product decision, subscription billing stays on the web app: removes the
    :feature:billing module, its nav graph, the Account-hub 'Subscription' row, and
    the app dependency + settings include. Reverses Milestone J on Android.
    
    UX fix: the sync-token request now sends a deviceLabel ('InterlinedList Android
    · <model>') so the app's session is identifiable in Active Sessions instead of
    appearing as a generic 'CLI' entry. :app:assembleDebug green; profile 150 +
    auth 29 tests green.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Aug 1, 2026
    Configuration menu
    Copy the full SHA
    7ecf50b View commit details
    Browse the repository at this point in the history
  6. feat(app): make folder-browser (lists) and templates (documents) reac…

    …hable
    
    Adds a Folders top-bar action on the Lists screen -> FolderBrowserRoute
    (lists/folders), and a Templates action on the Documents browser -> new
    documents/templates route (DocumentTemplatesRoute). Completes the deferred
    folder/templates reachability (UX polish). :app:assembleDebug green.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
    Adron and claude committed Aug 1, 2026
    Configuration menu
    Copy the full SHA
    b5a475d View commit details
    Browse the repository at this point in the history
  7. Merge pull request #1 from CompositeCode/feature/parity-wip

    feat: Android feature-parity — 11 milestones (DMs, auth, sharing, doc-collab, moderation, GitHub, +more)
    Adron authored Aug 1, 2026
    Configuration menu
    Copy the full SHA
    8177dce View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2026

  1. Configuration menu
    Copy the full SHA
    2d38189 View commit details
    Browse the repository at this point in the history
Loading