Commit Graph

  • e80f725906 Location Channels sheet: use black sheet background like other sheets\n\n- Add backgroundColor and apply to container and list.\n- Hide list default background with scrollContentBackground(.hidden). jack 2025-09-13 22:29:58 +02:00
  • c7d8c95f8d Notes: standardize on building-level (8 chars) for publish/read\n\n- Use .building geohash when opening notes, reacting to channel updates, and subscribing the counter.\n- Update comments to reflect building-level scope. jack 2025-09-13 22:28:50 +02:00
  • 743551c10c Header spacing: move #mesh/#geohash closer to notes/bookmark\n\n- Reduce trailing padding on channel badge and leading padding on notes/bookmark to cluster them together.\n- Keeps larger gap before people count for readability. jack 2025-09-13 22:27:51 +02:00
  • 7da6f95e87 Fix notes icon color: subscribe/count at block-level geohash\n\n- Use block (precision 7) geohash for notes: when opening sheet, on channel changes, and when subscribing the counter.\n- Aligns with LocationNotesManager which publishes at street-level geohash, allowing the counter to detect notes and turn icon blue. jack 2025-09-13 22:26:34 +02:00
  • bd753af6cb Location Notes: @name regular green, #abcd darker; nudge #hash\n\n- Render '@' and base name in regular green, suffix '#abcd' in darker green.\n- Add extra left padding before '#geohash' in notes header.\n- Increase leading padding for channel badge to push #mesh/#geohash further right. jack 2025-09-13 22:24:10 +02:00
  • a3f54c5bf8 Location Notes + Header polish\n\n- Header: add space in '@ #geohash' and use darker green for geohash.\n- Notes list: render '@name#abcd' with darker green for #abcd to match chat.\n- Header: move geochat bookmark icon after #geohash badge with consistent spacing. jack 2025-09-13 22:18:14 +02:00
  • 79a045af39 Header: nudge #mesh/#geohash badge right with leading padding jack 2025-09-13 22:13:19 +02:00
  • 607acdbfe4 Header spacing: add breathing room between channel badge, notes button, and people count\n\n- Add trailing padding after #mesh/#geohash badge.\n- Add leading padding before notes button and people counter to improve readability. jack 2025-09-13 22:10:07 +02:00
  • 5b3f1a1350 Location Notes: prefix usernames with @ and lighten #geohash\n\n- Show @ before usernames in notes list.\n- Split header into '@' and '#geohash' and color the geohash with secondary green for consistency. jack 2025-09-13 22:09:10 +02:00
  • ee4ce4a38e UI: replace textual 'close' with X icon\n\n- AppInfoView (iOS): use xmark icon in nav bar to match Location Notes style.\n- LocationChannelsSheet: use xmark icon for close on iOS/macOS toolbars; add accessibility label. jack 2025-09-13 22:02:56 +02:00
  • 57cc9028cb Fix EXC_GUARD crash: avoid closing Tor-owned fd on tor exit\n\nCTorHost: stop calling close(owning_fd_tor) in tor_thread_main. Tor already\ncloses its end; closing a reused guarded fd can trigger EXC_GUARD on iOS 18.\nWe now treat it as Tor-owned and just invalidate our reference. jack 2025-09-13 21:09:23 +02:00
  • b0a50c663f Tor (Simulator): add iOS simulator slice to tor-nolzma.xcframework; wire Xcode project; basic docs (#604) 2025-09-13 20:48:57 +02:00
  • 75b69b2aea Resolve PR #590 merge: unify tor-nolzma xcframework refs, keep CTorHost move, set MARKETING_VERSION=1.4.0, drop stray .gitkeep in iOS Resources resolve-590 jack 2025-09-13 20:37:35 +02:00
  • 0a98844c1a Xcode: update Tor C group and references after moving CTorHost.c into Services/Tor/C and adding include/.gitkeep jack 2025-09-13 15:06:52 +02:00
  • efb9a5070d SPM Test target + Github Action to build and test (#596) IslamandGitHub 2025-09-13 14:01:30 +01:00
  • 2870acdcc7 Location Notes (kind 1) at Building Precision + Live Updates (#598) 2025-09-13 14:55:04 +02:00
  • 48db5502d7 Notes icon: turn blue immediately when sheet shows notes by passing count up from sheet (closure) and OR-ing with counter; reset on sheet close feat/geocache jack 2025-09-13 14:18:38 +02:00
  • 0a9a59a7a6 Notes subscribe: fallback to default relays when GeoRelayDirectory has no entries (pass nil relayUrls) so counter/icon turn blue and sheet loads even before georelay fetch jack 2025-09-13 13:29:41 +02:00
  • 887faa89ac Notes icon: force a one-shot location refresh before (re)subscribing the counter so icon turns blue immediately on current 8-cell jack 2025-09-13 13:16:29 +02:00
  • 58eb83b73a Notes sheet: add light haptic feedback when building geohash changes (iOS only) jack 2025-09-13 12:56:41 +02:00
  • 24cebfebf2 Notes header: bold count text; ensure sheet updates when building geohash changes by calling manager.setGeohash on geohash change jack 2025-09-13 12:47:23 +02:00
  • 0a151f51df Notes header: move count before title as '<N> note(s) @ #gh'; remove parentheses; keep count non-bold jack 2025-09-13 12:39:02 +02:00
  • 8c9bfaa20e Notes header: show count as '(N note/notes)' with non-bold, secondary styling next to title jack 2025-09-13 12:33:49 +02:00
  • e08e5c8e65 Notes header: show count in parentheses; icon shows blue if any notes, grey if none; only start live location updates while sheet is open; reduce nickname width; set live distance filter to 10m jack 2025-09-13 12:31:02 +02:00
  • 78f1bd3ad9 Notes counter: subscribe only to building geohash (precision 8) so count reflects current 8-cell; auto-begin live location refresh on mesh (and permission) to update as you walk jack 2025-09-13 12:19:44 +02:00
  • 6cf6e3c420 Notes: subscribe counter to building + parent block (merge results); hide notes icon unless location is authorized; replace 10s timer with live location updates while sheet open jack 2025-09-13 12:09:41 +02:00
  • 8cc6d538ae Notes header: show building name when available (fallback to block name) jack 2025-09-13 12:04:14 +02:00
  • f10e5d1788 Notes counter: show 0 by default; subscribe at building-level (precision 8) for notes and counter; keep building hidden in channel list jack 2025-09-13 11:59:55 +02:00
  • 5bf28e5ba4 Fix Swift 6 isolation: hop to @MainActor inside Timer callback for EOSE tracker mutations jack 2025-09-13 11:53:19 +02:00
  • fecebb05d5 Nostr: add EOSE handling with callback support for subscriptions; wire to LocationNotesManager/Counter (initialLoadComplete). Remove 'building' level from channel enum and geocoder mapping; geohash list shows block/neighborhood/city/province/region only jack 2025-09-13 11:44:37 +02:00
  • b7e76e6da4 Location notes: show block name (from reverse geocode) in header instead of 'street-level notes' jack 2025-09-13 11:35:23 +02:00
  • eb63a62590 Revert notes geohash selection back to block-level (precision 7); keep building level available but unused; update counter and sheet accordingly jack 2025-09-13 11:29:49 +02:00
  • 939adcf1cb Location notes: change notes toolbar icon to SF Symbol 'long.text.page.and.pencil' jack 2025-09-13 11:27:46 +02:00
  • 46ca37ceaa Switch location notes and UI helpers to building-level geohash (precision 8): add GeohashChannelLevel.building, map length 8, use building for notes selection and counter, add building name mapping jack 2025-09-13 11:08:38 +02:00
  • ead1d1e9a2 Location notes: append 'ago' to relative timestamps (within 7 days) jack 2025-09-13 10:37:05 +02:00
  • e0f69d7f59 Location notes: show timestamp as relative within 7 days, else absolute date (MMM d or MMM d, y); keep monospaced styling jack 2025-09-13 10:36:26 +02:00
  • cd3dea3dc4 Location notes: drop 'teleport' tag from kind-1 events; simplify note builder API and usage jack 2025-09-13 10:32:35 +02:00
  • 086699961d Location notes: restore timestamps in notes list; remove loading state from manager and sheet (no spinner/animation) jack 2025-09-13 10:31:17 +02:00
  • e455a23fe9 Revert "SPM Test target + Github Action to build and test (#585)" revert-585-feature/github-action jackandGitHub 2025-09-13 10:19:45 +02:00
  • d0bfb179ed Location notes: move notes icon to the right of #mesh badge in toolbar jack 2025-09-13 01:15:15 +02:00
  • 52bdf6745b Location notes: add background counter service and show count next to notes icon on mesh; auto-subscribe to current block geohash jack 2025-09-13 01:12:49 +02:00
  • bef4a30ea7 Location notes: fix intermittent first load by ensuring resubscribe after geohash change, removing over-eager subscribe guard, and widening note fetch window (no since filter) jack 2025-09-13 01:09:35 +02:00
  • c97de7a2f8 Location notes: remove per-note relative timestamp from sheet (no seconds display) jack 2025-09-13 01:07:32 +02:00
  • 9fd5957f46 Location notes: remove Matrix animation; use simple spinner when acquiring location; simplify notes view layout jack 2025-09-13 01:04:58 +02:00
  • 7eba856f13 Location notes: inline sheet wrapper to avoid missing file in target; force location refresh and show Matrix loader until block geohash resolves jack 2025-09-13 01:02:20 +02:00
  • 3a3da2f66d Location notes: acquire geohash on open (force refresh) and show Matrix loader until block-level geohash resolves; add LocationNotesSheet wrapper jack 2025-09-13 01:00:55 +02:00
  • 52933568d7 Location notes: add close (x) button in sheet header (upper-right) using @Environment(\.dismiss) jack 2025-09-13 00:55:47 +02:00
  • abeab5ae94 Location notes: render note bodies with monospaced font in notes list jack 2025-09-13 00:52:01 +02:00
  • 4a2d83ec78 Location notes: fix duplicate state redeclaration in ContentView jack 2025-09-13 00:48:12 +02:00
  • 56590c8ac3 Location notes: prevent duplicate loading/subscriptions (StateObject manager, geohash captured at open, guard subscribe) jack 2025-09-13 00:46:50 +02:00
  • d809351ab3 Location notes: Matrix loader with 1–3s minimum display; allow multiple notes; wire notes UI from mesh toolbar jack 2025-09-13 00:40:41 +02:00
  • a8855dd2ec Tor (Simulator): add iOS simulator slice to tor-nolzma.xcframework; wire Xcode project; basic docs fix/add-tor-simulator-slice jack 2025-09-12 18:11:14 +02:00
  • 920dc31795 Refactor: Testable Keychain and Identity Manager (#584) 2025-09-12 13:37:34 +01:00
  • bb3d99bdca Fix repeated favorite notifications; route system messages to mesh; simplify favorites (#588) 2025-09-12 14:36:32 +02:00
  • e1bf069c74 Favorites: remove npub resend tracking and nickname-based key migration; rely on Noise key as identity fix/favorite-issues jack 2025-09-12 14:33:15 +02:00
  • 2e43770d0e Favorites: mesh-only system message; stop reconnect resends; gate system on state change jack 2025-09-12 14:33:08 +02:00
  • b01cac4649 Delete Frameworks/README.md jackandGitHub 2025-09-12 13:16:08 +02:00
  • 84d1fe9881 Plumtree gossip: don't subset REQUEST_SYNC fanout; make RequestSyncPacket.encode use const pr/583-correct jack 2025-09-11 23:21:19 +02:00
  • 0b76d76b3d woohooo callebtc 2025-09-11 22:47:22 +02:00
  • 2db48a34c0 wip callebtc 2025-09-11 22:35:41 +02:00
  • 4b0634d1d0 Fix/general queue (#580) v1.3.4 2025-09-11 21:02:48 +02:00
  • 8d76f5d012 Trim trailing/leading spaces in geohash nicknames and tag emission fix/general-queue jack 2025-09-11 20:59:21 +02:00
  • 16cfe9914c Geohash ordering: strict in-order inserts and timestamp clamp jack 2025-09-11 20:53:07 +02:00
  • b25a0a73b8 Fix emote targeting and grammar; add tests jack 2025-09-11 20:42:38 +02:00
  • 97cbe37f09 Project: add OSLog+Categories.swift to iOS/macOS targets to fix missing OSLog categories (noise/security/keychain/etc.) jack 2025-09-11 20:14:00 +02:00
  • b5d6e4eeb5 Merge branch 'pr/575' jack 2025-09-11 20:07:04 +02:00
  • a1edf29bd3 Remove unnecessary import os.logs islam 2025-09-11 15:53:46 +01:00
  • 5f402698a1 Extract private functions into a separate extension islam 2025-09-11 12:22:36 +01:00
  • 1e997e1387 Statically typed logging of KeyOperations islam 2025-09-11 12:01:27 +01:00
  • e602024617 Remove dead code islam 2025-09-11 11:14:35 +01:00
  • deb464f5d8 Remove redundant .noise islam 2025-09-11 09:56:21 +01:00
  • e5a415d885 Overloading .debug/.error for ‘.logSecurityEvent’ islam 2025-09-11 11:54:30 +01:00
  • b5382b129e Rename logError(…) to error(…) islam 2025-09-11 09:37:23 +01:00
  • 5d6aecfc83 Replace .log w/ explicit .debug/.error functions islam 2025-09-11 11:25:19 +01:00
  • 5ca9222fc2 Make logging categories static properties of OSLog islam 2025-09-11 08:31:15 +01:00
  • ee16ff5ff4 Fix Nostr subscriptions: connect on subscribe; handle inbound frames correctly\n\n- Call ensureConnections(to:) in subscribe() so queued REQs open sockets immediately and flush after ping\n- Correct ParsedInbound failable initializer to return parsed EVENT/EOSE/OK/NOTICE instead of always nil\n- Improves chat receipt of geohash and DM events after Tor readiness jack 2025-09-11 19:53:19 +02:00
  • 2f83433247 Refactor parsing inbound messages (#577) IslamandGitHub 2025-09-11 18:18:06 +01:00
  • e72fe50ffa Perf: Add final to classes that are not inherited (#574) IslamandGitHub 2025-09-11 18:17:04 +01:00
  • 56f1c37129 Regenerate info.plist by adding the missing keys (#576) IslamandGitHub 2025-09-11 18:14:27 +01:00
  • 2ade3a3300 Add TransportConfig to bitchatShareExtension target (#579) IslamandGitHub 2025-09-11 18:13:54 +01:00
  • 5f44af19da tor by default, small (#564) 2025-09-11 19:08:43 +02:00
  • 3afacca7f6 fix(iOS App): resolve merge artifacts in scenePhase handler\n- Remove duplicate didEnterBackground state\n- Fix switch/if braces and logic for foreground restart gating feat/tor-small jack 2025-09-11 18:36:15 +02:00
  • ddadccc554 Update bitchat/BitchatApp.swift 2025-09-11 18:31:55 +02:00
  • 74589539c3 Update bitchat/BitchatApp.swift 2025-09-11 18:31:28 +02:00
  • 860c06c1b1 Update BitchatApp.swift 2025-09-11 16:42:21 +02:00
  • 789bbf6862 Update BitchatApp.swift 2025-09-11 16:42:13 +02:00
  • 10be302854 Update BitchatApp.swift 2025-09-11 16:42:04 +02:00
  • 4894a0b04e geo: disable background sampling + notifications\n- Gate sampling to foreground only (beginGeohashSampling, watchers)\n- Suppress geohash activity notifications unless app is active\n- Stop sampling explicitly on background scene phase jack 2025-09-11 13:35:36 +02:00
  • 6e1fb15edf feat: weekly update bundled georelays (#524) lollerfirstandGitHub 2025-09-11 13:30:33 +02:00
  • 36b5fdabc4 UI: scope Tor restart messages to geohash channels; skip initial foreground restart on cold launch to avoid confusing system message in #mesh jack 2025-09-11 13:29:17 +02:00
  • 5020190164 Always queue subscriptions and flush on connection; avoid immediate sends jack 2025-09-11 12:33:03 +02:00
  • b0f6568ff5 On launch, queue Nostr subscriptions without initiating connects; let centralized connect handle it jack 2025-09-11 12:29:19 +02:00
  • f7b78452d0 Make Nostr connect single-sourced; defer DM subscription until connected jack 2025-09-11 12:24:36 +02:00
  • ca10724e64 Gate Nostr init/subscription logs until Tor is ready jack 2025-09-11 12:21:49 +02:00
  • 1a353b216d Defer Nostr setup logs until Tor is ready; fix subscribe coalescing and reconnect generation jack 2025-09-11 12:18:49 +02:00
  • 96992c0a59 Embed Tor via tor_api; deterministic restart + Nostr gating; add Tor notifications jack 2025-09-11 12:14:55 +02:00
  • 9166c9e28b Update iOS App Icon to the new single-size format (#573) IslamandGitHub 2025-09-11 10:15:57 +01:00
  • 08d1fa7653 Relays: treat repeated -1011 handshake failures as permanent; skip reconnects jack 2025-09-10 14:21:32 +02:00
  • 8dad90685d UI: show Tor system messages only in geohash channels (not mesh) jack 2025-09-10 13:57:53 +02:00
  • 7f829dcbaa iOS: deterministic Tor recovery + 100% gating; BLE-first; session rebuild jack 2025-09-10 13:45:03 +02:00