Commit Graph

44 Commits

Author SHA1 Message Date
William Casarin b21e39dea9 android: get GameActivity to launch
For some reason there are no touch inputs though

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:47:32 -07:00
William Casarin 9ce2b4da2c remove extra crap from manifest
still not launching, thought this might have been why. nope

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:47:32 -07:00
William Casarin d82d7fd00d Merge relay debug view fixes & more strict args #711
Ken Sedgwick (5):
      drive-by compiler warning fixes
      drive-by clippy fixes
      add derive Debug to some things
      panic on unknown CLI arguments
      move RelayDebugView to notedeck crate and restore --relay-debug

William Casarin (4):
      clippy: fix lint
      args: skip creation of vec
      nix: fix android build

Link: https://github.com/damus-io/notedeck/pull/711
2025-02-10 17:03:23 -08:00
William Casarin 44181e24db clippy: fix lint
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 16:57:18 -08:00
kernelkind d916021179 fix file logging
closes: https://github.com/damus-io/notedeck/issues/572

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-06 16:38:54 -05:00
Ken Sedgwick 480f98eda4 panic on unknown CLI arguments
Currently silently ignores which is not helpful ...
2025-02-06 12:25:31 -08:00
Ken Sedgwick 2ddc53faa5 drive-by clippy fixes 2025-02-06 10:32:49 -08:00
Ken Sedgwick 345324a2f6 drive-by compiler warning fixes 2025-02-06 10:32:49 -08:00
Ken Sedgwick f0588a7f6b drive-by compiler warning fixes 2025-02-06 10:08:00 -08:00
William Casarin fd030f5b5c Merge rewrite deck serialization, timeline cache, add algo timelines #712
William Casarin (19):
      algos: introduce last_n_per_pubkey_from_tags
      wip algo timelines
      Initial token parser combinator
      token_parser: unify parsing and serialization
      token_serializer: introduce TokenWriter
      token_parser: simplify AddColumnRoute serialization
      tokens: add a more advanced tokens parser
      tokens: add AccountsRoute token serializer
      tokens: add PubkeySource and ListKinds token serializer
      tokens: add TimelineRoute token serializer
      tokens: initial Route token serializer
      add tokenator crate
      note_id: add hex helpers for root notes
      tokens: add token serialization for AlgoTimeline
      tokens: add token serialization for TimelineKind
      tokens: switch over to using token serialization
      Switch to unified timeline cache via TimelineKinds
      hashtags: click hashtags to open them
2025-02-05 18:46:16 -08:00
William Casarin 0cc1d8a600 Switch to unified timeline cache via TimelineKinds
This is a fairly large rewrite which unifies our threads, timelines and
profiles. Now all timelines have a MultiSubscriber, and can be added
and removed to columns just like Threads and Profiles.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-05 18:30:45 -08:00
William Casarin ae85f2dd34 version: bump to 0.3.1
Just a binary fix for ubuntu

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 11:51:16 -08:00
William Casarin b35c7fc0ee theme: refactor dark theme logic to use is_oled
This actually has no behavioral change, but is more
logically correct if we ever end up updating these functions

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-03 19:53:09 -08:00
William Casarin 69b7581a53 Notedeck Alpha 2 Release - v0.3
Thanks again to kernel and ken, as well as some new contributors:
kieran, daniel saxton for our alpha 2 release!

Added
=====

- Clicking a mention now opens profile page (William Casarin)
- Note previews when hovering reply descriptions (William Casarin)
- Media uploads (kernelkind)
- Profile editing (kernelkind)
- Add hashtags to posts (Daniel Saxton)
- Enhanced command-line interface for user interactions (Ken Sedgwick)
- Various Android updates and compatibility improvements (Ken Sedgwick, William Casarin)
- Debug features for user relay-list and mute list synchronization (Ken Sedgwick)

Changed
=======

- Add confirmation when deleting columns (kernelkind)
- Enhance Android build and performance (Ken Sedgwick)
- Image cache handling using sha256 hash (kieran)
- Introduction of decks_cache and improvements (kernelkind)
- Migrated to egui v0.29.1 (William Casarin)
- Only show column delete button when not navigating (William Casarin)
- Show profile pictures in column headers (William Casarin)
- Show usernames in user columns (William Casarin)
- Switch to only notes & replies on some tabs (William Casarin)
- Tombstone muted notes (Ken)
- Pointer interactions enhancements in UI (William Casarin)
- Persistent theme setup across sessions (kernelkind)
- Increased ping intervals for network performance (William Casarin)
- Nostrdb update for async support (Ken Sedgwick)

Fixed
=====

- Fix GIT_COMMIT_HASH compilation issue (William Casarin)
- Fix avatar alignment in profile previews (William Casarin)
- Fix broken quote repost hitbox (William Casarin)
- Fix crash when navigating in debug mode (William Casarin)
- Fix long delays when reconnecting (William Casarin)
- Fix repost button size (William Casarin)
- Fixed since kind filters (kernelkind)
- Clippy warnings resolved (Dimitris Apostolou)

Refactoring & Improvements
==========================

- Numerous internal structural improvements and modularization (William Casarin, Ken Sedgwick)

