Commit Graph

6 Commits

Author SHA1 Message Date
Rijk van Zanten
cc889bb578 Fix extensions sync issue when EXTENSIONS_LOCATION is set (#21747)
* Fix issue causing pm2 processes to get out of sync

* Setup lock abstraction based on memory/kv

* Use lock-based strategy rather than primary process

* Don't require amount (defaults to 1)

* Add changeset

* Update .changeset/dry-crews-scream.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Force sync on uninstall as well

* Delete lock in every case

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-03-08 12:28:01 -05:00
Pascal Jufer
1e656c627c Adjust subscription async order to prevent handlers from being overwritten (#21479) 2024-02-19 22:33:44 +01:00
Pascal Jufer
3eb998c7a7 Fix messageBufferHandler in Bus (#20884) 2023-12-27 15:16:33 +01:00
Rijk van Zanten
c222511f1f Update telemetry (#20825)
* Setup shared redis abstraction

* Install directus/memory

* Add mini useEnv util for test mocking purposes

* Export missing class from directus/memory

* Update readme to include kv

* Uninstall memory

* Setup telemetry lib

* Reduce concurrency

* Finalize reporting

* Add tests for send-report

* Add tests for init

* Add tests for tracker

* Add tests for get-item-count

* Add test for wait time

* Add test for get-user-count

* Add test for get-user-item-count

* Fix type issue

* Throw error on non-ok fetch

* Init telemetry on server startup

* Tweak submission logic

* Fix tests, submit version

* Update config-options reference

* Cool kids don't use + in large numbers

* Add changesets

* Update docs/self-hosted/config-options.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Use vi stubGlobal

* Update api/src/env.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Unstub as well

* Mock telemetry start in app test

* Update api/src/telemetry/types/report.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Fix default value in env

* Use toBoolean for env var casting

* Don't rely on knex as

Apparently it doesn't work reliably with count()

* Update api/src/telemetry/lib/init-telemetry.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Use getDatabaseClient for consistent clients

* Rename ingress->url

* Send my apologies to the formatting bot

* Fix version

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-12-21 14:08:42 -05:00
Pascal Jufer
98532788d5 Selective Patch Tuesday 🐸 (#20796) 2023-12-20 00:26:15 +01:00
Rijk van Zanten
b0f5baa394 Add @directus/memory package (#20514)
* Add analytics table

* Setup memory package boilerplate

* Bootstrap library

* [WIP] setup serialize/deserialize for data

* Finish compress/serialize utils

* Add get/set for local

* Add increments method

* Add delete + comments

* Add pub/sub methods

* Remove erroneous files

* Add has, setMax

* Restructure to 3 subclasses

* WIP add Redis cache

* Add set-max

* Add cacheMulti

* Add tests for redis cache

* Don't compress small values

* Only decompress values that are compressed

* Add test for arr-to-buf

* Add tests for multi-stage cache

* Add test for create

* Finish redis based messenger bus

* Add redis bus to createBus

* Resolve lock file conflict

* Align dev deps versions

* Format files

* Update packages/memory/package.json

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* It's okay, ESLint

* Add local rate limiter

* Add redis limiter

* Add simple readme

* Add changeset

* 'key value' -> 'key-value'

* Sort package.json

* Remove leftovers

* Move timer calls to corresponding test

* Add KV asbraction based on previous "cache"

* Update cache to use kv

* Add more specific console logs

* Only define setMax if not exists

* Run formatter

* Use parseJSON util

* Fix typo in class docs

* Install directus/utils

* Default to Map if LRU config isn't set

* Ignore errors thrown in handlers

* Create process-id util

* Use pubsub in multi-stage handler

* WIP Update tests

* Update package lock

* Fix formatting errors

* Fix timestamp in test

* Uno mas

* Fix mock order

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-13 11:29:22 -05:00