Commit graph

  • c336421d0d Update reviewed georelay directory automation/georelay-data github-actions[bot] 2026-08-16 06:06:54 +00:00
  • 3c0a2bbaab Merge branch 'feat/favorites-consent' into feat/app-lock feat/app-lock jack 2026-08-11 11:09:53 +02:00
  • a4a0ec0fbc Fix CI: update stale geo-block assertion; drop unused favorite string feat/favorites-consent jack 2026-08-11 11:09:51 +02:00
  • cc23827792 Review fixes: guard stale auth callbacks; clear the setting on fail-open jack 2026-08-11 10:19:28 +02:00
  • c8dd2180dc Merge branch 'feat/favorites-consent' into feat/app-lock jack 2026-08-11 10:16:56 +02:00
  • 9b72f84966 Review fixes: consent on every add-favorite path; correct empty-star tooltip jack 2026-08-11 10:16:53 +02:00
  • eb6223122a Merge branch 'fix/system-message-spoofing' into feat/favorites-consent jack 2026-08-11 10:14:12 +02:00
  • d530921919 Review fixes: suffix-tolerant actor + name-token target fix/system-message-spoofing jack 2026-08-11 10:14:08 +02:00
  • e729c155f7 Merge branch 'feat/identity-changed-warning' into fix/system-message-spoofing jack 2026-08-11 10:10:01 +02:00
  • c58ad9af10 Review fixes: unread flag + favorites-aware naming for the warning feat/identity-changed-warning jack 2026-08-11 10:09:57 +02:00
  • 0a288869d6 Merge branch 'feat/ptt-consent' into feat/identity-changed-warning jack 2026-08-11 10:06:48 +02:00
  • 6dd14961c6 Review fix: opt live-voice tests in via injectable provider feat/ptt-consent jack 2026-08-11 10:06:45 +02:00
  • daf9738c8b Merge branch 'feat/read-receipt-toggle' into feat/ptt-consent jack 2026-08-11 10:03:05 +02:00
  • cfa875459d Review fix: record withheld receipts in both tracking sets feat/read-receipt-toggle jack 2026-08-11 10:03:01 +02:00
  • 0ade22c7ed Add an optional app lock (Face ID / Touch ID / passcode) jack 2026-08-11 09:47:48 +02:00
  • d4d78e85eb Favorites consent, visible mutuality, and honest copy jack 2026-08-11 09:41:50 +02:00
  • a05c67252f Close the system-message spoofing hole in the action parser jack 2026-08-11 09:31:39 +02:00
  • 359139fc6b Warn in the chat when a peer's identity key changes jack 2026-08-11 09:28:11 +02:00
  • 0dacb3629c PTT consent: live voice off by default; slide-away-to-cancel jack 2026-08-11 09:23:19 +02:00
  • 3e46829f32 Add a read-receipt toggle jack 2026-08-11 09:17:55 +02:00
  • 9b84b36122
    Localize the last hardcoded UI strings; wire up two dead translations (#1656) main jack 2026-08-10 20:40:14 +02:00
  • 5c4b814c56
    Localize CommandProcessor: all 48 command strings, 30 locales (#1657) jack 2026-08-10 20:21:02 +02:00
  • eca147191c
    Add 26 code-referenced keys to the catalog + a test that closes the gap (#1654) jack 2026-08-10 20:03:23 +02:00
  • dba67c1466
    Deflake AppArchitectureTests: raise the local waitUntil to settleTimeout (#1653) jack 2026-08-10 09:12:50 +02:00
  • 5b592c8bae
    Add a persistent connectivity banner and stop the radar lying (#1597) jack 2026-08-10 08:47:53 +02:00
  • 66fdea52ae
    Make the panic wipe confirmable and its outcome visible (#1588) jack 2026-08-10 08:31:45 +02:00
  • c6cb4210e4
    Add a recent-chats section so DM conversations can't become unreachable (#1598) jack 2026-08-10 07:58:18 +02:00
  • 4f30433406
    Remove the public-channel screenshot broadcast (#1596) jack 2026-08-10 07:57:25 +02:00
  • 4122a4dacd
    Stop claiming encryption and privacy properties that aren't live (#1595) jack 2026-08-10 07:56:33 +02:00
  • 6ef3945179
    Deflake gift-wrap tests: settle deadlines, not latency budgets (#1651) jack 2026-08-10 07:56:12 +02:00
  • f0249d9cd7
    Make the Periphery scan blocking (#1648) jack 2026-08-09 11:39:03 +02:00
  • 6f961638f2
    Timestamp sanity windows: future-dated QR codes and implausible Nostr DM rumors (#1647) jack 2026-08-09 11:39:00 +02:00
  • 2a9fb4d53f
    Make SwiftLint blocking in CI now that the violation backlog is zero (#1646) jack 2026-08-08 12:12:30 +02:00
  • 9c84d4ce4f
    Fail closed on unverifiable handshake peer IDs + check SecRandomCopyBytes results (#1645) jack 2026-08-08 12:12:27 +02:00
  • 1f59e814f9
    Keyboard navigation for @-mention suggestions (#1542) Taksh Kothari 2026-08-01 18:21:31 +05:30
  • 0152344554
    feat: verification seal on private message sender rows (#1573) Taksh Kothari 2026-08-01 18:21:28 +05:30
  • 681c180060
    feat: share location channel invites via the system share sheet (#1513) Taksh Kothari 2026-08-01 14:53:41 +05:30
  • c66015d029
    feat: local alias field on the fingerprint sheet (#1507) Taksh Kothari 2026-08-01 14:53:14 +05:30
  • 68edb34469
    Location channels: locale-derived one-tap quick join (#1444) Rod Bahmanyari 2026-08-01 02:22:26 -07:00
  • 2c9a4e07c6
    Localize hardcoded macOS image picker copy. (#1478) Felix-Ayush 2026-08-01 14:33:52 +05:30
  • 8f9489790d
    Add macOS camera QR scanning for peer verification (#1477) Felix-Ayush 2026-08-01 14:33:48 +05:30
  • 948d6a85b9
    Peer ID rotation: working primitives + spec for iOS/Android review (#1487) jack 2026-08-01 09:41:15 +01:00
  • 4a2e06bac0 Merge remote-tracking branch 'origin/main' into harden/radio-metadata harden/radio-metadata jack 2026-07-31 15:56:29 +01:00
  • 9edb7c26ef
    Silence the four release-build warnings (#1583) v1.7.1 jack 2026-07-31 14:29:47 +01:00
  • 6f32363774
    Deflake VoiceRecorderTests: replace timed semaphores with async events (#1572) jack 2026-07-31 11:50:24 +01:00
  • 59a9f628df
    test: pin that unknown file TLVs are skipped, not fatal (#1550) Vincenzo Palazzo 2026-07-31 12:50:21 +02:00
  • 7b39d72bec
    Give media the explicit file-protection class other stores use (#1552) heyaim 2026-07-31 05:40:02 -05:00
  • 3a75567f5c
    fix: stop EnvironmentObject crash in the people sheet (#1567) Taksh Kothari 2026-07-31 15:34:55 +05:30
  • f269617004
    Fix the retire↔reconnect oscillation: redundant-link survivor is the newest connection (#1566) jack 2026-07-31 10:30:51 +01:00
  • 5780405dce
    Fix the SimulatedMesh announce-loss flake (#1564) jack 2026-07-30 21:21:49 +01:00
  • 1d0dc58221
    Make the completion-grace restart test deterministic (#1563) jack 2026-07-30 21:21:46 +01:00
  • 6414a59851
    fix(ble): don't spend the fragment scheduler's slot budget on blocked requests (#1530) krish rathi 2026-07-30 22:44:57 +05:30
  • 6c8499a603
    Normalize nicknames to Unicode NFC at storage and comparison boundaries (#1502) Vidit Kulshrestha 2026-07-30 22:44:53 +05:30
  • e2bd13a7f2
    chore: fix receive typo and refresh relay count in README (#1510) Taksh Kothari 2026-07-30 22:26:52 +05:30
  • e7f4ef0912
    fix: show verified seal next to sender names in chat (#1506) Taksh Kothari 2026-07-30 22:26:48 +05:30
  • 4ef5558d7b
    Replace try! regex construction with a non-trapping SafeRegex helper (#1501) Vidit Kulshrestha 2026-07-30 22:26:45 +05:30
  • 81837d7202
    Make DeliveryStatus non-optional with an explicit .notSentYet state (#1503) Vidit Kulshrestha 2026-07-30 22:26:42 +05:30
  • ab835e58c9
    Don't suggest blocked people in @-mentions (#1543) Taksh Kothari 2026-07-30 22:26:39 +05:30
  • e8f95e9a88
    Fix built-in relay actor isolation (#1528) Kudala Bharani Kumar Reddy 2026-07-30 12:56:35 -04:00
  • b49400ff0c
    Fix $$ escaping that broke every Xcode just recipe (#1525) Jozef Koval 2026-07-30 18:56:32 +02:00
  • e2b409e466
    Fix #1538: release stale bindings on rotation instead of leaving a ghost identity (#1554) jack 2026-07-30 15:21:59 +01:00
  • 4226f01503
    Link layer slice 5: BLELinkEvent — the port has a name, the delegates have their own files (#1551) jack 2026-07-30 09:27:34 +01:00
  • cdebdd9347
    Link layer slice 4: deterministic multi-node mesh simulation (and the panic-announce bug it caught) (#1548) jack 2026-07-30 01:14:19 +01:00
  • 2f5b56ce57
    Link layer slice 3: bindings and link-auth become engine-owned (the option-B domain flip) (#1547) jack 2026-07-29 20:23:32 +01:00
  • a0b7985cbe
    Link layer slice 2: cohere link-auth state and split bindings from the physical store (#1540) jack 2026-07-29 19:19:13 +01:00
  • 2c22b117b2
    Extract the central-role radio policy into BLERadioController (#1539) jack 2026-07-29 16:45:49 +01:00
  • d39467f7d3
    Defer alert-binding dismissal writes out of the view update (#1537) jack 2026-07-29 16:09:09 +01:00
  • c6b7096b2f
    BLE transport architecture V3: one engine domain, capability ports, feature-owned state (#1498) jack 2026-07-29 16:03:20 +01:00
  • eadd3a20c1
    Add Play Store link to README (#1524) Oleksandr Kravchuk 2026-07-28 22:21:33 +02:00
  • 0152196ac2
    Deflake CI, and make the flake class unrepeatable (#1491) jack 2026-07-26 23:45:20 +01:00
  • cdfd4345cf Apply the origin-TTL draw everywhere, and stop overclaiming it jack 2026-07-26 22:50:30 +01:00
  • 32e1c99441 Merge remote-tracking branch 'origin/main' into harden/radio-metadata jack 2026-07-26 22:42:09 +01:00
  • 14e7b428d9
    Add a real security policy (#1489) jack 2026-07-26 21:33:59 +02:00
  • c671e3df66
    Keep the composer focused after sending with the return key (#1490) jack 2026-07-26 21:19:12 +02:00
  • 399cdf95ab Stop broadcasting the adjacency graph and the authorship marker jack 2026-07-26 21:03:35 +02:00
  • 132120a88e
    Close the three holes the #1486 review found (#1488) jack 2026-07-26 21:01:38 +02:00
  • c1ce9029d8
    Keep working when the network is hostile, and make the app verifiable (#1486) jack 2026-07-26 19:45:37 +02:00
  • c079d2ab5d
    Harden what a locked or seized device gives away (#1484) jack 2026-07-26 19:26:29 +02:00
  • 229a41557e
    docs: correct inaccurate privacy and metadata claims (#1485) jack 2026-07-26 19:02:26 +02:00
  • 934b2cd2d3
    Harden iOS-sim CI: destination fallback + Noise reconnect test determinism (#1483) jack 2026-07-26 16:13:04 +02:00
  • a1711bd399
    Retry unacknowledged DMs after Noise replacement (#1462) jack 2026-07-26 15:37:50 +02:00
  • a4d294015a
    Keep DMs canonical across transport aliases (#1461) jack 2026-07-26 15:03:58 +02:00
  • 2ee52ce1e7 Surface terminal Nostr DM failures codex/fix-nostr-envelope-labeling jack 2026-07-25 22:00:31 +02:00
  • 00af91ea17 Reject unsendable Nostr DMs visibly jack 2026-07-25 21:40:20 +02:00
  • 6fd44086b3 Harden Nostr envelope migration compatibility jack 2026-07-12 10:01:02 -04:00
  • 660632ef6b
    Keep open DMs alive across Bluetooth settings (#1460) jack 2026-07-26 14:50:03 +02:00
  • 1a411970f9 Relabel private Nostr envelopes honestly jack 2026-07-10 17:22:24 -04:00
  • c72bb4ca2e
    Make private-media deletion transactional (#1468) jack 2026-07-26 14:33:12 +02:00
  • d6bd4f0681
    Retry confirmed private media after reconnect (#1467) jack 2026-07-26 14:15:12 +02:00
  • fb451bc6d0
    Persist authenticated private-media delivery receipts (#1466) jack 2026-07-26 14:00:21 +02:00
  • a9ceddab21
    Deliver live DM transport events synchronously (#1465) jack 2026-07-26 13:47:14 +02:00
  • e3e97d51ec
    Preserve early Noise ciphertext across reconnect promotion (#1464) jack 2026-07-26 13:30:06 +02:00
  • 78a81e5b57
    Make ordinary Noise reconnects atomic and race-safe (#1463) jack 2026-07-26 13:04:56 +02:00
  • e9275cb3d8
    Relabel private Nostr envelopes honestly in docs; harden legacy envelope validation (#1480) jack 2026-07-26 12:50:17 +02:00
  • 55f824a11f
    Make nearby notes tests parallel-safe (#1471) jack 2026-07-26 12:29:12 +02:00
  • 2d96fd99a1
    Encrypt private media before BLE fragmentation (#1434) jack 2026-07-26 12:17:22 +02:00
  • 10886428ca
    Deflake GeoRelayDirectoryTests under constrained runners (#1479) jack 2026-07-26 12:14:20 +02:00
  • bcb21f2116
    Require review before importing shared content (#1430) jack 2026-07-26 11:40:17 +02:00
  • b96a41054e
    Pin announce signing keys to stop mesh identity spoofing (#1349) jack 2026-07-26 11:38:24 +02:00
  • d326cecb63
    Fix BLE identity state races (#1428) jack 2026-07-26 11:38:16 +02:00
  • b59ad97dd6
    perf: verify Nostr inbound signatures once, off the main actor (#1352) jack 2026-07-26 11:27:57 +02:00
  • 58ccb30575
    Route GeoRelay updates through reviewed data (#1436) jack 2026-07-26 10:55:07 +02:00
  • 400ac4c904
    Avoid conversation index rebuilds at retention cap (#1435) jack 2026-07-26 10:52:28 +02:00
  • 565d2b7773
    Make developer cleanup artifact-only (#1433) jack 2026-07-26 10:50:25 +02:00
  • 6b71ad2a64
    Run iOS simulator tests in CI and repair coverage reporting (#1429) jack 2026-07-26 10:50:09 +02:00
  • 16324c819f
    Bind Noise sessions to claimed peer identities; require signed leaves (#1432) jack 2026-07-26 10:30:55 +02:00
  • cd727c6867
    Make panic wipe deterministic and device-bound (#1431) jack 2026-07-26 10:28:50 +02:00
  • fb8fe39713 Automated update of relay data - Sun Jul 26 06:54:16 UTC 2026 GitHub Action 2026-07-26 06:54:16 +00:00
  • ca18843bb0
    Add Persian (fa) localization and an in-app language picker (#1443) Rod Bahmanyari 2026-07-25 06:42:17 -07:00
  • 593fd7d737
    Harden public intake bounds against untrusted growth (#1451) Taksh Kothari 2026-07-25 15:55:46 +05:30
  • 733098bb63
    fix: use country-level resolution for low-precision geohashes (#1044) chernomortsev evgeny 2026-07-10 17:16:02 +04:00
  • 820c933958
    Harden PTT audio and the 1.7.1 release (#1423) jack 2026-07-10 14:04:09 +02:00
  • b205a55523
    Consolidate duplicate BLE links after restore; duplicate fragment-stream suppression; onChange coalescing (#1426) jack 2026-07-09 19:35:18 +02:00
  • f8ab0a7dc0
    Fix restore-path main↔bleQueue deadlock and courier drop amplification (#1425) jack 2026-07-09 18:23:46 +02:00
  • 304460ee83
    Nearby notes: tap-to-reveal (consent-gate the location subscription) + subscription hygiene (#1422) jack 2026-07-09 16:47:08 +02:00
  • b7c6f42b3a
    Close forged-directness link-rebind DoS on DM routing (#1421) jack 2026-07-09 16:46:33 +02:00
  • c8479c15e3
    PTT hardening: per-peer burst keys + live-capture storage quota (#1420) jack 2026-07-09 16:45:45 +02:00
  • 84d315e62d
    Bridge dedup: content-derived stable mesh message ID (#1419) jack 2026-07-09 16:44:47 +02:00
  • dd6b624cae
    Quality pass on the 1.7.0 batch: fix confirmed bugs, bump to 1.7.1 (#1418) jack 2026-07-09 16:44:02 +02:00
  • 021af3a22d
    Remove write-only peerNostrPubkey left by the read-receipt gate removal (#1417) v1.7.0 jack 2026-07-08 23:04:30 +02:00
  • 8c9c1cc6ac
    Bump version to 1.7.0 (#1416) jack 2026-07-08 22:55:45 +02:00
  • 55d51ba084
    DMs to unreachable peers use store-and-forward instead of failing instantly (#1415) jack 2026-07-08 22:42:39 +02:00
  • dc99d641c8
    Give the macOS app a proper icon matching iOS (#1414) jack 2026-07-08 22:07:40 +02:00
  • 020de96519
    Mesh bridging: stitch nearby mesh islands over the internet, courier drops, unified settings (#1412) jack 2026-07-08 21:45:38 +02:00
  • d499c3e415
    Isolate tests from the developer's real login keychain (#1413) jack 2026-07-08 17:20:00 +02:00
  • 4baeaab717
    Geo notes latency: EOSE scoped to reached relays + connecting state with auto-retry (#1411) jack 2026-07-08 14:16:46 +02:00
  • 74b8a47d02
    Empty-mesh liveliness: nearby conversations, echoes, wave, dead drops, radar (#1409) jack 2026-07-08 13:24:44 +02:00
  • ef848857b7
    Remove dead code found by full Periphery audit; add scan config + advisory CI (#1410) jack 2026-07-08 11:24:19 +02:00
  • d5cf64f99e
    Require signed sender for broadcast file transfers (#1406 follow-up) (#1407) jack 2026-07-08 11:07:40 +02:00
  • 35fb9fdd42
    Fix received DM images stuck as grey box: stamp incoming media delivered, reveal tap as Button (#1402) jack 2026-07-08 10:08:36 +02:00
  • 3e9230229d
    Heal peer-ID rotation: rebind link on verified announce, retire ghost peer (#1401) jack 2026-07-08 10:08:23 +02:00
  • 78a291ab77
    Public-mesh push-to-talk: signed live voice bursts in the mesh channel (#1406) jack 2026-07-08 09:23:16 +02:00
  • eacd8f0750
    Live push-to-talk voice for DMs (streams while you talk, voice note as fallback) (#1403) jack 2026-07-08 09:20:58 +02:00
  • 6886035632
    Fix press-and-hold mic dying instantly in private chats (#1405) jack 2026-07-08 09:20:54 +02:00
  • e642f696cb
    Header: globe opens channel sheet; deterministic crowding cascade (#1400) jack 2026-07-08 08:46:40 +02:00
  • 3f677776bb Mark AckPacer @unchecked Sendable v1.6.0 jack 2026-07-07 21:13:48 +02:00
  • 5dffb04912 Bump version to 1.6.0 jack 2026-07-07 21:09:17 +02:00
  • 81c45e9649
    Reconnect hygiene: paced acks, persistent gift-wrap dedup, self-fragment sync fix (#1398) jack 2026-07-07 21:08:10 +02:00
  • 963d3a089f
    Device-test findings: keychain lock access, GeoDM dedup, sync log clarity (#1397) jack 2026-07-07 20:09:01 +02:00
  • f79c2e3e9f
    BLE background presence: pending-connect wake-on-proximity + wake-window maintenance (#1396) jack 2026-07-07 19:54:10 +02:00
  • 0c3136282e Revert "BLE background presence: pending-connect wake-on-proximity + wake-window maintenance (#1395)" jack 2026-07-07 18:21:49 +02:00
  • b043324035
    BLE background presence: pending-connect wake-on-proximity + wake-window maintenance (#1395) jack 2026-07-07 18:18:41 +02:00
  • bbe5e1ef4e
    Fix reachability-gate races flagged by Codex on #1389 (#1394) jack 2026-07-07 18:09:30 +02:00
  • 28ffc53f3f
    i18n: fill all locale gaps so no string falls back to English (#1393) jack 2026-07-07 17:57:05 +02:00
  • 8415c52913
    Unified notices: one pin, one sheet for board pins + location notes (#1392) jack 2026-07-07 17:40:12 +02:00
  • a0c517c018
    i18n: machine-translate feature strings into all 28 non-English locales (#1391) jack 2026-07-07 16:16:35 +02:00
  • 81a10f73f0
    Private groups: creator-managed encrypted group chat over the mesh (#1383) jack 2026-07-07 15:59:55 +02:00
  • 87910541ef
    Prekey bundles: forward-secret async first contact for courier mail (#1381) jack 2026-07-07 15:38:33 +02:00
  • f9032cf2b9
    Add mesh diagnostics: /ping, /trace, and topology map (#1377) jack 2026-07-07 15:08:22 +02:00
  • d4f0c49787
    Gateway mode: opt-in mesh↔Nostr uplink for geohash channels (#1384) jack 2026-07-07 14:55:17 +02:00