Commit graph

646 commits

Author SHA1 Message Date
default
91bb0615d9 Replaced most xs_dict_iter() with xs_dict_next(). 2024-03-09 08:44:48 +01:00
default
093f4af282 Shortened the maximum conversation levels.
Set to a compilation define in MAX_CONVERSATION_LEVELS.
2024-03-08 05:41:08 +01:00
default
7fe866d60d Returns empty anchors for hidden posts or muted actors.
This will help keeping the previous position after 'Hide' or 'MUTE'.
2024-03-07 09:29:01 +01:00
default
d65951622e Fixed incorrect link to booster. 2024-03-02 07:12:11 +01:00
default
1ac162ce43 Don't show the :shortname: as a title tag.
It sometimes breaks usernames and it's pointless anyway.
2024-03-02 06:49:12 +01:00
Yonle
5a2ab086ae html.c: html_user_body: snac-property: Put &nbsp; (empty space) instead of <br>
Signed-off-by: Yonle <yonle@lecturify.net>
2024-02-23 21:38:41 +07:00
default
d4364e80f7 Added *another argument* to html_timeline() to select where posts are taken from.
This way, the /instance logged-in timeline can show posts that are not
really into a user's timeline.
2024-02-22 12:26:32 +01:00
default
69d33622d3 Reverted ae6aafeb88.
This breaks the experimental /instance timeline for now.
2024-02-21 22:38:08 +01:00
default
ae6aafeb88 In html_timeline(), always pick the msg from the global object storage.
This allows the logged instance timeline to work.

