Robert C. Martin
572dc813f9
Got #[x] references working for 'p' tags. They sort-of work for 'e' tags too; but should probably behave a bit differently.
2022-06-04 12:02:04 -05:00
Sathwik Matsa
36badfc5a5
Fix timezone issue in formatter tests
2022-06-04 13:32:07 +05:30
Robert C. Martin
96f799ee01
Got that test to pass. I now believe that threading is completely working. (Until I find out otherwise;)
2022-06-03 12:14:56 -05:00
Robert C. Martin
afd4dc7a16
I found a test that repeats my threading bug. It is currently failing.
2022-06-03 11:23:47 -05:00
Robert C. Martin
71420ca4e4
Refactored the orphan resolution code. It's better. It works better too. But there are still issues.
2022-06-02 11:19:44 -05:00
Robert C. Martin
39374c5008
Add relay recommendations to the relays, and write the relays on exit.
2022-05-31 13:56:48 -05:00
Robert C. Martin
1d90e09735
Change event-agent to event-context. Make it an atom, not an agent. Move the call to the UI handler out of the events module and into the protocol module. The threading issues here were hairy, but I think I've got them all resolved.
2022-05-31 11:06:11 -05:00
Robert C. Martin
11e3dfac69
Refactoring. Chante translate-text-event to translate-event and call it earlier.
2022-05-31 10:01:41 -05:00
Robert C. Martin
40d31f8923
Back and Forward work, but the event-agent stuff is awful.
2022-05-30 12:35:09 -05:00
Robert C. Martin
3b063f4401
Keeps track of event history in event-agent :event-history and :back-count. This is in preparation for the forward and back buttons. Also set up the s/defs for the event-agent. And I'm seriously considering replacing the agent with an atom because I keep having to add 'await event-agent' stuff. Ugh.
2022-05-29 09:07:17 -05:00
Robert C. Martin
5923de0daa
Marked e tags as per new NIP-10 working.
2022-05-26 14:47:44 -05:00
Robert C. Martin
041345517d
Don't add a child to a tree node if the child already exists in that tree node. This situations resulted from the addition of tabs... I'm not sure I like the fix. It repairs the problem after the fact. It might be better to figure out how to prevent the problem in the first place by, (probably) partitioning the node-maps by tabs.
2022-05-26 11:25:18 -05:00
Robert C. Martin
ac1962b386
Added the filtering code for the tabs. Event ids and user's pubkeys can either be selected or blocked. Events that contain the a selected id as the root of a thread are also selected, meaning that the entire rooted thread is selected.
2022-05-26 10:44:10 -05:00
Robert C. Martin
b87ab38e22
Clicking on the citing or root in the article window, hunts for the event in the currently selected tab. Removed the passing of ui-context and event-agent around because ui-context is a global that contains event-agent. More to do on this. Also, I need to switch tabs if the clicked on citing is not in the selected tab but is in the #all tab.
...
Is the #all tab permanent?
2022-05-25 09:07:24 -05:00
Robert C. Martin
4cbcab18ef
Change subscription time to two days ago. Just to keep the load time down.
2022-05-23 15:38:46 -05:00
Robert C. Martin
8ac8c808ae
Invert chronological order so that latest message is at the top of the tree.
2022-05-23 08:20:30 -05:00
Robert C. Martin
09563d1480
Resolution of orphaned references. References will be orphaned when a reply child event comes in before the parent event being replied to comes in. This can happen because we are pulling events from multiple relays.
2022-05-22 16:10:52 -05:00
Robert C. Martin
e9735e176e
Don't search back up the tree for the root, Bob; the root is in the message you are replying to. Duh.
2022-05-22 09:50:39 -05:00
Robert C. Martin
ab7caa0d48
Tests all pass again. (oops).
2022-05-21 15:50:42 -05:00
Robert C. Martin
3f6288e02a
Subject is used in article-tree header.
2022-05-21 15:14:47 -05:00
Robert C. Martin
149a8e6740
Add Subject to edit window, and send message with [subject: <subject>] tag.
2022-05-21 11:39:01 -05:00
Robert C. Martin
00b8eee74e
Send metadata at startup.
2022-05-20 10:31:25 -05:00
Robert C. Martin
f7dd8876fd
Move relays to private/relays, and load the relays from that file.
2022-05-19 10:42:32 -05:00
Robert C. Martin
5c696a9b53
Create relays/relays structure in an atom, and update it with connections and subscribe status.
2022-05-18 11:43:08 -05:00
Robert C. Martin
bdffc9e06e
Clean up ui.swing by breaking it up into panel/window specific modules, and fixing cyclic dependencies.
2022-05-17 09:50:48 -05:00
Robert C. Martin
d02682dc16
Chronological sort using java.util.Collections/binarySearch. Much faster.
2022-05-16 17:55:51 -05:00
Robert C. Martin
26377873da
Chronological sort of header tree. Slow. Should use binary search.
2022-05-16 13:33:04 -05:00
Robert C. Martin
16628a91a6
Read from more than one relay. Detect duplicates, and register which relays they arrive on. Article tree is no longer chronological, so we'll have to sort it somehow.
2022-05-15 11:19:19 -05:00
Robert C. Martin
bdd2f32b37
Check signatures of incoming events. Move hex/num/bytes utilities from ecc to util.
2022-05-06 09:23:50 -05:00
Robert C. Martin
c94bafd84a
Clean up the main-window file. Much better now.
2022-05-05 15:14:30 -05:00
Robert C. Martin
85fa99fce3
p-tag processing working properly.
2022-05-04 12:12:39 -05:00
Robert C. Martin
55a2eafa43
e-tag processing for replies is working correctly.
2022-05-03 15:46:44 -05:00
Robert C. Martin
b21203bd5d
Added incremental article threading. Also added try/catch to name-event in case someone sends an ill-formatted message.
2022-05-02 09:22:09 -05:00
Robert C. Martin
c9c31633b3
Massing cleanup and deletion. Much better.
2022-04-30 13:24:45 -05:00
Robert C. Martin
df415f8181
Swing begins.
2022-04-27 12:07:24 -05:00
Robert C. Martin
6760ba48a8
Fixed unicode and slashes. json/write-str was escaping them.
2022-04-20 10:22:52 -05:00
Robert C. Martin
bc2b912cab
Rudimentary reply is working.
2022-04-20 09:15:31 -05:00
Robert C. Martin
7afaa564c6
Copies article being replied to into edit window, prefixed with '>'.
2022-04-19 13:51:41 -05:00
Robert C. Martin
52639cb80e
fixed improperly created graphics-dummy.
2022-04-18 16:13:07 -05:00
Robert C. Martin
6cbeceb035
Begin the process of replying. ^R is the reply command. So far just clears the edit window if no article is selected.
...
Also began creation of the object-mother.
2022-04-18 16:03:11 -05:00
Robert C. Martin
5fde839565
Clean out old elliptic_signature code that was replaced by the Schnorr java library.
2022-04-18 08:09:47 -05:00
Robert C. Martin
6472e7ca9b
Add the BIT340_Schnorr code from https://code.samourai.io/samouraidev/BIP340_Schnorr
...
Works. The first message from more-speech was sent to the nostr network using the signature created by this code.
2022-04-14 16:06:09 -05:00
Robert C. Martin
beb998fc0d
Implement ^s to send as a shortcut.
...
Format message to send.
Sign and paste message into core.
Signature verification error.
Add test to detect the error.
This one is going to take awhile.
2022-04-10 13:40:22 -05:00
Robert C. Martin
efe273e32b
Better sorting technique, using sorted-set. I expect that will do insertions rather than continual sorting of a large collection. Also reversed the sense of the sort, so latest articles are on top.
2022-04-08 12:28:30 -05:00
Robert C. Martin
12262b0f79
Use java.net.http.Websocket instead of 'aleph'. Works great!
2022-04-07 12:28:34 -05:00
Robert C. Martin
a56eb819bb
Bringing in the nostr protocol.
2022-04-05 10:12:16 -05:00
Robert C. Martin
e09addbbec
Can use backspace to delete characters in edit window.
2022-04-03 10:12:37 -05:00
Robert C. Martin
e726c21f06
Can add multiple lines to edit window. Can navigate with arrows. Ignores control keys, etc.
2022-04-02 12:21:33 -05:00
Robert C. Martin
849ee68e63
Can add chars to edit window. Very primitive, but...
2022-04-02 10:13:28 -05:00
Robert C. Martin
9038199c35
Clean up author window formatting.
2022-03-07 08:23:27 -06:00
Robert C. Martin
acf4250223
Fix reformatting bug that inserted a line end before the last word.
2022-03-07 07:34:21 -06:00
Robert C. Martin
502964a328
Arrow keys move the selected header.
2022-03-05 13:23:09 -06:00
Robert C. Martin
421488c26f
Keyboard focus and passing events from child to parent widgets. A little cleanup in widget to ensure functions are functions.
2022-03-04 07:32:16 -06:00
Robert C. Martin
fb0abcc2c2
Refactor and add tests to reformat-article. Much improved.
2022-03-03 12:24:32 -06:00
Robert C. Martin
4bd5abb22c
Very preliminary formatter for articles. Based on the old word-wrap problem.
2022-03-03 11:30:00 -06:00
Robert C. Martin
5ccb060d98
Headers abbreviated properly.
2022-03-03 08:49:21 -06:00
Robert C. Martin
b2df19a432
Repartitioning. Eliminated content/article. Created ui/formatters and moved specific formatting into the window modules. Those modules will likely need to be split into specific control and formatting modules. But not yet.
2022-03-03 08:18:29 -06:00
Robert C. Martin
c5b1cfd6a4
Layout article-window. No content yet.
2022-02-28 14:03:43 -06:00
Robert C. Martin
44af6bcf9a
Add some unit tests that would have helped me through my previous headache.
2022-02-26 11:27:23 -06:00
Robert C. Martin
91a821a73c
Use mouse functions in defsketch instead of the silly stuff I was doing in button. This was a big change that took a long time and was a big headache. Forced me to repartion widget and app-util to avoid cyclic dependencies.
2022-02-26 09:48:37 -06:00
Robert C. Martin
c920f46432
Can select and deselect headers.
2022-02-25 09:15:03 -06:00
Robert C. Martin
4244ea9f53
Header is hilighted when mouse hovers. This required quite a bit of refactoring in order to tune the button tags and defer the mouse-wheel up from the button to the frame. I'm not sure that deferral is the right approach.
2022-02-24 13:57:44 -06:00
Robert C. Martin
18b6d4c75d
Merge text-frame into text-window, rearrage a bit, and write header comment for text-window.
2022-02-24 09:12:42 -06:00
Robert C. Martin
20ad98139c
Decoupling of headers from text-window and text-frame is complete. Now the text-window should be generic and usable for any window displaying text with scrollbars.
2022-02-21 12:54:32 -06:00
Robert C. Martin
1e66acb7ed
Decouple headers from text-frame. In progress. More to do.
2022-02-21 11:54:29 -06:00
Robert C. Martin
f0a43f96b8
Decouple text-window from articles and headers. Next step is to decouple header-frame and transform it into text-frame and header-frame-functions.
2022-02-21 11:03:00 -06:00
Robert C. Martin
519038ceed
Eliminate 'unused local variable' warnings by prefixing those variables with an underscore.
2022-02-20 13:21:44 -06:00
Robert C. Martin
8e196c3983
Repartition functions in article-window and header-frame in preparation for text-window generalization.
2022-02-20 10:51:25 -06:00
Robert C. Martin
97a89886fe
Generalize the update scheme in preparation for generalizing text-windows.
2022-02-19 13:41:49 -06:00
Robert C. Martin
241801fbbf
Mouse lock implemented, so thumb can be dragged with reckless abandon.
...
Also cleaned up the update and lock functions by creating app-util.
And changed all path additions from conj to concat. That probably needs a function too.
2022-02-17 13:22:06 -06:00
Robert C. Martin
13fc4e6ec2
Can drag thumb.
2022-02-17 11:40:16 -06:00
Robert C. Martin
df95af7b08
Some cosmetic changes to the article window, and make one of the UI tests more robust.
2022-02-17 09:32:32 -06:00
Robert C. Martin
ed3e4fa526
Split header-frame from article-window
2022-02-16 12:13:55 -06:00
Robert C. Martin
50e8ed9505
Mouse wheel works.
2022-02-16 09:29:23 -06:00
Robert C. Martin
6be1b896cc
Thread open/closed buttons are working.
2022-02-14 15:01:31 -06:00
Robert C. Martin
88ebeea663
Do all the markup and formatting in update. Draw each header based on its position. Tighten up the display.
2022-02-13 16:25:44 -06:00
Robert C. Martin
9d54c856cf
Calculate the number of headers that fit in the article frame.
2022-02-13 15:14:10 -06:00
Robert C. Martin
e84781d962
Move the threading and selection of articles to the update function. This will save lots of cycles, and sets the stage for the thread control buttons.
2022-02-11 15:10:47 -06:00
Robert C. Martin
7897186935
Preliminary display of threaded articles.
2022-02-11 12:16:36 -06:00
Robert C. Martin
0a96011517
Build the thread of open events.
2022-02-10 13:17:17 -06:00
Robert C. Martin
4cdb70033c
Prepare for placing 'open' buttons on article threads.
2022-02-08 13:38:04 -06:00
Robert C. Martin
a6b4fdcdcc
Moved article beneath content
2022-02-07 15:12:09 -06:00
Robert C. Martin
57f46040e2
Holding down scroll buttons works.
2022-02-06 10:11:54 -06:00
Robert C. Martin
98a428432c
Track left button down time, and refactor to ease button update code.
2022-02-06 09:14:26 -06:00
Robert C. Martin
54bb26c8a4
update-widget now just returns the state. When you use the State monad, you gotta really USE the State monad!
2022-02-04 08:25:26 -06:00
Robert C. Martin
09ccc80a28
Articles now contain a list of references derived from tags.
2022-01-31 14:56:01 -06:00
Robert C. Martin
137cef3e89
Preliminary version of process-text-event loading :text-event-map and :chronological-text-events.
2022-01-31 13:47:48 -06:00
Robert C. Martin
5c76474ca4
Scroll buttons work on left-up.
2022-01-30 14:03:14 -06:00
Robert C. Martin
e34bd74e3e
update-widget returns [widget state] so that child widgets can change parent state.
2022-01-30 07:55:53 -06:00
Robert C. Martin
aa3970d794
draw-widget does not return a value. draw-child-widgets does not change state.
2022-01-30 07:38:21 -06:00
Robert C. Martin
d10caeb11a
Detect position and state of mouse in button.
2022-01-30 07:19:59 -06:00
Robert C. Martin
c5ad9a253a
Add missing spec file.
2022-01-26 14:59:34 -06:00
Robert C. Martin
851ed6828d
Revert "Automatically set coordinate translation and clipping for widgets."
...
This reverts commit e5f3999ff0
.
I decided this was a bad idea. Coordinates should be absolute.
2022-01-26 14:57:19 -06:00
Robert C. Martin
e5f3999ff0
Automatically set coordinate translation and clipping for widgets.
2022-01-26 14:13:30 -06:00
Robert C. Martin
6fe71ca4e6
The beginnings of buttons.
2022-01-24 10:30:12 -06:00
Robert C. Martin
1ee1faab28
widget/do-children does the hierarchy. The widget protocol functions return widgets, not the state.
2022-01-24 08:26:18 -06:00
Robert C. Martin
3d1469ac2a
Got rid of :widgets by using satisfies?
2022-01-23 10:46:18 -06:00
Robert C. Martin
0b39d3348d
First glimmers of the path hierarchy. I don't like the interpost :widgets tags.
2022-01-23 09:53:42 -06:00
Robert C. Martin
c6f26ec11f
Add tests for abbreviations and author formatting.
2022-01-20 12:00:09 -06:00
Robert C. Martin
00b431d6f8
Markup language for Humble Object pattern in order to allow testing of formatting.
2022-01-20 07:56:09 -06:00