30 Commits

Author SHA1 Message Date
callebtc
550520795f
UI geohash notifications (#325)
* location name in notifications

* remove tests

* panic nostr

* mentions with hashes, otherwise none

* fix timestamps

* parse geohashes in messages

* works

* fix country name

* mention notifications work
2025-08-28 17:47:47 +02:00
Minh
02d5466812
Add active peer notification (#273)
* adding notification for active peers + tests

* adding a recently seen peer set to track if we've seen that peer before

* changing back to notificationManager naming

* fixing some weird formatting that occurred during merge conflict fix
2025-08-28 09:17:41 +02:00
callebtc
6fe6e049ad
Nip17 dms to extend the mesh (#313)
* favorite each other

* show favorites as system messsages

* wip show glove when offline but mayb edoesnt work

* send and receive works

* wip kinda works but no

* getting there

* kinda

* show offline peers in peer list

* kinda wonky but almost works

* fixes

* nostr user goes offline works

* nostr -> mesh works

* handoff works

* background message processing

* read works

* seen message store was missing
2025-08-25 18:38:10 +02:00
callebtc
f13f3063c9
Geohash notifications (#288)
* mention notifications

* notifications

* warning
2025-08-23 01:35:46 +02:00
callebtc
49c42ba169
user bottom sheet (#285)
* wip sheet

* longpress

* block wip

* blocking works
2025-08-23 00:26:18 +02:00
callebtc
7243d841a3
Nostr geohash (#276)
* first nostr build

* add test file

* internet access

* fix relay manager

* fix serialization

* demo service - remove later

* fix nostr

* event dedupe

* dedupe

* ui wip

* can send messages

* subscription works

* works

* favs

* works

* delete chat on change

* fix mentions

* remove autojoin channels

* styling

* adjust colors

* ui changes

* live updates working

* use local timestamp

* message history in background

* robust

* fixes

* nicknames refresh optimization

* nostr service

* refactor nostr

* style

* geohash works

* centralize colors

* refactoring

* disable DMs for now: click on peer nickname doesnt open chat list in geohash mode

* use local time

* less logging

* robustness

* scroll nickname

* adjust some text
2025-08-22 19:09:18 +02:00
callebtc
9795e2ce8a
Changes bitchat protocol (#265)
* create payload

* compiles and can send messages

* identityannouncement

* DMs work, read receipt not sent yet

* works

* delete old code

* simplify

* working

* fragment wip

* compression wip

* use zlib compression

* clean

* nice

* mesh

* remove comments
2025-08-18 21:16:27 +02:00
Tair
b86a6bf4d1
Fix favorite icon not updating on first Sidebar open (#237) 2025-08-07 15:07:45 +03:00
callebtc
67c91b0559
remove system messages for connect / disconnect (#241)
* remove system messages for connect / disconnect

* fix tests
2025-08-07 11:58:06 +03:00
Tair
8bf2220cea
Make Sidebar react to the nickname and RSSI changes. (#228) 2025-08-06 00:06:47 +02:00
Francisco Hola
325ce1730d
Feature/mentions (#197)
* mention initial implementation

* Message conservation
2025-08-05 23:32:16 +02:00
callebtc
4cb5932fd0
improve identity announcements (#198)
* improve identity announcements

* touches

* signing noise id

* panic mode delete signing key
2025-07-31 06:26:41 +02:00
callebtc
4b1d6f8c04
UI improvements (#192)
* bitchat logo

* improve ui
2025-07-25 20:02:59 +02:00
callebtc
c9aba00478
Dm header icons reactive (#190)
* header reactive to noise session

* favorite button reactive

* icon change

* nice
2025-07-25 19:50:40 +02:00
callebtc
271df2e720
on focus (#189) 2025-07-25 19:17:36 +02:00
callebtc
34b3d8dd82
Init handshake on dm (#187)
* kinda working

* establish handshake if not done yet

* add handshakerequest packet

* read receipt
2025-07-25 19:11:45 +02:00
callebtc
534be7e613
Refactor fingerprint manager (#185)
* centralized fingerprint manager

* centralized fingerprintmanager

* update fingerprint only if no collision
2025-07-25 15:43:19 +02:00
alpermelkeli
eb575182c6 refactor: remove context attribute at ChatViewModel.kt 2025-07-16 18:30:26 +03:00
callebtc
d490393de6 back gesture works 2025-07-12 17:32:08 +02:00
callebtc
ea25b71d6f fix favorites 2025-07-12 16:55:50 +02:00
callebtc
035273011f fix startup 2025-07-12 15:42:37 +02:00
callebtc
e58cf4fd0d fix null pointer 2025-07-12 12:53:01 +02:00
callebtc
37d605b934 fix notifications 2025-07-10 12:48:04 +02:00
callebtc
8b5c19ace7 notifications 2025-07-10 12:08:22 +02:00
callebtc
abe6246c3e faving? 2025-07-10 00:34:41 +02:00
callebtc
dd8aa083b9 power saving 2025-07-09 15:47:54 +02:00
callebtc
1d7bb8beab REFACTOR STEP 2: Extract mesh delegate handling to separate class
- Created MeshDelegateHandler.kt to handle all BluetoothMeshDelegate callbacks
- Created ChatViewModelUtils.kt for utility functions like haptic feedback
- ChatViewModel now delegates all mesh events to MeshDelegateHandler
- Final ChatViewModel size: 337 lines (down from 1000+ original)

This completes the refactoring while maintaining 100% functionality.
2025-07-09 00:44:53 +02:00
callebtc
56824b6594 REFACTOR: Break ChatViewModel into smaller specialized files
- Created ChatState.kt for centralized state management
- Created DataManager.kt for persistence operations
- Created MessageManager.kt for message handling and deduplication
- Created ChannelManager.kt for channel operations and encryption
- Created PrivateChatManager.kt for private chat functionality
- Created CommandProcessor.kt for IRC-style command processing

ChatViewModel.kt reduced from 1000+ lines to ~300 lines while maintaining 100% functionality.
All existing functionality preserved, just better organized.
2025-07-09 00:42:43 +02:00
callebtc
d40e2cbda8 deduplicate messages 2025-07-08 23:02:03 +02:00
callebtc
d6a4e122b4 init 2025-07-08 20:37:46 +02:00