kopper
7173373330
[backend/federation] Improved reply backfill
...
Instead of backfilling every note we come across that has a reply
collection, only schedule a backfill job if someone wants to see the
replies (on GET MastoAPI /context, or Iceshrimp API /descendants)
Reply backfilling is also done on a ThreadIdOrId basis as opposed to the
previous way of backfilling individual notes. This allows us finer
grained control over the recursion and frees up the job queue, alongside
allowing for easier implementation of context collection backfill in the
future (by mapping each context collection to a thread)
---
Currently, note threads are implicit based on the "threadId" column of a
note, which can be null (where it's the same as the note's "id")
This commit turns note threads into an actual entity, and as a part of
that, makes "threadId" non-nullable (by specifically setting it to "id"
for those cases)
This is done to attach extra metadata to the entire thread, currently
just the time of when it was last backfilled, but more may be added in
the future (the context collection associated with this thread, for example)
---
The data format for backfill jobs have backwards-incompatibly changed
since the introduction of the feature. We can drop all old jobs without
causing too much trouble as they will be re-scheduled on demand
---
Signed-off-by: Laura Hausmann <laura@hausmann.dev>
2024-10-24 21:18:57 +02:00
kopper
8998cd2874
[backend] Also search in alt text
2024-10-09 18:31:16 +02:00
Kopper
024de937d0
[backend/federation] Backfill replies
2024-09-15 01:47:41 +02:00
Laura Hausmann
1e8f1cb964
[backend/database] Migrate references to Note.ThreadId ?? Note.Id to Note.ThreadIdOrId
2024-07-14 22:06:29 +02:00
Laura Hausmann
6b6bb53668
[backend/masto-client] Add note mute/unmute endpoints (ISH-417)
2024-07-14 22:06:29 +02:00
Laura Hausmann
df3a7bdfe5
[backend] Apply formatting rules
2024-06-29 01:06:19 +02:00
Laura Hausmann
c4763e9c67
[backend/database] Fix Note.IsQuote not handling cw-only renotes correctly
2024-06-19 14:05:28 +02:00
Laura Hausmann
24bde5ad29
[backend] Use User.IsLocalUser / .IsRemoteUser instead of null-checks where applicable (ISH-370)
2024-06-17 17:25:29 +02:00
Laura Hausmann
8b36f1aecf
[backend/masto-client] Paginate likes & bookmarks based on their identifier (instead of the note identifier)
2024-06-15 16:57:06 +02:00
Laura Hausmann
2ffededb4d
[backend/database] Add explicit parentheses to Note.IsVisibleFor
...
This is semantically identical, but should be easier to read.
2024-05-23 15:17:44 +02:00
Laura Hausmann
d54cb5c391
[backend/database] Add renoteUri and replyUri properties to the note table
2024-04-30 00:15:58 +02:00
Laura Hausmann
db49473128
[backend/database] Add index on note.visibility
2024-04-24 02:01:06 +02:00
Laura Hausmann
246a70caf9
[backend/api] Add visibility to NoteCreateRequest, use enum conversions instead of strings to represent note visibility
2024-04-22 17:56:32 +02:00
Laura Hausmann
79c3a9c891
[backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents
2024-04-19 20:19:51 +02:00
Laura Hausmann
9e11398938
[backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24)
2024-04-19 20:11:26 +02:00
Laura Hausmann
d10dbec5b7
[backend/database] Refactor Index attributes to use nameof() where applicable (ISH-24)
2024-04-19 20:11:26 +02:00
Laura Hausmann
8a48207957
[backend/database] Enforce local-only for authenticated visibility checks as well
2024-04-17 16:49:16 +02:00
Laura Hausmann
4ff1b5f4c4
[backend] Implement streaming hub for timelines & notifications (ISH-244)
2024-04-08 20:45:30 +02:00
Laura Hausmann
22a4de63f3
[backend/masto-client] Add & populate MastoReplyUserId column (ISH-247)
2024-04-07 21:07:04 +02:00
Laura Hausmann
d5b7fa5ae7
[backend/api] Correctly render replies/renotes/quotes (ISH-205)
2024-03-18 16:36:04 +01:00
Laura Hausmann
a408fa247a
[backend] Code cleanup
2024-03-17 13:36:08 +01:00
Laura Hausmann
e42812d2b0
[backend/core] Denormalize like counts (ISH-110)
2024-03-04 02:42:35 +01:00
Laura Hausmann
7655e216ec
[backend/database] Remove length limit on note.cw column (ISH-84)
2024-03-04 01:11:29 +01:00
Laura Hausmann
6a10d408f9
[backend/masto-client] Use the F# SearchQuery parser for FTS queries (ISH-11)
2024-03-04 00:12:22 +01:00
Laura Hausmann
b979605470
[backend/database] Remove HTML cache tables
2024-03-01 21:44:06 +01:00
Laura Hausmann
665154b1eb
[backend/federation] Resolve user profile mentions (ISH-33)
2024-02-25 02:07:20 +01:00
Laura Hausmann
7a7b3f81b3
[backend/masto-api] Detect quotes on note create
2024-02-22 01:58:54 +01:00
Laura Hausmann
d4e1d92771
[backend] Code cleanup: switch to BSD braces style, tweak code style
2024-02-17 02:31:00 +01:00
Laura Hausmann
9496d81abe
[backend/database] Add entity methods for getting the public url/uri for users & notes (ISH-47)
2024-02-16 03:28:16 +01:00
Laura Hausmann
e53e61e3ed
[backend/database] Rename note bookmarks table
2024-02-14 19:11:11 +01:00
Laura Hausmann
fde159dbec
[backend/database] Add note likes table
2024-02-14 19:09:26 +01:00
Laura Hausmann
32b0e1f3c7
[backend] Code cleanup
2024-02-13 17:17:02 +01:00
Laura Hausmann
8745f72ea7
[backend/masto-client] Implement status context endpoint & map database functions (ISH-43)
2024-02-12 02:29:03 +01:00
Laura Hausmann
67d1d776c8
[backend/federation] Basic mentions handling (ISH-38)
...
This implementation adds handling of incoming mentions, including rewriting non-canonical mentions of split domain users into their canonical form when inserting notes into the database.
2024-02-11 18:50:28 +01:00
Laura Hausmann
d566875f54
[backend/database] Add database maintenance service with functions to recompute note & user counters (ISH-21)
2024-02-09 14:58:00 +01:00
Laura Hausmann
ce47377001
[backend/database] Make sure all projectable entity properties aren't mapped
2024-02-08 01:06:23 +01:00
Laura Hausmann
b22d0b98a3
[backend/masto-client] Implement search endpoint (ISH-7)
2024-02-07 23:35:59 +01:00
Laura Hausmann
29581d4fb2
[backend] Refactor postgres jsonb columns
2024-02-05 20:09:18 +01:00
Laura Hausmann
d31c20d6ae
[backend] Merge duplicate postgres enums
2024-02-04 23:40:10 +01:00
Laura Hausmann
458d136a4e
[backend] Improve note visibility projectables
2024-02-04 02:06:15 +01:00
Laura Hausmann
285c2ba531
[backend/masto-client] Precompute reply/renote visibility in database query
2024-02-04 01:06:24 +01:00
Laura Hausmann
ee449ec751
[backend/masto-client] Implement link pagination response headers
2024-02-03 21:55:26 +01:00
Laura Hausmann
4dd1997f45
[backend/masto-client] Implement visibility/blocking/muting/list filters for timelines
2024-02-03 06:42:29 +01:00
Laura Hausmann
af7a776337
[backend] Refactor inverse properties; add projectable computed properties to the User class
2024-02-03 02:13:50 +01:00
Laura Hausmann
bf3e72da9b
Basic note create
2024-01-25 03:16:29 +01:00
Laura Hausmann
dcfd417ecf
Rename indicies
2024-01-07 19:43:41 +01:00
Laura Hausmann
99e2e18c3d
Rename tables and properties
2024-01-07 19:15:57 +01:00
Laura Hausmann
c0ef5e0f1e
Correctly scaffold database enums
2024-01-06 18:05:53 +01:00
Laura Hausmann
ea6612de25
Initial commit
2023-12-24 00:57:07 +01:00