Commit Graph
200 Commits
Author SHA1 Message Date
callebtc 462faeb92f panic mode delete signing key 2025-07-31 06:25:22 +02:00
callebtc 73af5ded50 signing noise id 2025-07-30 12:17:47 +02:00
callebtc 70589b1fe7 touches 2025-07-30 11:50:05 +02:00
callebtc 158923a1d9 improve identity announcements 2025-07-30 11:00:43 +02:00
callebtcandGitHub 34d00839b2 bump to 0.8 (#188) 0.8 2025-07-25 20:04:43 +02:00
callebtcandGitHub 4b1d6f8c04 UI improvements (#192)
* bitchat logo

* improve ui
2025-07-25 20:02:59 +02:00
callebtcandGitHub 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
callebtcandGitHub 271df2e720 on focus (#189) 2025-07-25 19:17:36 +02:00
callebtcandGitHub 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
callebtcandGitHub 565e4ab33c Fix delivery acks and read receipts (#186)
* delivery ack and read receipt

* handle deliveryack

* fix uppercase id

* fix read receipts too
2025-07-25 17:54:12 +02:00
callebtcandGitHub 534be7e613 Refactor fingerprint manager (#185)
* centralized fingerprint manager

* centralized fingerprintmanager

* update fingerprint only if no collision
2025-07-25 15:43:19 +02:00
callebtcandGitHub 9b7009137c Handle only packets addressed to me (#184)
* skip private packets not to us

* logs
2025-07-25 02:32:36 +02:00
callebtcandGitHub 167237f7c0 Centralized relay manager (#182)
* noise: send nonce

* broadcast manager

* add missing file
2025-07-25 01:46:27 +02:00
callebtcandGitHub bc14b9f179 Periodidc broadcast announce (#183)
* noise: send nonce

* periodidc broadcast announce
2025-07-25 01:38:53 +02:00
callebtcandGitHub 1c82e4ede8 NoiseProtocol update: send nonce in packet (#181)
* noise: send nonce

* 4 byte nonce
2025-07-25 01:36:18 +02:00
callebtcandGitHub c3c395832c Implement Noise XX Handshake Protocol for Direct Messages (#180)
* noise

* works?

* noise

* temporary

* better

* wip: use subnet

* better

* barely working

* werk

* subnet

* fix peer ID

* 8 byte peer ID

* wip noise

* wip fixes for noise

* std lib for noise

* noise handshake one step further

* buffers

* use fork

* fix imports

* simplify counter

* remove trash

* hashing

* no prologue

* nice

* wip, use noise encryption

* peer ID hex

* simplify session manager

* heavy logging

* use singleton

* Fix Noise session race condition with elegant per-peer actor serialization

- Use Kotlin coroutine actors for per-peer packet processing
- Each peer gets dedicated actor that processes packets sequentially
- Eliminates race conditions in session management without complex locking
- Single surgical change in PacketProcessor - minimal, maintainable
- Leverages Kotlin's native concurrency primitives

* decrypt correctly

* iniator works now

* clean code and fix signature to null

* better

* no signature in private message

* small fixes

* refactor ack

* refactor but untested

* messages working

* wip ack

* wip fix ack

* more logging

* pending tracker

* keep pending connections on errors

* less logging

* refactor model

* refactor frombinarydata

* idendityannouncement refactor and update to new binary protocol

* fix keys

* refix keys

* dms work

* revert to mainnet

* do not change bluetooth adapter name

* keep code but uncomment

* clean up comments

* cleanup comments
2025-07-24 12:01:46 +02:00
callebtcandGitHub 9e9231353b Merge pull request #158 from permissionlesstech/bump-0.7.2
bump to 0.7.2
0.7.2
2025-07-20 11:10:26 +02:00
callebtc 93de0f2037 bump to 0.7.2 2025-07-20 11:10:04 +02:00
callebtcandGitHub a1b0e3fdf7 Merge pull request #154 from anonfaded/fix/battery-screen-truncation
fix(onboarding): make battery screen scrollable
2025-07-20 11:07:38 +02:00
callebtcandGitHub 9b85a070ac Update app/src/main/java/com/bitchat/android/onboarding/BatteryOptimizationScreen.kt 2025-07-19 20:07:50 +02:00
callebtcandGitHub fc63184c2f Update app/src/main/java/com/bitchat/android/onboarding/BatteryOptimizationScreen.kt 2025-07-19 20:07:38 +02:00
Faded 83144afd66 fix(onboarding): improve battery optimization screen layout and scrolling
Restructure BatteryOptimizationEnabledContent to use proper scrolling behavior and fixed button placement at the bottom. The changes ensure better usability by preventing content from being hidden behind buttons and allowing full content visibility through scrolling.
2025-07-19 18:56:39 +05:00
callebtcandGitHub fa47916895 Merge pull request #151 from permissionlesstech/changelog-0.7.1
changelog update 0.7.1
0.7.1
2025-07-19 09:54:59 +02:00
callebtc 1775ecfe44 changelog 2025-07-19 09:53:28 +02:00
callebtcandGitHub 87ce65b4b1 Merge pull request #147 from gsmnit/code_readiblity_improvement
1. remove unused methods in MainActivity.kt
2025-07-19 09:48:17 +02:00
callebtcandGitHub 6c4473f174 Merge pull request #142 from hector6872/fix/messages-list-content-padding
Fix content padding in messages list
2025-07-19 09:47:00 +02:00
callebtcandGitHub 93ad575610 Merge pull request #139 from alpermelkeli/refactor/remove-static-context-field
refactor: remove context attribute at ChatViewModel.kt
2025-07-19 09:44:55 +02:00
callebtcandGitHub e1bafcf1a5 Merge branch 'main' into code_readiblity_improvement 2025-07-19 09:41:09 +02:00
callebtcandGitHub 04a774ac63 Merge pull request #120 from anonfaded/fix/wrong-cursor-location
Fix: wrong cursor location, added battery optimization disabling screen and styling to the slash command in input field
2025-07-19 09:33:10 +02:00
callebtcandGitHub df3987aa76 Merge pull request #150 from permissionlesstech/bump-0.7.1
bump to 0.7.1
2025-07-19 09:21:45 +02:00
callebtc d8d834b713 bump to 0.7.1 2025-07-19 09:20:57 +02:00
ganpat singhandGitHub f657c6247f Merge branch 'main' into code_readiblity_improvement 2025-07-18 10:57:13 +05:30
Faded 7972439c14 Merge branch 'main' into fix/wrong-cursor-location 2025-07-18 05:19:19 +05:00
callebtcandGitHub 50cbb69e9e Merge pull request #145 from moehamade/fix/toolbar-center-align-141
fix: center align toolbar item in ChatHeader
2025-07-18 00:08:09 +02:00
callebtcandGitHub 478a1fe5ce Merge pull request #136 from joaodematejr/fix-sidebar-text
fix: update sidebar text to use string resources
2025-07-18 00:01:29 +02:00
callebtcandGitHub 01d6a81003 Merge pull request #129 from moehamade/127-Onboarding-state-is-lost-on-configuration-change-due-to-variables-in-MainActivity
Refactor: Introduce MainViewModel for onboarding state management
2025-07-17 23:59:28 +02:00
callebtcandGitHub b862e283bb Merge pull request #125 from moehamade/Triple-click-title-to-emergency-clear-all-data-executed-not-the-way-it-supposed-to-#105
Bugfix: Handled single or triple clicked at once instead of executing them as separate events
2025-07-17 23:58:58 +02:00
ganpatsingh 3fddb3f594 1. remove unused methods in MainActivity.kt
2. replace android.util.log with log
2025-07-18 00:50:57 +05:30
Mohamad Hamade 0611baa681 fix: center align toolbar item in ChatHeader
- passed modifier.fillmaxHeight so the content inside the row can actually be centered
2025-07-17 13:49:31 +03:00
Hector de Isidro 305b334244 Remove redundant @OptIn annotation 2025-07-17 00:20:09 +02:00
Hector de Isidro f2a8f86f17 Use HorizontalDivider instead of deprecated Divider 2025-07-17 00:17:56 +02:00
Hector de Isidro 37e3852f40 Use contentPadding instead of padding so items remain fully visible 2025-07-17 00:11:26 +02:00
Hector de Isidro 15a989c5cd Remove unnecessary Box wrapper 2025-07-17 00:08:20 +02:00
Hector de Isidro d0dac19119 Replace BoxWithConstraints with Box since constraints are unused 2025-07-17 00:07:04 +02:00
alpermelkeli eb575182c6 refactor: remove context attribute at ChatViewModel.kt 2025-07-16 18:30:26 +03:00
Mohamad Hamade d730acbb79 Refactor: Migrate MainViewModel to use StateFlow
This commit refactors the `MainViewModel` to use `StateFlow` instead of `mutableStateOf` for managing its observable properties. This change improves the way UI state is handled and observed, aligning with modern Android development best practices.

Additionally, `OnboardingState.kt` has been moved to the `onboarding` package for better organization.
2025-07-16 01:13:42 +03:00
João Dematé Jr b14eb9006b fix: update sidebar text to use string resources 2025-07-15 18:47:32 -03:00
Mohamad Hamade 17472a1854 Refactor: Remove unused tripleClickCount state variable
The `tripleClickCount` mutable state variable in the `ChatHeader` composable was not being used and has been removed to simplify the code
2025-07-15 13:18:29 +03:00
Mohamad Hamade 245181d736 Refactor: Introduce MainViewModel for onboarding state management
This commit introduces a `MainViewModel` to manage the UI state for the onboarding flow. This change centralizes the onboarding state (including Bluetooth status, location status, error messages, and loading indicators) within the ViewModel, allowing it to survive configuration changes and simplifying state management within `MainActivity`.

Key changes:
- Created `MainViewModel.kt` to hold and manage onboarding-related UI state.
- Moved onboarding state variables (e.g., `onboardingState`, `bluetoothStatus`, `locationStatus`) from `MainActivity` to `MainViewModel`.
- Updated `MainActivity` to observe and update onboarding state through the `MainViewModel`.
- Created `OnboardingState.kt` to define the possible states of the onboarding process.
- Ensured that the onboarding process is not restarted on configuration changes by checking `mainViewModel.onboardingState` before initiating.
2025-07-15 02:24:41 +03:00
Mohamad Hamade 0a33bd734d Bugfix: Handled single or triple clicked at once instead of executing them as separate events
This commit introduces a new `singleOrTripleClickable` Modifier extension function.

This function allows distinguishing between single and triple clicks on a Composable element.

The `ChatHeader` was updated to utilize this new Modifier for handling clicks on the "bitchat*" title, where a single click shows app info and a triple click triggers a separate action.
2025-07-14 22:16:19 +03:00