Commit Graph
8898 Commits
Author SHA1 Message Date
Michael Uray 12eda959eb chore: apply rush format after develop merge
Resolves the failing formatting check requested by @ArtyomSavchenko in
review of #10851 after the develop branch merge.

Affects three files in our PR scope:
- models/tracker/src/migration.ts: collapse short multi-line client.update call
- plugins/tracker/src/index.ts: inline DependencyKind union + IssueRelation comment
- plugins/tracker-resources/src/components/milestones/EditMilestone.svelte:
  reformat inline arrow handlers, move QueryIssuesList block ahead of <style>

No logic changes; deterministic prettier output.

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-06-18 21:17:02 +00:00
Artyom SavchenkoandGitHub 8c9fc01744 Merge branch 'develop' into feat/gantt-upstream-pr1-schema 2026-06-16 15:14:59 +07:00
Artyom SavchenkoandGitHub 9eef305642 Fix formatting (#10911)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-06-16 14:59:41 +07:00
Paweł KędziorandGitHub 78142ead31 feat: add Polish translation (#10907)
Adds Polish translation for app

Closes #9986

Signed-off-by: Paweł Kędzior <pawel.kedzior@o2.pl>
2026-06-16 12:31:11 +07:00
Alexander OnnikovandGitHub 6287dee479 feat: print fixes and improvements (#10905) 2026-06-10 10:31:27 +07:00
Alexander OnnikovandGitHub ce3e346617 fix: better public holidays display (#10901)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
2026-06-05 10:41:42 +07:00
Denis BykhovandGitHub 3551e8425d Slots fix 2 (#10899)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-06-04 03:32:39 +05:00
Denis BykhovandGitHub 46c7fed5dc Fix slots (#10898)
* fix: ensure attribute slot resolution correctly references parent membership in exporter

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

* fix: update resolveParentSlot to correctly propagate memberOf references and add regression test for attribute slot scoping

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

* style: reformat testResultClassDoc for readability in detectSlotsRefined test suite

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

---------

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-06-03 14:44:04 +05:00
Denis BykhovandGitHub be5d41cecc Slots (#10897)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-06-03 03:52:47 +05:00
Ignat RemizovandGitHub a6778992f7 fix(notification): ignore blank browser push keys (#10885)
Treat an unset front-service PUSH_PUBLIC_KEY as disabled browser push support instead of passing an empty string into PushManager.subscribe.

Changes:
- Add a small push public key accessor that normalizes undefined and blank metadata to undefined.
- Use that accessor for both push availability checks and push subscription setup.
- Preserve existing behavior when a real VAPID public key is configured.

Behavioral effect:
Instances without web push configured no longer attempt service worker push subscription with an invalid empty ECDSA key, while keeping browser push disabled until VAPID keys and the notification service are configured.

Signed-off-by: Ignat Remizov <ignat@ignatremizov.com>
2026-05-26 15:15:14 +07:00
Ignat RemizovandGitHub 2c151ea4fe fix(client): downgrade slow query diagnostics (#10884)
Report slow client findAll measurements as warnings instead of errors so the browser console reflects that these entries are performance diagnostics, not failed queries.

Preserve the existing threshold, payload, and timing details for performance triage.

Signed-off-by: Ignat Remizov <ignat@ignatremizov.com>
2026-05-26 14:27:45 +07:00
Artyom SavchenkoandGitHub a61d72374a Support images in markup properties (#10882)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-25 14:07:20 +07:00
Artyom SavchenkoGitHubCopilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
e3d3276451 feat: Ability to skip initial content creation (#10812)
* feat: Configure workspaces during creation

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Fix question description

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Clean up

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Fix formatting

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Fix tests

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Fix tests

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Potential fix for pull request finding 'CodeQL / Insecure randomness'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Artyom Savchenko <armisav@gmail.com>

* Revert "Potential fix for pull request finding 'CodeQL / Insecure randomness'"

This reverts commit e37b6de69c.

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Simplify workspace creation

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Fix layout

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Clean up

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Keep redesigned version

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Fix tests

Signed-off-by: Artem Savchenko <armisav@gmail.com>

---------

Signed-off-by: Artem Savchenko <armisav@gmail.com>
Signed-off-by: Artyom Savchenko <armisav@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-05-22 18:58:10 +07:00
Artyom SavchenkoandGitHub a78630fa4d Fix invite workflow (#10861)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-20 13:08:56 +05:00
Denis BykhovandGitHub 32858aff1b fix: throw Forbidden if user is not workspace member in checkJoin (#10869)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-20 03:33:42 +05:00
Denis BykhovandGitHub 897c4a08d9 allow disabling password aging rule (#10867)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-20 02:50:35 +05:00
Artyom SavchenkoandGitHub 8d95d32cfe Fix markup field in md table (#10840)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-19 21:26:49 +05:00
Artyom SavchenkoandGitHub f351eb09fe Show actions menu for right click on checkbox in header (#10841)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-19 21:21:22 +05:00
Denis BykhovandGitHub b8d4e088b1 Fix tag attribute lock (#10850)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-19 21:17:42 +05:00
Artyom SavchenkoandGitHub 22f6aff97a Disable push notifications button for desktop (#10839)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-19 21:16:50 +05:00
Artyom SavchenkoandGitHub e94a1ef4df Fix product version export (#10866)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-19 21:10:33 +05:00
Artyom SavchenkoandGitHub f55cc3adc6 Add action to add new product version (#10865)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-19 21:09:24 +05:00
Michael Uray 7d745f9ee5 fix(fulltext): bump model version to 0.7.423 to match deployed workspaces
The fulltext-pod's compiled model version (baked into bundle/model.json via
common/scripts/version.txt at build time) lags whenever the workspaces have
been migrated to a newer patch but the pod was not rebuilt. In that state the
indexer rejects every incoming Tx with a `wrong version` warning, new issues
silently fail to land in Elasticsearch, and search returns empty results for
any document created after the migration.

Bumping `version.txt` aligns the compiled model with the workspaces. All
future builds (front, transactor, workspace, tool, fulltext) will emit
0.7.423, the indexer accepts the Tx stream again, and the deferred backlog
gets consumed automatically — no manual reindex needed.

This commit is the build-side companion to the schema migration in this
same PR. Without it the fulltext-pod cannot consume the migrated workspace's
Tx events.

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-05-18 19:38:52 +00:00
Michael Uray f84e497a08 fix(tracker-resources): EditMilestone renders Status/Start/Target in body in chronological order
The right-side DocAttributeBar sorts attributes by attr.rank ?? toRank(_id),
giving startDate before status (toRank('startDate') < toRank('status')
lexicographically). Setting an explicit rank via @Prop's third arg did not
propagate through the workspace upgrade for existing Attribute documents
in the model TX log — the rank made it into the bundled txes but the
existing Attribute creation TXes are not replaced on upgrade-workspace.

Pivot: render Status, Start date, Target date in the EditMilestone body
in explicit chronological order, and add 'status', 'startDate', 'targetDate'
to ignoreKeys so they don't appear duplicated in the side panel. This
mirrors how Issue's ControlPanel.svelte handles its date fields.

Reverts the no-op @Prop rank attempt.

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-05-18 19:37:45 +00:00
Michael Uray c94a5cc73a fix(tracker): set explicit @Prop ranks for Milestone date fields
The DocAttributeBar side panel sorts attributes by attr.rank ?? toRank(_id)
(see plugins/view-resources/src/components/ClassAttributeBar.svelte:42-47),
so without explicit ranks the visible order on a Milestone was hash-based
(startDate before Status, breaking the chronological flow the user expects).

Set ranks so the side panel renders Status → Start date → Target date.
Comments and attachments stay where they are (they're collections, filtered
out of the attribute panel by categorizeFields).

Issues are unaffected — the Issue side panel is the custom ControlPanel.svelte
which renders Start date / Due date in explicit slots (see PR 1's UI commit).

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-05-18 19:37:45 +00:00
Michael Uray 8d932e8758 feat(tracker): expose Issue.startDate / Milestone.startDate in UI; tighten typing
UI changes (so the new schema fields are actually editable, in chronological
order Start → Due/Target):

- New StartDateEditor.svelte (mirrors DueDateEditor.svelte for startDate)
- ControlPanel: render Start Date row above Due Date row in the issue
  side panel; both always-visible (no `!== null` guard) so users can set
  them on issues that don't have a date yet
- NewMilestone form: Start Date input above Target Date input
- Milestone list view: Start Date column before Target Date column

- TIssueRelation: tighten interface to `extends AttachedDoc<Issue, 'relations'>`
  so attachedTo + collection are statically typed. The model class
  re-declares `collection: 'relations'` to match the narrower base.
- Drop 4 unused Dependency-kind IntlString keys (FinishToFinish,
  FinishToStart, StartToFinish, StartToStart) — they had no consumer
  in PR 1; will be re-introduced in PR 4 (dependency editor).
- Simplify migration.ts comments — drop ageing line-references.

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-05-18 19:37:45 +00:00
Michael Uray 86414230c0 feat(model-tracker): add migrateAddStartDate + wire into trackerOperation
Backfills startDate=null on existing Issues (DOMAIN_TASK) and Milestones
(DOMAIN_TRACKER) so the new schema field has a defined value on every
pre-existing document. Idempotent via the standard tryMigrate state-key
mechanism (state: 'gantt-add-startdate').

Verified domain choices against existing migration helpers:
- migrateIdentifiers / passIdentifierToParentInfo use DOMAIN_TASK for
  Issues (lines 145, 161 in this file).
- TMilestone @Model decorator confirms DOMAIN_TRACKER for Milestones
  (models/tracker/src/types.ts:372).

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-05-18 19:37:45 +00:00
Michael Uray 5c9faf7564 test(model-tracker): add migrateAddStartDate jest tests
3 tests covering migrateAddStartDate:
- writes startDate=null to Issues in DOMAIN_TASK with the right filter
- writes startDate=null to Milestones in DOMAIN_TRACKER with the right filter
- issues exactly two update calls (one per class)

Follows the MigrationClient mock pattern from
models/chat/src/__tests__/migration.test.ts.

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-05-18 19:37:45 +00:00
Michael Uray 0e6d0dfc7f feat(tracker): add Gantt scheduling schema (startDate + IssueRelation)
Schema-only foundation for the upcoming Gantt-chart view in tracker.
No UI in this PR.

Changes:
- Issue.startDate: Timestamp | null (interface + IssueDraft + @Prop with @Index)
- Milestone.startDate: Timestamp | null (interface + @Prop, reusing the
  existing tracker.string.StartDate IntlString)
- New DependencyKind type ('finish-to-start' | 'start-to-start' |
  'finish-to-finish' | 'start-to-finish')
- New IssueRelation AttachedDoc class with kind: DependencyKind, signed
  lag: number — registered in models/tracker via TIssueRelation
- 7 new IntlString keys: IssueStartDate, GanttDependency,
  GanttDependency{FinishToStart,StartToStart,FinishToFinish,StartToFinish},
  GanttLag — all 13 locales updated
- Cross-plugin literal updates in importer + github sync to satisfy the new
  required Issue.startDate / Milestone.startDate fields:
  - packages/importer/src/importer/importer.ts: AttachedData<Issue> literal
  - services/github/pod-github/src/sync/issueBase.ts: 'startDate' added to
    GithubIssueData Omit list (github sync does not own scheduling)
  - services/github/pod-github/src/sync/issues.ts + pullrequests.ts:
    AttachedData<Issue|GithubPullRequest> literals

Out of scope (deferred to follow-up PRs):
- UI for Gantt view, drag/resize, dependency editor, critical path
- blockedBy → IssueRelation migration (ships atomically with the writer
  redirect in the dependency-UI PR)
- LinkIssues permission (tracker uses forbid-style permissions; needs
  maintainer discussion)
- Activity-feed wiring for IssueRelation (needs a producer to test against)
- IssueTemplate.startDate (template propagation semantics undecided)

Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
2026-05-18 19:37:45 +00:00
Igor LoskutovandGitHub 18ef71bc04 fix(ci): emit declarations in tag npm publish (#10842)
Signed-off-by: Igor Loskutov <igor.loskutoff@gmail.com>
2026-05-18 13:46:49 +07:00
Denis BykhovandGitHub 372a4b0ca3 Id override (#10847)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-18 01:31:17 +05:00
Denis BykhovandGitHub f2a0c4a106 fix enum presenter readonly (#10846)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-17 20:18:49 +05:00
Denis BykhovandGitHub 9910e8d502 Add missing translation (#10845)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-17 20:18:38 +05:00
Denis BykhovandGitHub 309aefb967 Fix_relation_versioning_setting (#10844)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-17 16:05:17 +05:00
Denis BykhovandGitHub 23faf14cca Card version settings (#10843)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-17 14:53:34 +05:00
Denis BykhovandGitHub fa2930d54e Nested view setting (#10838)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-11 00:18:56 +05:00
Denis BykhovandGitHub 9e8efb26c2 Fix main section lock (#10837)
* Fix main section lock

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

* Fix formatting

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

---------

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-11 00:00:43 +05:00
Artyom SavchenkoandGitHub fb7a4618a5 Update changelog (#10834)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-10 22:34:35 +05:00
Denis BykhovandGitHub 81ffbd3678 Fix markup check (#10836)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-10 21:51:01 +05:00
Denis BykhovandGitHub 15aa8fb7b0 add readonly support to MarkupEditor and improve hierarchy-based attr… (#10835)
* add readonly support to MarkupEditor and improve hierarchy-based attribute resolution and locking logic

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

* perf: implement caching for card lookups in process-resources functions

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

* refactor: update TagSelector to use tag IDs in selection set and optimize hierarchy access

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>

---------

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-10 18:40:56 +05:00
Artyom SavchenkoandGitHub ccfcf505da Do not set migration state in case of mode mismatch and add duration (#10801)
* Do not set migration state in case of mode mismatch and add duration

Signed-off-by: Artem Savchenko <armisav@gmail.com>

* Bump model version

Signed-off-by: Artem Savchenko <armisav@gmail.com>

---------

Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-10 08:09:30 +07:00
Denis BykhovandGitHub 4bf0d230dc filter automation processes in visibility check (#10832)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-09 20:40:12 +05:00
Artyom SavchenkoandGitHub fc1f99bea1 Fix docker build (#10831)
Signed-off-by: Artem Savchenko <armisav@gmail.com>
2026-05-08 16:00:08 +07:00
Denis BykhovandGitHub 63c575e9be Fix label overflow (#10829)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-08 00:51:52 +05:00
Denis BykhovandGitHub 2f3b99fd34 hide_automationOnly_executions (#10828)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-08 00:22:04 +05:00
Denis BykhovandGitHub 364c629d08 Allow array for relation (#10827)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-07 21:54:29 +05:00
Denis BykhovandGitHub f429a3e830 type selector fix (#10826)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-07 19:03:32 +05:00
Denis BykhovandGitHub f561318a6a integrate MarkupProperties directly into tag attribute components (#10824)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-06 15:45:22 +05:00
Denis BykhovandGitHub 4b4b9edbcc add AskSubclass option to CreateCard process and implement ClassUserInput component for flexible subclass selection (#10822)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2026-05-05 18:37:39 +05:00
Alexander OnnikovandGitHub 136a4e6b93 feat: hide inactive employees (#10821)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
2026-05-05 18:06:13 +07:00