Commit graph

2086 commits

Author SHA1 Message Date
matc-pub e48590b9d6
Use mixins and decorators for scroll restoration and tippy cleanup (#2415)
* Enable @babel/plugin-proposal-decorators

Dependency already exists

* Use tippy.js delegate addon, cleanup tippy instances from a mixin.

The delegate addon creates tippy instances from mouse and touch events
with a matching `event.target`. This is initially significantly cheaper
than creating all instances at once. The addon keeps all created tippy
instances alive until it is destroyed itself.

`tippyMixin` destroys the addon instance after every render, as long as
all instances are hidden. This drops some tippy instances that may have
to be recreated later (e.g when the mouse moves over the trigger again),
but is otherwise fairly cheap (creates one tippy instance).

* Restore scroll positions when resource loading settles.

The history module generates a random string (`location.key`) for every
browser history entry. The names for saved positions include this key.
The position is saved before a route component unmounts or before the
`location.key` changes.

The `scrollMixin` tires to restore the scroll position after every
change of `location.key`. It only does so after the first render for
which the route components `loadingSettled()` returns true.

Things like `scrollToComments` should only scroll when `history.action`
is not "POP".

* Drop individual scrollTo calls

* Scroll to comments without reloading post

---------

Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-04-11 13:18:07 -04:00
snan b983071e79
Fix parent comment linking when not showing context (#2417)
The same code is reused for the "show context" button as for the "link
to self" button. I'm not sure that's such a good idea in the long run.

There was a const `parentCommentId` that was always set even when not
having the `showContext` prop, causing the bug #2401.
2024-04-11 08:58:23 -04:00
SleeplessOne1917 ddd4a98fd7
Block urls (#2409)
* Add markup

* Make textarea reactive

* Fix bug mixing up urls and instances

* Tweak url enforcement logic

* Extract url list textarea to component

* Add translations

* Add pnpm lock to prettier ignore
2024-04-11 08:56:56 -04:00
matc-pub 0dbfe050cf
Fix deselecting community/creator filter for search form (#2416) 2024-04-11 10:43:34 +00:00
Dessalines be10d62257 0.19.4-beta.3 2024-04-10 11:02:20 -04:00
Richard bbe9c610be
fix: add a default margin bottom to ul and ol in a comment field (#2414)
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-04-10 08:46:49 -04:00
Alexander Harding 7c891a42b5
Fix incorrectly escaped user export JSON (#2412)
Resolves https://github.com/LemmyNet/lemmy/issues/4600
2024-04-10 08:15:43 -04:00
Dessalines 0894c77b6c
Adding generate translations to pnpm dev task. (#2410) 2024-04-09 14:03:09 +00:00
Dessalines 9aa1e06ae3
Adding alt_text and custom_thumbnail to post form. (#2404)
* Adding alt_text and custom_thumbnail to post form.

* Adding htmlFor, and only show alt_text if its an image post.

* Only show custom thumbnail url field when its not an image post.
2024-04-04 19:59:13 -04:00
Dessalines 3769a76618
Fix tag failure notifs. (#2403) 2024-04-04 08:28:40 -04:00
Dessalines 1a1cb8fce2 0.19.4-beta.2 2024-04-03 18:40:20 -04:00
Dessalines 4e548d7238 0.19.4-beta.1 2024-04-03 16:50:27 -04:00
Dessalines 18a00168e0 Updating translations. 2024-04-03 16:49:17 -04:00
SleeplessOne1917 23fb711efa
Add matrix account link to create private message form (#2399) 2024-03-28 11:12:06 -04:00
Rodrigo 72553e429b
Adds a loading skeleton to posts, comments and trending communities (#2311)
* creates the initial loading skeleton for the home page

* initial setup for the trending communities loading skeleton

* adds posts loading skeleton to the community page

* finishes the creation of all loading skeletons for large devices

* finishes loading skeleton for smaller screens

* removes unecessary code for the loading skeleton

* [loading skeleton] removes unecessary mock code

* [loading skeleton] removes custom css classes and adds more bootstrap css classes on the skeleton loading

* replaces custom styles with bootstrap classes

* rendes only one component for desktop and mobile screens

Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>

* fixes lint's indentation problems

* transforms span tags into self-closing tags

* removes every inline style from the loading-skeleton.tsx file

---------

Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-03-27 16:25:49 -04:00
Dessalines 4dbf8fd2f1
Fixing woodpecker. (#2402)
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-03-27 13:04:59 -04:00
SleeplessOne1917 ad07fc4fed
Show user email in registration application (#2400)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2024-03-27 10:17:44 -04:00
matc-pub 70e382b3d9
Rework query parsing (#2396)
* Pass parsed query params as props to components

* Pass parsed query params to fetchInitialData

* Pass router Match to fetchInitialData

* Cast individual routes to their concrete types

Adds an IRoutePropsWithFetch definition for routes with getQueryParams
or fetchInitialData to cause compiler errors when the types no longer
match.

* Don't double decode query parameters.

Problem: A search for "%ab" produces a url with "%25ab". Refreshing
the page results in URLSearchParams turning "%25ab" back into "%ab".
decodeURIComponent() then complains about "%ab" being malformed.

This removes decodeURIComponent() calls for query parameters and
composes all query strings with getQueryString(), which now uses
URLSearchParams. Query parsing already goes through getQueryParams()
which also uses URLSearchParams.

* Fix for PictrsImage when src also has query params

* Small getQueryParams cleanup
2024-03-27 09:25:59 -04:00
SleeplessOne1917 579aea40d0
Notify users that they are banned from a community (#2397)
* Add banned blurb to community sidebar

* Hide interactable parts of posts and comments when banned from community

* Add translation

* Fix some typescript errors

* Fix typescript errors

* PR feedback
2024-03-26 19:03:02 -04:00
SleeplessOne1917 610789242b
Fix registration pending translation bug (#2393) 2024-03-22 18:29:22 -04:00
SleeplessOne1917 a860bdd700
Community visibility setting (#2376)
* Update deps

* Add community visibility to community form for editing and creating

* Add translations

* Make visibility display

* Add translations

---------

Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2024-03-14 12:09:11 -04:00
matc-pub 9a5f9dd18a
Do most of the theme handling from the Theme component (#2390)
* Set data-bs-theme attribute from Theme component

* Handle temporary theme changes in Theme component

* Fetch theme list on AdminSettings component mount

* Include CodeTheme in Theme component

* Improve handling of browser-compact theme

---------

Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-03-14 08:33:49 -04:00
matc-pub 201e5fcd53
Lazy loading less common languages for syntax highlighting (#2388)
* Use fewer syntax highlighter languages.

Reduces client.js size by about 250kB (800kB uncompressed)

Common languages:
bash, c, cpp, csharp, css, diff, go, graphql, ini, java, javascript,
json, kotlin, less, lua, makefile, markdown, objectivec, perl,
php-template, php, plaintext, python-repl, python, r, ruby, rust, scss,
shell, sql, swift, typescript, vbnet, wasm, xml, yaml

Additionally enabled languages:
dockerfile, pgsql

* Configurable syntax highlighter languages

Allows to individually enable languages.

* Lazy load syntax highlighter languages

Allows to enable additional languages that will not be autodetected.

* Include highlight.js in dynamic import check
2024-03-14 08:31:07 -04:00
matc-pub e832cd2729
Lazy load translations and date-fns, server side support for "Browser Default" language (#2380)
* Lazy load i18n translations.

* Lazy load date-fns

* Fix inconsistent DOMContentLoaded event.

Only when no translations and date-fns have to be dynamically loaded
(e.g. for en-US) the NavBar `componentDidMount` is early enough to
listen for "DOMContentLoaded".

Removes one redundant `requestNotificationPermission()` call.

* Rename interface language code "pt_BR" to "pt-BR".

Browsers ask for "pt-BR", but the "interface_language" saved in the
settings dialog asks for "pt_BR". This change will make the settings
dialog ask for "pt-BR" instead of "pt_BR". For users that already (or
still) have "pt_BR" configured, "pt-BR" will be used, but the settings
dialog will present it as unspecified.

* Use Accept-Language request header

* Prefetch translation and date-fns

---------

Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-03-13 16:39:45 -04:00
Dessalines c80136ed65
Removing alectrocute and jsit from codeowners. (#2391) 2024-03-13 17:19:07 +00:00
Dessalines 9d10cfe5a1
Adding git-cliff to help generate changelogs. (#2386) 2024-03-08 12:14:05 -05:00
Nutomic 2aff64bcdc
On account deletion add 'delete content' checkbox (fixes #2384) (#2385)
* On account deletion add 'delete content' checkbox (fixes #2384)

* css

* rename

* i18n
2024-03-05 08:58:08 -05:00
SleeplessOne1917 79ed590335
Add badge for local subscribers to communities (#2377)
* Add badge for local subscribers to communities

* Add local subscribers badge

---------

Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-02-27 08:59:18 -05:00
SleeplessOne1917 eb5095b686
Bump dependencies (#2378)
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-02-26 19:16:41 -05:00
SleeplessOne1917 72b3d6b828
Fix links to users and communities not including query in hyperlink (#2368)
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-02-16 17:59:26 -05:00
SleeplessOne1917 5eb97edf09
Make code blocks use correct theme when in dark mode (#2367)
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-02-16 17:57:49 -05:00
SleeplessOne1917 40ade7df88
Hide WYSIWYG buttons when previewing markdown (#2366)
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-02-16 17:57:07 -05:00
Die4Ever 77cd46b35b
always show fedilinks (issue #2160) (#2344)
* always show fedilinks (issue #2160)

* fix comment fedilinks title text

* fix comment links title text

* remove unused local variable

---------

Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-02-16 10:20:49 -05:00
Dessalines 1ff4acc049
Changing security.txt to use github security advisories page. (#2334)
* Changing security.txt to use github security advisories page.

- Fixes #2332

* Adding an expires date, one year from build date.

* Add a year to the build date in code.

* Fix dev.dockerfile build date.

---------

Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-02-16 10:17:15 -05:00
SleeplessOne1917 7cfe9a1a40
Fix scroll bug when modal closes from browser vack button (#2363)
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2024-02-16 08:15:12 -05:00
SleeplessOne1917 cc0177a4aa
Prevent password length error silent truncation (#2364)
* Prevent password fields from silently truncating too-long passwords

* Use existing i18 translation

---------

Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-02-16 08:12:05 -05:00
Kradyz 64c0ba37d2
Show the community name instead of the creator name when appointing a mod (#2358)
Co-authored-by: nanogarden <nanogarden@fakemail.com>
2024-02-06 19:16:15 +00:00
SleeplessOne1917 71c2206405
Update deps (#2357)
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-02-05 23:30:41 -05:00
Jack Linhart ae5a2817aa
increase font sizes on all themes (#2352)
* increase font sizes on all themes

* update SCSS variables so auto-gen themes properly in build
2024-02-04 16:17:38 -05:00
Dessalines 140ff8271c
Move to pnpm (#2345)
* Switch from yarn to pnpm.

* Moving from yarn to pnpm.

* Try 2

* Try 3

* Try 4

* Try 5

* Try 6

* Adding qs.

* Try corepack.

* Remove comment.

* Adding prebuild:dev.

* Some fixes.

* Fixing up husky.

* Fixing up version and others.
2024-01-28 22:09:08 -05:00
Dessalines 1787a778f8 v0.19.3 2024-01-22 08:55:26 -05:00
Dessalines a63b32583f v0.19.3-rc.2 2024-01-20 08:22:29 -05:00
SleeplessOne1917 57b4aacfad
Make it more obvious when a community is locked (#2329)
* Make it more obvious when a community is locked

* Add translations

---------

Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-01-20 08:22:13 -05:00
Dessalines dee4257082
Downgrade sharp. (#2337) 2024-01-19 17:35:17 -05:00
Dessalines 93fc3a7872 v0.19.3-rc.1 2024-01-19 15:48:42 -05:00
Dessalines 1070aafeef
Upgrading deps. (#2336) 2024-01-19 15:48:24 -05:00
Dessalines 60b42a9958 Updating translations. 2024-01-19 15:24:21 -05:00
Dessalines f62953797c
Revert "Fix captcha cache control bug" (#2335) 2024-01-19 13:00:15 -05:00
SleeplessOne1917 d6ce6a1afd
Improve TOTP modal (#2327)
* Improve TOTP modal

* Add submit translation

* Update translations

---------

Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
2024-01-19 10:06:54 -05:00
Dessalines 5ba9da1545
Make a separate post markdown field character limit. (#2331)
Context: https://github.com/LemmyNet/lemmy/issues/3262
2024-01-19 00:54:27 +00:00