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: 1mb-dev/markgo
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.3.0
Choose a base ref
...
head repository: 1mb-dev/markgo
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.4.0
Choose a head ref
  • 7 commits
  • 22 files changed
  • 1 contributor

Commits on Feb 13, 2026

  1. docs(css): evolve design language for responsive cohesion

    Add mobile header simplification rules, 3-breakpoint strategy,
    popover standardization pattern, thought permalink pages, navigation
    architecture (3 strategies for 3 sizes), content width philosophy,
    and responsive deduplication table. Living document reflecting
    v3.4 audit findings.
    vnykmshr committed Feb 13, 2026
    Configuration menu
    Copy the full SHA
    759b19f View commit details
    Browse the repository at this point in the history
  2. feat(css): UX cohesion — header, popovers, touch targets, thought cards

    Mobile header: hide search/subscribe icons (available in bottom nav
    and footer). Remove dead hamburger toggle markup, CSS, and JS.
    
    Popovers: standardize all 5 (search, subscribe, login, admin, theme)
    to full-width mobile, 320px right-anchored at 481px+.
    
    Touch targets: enforce 40px minimum on admin buttons, draft publish,
    error page links, compose upload, and compose sheet close.
    
    Thought cards: clickable via stretched-link pattern with permalink
    to /writing/:slug. Tag links stay interactive (elevated z-index).
    
    Compose sheet: keyboard-aware height via dvh with vh fallback.
    vnykmshr committed Feb 13, 2026
    Configuration menu
    Copy the full SHA
    2ca5eb7 View commit details
    Browse the repository at this point in the history
  3. feat(web): context-aware UI — gate compose behind auth, subscribe for…

    … visitors
    
    The app now serves two distinct experiences:
    - Visitor: reading/discovery UX (Home, Writing, Subscribe, Search, About)
    - Owner: creation tools appear after login (Compose, Admin, Drafts)
    
    Bottom nav center button: compose (authenticated) → subscribe (visitor).
    Header Compose link: shown only when authenticated.
    FAB: shown only when authenticated.
    GET /compose: moved behind SoftSessionAuth (shows login gate).
    
    Reactive auth: login via popover swaps subscribe→compose in bottom nav,
    shows FAB, adds header Compose link, dispatches auth:authenticated event.
    
    Fix compose-sheet.js 401 bug: check response status before parsing JSON
    body (server returns empty body on 401, causing JSON parse error).
    vnykmshr committed Feb 13, 2026
    Configuration menu
    Copy the full SHA
    3e6a336 View commit details
    Browse the repository at this point in the history
  4. fix(web): harden reactive auth — keyboard shortcut, init guard, CSRF …

    …sync
    
    - fab.js: register Cmd/Ctrl+N keyboard shortcut from both auth paths
      (was missing on reactive auth via popover login)
    - compose-sheet.js: add `initialized` guard to prevent double listener
      registration (prevents potential double-publish of queued posts)
    - login.js: await syncCSRFAfterLogin() before dispatching
      auth:authenticated event (closes CSRF race window); surface sync
      failures via toast instead of silent console.error
    vnykmshr committed Feb 13, 2026
    Configuration menu
    Copy the full SHA
    0d62194 View commit details
    Browse the repository at this point in the history
  5. fix(web): harden silent failures, session expiry, and SPA auth sync

    - offline-queue: CSRF-missing sentinel (-1), IndexedDB guard, error logging
    - compose-sheet: handle queue failures gracefully, guard getQueueCount
    - login: event delegation for SPA-swapped auth gates, reload on expiry
    - router: sync data-authenticated across SPA navigations, dispatch auth:statechange
    - subscribe-popover: scroll before opening (matches footer pattern)
    - navigation: log skipped link errors instead of swallowing
    vnykmshr committed Feb 13, 2026
    Configuration menu
    Copy the full SHA
    467d5ae View commit details
    Browse the repository at this point in the history
  6. fix(web): move upload status below controls as fine-print text

    Upload hint ("Save as draft first to upload files") was cramped inline
    with Preview/Upload buttons. Now renders as a standalone block below
    the controls row for better readability on mobile.
    vnykmshr committed Feb 13, 2026
    Configuration menu
    Copy the full SHA
    4ddc9f1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    87b8013 View commit details
    Browse the repository at this point in the history
Loading