Files
notedeck/crates/notedeck_chrome
William Casarin 77ac91e810 Implement soft keyboard visibility on Android
- Added `SoftKeyboardContext` enum and support for calculating keyboard
  insets from both virtual and platform sources

- Updated `AppContext` to provide `soft_keyboard_rect` for determining
  visible keyboard area

- Adjusted UI rendering to shift content when input boxes intersect with
  the soft keyboard, preventing overlap

- Modified `MainActivity` and Android manifest to use
  `windowSoftInputMode="adjustResize"` and updated window inset handling

- Introduced helper functions (`include_input`, `input_rect`,
  `clear_input_rect`) in `notedeck_ui` for tracking focused input boxes

- Fixed Android JNI keyboard height reporting to clamp negative values

Together, these changes allow the app to correctly detect and respond
to soft keyboard visibility on Android, ensuring input fields remain
accessible when typing.

Fixes: https://github.com/damus-io/notedeck/issues/946
Fixes: https://github.com/damus-io/notedeck/issues/1043
2025-08-19 11:29:45 -07:00
..
2025-08-08 13:19:39 -07:00
2025-04-21 13:31:47 -07:00
2025-07-17 14:52:26 -07:00

Notedeck Chrome

Notedeck Chrome is the UI framework and container for the Notedeck Nostr browser. It manages multiple applications within a single cohesive interface, providing a consistent navigation experience through a persistent sidebar.

Overview

Notedeck Chrome acts as the container for various applications within the Notedeck ecosystem, primarily:

  • Columns - The main Nostr columns interface for viewing timelines and interactions
  • Dave - An ai assistant
  • Other - Anything else tbd

The Chrome component provides:

  • A consistent, unified sidebar for navigation between applications
  • Theme management (light/dark mode support)
  • Profile picture and account management
  • Settings access
  • Wallet integration

Features

  • Application Switching: Switch between Damus columns view and Dave seamlessly
  • Theme Support: Toggle between light and dark modes
  • Profile Management: Quick access to account settings
  • Responsive Design: Compatible with desktop and mobile interfaces
  • Android Support: Native support for Android devices

Future:

  • Signer: Apps will be sandboxed from the users key

Development Status

Notedeck is currently in ALPHA. Expect bugs and please report any issues you encounter.

Building from Source

For build instructions, see the DEVELOPER.md file.

License

Licensed under GPLv3 - see the Cargo.toml file for details.

Authors