Alex Gleason
|
bc3a96eeed
|
Refactor trending tags history, make it more correct
|
2023-07-26 17:18:21 -05:00 |
Alex Gleason
|
f8d46cae58
|
Trends: fill in empty tag histories
Fixes https://gitlab.com/soapbox-pub/ditto/-/issues/29
|
2023-07-26 15:40:29 -05:00 |
Alex Gleason
|
89b98ae77a
|
Fix tag history date
|
2023-07-26 14:51:57 -05:00 |
Alex Gleason
|
14e60048a6
|
loopback: use RelayPool instead of nostr-tools just because it doesn't die so often
|
2023-07-26 12:54:06 -05:00 |
Alex Gleason
|
7eedeef2b4
|
Track up to 5 tags max per post
|
2023-07-26 09:40:52 -05:00 |
Alex Gleason
|
c88e58344f
|
Improve tag history
|
2023-07-25 23:21:42 -05:00 |
Alex Gleason
|
5b536040ce
|
Minor logging tweaks
|
2023-07-25 20:55:12 -05:00 |
Alex Gleason
|
ad48e4a787
|
Trends: add limit param, fix order
|
2023-07-25 20:40:31 -05:00 |
Alex Gleason
|
1a860adde7
|
Support tag history
|
2023-07-25 20:26:49 -05:00 |
Alex Gleason
|
7c8aa88069
|
Trends: track based on the event's created_at date, instead of whenever the row was inserted
|
2023-07-25 18:35:07 -05:00 |
Alex Gleason
|
79ec5dd4e0
|
Refactor loopback.ts
|
2023-07-25 18:28:53 -05:00 |
Alex Gleason
|
33f87822d4
|
Trends: support author threshold (default: 3)
|
2023-07-25 18:04:00 -05:00 |
Alex Gleason
|
969bc1fcba
|
TrendsDB: cleanup on construction
|
2023-07-25 17:49:42 -05:00 |
Alex Gleason
|
cbb294dbc2
|
Trends: support `limit` param
|
2023-07-25 17:44:38 -05:00 |
Alex Gleason
|
48b7310d52
|
Trends: clean up old tag usages
|
2023-07-25 17:33:16 -05:00 |
Alex Gleason
|
e8df411834
|
Trends: also track total tag usages
|
2023-07-25 17:19:31 -05:00 |
Alex Gleason
|
1d67181e52
|
Add trends controller... and it kind of works!
|
2023-07-25 17:07:09 -05:00 |
Alex Gleason
|
11f21e3922
|
Improve TrendsDB, add loopback script, almost ready to do something?
|
2023-07-25 15:30:58 -05:00 |
Alex Gleason
|
3bdde98f8f
|
TrendsDB: fix parameterized queries
|
2023-07-25 12:10:37 -05:00 |
Alex Gleason
|
9ebf83af5d
|
Add preliminary TrendsDB module
|
2023-07-25 12:07:34 -05:00 |
Alex Gleason
|
2d5f9db5c3
|
Use 2048 bit RSA, because it's more secure and won't have the same performance penalty as on the bridge
|
2023-07-23 11:15:52 -05:00 |
Alex Gleason
|
f8674ed053
|
Add RSA key to actors, use LRU cache
|
2023-07-13 22:00:27 -05:00 |
Alex Gleason
|
e5082ed805
|
transmogrify --> transformers
|
2023-07-13 20:47:09 -05:00 |
Alex Gleason
|
97e6f1385c
|
Move transmute into transmogrify directory
|
2023-07-13 20:23:04 -05:00 |
Alex Gleason
|
0d4b9e416c
|
Copy some ActivityPub conversion code from Mostr
|
2023-07-13 19:50:16 -05:00 |
Alex Gleason
|
8fa6ac0a4c
|
Add nodeinfo
|
2023-07-09 20:32:45 -05:00 |
Alex Gleason
|
8894bb5513
|
HostMeta: pretty xml
|
2023-07-09 18:58:08 -05:00 |
Alex Gleason
|
19d7d1ae52
|
Move host-meta to its own file
|
2023-07-09 18:50:47 -05:00 |
Alex Gleason
|
be6aa89c39
|
Rename Conf.url() to Conf.local(), replace it with a URL of localDomain
|
2023-07-09 18:26:33 -05:00 |
Alex Gleason
|
5ec40f285d
|
Webfinger: actually, remove nostr lookup (this is bloat)
|
2023-07-09 18:16:20 -05:00 |
Alex Gleason
|
60cd92384d
|
Webfinger: reorganize more
|
2023-07-09 18:10:12 -05:00 |
Alex Gleason
|
9d6216aff7
|
Clean up the webfingerController a bit
|
2023-07-09 17:38:39 -05:00 |
Alex Gleason
|
da9bea7560
|
Webfinger: fix resource parameter
|
2023-07-09 17:21:38 -05:00 |
Alex Gleason
|
bf23afdce0
|
Webfinger: support nostr URI, fix resource parsing
|
2023-07-09 17:11:26 -05:00 |
Alex Gleason
|
cf78b721f5
|
Implement Webfinger
|
2023-07-09 16:08:49 -05:00 |
Alex Gleason
|
215ff85b6d
|
Add Conf.url() function for producing local absolute URLs
|
2023-07-09 14:23:02 -05:00 |
Alex Gleason
|
a3323a2618
|
Simplify \w+ regex usage
|
2023-07-09 14:22:18 -05:00 |
Alex Gleason
|
0e15e174c5
|
Add nostr.json (NIP-05)
|
2023-07-09 12:55:37 -05:00 |
Alex Gleason
|
7808565d71
|
User: enforce {1,30} character limit on username
|
2023-07-09 12:30:04 -05:00 |
Alex Gleason
|
c93aa5b314
|
Switch from Dongoose to Pentagon instead of the db
|
2023-07-09 12:27:10 -05:00 |
Alex Gleason
|
505b9db409
|
Try adding Dongoose and a users table
|
2023-07-09 11:47:19 -05:00 |
Alex Gleason
|
fb9bb284db
|
Fix crash with invalid nip98 base64
|
2023-07-08 21:01:49 -05:00 |
Alex Gleason
|
4e68e3868f
|
Prevent cyclical import of Time module
|
2023-07-08 20:01:10 -05:00 |
Alex Gleason
|
028ff27c49
|
Use new Time module in more places
|
2023-07-08 19:54:27 -05:00 |
Alex Gleason
|
d7d5057617
|
Support nip98 auth
|
2023-07-08 18:41:11 -05:00 |
Alex Gleason
|
c80a9e5d9a
|
paginationSchema: fix problem with nostrNow() being called only at startup
|
2023-07-08 15:21:28 -05:00 |
Alex Gleason
|
cc751f03a7
|
Refactor to use nostrDate() and nostrNow()
|
2023-07-08 15:04:50 -05:00 |
Alex Gleason
|
bdf8e9a61d
|
Return an error for POST /api/v1/accounts
|
2023-07-08 11:20:10 -05:00 |
Alex Gleason
|
b7ecc609de
|
publicController: return early if there are no events
|
2023-07-07 15:15:26 -05:00 |
Alex Gleason
|
d4eef9c2af
|
Add public timeline, fix limit param
|
2023-07-07 15:07:59 -05:00 |
Alex Gleason
|
cacf51ea36
|
Fix spoiler_text type
|
2023-07-02 14:13:14 -05:00 |
Alex Gleason
|
07b406c25c
|
Handle CW/subject tags in render, fix schema for status create params
|
2023-07-02 13:49:41 -05:00 |
Alex Gleason
|
4edebaa105
|
createStatusController: handle most request params
|
2023-07-02 13:28:58 -05:00 |
Alex Gleason
|
6a20df2704
|
createStatusController: prevent non-public posts
|
2023-07-02 01:13:17 -05:00 |
Alex Gleason
|
164e7259e0
|
accountStatusesController: support `tagged` query param
|
2023-06-11 16:04:42 -05:00 |
Alex Gleason
|
4bcf9c171c
|
accountStatusesController: support exclude_replies
|
2023-06-11 15:47:55 -05:00 |
Alex Gleason
|
860b653892
|
Allow users to update their profile
|
2023-06-11 14:41:16 -05:00 |
Alex Gleason
|
009747105d
|
Add boilerplate frontend_configurations controller
|
2023-06-10 23:10:27 -05:00 |
Alex Gleason
|
39b75d7f95
|
deno fmt
|
2023-06-10 23:02:55 -05:00 |
Alex Gleason
|
75135c62a4
|
Add admin signing module
|
2023-06-10 23:00:10 -05:00 |
Alex Gleason
|
b5643c4aba
|
Refactor config to use a better interface
|
2023-06-10 17:15:08 -05:00 |
Alex Gleason
|
8a62cb604d
|
Support pagination on user profile
|
2023-06-09 19:22:38 -05:00 |
Alex Gleason
|
75a7a0a2ff
|
Bump nostr-tools version
|
2023-06-09 16:41:25 -05:00 |
Alex Gleason
|
265a97a191
|
Sanitize oembed html
|
2023-05-27 16:40:18 -05:00 |
Alex Gleason
|
74024e36b6
|
Support OAuth 'client_credentials' grant type, improve Mastodon API compat
|
2023-05-24 11:19:02 -05:00 |
Alex Gleason
|
b0c58bff70
|
Remove unused handler.ts file
|
2023-05-23 20:52:21 -05:00 |
Alex Gleason
|
161c77b85d
|
Streaming: parse stream channel param
|
2023-05-20 23:47:51 -05:00 |
Alex Gleason
|
da6e31c647
|
Validate event signing, make it more Mastodonic
|
2023-05-20 21:16:22 -05:00 |
Alex Gleason
|
ec5e0ed330
|
Streaming: refactor, add unsubscribeAll method
|
2023-05-20 20:23:01 -05:00 |
Alex Gleason
|
3ffad1df29
|
Build a websocket topics framework
|
2023-05-20 19:39:05 -05:00 |
Alex Gleason
|
02160f8c9e
|
credentialsController --> verifyCredentialsController
|
2023-05-20 14:44:18 -05:00 |
Alex Gleason
|
f3e42cc6a7
|
Add a UUID to auth tokens for private websocket event signing
|
2023-05-20 14:34:13 -05:00 |
Alex Gleason
|
9500ceee7c
|
Upgrade nostr-tools, fix BECH_32_REGEX imports
|
2023-05-20 12:28:12 -05:00 |
Alex Gleason
|
91bc0549c7
|
sign: 504 --> 408
|
2023-05-13 21:25:43 -05:00 |
Alex Gleason
|
c14ebe6631
|
sign: only add stream if nostr=true on the user stream (still subject to change)
|
2023-05-13 21:05:55 -05:00 |
Alex Gleason
|
ce02f7d56c
|
Update streaming comments
|
2023-05-13 20:16:44 -05:00 |
Alex Gleason
|
9ff5e7c738
|
Websocket signing kind of works!!
|
2023-05-13 19:48:08 -05:00 |
Alex Gleason
|
8ba456a100
|
streaming: establish WebSocket connection
|
2023-05-13 17:41:21 -05:00 |
Alex Gleason
|
a766449ba6
|
Let searchController look up accounts
|
2023-05-13 14:45:13 -05:00 |
Alex Gleason
|
017a34d5d4
|
Stub out missing Elk endpoints
|
2023-05-13 14:27:49 -05:00 |
Alex Gleason
|
ab1bb3854a
|
Return empty array for public timeline
|
2023-05-12 16:27:52 -05:00 |
Alex Gleason
|
45807e29de
|
Fix login with Elk
|
2023-05-12 16:17:02 -05:00 |
Alex Gleason
|
cfa7498feb
|
Upgrade unfurl, fixes crashing
|
2023-05-12 16:12:35 -05:00 |
Alex Gleason
|
837a3ae1dd
|
Support custom emojis in statuses
|
2023-05-11 23:49:32 -05:00 |
Alex Gleason
|
d109043440
|
Fix /api/v1/accounts/lookup nip05
|
2023-05-11 23:39:25 -05:00 |
Alex Gleason
|
a21ad4caec
|
Support custom emojis in usernames
|
2023-05-11 23:39:10 -05:00 |
Alex Gleason
|
1ba46dd7a3
|
Truncate npub username
|
2023-05-11 22:34:56 -05:00 |
Alex Gleason
|
ef5bfb79f0
|
buildInlineRecipients: delete extra space when there are no inline mentions
|
2023-05-11 20:12:05 -05:00 |
Alex Gleason
|
7820f88859
|
timelines: bail early if there are no events
|
2023-05-11 20:11:00 -05:00 |
Alex Gleason
|
af5420222b
|
Add recepients-inline for better Mastodon compatibility
|
2023-05-08 18:19:45 +02:00 |
Alex Gleason
|
8d021865c6
|
Don't log nip05 cache
|
2023-05-07 16:59:36 -05:00 |
Alex Gleason
|
1271e36f7e
|
Throw a user-friendly error when a private key isn't provided
|
2023-05-07 15:43:38 -05:00 |
Alex Gleason
|
8f65939f1c
|
OAuth form improvements, support NIP-07
|
2023-05-07 15:29:27 -05:00 |
Alex Gleason
|
d825f9d7cb
|
Yo dawg I heard u like pools
|
2023-05-07 12:59:55 -05:00 |
Alex Gleason
|
4993b4ca52
|
Support favourites
|
2023-05-07 12:32:24 -05:00 |
Alex Gleason
|
6e09e6f9e5
|
Fix NIP-05 cache
|
2023-05-07 11:44:22 -05:00 |
Alex Gleason
|
af9f376ad0
|
Verify NIP05's with cache, fixes #1
|
2023-05-06 22:29:41 -05:00 |
Alex Gleason
|
f567acb58f
|
Cache rich media cards for 12 hours
|
2023-05-06 20:30:11 -05:00 |
Alex Gleason
|
78b1c24ee0
|
card: sane defaults
|
2023-05-06 20:09:33 -05:00 |
Alex Gleason
|
b6ce22cfaf
|
Unfurl card in link previews
|
2023-05-06 19:58:41 -05:00 |
Alex Gleason
|
2fff0ed879
|
First pass linkifying status content and rendering attachments
|
2023-05-06 15:17:50 -05:00 |
Alex Gleason
|
0c71b5a696
|
Try Deno's experimental KV as a cache
|
2023-05-03 22:15:18 -05:00 |
Alex Gleason
|
9539eb5055
|
Try to make relationshipsController reflect following
|
2023-05-03 21:56:22 -05:00 |
Alex Gleason
|
192ee7f76d
|
Make getFilter return a pure event object instead of the class from nostr-relaypool
|
2023-05-03 21:54:22 -05:00 |
Alex Gleason
|
e3dca47241
|
Extend getFollows timeout
|
2023-05-03 21:53:36 -05:00 |
Alex Gleason
|
3880fdd61c
|
accountStatusesController: sort results by timestamp
|
2023-05-03 15:33:54 -05:00 |
Alex Gleason
|
502af2cd48
|
Return first page of statuses in profile
|
2023-05-03 15:22:24 -05:00 |
Alex Gleason
|
6fa897145e
|
Include source property on own account
|
2023-05-02 13:58:45 -05:00 |
Alex Gleason
|
e93fcdc643
|
Add default banner to account
|
2023-04-30 23:31:30 -05:00 |
Alex Gleason
|
8b3eab80b3
|
Add email field to /api/v1/instance
|
2023-04-30 23:27:29 -05:00 |
Alex Gleason
|
0a12bbb42f
|
Refactor client code, hope for the best
|
2023-04-30 20:21:55 -05:00 |
Alex Gleason
|
7bb8821b1b
|
Escape HTML fields
|
2023-04-30 16:07:07 -05:00 |
Alex Gleason
|
d7805ae65b
|
Add logger middleware
|
2023-04-30 15:16:33 -05:00 |
Alex Gleason
|
cb8e78ab59
|
Add landing page
|
2023-04-30 14:51:56 -05:00 |
Alex Gleason
|
610ce4444a
|
api --> controllers/api
|
2023-04-30 14:45:30 -05:00 |
Alex Gleason
|
2554379cef
|
api/home.ts --> api/timelines.ts
|
2023-04-30 14:16:30 -05:00 |
Alex Gleason
|
e26b540246
|
OAuth token endpoint: support formData
|
2023-04-30 14:13:27 -05:00 |
Alex Gleason
|
81357fa1e3
|
Make OAuth form mostly work
|
2023-04-30 13:28:49 -05:00 |
Alex Gleason
|
d860ef7f98
|
Apps: get the redirect_uri into the app
|
2023-04-30 12:41:01 -05:00 |
Alex Gleason
|
9734d0a961
|
lint
|
2023-04-29 21:57:30 -05:00 |
Alex Gleason
|
693c7cc7bf
|
Sign events from app context
|
2023-04-29 21:48:22 -05:00 |
Alex Gleason
|
1ba822abaa
|
Add Markers fallback controller
|
2023-04-29 21:14:00 -05:00 |
Alex Gleason
|
780b3aeb01
|
Enable Link header in CORS
|
2023-04-29 21:07:59 -05:00 |
Alex Gleason
|
26cf528fca
|
Use findReplyTag from Mostr
|
2023-04-29 20:33:52 -05:00 |
Alex Gleason
|
b42d1f3564
|
Make threads work, sorta
|
2023-04-29 20:23:51 -05:00 |
Alex Gleason
|
f1333cb131
|
Deduplicate mentions
|
2023-04-29 19:27:13 -05:00 |
Alex Gleason
|
a48ee148ae
|
Fix in_reply_to for root
|
2023-04-29 19:01:24 -05:00 |
Alex Gleason
|
586f20b23d
|
Improve NIP-05 display in mentions
|
2023-04-29 18:59:40 -05:00 |
Alex Gleason
|
4962f31296
|
Fix in_reply_to for legacy clients
|
2023-04-29 18:02:24 -05:00 |
Alex Gleason
|
acabc7c4ad
|
Add dummy relationships endpoint
|
2023-04-29 17:59:54 -05:00 |
Alex Gleason
|
64102699ac
|
Perform NIP-05 lookups
|
2023-04-29 17:49:03 -05:00 |
Alex Gleason
|
d84e593e53
|
Add GET /api/v1/statuses/:id
|
2023-04-29 17:26:56 -05:00 |
Alex Gleason
|
f87a17e609
|
Remove unused code
|
2023-04-29 17:20:51 -05:00 |
Alex Gleason
|
dabc3b7e3a
|
Remove unused imports
|
2023-04-29 17:07:26 -05:00 |
Alex Gleason
|
693b200562
|
Fix import
|
2023-04-29 16:39:11 -05:00 |
Alex Gleason
|
07e072bc48
|
Narrow pubkey paths with regex
|
2023-04-29 16:35:44 -05:00 |
Alex Gleason
|
70f69b80f3
|
Add account search controller, which does basically the same thing as account lookup for now
|
2023-04-29 16:28:53 -05:00 |
Alex Gleason
|
9e73a8e43c
|
Add account lookup endpoint
|
2023-04-29 16:25:07 -05:00 |
Alex Gleason
|
5118aaf46c
|
Rename some client functions
|
2023-04-29 15:54:21 -05:00 |
Alex Gleason
|
6341987088
|
Delete src/nostr directory
|
2023-04-29 15:51:54 -05:00 |
Alex Gleason
|
b33a3a21fc
|
OAuth: don't decode bech32 string
|
2023-04-29 15:33:25 -05:00 |
Alex Gleason
|
8c48b9f625
|
Add nip19 auth middleware
|
2023-04-29 15:22:10 -05:00 |
Alex Gleason
|
a0f4a7d9b5
|
Upgrade nostr-tools, signEvent --> getSignature
|
2023-04-27 21:10:51 -05:00 |
Alex Gleason
|
4664609047
|
apps: add comments
|
2023-04-10 21:13:57 -05:00 |
Alex Gleason
|
53655f99bf
|
We do a little refactoring
|
2023-04-10 19:34:00 -05:00 |
Alex Gleason
|
c3b8ad1c28
|
Scaffold db, handler, query
|
2023-04-07 21:38:05 -05:00 |
Alex Gleason
|
ecf3841ee4
|
Rename to Ditto
|
2023-04-02 14:10:50 -05:00 |
Alex Gleason
|
d8e0a1c7fc
|
Validate and transform json at the same time
|
2023-03-18 19:14:19 -05:00 |
Alex Gleason
|
d365ea26dc
|
Improve feed query
|
2023-03-18 18:09:16 -05:00 |
Alex Gleason
|
1d6ebf6ba6
|
Support pagination with Link headers... but of course Soapbox doesn't do that
|
2023-03-18 17:47:34 -05:00 |
Alex Gleason
|
dcf6b69501
|
Improve fqn
|
2023-03-18 17:20:46 -05:00 |
Alex Gleason
|
46cdda7f7f
|
Parse mentions
|
2023-03-18 17:03:32 -05:00 |
Alex Gleason
|
c28c644265
|
Upgrade nostr-tools, do npub stuff, query own events in feed
|
2023-03-18 16:39:34 -05:00 |
Alex Gleason
|
9f81d0d572
|
Reuse existing transmute functions, lol forgot I already wrote that
|
2023-03-18 16:30:46 -05:00 |
Alex Gleason
|
6748e13a36
|
Make Home feed kind of work
|
2023-03-18 14:49:44 -05:00 |
Alex Gleason
|
2ab9e60048
|
Add additional fallback controllers
|
2023-03-05 00:36:37 -06:00 |
Alex Gleason
|
cde34bffd8
|
Refactor transmute, fix account in status
|
2023-03-05 00:16:05 -06:00 |
Alex Gleason
|
2acfecc1eb
|
Allow posting a status to Nostr
|
2023-03-04 23:26:25 -06:00 |
Alex Gleason
|
73884c212f
|
Transform nsec1 better
|
2023-03-04 22:54:57 -06:00 |
Alex Gleason
|
48f04e48de
|
Enable CORS, fix nsec1 keys
|
2023-03-04 22:49:08 -06:00 |
Alex Gleason
|
825fed7d21
|
This is probably enough to log in?
|
2023-03-04 22:10:56 -06:00 |
Alex Gleason
|
7285d71bda
|
Add boilerplate accounts controller and fallback controller
|
2023-03-04 21:49:33 -06:00 |
Alex Gleason
|
b36b8ea7d2
|
Add OAuth controller
|
2023-03-04 21:36:53 -06:00 |
Alex Gleason
|
8ed662321d
|
Implement apps API (the stupid way)
|
2023-03-04 20:59:39 -06:00 |
Alex Gleason
|
484a396a64
|
Add /api/v1/instance
|
2023-03-04 20:19:57 -06:00 |
Alex Gleason
|
d855c05fac
|
Boilerplate Deno stuff
|
2023-03-04 19:59:27 -06:00 |