Commit graph

635 commits

Author SHA1 Message Date
default
ed44462a41 Fixed actor / post Delete confusion bug. 2023-02-10 14:36:27 +01:00
default
436dbf9913 Followers can be deleted. 2023-02-08 20:19:36 +01:00
default
5d126d0e9e Only show the 'in reply to' link if level == 0. 2023-02-08 14:07:13 +01:00
default
95926fb98a Use timeline_here() for parents in html_entry(). 2023-02-08 13:30:15 +01:00
default
f253ea6578 Added web interface for the Telegram information. 2023-02-07 08:19:18 +01:00
default
70c73d0336 New user option 'purge_days'. 2023-02-05 19:09:22 +01:00
default
71a7569467 Deleted the type argument from object_get_my_md5() and object_get().
It was never used.
2023-02-05 17:45:00 +01:00
default
bad9f3a8c6 Renamed timeline_get() to timeline_get_by_md5(), as that is what id does. 2023-02-05 17:39:40 +01:00
default
12aedfadfd New function timeline_get(). 2023-02-05 13:35:50 +01:00
default
43c83ce9ed More debug level changes. 2023-02-03 19:34:52 +01:00
default
bad3768250 Attached images have a hashed name instead of a time one. 2023-01-28 18:28:00 +01:00
default
4e86847f72 Image attachments in posts can now have descriptions ('alt text'). 2023-01-28 18:22:42 +01:00
default
d3cf86c098 New post field 'alt_text'. 2023-01-28 18:00:26 +01:00
default
a3ed2408fc New function default_avatar_base64(). 2023-01-27 18:17:11 +01:00
default
428d75600a Added edit support for posts. 2023-01-24 11:14:45 +01:00
default
a38c7aeadc Updated year in copyright notices. 2023-01-17 09:50:16 +01:00
default
bb0d8f2a27 Backport from xs. 2023-01-12 09:28:02 +01:00
default
16be679ecd Show the More... link above the 'About this site'. 2023-01-11 21:51:42 +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
029367f7cc Show the mentioned people after a CC:. 2023-01-09 09:24:09 +01:00
default
845df51686 Don't generate empty children popups. 2023-01-03 10:11:20 +01:00
default
913231d5c0 Add a link rel=alternate to the user RSS. 2022-12-25 15:45:46 +01:00
default
0bba515cf0 timeline_request() fixes the canonical id for the object. 2022-12-23 10:01:10 +01:00
default
dda60374f7 The 'Older...' details are back, now better. 2022-12-19 06:16:52 +01:00
default
020b854675 Deleted the 'Older...' details tag because it's becoming too confusing. 2022-12-18 20:57:34 +01:00
default
e31734c06a Conversations can be collapsed. 2022-12-18 06:10:50 +01:00
default
25acaf178c Replaced all calls to post() with enqueue_message(). 2022-12-16 07:16:00 +01:00
default
32eb3fb041 Also show the 'updated' timestamp. 2022-12-15 16:09:44 +01:00
default
2fd7e20380 Use object_likes_len() and object_announces_len() in the post score. 2022-12-10 11:26:51 +01:00
default
5e837aa57b Don't show the 'Boost' button for private messages. 2022-12-08 08:45:35 +01:00
default
2dba85ead2 Also add 'redir' hidden field to Replies. 2022-12-08 08:04:18 +01:00
default
a1673e6d0c Some tweaks to improve the page position after like or boost. 2022-12-08 07:40:15 +01:00
default
a5b8dd7841 Wrapped too long string literals. 2022-12-08 07:21:19 +01:00
default
8222776ff9 Little tweak to previous change to avoid a memleak. 2022-12-08 07:08:53 +01:00
Alex Schroeder
4c996c7622 Fix mentions with one @ sign
In a mention like the following, the old code had a problem: It would
split the name by '@' and get a list of two elements. Since this is
less than three, it would then try to get the domain name from the
href ("social.alexschroeder.ch") and concatenate it with the name,
resulting in "alex@social.alexschroeder.ch@social.alexschroeder.ch".
The reason was that the code expects an initial "@". In that case,
splitting "@alex@social.alexschroeder.ch" would result in three
elements, and no domain name guessing would happen. If, on the other
hand, the name was "@foo" then finding the domain name in the URL and
appending it so that you get @foo@domain.name is the correct solution.

    "tag": [
        {
            "type": "Mention",
            "href": "https://social.alexschroeder.ch/alex",
            "name": "alex@social.alexschroeder.ch"
        }
    ],

