57 Commits

Author SHA1 Message Date
callebtc
6a14ff7cfc Merge main and retain iOS parity regression coverage 2026-09-08 01:34:05 +03:00
callebtc
994d40b46b Cancel pending publications when custom relays are removed 2026-09-08 00:50:01 +03:00
callebtc
f41e844298 Keep parity diagnostics and archive reads compatible with older Android 2026-09-08 00:43:59 +03:00
callebtc
43d9d85797 Complete durable delivery and client privacy parity 2026-09-08 00:31:48 +03:00
callebtc
9444acd33e
Merge pull request #869 from qutad/fix/nostr-ios-dm-lookback
fix(nostr): cap DM envelope backdating at 24 hours
2026-09-07 23:32:40 +03:00
callebtc
5334c08fac Add durable private delivery and courier transport 2026-09-07 23:30:42 +03:00
callebtc
646044cd81 Clarify capability authentication scope 2026-08-17 19:14:05 +02:00
wollow
22f87a493a Add announce capability bit assignments 2026-08-13 15:11:54 +03:00
wollow
acfbacf78f fix(nostr): reserve two-hour DM timestamp margin 2026-08-11 22:37:44 +03:00
callebtc
16a22316b2 Disable nondeterministic Compose group mapping 2026-08-11 20:42:26 +02:00
callebtc
6c5d7d1ef0 Fix reproducible R8 mapping output 2026-08-11 19:33:44 +02:00
wollow
bc03d78972 changed to 23-hour-45-minute maximum backdating window 2026-08-11 18:06:25 +03:00
callebtc
7e8ea63230 Prepare reproducible Wear 0.1.0 release 2026-08-11 15:19:39 +02:00
wollow
76bf226f98 fix(nostr): cap DM envelope backdating at 24 hours 2026-08-11 14:52:16 +03:00
callebtc
17a173a685 Fix cropped README screenshot controls 2026-08-02 00:03:46 +02:00
callebtc
1965d4bd7e Refresh README feature screenshots 2026-08-01 23:25:03 +02:00
callebtc
e9bc8e0f31 docs(protocol): specify live voice v1 2026-08-01 00:42:32 +02:00
callebtc
cbc59aaf8b feat(voice): add live push-to-talk 2026-07-31 17:40:37 +02:00
callebtc
0e3a4fdd18 Refine README mesh conversation 2026-07-31 02:07:06 +02:00
callebtc
0f1eb56e66 Center README globe on the Middle East 2026-07-31 01:40:13 +02:00
callebtc
4a6aa4875e Refresh README screenshots for Pixel layout 2026-07-31 00:19:53 +02:00
callebtc
55f8e5e72c Upgrade README screenshots to QHD 2026-07-30 23:57:57 +02:00
callebtc
f34559a0e9 Add README feature screenshots 2026-07-30 19:43:26 +02:00
callebtc
c7ced41bcb
Merge pull request #822 from permissionlesstech/uniform-lists-design
Unify people lists with conversation-row avatar design
2026-07-29 19:39:07 +02:00
callebtc
44560b9792 Add Watch peer profiles and verification 2026-07-29 18:55:56 +02:00
callebtc
bf5bd8c417 fix: restore Android Studio sync with strict Gradle security 2026-07-29 18:15:50 +02:00
callebtc
97026d7bbb fix: lock wear dependencies in CI 2026-07-29 12:20:48 +02:00
callebtc
dcb77dc6b1 Merge remote-tracking branch 'origin/main' into codex/reproducible-builds 2026-07-29 12:08:12 +02:00
callebtc
5edc9f7d85 docs: add maintainer release runbook 2026-07-29 03:05:01 +02:00
callebtc
3b53b9bdcc
Merge pull request #805 from permissionlesstech/wear-os-1
Wear OS app: standalone bitchat client for Pixel Watch
2026-07-29 03:02:46 +02:00
callebtc
120cc8e901 docs: wear screenshots for PR - onboarding, chat, people, voice notes, recording overlay 2026-07-29 02:39:29 +02:00
callebtc
da5650ceb4 fix: keep release signing local 2026-07-29 02:06:43 +02:00
callebtc
c7720d3847 Fix private media routing for contact conversations 2026-07-29 00:43:39 +02:00
callebtc
e03e373caa plan 2026-07-28 20:58:17 +02:00
callebtc
71c257669a watch works 2026-07-28 20:55:15 +02:00
callebtc
bd3bb8c774 wear: M7 - black splash theme, final design review, build/run/test docs; all milestones except deferred M5 done 2026-07-28 18:41:22 +02:00
callebtc
6340976e1c wear: M2/M3/M4/M6 verified on hardware - mesh discovery, chat, Noise DMs, ambient survival, full mesh_lab suite green; composer UX fixes 2026-07-28 18:31:45 +02:00
callebtc
a0048554c6 fix: isolate container SDK configuration 2026-07-28 17:50:17 +02:00
callebtc
4640d8479c docs: M7 status in wear plan 2026-07-28 16:52:36 +02:00
callebtc
43a88808a5 wear: M2/M3/M4/M6 code - BLE mesh service, chat/DM/people UI, test hook, mesh_lab watch support (hardware verification pending) 2026-07-28 16:43:49 +02:00
callebtc
711c73bbe7 wear: M1 - compile shared bitchat stack (protocol/noise/mesh) into :wear via synced sourcesets, 172 shared tests green 2026-07-28 16:19:56 +02:00
callebtc
a355ed79d0 wear: M0 - scaffold :wear module with bitchat theme, verified on Pixel Watch 3 2026-07-28 15:54:41 +02:00
callebtc
11f39c27f4 docs: complete mesh lab guide (prereqs, device prep, scenarios, troubleshooting)
Expands the release-gate runbook appendix into a fresh-clone walkthrough
and points AGENTS.md at the ADB device mesh tests, noting they are
deliberately separate from Gradle/CI.
2026-07-28 15:24:03 +02:00
callebtc
3f8b596361 build: enable reproducible Android releases 2026-07-28 14:29:49 +02:00
callebtc
41494d7c16 Add ADB-driven mesh test-hook framework and two-device mesh lab
Debug-only broadcast receiver (app/src/debug) exposes mesh operations over
ADB: scan, connect, Noise handshake, DMs, broadcast, announce, file
send/receive with SHA-256 verification, BLE toggle, state dumps, and raw
packet injection. tools/release_gate/mesh_lab.py orchestrates scenarios
(dm, broadcast, file, file_private, raw) on two live devices and emits
evidence JSON.
2026-07-28 13:05:49 +02:00
callebtc
c3bc911bcd Finish rollout: user-visible size-cap failure, OOM-safe decode catch
- MediaSendingManager: surface a chat system message when a picked file
  exceeds the ~10 MiB send cap instead of silently dropping the send
  (voice/image/file paths), completing the 'user-visible failure'
  requirement of the rollout gate
