default
c639553836
New function queue() (the global queue).
2023-02-02 05:07:20 +01:00
default
106c94ef86
queue() renamed to user_queue().
2023-02-02 04:47:59 +01:00
default
ee77e45abb
dequeue() does not need a snac argument.
2023-02-02 04:44:30 +01:00
default
56c4711caf
enqueue_output() adds the keyid and seckey args to the q_item.
2023-02-02 04:23:56 +01:00
default
f0ef1d4115
Reworked enqueue_message().
2023-01-31 21:54:50 +01:00
default
274ae3d142
Reworked enqueue_email().
2023-01-31 21:49:43 +01:00
default
4e62b409af
Reworked enqueue_output().
2023-01-31 21:15:16 +01:00
default
0233d73248
Started rewriting the queue.
2023-01-31 21:03:59 +01:00
default
94c4790bd7
Unified queue message field names.
2023-01-31 20:22:36 +01:00
default
74d30a561c
Some symbol renaming.
2023-01-31 18:33:45 +01:00
default
2d7074aeb0
Deleted old paths to purge.
2023-01-31 18:28:52 +01:00
default
a38c7aeadc
Updated year in copyright notices.
2023-01-17 09:50:16 +01:00
default
6406877af1
Usage of unveil() and pledge() can be disabled from config.
2023-01-13 14:18:23 +01:00
Andrew Alderwick
3cb1725225
Added OpenBSD's unveil() and pledge() support.
2023-01-13 13:25:14 +01:00
default
bb0d8f2a27
Backport from xs.
2023-01-12 09:28:02 +01:00
default
40b3f739d2
Deleted unused argument in timeline_admire().
2023-01-11 20:47:36 +01:00
default
75f8554e38
Deleted unused arguments in timeline_add().
2023-01-11 20:40:13 +01:00
default
47e6e47323
The purge ttl for stray global objects have been shortened.
2023-01-04 09:41:02 +01:00
default
bc7a6c2708
Log write errors in _object_add() more prominently.
2022-12-18 17:51:23 +01:00
default
25acaf178c
Replaced all calls to post() with enqueue_message().
2022-12-16 07:16:00 +01:00
default
427f7341fa
New function enqueue_message().
2022-12-16 07:09:25 +01:00
default
a0459df6ea
Don't create a parent index if it already exists.
2022-12-15 10:52:09 +01:00
default
746624144c
Fixed a deletion error.
2022-12-14 05:36:30 +01:00
default
6056077031
Fixed crash when unfollowing.
2022-12-13 16:02:41 +01:00
default
83a68d635d
New function index_len().
2022-12-10 11:19:26 +01:00
grunfink
060a9fcb3c
Merge pull request 'Pagination of the private and public page' ( #13 ) from kensanata/snac2:pagination into master
...
Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/13
2022-12-07 08:33:09 +00:00
default
4726de661b
Fixed memory leak.
2022-12-06 19:28:29 +01:00
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