The fix consists in prepending an "@" if the name does not start with
"@" and leaving the rest of the code unchanged.
2022-12-07 22:03:32 +01:00
default
df1b1510b7 Ask for just 1 more entry beyond the current page to test if there are more. 2022-12-07 10:42:24 +01:00
default
979389fd47 Fixed last minute typo. 2022-12-07 10:12:59 +01:00
default
28816aaa85 Minor tweaks to paged timeline output. 2022-12-07 10:04:19 +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
Alex Schroeder
b60addc4e6 Add loading="lazy" to all images
Only load images when they're visible.

"The loading attribute on an <img> element … can be used to instruct
the browser to defer loading of images/iframes that are off-screen
until the user scrolls near them."
https://developer.mozilla.org/en-US/docs/Web/Performance/Lazy_loading#images_and_iframes
2022-12-06 12:25:08 +01:00
default
0e861196a1 Fixed crash in new code (moron me...) 2022-12-04 12:04:37 +01:00
default
785c859ce3 Match the CW checkbox status to what is currently configured. 2022-12-04 11:50:20 +01:00
Alex Schroeder
a3fa7dbaec No sensitive content in the public timeline
Don't use h3 in the public timeline. Use the details tag, as before,
but default to "open" if the config setting is set. Only do this in
the private timeline (where local == 0, as set by html_get_handler).
2022-12-04 10:05:53 +01:00
Alex Schroeder
e4c26715a1 Add an option to always show sensitive content
- add a cw key to user.json
- add a cw checkbox to user setup form
- handle the cw parameter when updating user setup
- when rendering an entry, look at the cw config: if set, use a h3
  heading for the summary; otherwise use details + summar + SENSITIVE
  CONTENT like before
