Commit Graph

516 Commits

Author SHA1 Message Date
William Casarin
79a447239a cleanup: remove account switcher widget
we don't need this anymore

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-16 16:37:04 -07:00
William Casarin
52a7ed53ec accounts: use column nav for account management
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-16 16:36:38 -07:00
William Casarin
3c79724a81 Merge 'Read android args from config file on device' #298
Ken Sedgwick (1):
      Read android args from config file on device
2024-09-16 15:24:24 -07:00
William Casarin
36c0971fd9 Flexible routing
Another massive refactor to change the way routing works. Now any
column can route anywhere.

Also things are generally just much better and more modular via the
new struct split borrowing technique.

I didn't even try to split this into smaller commits for my sanity.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-16 14:50:20 -07:00
William Casarin
b4a8cddc48 fix crash in selected columns
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-11 16:24:50 -07:00
William Casarin
37fbde1566 fix some rebase issues
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-11 16:24:43 -07:00
kernelkind
7fa7529a1d cargo update
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:14:57 -07:00
kernelkind
aa82cb9fda fix flickering on account switch
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:14:32 -07:00
kernelkind
950a47119e implement stateful account management view
`./preview StatefulAccountManagementView`

Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:14:31 -07:00
kernelkind
3a9c7607f3 make AccountManagementView stateless
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:13:58 -07:00
kernelkind
dda7256f51 add LoginState to app
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:13:16 -07:00
kernelkind
ee0029268f add RoutableWidgetState conception
holds the routes for an arbitrary widget

Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:12:57 -07:00
kernelkind
df4e331d33 narrowize account login view
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:12:08 -07:00
kernelkind
206112849d narrowize account management view
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:12:07 -07:00
kernelkind
52604e65c6 remove global popup conception
can be added later if we need it again

Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-11 16:11:10 -07:00
William Casarin
00091c5088 Switch to Columns
Also refactor damus app usage to only pass in things that we need in views.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-11 15:49:34 -07:00
Ken Sedgwick
e7f959b3ea
Read android args from config file on device
- allows use of more interesting args w/o risk of checking them in by mistake
- allows use of different args w/o rebuilding the app
- uses compiled in defaults if config file missing or broken

Example android-config.json:
```
{
  "args": [
    "--npub",
    "npub1h50pnxqw9jg7dhr906fvy4mze2yzawf895jhnc3p7qmljdugm6gsrurqev",
    "-c",
    "contacts",
    "-c",
    "notifications"
  ]
}
```

Install/update android-config.json with:
```
adb push android-config.json /sdcard/Android/data/com.damus.app/files/android-config.json
```