Signed-off-by: William Casarin <jb55@jb55.com>
2025-01-31 10:31:07 -08:00
William Casarin 5d4548d3f7 Switch to GameActivity and gradle build
Fixes: https://github.com/damus-io/notedeck/issues/189
Fixes: https://github.com/damus-io/notedeck/issues/190
Signed-off-by: William Casarin <jb55@jb55.com>
2025-01-27 17:31:28 -08:00
Ken Sedgwick 366ca24ac1 drive-by clippy fixes 2025-01-21 10:18:37 -08:00
kieran 86e68b1c29 move Notedeck to notedeck crate 2025-01-20 23:25:31 +00:00
kernelkind 5043f00eb3 update colors
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-15 16:09:29 -05:00
kernelkind ba8ac18de7 integrate ZoomHandler
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-13 18:48:29 -05:00
kernelkind 3fafda34b4 introduce ZoomHandler
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-13 18:48:16 -05:00
kernelkind 205d627f99 use TimedSerializer in AppSizeHandler
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-13 18:47:20 -05:00
kernelkind a24a089e87 extract timing from AppSizeHandler to TimedSerializer
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-13 18:46:16 -05:00
kieran 1a744d8e3b image-cache: remove expect 2025-01-10 09:31:04 +00:00
kieran eaa9b3ae4c image-cache: migrate storage 2025-01-09 20:40:35 +00:00
William Casarin 212c296da5 Merge tombstone muted notes #606
Changelog-Changed: Tombstone muted notes
2025-01-04 14:16:16 -08:00
William Casarin 16b20568da Merge relay debug view
Fix a few conflicts
2025-01-04 13:54:29 -08:00
William Casarin e1187c372f Merge profiling editing #625
Changelog-Added: Added profile editing
2025-01-04 13:18:31 -08:00
William Casarin 5f21d32d96 android: fix android logging 2025-01-04 13:14:05 -08:00
William Casarin fe6206c546 Note multicasting
This is an initial implementation of note multicast, which sends posted
notes to other notedecks on the same network.

This came about after I nerd sniped myself thinking about p2p nostr on
local networks[1]

You can test this exclusively without joining any other relays by
passing -r multicast on the command line.

[1] https://damus.io/note1j50pseqwma38g3aqrsnhvld0m0ysdgppw6fjnvvcj0haeulgswgq80lpca

Signed-off-by: William Casarin <jb55@jb55.com>
2025-01-04 10:37:11 -08:00
William Casarin f5afdd04a6 chrome: dont parse args twice
Signed-off-by: William Casarin <jb55@jb55.com>
2025-01-04 10:34:46 -08:00
kernelkind 4baa7b2ef3 use preview
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-03 18:39:35 -05:00
Ken Sedgwick 2d7de8fdc0 Add debug-widget-callstack and debug-interactive-widgets features
- they need to be separate, both on at once is too much

    --features debug-widget-callstack
      Show callstack for the current widget on hover if all modifier keys
      are pressed down

    --features debug-interactive-widgets
      Show an overlay on all interactive widgets

    Notes:
    - debug-widget-callstack asserts `egui:callstack` feature when enabled
    - Only works in debug builds, compile error w/ release builds
2025-01-02 14:14:29 -08:00
kernelkind efa0bfcca1 integrate RelayDebugView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-01 15:57:08 -05:00
William Casarin fcac49a0a5 previews: run previews as notedeck apps
This allows ./preview to be a notedeck app runner. I am currently
using it for the ProfilePic app (which will because notedeck_viz)

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-20 15:39:26 -08:00
Ken Sedgwick 0c29c89909 need mutable ndb reference to unsubscribe
Closes: https://github.com/damus-io/notedeck/pull/584
2024-12-17 08:57:06 -08:00
William Casarin 18226a35ff android: fix build
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-14 01:51:56 -08:00
William Casarin 516bbb6bc6 deb: add name so package works again
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-13 11:01:09 -08:00
William Casarin 5fda025206 android: change apk name to Notedeck
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-13 10:45:47 -08:00
William Casarin 0302a228f8 rpm: fix rpm build
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-13 10:45:47 -08:00
William Casarin 0cb400efe3 osx: update bundle name
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-13 10:13:57 -08:00
William Casarin c874606af5 tests: add --testrunner flag so that column tests dont fail on startup
We added a startup panic to prevent users from running as debug mode,
our tests are also hitting this. Add a new --testrunner flag which
skips this check. We want this separate from the --debug flag so that
the tests have a more consistent runtime environment.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-13 10:01:53 -08:00
William Casarin c3bbc6b977 android: fix issues due to rearchitecture 2024-12-13 09:36:10 -08:00
Ken Sedgwick 8b80096290 android: misc fixes for android
Closes: https://github.com/damus-io/notedeck/pull/568
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-13 08:19:39 -08:00
William Casarin ec755493d9 Introducing Damus Notedeck: a nostr browser
This splits notedeck into:

- notedeck
- notedeck_chrome
- notedeck_columns

The `notedeck` crate is the library that `notedeck_chrome` and
`notedeck_columns`, use. It contains common functionality related to
notedeck apps such as the NoteCache, ImageCache, etc.

The `notedeck_chrome` crate is the binary and ui chrome. It is
responsible for managing themes, user accounts, signing, data paths,
nostrdb, image caches etc. It will eventually have its own ui which has
yet to be determined.  For now it just manages the browser data, which
is passed to apps via a new struct called `AppContext`.

`notedeck_columns` is our columns app, with less responsibility now that
more things are handled by `notedeck_chrome`

There is still much work left to do before this is a proper browser:

- process isolation
- sandboxing
- etc

This is the beginning of a new era! We're just getting started.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-12 20:08:55 -08:00