Skip to content

Conversation

@rubenvdlinde
Copy link
Contributor

No description provided.

rubenvdlinde and others added 30 commits December 3, 2025 09:37
Add ui for publishing/depublishing
19k phpcs errors
3771 phpmd errors
Co-authored-by: ruben <ruben@conduction.nl>
Co-authored-by: ruben <ruben@conduction.nl>
Co-authored-by: ruben <ruben@conduction.nl>
Co-authored-by: ruben <ruben@conduction.nl>
Co-authored-by: ruben <ruben@conduction.nl>
Co-authored-by: ruben <ruben@conduction.nl>
rubenvdlinde and others added 30 commits January 20, 2026 09:44
- Add early return for values already in MySQL datetime format
- Remove excessive error_log calls that caused I/O overhead on every row
- Fix preg_match return value checks (returns int, not bool)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The hydrate method was passing datetime strings directly to setters
that expect DateTime objects. This caused TypeError when importing
schema configurations from JSON files during app upgrades.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The changelog-ci step was taking 5+ minutes to complete, significantly
slowing down the release workflow. This commit disables the
update-changelog job to improve build performance.

The job can be re-enabled in the future by uncommenting it in
.github/workflows/release-workflow.yaml if needed.

Refs: https://github.com/ConductionNL/openregister/actions/runs/21170187723
The changelog-ci step was taking 5+ minutes to complete in both the
beta-release and release-workflow, significantly slowing down builds.

This commit disables changelog generation in both workflows:
- beta-release.yaml: Added 'if: false' to both changelog steps
- release-workflow.yaml: Commented out update-changelog job

The steps can be re-enabled by removing the 'if: false' conditions
or uncommenting the job.

Refs: https://github.com/ConductionNL/openregister/actions/runs/21170187723
Refs: https://github.com/ConductionNL/openregister/actions/runs/21170552978
Update CacheHandler to use findAcrossAllSources for name lookups,
which searches both blob storage and magic tables. Previously,
objects stored only in magic tables would return 404 on cache miss.

- getSingleObjectName now uses unified interface
- getMultipleObjectNames falls back to magic table search

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When caching object names after lookup, store entries for both the
original search identifier AND the object's UUID. This ensures cache
hits on subsequent requests regardless of which identifier format is
used (numeric ID, slug, URI, or UUID).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The warmup query was too restrictive, filtering out:
- Objects without _name populated (now falls back to UUID)
- Objects without _published set
- Unpublished objects

Now includes all non-deleted objects from magic tables regardless
of publish status, using UUID as fallback when name is empty.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace Symfony's Uuid::isValid() with regex pattern for UUID validation
  because some systems (e.g., GEMMA) use UUIDs that don't follow RFC4122
  variant bits (4th group should start with 8, 9, a, or b)
- Fix preg_match comparisons to use === 1 instead of === true
  (preg_match returns integer 1 for match, not boolean true)
- Fix empty array check condition (was === true, should be === false)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add searchObjectsGloballyByIds() method in UnifiedObjectMapper to search
  for objects by UUID without knowing which register/schema they belong to
- Fix MagicMapper.findMultipleAcrossAllMagicTables() to set _register and
  _schema on rows before converting to ObjectEntity
- Support @self.register and @self.schema formats in QueryHandler extend check
- Use array_key_exists() instead of isset() in ObjectService to allow
  explicit null values to prevent auto-setting of register/schema

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add searchObjectsGloballyByRelations() in UnifiedObjectMapper to search
  for objects referencing a UUID across all registers/schemas
- Add findByRelationAcrossAllMagicTables() in MagicMapper using efficient
  UNION query with text-based JSON search
- Fix applyRelationsContainsFilter() to search JSON object VALUES using
  EXISTS with jsonb_each_text (relations are stored as objects, not arrays)

This enables the /used endpoint to find all objects that reference a
given object across ALL magic tables, not just the current catalog's
register/schema.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants