Commit graph

644 commits

Author SHA1 Message Date
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
Yonle
1dc61ace13 html.c: Probably put placeholder on certain input and textboxes
Signed-off-by: Yonle <yonle@lecturify.net>
2023-07-15 00:42:52 +07:00
default
3e21aafb26 Fixed crash on empty static and history objects. 2023-07-14 14:59:50 +02:00