6123 Commits

Author SHA1 Message Date
Valentyne Stigloher
a737012906 (ci) use pnpm 8 because pnpm 9 causes issues with the lockfile which are not trivial to fix without changing package versions 2024-04-18 12:18:50 +02:00
Valentyne Stigloher
f068c94c8b (ide) remove configuration as it has too many unforeseen conflicts and is not convenient 2024-04-18 11:48:13 +02:00
Andrea Vos
0631502c79 Merge remote-tracking branch 'origin/main' 2024-04-17 07:17:13 -05:00
Andrea Vos
b1caf737ca (user)(ui) revamp the account page 2024-04-17 07:16:53 -05:00
tecc
5e3c287e51
feat(rewrite): Users, tokens, authentication, etc.
This is essentially a codedump because there are too many interweaved changes for me to keep track of or separate into smaller, more comprehensible commits.
So, enjoy! This maelstrom of code, torrent of implementations, and other minor changes.
2024-04-17 05:10:02 +02:00
tecc
d9fa2db3fb
fix(gitignore): Ignore entire .idea directory
.gitignore: It's just a nuisance to developer experience when you include `.idea`. A non-insignificant amount of time I spend fiddling with git is only to remove .idea files.
.idea: .idea will be left alone since I don't want to screw over someone's configurations. I just won't be committing those changes.
2024-04-17 04:57:08 +02:00
tecc
0edf59325a
fix(nuxt): nuxt.config.ts fix for Windows
nuxt.config.ts: `__dirname` would not be calculated correctly for Windows, but now it should. I feel like I've fixed this exact issue before in this exact situation before but :|.
2024-04-17 04:57:08 +02:00
tecc
7f31ee8898
feat(rewrite): Authenticator utilities and social lookup definitions (plus other changes)
authenticators: Authenticator utilities are now provided. Most of them are reimplementations of functions found in `src/user.js`.
util-emails: Clarified the intended use case and the function purpose duplication for `validateEmail`.
v1-ApiError: API errors now have an `id` field that may  in the future be used for localising error messages. Some documentation was also added.
2024-04-17 04:57:08 +02:00
tecc
7f45ea00df
feat(rewrite): Mailer (and mail utilities)!
mailer: The mailer is here! The equivalent of `src/mailer.js` has been implemented as `src/util/mailer.ts`, but with a few major differences: it uses Handlebars for templating, and minifies the results.
mailer-tests: Some tests were implemented for the mailer. More need to be made, but that can be done later.
2024-04-17 04:57:08 +02:00
tecc
2c0746cb42
change(rewrite)!: Social lookup uniqueness and other small changes
prisma-SocialLookup: `SocialLookup` is now supported through adding a unique index on every field.
Awaitable:  `Awaitable<T>` is a small global type that just means "anything that can be awaited. It's a counterpart to the default `Awaited` type, for when you want something that will be treated as an async value.
test-tsconfig: The `global.d.ts` file is now included by `backend`'s test tsconfig file. The same has not been done to `common` as it isn't necessary at the moment.
2024-04-17 04:57:07 +02:00
tecc
66168bcca3
feat(rewrite): Static data and key loading
static-data: Static data is now loaded. For now only the logos are loaded, but more may be added in the future. The logos are loaded in a similar fashion to how locale-specific logos are.
keys: Keys can now be loaded. They aren't
2024-04-17 04:57:07 +02:00
tecc
990aabf6d8
feat(rewrite): Locale class toJSON + lastLoaded property, etc.
locale-lastLoaded: `lastLoaded` allows code that uses locales to cache certain values until the locale is reloaded. Useful for hot-reloading locales.
locale-toJSON: The `Locale` class now has a generic `toJSON` implementation should that be necessary, provided by the new `toJSONGeneric` utility.
locale-logo: Locale-specific logos are now stored twice: once as the actual loaded data, and again as a URL. The `locale.logo` property resolves to the URL versions, whereas `locale.logoSource` resolves to the source data.

refreshLocaleDescriptionCaches: `refreshLocaleDescriptionCaches` allows reloading all derived values from the actual loaded data separately from loading everything again. Mainly used in test code but useful nonetheless.
getActiveLocaleDescriptions: The `activeLocaleDescriptions` array is now computed alongside the other cache values in `refreshLocaleDescriptionCaches`.
2024-04-17 04:57:07 +02:00
tecc
3e0ac36204
change(rewrite): Time and identifier utilities + watch script for common, 2024-04-17 04:57:07 +02:00
tecc
e3cbddf294
feat(locales): Fallback locales, translation keys
fallback-locales: Locales can now specify fallbacks. For now these fallbacks are global and not individually configurable, but the code has been written so that adding individual fallbacks will be simple.

dep/dependency-graph: `dependency-graph` was added as a library to prevent locale loading issues where they would be loaded out of order. It might be overkill at the moment, and *definitely* slows down start times, but it's very future-proof.
2024-04-17 04:57:07 +02:00
tecc
d352a1c8d1
test(rewrite): Add tests to backend, update common test config 2024-04-17 04:57:06 +02:00
Andrea Vos
7c2977c118 (user)(ui) revamp the account page 2024-04-16 21:04:35 -05:00
Andrea Vos
44e656744b (user)(ui) revamp the account page 2024-04-16 20:55:39 -05:00
Andrea Vos
0f21051a08 (pl)(census) email subscription 2024-04-15 08:17:05 -05:00
Andrea Vos
7a3f09bc0b (pl)(census) email subscription 2024-04-15 07:59:13 -05:00
Andrea Vos
7da355a1bf (pl)(census) forgot to bump the date 2024-04-15 06:40:44 -05:00
Andrea Vos
f25d4fdb43 Merge branch 'spis-2024-raport' into 'main'
spis 2024

