You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Loaded demo projects are invisible to everyone, and every install seeds sample projects #654
The demo data is invisible. An admin who loads the demo data from the setup wizard gets three projects that nobody, the admin included, sees in the project list. The records that do import carry placeholder text like "Voorbeeld Title 1" and owners like "Voorbeeld Owner 1" that are not real users.
Every install seeds sample data. A fresh install, including production, gets three sample projects ("Client Portal v2", "Infrastructure Migration", "Onboarding Automation"), 12 columns, 5 tasks and 3 time entries, owned by admin with members jdoe, mvanderberg and ksmits.
lib/Settings/planninq_mock_register.json:135, :155 and :175 give each demo project "members": []. The store keeps only projects whose members include the current user (src/store/projects.js:177), and project read access is scoped to members. So the projects are hidden.
The same file holds generated placeholder values. caseReference and task or column project fields point at nil-pattern uuids such as 00000000-0000-4000-8000-000000000000 that match no object (for example around :123-140).
:69-70 and :79-80 are dependency edges whose blocker and blocked are the same uuid, a task blocking itself. DependencyService rejects exactly that for users.
lib/Settings/planninq_register.json:1169 onward ships 28 objects in components.objects: 5 labels, and 23 sample projects, columns, tasks and time entries. RegisterImportService imports this file on install through the InitializeSettings repair step. lib/Service/DemoDataService.php:10-13 itself states that seeding example objects on install "is a defect, not a convenience".
Fix direction
Keep only the five default labels in the main register. Move the sample projects, columns, tasks and time entries to the mock register.
Rewrite the mock register by hand, or post-process it: put the loading admin in members and owner, link tasks and columns to the demo projects' real uuids, and drop self-edges.
Add a test that fails on members: [] for a project and on blocker == blocked in any shipped register.
Live check
On a clean instance, install Planninq and log in as admin. Expected today: three sample projects appear without anyone asking.
Run the setup wizard's "load demo data" step. Expected today: the project list does not gain the "Voorbeeld" projects.
Query /apps/openregister/api/objects/planninq/project as admin and see the "Voorbeeld" projects with empty members.
Matrix rows
plt-demo-data in openspec/parity/capabilities.json (PR #645).
Activity
github-actions commentedon Sep 26, 2026
Thank you for opening this issue! It has been assigned to @rubenvdlinde for review.
What happens next:
Triage labels:
triage:accept-feature— accepted as a new featuretriage:accept-bugfix— accepted as a bug fixtriage:needs-info— more information neededtriage:wontfix— will not be addressedtriage:duplicate— duplicate of another issue