- BinaryProtocol: catch Exception instead of Throwable in decodeCore so
  OutOfMemoryError is never swallowed and masked as a parse failure
- docs/file_transfer.md: mark the compressed-expansion rollout gate
  resolved; support for legacy >10 MiB compressed transfers is
  explicitly ended
2026-07-27 22:11:19 +02:00
a1denvalu3
b251812b9e Align compressed payload send and receive bounds (#736)
* Align compressed payload send and receive bounds

* Preserve ambiguous raw deflate compatibility

* Pool decompression by memory budget
2026-07-27 22:10:27 +02:00
jack
e9bdf8aefc Bound pre-auth compressed payload expansion 2026-07-27 22:10:27 +02:00
callebtc
adba24b5de
test: add client rewrite contract suite (#779) 2026-07-27 17:05:43 +02:00
callebtc
bc49c71ea0
security: stop logging Noise key material, reduce noisy logging app-wide (#775)
C1 from security review: SymmetricState/HandshakeState logged raw X25519
shared secrets, chaining keys, and handshake hashes in hex to logcat on
every handshake, in release builds. A logcat transcript of a handshake
allowed full session decryption. Both classes no longer log at all.

Also reduces excessive logging across the app (~50% fewer log calls in
the noisiest files):

- NoiseSession emits one line per completed handshake; per-message
  encrypt/decrypt and per-handshake-step debug logs removed
- Removes all content/key logging: decrypted DM content, file names,
  payload hex dumps, pubkeys, event IDs, lat/lon, peer IPs, arti log
  forwarding
- Collapses multi-line banner/emoji log sequences into single factual
  lifecycle lines (connect/disconnect, relay/Tor state transitions)
- Keeps security-relevant warnings (signature failures, replay
  detection, key mismatches, panic wipe) in compact form

No logic changes. Includes the full security review report in
docs/security-review-jul-27.md.
2026-07-27 10:33:29 +02:00