William Casarin
4d124c05fa
remove unnecessary crash
...
Signed-off-by: William Casarin <jb55@jb55.com >
2024-11-15 10:11:00 -08:00
William Casarin
01bedac710
Fix filter states when adding columns
...
This fixes various issues with filter states when adding columns. We now
maintain multiple states per relay so that we don't lose track of
anything.
Fixes: https://github.com/damus-io/notedeck/issues/431
Fixes: https://github.com/damus-io/notedeck/issues/359
Signed-off-by: William Casarin <jb55@jb55.com >
2024-11-14 15:25:08 -08:00
William Casarin
845f745dca
remove NewTimelineSub
...
New timelines should be handled in the standard timeline codepaths
Signed-off-by: William Casarin <jb55@jb55.com >
2024-11-14 10:36:16 -08:00
William Casarin
4c458727a9
fix: save columns on removal
...
Fixes: https://github.com/damus-io/notedeck/issues/432
Signed-off-by: William Casarin <jb55@jb55.com >
2024-11-13 15:51:46 -08:00
William Casarin
91016facc7
Merge Persist Columns #390
...
Fixed a few merge conflicts
kernelkind (2):
initial column storage
tmp remove DeckAuthor columns
2024-11-13 13:13:55 -08:00
William Casarin
2f20e8253e
app: simplify Damus::new constructor
...
Just take an egui::Context instead of an eframe::CreationContext.
This should make it easier to test the app via egui::Context::default();
Signed-off-by: William Casarin <jb55@jb55.com >
2024-11-13 10:53:29 -08:00
William Casarin
fab1257f6e
paths: remove hardcoded basepath
...
Before we were hardcoding the basepath with dirs, which isn't that
useful for testing, previews, or for android. Let's fix that.
This also moves the db and cache directories into our root DataPaths.
This is a breaking change, we don't have a migration step. sorry.
Signed-off-by: William Casarin <jb55@jb55.com >
2024-11-13 09:55:56 -08:00
kernelkind
56dd88b3a2
initial column storage
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-30 13:40:31 -04:00
William Casarin
1476be48cc
Merge 'Support view, key storage'
...
kernelkind (5):
file storage
write log files to disk daily and on panic
app window size persists on app close
support view
fix cmd line args bug
2024-10-28 13:30:16 -07:00
kernelkind
0c7b5e7e59
fix cmd line args bug
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-28 15:30:44 -04:00
kernelkind
309477dca4
support view
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-25 15:23:35 -04:00
kernelkind
03bfb34172
app window size persists on app close
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-25 15:23:35 -04:00
kernelkind
4f86e9604f
file storage
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-25 15:23:35 -04:00
kernelkind
dcb6620ddd
proper timelineTabs
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-14 17:39:10 -04:00
kernelkind
6ffe33e924
integrate profile view caching
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-14 13:29:36 -04:00
kernelkind
780fba3093
generify Threads
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-14 13:29:31 -04:00
kernelkind
44948fdff0
init profile routing
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-11 16:37:17 -04:00
kernelkind
1bf9d5d934
title bar
...
add title bar to columns with title specific to the column type.
also add column deletion button
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-07 14:02:33 -04:00
kernelkind
57069ff7c0
push column picker immediately to new column
...
instead of pushing to temporary column first
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-10-01 12:51:14 -04:00
kernelkind
e2dd1b3298
remote sub new timeline
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-09-30 10:27:48 -04:00
Ken Sedgwick
a17b2dcb17
Untangle zoom when in TextEdit
...
Addresses ([#140 ])
I don't think the zoom code in handle_key_events was necessary because
gui zooming already appears to be handled by egui::gui_zoom.
Description of keybindings:
59d71831fd/crates/egui/src/gui_zoom.rs (L5-L26)
Zooming using the described keybindings works fine with a textedit
focused.
This PR removes the ContextAction::SetPixelsPerPoint aggressively;
maybe it should remain for other future uses?
2024-09-27 12:44:42 -07:00
kernelkind
2832def161
remove app from sidebar
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-09-24 16:52:58 -04:00
kernelkind
c66cf6a98c
change side panel width to 64.0
...
matches figma design
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-09-24 16:52:58 -04:00
kernelkind
fd75e93605
initial compose note view
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2024-09-24 16:52:58 -04:00
William Casarin
945ccde818
ui: hook up relay management view
...
Signed-off-by: William Casarin <jb55@jb55.com >
2024-09-16 17:15:07 -07:00
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
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
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
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
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
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
Ken Sedgwick
55f6a94c18
Supply default timeline for mobile app if empty
...
Fixes ([#284 ])
2024-09-03 11:37:27 -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
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
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
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
2ea6473ae2
refactor: move args to its own file
...
Signed-off-by: William Casarin <jb55@jb55.com >
2024-08-31 05:43:43 -07:00
William Casarin
71259a8dd5
timeline: initial contact queries
...
This implements initial local contact queries. For testing you can
create contact list columns via:
Examples
--------
Make a contacts column from a specific npub:
$ notedeck --column contacts:npub...
Use the current user's contacts:
$ notedeck --column contacts --pub npub...
We also introduce a new ColumnKind enum which is used to describe the
column type.
Signed-off-by: William Casarin <jb55@jb55.com >
2024-08-30 08:59:48 -07:00
William Casarin
11ede2086f
cli: add --pub support for watchonly accounts
...
Signed-off-by: William Casarin <jb55@jb55.com >
2024-08-30 08:59:37 -07:00
William Casarin
ea547a3497
tidy: move parse_args to Args::parse
...
Signed-off-by: William Casarin <jb55@jb55.com >
2024-08-30 08:49:29 -07:00
William Casarin
ae6c05ab42
tidy: organize bools
...
Signed-off-by: William Casarin <jb55@jb55.com >
2024-08-30 07:17:56 -07:00