Commit graph

40 commits

Author SHA1 Message Date
SleeplessOne1917
643c1f6f01
Make confirm popup for adult consent (#2419)
* Make confirm popup for adult consent

* Fix import

* Fix blur and adjust user settings

* Make confirmation popup more stylish

* Add setting to site settings form

* Fix modal bug

* Put adult consent logic all in one place

* Make modal use markdown

* Fix consent modal showing up for currently logged in admin

* Add go-back redirect countdown

* Center modal title

* Handle enable_nsfw correctly

* Blur background of modal to hide spicy things

* Add translations
2024-04-18 19:54:16 -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
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
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
8a722c939c
Only generate manifest if it isn't already in memory (#2272)
* Only generate manifest if it isn't already in memory

* Remove forward header

---------

Co-authored-by: SleeplessOne <insomnia-void@protonmail.com>
2023-12-06 08:57:31 -05:00
Dessalines
7702c041e5
Move lemmyClient generation into fetchInitialData functions. Fixes #2243 (#2260)
* Trying more ssr fixes. #2243

* Try to enforce cross-fetch again.

* Try to forward cookies.

* Try to forward cookies 2.

* Trying a new cross-fetch.

* Fixing headers

* Fixing some auth issues.

* Fixing isBanned.

* Fix shutdown.

* Pushing up some tries.

* Moving lemmyclient building into fetchInitialData functions.
2023-12-05 03:07:36 +00:00
phiresky
03fcaa0815
fix wrapped http client (#2267)
wrappedhttpclient has two bugs:

1. setHeaders becomes async with errors gobbled up. this is probably not intentional and the result is not awaited at the call site
2. wrappedhttpclient overrides methods in the prototype and not the instance. this means that when a new instance is created, from then on all methdos on all wrappedhttpclients call the inner methods on the newly created client instead of their respective clients

this PR tries to fix both. it is untested so idk if it works

related: #2243
2023-12-04 17:24:15 +00:00
Dessalines
7222632389
Trying another SSR fix. #2243 (#2251) 2023-11-29 09:44:31 -05:00
Dessalines
5ec9baa5a5
Attempting to fix SSR. #2243 (#2247)
Co-authored-by: SleeplessOne1917 <insomnia_void@protonmail.com>
2023-11-28 21:37:56 -05:00
SleeplessOne1917
dd3842655a
Update bs theme when site theme is changed (#2226) 2023-11-17 09:35:43 -05:00
Dessalines
b40a3c3e27
Fixing errors. Fixes #2216 (#2219) 2023-11-13 18:47:03 -05:00
Benjamin Barbeau
2b5068187c
Add code highlighting (#2195)
* Add highlighting

* Adds it to mdNoImages as well

* Revert "Adds it to mdNoImages as well"

This reverts commit 2f8e3bb0cc.

* Revert "Add highlighting"

This reverts commit 80bcddd4df.

* Prevent yarn.lock from massively updating

* Add code themes locally

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-10-20 11:18:13 -04:00
SleeplessOne1917
d9fe7d1488
Remote follow (#1875)
* Redirect to page user was trying to access on login

* Make modal

* Make modal look better

* Forgot to include in merge

* Get rid of modal

* Add external interaction page

* Tweak success page

* Add loading screen for remote fetch and refactor loading ellipses

* Add error state for remote fetch page

* Add card to federation success page

* Bring back remote fetch modal

* Add autofocus to remote fetch modal input

* Redirect for remote fetch

* Remove dummy data

* Remove duplicate functions

* Update translations

* Update translations

* Fix linting error

* Fix linting errors

* feat: Add toasts for remote follow error conditions
2023-09-25 23:32:37 -04:00
SleeplessOne1917
65e669035d
Remove auth from API request body params (#2140)
* chore: Remove auth param from API request bodies

* chore: Update client to use bearer token
2023-09-25 21:07:26 -04:00
Dessalines
9f2289d466
Upgrading deps, running prettier. (#1987) 2023-07-28 16:15:42 -04:00
SleeplessOne1917
dd42bc2a3d
ES-Lint tweak (#2001) 2023-07-28 16:07:16 -04:00
Sander Saarend
546f0ad704
Add nonce-based CSP header (#1907)
* Remove websocket config

* Add nonce based CSP
2023-07-10 14:26:41 -04:00
drumlinish
1774ecdf6c
Disallow /modlog since it is not relevant for bots (#1850) 2023-07-10 10:17:24 -04:00
SleeplessOne1917
322a44bf24
Fix data-bs-theme (#1810)
* Fix data-bs-theme

* Add other dark themes

* Add vaporwave-dark to dark theme list
2023-07-04 16:53:28 -04:00
SleeplessOne1917
a0cf54c0a0
Fix search page breaking on initial load when logged in (#1781)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-07-03 16:43:52 -04:00
Alec Armbruster
af22947c0f
fix req.cookie nonexistent -.- 2023-06-30 10:35:57 -04:00
Diamond
a7592d74bb
Enforce SameSite=Strict (#1713) 2023-06-30 09:51:41 -04:00
Dessalines
6b1ea447e5
Fixing lints. (#1686) 2023-06-29 01:24:52 -04:00
Robert C. Maehl
9a04d0c58e
Add Security.txt (#1408)
* Create security-handler.ts

https://securitytxt.org/

* Add SecurityHandler

* Update security-handler.ts

* Update index.tsx

* Ensure external domain.tld is used

---------

Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
2023-06-28 23:10:13 -04:00
SleeplessOne1917
ef66dfa6fd
Return appropriate error codes (#1665)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-06-28 16:44:26 -04:00
Alec Armbruster
96cf021105
Move password reset form to separate route, view (#1390)
* rework password reset form

* make self-suggested changes

* cleaning

* validate in handlePasswordReset as well

* update submodule

* partially make suggested changes

* make suggested changes

* resolve merge conflicts

* resolve merge conflicts

* resolve merge conflicts

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-06-26 14:54:38 -04:00
Alec Armbruster
9938ac6ee4
fix lint error 2023-06-25 10:47:21 -04:00
Alec Armbruster
d1cf01061b
fix error on prod 2023-06-25 10:43:58 -04:00
Alec Armbruster
8e767f2331
fix merge conflicts 2023-06-22 09:04:25 -04:00
Alec Armbruster
fc40b473d7
move env utils into folder 2023-06-22 09:02:48 -04:00
Alec Armbruster
9fc3da0264
Fix grave ReferenceError: fetch is not defined error (#1460)
* use cross-fetch

* remove from utils usage
2023-06-22 07:42:57 -04:00
SleeplessOne1917
cda9bd0a79
Regenerate manifest on HTTPBase external change (#1459)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-06-21 22:45:21 -04:00
Alec Armbruster
043b522ff1
utils.ts organization, round two (#1427)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update src/shared/utils/app/convert-comment-sort-type.ts

Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>

* prettier pass

---------

Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
2023-06-21 18:28:24 -04:00
Dessalines
5c55b41971
Upgrade lemmy-js-client to 0.18.0-rc.2 (#1445)
* Updating translations.

* Upgrading lemmy-js-client.
2023-06-21 15:08:21 -04:00
SleeplessOne1917
3db4fdddcd
Store manifest in memory so it does not need to be generated for every page request (#1433)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-06-21 07:55:27 -04:00
n3oney
a7d91d3f2c
Merge branch 'main' into patch-1 2023-06-21 00:40:25 +02:00
Alec Armbruster
96abf25d00
fix merge conflicts 2023-06-17 08:07:25 -04:00
Alec Armbruster
b568756b83
formatting 2023-06-16 10:42:35 -04:00
Alec Armbruster
dba041fb90
use tsx ext only when needed 2023-06-16 10:38:40 -04:00
Alec Armbruster
88780ba9ab
refactor server, tidy up, use handlers/middleware/utils pattern 2023-06-16 10:34:36 -04:00