Commit df3c020
upgrade to 0.0.8 (#548)
* fix notification message
* ci change release type
* bump veersion
* bump package lock
* Db refactoring (#414)
* refacto
* refacto drizzle
* refactor(db): improve code quality, fix duplication, and harden data layer
- Extract shared copyRow + SQL exec logic to exec-utils.ts (dedup sqlite.ts/sqlite-worker.ts)
- Wrap clearAllTables/clearConversationTables in withTransaction for atomicity
- Scope getMessagesByStatus by ownerUserId for multi-user data isolation
- Rename getUserProfileField -> getUserProfileById for clarity
- Add messageId composite index for dedup query performance
- Move seekers notification from query layer to SDK event system (SEEKERS_UPDATED)
- Type rowToDiscussion with structural type instead of Record<string, unknown>
- Add error handling to deserializeSendAnnouncement for corrupt data resilience
- Reorder DDL: move announcementCursors CREATE TABLE before indexes
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* remove persistEncryptionKey (#417)
* clean tests and remove useless mock (#418)
* warn user when gossip opened in several tabs
* allow message text selection on browser
* switch SQLite VFS to IDBBatchAtomicVFS for multi-tab support
* Sdk api improvements (#421)
* add Node.js file-based persistence and StorageConfig tagged union
- Create NodeFsVFS custom VFS using Node.js fs sync APIs for file persistence
- Refactor storage options into StorageConfig tagged union (opfs/idb/node-fs/memory)
- Move wasmUrl/wasmBinary into respective StorageConfig variants
- Auto-load WASM from filesystem in node-fs mode via createRequire
- Add node-demo.ts and node-messaging-demo.ts examples
* example
* remove service wrapper
* fix test
* sql migration (#423)
* Add peer lag (#413)
* Fix notification (#410)
* fix notification message
* ci change release type
* bump veersion
* bump package lock
* add peer lag
---------
Co-authored-by: B19 <44082144+0xB19@users.noreply.github.com>
Co-authored-by: damip <damip@damir.com>
* defer send queue until session is Active
* fix db creation error
* use .js suffix for re-export. Needed forNodeNext compat◊gst
* add delay for reset killed and saturated sessions (#403)
* add delay for reset killed and saturated sessions
* fix test and bugs
* rebase on db change
* fix session status updates don't trigger rerender in components
* rebase and fix issues
* fix copilote revew
* fix compilote review 2
* send keep alive when peer sent 8 or more non ack msg. (#449)
* send keep alive when peer sent 8 or more non ack msg. Test added for it. When reset send queu, keep alive msg are removed if there is at least one non keep alive msg
* fix add forgotten files
* removed unused function
* (sdk) update README
* fix and test issue keep alive disrupt chat order in chat list. Also should not receive notif for keep alive (#463)
* tap 3 time on avatar icon in main page will wipe the current session. For now only ux ui part has been done. Still need to integrate to bordercrypt when ready (#477)
* Bump rollup from 2.79.2 to 2.80.0 (#447)
Bumps [rollup](https://github.com/rollup/rollup) from 2.79.2 to 2.80.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/v2.80.0/CHANGELOG.md)
- [Commits](rollup/rollup@v2.79.2...v2.80.0)
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 2.80.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump minimatch (#445)
Bumps and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.
Updates `minimatch` from 10.2.1 to 10.2.4
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](isaacs/minimatch@v10.2.1...v10.2.4)
Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](isaacs/minimatch@v10.2.1...v10.2.4)
Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](isaacs/minimatch@v10.2.1...v10.2.4)
Updates `minimatch` from 5.1.6 to 5.1.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](isaacs/minimatch@v10.2.1...v10.2.4)
---
updated-dependencies:
- dependency-name: minimatch
dependency-version: 10.2.4
dependency-type: indirect
- dependency-name: minimatch
dependency-version: 3.1.5
dependency-type: indirect
- dependency-name: minimatch
dependency-version: 9.0.9
dependency-type: indirect
- dependency-name: minimatch
dependency-version: 5.1.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add 3 dots menu on home page (#479)
* apply React best practices and add baseline tests for nav redesign
- fix semantic HTML: <nav> for BottomNavigation, <main> for MainLayout content
- fix Discussions.tsx: remove useEffect+useState anti-pattern for scroll ref,
use callback ref via useState instead (no derived state)
- fix touch target on QR share button (20px → 36px with padding)
- simplify PageLayout: replace RefObject with callback ref pattern,
remove internal useRef in favor of useState
- update useHeaderScroll to accept DOM node directly
- add baseline tests: BottomNavigation (4), MainLayout (4), pageConfig (8)
* replace footer nav with 3-dot menu in discussions header
- Add ThreeDotMenu component with accessibility (role=menu, keyboard nav, focus management)
- Add 3-dot menu to Discussions header with Settings item, keep QR button
- Remove BottomNavigation from MainLayout (component files kept for future use)
- Add back button to Settings page pointing to Discussions
- Fix DiscussionHeader search icon position (was below header, now inline right)
- Add reusable hover-fill CSS animation (center-spread effect)
- Apply hover-fill to list rows across the app
- Add menu-open animation to Tailwind config
Closes #458, #473
* Republish public key only if not published in last 24h
Use lastPublicKeyPush from UserProfile DB to skip redundant publishes.
Add SDK test helper factory for UserProfile.
* Context menu (#480)
* add useLongPress hook with touch, right-click, and cancel-on-move support
Detects long-press via setTimeout on touchstart (configurable delay/threshold),
cancels on movement or early touchend, and handles desktop right-click via
onContextMenu. Exposes longPressTriggered ref so consumers can suppress
conflicting gestures (swipe, click).
* add ContextMenu bottom sheet component with slide-up animation
Portal-based bottom sheet with backdrop dismiss, swipe-down close (>50px),
Escape key, arrow key navigation, and focus management. Uses hover-fill
class for menu items and pb-safe-b for iOS safe area.
* add context menu to MessageItem, remove swipe-left forward
Long-press or right-click opens a bottom-sheet context menu with Reply,
Forward, and Copy actions. Copy writes message content to clipboard with
toast confirmation. Desktop users get a hover arrow button (md+ only).
Swipe-left forward gesture is removed (offset clamped to >= 0) along with
the forward indicator JSX. Swipe-right reply is preserved. Long-press and
swipe are mutually exclusive via longPressTriggered ref.
* add long-press context menu with Edit Name to DiscussionListItem
Long-press (or right-click) on an active discussion item opens a context
menu with Edit Name option. Opens ContactNameModal to rename. Disabled on
pending items. Click navigation is guarded by longPressTriggered ref.
DiscussionList wires handleEditName via gossip.discussions.updateName()
with toast feedback.
* fix hover arrow: always right-aligned, remove circle background
* match modal max-width to app-max-w breakpoints
BaseModal and ContextMenu now use md:max-w-2xl lg:max-w-3xl instead of
max-w-md, consistent with the app-max-w utility used by page layouts.
* nudge hover arrow inward to avoid bubble edge on incoming messages
* pop selected message above overlay when context menu opens
When the context menu is open, the selected message smoothly scales up
(1.03x) with a shadow and renders above the backdrop (z-1001) so the
user can clearly see which message they acted on. Uses a 200ms ease-out
transition on transform and box-shadow.
* add smooth translateY lift to selected message on context menu open
* shift selected message toward center on context menu open
* redesign context menu as floating popover with keyboard preservation
- Replace bottom sheet with floating popover menu positioned near the bubble
- Add glass overlay (white/dark tint) behind the menu
- Bubble and menu translate up in sync when near viewport bottom
- Prevent keyboard dismissal on long press via onBlur refocus pattern
- Disable text selection on discussion page for mobile
- Guard against double context menu open from timer + native contextmenu race
- Respect bottom safe area inset for menu positioning
- Delay menu pointer events until finger lifts to avoid accidental activation
- Transfer focus to textarea before search unmount to keep keyboard
* fix context menu positioning on iOS when keyboard is open
Use refs (keyboardHeightRef, isKeyboardVisibleRef) instead of state
in event handlers to avoid stale closures. On iOS, window.innerHeight
doesn't shrink with the keyboard, so the context menu needs the live
keyboard height to calculate available viewport space.
* context menu: open on tap, spotlight overlay, iOS keyboard fixes
- Switch context menu trigger from long press to tap
- Replace full-screen backdrop with spotlight overlay (box-shadow cutout)
so selected bubble appears above the dimming layer
- Add diagonal nudge for tall bubbles to indicate selection
- Fix iOS context menu positioning with keyboard height snapshot
- Add module-level keyboard height singleton for reliable cross-component access
- Scroll to bottom when iOS keyboard opens if already at bottom
- Replace async useDiscussion with synchronous useMemo to eliminate loading flash
- Use Virtuoso initialTopMostItemIndex with visibility gating to prevent
scroll animation when entering a discussion
* long press to select text, fix menu dismiss on single tap
- Long press enables text selection with word-under-finger detection
- Tap bubble to deselect, tap outside to deselect
- Block text selection when context menu is open
- Disable swipe gestures during text selection
- Fix menu requiring 2 taps to dismiss (touchReady timer instead of
waiting for touchend which already fired before menu rendered)
* restyle context menu to match Figma design
- Label on left, icon in circular badge on right
- Separator lines between menu items
- Circular icon badge with muted bg and accent icon color
- Adjusted border radius (rounded-lg) and min-width (200px)
- Fix iOS container scroll during swipe (preventDefault on horizontal touch)
* unify menu item style across ThreeDotMenu and ContextMenu
Apply same Figma-based layout (label left, icon badge right, separators)
to ThreeDotMenu and ContextMenu components for visual consistency.
* menu icon badges: green bg in light mode, dark bg in dark mode
Light: bg-accent + text-accent-foreground (green bg, dark icon)
Dark: bg-muted + text-accent (dark bg, teal icon)
* code review fixes: CSS variable for spotlight, stale closure, cleanup
- C1: Replace JS dark mode check with CSS custom property --spotlight-overlay
- C2: contextMenuItems useMemo depends on stable scalars (message.id,
message.content) instead of full message object
- C3: Add .catch() to navigator.clipboard.writeText
- W1: Call item.onClick() before onClose() in all menu components
- W3: Use swipeOffsetRef to avoid stale closure in handleTouchEnd
- W4: Track animation setTimeout in ref, clear on unmount
- N2: Remove redundant ternary in menu transform
* context menu: always nudge bubble, match spotlight radius, fix Android text selection
- Always apply diagonal nudge on context menu open (not just tall bubbles)
- Pass actual computed border-radius to spotlight overlay so it matches the bubble shape exactly
- On Android, let native contextmenu event through for text selection handles
- Add preventDefaultOnEnd option to useLongPress for Android compatibility
* remove sticky hover:opacity-90 on message bubbles
On Android, hover state persists after touch, causing incoming
messages to stay at 90% opacity.
* fix timer leak on unmount and close context menu on scroll
- useLongPress: clear pending timer on component unmount
- MessageItem: close context menu when the Virtuoso list scrolls
(prevents spotlight/menu desync on desktop mouse wheel)
* fix iOS first long press not working in discussions
- Add touch-action: manipulation on message row div so iOS WebKit
doesn't delay touch events for gesture disambiguation
- Handle touchcancel in useLongPress to clear timer when iOS cancels
touch for scroll takeover
* bottom nav as optional setting, PR review fixes
- Add showBottomNav user preference in Appearance settings (off by default)
- MainLayout conditionally renders BottomNavigation based on setting
- ThreeDotMenu: trap Tab key to close menu (WAI-ARIA)
- ThreeDotMenu: use index as key instead of label
- Discussions: narrow filterCounts dependency to gossip.isSessionOpen
* fix MessageItem browser tests: click bubble instead of right-click
Context menu now opens on tap/click, not right-click (which triggers
text selection). Update tests to click the bubble button.
* Fix release script to also update package-lock.json version (#485)
Use `npm version --no-git-tag-version` to update both package.json
and package-lock.json in one shot.
Closes #411
* Allow login when API is down, show connection status (#486)
* Allow login when API is down, show connection status in header
- Make publishPublicKey non-blocking in openSession so login
succeeds even when the API is unreachable
- Track API reachability with periodic ping + SDK error events
- Show "Waiting for connection..." in Discussions header instead
of logo when disconnected
- Add ConnectionBanner to Discussion, NewDiscussion, and NewContact
Closes #428
* Refine connection status UI per design feedback
- Discussions: bigger title-sized text, accent color, hide avatar
- DiscussionHeader: show "Waiting for connection..." below contact
name with light font weight instead of separate banner
* Fix connection status reactivity
- Use mode: 'no-cors' on ping fetch to avoid false CORS failures
- Remove SDK error handler setting isApiReachable=false (was racing
with the periodic ping and preventing recovery)
- Reduce ping interval to 10s for faster status updates
- Re-check API immediately when network comes back online
* Simplify connection detection to use Capacitor Network API only
Remove custom API ping mechanism — phone connectivity is already
reliably detected by Capacitor Network plugin and browser
online/offline events. API downtime is a separate concern.
* Rename Logout to Lock App (#488)
* Rename Logout to Lock App with Lock icon
Closes #148
* Skip biometric auto-login after manual lock
Add lockedByUser flag to account store. Set it when the user
explicitly locks the app so the login screen waits for a manual
unlock instead of immediately re-authenticating via biometrics.
* when clicking on qr icon on discussion list, we now can switch between qr code scaning and sharing our contact. Improve ux of share contact by inspiring from Signal (#484)
* when clicking on qr icon on discussion list, we now can switch between qr code scaning and sharing our contact. Improve ux of share contact by inspiring from Signal
* cursor review code tweak
* fix typescript issue
* Add Android wireless hot reload with dev server support
- Add dev-android.sh script and cap:dev:android npm command for one-command wireless live reload
- Make capacitor.config.ts read DEV_SERVER_URL env var (no server block without it)
- Accept self-signed SSL certs in debug builds only (BridgeWebViewClient subclass)
- Add network_security_config.xml with debug-overrides for user CA trust
- Document Android live reload setup in README
* Add iOS wireless hot reload and unified dev scripts
- Add dev-ios.sh and dev-all.sh scripts for iOS and dual-platform hot reload
- Patch @capacitor/ios SSL handling to accept self-signed certs (via patch-package)
- Add SSLBypassPlugin.swift for belt-and-suspenders SSL bypass in debug builds
- Remove WKAppBoundDomains from Info.plist (blocks dev server on IP)
- Enable WebView inspection (isInspectable) for Safari DevTools in debug
- Add buildFeatures { buildConfig = true } for Android BuildConfig access
- Update README with unified Wireless Dev Mode section
- Add DEV-GUIDE.md with complete setup instructions
* removed the red color of popover help circle button because it was too catchy for user eyes (#489)
* ignore claude settings
* ignore .worktree
* Add dev auto-login to skip password on hot reload
- New useDevAutoLogin hook guarded by import.meta.env.DEV (tree-shaken in prod)
- Set VITE_DEV_PASSWORD in .env to auto-login on page reload
- Document VITE_DEV_PASSWORD in .env.example
* Make Add button more visible on New Contact page
Use primary color and bold font for the top-right Add button.
Fixes #495
* Improve Add button visibility and hide QR/import when ID is filled
- Style Add button with bg-accent + text-primary-foreground (pill shape)
- Hide Scan QR code and Import from file when a valid Gossip ID is entered
- Cleaner UX when arriving from an invite link with pre-filled ID
Fixes #495
* Add support for multiple device hot reload in development
- Update dev-all.sh script to allow specifying multiple Android and iOS devices via environment variables or CLI arguments.
- Enhance device detection and filtering for connected devices.
- Introduce new cap:dev:scan command in package.json for scanning devices.
- Update .env.example to include new configuration options for development accounts and device targets.
- Modify useDevAutoLogin hook to trigger a dev account picker if no account exists but VITE_DEV_ACCOUNTS is set.
- Update Onboarding page to show account picker in dev mode.
This improves the development experience by allowing easier management of multiple devices during testing.
* Fix reply/forward message glitch in long conversations (#487)
- Use stable keys in Virtuoso computeItemKey to prevent item confusion
when the list shifts (new messages, status changes)
- Use unique announcement keys to handle multiple announcements
- Add default case for exhaustiveness safety
- Replace visible "Loading..." text with invisible placeholders matching
final layout dimensions to prevent layout shift
- Add truncate to reply/forward previews to prevent overflow
* Fix keyboard layout across Samsung, Xiaomi, and iOS (#501)
Replace React-based keyboard handling with CSS custom properties for
zero-delay response. Lock viewport height on init to prevent ghost gap
from OS+transform double-offset. Samsung gets adjustResize (OS handles
layout), others get adjustNothing (CSS transform handles layout).
- Set --viewport-height, --keyboard-height, --available-height CSS vars
directly from native keyboard events (no React render cycle)
- Samsung: adjustResize in Java, OS handles WebView resize
- Xiaomi/iOS: adjustNothing, CSS transform shifts content up
- Modals use --available-height to fit above keyboard on all devices
- Remove useIOSKeyboardWorkaround and useFixedKeyboardStyles hooks
- Simplify IOSKeyboardWrapper to pure CSS class
- Discussion layout: header in z-10 div, content in keyboard-shift-content
- Delete account now clears all DB tables (not just profile)
* Keyboard fix (#502)
* Fix first messages unreachable when keyboard is open on Android
The CSS padding-top rule on the Virtuoso scroller was in @layer base,
which always loses to Tailwind's pt-6 utility class — so it never
applied. Replace with a Virtuoso Header component that uses the
--keyboard-height CSS variable to add scrollable space at the top.
* Update IOSKeyboardWrapper tests to match keyboard-aware-height class
Tests were checking for old transition and h-full classes that no longer
exist after the component was refactored to use a CSS variable approach.
* Feature/share username (#503)
* Fix Android QR scanner opening twice due to StrictMode double-mount
* Add option to include username in invite QR code and link
* Redesign share contact page layout and UX
- QR code as hero element at top, identity info below
- Replace Code/Scan tab switcher with scan button in header
- Editable shared username via modal instead of inline checkbox
- Unified row heights and alignment across all interactive elements
- Compact expiry hint replacing full warning notice card
- Inline copy link action removing unnecessary modal
* add delete message
* add get visible message helper
* (chore) read device from .env for native watch mode
* add message edition
* dynamic message menu pos
* Bump libcrux-ml-dsa from 0.0.3 to 0.0.4 in /wasm (#389)
Bumps [libcrux-ml-dsa](https://github.com/cryspen/libcrux) from 0.0.3 to 0.0.4.
- [Release notes](https://github.com/cryspen/libcrux/releases)
- [Changelog](https://github.com/cryspen/libcrux/blob/main/RELEASE.md)
- [Commits](cryspen/libcrux@libcrux-ml-dsa-v0.0.3...libcrux-ml-dsa-v0.0.4)
---
updated-dependencies:
- dependency-name: libcrux-ml-dsa
dependency-version: 0.0.4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Multi select (#505)
* feat: add multi-select messages with animated counter
Long press to select, checkboxes slide in, tap to toggle. Selection
header shows animated flip-clock counter, clear and copy actions.
* fix: handle optional message.id types in multi-select
* fix: prevent message row vertical shift when checkbox slides in
* fix: use absolute positioning for checkbox to prevent layout shift
* fix: iOS long-press deselect, dynamic scroll arrow, mutual reply/forward
* fix: stabilize multi-select interactions and guarded delete actions
Prevent duplicate Android long-press toggles and synthesized post-gesture clicks from instantly deselecting messages, and add guarded multi-delete behavior with improved diagnostics and browser regression coverage.
Made-with: Cursor
* Feature/i18n (#510)
* Fix notification (#410)
* fix notification message
* ci change release type
* bump veersion
* bump package lock
* Add multi-language support (EN, FR, ZH-CN, RU) with react-i18next
- Configure i18next with privacy-first settings (no cookies, navigator detection only)
- Create 8 translation namespaces: common, auth, discussions, settings, wallet, onboarding, errors, time
- Migrate all UI components from hardcoded strings to t() calls
- Add language selector in Settings with persistence via uiStore
- Locale-aware date/time formatting in timeUtils via Intl APIs
- TypeScript type safety with module augmentation for autocomplete
* Migrate remaining pages and components to i18n (Phase 7-8)
Add missing translations for new dev features: multi-select,
message editing, deletion, context menu actions, session issue
banner, connection status, and fix unused import lint errors.
* add pinned message
* add emoji reply
* add discussion page background pattern
Made-with: Cursor
* refactor: Discussion page, keyboard store, MessageInput (#518)
- MessageInput: extract InputPreviewBanner, useAutoResizeTextarea, useInitialValue
- Keyboard: centralize in keyboardStore (Zustand), platform-adaptive (iOS/Android)
- Rename IOSKeyboardWrapper -> KeyboardAwareWrapper
- MessageSearch: use onPointerDown to prevent keyboard dismiss on close
- ScrollToBottomButton: move inside MessageList for correct positioning
- Discussion: extract useHeaderScrollDetection, useForwardPreview, useDiscussionActions
- CSS: keyboard transitions, platform-specific durations
Made-with: Cursor
* fix: unified keyboard handling for all Android OEMs
adjustNothing in manifest means the OS doesn't resize the WebView,
but the Android keyboard path assumed OS resize. Samsung worked by
accident (custom behavior), Xiaomi showed input hidden under keyboard.
Now both iOS and Android use the same approach: lock viewport height,
set --keyboard-offset from keyboard events, shrink layout via
--available-height. Also scroll to bottom on keyboard open when user
was already at bottom.
* add self discussion
* add ToS
* early detect already existing contact
* clean error messages
* add discussion msg rentention time
* (ios) add custom privacy screen
* logout in home menu
* share to external app
* add Privacy settings
* remove build warning
* fix tests
* Add security settings with auto-lock feature and update account store logout behavior
* mute discussion
fix test config
* enhance biometric login error handling
* Bump libcrux-ml-dsa from 0.0.4 to 0.0.8 in /wasm (#541)
Bumps [libcrux-ml-dsa](https://github.com/cryspen/libcrux) from 0.0.4 to 0.0.8.
- [Release notes](https://github.com/cryspen/libcrux/releases)
- [Changelog](https://github.com/cryspen/libcrux/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cryspen/libcrux/commits)
---
updated-dependencies:
- dependency-name: libcrux-ml-dsa
dependency-version: 0.0.8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump picomatch from 4.0.3 to 4.0.4 in /gossip-sdk (#540)
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](micromatch/picomatch@4.0.3...4.0.4)
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 4.0.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix retentionPolicy
* page transitions + perf: framer-motion slides, TanStack Virtual, swipe gestures (#546)
- AnimatedRoutes: push/pop slide transitions for discussions, crossfade for others
- TanStack Virtual replaces Virtuoso for faster first render
- Swipe left on message to reply (inverted from right)
- Swipe right in discussion to go back
- Swipe left/right on discussion list to change filter
- Filter buttons with animated sliding pill
- suppress-bubble-in: skip CSS animations on initial message load
- Lazy-loaded settings pages
- 37 routing safety tests
- Reduced viewport padding
* fix transition detail discussion
* fix: add message selection (long press) support to Notes/self discussion
* feat: add Share QR image button on Share Contact page
* fix: add safe area top offset to toast notifications
* fix: multi-select delete in Notes uses selfMessages API instead of messages
* fix: share/copy forwarded messages uses original content instead of empty wrapper
* do not skip historical announcements when import account with mnemonics
* fix: delete account only removes current account data, not all accounts
* stop skip historical announcement when account is restored from mnemonics (a previous commit deleted a wrong skipHistorical call for create account with biometrics instead of the one from restore mnemonics
* fix test issues and upgrade to 0.0.8 (#547)
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: ben888 <br@massa.net>
Co-authored-by: B19 <44082144+0xB19@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Pedroloco <34547263+peterjah@users.noreply.github.com>
Co-authored-by: Peterjah <ps@massa.net>
Co-authored-by: Damir Vodenicarevic <damipator@gmail.com>
Co-authored-by: damip <damip@damir.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>1 parent 1da0a8c commit df3c020
File tree
357 files changed
+26949
-8426
lines changed- .github/workflows
- android/app
- src/main
- java/net/massa/gossip
- res
- drawable
- xml
- gossip-sdk
- drizzle
- meta
- examples
- scripts
- src
- api
- messageProtocol
- assets/generated/wasm
- config
- core
- crypto
- db
- queries
- schema
- proto
- generated
- queries
- services
- utils
- wasm
- test
- db
- e2e
- helpers
- integration
- services
- utils
- ios/App
- App.xcodeproj
- App
- patches
- scripts
- src
- assets/backgrounds
- components
- account
- avatar
- dev
- discussions
- hooks
- renderers
- qr
- settings
- ui
- wallet
- config
- constants
- hooks
- temp
- i18n
- locales
- en
- fr
- ru
- zh-CN
- pages
- settings
- routes
- services
- stores
- utils
- styles
- utils
- test
- components
- dev
- discussions
- ui
- constants
- hooks
- integration
- pages
- routes
- services
- stores
- utils/validation
- wasm
- crypto-agraphon/src
- crypto-dsa
- main
- src
- sessions/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
357 files changed
+26949
-8426
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
9 | 24 | | |
10 | 25 | | |
11 | 26 | | |
12 | 27 | | |
13 | 28 | | |
14 | | - | |
15 | | - | |
| 29 | + | |
16 | 30 | | |
17 | | - | |
18 | | - | |
| 31 | + | |
19 | 32 | | |
20 | 33 | | |
21 | 34 | | |
22 | 35 | | |
23 | | - | |
24 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
25 | 44 | | |
26 | 45 | | |
| 46 | + | |
27 | 47 | | |
28 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
29 | 53 | | |
30 | 54 | | |
31 | 55 | | |
32 | 56 | | |
33 | | - | |
34 | | - | |
35 | | - | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
324 | 324 | | |
325 | 325 | | |
326 | 326 | | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
327 | 407 | | |
328 | 408 | | |
329 | 409 | | |
| |||
0 commit comments