Commit graph

341 commits

Author SHA1 Message Date
Alex Schroeder
a221237637 Pagination of the public and private page
Use the query parameters skip and show to control what you can see,
e.g. /alex/admin?skip=0&show=4

Don't use or save the timeline cache if either is set.

The following functions were changed from accepting a single max
parameter to accepting both skip and show:
timeline_simple_list, timeline_list, index_list_desc.
2022-12-06 18:27:33 +01:00
default
7787a2ded9 New function new_password(). 2022-12-04 21:14:18 +01:00
Alex Schroeder
5b1d2bebe9 Fix arguments in callto xs_fmt
Without this, db_upgrade segfaults.
2022-12-04 10:23:48 +01:00
default
d023807942 Set default debug level to 1 for most object db functions. 2022-12-04 06:40:17 +01:00
default
002bec4def In _object_user_cache(), don't call index_add() if link() fails.
It will most probably fail because the object is already there.
2022-12-03 21:59:19 +01:00
default
85d0f40e65 From timeline_admire(), add to both caches. 2022-12-03 21:34:10 +01:00
default
3929778ea1 Don't store messages in public/ that are not public.
They weren't shown anyway, but it's better to be sure.
2022-12-03 20:28:23 +01:00
default
30e1a8ce08 Add this user admires to the public timeline. 2022-12-03 19:37:52 +01:00
default
67a81a7bf9 Upgrade timeline/ to private/. 2022-12-03 18:41:44 +01:00
default
d00026ac06 Upgraded local/ to public/. 2022-12-03 17:58:49 +01:00
default
af6d31ff83 New function timeline_simple_list(). 2022-12-03 07:27:26 +01:00
default
adfc9217d7 Use xs_set_result() in timeline_top_level(). 2022-12-02 21:24:17 +01:00
default
0c525335ee New function object_here_by_md5(). 2022-12-02 21:19:46 +01:00
default
908e068e36 New function object_parent(). 2022-12-02 21:16:34 +01:00
default
a133427e8d More old code cleaning. 2022-12-02 20:56:51 +01:00
default
3e2891b100 Renamed timeline_here() to object_here(). 2022-12-02 20:44:51 +01:00
default
4819c4248d More old code deletions. 2022-12-02 20:39:31 +01:00
default
67d57252ea The old timeline is no longer maintained. 2022-12-02 20:28:27 +01:00
default
c00e3afcdc Big data storage change. 2022-12-02 19:14:59 +01:00
default
5309a68e95 Fixed status codes for follower_add() and follower_del(). 2022-11-28 11:24:19 +01:00
default
3c7cccba3d Changed following_list() to return a list of actors. 2022-11-28 11:06:46 +01:00
default
07fec71273 Upgraded followers to the new db. 2022-11-28 10:46:42 +01:00
default
9c136dacdf New function object_user_cache_in(). 2022-11-28 08:34:19 +01:00
default
9a0a03dd9f New function object_del_if_unref(). 2022-11-27 09:45:06 +01:00
default
e8c487add7 Added some tweaks to file locking. 2022-11-26 19:19:52 +01:00
default
2ad703e520 timeline_top_level() works. 2022-11-26 18:52:51 +01:00
default
159a591f45 New function timeline_top_level() (untested). 2022-11-26 18:04:05 +01:00
default
4f261ec7b9 New function index_first(). 2022-11-26 17:35:18 +01:00
default
d03b988c99 Don't call object_del() from timeline_del().
Only delete from each user's cache, not from the global database.
2022-11-26 13:34:43 +01:00
default
8e7efad27f Only call the expensive index_del() if unlink() did not fail. 2022-11-26 06:20:41 +01:00
default
14dd5b64c9 Added comment. 2022-11-26 06:11:37 +01:00
default
8e83821eee _object_user_cache() also update the indexes. 2022-11-26 05:58:13 +01:00
default
d00a01f32e New function object_user_cache_del(). 2022-11-26 05:51:48 +01:00
default
f403d6f8d3 Renamed object_user_cache() to object_user_cache_add(). 2022-11-26 05:46:21 +01:00
default
405bf6b8e4 Maintain a one-element index with each entry's parent. 2022-11-26 05:29:09 +01:00
default
1243e26a0d New function object_add_ow(). 2022-11-26 05:18:48 +01:00
default
ad202c5ccb Avoid calling time() so many times. 2022-11-26 05:08:56 +01:00
default
afb970a757 purge_server() deletes using object_del(). 2022-11-26 05:05:57 +01:00
default
9867f321b5 Delete redundant call to timeline_update_indexes(). 2022-11-25 21:26:48 +01:00
default
2c34ec8d6c New function timeline_update_indexes(). 2022-11-25 21:21:59 +01:00
default
c0e3193529 New function object_user_cache(). 2022-11-25 17:48:43 +01:00
default
e93a79e06d Also purge the public/ and private/ caches. 2022-11-25 17:42:01 +01:00
default
6c6b5a30c4 Do hard links to objects in each user's public and private caches. 2022-11-25 17:26:12 +01:00
default
87d3ec2acc Renamed indexes.
timeline.idx to private.idx, local.idx to public.idx.
2022-11-25 17:07:23 +01:00
default
4a41f3a1f0 New function timeline_object_add(). 2022-11-25 14:19:00 +01:00
default
40a9e6e984 Fixed typo. 2022-11-25 13:54:26 +01:00
default
ee75b3f5f6 In purge_server(), don't purge objects with 2 (or more) hard links.
This way, an object can be protected from the purge by creating
a hard link to it.
2022-11-25 13:51:56 +01:00
default
2d7c327cbf New function mtime_nl(). 2022-11-25 13:33:13 +01:00
default
4bbebe8e4e Started maintaining timeline.idx and local.idx. 2022-11-25 12:42:42 +01:00
default
9df1cb129e Use macro XS_ALL were possible. 2022-11-25 12:21:26 +01:00
default
e2c332c68a On Update + Person, call object_del() before actor_add(). 2022-11-25 12:09:30 +01:00
default
200a6a0c91 The global object database is also purged. 2022-11-25 11:37:05 +01:00
default
b792417013 Also purge the hidden/ user directory. 2022-11-25 11:15:09 +01:00
default
de5345e5bd Updated documentation. 2022-11-25 11:04:23 +01:00
default
1acfe8fc54 Fixed return value of srv_open(). 2022-11-25 10:56:34 +01:00
default
45be9a1cb1 New command-line command 'upgrade'. 2022-11-25 10:53:16 +01:00
default
8a71e2e557 Only log the object_admire() if it's new. 2022-11-24 13:15:32 +01:00
default
694ae655cb Use index_in() in object_admire() to avoid admiring more than once. 2022-11-24 13:10:03 +01:00
default
8be8a9282e New function index_in(). 2022-11-24 13:06:28 +01:00
default
233ba75d1e New function object_admire(). 2022-11-24 13:00:24 +01:00
default
177c362425 Fixed some source comments. 2022-11-24 12:38:31 +01:00
default
2176a91c64 Fixed hide() to store the object id, not its md5. 2022-11-24 12:21:54 +01:00
default
4494fc3daf Fixed muted filenames. 2022-11-24 10:06:24 +01:00
default
e121aeb948 New function object_children(). 2022-11-24 09:58:37 +01:00
default
d215f8ce46 Use the new hide API. 2022-11-24 09:49:54 +01:00
default
4553528507 New API for hidden threads. 2022-11-24 09:39:16 +01:00
default
ea94a479f1 Stop dropping messages with hidden parents. 2022-11-24 09:31:58 +01:00
default
6acf906b64 Added debug info for child index updates. 2022-11-24 09:15:06 +01:00
default
391fc5cd99 In object_add(), update the parent's children index even if the parent isn't here. 2022-11-24 09:06:41 +01:00
default
1941d00650 Refuse to store objects that are already here. 2022-11-24 08:39:30 +01:00
default
b0b052ab3b Function object_del() also deletes the indexes. 2022-11-24 08:36:01 +01:00
default
42449d9cad Also check for a non-empty in_reply_to in object_add(). 2022-11-24 08:18:51 +01:00
default
ecea10e11c Function object_add() also update the parent's children index. 2022-11-24 08:09:57 +01:00
default
9d7b35940f Renamed listfile functions to index. 2022-11-24 08:00:35 +01:00
default
cde8650df7 Don't search explicitly for Person in actor_get().
Some actors are of type Service.
2022-11-23 21:43:00 +01:00
default
1bd69bc611 Some tweaks to the new listfile functions. 2022-11-23 20:25:57 +01:00
default
7f458f4fd6 More listfile functions. 2022-11-23 19:32:26 +01:00
default
0ff3b32e71 New function list_del_md5(). 2022-11-23 19:14:55 +01:00
default
fc96f02b91 New function object_get_by_md5(). 2022-11-23 19:03:21 +01:00
default
095a8b1568 Renamed _object_fn_by_id() to _object_fn(). 2022-11-23 18:59:18 +01:00
default
0c83ef5a22 New function list_add_md5(). 2022-11-23 18:58:07 +01:00
default
fa3904c5a7 New function object_del(). 2022-11-23 16:59:35 +01:00
default
39a9afb7c2 Deleted purge of old actors directory. 2022-11-23 16:52:18 +01:00
default
5c05e60bce New db_layout 2.2. 2022-11-23 16:46:18 +01:00
default
01a62669f6 actor_get() and actor_add() now use the object database. 2022-11-23 16:13:51 +01:00
default
c902de3fa6 Disabled call to object_add() from actor_add() temporarily. 2022-11-23 15:46:06 +01:00
default
8c44c885e1 Added calls to flock() in object functions. 2022-11-23 15:34:07 +01:00
default
3e09c229e1 Moved db_upgrade() to its source file. 2022-11-23 15:05:55 +01:00
default
77f3488279 More logging in db_upgrade(). 2022-11-23 14:54:22 +01:00
default
494b1d43ba New generic object functions. 2022-11-23 14:38:37 +01:00
default
14bcc0f858 New db_layout 2.1. 2022-11-23 13:49:30 +01:00
default
3e3e091cdb New function db_upgrade(). 2022-11-23 13:32:23 +01:00
default
ade45f979e Increased max grampa levels. 2022-11-22 20:04:08 +01:00
default
935089ae3f Changed debug level to grampa max_levels reached. 2022-11-21 09:08:36 +01:00
default
bf214d45e9 In _timeline_write(), limit the number of grampa levels updated. 2022-11-21 08:04:22 +01:00
default
c78574c8d9 Don't hide messages (and their children) if it's already hidden. 2022-11-21 07:57:38 +01:00
default
3e71f18f34 In timeline_hide(), also hide the children. 2022-11-21 05:29:35 +01:00
default
78388498e9 Also log the hidden parent of a dropped message. 2022-11-20 16:00:43 +01:00
default
f4bebf0323 Logging tweaks. 2022-11-18 18:08:09 +01:00
default
654326aa8b New function enqueue_output_to_actor(). 2022-11-18 08:21:40 +01:00
default
f0e17d6753 Queue messages to inboxes instead of actors. 2022-11-17 18:33:54 +01:00
default
789aec5d7f Drop incoming messages that has their parent hidden. 2022-11-16 17:28:20 +01:00
default
a06930f4da Posts can be marked as 'sensitive content' (not yet for replies). 2022-11-16 11:42:16 +01:00
default
adc41956b3 Disabled unveil() temporarily. 2022-11-15 08:24:03 +01:00
default
484cfbc800 Call unveil() from srv_open() if on OpenBSD. 2022-11-14 17:40:31 +01:00
default
0eb26f10e5 Added local timeline purging. 2022-11-12 08:26:26 +01:00
default
8b252dab84 New 'Hide' button. 2022-11-04 08:48:15 +01:00
default
773be130ed More work in the people page. 2022-11-02 10:49:16 +01:00
default
4272f58e3f Always set the referrer if it's the user. 2022-10-31 11:56:20 +01:00
default
b681e71a06 Errors (really messages) are always shown in srv_open(). 2022-10-26 08:39:23 +02:00
default
8f17e80cc1 Fixed another bug in actor_get(). 2022-10-25 18:44:29 +02:00
default
78b3a30447 Some code moving to avoid false positive leaks. 2022-10-25 13:59:15 +02:00
default
275fc85bb5 New function srv_free(). 2022-10-25 10:38:12 +02:00
default
6943615a20 Use xs_free(). 2022-10-25 10:20:23 +02:00
default
d2095105de Don't load unneeded actor info in html_entry(). 2022-10-24 20:06:02 +02:00
default
084731fec2 Send notification emails through the queue. 2022-10-21 19:07:20 +02:00
default
a16600e330 Better 'Delete' message logging. 2022-10-20 10:34:32 +02:00
default
a62cde3d9d Rewritten queue() using xs_glob(). 2022-10-18 11:40:10 +02:00
default
50faf7a399 Added some forgotten fclose() calls. 2022-10-17 20:25:42 +02:00
default
459ba627e6 Updated RELEASE_NOTES. 2022-10-17 11:28:44 +02:00
default
54144dd517 If timeline_purge_days is set to 0, purging is disabled. 2022-10-17 11:26:36 +02:00
default
c7ff714710 New thread for purge. 2022-10-17 11:18:09 +02:00
default
3462ecc950 New function purge_all(). 2022-10-17 11:00:34 +02:00
default
d9a15b8af7 Attachments are now starting to get real. 2022-10-16 18:03:28 +02:00
default
af8f3ad324 Don't set the admirer as the referrer if it's a Like. 2022-10-16 00:29:49 +02:00
default
32046d5fc0 Don't overwrrite referrers. 2022-10-14 10:18:15 +02:00
default
e1893f1767 Changed some log to debug. 2022-10-11 18:54:59 +02:00
default
e8fbc94089 Unify enqueueing code. 2022-10-11 08:16:58 +02:00
default
0b39d08d80 Fail in bad disk layout version. 2022-10-09 17:22:18 +02:00
default
3e2cfa48d9 Alert if _timeline_find_fn() finds more than one file. 2022-10-05 12:08:17 +02:00
default
ae06064e4d New command-line option purge. 2022-10-04 18:46:12 +02:00
default
e8c421c51d Backport from xs. 2022-10-03 11:18:49 +02:00
default
7414b000ee Use xs_glob() in history_list(). 2022-10-03 11:14:16 +02:00
default
6f792631bc Use xs_glob() in _timeline_list(). 2022-10-03 11:08:11 +02:00
default
fc346d1e1f Use xs_glob() in _timeline_find_fn(). 2022-10-03 10:59:08 +02:00
default
365b27ffb2 Use xs_glob() in follower_list(). 2022-10-03 10:56:15 +02:00
default
53c62db73d Use xs_glob() in user_list(). 2022-10-03 10:51:52 +02:00
default
f82124a705 The history is shown at the bottom of the local timeline. 2022-10-02 18:16:58 +02:00
default
f1d1d5f99a Fixed crash. 2022-10-02 07:23:27 +02:00
default
2c00c7b0b5 New web action 'Unfollow'. 2022-10-01 09:12:33 +02:00
default
3797355f94 New MUTE web action. 2022-10-01 07:45:36 +02:00
default
a52840414d Use doubles instead of floats. 2022-09-30 09:59:13 +02:00
default
3d544233a6 Timeline is cached. 2022-09-30 09:56:29 +02:00
default
2be2c07e9c The input queue also has retries. 2022-09-28 20:41:07 +02:00
default
e4967cfcb3 Process 'Update' + 'Person'. 2022-09-28 20:08:02 +02:00
default
c38cc09e4c Process 'Undo' + 'Follow'. 2022-09-28 19:59:19 +02:00
default
233d7d8a10 More HTML work. 2022-09-28 15:41:07 +02:00
default
a636cf8b25 New function static_get(). 2022-09-28 09:29:09 +02:00
default
1d19464a48 Delete dangling local timeline entry in timeline_admire(). 2022-09-28 07:40:01 +02:00
default
32661d2be7 The outbox returns now some entries. 2022-09-28 04:48:23 +02:00
default
f1dbd8e700 New variable USER_AGENT. 2022-09-27 18:01:51 +02:00
default
fd6f71bfe3 More work but signatures seem to still fail. 2022-09-26 11:19:45 +02:00
default
acc467c034 New function msg_admiration(). 2022-09-26 10:08:14 +02:00
default
74aef6994a Link to local if the child id is from this actor. 2022-09-26 09:08:03 +02:00
default
1c8878c3da Also store local referrers in the local timeline. 2022-09-26 07:32:44 +02:00
default
d1a2a7438d New metadata 'referrer', that contains an actor.
This field contains the actor that boosted an entry.
2022-09-26 07:13:39 +02:00
default
424557fcb8 Fixed some incorrect allocations. 2022-09-25 22:40:31 +02:00
default
bf1ee12da2 More sign work (I'm tired). 2022-09-25 21:45:58 +02:00
default
e132ce5076 New function msg_actor(). 2022-09-25 21:02:47 +02:00
default
6f7f98ded3 Fixed a bug in the digest header. 2022-09-25 18:50:53 +02:00
default
6169932733 New function timeline_request(). 2022-09-25 18:28:15 +02:00
default
bb70101fec New function timeline_admire(). 2022-09-25 17:42:39 +02:00
default
fe6440b363 Some log tweaks. 2022-09-25 09:55:33 +02:00
default
5f4379d434 Fixed bug in srv_archive(). 2022-09-25 09:47:36 +02:00
default
4f328eec1f Some fixes to timeline_add(). 2022-09-25 09:07:43 +02:00
default
a6712ba79a Also store the req object in enqueue_input(). 2022-09-24 10:03:27 +02:00
default
c181c57f56 New function enqueue_input(). 2022-09-23 23:09:09 +02:00
default
bbf5471039 New function process_queue(). 2022-09-23 19:37:01 +02:00
default
cf59d68491 New functions send_to_inbox() and send_to_actor(). 2022-09-23 19:07:45 +02:00
default
6281ef2c92 Reworked timeline_add(). 2022-09-23 09:50:38 +02:00
default
ce26879f2f Added comment about what to do with recursive parent storage. 2022-09-23 00:03:45 +02:00
default
b84267e4d3 _timeline_parent() does not need to be recursive (or does it?). 2022-09-23 00:00:25 +02:00
default
51dc99a86d Return 110 "Response Is Stale" to stale actors. 2022-09-22 18:56:50 +02:00
default
5803b928b5 Minor actor tweak. 2022-09-22 18:52:42 +02:00
default
4f4f321a53 Added some actor functions. 2022-09-22 18:50:39 +02:00
default
b8436ddfde Renamed enqueue() to enqueue_output(). 2022-09-22 17:12:46 +02:00
default
b5769aca9b New function _timeline_parent(). 2022-09-22 14:46:23 +02:00
default
7cc26cfb39 Changed some glob() oddities. 2022-09-20 12:56:21 +02:00
default
922b04b4d7 New function dequeue(). 2022-09-20 12:50:37 +02:00
default
e923a4f5ec New function queue(). 2022-09-20 12:43:49 +02:00
default
5d843a488e New function enqueue(). 2022-09-20 12:00:13 +02:00
default
065773c703 Added muted functions. 2022-09-20 11:38:18 +02:00
default
591613a49e Add following code. 2022-09-20 11:31:56 +02:00
default
f6b34ce539 More timeline work. 2022-09-20 11:16:24 +02:00
default
9a01f731d7 More timeline work. 2022-09-20 10:49:24 +02:00
default
732654e73a Added some timeline functions. 2022-09-20 10:02:00 +02:00
default
acff91e0ad More follower data code. 2022-09-20 09:48:13 +02:00
default
839cb552f4 Added some follower functions. 2022-09-20 09:39:28 +02:00
default
5e438f8353 New function user_list(). 2022-09-19 23:33:11 +02:00
default
dd1a5ff147 Renamed user functions. 2022-09-19 23:03:18 +02:00
default
c88d4f1e15 [data.c] new file. 2022-09-19 22:41:30 +02:00