Robert C. Martin
511256cec4
Sanity check the relay names. Don't allow localhost and http and non-urls.
2022-08-16 18:26:19 -05:00
Robert C. Martin
e11c7c07f9
Allow raw pubkeys in @ references within an article. It creates a profile name for that user based on that pubkey.
2022-08-14 13:07:55 -05:00
Robert C. Martin
c67143168c
Fix tag types with colons in them. read-string doesn't like them.
2022-08-14 09:44:14 -05:00
Robert C. Martin
4676aba4ca
add root of thread when adding an event to a tab.
2022-08-10 13:31:49 -05:00
Robert C. Martin
55f953b52b
Use trusted petnames in @ and #[] emplacements.
2022-08-09 10:38:53 -05:00
Robert C. Martin
30ff04d816
Indirect trust rendered as name<-trusted
2022-08-04 09:31:22 -05:00
Robert C. Martin
47e51151b5
Web of trust. Kind-3 seems to be managed well. Should probably not allow kind-3 to delete users from this user's contact list...
2022-08-03 13:14:00 -05:00
Robert C. Martin
4bc60a7ab6
Pull kind-3 contact lists at startup. Mark untrusted users with (). Set up for petnames.
2022-08-03 10:19:37 -05:00
Robert C. Martin
fd861a793f
Fix bug. Contact list was not formed correctly. p tag pubkeys are hex strings, and have been turned into numbers.
2022-08-02 08:42:20 -05:00
Robert C. Martin
e935a08eb6
Migration 9 contact-lists. Initital processing of kind-3 and accumulation of the contact-lists.
2022-08-01 11:39:05 -05:00
Robert C. Martin
2f1a539920
Periodically read in all profiles from relays. Uses user-configuration :import-metadata group.
2022-07-31 08:24:18 -05:00
Robert C. Martin
9b17979b2f
Added :never to [:export-user-profile :export-after-days]
2022-07-30 14:30:19 -05:00
Robert C. Martin
8d2da0f976
Add :export-user-profile variables to user-configuration file. Send user profile only every :export-after-days days.
2022-07-30 11:24:36 -05:00
Robert C. Martin
8abcb0f44a
Migration 8 user-configuration file, empty for now.
2022-07-30 10:00:28 -05:00
Robert C. Martin
25daaf5d54
Delete tabs, add new tabs, select and block articles and authors.
2022-07-28 13:22:25 -05:00
Robert C. Martin
0651bdd307
Change name of tab.
2022-07-28 08:21:40 -05:00
Robert C. Martin
4c8ffeba0f
Fix tests and bump version number.
2022-07-23 10:05:51 -05:00
Robert C. Martin
64a823e214
Add a numerical suffix to names that are duplicates for existing pubkeys. Print longer names in the article window and article tree, and don't trim the names in the profiles file.
2022-07-23 09:39:21 -05:00
Robert C. Martin
fa4acece82
Add name and version to window title, and version to :client tag in outgoing messages.
2022-07-22 08:02:54 -05:00
Robert C. Martin
97764b6ef6
Migration 7, break message-file into daily files.
2022-07-20 11:04:33 -05:00
Robert C. Martin
68666d4d8f
Reading and writing of daily files is complete. Next I need to write the migration.
2022-07-20 09:40:19 -05:00
Robert C. Martin
57429d3d4e
Reading and writing daily message files. But not pushing because migration 7 is not ready.
2022-07-19 15:26:50 -05:00
Robert C. Martin
db3c103b9d
Stop using tab names and use tab indices instead. Also fix bug that sometimes didn't load article when using back button.
2022-07-17 08:42:57 -05:00
Robert C. Martin
2421f3a0f5
Migration 6 complete. Tabs file removed. Tabs-list file created. All code uses new tabs scheme. This is much better.
2022-07-16 13:17:37 -05:00
Robert C. Martin
d9561adc56
Migration 6, reformat tabs to tabs-list, and get prepared.
2022-07-16 10:54:55 -05:00
Robert C. Martin
930575f7c9
merge sathwikmatsa pull request to linkify article.
2022-07-10 14:15:23 -05:00
Robert C. Martin
1d0e9f8c9a
Migration 5. Remove nicknames file. Make sure on first time start we subscribe one day back.
2022-07-05 14:34:46 -05:00
Robert C. Martin
dee5222a2b
All nickname dependencies removed except for the migrator, which is grandfathered to maintain backwards compatibility.
2022-07-05 14:09:24 -05:00
Robert C. Martin
48fbe30621
Removed useless nicknames from some tests.
2022-07-05 09:22:15 -05:00
Robert C. Martin
f7bead98f4
replace-references and lookup-references use profiles
2022-07-05 09:11:34 -05:00
Robert C. Martin
981aa6b412
format-reply, format-header, and format-user-id use profiles.
2022-07-05 08:59:45 -05:00
Robert C. Martin
3dfdc5ac49
find-user-id uses profiles.
2022-07-05 08:09:01 -05:00
Robert C. Martin
fdaefd428c
Save and load profiles into private/profiles. Soon we will eliminate private/nicknames.
2022-07-04 09:35:30 -05:00
Robert C. Martin
7b04dc1dd9
Migration 4 moves nicknames to profiles.
2022-07-04 08:53:28 -05:00
Robert C. Martin
2094c656b3
When a tap selects for an id, any event that has a 'p' tags with that id will be included.
2022-06-17 15:15:06 -05:00
Robert C. Martin
672c5ce69a
Save and read message file. Set subscription time to just before last message time. Migration 3 creates messages directory and message-file.
2022-06-17 10:30:11 -05:00
Robert C. Martin
89868f3d0d
Word wrap the edit window using :wrap-lines in a 'styled-pane'
2022-06-16 15:12:59 -05:00
Robert C. Martin
45ac056edd
Add From/Date/Relay to replies.
2022-06-12 13:53:52 -05:00
Sathwik Matsa
fcdbccdf9c
Linkify URLs in article window
2022-06-09 21:12:29 +05:30
Robert C. Martin
9b9048e477
Preserve the format of replies in the article display. (Lines that start with > are preserved).
2022-06-08 18:39:19 -05:00
Robert C. Martin
eadd71d5fd
Migration 2. Fix user names in the nicknames file.
2022-06-07 14:37:39 -05:00
Robert C. Martin
e4b22433aa
Initial migration from no setup to all files set up with automatically generated keys and user name.
2022-06-06 14:22:49 -05:00
Robert C. Martin
6cda2b2fe5
Migration framework.
2022-06-06 10:25:16 -05:00
Robert C. Martin
57787d7cc9
Got @username syntax working for sending and replying.
2022-06-05 14:10:45 -05:00
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
Robert C. Martin
c304719f94
First Commit. Basic formatting
2022-01-18 13:04:57 -06:00