Does this have more implications? Not sure.
2024-02-21 08:38:46 +01:00
default
49b226a8e9 Started an instance page. 2024-02-21 08:27:11 +01:00
default
bc3c7dde33 More local -> read_only argument renamings. 2024-02-21 08:12:10 +01:00
default
b40e71c11c Added a page argument to html_timeline(). 2024-02-21 08:09:57 +01:00
default
2b814287fd Renamed 'local' argument to 'read_only', as it was a bit confusing. 2024-02-21 08:00:03 +01:00
default
a3b9ef5b98 The link verification time is stored as a time_t.
This way, it will be easier in an eventual future to test if
a link verification is too old to be trusted.
2024-02-20 06:10:42 +01:00
default
d583a35d9e Enqueue a verify_links q_item in admin/user-setup. 2024-02-20 05:46:44 +01:00
default
e6de555f7d Added a 'verified link' title to them. 2024-02-16 06:23:07 +01:00
default
263e239653 Moved verified links to its own json file. 2024-02-15 17:34:46 +01:00
default
b4208bfec9 Renamed validated_metadata to validated_links. 2024-02-15 10:33:33 +01:00
default
d106f86a67 Show validation checks and rel=me in links in the public page. 2024-02-14 22:56:56 +01:00
default
43e3a0fdda Added some experimental code to hide follower-only failed replies. 2024-02-14 19:24:26 +01:00
default
0930ce726f New function is_msg_from_private_user(). 2024-02-10 09:08:09 +01:00
default
5702e2592f Made descs a bit longer. 2024-02-07 19:32:15 +01:00
default
c33fa82755 If it's a one-post-only page, show the post content instead of the bio. 2024-02-07 19:25:18 +01:00
default
89b64de531 Some og:description tweaks. 2024-02-07 19:15:20 +01:00
default
7efa3ce519 Added a navigation footer (i.e., an optional "More..." link) to the notification page. 2024-02-05 19:50:56 +01:00
default
4e35b4b865 Added paging to notify_list(), and use it in the notifications page. 2024-02-05 19:34:27 +01:00
default
729ad476f0 notify_list() no longer has a new_only argument. 2024-02-05 10:18:38 +01:00
default
823cb05fe5 Don't serve a cached admin page if it's older than the server start time. 2024-02-05 09:38:30 +01:00
default
74ce67a631 In build_mentions(), avoid adding a user handle more than once. 2024-02-05 09:19:27 +01:00
default
2e72a6215e New field in 'New Post...' to include an inReplyTo URL. 2024-02-01 09:29:25 +01:00
default
5563a41ed0 Added the date to each notification. 2024-01-31 08:18:50 +01:00
default
d839654ccb Moved the favicon link out of the CSS loop. 2024-01-28 11:18:14 +01:00
Florian Paul Azim Hoberg
fe892622d3 feature(favicon): Add favicon support (#107) 2024-01-28 08:09:44 +01:00
default
5b3a2fbd88 Use get_attachments() in html_entry(). 2024-01-24 19:30:01 +01:00
default
0b08649a0d Added a fix to also show the mutual emoji in the people page. 2024-01-24 09:51:16 +01:00
default
1affef47b4 Moved the mutual and bot emojis after the link, where they belong. 2024-01-24 09:34:18 +01:00
default
928eeecba2 Show a handshake emoji for mutual relations (following + follower). 2024-01-24 09:28:11 +01:00
default
5e7c2257c8 Do a very basic conversion of content if it's markdown.
Peertube videos have this.
2024-01-18 23:15:32 +01:00
default
65040b65a3 New function get_atto(), to get the attributedTo field. 2024-01-18 23:04:37 +01:00
default
1aff468a55 Deleted breakpoint. 2024-01-18 22:30:08 +01:00
default
54fff003f1 Fixed bad actor value in the button bar for Peertube videos. 2024-01-18 22:27:20 +01:00
default
f162c07791 Added some support for Peertube videos. 2024-01-18 22:21:05 +01:00
Stefano Marinelli
2af9481837 Added support for ntfy notifications. You can configure either a self-hosted server or use the official ntfy.sh, and you have the option to use a private token to protect access and topics. 2024-01-12 09:54:14 +01:00
default
2218889b43 In the people page, followers and following lists are foldable. 2024-01-04 10:35:27 +01:00
default
755d997fb1 Updated copyright year. 2024-01-04 09:22:03 +01:00
default
7c2e2902cc The actor link is now an anchored link to the people page for connected users. 2023-12-27 13:18:35 +01:00
default
ae8f5560e4 Really do what is described in previous commit. 2023-12-26 18:14:13 +01:00
default
4fe99ed722 Don't create a link to the people page from the public one. 2023-12-26 18:05:49 +01:00
default
92c27a3038 The "boosted" link in html_entry() points to the user in the people page.
This way, it's easier to do something on someone whom we follow,
like MUTE them, limit, etc.
2023-12-26 14:04:13 +01:00
default
d9ca841cc9 Don't wrap the content in <p></p>; just add a final <p>. 2023-12-21 07:49:39 +01:00
default
dd51da30d8 Correctly insert polls and attachments inside CW. 2023-12-19 11:42:06 +01:00
default
7ebe4a13a1 CSS code must be emitted as preformatted and not escaped. 2023-12-16 16:38:31 +01:00
default
0dd4739cc6 Added some spacing to the Operations... form. 2023-12-15 20:28:51 +01:00
Yonle
b1b1627fb4 html.c: media: disable preloading
Signed-off-by: Yonle <yonle@lecturify.net>
2023-12-15 16:50:45 +07:00
default
c9b8f8cfef Show a note's summary as a header. 2023-12-08 07:04:10 +01:00
default
7a18a60c3c Show the md5 of the original post in its link in html_actor_icon(). 2023-12-06 07:41:02 +01:00
default
5f047d46c0 Backport from xs. 2023-12-03 17:26:50 +01:00
default
a658e5d1c7 Don't show polls as 'votable' from the public timeline. 2023-12-03 11:51:26 +01:00
default
8b3471afb7 Backport from xs. 2023-12-03 11:43:40 +01:00
default
8b5c146c40 A very minor HTML tweak. 2023-11-30 13:27:02 +01:00
default
d6b3333d4a Use a configurable line height in replace_shortnames(). 2023-11-29 15:02:29 +01:00
default
6a37dca67a Added a title to an image shortname. 2023-11-29 13:43:33 +01:00
default
5b270b903c Deleted redundant code. 2023-11-29 13:40:13 +01:00
default
f3e7aff2d7 Deleted redundant code. 2023-11-29 13:35:07 +01:00
default
d1b2fcf426 New function replace_shortnames(). 2023-11-29 13:16:24 +01:00
default
9419b80809 Got rid of dead code. 2023-11-29 10:17:41 +01:00
default
b1a9279f85 html_timeline() now uses xs_html. 2023-11-29 10:14:37 +01:00
default
6c6dd060eb The "More..." links in html_timeline() use now xs_html. 2023-11-29 09:53:49 +01:00
default
a6da1fdb64 History in html_timeline() uses xs_html. 2023-11-29 09:49:48 +01:00
default
5a8918007f Fixed typo. 2023-11-29 09:39:23 +01:00
default
9af9f29d33 html_notifications() is now fully xs_html. 2023-11-29 09:36:03 +01:00
default
230a548767 html_entry() returns an xs_html. 2023-11-28 20:55:58 +01:00
default
89b796f941 Blah blah blah html_entry() blah blah blah. 2023-11-28 20:50:49 +01:00
default
bd2540e23f xs_html() doesn't filter the top string, just returns the generated string. 2023-11-28 20:04:49 +01:00
default
97b7100b06 Children in html_entry() is (almost) xs_html. 2023-11-28 19:57:59 +01:00
default
a0ae0885d2 More HTML gabagool. 2023-11-28 19:07:29 +01:00
default
d00ee229f7 More html_entry() tweaks. 2023-11-28 18:56:06 +01:00
default
6821d3df9f Fixed poll xs_html. 2023-11-28 18:49:39 +01:00
default
5b2f361b33 Fixed an excessive sanitization. 2023-11-28 11:49:50 +01:00
default
e092a772b0 Attachments in html_entry() use now xs_html. 2023-11-28 11:45:20 +01:00
default
8e7438bca6 Finally, html_people() is the first page totally managed by xs_html. 2023-11-28 11:14:28 +01:00
default
814bfdcb00 New function html_user_body() (still unused). 2023-11-28 11:04:35 +01:00
default
c963a29923 More xs_html refactoring. 2023-11-28 10:55:12 +01:00
default
645a27d4ee Converted public user into to xs_html. 2023-11-28 10:35:57 +01:00
default
179a7ae014 Converted top_nav to xs_html. 2023-11-28 10:13:27 +01:00
default
5d3b22bfce Refactored to xs_html the poll part of html_entry(). 2023-11-28 09:29:54 +01:00
default
04b253200b More html_entry() refactoring. 2023-11-27 21:54:57 +01:00
default
ae121bbce1 More html_entry() refactoring. 2023-11-27 21:41:43 +01:00
default
2111886448 Some html_entry() refactoring. 2023-11-27 21:28:27 +01:00
default
800bb0123d Minor html_entry() tweaks. 2023-11-27 21:14:27 +01:00
default
a20e8b8cd5 New function html_user_head(). 2023-11-27 21:06:04 +01:00
default
85e5fc0576 New function html_instance_body() (still unused). 2023-11-27 20:35:58 +01:00
default
c50e6c41ea New function html_instance_head(). 2023-11-27 14:15:36 +01:00
default
3ac738b0b9 More HTML tweaks. 2023-11-27 14:05:56 +01:00
default
c34d701a65 Revert "More minor HTML tweaks."
This reverts commit fab8b57e31.
2023-11-27 14:02:29 +01:00
default
fab8b57e31 More minor HTML tweaks. 2023-11-27 14:00:21 +01:00
default
cac8eba520 html_msg_icon() is full xs_html. 2023-11-27 10:27:28 +01:00
default
1663adbf56 Backport from xs. 2023-11-27 10:19:01 +01:00
default
5a4de9cc8e Minor html tweak. 2023-11-26 20:44:25 +01:00
default
c0c3e75508 Minor html tweaks. 2023-11-26 20:30:36 +01:00
default
9ea3876cb6 html_top_controls() is fully xs_html. 2023-11-26 20:27:57 +01:00
default
3f94080278 The user settings form has been converted to xs_html. 2023-11-26 20:14:47 +01:00
default
6417d23851 Use html_note() in html_top_controls(). 2023-11-26 19:15:43 +01:00
default
daad4ee4c3 Convert the 'Operations...' top control to xs_html. 2023-11-26 19:05:00 +01:00
default
1d7619ab83 Started refactoring html_top_controls(). 2023-11-26 18:39:00 +01:00
default
63dbb5dcf9 More xs_html tweaks. 2023-11-25 10:25:40 +01:00
default
1359a561f3 Got rid of old html_button(). 2023-11-25 10:10:38 +01:00
default
29010d6fbc html_entry_controls() is now pure xs_html. 2023-11-25 10:02:32 +01:00
default
c71047ca02 Fixed html_note() where cw_text is XSTYPE_NULL. 2023-11-25 08:50:34 +01:00
default
7d7110cb3b New function html_base_head(). 2023-11-23 23:33:57 +01:00
default
073140eced The post edit box also uses html_note(). 2023-11-23 22:55:20 +01:00
default
9880ac3c09 Use html_note() for the reply form. 2023-11-23 22:31:19 +01:00
default
8b4ae8b1a0 html_footer() is pure xs_html. 2023-11-23 22:05:31 +01:00
default
cac1ce0578 html_people_list() returns an xs_html. 2023-11-23 21:20:10 +01:00
default
d2a5a55b95 Use html_note() from html_people_list(). 2023-11-23 21:04:11 +01:00
default
741302cc3b New function html_note() (still unused). 2023-11-23 20:41:10 +01:00
default
1466331abe Minor xs_html tweaks. 2023-11-22 14:40:16 +01:00
default
b6603380b4 More work in dm_textarea towards a generic html_note(). 2023-11-22 14:23:14 +01:00
default
258850feac Backport from xs. 2023-11-22 13:07:19 +01:00
default
4e8beaab8f Some xs_html usage in html_notifications(). 2023-11-22 12:50:48 +01:00
default
7236e15e8c More refactoring of html_people_list(). 2023-11-21 11:26:45 +01:00
default
f3ad5f0bb3 More refactoring of html_people_list(). 2023-11-21 11:11:05 +01:00
default
009a1da064 Refactored part of html_people_list() using xs_html. 2023-11-20 21:46:22 +01:00
default
4e01a3b33c Some xs_html refactoring. 2023-11-20 20:53:57 +01:00
default
73b1ef1599 html_actor_icon() returns an xs_html. 2023-11-20 20:33:52 +01:00
default
1ad4a93649 html_actor_icon() uses xs_html. 2023-11-20 20:28:20 +01:00
default
4fe2ccd670 html_actor_icon() returns an xs_str instead of adding to another one. 2023-11-20 19:47:41 +01:00
default
a6a51903ef The RSS is created using xs_html. 2023-11-20 19:25:53 +01:00
default
7dd1c8a1ba Use xs_html in html_footer(). 2023-11-20 18:50:42 +01:00
default
bc5d0d4ed0 Replaced encode_html_strict() with xs_html_encode(). 2023-11-20 18:33:24 +01:00
default
b8e5a00eab Fixed history disabling. 2023-11-19 18:44:02 +01:00
default
3c6d32334a History can be disabled. 2023-11-19 18:34:14 +01:00
default
8c6c4229d0 More HTML fixes. 2023-11-09 14:26:04 +01:00
default
cd74f80279 Fixed stray end of a tag. 2023-11-09 14:04:50 +01:00
default
42629c9742 Show the "Search results for #tag" title. 2023-11-08 10:22:25 +01:00
default
8417a80fec Added a tag argument to html_timeline(). 2023-11-08 10:14:56 +01:00
default
55d3ef5024 Tags can now be searched for from the server base URL. 2023-11-08 09:20:34 +01:00
default
770fc331fd Use an md5 instead of a fixed file name in avatars and headers. 2023-11-01 18:54:21 +01:00
default
85a9ebc471 Added web UI for setting the 'private' flag. 2023-10-16 18:59:41 +02:00
default
4676f8ce13 The HTML user page does not show an error, only the empty header. 2023-10-08 19:27:07 +02:00
default
8524ace23f Hide posts from the public web for accounts with 'private' == true. 2023-10-08 00:06:37 +02:00
default
b1868d85bb New function encode_html_strict(). 2023-10-04 18:19:38 +02:00
default
5278e89142 Added more calls to xs_match(). 2023-09-21 21:35:34 +02:00
default
749dbef349 Used xs_match() in some places. 2023-09-21 21:25:45 +02:00
default
f8c62fe210 Pinned posts are never purged. 2023-09-18 22:52:27 +02:00
default
f556cb5c7d Show metadata in the public HTML page. 2023-09-18 11:49:27 +02:00
default
5a3c7cf985 Added web UI to store profile metadata (as key/value pairs). 2023-09-18 11:13:30 +02:00
default
d32141eb22 Process Follow Group and Unfollow Group buttons. 2023-09-06 13:58:55 +02:00
default
7eef1b4b5e Added new buttons to Follow/Unfollow Groups. 2023-09-06 13:50:02 +02:00
default
442ba99ada Minor tweak to avoid possible undefined behaviour. 2023-08-29 19:38:53 +02:00
default
29896e2ac6 Renamed label 'Older entries...' back to 'More...'. 2023-08-28 07:59:33 +02:00
default
5518bb509b In HTML images, move the loading=lazy BEFORE the src attribute.
This may (or may not, not completely sure) avoid this Firefox bug:

https://bugzilla.mozilla.org/show_bug.cgi?id=1647077
2023-08-24 06:52:42 +02:00
default
2f8e4645b1 Only show the 'audience' field in the 'Page' post. 2023-08-23 09:47:05 +02:00
default
505084bab7 Added some support for 'Article' object types. 2023-08-23 09:44:46 +02:00
default
b9f4bea0c9 Only use a Link as an attachment if there are no other. 2023-08-19 22:05:12 +02:00
default
31fff8bf19 Show current vote count on mouseover. 2023-08-19 17:16:30 +02:00
default
dae2e406d6 history_add() now creates an etag. 2023-08-19 09:59:58 +02:00
default
5c7b26bcdc static_get() and history_get() both share the same code. 2023-08-19 09:52:04 +02:00
default
5de1a9ce0c Rewritten history_get() prototype to match static_get(). 2023-08-19 09:31:13 +02:00
default
6ede6497ad Convert 'Link' attachments that have a media extension to something more useful. 2023-08-17 17:38:39 +02:00
default
8b28a6894f Header banners can now be uploaded. 2023-08-14 18:33:44 +02:00
default
8c87b6894e Fixed some warning. 2023-08-14 18:04:27 +02:00
default
3f7e3c1d81 Unify the instance description text. 2023-08-14 18:02:20 +02:00
default
16c14060a8 Discard avatar uploads that are not images. 2023-08-14 15:12:09 +02:00
default
2696f62dc5 If the user has a header image, show it the public page. 2023-08-14 15:00:46 +02:00
default
ab41e651d0 Don't show children in the instance timeline. 2023-08-14 11:48:05 +02:00
default
86571f37bb The instance URL can now show a timeline. 2023-08-14 11:24:41 +02:00
default
64111f85bd Some work towards an instance timeline. 2023-08-14 10:08:19 +02:00
default
d291bb16ca Allow a NULL snac struct in html_entry(). 2023-08-12 14:03:44 +02:00
default
cac1c6febd Rewritten actor_get() to not depend on a user. 2023-08-12 11:23:01 +02:00
default
499697258d Rewritten is_msg_public() to not depend on a user. 2023-08-12 09:43:01 +02:00
default
d305f899eb Set the default poll end time to 1 hour. 2023-08-11 12:38:10 +02:00
default
4c6f1a79e4 Added web UI for limit/unlimit actions. 2023-08-10 19:18:24 +02:00
default
18976dc6b8 Revert "Implemented hide_followers_only."
Posts from groups give false positives from hide_followers_only,
so the full idea is discarded.

This reverts commit b3797d2416.
2023-08-09 14:43:27 +02:00
default
cdb201cc04 Revert "Added web interface for hide_followers_only."
This reverts commit 84e8cb419b.
2023-08-09 14:42:38 +02:00
default
84e8cb419b Added web interface for hide_followers_only. 2023-08-09 14:34:22 +02:00
default
b3797d2416 Implemented hide_followers_only. 2023-08-09 14:29:09 +02:00
default
3e5bb109d1 Renamed json dump functions to new xs spec. 2023-08-08 19:29:34 +02:00
default
6f2e407692 Added hints to web UI buttons. 2023-08-07 06:06:04 +02:00
default
f5a3dbf8d6 Use xs_json_dump_pp() wherever possible. 2023-08-03 09:02:08 +02:00
default
a3226b5b7a Don't redir to 'snac-posts', now that the top page is smaller. 2023-08-02 08:47:57 +02:00
default
0f8c0cd694 Updated comment in headers. 2023-07-28 11:34:18 +02:00
Yonle
b2a274df76 html.c: Fix non-list tag object for external custom emoji
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-26 06:10:08 +00:00
default
ede2a38b2b If an image has no description, try the post 'name' field. 2023-07-25 12:36:04 +02:00
default
085c5a545a Simplified attachment iteration in HTML rendering. 2023-07-25 12:31:42 +02:00
default
e6baeadf5f Allow the 'attachment' field of a post to be single object instead of a list.
It seems that Gotosocial does this.
2023-07-25 12:01:42 +02:00
default
2ee74c9a6a Added a 'Back to top' link at the end of the page. 2023-07-24 20:51:24 +02:00
Yonle
3c1dc419ea html.c: Put "User Settings" outside of "Operations".
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-24 23:13:13 +07:00
Yonle
25bb8f0dd2 Rollback to 86f507410b for some reasons.
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-24 22:56:18 +07:00
Yonle
e776bf7e2c html.c: Rollback to e9adaa1f7a, Put "User Settings..." outside of "Operations..."'s <details> element
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-24 20:42:26 +07:00
Yonle
68d03d6d51 html.c: No need to redirect to #snac-posts again.
Form has been minimized with <details> since commit c409d2e,
So there is no need to redirect user to user/admin#snac-posts again.

Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-24 20:15:40 +07:00
Yonle
75e061a9f7 html.c & httpd.c: Fix hardlink.
Some people may still want to post in the web client with such different
way, Such as posting from Yggdrasil / SSH port forwarder, and so on.

This commit gives the workaround for that purpose, However things will
go messed up when current path were ends with / (Like: user/, admin/).

But overall, If user just uses it like normal, Then things will just
worked well as expected.

Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-24 19:42:20 +07:00
default
f67ac2517c Moved user settings to its own page. 2023-07-24 13:31:13 +02:00
default
4823f20085 If a message has an audience, its URL is shown after the content.
Messages coming from channels, communities (Lemmy) or magazines (kbin.social),
have this field set with the "parent" url.
2023-07-19 12:42:32 +02:00
default
7950783d41 Merge branch 'master' of grunfink-codeberg:grunfink/snac2 2023-07-19 11:58:22 +02:00
Yonle
7e273a73eb html.c: RSS: fix.
Feed title, and description is not properly rendered.
So here goes a fix that instead of using encode_html TWICE,

We use sanitize() for feed description instead.

Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-18 23:34:29 +07:00
Yonle
d3e0f7a84b html.c: custom emoji <img>: Resize height to 2em, and put veritcal-align to middle.
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-18 21:16:22 +07:00
default
2700567fca Avoid too deep nesting of html_entry(). 2023-07-18 09:59:16 +02:00
Yonle
fe0d820795 html.c / UX: Give admin page more space
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-17 18:33:15 +07:00
Yonle
98c72db17c html.c: *prev_src at edit: Just use encode_html.
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-15 02:06:10 +07:00