close
Skip to content

feat: add desktop app#3

Merged
wesbillman merged 3 commits intomainfrom
wesb/add-desktop-project
Mar 9, 2026
Merged

feat: add desktop app#3
wesbillman merged 3 commits intomainfrom
wesb/add-desktop-project

Conversation

@wesbillman
Copy link
Copy Markdown
Collaborator

@wesbillman wesbillman commented Mar 9, 2026

Mostly just an app shell for now. More coming soon....

Screenshot 2026-03-09 at 11 03 59 AM Screenshot 2026-03-09 at 11 04 04 AM

@wesbillman wesbillman merged commit 629c99f into main Mar 9, 2026
7 checks passed
@wesbillman wesbillman deleted the wesb/add-desktop-project branch March 9, 2026 20:02
tlongwell-block added a commit that referenced this pull request Mar 10, 2026
* origin/main:
  Add desktop Home feed (#12)
  Add desktop Playwright e2e harness (#11)
  Update desktop icon and persist window state (#9)
  feat: add channel creation flow (#8)
  Improve message markdown display and formatting (#7)
  feat(desktop): connect chat to relay (#6)
  docs(readme): clarify desktop setup (#4)
  feat: add desktop app (#3)

# Conflicts:
#	crates/sprout-test-client/tests/e2e_rest_api.rs
tlongwell-block added a commit that referenced this pull request Mar 16, 2026
Crossfire round 1: codex 4/10, opus 8/10. All critical issues fixed:

Security (critical):
- Force channel_id=None for kind:1059 gift wraps — prevents channel-scoped
  storage that would bypass #p AUTH-gating (codex finding #1)

Correctness:
- NIP-50 pagination loop — keep fetching Typesense pages until limit met
  or result set exhausted, capped at MAX_SEARCH_PAGES=5 (codex finding #2)
- Push authors/since/until to Typesense filter_by — post-filtering is now
  a correction step, not the primary filter (codex + opus suggestion)
- NIP-10 root tag validation — reject events where client-supplied root
  diverges from server-resolved ancestry (codex finding #3)

Clarity:
- Consolidate #p gating into single P_GATED_KINDS check (opus suggestion #7)
- filter.clone() → std::slice::from_ref(filter) (opus suggestion #1)
- Remove no-op get_events_by_ids test, add debug_assert (opus #3, #5)
tlongwell-block added a commit that referenced this pull request Apr 9, 2026
Duration validation now rejects d <= 0.0 instead of d < 0.0.
Zero-duration videos are semantically invalid — server-side
validate_video_file() also catches this via mvhd timescale,
but belt-and-suspenders at the imeta layer is cheap and safe.

Addresses Clove's re-review item #3 (low severity).
tlongwell-block added a commit that referenced this pull request Apr 11, 2026
- #2: Document display_name reverse-lookup fragility in agents.rs
  with TODO for long-term fix (store internal name on PersonaRecord)
- #3: Add on_message to ResolvedHooks so it's not silently dropped
  during resolution
- #4: Fix misleading comment on ResolvedPack.description (was 'use
  pack name as fallback', now 'not yet wired')

156 crate tests pass, desktop compiles clean.
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