fix: [#55685] do assume associated engagement
[#55685] do not assume associated engagement
[#54858] Fix event generator retrying logic
[#54858] Revert: support rejecting messages via env-vars
[#xxxxx] support rejecting messages via env-vars
fix: [#54109] GraphQL is hard
fix: [#52084] Remove host header override
Will be implemented using kubernetes hostAliases instead.
[#54109] Link Addresses and ITUsers to MO Engagements
[#53756] Omada OIDC support
[#53756] Omada OIDC support
[#53629] Use address visibility 'Public' instead of 'Internal'
[#53602] Bump graphql to v3
[#52084] Fix support for multiple Employee states
[#52084] Add support for multiple Employee states
[#52084] Fix only error
[#52084] Fix one error
[#53184] Operate on full MO history, instead of just the present
Omada already provides temporality through its 'VALIDFROM' and 'VALIDTO' fields, so all of an object's validity intervals should be synchronised; operating only on the latest/present one is insufficient.
[#52084] Add feature flag to disallow modification of existing (manual) employees in MO
[#52084] Revert "[#49604] Ignore failed engagements"
[#52084] Allow force-synchronising a subset of MO users
[#52084] More logging [#52084] Update RAMQP to fix issue with sleep_on_error
[#52332] Move sleep_on_errors util to ramqp
[#52332] Chill prefetch count
[#51949] Sleep on errors to avoid race-conditions [#51949] Replace with_concurrency with RAMQP prefetch limit
[#52084] Fix ModelClient.post()
[#52084] Update dependencies
Fixes validation error for Engagement "none is not an allowed value for 'primary'"
[#49604] Properly assume CPR numbers are unique
[#51893] Allow non-string filters in Omada API calls
[#51893] Add support for user visibility ("C_SYNLIG_I_OS2MO")
[#51802] Add exclusivity to synchronisation handlers to avoid race conditions
[#51786] Add endpoint to manually sync Omada user(s) [#49604] Only allow KeyErrors for failed engagements [#51786] Omada RoutingKey WILDCARD
[#49604] Revert "Bump AMQP concurrency to 5" [#49604] Ignore failed engagements
[#49604] Bump AMQP concurrency to 5
[#49604] Proper validity union/intersection
[#49604] Clamp engagement validity range to org unit's
[#49604] Proper ridiculous timeout
[#49604] Ridiculous timeout until MO supports pagination/streaming
[#49604] Add force-sync endpoint
[#49604] Prefer parsing to ManualOmadaUser if possible
[#49604] Omada 1.2
[#49604] Bump ramodels for more relaxed Employee CPR checking
[#49604] SERIALIZE EVERYTHING
[#49604] SERIALIZE UUIDS
[#49604] Fix EmployeeData parsing [#49604] Terminate using the service API [#51523] Temporary fix: The GraphQL API always returns an org unit when querying uuids [#49604] Fix wrongly assuming all other users for a manual user were also manual
[#49604] Fix EmployeeData parsing
[#49604] Remove nested settings factory [#49604] Fix Omada pseudo infinity [#49604] Remove visibility
[#49604] Omada AMQP
[#48572] Add missing await
[#48572] Increase logging
[#48572] Update ModelClient
[#47972] Update httpx-ntlm dependency to upstream version from PyPI
[#47972] Add support for NTLM authentication
[#47404] Changed uvicorn port to 8080
[#47452] API lock on endpoint
[#46555] Use Python 3.9
[#47447] Kubernetes readiness probe
[#47423] Create addresses with 'Intern' visibility
[#47348] Pull data synchronously to avoid overloading MO/LoRa 🥲 [#47348] Ignore Omada users without 'C_OBJECTGUID_I_AD' [#47348] Ignore non-MO-compliant phone numbers
[#42613] Actually fix autopub
[#42613] Fix autopub