See merge request PronounsPage/PronounsPage!440
2024-04-15 11:39:35 +00:00
Andrea Vos
1a480543a6 (pl)(census) cleanup 2024-04-14 22:33:02 -05:00
Andrea Vos
27eb43f320 (pl)(census) cleanup 2024-04-14 17:04:57 -05:00
Andrea Vos
9b3a316a44 Merge branch 'refs/heads/main' into spis-2024-raport 2024-04-14 17:04:35 -05:00
Andrea Vos
f8fa1f8e78 (pl)(census) raport skrócony 2024-04-14 16:49:12 -05:00
Andrea Vos
0e575e509f (pl)(census) raport skrócony 2024-04-14 16:20:53 -05:00
Andrea Vos
f5153e7899 (pl)(census) raport skrócony 2024-04-14 13:17:23 -05:00
Valentyne Stigloher
0d15228e1e Merge branch 'upgrade-node' into 'main'
(node) upgrade node to 20.12.2

See merge request PronounsPage/PronounsPage!439
2024-04-13 15:29:21 +00:00
Valentyne Stigloher
2c997c5422 (pnpm) improve run wrapper
- calls pnpm in case no bin file is found (e.g. for run-file)
- uses exec to replace shell, so that no additional child process is created
- cds into the repository in case relative files are referenced
2024-04-13 17:19:59 +02:00
Valentyne Stigloher
15f0fb5d44 (node) upgrade node to 20.12.2 2024-04-13 17:19:59 +02:00
Andrea Vos
04c4a47eac (ar)(trans) 2024-04-13 11:10:54 +02:00
Andrea Vos
c89ededbf7 (pl)(spis) fixes 2024-04-08 21:00:02 +02:00
Valentyne Stigloher
959efbe4eb (fix) dark mode on _ and cards 2024-04-08 18:43:49 +02:00
Valentyne Stigloher
f2fc402dac disable modern bundles because it is not worth the trade off of longer deployment times to user performance for now
reverts commit 84c42a02ca6fa213022150722dc3dad20201229c.
2024-04-08 16:41:18 +02:00
Valentyne Stigloher
dfde62ff37 Merge branch 'dark-mode-ssr' into 'main'
various nuxt improvements

See merge request PronounsPage/PronounsPage!436
2024-04-08 13:08:56 +00:00
Valentyne Stigloher
720d57bbe8 (cookies) add SameSite=Lax by default and upgrade some cookies in their length for consistency 2024-04-08 14:52:18 +02:00
Valentyne Stigloher
84c42a02ca (nuxt) enable modern bundles to improve performance for browsers understanding ES modules 2024-04-08 14:52:18 +02:00
Valentyne Stigloher
03058e3488 (nuxt) replace datetimepicker plugin with dynamic import to reduce initial bundle size 2024-04-08 14:52:18 +02:00
Valentyne Stigloher
898b112772 (nuxt) use ClientOnly implicitely as it is automatically imported by Nuxt 2024-04-08 14:52:18 +02:00
Valentyne Stigloher
a805f20c4a (nuxt) use inject instead of of changing Vue prototype
according to https://v2.nuxt.com/docs/directory-structure/plugins#inject-in-root--context this could lead to a server-side memory leak
2024-04-08 14:52:18 +02:00
Valentyne Stigloher
02f7bdc3b1 (style) save effective darkMode to cookies to make it accessible in ssr 2024-04-08 14:52:16 +02:00
Valentyne Stigloher
11f253583b (refactor) remove process.client checks in mounted as it is not executed in ssr anyway 2024-04-08 14:29:24 +02:00
Valentyne Stigloher
7ab70a9bf4 Merge branch 'pnpm' into 'main'
pnpm

See merge request PronounsPage/PronounsPage!437
2024-04-08 12:28:54 +00:00
Valentyne Stigloher
c3246be4ee (pnpm) add run wrapper to ease access to correct node version from external contexts
nvm takes quite a long time so the file is accessed directly
2024-04-08 14:03:41 +02:00
Valentyne Stigloher
c07d6078c2 (pnpm) migrate from yarn to pnpm
pnpm has run-script as alias so that is not possible to use as a script name, renamed ours to run-file
shamefully-hoist is necessary for now for the resolve dependency
2024-04-08 14:03:41 +02:00
Valentyne Stigloher
9379056070 (dependencies) upgrade nuxt and vue to latest v2 version 2024-04-08 14:03:41 +02:00
Andrea Vos
768b27daf8 (blog)(pl) typo 2024-04-08 09:48:16 +02:00
Andrea Vos
9e46c72ac3 (perf) some low hanging fruit from https://kerkour.com/sqlite-for-servers to optimise sqlite for a web server 2024-04-07 15:26:17 +02:00
Valentyne Stigloher
df2d9a521d Merge branch 'upgrade-node' into 'main'
upgrade node to 18.20.1

See merge request PronounsPage/PronounsPage!438
2024-04-06 16:11:28 +00:00
Valentyne Stigloher
ca92aaf9ca (node) upgrade node to 18.20.1
ts-node needs to be configured differently to keep working, so run-script is used to abstract away the necessary arguments
2024-04-06 14:15:30 +02:00