This website requires JavaScript.
1b42f9b640
fix: lit/divi-node-copy from a library entry needs the insert rights (I-1, L5)
janniclas.loosen and Claude Opus 5.5
2026-09-27 04:06:56 +02:00
186f7af7ca
test: end-to-end smoke and acceptance note for the Divi Library (3a)
janniclas.loosen and Claude Opus 5.5
2026-09-27 03:51:12 +02:00
2729e2800e
docs: guides, readme and spec for the Divi Library (v0.4.0)
janniclas.loosen and Claude Opus 5.5
2026-09-27 03:33:38 +02:00
8808a7dcdb
feat: lit/divi-dynamic-sources with text-like fields only (E12, F4)
janniclas.loosen and Claude Opus 5.5
2026-09-27 03:22:13 +02:00
6f6c691b5d
feat: lit/divi-node-copy between pages and library entries
janniclas.loosen and Claude Opus 5.5
2026-09-27 03:12:57 +02:00
7fe91c2bdb
feat: lit-library-insert as copy or global instance in the builder's format (E5)
janniclas.loosen and Claude Opus 5.5
2026-09-27 02:27:16 +02:00
5035092805
feat: lit/library-save creates library entries like Divi (E4)
janniclas.loosen and Claude Opus 5.5
2026-09-27 02:12:50 +02:00
8fa285a265
fix: the Lottie source is builder-only for users without unfiltered_html (P19)
janniclas.loosen and Claude Opus 5.5
2026-09-27 02:06:38 +02:00
16c6d59725
fix: StoredNodeGuard keeps plain relative links copyable (P18)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:58:47 +02:00
e808832fd3
fix: StoredNodeGuard checks URLs, value keys and library ids strictly (P17)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:56:47 +02:00
9d92808918
fix: interactions are builder-only for users without unfiltered_html (P16)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:54:25 +02:00
f8275ad325
feat: StoredNodeGuard keeps S7/S26 for nodes moving between posts (E6)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:42:26 +02:00
b7c714939d
feat: group Divi-Bibliothek with lit/library-list
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:29:37 +02:00
520a639411
fix: global library edits check private and scheduled pages, name the backup on failure (P8a, P14)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:25:16 +02:00
d66ad36c2e
feat: Divi tools write library entries; global ones with dry run, confirm and backup (E2, F2)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:15:58 +02:00
681bb755ff
fix: library entries read as not found without the library right (P12)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:07:53 +02:00
48ecc627aa
feat: Divi read tools accept library entries (library access, E1/E3)
janniclas.loosen and Claude Opus 5.5
2026-09-27 01:02:25 +02:00
2700fd615a
feat: global instance in the builder's format, deglobalize, library content rules
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:53:38 +02:00
ce1ad7c6c3
feat: Divi adapters for roles and library with a live compatibility check
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:51:09 +02:00
b389f983de
feat: render summary notes global modules it cannot show (F8)
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:44:31 +02:00
a3a807051f
feat: design-system filters and global module ids in node-get/outline (S19)
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:43:08 +02:00
858aa6a182
feat: lit-guide topic all returns every guide in one call
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:39:14 +02:00
788943e809
feat: {{link:ID}} placeholder via Divi's post_link_url dynamic content
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:32:59 +02:00
404f0f34b9
test: raise memory_limit for the unit suite (512M)
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:29:37 +02:00
cfc81ddbb2
docs: Etappe 3a implementation plan (Bibliothek)
janniclas.loosen and Claude Opus 5.5
2026-09-27 00:10:27 +02:00
30788f2841
docs: Etappe 3 decisions draft with user answers
janniclas.loosen and Claude Opus 5.5
2026-09-26 23:05:34 +02:00
e7cc4efb11
test: real Divi 5 stage 3 fixtures (library, global instances, Theme Builder)
janniclas.loosen and Claude Opus 5.5
2026-09-26 23:05:02 +02:00
2c553d2f0b
docs: readme and guides name no specific chatbot
janniclas.loosen and Claude Opus 5.5
2026-09-26 22:25:13 +02:00
55e006c462
merge: Etappen 0, 1a, 1b, 2a, 2b (v0.3.0) – MCP-Anbindung, WordPress-Inhalte, Medien/Admin, Divi lesen und schreiben
janniclas.loosen and Claude Opus 5.5
2026-09-26 22:22:15 +02:00
dff3b20977
docs: Etappe 2b rulings, security audit and trial feedback
janniclas.loosen and Claude Opus 5.5
2026-09-26 22:18:23 +02:00
99eda25452
fix(security): Divi-markup refusal sees content as storage will (ruling S52)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:50:31 +02:00
b24d90d8b0
feat: admin UI names no specific chatbot (KI-Assistent / MCP client)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:49:27 +02:00
63093be0bb
docs: readme notes for the audit's info items (debug log, kses on whole-page saves, sessions after deactivation)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:35:51 +02:00
097fef2e32
fix: final review minors m-1 to m-8
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:35:24 +02:00
b24eb6c3e9
fix(security): no direct HTTP access to plugin PHP files (audit L2, cheap part)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:32:12 +02:00
4d4bf57c9f
fix(security): refuse OAuth authorize/consent for users without access (audit L1)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:30:54 +02:00
bb61c370a0
fix(security): honour Pods field restrictions (audit M4)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:29:29 +02:00
7f361304ae
fix(security): URL import with own range check and a generic error (audit M3, cheap part)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:27:11 +02:00
0531a5ffb1
docs: lit-divi-catalog shows both result shapes (trial)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:23:47 +02:00
db40f4efa7
feat: lit/menu-create returns the new menu's menu_rev (trial)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:23:07 +02:00
cda8b025cc
feat: explain the type collision on contact fields (trial)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:22:13 +02:00
26108bc9a9
feat: short-form level for every module with a heading title (trial)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:20:23 +02:00
37ecb036ba
docs: acceptance note matches M2, adds trial reset and connection/tab checks (review I-2)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:19:15 +02:00
4fe0810049
fix: content-create with divi returns the Visual Builder edit_url (review I-1)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:19:04 +02:00
5f596b8a17
fix(security): content-create divi follows the Divi group switches (audit M2)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:16:35 +02:00
7d0837be6c
fix(security): raw content refuses Divi markup (audit M1)
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:13:58 +02:00
0f23192873
feat: Protokoll tab as a core-style list table
janniclas.loosen and Claude Opus 5.5
2026-09-26 19:02:47 +02:00
22c4cc1264
feat: Tools tab without the code-module note; direct counter only as a warning above 25
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:57:26 +02:00
314b3d0756
test: smoke scripts fail when they stop before their last check
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:44:10 +02:00
3a5f658f35
docs: DiviSaver names ValueCleaner as the choke point (W2 note)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:37:17 +02:00
482575b732
fix: a nested row gets its own auto label (ledger T3)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:36:47 +02:00
14e24398d1
test: sort the imports of WordPressIntegrationTest (ledger T9)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:36:11 +02:00
d5a9774241
fix: content-create names the Divi layout when its write fails (S50)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:35:59 +02:00
267e5d2076
fix: menu rollback survives a throwing delete of a new item (S50)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:35:21 +02:00
eda592548e
fix: builder column classes only – no 4_5, all breakpoints checked (S49)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:34:45 +02:00
e04a5304f7
refactor: annotation presets (L5)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:33:14 +02:00
9ed5d9d2fa
refactor: rename for intent (L3)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:32:18 +02:00
d2c5e82d63
refactor: narrow over-exposed API (L2)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:31:51 +02:00
dca1bd67f8
refactor: integration labels, AdminPostAction, ExposurePolicy key parsing (M9)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:31:15 +02:00
4cb18d17c3
refactor: ContentMediaReferences holds the pure media matcher (M8)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:28:52 +02:00
7963aa19bd
test: split DiviWriteAbilitiesTest per tool (T5)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:27:59 +02:00
afa19ffcd8
refactor: DiviTextSearch out of the replace-text ability (M2)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:26:10 +02:00
d2cc82f31b
refactor: small Divi tree helpers out of DiviWriter (M3)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:24:29 +02:00
ecfece719d
refactor: DiviWriteAbility base and shared DiviErrors (H4)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:22:51 +02:00
9da236b0e3
refactor: ColumnWidths holds the column-width rules (H5)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:21:03 +02:00
6cf0a565e6
refactor: DiviSaver writes content through one guarded writeContent() (M4)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:15:28 +02:00
3eeb7eee90
refactor: split TextReplacer into HtmlTokens and StoredForms (M1)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:14:49 +02:00
570c1e6142
refactor: ValueKind enum instead of kind string literals (L1)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:13:23 +02:00
62ce99e558
refactor: ValueCleaner is the named choke point (H1)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:11:28 +02:00
203d14a2f9
refactor: one VariableRef per composition, design lookups in DesignSystem (H3)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:07:56 +02:00
874a92c6be
refactor: split VariableRef into ControlChars and DynamicContentRules (H2)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:05:38 +02:00
e420145cbe
fix: anchored input patterns end at the last character (/D)
janniclas.loosen and Claude Opus 5.5
2026-09-26 18:02:51 +02:00
60290c85a5
test: AssertsToolErrors helper for tool error assertions (T3)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:55:35 +02:00
72eeaa46ad
test: FakeChangeLog and SchemaFixture instead of repeated mocks (T2)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:53:54 +02:00
3d96a41366
test: shared Divi fixtures in tests/Support (T1)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:47:11 +02:00
d2cc8497c9
refactor: extract the lit/content-create draft transaction into NewDraft (M7)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:43:50 +02:00
4114bdb805
refactor: PostRow::update and PostGuard::assertNoMissedSchedule (M5)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:42:33 +02:00
8e5ba9eac4
refactor: WriteFailed named constructors, Rollback runner, Errors read-back helpers (H6)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:40:32 +02:00
fb6eabf80c
refactor: one wpdb accessor style (L4)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:36:23 +02:00
b6984d3f9a
refactor: one logging helper LIT\MCP\Log (M6)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:36:01 +02:00
e005d83a3d
docs: S7 exception applies only to pages not yet in Divi's saved form
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:26:04 +02:00
e0ab6f53e5
docs: D11 superseded by the single Divi save path (Task 9)
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:17:55 +02:00
10c98cd3c6
docs: Divi guides shortform/placeholders, hints name the write tools; test: Divi write end-to-end; version 0.3.0
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:13:59 +02:00
b044cacc9d
fix: admin UI review round 1 (S47) - Art labels, usage only on success, result fallback
janniclas.loosen and Claude Opus 5.5
2026-09-26 17:02:39 +02:00
843f45aeec
feat: admin settings page UI/UX pass with WordPress-native patterns
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:50:58 +02:00
5965e32acb
feat: lit/content-create with Divi short form
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:46:50 +02:00
3efcfaabec
merge: tool groups with inherited mode and 'nur lesen' per group
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:32:39 +02:00
93d2bde286
fix: Task 8 review round 1 - quote-aware tokenizer, context check, skipped global nodes (S45)
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:32:00 +02:00
bb85868192
fix: answer /.well-known OAuth discovery without a canonical redirect; smoke checks the real path
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:27:25 +02:00
776dbf8f4a
feat: group tools by integration with inherited group mode and "nur lesen" switch
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:17:05 +02:00
d67cd0ede6
feat: lit/divi-replace-text with dry run and per-page tree_rev targets
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:16:01 +02:00
ede0221b50
fix: Task 7 review round 1 - copy the raw admin label verbatim on duplicate
janniclas.loosen and Claude Opus 5.5
2026-09-26 16:02:33 +02:00
17402549c5
test: Task 7 review - broaden move/delete/duplicate coverage, fix outline for delete-only changes
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:47:01 +02:00
acd57c40c0
feat: lit/divi-move, lit/divi-delete, lit/divi-duplicate-node
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:37:26 +02:00
0fddece18d
fix: Task 6 review round 2 - builder column classes, sum check only for exact rows, unknown path wins, column structure text (S43)
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:31:05 +02:00
68ca4f45ec
feat: Loosen-IT logo top right on the settings page
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:26:44 +02:00
909ac82594
fix: Task 6 review round 1 - admin label overlap, heading default level, structure deny-list, row widths (S41)
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:26:12 +02:00
22bb1528db
fix: S40 - short form and attrs on the same path refused for new nodes too
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:17:42 +02:00
110beb7698
feat: lit/divi-insert and lit/divi-update
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:15:37 +02:00
b8cb01812e
fix: Task 5 review round 1 - restore point inside the kses window, strict map field types (S37)
janniclas.loosen and Claude Opus 5.5
2026-09-26 15:08:48 +02:00