2022-12-04 10:05:53 +01:00
default
bc0f9d116f Deleted debug code in html_entry(). 2022-12-04 06:37:30 +01:00
default
144d3c29a9 Don't show the messages' md5. 2022-12-04 06:34:42 +01:00
default
bd0149ee0d Don't try to admire empty messages. 2022-12-03 20:45:58 +01:00
default
c70bd2a85d Show the development version. 2022-12-03 19:28:16 +01:00
default
f205d20688 Always show who boosted something, not only when it's on level 0. 2022-12-03 18:08: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
2614a8b3cb Show stray parents in the origin. 2022-12-02 21:36:12 +01:00
default
4819c4248d More old code deletions. 2022-12-02 20:39:31 +01:00
default
c06136a8ac Fixed one post queries. 2022-12-02 19:39:17 +01:00
default
33c8a73c17 Fixed RSS and outbox to use the new data storage. 2022-12-02 19:30:59 +01:00
default
c00e3afcdc Big data storage change. 2022-12-02 19:14:59 +01:00
default
e62b6b87be Close a tag in history list. 2022-12-01 19:39:22 +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
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
17d4e4f5dd Renamed 'admin' link label to 'private'. 2022-11-26 05:12:58 +01:00
default
9df1cb129e Use macro XS_ALL were possible. 2022-11-25 12:21:26 +01:00
default
d215f8ce46 Use the new hide API. 2022-11-24 09:49:54 +01:00
default
b487b41be6 Backport from xs (new xs_set() API). 2022-11-21 11:14:24 +01:00
default
d253429fe7 Deleted the link at the end of each RSS entry. 2022-11-20 10:00:24 +01:00
default
ecff88922f More RSS tweaks. 2022-11-20 06:16:45 +01:00
default
3d6654143e Fixed RSS link. 2022-11-20 05:53:40 +01:00
default
e11fc49fd7 Add a link to the post in each RSS entry. 2022-11-20 05:51:54 +01:00
default
5882ed15de More RSS tweaks. 2022-11-20 05:33:42 +01:00
default
86aa0ff4b6 More RSS tweaks. 2022-11-20 05:24:11 +01:00
default
50d73a6e94 RSS improvements. 2022-11-19 06:15:35 +01:00
default
29a83fa1d2 Fixed crash when testing for the Accept header. 2022-11-18 20:37:46 +01:00
default
71b925d420 Log if the RSS is served. 2022-11-18 11:48:39 +01:00
default
331c392ae0 Added a RSS link in the public timeline page. 2022-11-18 11:42:13 +01:00
default
e239d51de1 More RSS tweaks. 2022-11-18 11:36:13 +01:00
default
240494c795 More RSS cropping. 2022-11-18 11:32:05 +01:00
default
c827b2641b Added rss on output. 2022-11-18 11:08:20 +01:00
default
654326aa8b New function enqueue_output_to_actor(). 2022-11-18 08:21:40 +01:00
default
e01f23cbe2 Fixed Follow bug, introduced by latest sharedInbox change. 2022-11-18 08:10:47 +01:00
default
236ca9af6b Call sanitize() as soon as possible. 2022-11-16 13:13:31 +01:00
default
0739b9ff59 Also add the 'Sensitive content' checkbox to replies. 2022-11-16 12:16:30 +01:00
default
a06930f4da Posts can be marked as 'sensitive content' (not yet for replies). 2022-11-16 11:42:16 +01:00
default
36ff972173 Show the complete date as a 'title' popup. 2022-11-15 10:37:15 +01:00
default
f30c0fc2cf Deleted unused code. 2022-11-13 21:00:41 +01:00
default
f7f99ba1ce Also delete JS in the people/ page. 2022-11-13 16:58:54 +01:00
default
21c676487a Set "u-url mention" class for mentions. 2022-11-13 15:15:16 +01:00
default
eef7bc8fde Use details/summary HTML tags instead of JS for the 'Reply' button. 2022-11-13 15:06:54 +01:00
default
73323a7fc0 Some formatting refactoring. 2022-11-13 08:41:50 +01:00
default
c03c548832 You can always Boost your own posts indefinitely. 2022-11-09 05:51:53 +01:00
default
2e4b548021 Reordered Hide button. 2022-11-04 10:11:28 +01:00
default
8b252dab84 New 'Hide' button. 2022-11-04 08:48:15 +01:00
default
dbe60be4f3 Fixed bug when following by @user@host. 2022-11-02 20:28:40 +01:00
default
38509f5e14 Added the published (actor create) data to the 'people' page. 2022-11-02 11:13:50 +01:00
default
5f9baf2dd3 Differentiate the textarea forms form follower to following. 2022-11-02 11:05:56 +01:00
default
773be130ed More work in the people page. 2022-11-02 10:49:16 +01:00
default
1fd14a850d People page started. 2022-11-02 10:13:14 +01:00
default
2fd5f6fc61 Split html_actor_icon() from html_msg_icon(). 2022-11-02 06:41:40 +01:00
default
764178fb34 Added the @user@host id in the HTML title. 2022-11-02 04:53:50 +01:00
default
5c81dd88bc Added rel=nofollow to the admin link. 2022-11-01 19:51:40 +01:00
default
f957be5e84 Filter out carriage returns in note post web interface. 2022-11-01 19:32:42 +01:00
default
862560947b Added missing user_free() when auth is needed. 2022-11-01 19:28:41 +01:00
default
ccb82367ad Another tweak to the #redir after like or boost. 2022-11-01 18:16:03 +01:00
default
685b25af14 After reacting to a post, redirection is done to the next entry instead of top.
This work more or less ok for level 0 entries, but it's very
confusing for the others.
2022-10-31 15:54:07 +01:00
default
81d8923768 Actors being followed can also be MUTED. 2022-10-31 11:47:44 +01:00
default
9612289477 Added support for sensitive content. 2022-10-30 06:01:11 +01:00
default
5ee9504b18 Be more aggressive in HTML sanitization. 2022-10-28 18:06:42 +02:00
default
003da7fec7 Added a forgotten user_free() in html_post_handler(). 2022-10-26 08:18:21 +02:00
default
22b89875aa Minor tweaks. 2022-10-25 20:50:06 +02:00
default
d2095105de Don't load unneeded actor info in html_entry(). 2022-10-24 20:06:02 +02:00
default
b75319ed08 Added email notification address to web interface. 2022-10-21 09:46:46 +02:00
default
06c838b523 Updated LICENSE. 2022-10-20 14:26:34 +02:00
default
76b36362ce Don't read this actor with actor_get(). 2022-10-19 21:21:34 +02:00
default
abca46d037 xs_base64_dec() can now be used as a string, so do it. 2022-10-18 11:24:53 +02:00
default
326122de22 Also process Emojis in the post content. 2022-10-17 12:11:58 +02:00
default
6bcfd4e0ee Emoji must be img, not urls. 2022-10-17 12:08:16 +02:00
default
c53052471e Process :shortnames: in user names. 2022-10-17 11:59:11 +02:00
default
2143e68699 Also allow image attachments from reply posts. 2022-10-16 20:06:19 +02:00
default
d9a15b8af7 Attachments are now starting to get real. 2022-10-16 18:03:28 +02:00
default
0d79e465e6 Use multipart/form-data for posts (on the way to supporting uploads). 2022-10-16 11:08:50 +02:00
default
39a55f22a3 Also add the 'Image to attach' field to reply textareas. 2022-10-12 08:15:20 +02:00
default
e2a410ca51 Deleted useless code. 2022-10-11 09:01:48 +02:00
default
3e6c9c1947 Serve static files with the s/ prefix. 2022-10-11 08:51:56 +02:00
default
1b9ae00d40 Deleted unused code. 2022-10-10 10:47:54 +02:00
default
7f0063d5e1 build_mentions() completes uids without host. 2022-10-10 09:45:39 +02:00
default
78ec3b077b Media can be attached to notes.
The web interface limits this (by now) to only one
attachment, given the URL.
2022-10-10 09:03:15 +02:00
default
f31dc02715 Attached videos are now embedded. 2022-10-10 08:25:16 +02:00
default
43c5e2c679 Minor logging tweak. 2022-10-09 18:03:51 +02:00
default
305591ae31 New optional server config directive 'disable_cache'. 2022-10-09 17:54:01 +02:00
default
9aec7c9fa8 Moved message formatting to format.c. 2022-10-07 18:30:54 +02:00
default
8ffeab7884 Use xs_is_null() instead of NULL comparison when getting actor's name. 2022-10-07 17:25:40 +02:00
default
17842c2a79 Don't indent entry children beyond 4. 2022-10-07 10:12:14 +02:00
default
5773958c0e Do not show the hour in the date. 2022-10-06 19:45:37 +02:00
default
f9be6c58ed After doing some timeline operation, the page is loaded at the snac-posts anchor. 2022-10-06 19:21:29 +02:00
default
6befe9e569 New function build_mentions(), for the reply textareas. 2022-10-06 19:06:05 +02:00
default
a2b4706499 Fixed bug in Boost (by URL). 2022-10-05 21:28:32 +02:00
default
5192e28444 Fixed bug in the entry children popup. 2022-10-04 17:31:56 +02:00
default
75408346f0 Minor tweak to url regex. 2022-10-04 17:03:01 +02:00
default
f521285d75 Ensure the login information is null-terminated. 2022-10-04 11:55:48 +02:00
default
e285f641b4 Deleted debugging code. 2022-10-03 19:02:21 +02:00
default
36a46f3996 Renamed cached file _timeline.html to timeline.html_ to exclude it from globs. 2022-10-03 11:12:46 +02:00
default
25a057bac2 Added history support. 2022-10-02 18:22:15 +02:00
default
f82124a705 The history is shown at the bottom of the local timeline. 2022-10-02 18:16:58 +02:00
default
20fd70c011 Implemented local timeline cache. 2022-10-02 17:52:40 +02:00
default
d29c00bd8f An 'Update' message is set to everyone when data is changed. 2022-10-02 17:42:36 +02:00
default
bab25259f9 User data can be modified from the web interface. 2022-10-02 17:34:27 +02:00
default
0164ac902b Minor tweak. 2022-10-02 09:32:50 +02:00
default
82e9a03925 Implemented 'Delete'. 2022-10-01 19:37:47 +02:00
default
450c0e7aad More snac-origin work. 2022-10-01 19:10:12 +02:00
default
bd0bc09912 Show a link in the snac-origin in level 0 entries. 2022-10-01 18:58:50 +02:00
default
2c00c7b0b5 New web action 'Unfollow'. 2022-10-01 09:12:33 +02:00
default
1bb52559b2 New web action 'Follow'. 2022-10-01 08:05:20 +02:00
default
3797355f94 New MUTE web action. 2022-10-01 07:45:36 +02:00
default
8e27f1d711 Show the preferredUsername in name is "". 2022-09-30 18:28:46 +02:00
default
191c2e032b Also show Follow messages in the timeline. 2022-09-30 17:56:27 +02:00
default
3d544233a6 Timeline is cached. 2022-09-30 09:56:29 +02:00
default
4176799296 Likes and Boosts can be done from the web interface. 2022-09-30 09:29:28 +02:00
default
118ebac622 Posts can be done from the web interface. 2022-09-30 05:36:46 +02:00
default
f124d7accb Added support for one-entry timeline. 2022-09-29 13:15:57 +02:00
default
6317c9678d Simplified HTML. 2022-09-29 10:27:09 +02:00
default
86c27db435 More HTML work. 2022-09-29 10:18:28 +02:00
default
8be7c4927f More HTML work. 2022-09-29 09:52:23 +02:00
default
ab38029192 More HTML work. 2022-09-29 09:19:42 +02:00
default
49bca7e273 html_entry() is built in its own string and then added.
This will be faster.
2022-09-29 09:11:43 +02:00
default
484a7f1fd8 Added the score for local posts. 2022-09-28 17:39:32 +02:00
default
e7e89d2d57 New function ftime(). 2022-09-28 17:18:30 +02:00
default
5647e675fd More HTML work. 2022-09-28 17:12:39 +02:00
default
7ae3064210 Better coping with timeouts. 2022-09-28 16:27:53 +02:00
default
a22a515e0f More HTML work. 2022-09-28 16:16:18 +02:00
default
233d7d8a10 More HTML work. 2022-09-28 15:41:07 +02:00
default
69bc24a4bf More HTML work. 2022-09-28 10:40:35 +02:00
default
5afb60f173 Got xs_set.h from xs. 2022-09-28 10:27:01 +02:00
default
26446c8160 New function html_top_controls(). 2022-09-28 10:21:57 +02:00
default
ce2757552c More HTML work. 2022-09-28 09:46:21 +02:00
default
a636cf8b25 New function static_get(). 2022-09-28 09:29:09 +02:00
default
fc6a125146 New function html_msg_icon(). 2022-09-28 07:05:23 +02:00
default
b3b15cec29 New function login() (untested). 2022-09-28 05:36:35 +02:00
default
b2c8264003 Added dummy HTTP handlers for html. 2022-09-28 05:22:08 +02:00
default
5784ddecb4 Rewrite not_really_markdown() with xs_regex_split(). 2022-09-27 17:41:56 +02:00
default
bd2a07691d Backport from xs. 2022-09-27 17:19:59 +02:00
default
f516866f9e Disabled URL replacement by now because it's not infinite-loop-safe. 2022-09-27 10:59:29 +02:00
default
4f3b70d997 More work in not_really_markdown(). 2022-09-27 10:51:57 +02:00
default
48a50770f4 Use xs_replace_i() in some places. 2022-09-27 10:20:33 +02:00
default
26a3b260d5 Started function not_really_markdown(). 2022-09-27 09:38:46 +02:00
default
e0c0195616 [html.c] new file. 2022-09-27 09:07:07 +02:00