Commit graph

27 commits

Author SHA1 Message Date
Thomas Mathews
6c9f5f12fe New mobile nav. Removed old cruft. 2023-03-22 15:56:53 -07:00
Thomas Mathews
20907bede6 Use only nos2x.
This removes all code that depends on our own implementation of key
signing. Thus you must now use a browser extension to use any
functionality.
2023-03-22 13:12:10 -07:00
Thomas Mathews
7580e8423a Reduce Scope
I am no longer going to support all the features and every NIP. It's too
hard. Thus I am reducing what I support in YoSup. From now on it will
only be a simple client with simple needs that serve me. I will continue
to use Damus on iOS or other clients for sending Zaps or using other
functionality. I do not feel I need to support these features and it has
me competing with other clients such as Snort or Iris, I don't want to
be a clone of them - I want a simple client for my needs: viewing what's
up from people I follow.

Thus I have started removing features and optimizing. Especially for the
very poor internet connection here in Costa Rica, reducing load of
images, content, etc. makes the client much faster and easier to use.

If you feel you are missing features please use the other clients that
have put in a LOT of hard work.
2023-03-22 10:55:08 -07:00
Thomas Mathews
abc7612aae Spinner & show new fixes 2023-01-27 11:04:11 -08:00
Thomas Mathews
fa8bdc0b2b Added ability to view more posts. 2023-01-25 13:38:26 -08:00
Thomas Mathews
1df924df1b Added URL history paths & loading 2023-01-24 12:23:04 -08:00
Thomas Mathews
062ddda3d9 Toggle posts only & mark all mail as read. 2023-01-24 10:46:44 -08:00
Thomas Mathews
21ce55f1cd Security update: no script attributes 2023-01-20 09:53:33 -08:00
Thomas Mathews
7ccb07ffc3 Added support for rendering mentions. 2023-01-16 19:52:41 -08:00
Thomas Mathews
a7a32ce57b Hotfix for double nos2x prompt 2023-01-06 21:13:13 -08:00
Thomas Mathews
dde0a06e56 Notifications work with dms now 2023-01-06 21:06:18 -08:00
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)