mirror of
https://github.com/wekan/wekan.git
synced 2026-11-05 01:20:07 -05:00
Record why rule archive is not a durable Sync action yet.
The stored archive runner could be registered as the archive/unarchive adapter, but a full-app run showed one Sync-created card archived by a rule taking 36 seconds: each nested delivery stage re-runs every outer guard - journal scope, intent, lease, rule and archive checks - hundreds of times. Boards with archive rules stay on direct Sync until that guard composition is made cheaper. Thanks to xet7 !
This commit is contained in:
1 parent
d78fe3a8b9
commit
1e40e7e060
1 file changed
+6
@@ -16,6 +16,12 @@
|
||||
// has one; any other action keeps the board on the direct path.
|
||||
const { syncValueChanges } = require('../../models/lib/listSyncTimeEstimates');
|
||||
|
||||
// Rule actions with a durable adapter in runStoredSyncRules. Archive and
|
||||
// unarchive have a stored runner (runStoredSyncRuleArchive) but are NOT listed:
|
||||
// measured on 2026-09-30, one Sync-created card archived by a rule took 36 s,
|
||||
// because each nested delivery stage re-runs every outer guard (journal scope,
|
||||
// intent, lease, rule and archive checks) hundreds of times. Direct Sync does
|
||||
// it at once, so listing them now would slow boards down, not make them safer.
|
||||
const DURABLE_RULE_ACTIONS = new Set(['sendEmail']);
|
||||
// Sync-owned card fields a saved step carries: the ones the direct path's
|
||||
// conditional update compares, plus placement. SimpleSchema owns
|
||||
|
||||
Reference in new issue
Block a user