Using internal storage would be better but it seems hard to get the config file onto
the device ...
2024-09-10 14:16:10 -07:00
William Casarin
4379466d1d android: launch with initial options
Feel free to change to have a customized android build

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-09 16:10:33 -07:00
William Casarin
4a4fb06425 split is_mobile to is_narrow and is_oled
is_mobile doesn't really make sense for android tablets. We were
overloading this variable to mean "is_narrow". What we really want is
is_oled for mobile devices and is_narrow for if its phone-like.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-06 21:54:48 -07:00
William Casarin
772bfbad5f img: remove loading spinners
This adds blank space, but it will be nice if we can improve this
by either fading in or having some shimmer effect.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-06 21:06:12 -07:00
William Casarin
8602650278 args: add datapath argument
This will allow us to test cache resets

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-06 21:06:12 -07:00
William Casarin
c879982260 args: add --textmode
An option to enable textmode on startup

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-06 08:59:49 -07:00
William Casarin
7fa18fa5f7 Merge 'Supply default timeline for mobile app if empty' (#285)
Ken Sedgwick (1):
      Supply default timeline for mobile app if empty
2024-09-03 11:49:21 -07:00
William Casarin
989f88c989 fonts: add thai support
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-03 11:45:59 -07:00
Ken Sedgwick
55f6a94c18
Supply default timeline for mobile app if empty
Fixes ([#284])
2024-09-03 11:37:27 -07:00
William Casarin
01b9704415 appease clippy
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-03 11:25:48 -07:00
William Casarin
efadd6153b arg: add -c universe column
Add helper for adding universe columns

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-03 11:18:32 -07:00
William Casarin
ddba62df47 env: add some test npubs
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-03 11:12:50 -07:00
William Casarin
c34227b5f7 arg: add -c profile{,:pubkey} arg column
This allows you to add profile columns

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-03 11:12:02 -07:00
William Casarin
4fdbad0df8 fix bug where it was subscribing too many times
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-03 11:11:38 -07:00
William Casarin
043ccf2146 debug: add subid debugging
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-03 11:10:59 -07:00
William Casarin
2603d08d1a tidy: fix formatting
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 18:31:53 -07:00
William Casarin
ad9c8f959c columns: add --notifications{,:pubkey} argcolumn
This allows you to add notification columns pretty easily:

$ notedeck --sec $SEC -c contacts -c notifications -c notifications:$CORP_ACCT

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 18:29:21 -07:00
William Casarin
ca09dc1675 filters: add limits to follow filters
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 18:16:22 -07:00
William Casarin
4c61c337bd fix transaction crash regression when opening thread
small oversight

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 18:12:12 -07:00
William Casarin
6a989e388b Merge images support
Thanks to Ken Sedgwick for getting this over the line by generalizing
our images cache!

Ken Sedgwick (2):
      build: updated num_enum to get around build problem
      Extend ImageCache to handle content images

William Casarin (4):
      update image to 0.25
      initial image support
      use slightly better carousel id

Fixes: https://github.com/damus-io/notedeck/issues/249
Fixes: https://github.com/damus-io/notedeck/issues/148
2024-09-02 17:56:32 -07:00
Ken Sedgwick
fe7580f5be Extend ImageCache to handle content images 2024-09-02 17:54:49 -07:00
Ken Sedgwick
085c6f1992 build: updated num_enum to get around build problem
Problem:
```
error[E0463]: can't find crate for num_enum_derive
  --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/num_enum-0.7.2/src/lib.rs:10:11
   |
10 | pub use ::num_enum_derive::{
   |           ^^^^^^^^^^^^^^^ can't find crate
```
2024-09-02 17:54:49 -07:00
William Casarin
b00dc735e1 use slightly better carousel id
still need to include timeline...

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 17:54:49 -07:00
William Casarin
0e4aad4184 initial image support
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 17:54:49 -07:00
William Casarin
036c257379 update image to 0.25
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 17:54:49 -07:00
William Casarin
21c00a41e0 Merge contact list fetching
William Casarin (15):
      cli: add --pub support for watchonly accounts
      column: extract into_timeline logic into ColumnKind
      contacts: fix hashtags in filter_from_tags
      docs: fix comment in the wrong spot
      fetch contact lists
      filter: create filter from contact list
      nostrdb: bump version
      perf: coordinate unknown id lookups
      refactor: move args to its own file
      tidy: move ColumnKind to its own file
      tidy: move parse_args to Args::parse
      tidy: organize bools
      tidy: remove some crate:: namespaces
      timeline: initial contact queries

Fixes: https://github.com/damus-io/notedeck/issues/236
Fixes: https://github.com/damus-io/notedeck/issues/6
2024-09-02 17:47:57 -07:00
William Casarin
bc8a8d4a74 perf: coordinate unknown id lookups
This is a huge improvement over what it was before. Now all unknown id
lookups are debounced and happen through a central coordinator. This
ensures there is no duplication between timelines.

Fixes: https://github.com/damus-io/notedeck/issues/279
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 17:38:18 -07:00
William Casarin
ad244d48c0 fetch contact lists
If we don't have a contact list, make sure to fetch one

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 16:22:29 -07:00
William Casarin
92e9e34e19 column: extract into_timeline logic into ColumnKind
I thought I needed this but maybe I don't. Anyways, it's a bit cleaner
this way.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-31 08:15:09 -07:00
William Casarin
db49cf3c4b tidy: move ColumnKind to its own file
timeline file is starting to get messy

Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-31 08:08:17 -07:00
William Casarin
9a9342ad35 tidy: remove some crate:: namespaces
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-31 07:17:45 -07:00
William Casarin
5de78cef21 docs: fix comment in the wrong spot
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-31 05:43:43 -07:00
William Casarin
a051760fd9 contacts: fix hashtags in filter_from_tags
split hashtag follows into a separate Filter, combining authors and
hashtags doesn't work, because this is considered an AND filter, where
we want an OR.

We may want an option to split hashtags follows into a separate column.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-31 05:43:43 -07:00
William Casarin
2ea6473ae2 refactor: move args to its own file
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-31 05:43:43 -07:00