Commit graph

16 commits

Author SHA1 Message Date
Thomas Mathews
077bf49fdb New Feature: Direct Messages
This feature involved a lot of refactoring in order to get working
correctly. I wanted to continue using the timeline view for chats thus I
used alternative styling & structure for DM event kinds. This worked
create since the elements map does not care.

There is some queing that has to be done to decrypt message content thus
I allow viewing messages even if they haven't been decrypted yet. I
think this is good for transparency since you understand what is and is
not decrypted. I do think that the UX could improve, because even tho it
is fast, it's flashes on new messages.

I did not implement saving of latest messages. I will do this later, but
this feature is big enough to merge as is: an alpha state that works.

I further abstracted profile & name updating to work in a more global
manner. Additionally I rewrote code that had attribute scripts to use
addEventListener instead. This is needed to happen anyways for security
and made the codebase easier to manage.
2023-01-06 14:55:33 -08:00
Thomas Mathews
e3b31af127 Added basic settings support.
You can edit relays, embed options, and sign out. This moves the signout
button from the nav to the settings area.
2022-12-29 21:56:06 -08:00
Thomas Mathews
f00f327a3d Updates
Improved recognization of replying to thread and being able to open it.

Rewrote profile storing on the model. Additionally fixed issues where
the profile was not getting loaded for referenced pubkeys on an event.
2022-12-29 18:01:05 -08:00
Thomas Mathews
4fbb7875fb Performance Update
I am disabling saving events as it seems quite stressful on IndexedDB as
well as having to parse everything. We need some smart saving where we
only save data relative to the user. Such as profiles last seen within
the day or so. Anything else can simply be refetched. Storing 50,000 events
does not really help the app that much, but does give it a better
loading start.
2022-12-28 10:07:00 -08:00
Thomas Mathews
281de7de24 Sharing works again. 2022-12-27 22:12:53 -08:00
Thomas Mathews
2d92073cfb Clean up unused 2022-12-27 20:21:40 -08:00
Thomas Mathews
7ce72540cf Fix pubkey sign in.
Added try/catch and updated awaits for async methods in regards to sign
in attempts. This appears to resolve some race conditions with nos2x
extension. More testing to be performed.
2022-12-27 18:53:27 -08:00
Thomas Mathews
51ab5aae2a Notifications!
Plus minor bug fixes (like saving not working after first shot). This
needs to address the favicon issue still, but notifications are largely
working.
2022-12-27 13:57:54 -08:00
Thomas Mathews
f706ed17d0 Minor fix for view fetching data 2022-12-27 10:38:53 -08:00
Thomas Mathews
1847b64855 Smarter loading.
This changes to always on explore (though this may change yet again).
This is so we always get new events and we simply filter out who we want
to see. This also replaces the recent history.

I also changed contacts to check if we have contacts from storage and if
not to fetch them. This solves login loading issues.

There are still issues (IMO) with profile loading and thread loading
that need investigation. Profile loading just seems slow and threads
seems to not have posts. I think this may be because the relay is not
sending them to me because it's busy with the explore subscription. The
other relays seem fine, but Damus relay seems slow or unresponsive as I
will send a REQ and it will go completely unanswered, yet return explore
events.
2022-12-27 10:24:32 -08:00
Thomas Mathews
9fa6974914 Bug fixes:
- Don't request history of explore
 - Added method to update contacts on relay
 - Replace timeline view upon history loaded for various views
 - Don't re-apply view if already on it
 - Change how much history to request on explore page if viewed it
   recently
2022-12-27 09:28:39 -08:00
Thomas Mathews
587c2c3b32 Fix sid parsing in EOSE to close REQ 2022-12-26 12:06:17 -08:00
Thomas Mathews
bba6f4b784 Added fetching thread history. 2022-12-26 11:56:56 -08:00
Thomas Mathews
1b4d539eef Added basic profile editing support 2022-12-24 08:01:36 -08:00
Thomas Mathews
153d69f33d Fix profile picture initial state & no image. 2022-12-24 05:49:40 -08:00
Thomas Mathews
a78d80d118 This repo now only contains the web app.
I did this because they are 2 separate concerns and I have diverged
so far from the original repo. I didn't start a new repo because it
contains valuable history of all the people who contributed to it.

Additionally if there is an issue with this we can revert, but I
rather not. Forks are forks.
2022-12-22 11:07:35 -08:00
Renamed from web/js/main.js (Browse further)