Commit Graph

214 Commits

Author SHA1 Message Date
Robert C. Martin
0039e61f4a process-name-event setup for db.
process-text-event partially set up for db.
2023-01-21 13:13:15 -06:00
Robert C. Martin
05f1eee307 Extracted event-handlers from events. 2023-01-19 11:00:08 -06:00
Robert C. Martin
78c16b73f3 Extracted composers from events 2023-01-19 10:26:18 -06:00
Robert C. Martin
4b9f4c4e4f Relay refactoring complete. THAT was a good one. 2023-01-17 10:23:58 -06:00
Robert C. Martin
bf8dda7ee1 Add relay to websocket-relay callback function. 2023-01-17 08:15:35 -06:00
Robert C. Martin
7587374a47 Change channel to function in websocket-relay 2023-01-17 08:08:48 -06:00
Robert C. Martin
358d90f683 Create relay interface and websocket-relay classs, with tests. 2023-01-16 16:47:10 -06:00
Robert C. Martin
ffb3a74fa1 Log messages and cleanup. 2023-01-11 11:55:46 -06:00
Robert C. Martin
7701682b6b Don't allow nils in the tags. 2022-10-28 16:04:46 -05:00
Robert C. Martin
7a0ec902fd Make nonce values strings, and fix problem reading empty tags [""]. 2022-10-28 10:15:12 -05:00
Robert C. Martin
e2ef67fcaf Fix the with-redefs issue.
Render the article window with &nbsp characters replacing strings of spaces.  This prevents the html renderer from compressing spaces.
2022-10-23 08:59:27 -05:00
Robert C. Martin
a02f3dd40e Proof of work. Defaults to 16. config/proof-of-work-default 2022-10-22 10:25:49 -05:00
Kamil Gałuszka
ab1eb71b39 fix: ISO hours 2022-10-06 17:31:20 +02:00
Robert C. Martin
accd6eddbf When reading in saved events the functions load-events and events/add-event striped off all but the first relay. Fixed this. 2022-09-27 14:59:13 -05:00
Robert C. Martin
3843ed279f Reply to DM sets up the D @xxx in the response. 2022-09-19 11:19:02 -05:00
Robert C. Martin
e9d4bda3f2 Tentative ability to send DM. Waiting for confirmation. uses "D @xxx" style. 2022-09-18 11:25:21 -05:00
Robert C. Martin
4b5c1deab2 Clean up the @(:event-context @ui-context) BS. replace with get-event-state. Stop passing event-state and event-context around unless they are going to change. 2022-09-17 16:50:31 -05:00
Robert C. Martin
8412639372 Remove all declares except those needed for 'with' statements in tests. 2022-09-05 14:11:18 -05:00
Robert C. Martin
d2347ce293 Ping every 30 seconds. And fix bug that blocked the create button (dumb). 2022-08-17 15:42:48 -05:00
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