Danila Poyarkov
7b16881e03
fix: reject ambiguous variant property names
2026-09-14 00:14:09 +03:00
Danila Poyarkov
27e3bc3023
test: group JSX component contracts by domain
2026-09-14 00:01:41 +03:00
Danila Poyarkov
0a6ce6e72d
fix: validate component property reference scopes
...
Reject unknown or incompatible references while the owning component definitions are available, including inherited component-set definitions. Keep nested component scopes separate.
2026-09-13 23:57:24 +03:00
Danila Poyarkov
69703abc77
fix: preserve variant selection with declared set properties
2026-09-13 21:19:34 +03:00
Danila Poyarkov
b4f119a01b
Merge branch 'native-authoring' into jsx-component-properties
...
# Conflicts:
# packages/core/src/design-jsx/reference/authoring.md
# packages/docs/reference/design-authoring.md
# skills/open-pencil/references/design-authoring.md
2026-09-13 20:55:05 +03:00
Danila Poyarkov
8189c08e0b
docs: clarify scalar modes and instance sizing guidance
2026-09-13 20:54:27 +03:00
Danila Poyarkov
becc4f7432
feat: author scoped component properties in Design JSX
2026-09-13 19:27:06 +03:00
Danila Poyarkov
863b1e6c6a
refactor: share design authoring guidance across agents
2026-09-13 19:08:27 +03:00
Danila Poyarkov
98e0ba9563
feat: bind Design JSX scalar props to variables
2026-09-13 19:06:20 +03:00
Danila Poyarkov
e342cfca30
fix(tauri): preserve HTTP contracts when bypassing IPC
...
Keep IPC on captured native fetch during font proxying. Preserve URL inputs, configured timeouts, and generated multipart headers; cover native routing and reject lookalike IPC hostnames.
2026-09-13 15:48:40 +03:00
Danila Poyarkov
3f48e4251c
chore: update desktop HTTP fix with master
2026-09-13 15:48:07 +03:00
Danila Poyarkov
ca17b2ac55
chore: update instance linkage with master
2026-09-13 15:03:02 +03:00
Danila Poyarkov
eb38da0d08
fix(properties): preserve shared corner bindings in collapsed controls
2026-09-13 14:45:26 +03:00
Danila Poyarkov
df28cf5832
chore: update property controls with master
2026-09-13 14:11:22 +03:00
Danila Poyarkov
7af5e05f9c
test(snapping): verify pixel rounding without guides
2026-09-13 14:02:16 +03:00
Danila Poyarkov
45dae21994
chore: update snapping guides with master
...
# Conflicts:
# CHANGELOG.md
2026-09-13 13:59:13 +03:00
Danila Poyarkov
de6c0efc00
fix(renderer): preserve proportions of FIT image fills
2026-09-13 13:48:11 +03:00
Danila Poyarkov
fbacd1a34a
fix(clipboard): embed images with Figma-compatible hashes
2026-09-13 13:22:17 +03:00
Danila Poyarkov
449d09542f
chore: update clipboard fidelity with master
2026-09-13 13:00:21 +03:00
Danila Poyarkov
4b47ffefbb
fix(clipboard): preserve component dependency references
2026-09-13 12:46:31 +03:00
Danila Poyarkov
4775e56e59
chore: update settings polish with master
2026-09-13 12:19:00 +03:00
them7d
6ffde827d5
fix: load fonts with request in desktop app cause OOMs (replaced with fetch)
2026-09-12 17:09:16 +03:00
Danila Poyarkov
f8f5f0fc4e
fix(instances): preserve ambiguous imported extras
2026-09-11 10:57:18 +03:00
Danila Poyarkov
ff1c157a86
refactor(fig): clarify imported instance reconciliation
2026-09-11 10:30:03 +03:00
Joseph Cumines
a4350396a8
fix: prevent unbounded duplication of Figma-imported instance children
...
Imported instance children arrive with componentId null, so every component edit re-cloned them and compounded per keystroke into runaway memory. Also fixes sibling inversion, extras jumping to front on sync, and stack overflow on self-referential components.
Sync: match unmatched children by name+type forward instead of cloning, guard self/cyclic sync via isDescendant, and keep unmapped extras at the end.
Import and paste: link children positionally at import time so renamed children stay linked. Clipboard paste is scoped to new instances only so existing instances are untouched.
2026-09-11 17:17:10 +10:00
Danila Poyarkov
0dd1014c2a
fix(properties): simplify Effect styles and equivalent corners
2026-09-11 03:27:27 +03:00
Danila Poyarkov
510b953777
fix(snapping): hide pixel rounding alignment guides
2026-09-11 03:07:10 +03:00
Danila Poyarkov
89b60b9870
fix(clipboard): preserve typed selection data across copy and paste
2026-09-11 02:59:31 +03:00
Danila Poyarkov
b436ee4d2b
refactor(fig): own Figma clipboard encoding and conversion
2026-09-11 00:36:03 +03:00
Danila Poyarkov
b6f015a9f6
fix: address Select forwarding and MCP readiness review
2026-09-10 23:54:03 +03:00
Danila Poyarkov
70341c33a1
feat(settings): centralize motion policy and add animation preference
2026-09-10 23:10:24 +03:00
Danila Poyarkov
93a407e45f
test: isolate managed browser and MCP runtimes
2026-09-10 21:41:10 +03:00
Danila Poyarkov
9d4fe4e421
fix(fig): preserve marker-based instance text edits on export ( #648 )
2026-09-10 19:16:03 +03:00
PAVEL TKACHEV
6e74ad2a51
fix(pen): honor layout and sizing defaults ( #652 )
...
Fixes #564 .
2026-09-10 17:02:56 +03:00
Danila Poyarkov
77739c42a4
fix(bindings): resolve modes and preserve edit transactions ( #671 )
...
* fix(bindings): capture mode edits and expose unresolved values
* fix(bindings): correct unresolved accessibility metadata
* fix(bindings): distinguish mixed identities from unresolved values
2026-09-10 12:14:04 +03:00
Danila Poyarkov
ec0aacd4f6
build: upgrade oxfmt and format Vue imports ( #669 )
...
* build: upgrade oxfmt for Vue import sorting
* style: apply Vue-aware import sorting
2026-09-10 02:45:13 +03:00
Danila Poyarkov
6cec1b2c58
fix: prevent repeated Keychain prompts and isolate native tests ( #664 )
...
* fix: prevent repeated Keychain prompts and isolate native tests
* fix: make credential settings contextual and actionable
* fix: refresh credential recovery state in open Settings
* fix: allow retrying credential status checks
* fix: recover credential access after backend panics
* test: centralize native Tauri invocation
* refactor: clarify credential preferences workflow path
2026-09-09 13:41:55 +03:00
Danila Poyarkov
b4e479d9d0
feat: persist AI conversations and add chat history ( #661 )
...
* feat: persist AI conversations and add chat history
Store transcripts and attachment previews in IndexedDB, separate conversation history from transport lifetime, and add document-aware switching with shared Storybook coverage. Preserve interrupted activity and guard stale writes and async switches.
* test: group chat history tests by domain
* feat: simplify chat history navigation and diagnostics
Use a compact header with searchable document-scoped history and a correctly anchored conversation menu. Move diagnostic copying into the menu with copy-result feedback, and separate Storybook fixtures from composition.
* fix: address chat history review findings
* test: cover harness shutdown and restored chat scrolling
* fix: preserve Portless proxy port in MCP routes
* docs: clarify UI animation conventions
* feat: configure reasoning display and animate disclosure
* fix: separate transcript following from reasoning disclosure
* fix: restore selected chat after document recovery
* refactor: separate chat history persistence and sessions
* style: format reasoning story imports
2026-09-08 11:19:07 +03:00
Danila Poyarkov
9dac52da13
test: fix heavy unit-test measurement and round-trip checks ( #655 )
...
* test: use core page switching for imported text measurement
* test: correct FIG round-trip equivalence checks
2026-09-07 00:33:12 +03:00
PAVEL TKACHEV
c946337f3d
fix(pen): resolve ordinary variable references ( #622 )
...
* fix(pen): resolve ordinary variable references
Recognize nonempty dollar-prefixed variable names while preserving double-dash references and existing bindings.
Add parser regressions, a reproducible .pen fixture, and visual coverage comparing variable references with literal values.
Update the Unreleased changelog for #563 .
* test(pen): strengthen variable reference coverage
---------
Co-authored-by: Danila Poyarkov <dev@dannote.net>
2026-09-06 23:50:03 +03:00
Danila Poyarkov
076f7ce0d9
fix: restore engine test coverage and isolation ( #653 )
...
* ci: require complete engine test shard coverage
* test: provide path data in the font editing gate fixture
* test: remove stale Tauri runtime markers during cleanup
* fix(collab): deduplicate pending page switches
* test: simplify pending page switch regression setup
2026-09-06 23:29:45 +03:00
Danila Poyarkov
de4c90a023
fix(cli): create missing import output directories
...
Adapt the output-directory fix from #645 while preserving source-based workspace exports. Cover existing and missing nested destinations for JSON and FIG imports.
Co-authored-by: Joseph Cumines <joeycumines@gmail.com>
2026-09-06 18:18:51 +03:00
Danila Poyarkov
cc4dc933e8
fix(settings): revalidate queued credentials and handle status failures
2026-09-06 16:41:50 +03:00
Danila Poyarkov
95fbd06dc3
fix(settings): share MCP mutation queues across editors
2026-09-06 15:41:15 +03:00
Danila Poyarkov
b5391f7305
fix(settings): persist credentials before enabling connections
2026-09-06 15:18:18 +03:00
Danila Poyarkov
24df07ac41
fix(settings): guard asynchronous credential workflows
2026-09-06 14:34:32 +03:00
Danila Poyarkov
61c1e9839b
refactor(settings): separate credential services from chat
2026-09-06 14:00:09 +03:00
Danila Poyarkov
a338f57f4b
refactor(settings): extract domain workflows
2026-09-05 21:49:30 +03:00
Danila Poyarkov
904c90c329
refactor(settings): extract model profile workflows
2026-09-05 21:25:46 +03:00
Danila Poyarkov
f674f8c99d
feat(ai): modernize model picker
2026-09-04 18:45:03 +03:00