Commit Graph

166 Commits

Author SHA1 Message Date
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