fix: standardize relative timestamping (#3612)

* fix(frontend): relative timestamps are incorrectly rounded.

Closes: #1371

* fix(all): remove legacy fromNow for proper relative timestamp creation

Closes: #1395
This commit is contained in:
Calum H.
2025-05-07 22:37:35 +01:00
committed by GitHub
parent 6d57da2053
commit 1884410e0d
33 changed files with 233 additions and 150 deletions

140
pnpm-lock.yaml generated
View File

@@ -82,7 +82,7 @@ importers:
version: 1.11.11
floating-vue:
specifier: ^5.2.2
version: 5.2.2(@nuxt/kit@3.14.1592(magicast@0.3.5))(vue@3.5.13(typescript@5.5.4))
version: 5.2.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.9))(vue@3.5.13(typescript@5.5.4))
ofetch:
specifier: ^1.3.4
version: 1.4.1
@@ -420,6 +420,9 @@ importers:
'@types/markdown-it':
specifier: ^14.1.1
version: 14.1.1
'@vintl/how-ago':
specifier: ^3.0.1
version: 3.0.1(@formatjs/intl@2.10.4(typescript@5.5.4))
apexcharts:
specifier: ^3.44.0
version: 3.49.2
@@ -9139,34 +9142,6 @@ snapshots:
- supports-color
- typescript
'@nuxt/kit@3.14.1592(magicast@0.3.5)':
dependencies:
'@nuxt/schema': 3.14.1592(magicast@0.3.5)
c12: 2.0.1(magicast@0.3.5)
consola: 3.2.3
defu: 6.1.4
destr: 2.0.3
globby: 14.0.2
hash-sum: 2.0.0
ignore: 6.0.2
jiti: 2.4.1
klona: 2.0.6
knitwork: 1.1.0
mlly: 1.7.3
pathe: 1.1.2
pkg-types: 1.2.1
scule: 1.3.0
semver: 7.7.1
ufo: 1.5.4
unctx: 2.3.1
unimport: 3.14.4
untyped: 1.5.1
transitivePeerDependencies:
- magicast
- rollup
- supports-color
optional: true
'@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@3.29.4)':
dependencies:
'@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@3.29.4)
@@ -9222,20 +9197,27 @@ snapshots:
- rollup
- supports-color
'@nuxt/schema@3.14.1592(magicast@0.3.5)':
'@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.9)':
dependencies:
'@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.34.9)
c12: 2.0.1(magicast@0.3.5)
compatx: 0.1.8
consola: 3.2.3
defu: 6.1.4
hookable: 5.5.3
destr: 2.0.3
globby: 14.0.2
hash-sum: 2.0.0
ignore: 6.0.2
jiti: 2.4.1
klona: 2.0.6
knitwork: 1.1.0
mlly: 1.7.3
pathe: 1.1.2
pkg-types: 1.2.1
scule: 1.3.0
std-env: 3.8.0
semver: 7.7.1
ufo: 1.5.4
uncrypto: 0.1.3
unimport: 3.14.4
unctx: 2.3.1
unimport: 3.14.4(rollup@4.34.9)
untyped: 1.5.1
transitivePeerDependencies:
- magicast
@@ -9284,6 +9266,27 @@ snapshots:
- rollup
- supports-color
'@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.34.9)':
dependencies:
c12: 2.0.1(magicast@0.3.5)
compatx: 0.1.8
consola: 3.2.3
defu: 6.1.4
hookable: 5.5.3
pathe: 1.1.2
pkg-types: 1.2.1
scule: 1.3.0
std-env: 3.8.0
ufo: 1.5.4
uncrypto: 0.1.3
unimport: 3.14.4(rollup@4.34.9)
untyped: 1.5.1
transitivePeerDependencies:
- magicast
- rollup
- supports-color
optional: true
'@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@4.28.1)':
dependencies:
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
@@ -9370,7 +9373,7 @@ snapshots:
'@nuxtjs/eslint-config-typescript@12.1.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4)':
dependencies:
'@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1))
'@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1))
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4)
'@typescript-eslint/parser': 6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4)
eslint: 9.13.0(jiti@2.4.1)
@@ -9383,10 +9386,10 @@ snapshots:
- supports-color
- typescript
'@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1))':
'@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1))':
dependencies:
eslint: 9.13.0(jiti@2.4.1)
eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1)))(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@2.4.1)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1))
eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@2.4.1)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1))
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1))
eslint-plugin-n: 15.7.0(eslint@9.13.0(jiti@2.4.1))
eslint-plugin-node: 11.1.0(eslint@9.13.0(jiti@2.4.1))
@@ -9626,6 +9629,15 @@ snapshots:
optionalDependencies:
rollup: 4.28.1
'@rollup/pluginutils@5.1.3(rollup@4.34.9)':
dependencies:
'@types/estree': 1.0.6
estree-walker: 2.0.2
picomatch: 4.0.2
optionalDependencies:
rollup: 4.34.9
optional: true
'@rollup/pluginutils@5.1.4(rollup@4.34.9)':
dependencies:
'@types/estree': 1.0.6
@@ -11956,10 +11968,10 @@ snapshots:
dependencies:
eslint: 9.13.0(jiti@2.4.1)
eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1)))(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@2.4.1)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1)):
eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@2.4.1)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1)):
dependencies:
eslint: 9.13.0(jiti@2.4.1)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1))
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.1(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint@9.13.0(jiti@2.4.1))
eslint-plugin-n: 15.7.0(eslint@9.13.0(jiti@2.4.1))
eslint-plugin-promise: 6.4.0(eslint@9.13.0(jiti@2.4.1))
@@ -11985,7 +11997,7 @@ snapshots:
debug: 4.4.0(supports-color@9.4.0)
enhanced-resolve: 5.17.1
eslint: 9.13.0(jiti@2.4.1)
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1))
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1))
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.1(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint@9.13.0(jiti@2.4.1))
fast-glob: 3.3.2
get-tsconfig: 4.7.5
@@ -11997,7 +12009,7 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@2.4.1)))(eslint@9.13.0(jiti@2.4.1)):
eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@2.4.1)):
dependencies:
debug: 3.2.7
optionalDependencies:
@@ -12579,13 +12591,13 @@ snapshots:
optionalDependencies:
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
floating-vue@5.2.2(@nuxt/kit@3.14.1592(magicast@0.3.5))(vue@3.5.13(typescript@5.5.4)):
floating-vue@5.2.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.34.9))(vue@3.5.13(typescript@5.5.4)):
dependencies:
'@floating-ui/dom': 1.1.1
vue: 3.5.13(typescript@5.5.4)
vue-resize: 2.0.0-alpha.1(vue@3.5.13(typescript@5.5.4))
optionalDependencies:
'@nuxt/kit': 3.14.1592(magicast@0.3.5)
'@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.34.9)
for-each@0.3.3:
dependencies:
@@ -16017,26 +16029,6 @@ snapshots:
trough: 2.2.0
vfile: 6.0.3
unimport@3.14.4:
dependencies:
'@rollup/pluginutils': 5.1.3(rollup@4.28.1)
acorn: 8.14.0
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
local-pkg: 0.5.1
magic-string: 0.30.14
mlly: 1.7.3
pathe: 1.1.2
picomatch: 4.0.2
pkg-types: 1.2.1
scule: 1.3.0
strip-literal: 2.1.1
tinyglobby: 0.2.10
unplugin: 1.16.0
transitivePeerDependencies:
- rollup
optional: true
unimport@3.14.4(rollup@3.29.4):
dependencies:
'@rollup/pluginutils': 5.1.3(rollup@3.29.4)
@@ -16076,6 +16068,26 @@ snapshots:
transitivePeerDependencies:
- rollup
unimport@3.14.4(rollup@4.34.9):
dependencies:
'@rollup/pluginutils': 5.1.3(rollup@4.34.9)
acorn: 8.14.0
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
local-pkg: 0.5.1
magic-string: 0.30.14
mlly: 1.7.3
pathe: 1.1.2
picomatch: 4.0.2
pkg-types: 1.2.1
scule: 1.3.0
strip-literal: 2.1.1
tinyglobby: 0.2.10
unplugin: 1.16.0
transitivePeerDependencies:
- rollup
optional: true
unist-util-find-after@5.0.0:
dependencies:
'@types/unist': 3.0.3