David Leek
c7f13aec0b
chore: implement created_by_user_id in features ( #5994 )
...
## About the changes
Adds a scheduled task that every 5 seconds updates 500 entries in the
features table setting `created_by_user_id`.
It does this by looking at the related event, checks created_by and
joins users table for match on username or email, and joins api_tokens
table on username matches. Then picks either a users id if set, or uses
-42 (admin token user)
2024-01-25 13:09:30 +01:00
Gastón Fournier
c5afa8ff11
fix: unauthorized disable feature ( #5982 )
...
## About the changes
This was spotted while testing automated actions. Steps to reproduce:
1. Add an editor user
2. Get a PAT for the editor user
3. As Admin create a feature in a project where the editor user is not a
member and enable the feature
4. Try using the editor's PAT to modify the feature
5. As the editor create a project (you'd be made owner) and try the same
request but just change the project name for the new project just
created (don't change anything else)
**Expected behavior**: you can't disable the feature
**Actual behavior**: the feature is disabled
This does not happen when trying to turn on a flag because during the
turn-on process we do validate if the feature belongs to project when we
call updateStrategy:
c18a7c0dc2/src/lib/features/feature-toggle/feature-toggle-service.ts (L1751-L1764)
2024-01-22 12:50:14 +01:00
Gastón Fournier
b91df61994
chore: re use extract user methods ( #5947 )
...
## About the changes
1. Re-use existing methods in extract-user.ts:
70f6a07f2c/src/lib/features/events/event-service.ts (L93-L101)
2. Move event-service and event-store to features/event
3. Add export default in previous paths for backward compatibility:
70f6a07f2c/src/lib/services/event-service.ts (L1-L4)
and
70f6a07f2c/src/lib/db/event-store.ts (L1-L4)
2024-01-18 13:15:21 +01:00
Daniel Brooks
1392b10727
fix(import): making all imports relative and removing baseUrl ( #5847 )
...
Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
2024-01-17 15:33:03 +02:00
Mateusz Kwasniewski
16691d72d7
refactor: metrics in feature oriented architecture ( #5919 )
2024-01-17 09:14:31 +01:00
Gastón Fournier
2ddc56927e
chore: centralize events service creation ( #5910 )
...
## About the changes
EventsService is a dependency in most of our services. This creates
helper methods to create them easily and replace a few places where
we're creating them manually
2024-01-16 13:11:28 +01:00
Christopher Kolstad
5a3bb1ffc3
Biome1.5.1 ( #5867 )
...
Lots of work here, mostly because I didn't want to turn off the
`noImplicitAnyLet` lint. This PR tries its best to type all the untyped
lets biome complained about (Don't ask me how many hours that took or
how many lints that was >200...), which in the future will force test
authors to actually type their global variables setup in `beforeAll`.
---------
Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2024-01-12 09:25:59 +00:00
Nuno Góis
b496990f79
chore: add no unused imports biome rule ( #5855 )
...
Adds a Biome rule for "no unused imports", which is something we
sometimes have trouble catching.
We're adding this as a warning for now. It is safely and easily fixable
with `yarn lint:fix`.
![image](https://github.com/Unleash/unleash/assets/14320932/fd84dea8-6b20-4ba5-bfd8-047b9dcf2bff )
![image](https://github.com/Unleash/unleash/assets/14320932/990bb0b0-760a-4c5e-8136-d957e902bf0b )
2024-01-11 12:44:05 +00:00
Christopher Kolstad
e993846471
task: add timer for client feature query ( #5734 )
...
Adds a database query timer for the client features query.
2024-01-02 16:02:03 +01:00
Jaanus Sellin
dc0df235dd
chore: remove private projects flag ( #5743 )
2024-01-02 15:53:26 +02:00
David Leek
9ac1070f43
feat: implement createdByUserId for all features ( #5725 )
...
## About the changes
Implements setting values on the created_by_user_id column on the
features table in the db
2023-12-22 14:33:16 +01:00
Mateusz Kwasniewski
029af91e9e
fix: is after undefined parsing ( #5718 )
2023-12-21 13:25:10 +01:00
Mateusz Kwasniewski
60d3768ab1
fix: copy last seen at from env ( #5713 )
2023-12-21 12:37:28 +01:00
David Leek
4e56d1d8d5
feat: implement column created_by_user_id in feature_tag ( #5695 )
...
## About the changes
Adds the new nullable column created_by_user_id to the data used by
feature-tag-store and feature-tag-service. Also updates openapi schemas.
2023-12-21 10:00:45 +01:00
Mateusz Kwasniewski
7800d9d1b4
feat: export all features in project ( #5677 )
2023-12-19 08:57:10 +01:00
Jaanus Sellin
fa087fb473
refactor: move search implementation out of strategies store ( #5642 )
...
This is first step of refactoring. Next steps follow with possibly a
query builder, or atleast using some reusable methods.
2023-12-14 15:45:36 +02:00
Christopher Kolstad
bfa82d79bf
feat: adds created_by_user_id to all events ( #5619 )
...
### What
Adds `createdByUserId` to all events exposed by unleash. In addition
this PR updates all tests and usages of the methods in this codebase to
include the required number.
2023-12-14 13:45:25 +01:00
Jaanus Sellin
d9648de08d
chore: rename is not any of to is none of ( #5544 )
2023-12-06 12:53:51 +02:00
Mateusz Kwasniewski
26f9cf98d5
refactor: feature oriented architecture for project-environment ( #5510 )
2023-12-01 12:41:46 +01:00
Jaanus Sellin
63f6af06da
feat: new project overview backend ( #5344 )
...
Adding new project overview endpoint and deprecating the old one.
The new one has extra info about feature types, but does not have
features anymore, because features are coming from search endpoint.
2023-12-01 11:20:24 +02:00
Jaanus Sellin
feae69643c
feat: created date operators for search ( #5513 )
...
1. Added operators for created date
2. Added better descriptions for searchable fields
2023-11-30 12:00:39 +02:00
Fredrik Strand Oseberg
e5760b5690
Feat: remove last seen refactor flag ( #5423 )
...
What it says on the box
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: andreas-unleash <andreas@getunleash.ai>
2023-11-30 10:17:50 +02:00
Jaanus Sellin
a743ca0df6
feat: add operators for state filtering ( #5497 )
...
No changes in store needed, already utilizing reusable logic.
2023-11-29 15:22:42 +02:00
Jaanus Sellin
d73a2937a7
feat: search now also returns project ( #5488 )
2023-11-29 12:13:41 +02:00
Jaanus Sellin
5fd1c16def
feat: operators for segments ( #5485 )
...
1. Added way to filter segments
2. Refactored some code, so tags and segments use same SQL methods.
2023-11-29 10:40:25 +02:00
Jaanus Sellin
51f87bdfd9
feat: search now also returns segments used ( #5429 )
2023-11-28 21:34:57 +02:00
Mateusz Kwasniewski
2965daa195
feat: project environment added and removed events ( #5459 )
2023-11-28 12:58:30 +01:00
renovate[bot]
c7498dcac6
chore(deps): update dependency @biomejs/biome to v1.4.0 ( #5288 )
...
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg )](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@biomejs/biome](https://biomejs.dev )
([source](https://togithub.com/biomejs/biome )) | [`1.3.3` ->
`1.4.0`](https://renovatebot.com/diffs/npm/@biomejs%2fbiome/1.3.3/1.4.0 )
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@biomejs%2fbiome/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@biomejs%2fbiome/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@biomejs%2fbiome/1.3.3/1.4.0?slim=true )](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>biomejs/biome (@​biomejs/biome)</summary>
###
[`v1.4.0`](https://togithub.com/biomejs/biome/blob/HEAD/CHANGELOG.md#140-2023-11-27 )
[Compare
Source](af24597c18...889593e3f9
)
##### CLI
- Remove the CLI options from the `lsp-proxy`, as they were never meant
to be passed to that command. Contributed by
[@​ematipico](https://togithub.com/ematipico )
- Add option `--config-path` to `lsp-proxy` and `start` commands. It's
now possible to tell the Daemon server to load `biome.json` from a
custom path. Contributed by
[@​ematipico](https://togithub.com/ematipico )
- Add new `--diagnostic-level` option to let users control the level of
diagnostics printed by the CLI. Possible values are: `"info"`, `"warn"`,
`"hint"`. Contributed by
[@​simonxabris](https://togithub.com/simonxabris )
- Add option `--line-feed` to the `format` command. Contributed by
[@​SuperchupuDev](https://togithub.com/SuperchupuDev )
- Add option `--bracket-same-line` to the `format` command. Contributed
by [@​faultyserve](https://togithub.com/faultyserve )
- Add option `--bracket-spacing` to the `format` command. Contributed by
[@​faultyserve](https://togithub.com/faultyserve )
##### Bug fixes
- Fix the command `format`, now it returns a non-zero exit code when if
there pending diffs. Contributed by
[@​ematipico](https://togithub.com/ematipico )
##### Configuration
- Add option `formatter.lineFeed`. Contributed by
[@​SuperchupuDev](https://togithub.com/SuperchupuDev )
- Add option `javascript.formatter.bracketSameLine`. Contributed by
[@​faultyserve](https://togithub.com/faultyserve )
- Add option `javascript.formatter.bracketSpacing`. Contributed by
[@​faultyserve](https://togithub.com/faultyserve )
##### Formatter
##### New features
- Add a new option
[`--line-ending`](https://biomejs.dev/reference/configuration/#formatterlineending ).
This option allows changing the type of line endings. Contributed by
[@​SuperchupuDev](https://togithub.com/SuperchupuDev )
- Added a new option called `--bracket-spacing` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#​627](https://togithub.com/biomejs/biome/issues/627 ).
Contributed by [@​faultyserver](https://togithub.com/faultyserver )
- Added a new option called `--bracket-same-line` to the formatter. This
option allows you to control whether spaces are inserted around the
brackets of object literals.
[#​627](https://togithub.com/biomejs/biome/issues/627 ).
Contributed by [@​faultyserver](https://togithub.com/faultyserver )
##### Bug fixes
- Fix [#​832](https://togithub.com/biomejs/biome/issues/832 ), the
formatter no longer keeps an unnecessary trailing comma in type
parameter lists. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​301](https://togithub.com/biomejs/biome/issues/301 ), the
formatter should not break before the `in` keyword. Contributed by
[@​ematipico](https://togithub.com/ematipico )
##### Linter
##### Promoted rules
-
[a11y/noInteractiveElementToNoninteractiveRole](https://biomejs.dev/linter/rules/no-interactive-element-to-noninteractive-role )
-
[complexity/noThisInStatic](https://biomejs.dev/linter/rules/no-this-in-static )
-
[complexity/useArrowFunction](https://biomejs.dev/linter/rules/use-arrow-function )
-
[correctness/noEmptyCharacterClassInRegex](https://biomejs.dev/linter/rules/no-empty-character-class-in-regex )
-
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin )
-
[style/noUselessElse](https://biomejs.dev/linter/rules/no-useless-else )
-
[style/useAsConstAssertion](https://biomejs.dev/linter/rules/use-as-const-assertion )
-
[style/useShorthandAssign](https://biomejs.dev/linter/rules/use-shorthand-assign )
-
[suspicious/noApproximativeNumericConstant](https://biomejs.dev/linter/rules/no-approximative-numeric-constant )
-
[suspicious/noMisleadingInstantiator](https://biomejs.dev/linter/rules/no-misleading-instantiator )
-
[suspicious/noMisrefactoredShorthandAssign](https://biomejs.dev/linter/rules/no-misrefactored-shorthand-assign )
The following rules are now recommended:
- [a11y/noAccessKey](https://biomejs.dev/linter/rules/no-access-key )
-
[a11y/useHeadingContent](https://biomejs.dev/linter/rules/use-heading-content )
-
[complexity/useSimpleNumberKeys](https://biomejs.dev/linter/use-simple-number-keys )
The following rules are now deprecated:
-
[correctness/noNewSymbol](https://biomejs.dev/linter/rules/no-new-symbol )
The rule is replaced by
[correctness/noInvalidNewBuiltin](https://biomejs.dev/linter/rules/no-invalid-new-builtin )
##### New features
- Add
[noDefaultExport](https://biomejs.dev/linter/rules/no-default-export )
which disallows `export default`. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Add
[noAriaHiddenOnFocusable](https://biomejs.dev/linter/rules/no-aria-hidden-on-focusable )
which reports hidden and focusable elements. Contributed by
[@​vasucp1207](https://togithub.com/vasucp1207 )
- Add
[noImplicitAnyLet](https://biomejs.dev/linter/rules/no-implicit-any-let )
that reports variables declared with `let` and without initialization
and type annotation. Contributed by
[@​TaKO8Ki](https://togithub.com/TaKO8Ki ) and
[@​b4s36t4](https://togithub.com/b4s36t4 )
- Add [useAwait](https://biomejs.dev/linter/rules/use-await ) that
reports `async` functions that don't use an `await` expression.
- Add
[useValidAriaRole](https://biomejs.dev/linter/rules/use-valid-aria-role ).
Contributed by [@​vasucp1207](https://togithub.com/vasucp1207 )
- Add [useRegexLiterals](https://biomejs.dev/linter/use-regex-literals )
that suggests turning call to the regex constructor into regex literals.
COntributed by [@​Yuiki](https://togithub.com/Yuiki )
##### Enhancements
- Add an unsafe code fix for
[a11y/useAriaActivedescendantWithTabindex](https://biomejs.dev/linter/rules/use-aria-activedescendant-with-tabindex )
##### Bug fixes
- Fix [#​639](https://togithub.com/biomejs/biome/issues/639 ) by
ignoring unused TypeScript's mapped key. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​565](https://togithub.com/biomejs/biome/issues/565 ) by
handling several `infer` with the same name in extends clauses of
TypeScript's conditional types. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​653](https://togithub.com/biomejs/biome/issues/653 ).
[noUnusedImports](https://biomejs.dev/linter/rules/no-unused-imports )
now correctly removes the entire line where the unused `import` is.
Contributed by [@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​607](https://togithub.com/biomejs/biome/issues/609 )
`useExhaustiveDependencies`, ignore optional chaining, Contributed by
[@​msdlisper](https://togithub.com/msdlisper )
- Fix [#​676](https://togithub.com/biomejs/biome/issues/676 ), by
using the correct node for the `"noreferrer"` when applying the code
action. Contributed by
[@​ematipico](https://togithub.com/ematipico )
- Fix [#​455](https://togithub.com/biomejs/biome/issues/455 ). The
CLI can now print complex emojis to the console correctly.
- Fix [#​727](https://togithub.com/biomejs/biome/issues/727 ).
[noInferrableTypes](https://biomejs.dev/linter/rules/no-inferrable-types )
now correctly keeps type annotations when the initialization expression
is `null`. Contributed by
[@​Conaclos](https://togithub.com/Conaclos )
- Fix [#​784](https://togithub.com/biomejs/biome/issues/784 ),
[noSvgWithoutTitle](https://biomejs.dev/linter/rules/no-svg-without-title )
fixes false-positives to `aria-label` and reports svg's role attribute
is implicit. Contributed by
[@​unvalley](https://togithub.com/unvalley )
- Fix [#​834](https://togithub.com/biomejs/biome/issues/834 ) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements )
reports block statements of switch clauses. Contributed by
[@​vasucp1207](https://togithub.com/vasucp1207 )
- Fix [#​783](https://togithub.com/biomejs/biome/issues/834 ) that
made
[noUselessLoneBlockStatements](https://biomejs.dev/linter/rules/no-useless-lone-block-statements )
reports block statements of `try-catch` structures. Contributed by
[@​hougesen](https://togithub.com/hougesen )
- Fix [#​69](https://togithub.com/biomejs/biome/issues/69 ) that
made
[correctness/noUnnecessaryContinue](https://biomejs.dev/linter/rules/no-unnecessary-continue )
incorrectly reports a `continue` used to break a switch clause.
Contributed by [@​TaKO8Ki](https://togithub.com/TaKO8Ki )
- Fix [#​664](https://togithub.com/biomejs/biome/issues/664 ) by
improving the diagnostic of
[style/useNamingConvention](https://biomejs.dev/linter/use-naming-convention )
when double capital are detected in strict camel case mode. Contributed
by [@​vasucp1207](https://togithub.com/vasucp1207 )
- Fix [#​643](https://togithub.com/biomejs/biome/issues/643 ) that
erroneously parsed the option of
[complexity/useExhaustiveDependencies](https://biomejs.dev/linter/use-naming-convention ).
Contributed by [@​arendjr](https://togithub.com/arendjr )
##### Parser
##### Bug fixes
- Fix [#​846](https://togithub.com/biomejs/biome/issues/846 ) that
erroneously parsed `<const T,>() => {}` as a JSX tag instead of an arrow
function when both TypeScript and JSX are enabled.
##### VSCode
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40Ni4wIiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Christopher Kolstad <chriswk@getunleash.io>
2023-11-28 09:32:00 +00:00
Mateusz Kwasniewski
d6483a5f22
fix: format after biome update ( #5439 )
2023-11-27 15:05:03 +01:00
Mateusz Kwasniewski
de287a75fe
chore: remove dependent feature flags ( #5419 )
2023-11-27 14:54:40 +01:00
Jaanus Sellin
abf57d1c70
feat: tag operators for search api ( #5425 )
...
Added new operators INCLUDE, DO NOT INCLUDE, INCLUDE ALL OF, INCLUDE ANY
OF, EXCLUDE IF ANY OF, and EXCLUDE ALL and now support filtering by
tags.
2023-11-27 15:48:41 +02:00
Christopher Kolstad
c179c8ad5e
chore(update): Updates biome config to 1.3 format ( #5421 )
...
Does what it says on the tin, update to 1.3.x format for biome config
2023-11-27 13:42:58 +01:00
Gastón Fournier
d680e50055
feat: audit roles ( #5408 )
...
## About the changes
Audit changes to roles both root and project roles.
2023-11-24 14:22:31 +01:00
Jaanus Sellin
b0c05111c6
feat: allow filtering projects with operators ( #5400 )
...
This is first iteration. When we add more fields to be filterable with
operators, we can have more reusable components for this.
2023-11-24 10:45:44 +02:00
Fredrik Strand Oseberg
a8ea8d3fbe
Fix/clean last seen environments ( #5402 )
...
This PR addresses some cleanup related to removing the
useLastSeenRefactor flag:
* Added fallback last seen to the feature table last_seen_at column
* Remove foreign key on environment since we can not guarantee that we
will get valid data in this field
* Add environments to cleanup function
* Add test for cleanup environments
2023-11-23 12:12:58 +01:00
andreas-unleash
1dafc85eaa
chore: remove playgroundImprovements flag ( #5384 )
...
Closes #:
[1-1647](https://linear.app/unleash/issue/1-1647/clean-playgroundimprovements-flag-for-release )
[1-1665](https://linear.app/unleash/issue/1-1665/flaky-test-playgroundconnectionfieldsettesttsx )
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-23 10:50:19 +02:00
andreas-unleash
3e12c2b5b6
Chore: remove disableEnvsOnRevive flag ( #5391 )
...
Closes #
[1-1646](https://linear.app/unleash/issue/1-1646/clean-disableenvsonrevive-flag-for-release )
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-23 10:10:37 +02:00
Jaanus Sellin
432aed3034
feat: support multiple terms in search, remove tag support in search ( #5395 )
...
1. Removing tag support in search
2. Adding multi keyword support for search
2023-11-22 15:06:07 +02:00
Jaanus Sellin
68558fc774
feat: able to search by description ( #5392 )
2023-11-22 14:08:52 +02:00
Jaanus Sellin
1429b54957
feat: sorting by last seen, environments now working properly ( #5376 )
...
Now calculates final ranks also, if there are some ranks missing from
duplicates.
2023-11-21 15:19:06 +02:00
Jaanus Sellin
62dbf8d12f
fix: last seen is now using last seen values from new table ( #5380 )
...
In short the issue is that after our last seen improvements, we did not
update where we are getting last_seen field. It was still using features
table, which is not the source of last seen anymore.
2023-11-21 14:44:41 +02:00
Jaanus Sellin
e79e30de96
fix: total number should be correct now in search ( #5355 )
...
The issue was that we all features were created exactly in same time,
and our feature counter waas expecting time to be unique to feature,
which was not the case.
2023-11-21 09:08:20 +01:00
Thomas Heartman
0ba99a6162
fix: handle check against non existing projects ( #5368 )
...
Instead of throwing an error when the project doesn't exist, we say that
the names are valid, because we have nothing to say that they're not.
Presumably there is already something in place to prevent you from
importing into a non-existent project.
2023-11-20 16:02:41 +00:00
Thomas Heartman
90d6c7c0ba
chore: remove usage of feature naming pattern flag ( #5364 )
...
In preparation for this feature going GA
2023-11-20 12:42:24 +01:00
Jaanus Sellin
f3df3a31bf
feat: fix paging in sql by using common table expressions ( #5343 )
...
Optimizations:
1. Removed extra round trip to database to count environments
2. Removed extra round trip to database to count features
Fixes:
Currently, we were using a very optimistic query to set correct limit
and offset. This breaks as soon we we join tags.
` query = query
.select(selectColumns)
.limit(limit * environmentCount)
.offset(offset * environmentCount);`
The solution was to use common table expressions, so we could count and
rank features.
2023-11-16 10:34:44 +02:00
Jaanus Sellin
4e1040c849
feat: connect sort table to backend ( #5338 )
...
Now FE sorting is done in backend.
2023-11-15 16:01:02 +02:00
Tymoteusz Czech
fd3a7f12cb
chore: remove featureSwitchRefactor flag ( #5329 )
...
Cleanup. This change has been rolled out to significant number of
customers already, and we have another parallel version behind a flag.
2023-11-14 13:03:23 +01:00
Jaanus Sellin
5d762dcb39
feat: sort favorites on the backend ( #5326 )
...
Now favorites will be always on first page, if pinned.
2023-11-14 09:22:35 +02:00
Jaanus Sellin
5782efa6c0
chore: move sort order validation closer to store due to possible SQL injection ( #5322 )
2023-11-13 12:43:12 +02:00
Jaanus Sellin
00327c359d
chore: optimize sql query to not concatenate ( #5321 )
2023-11-13 08:42:19 +02:00