mnfst 0.5.100 → 0.5.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4611,9 +4611,20 @@ function initializeTeamsConvenience() {
4611
4611
  const waitForStore = () => {
4612
4612
  const store = Alpine.store('auth');
4613
4613
  if (store) {
4614
- // CRITICAL: Check if convenience methods exist - use isCreatingTeam as the key check
4615
- // This ensures methods are re-added if the store was replaced or methods were lost after idle
4616
- const needsReinitialization = !store.isCreatingTeam || typeof store.isCreatingTeam !== 'function';
4614
+ // Decide whether to (re)attach convenience methods. Use a sentinel
4615
+ // that ONLY this module defines `createTeamFromName`. The earlier
4616
+ // sentinel (`isCreatingTeam`) was unreliable: the store itself
4617
+ // defines an `isCreatingTeam()` stub at init (see manifest.appwrite
4618
+ // .auth.store.js — the "Stub team convenience methods" block), so
4619
+ // `typeof store.isCreatingTeam === 'function'` is true BEFORE this
4620
+ // module runs. The check then fired false-positive and skipped the
4621
+ // whole `if (needsReinitialization)` block below, leaving the real
4622
+ // convenience methods (startEditingMember, createTeamFromName,
4623
+ // cancelEditingMember, saveEditingMember, deleteMember, leaveTeam,
4624
+ // toggleInviteRole, etc.) unattached — surfacing as
4625
+ // "$auth.startEditingMember is not a function" the moment a user
4626
+ // clicked an edit-member button.
4627
+ const needsReinitialization = typeof store.createTeamFromName !== 'function';
4617
4628
 
4618
4629
  // Ensure cache properties are initialized (methods are already in store)
4619
4630
  if (!store._permissionCache) store._permissionCache = {};
@@ -1,5 +1,5 @@
1
1
  {
2
- "manifest.appwrite.auth.js": "sha384-to37ssZJXGeOS6+rf2VI47ox2mEqgsi5oQ1E5vv8XU/lDspbDFE1KHEMm8TxBhxW",
2
+ "manifest.appwrite.auth.js": "sha384-Kvv9SjOFBFY2LELQunQpKLr3uDT+supgouo93eahEL4dAHntq0F9u8Hoyx85eQKr",
3
3
  "manifest.appwrite.data.js": "sha384-00ulLT+GAIuPHA/rRT9p98vYlsyDzkyKXtg86BDQ6FGQa5vVVN+W6kuforniBAsz",
4
4
  "manifest.appwrite.presence.js": "sha384-uxRpx9/Jj0kGtklH5QmUlAzD3zdSvFRfK6bcJQqxl+Bsf5tOo4zgwqJTQgtZoHQP",
5
5
  "manifest.code.js": "sha384-jYW7i5F+K+mL5d/HKpw/Xoo0vOz/pmlvotGd7MUPOu+CB+O28OohqgPAEI4y6bSS",
@@ -11,7 +11,7 @@
11
11
  "manifest.export.js": "sha384-qvdGz1TiGEDOeWJ5os1z03RURdKX+ezZEQ1KyV+9iC7X0esLK83mtY87t4MQv45t",
12
12
  "manifest.icons.js": "sha384-uOkboYrovjCpl22eey3Jaxpey+pOnot5NDnRRumcRxiR7IOVaRh1i20gYnWXR5dW",
13
13
  "manifest.localization.js": "sha384-M40EWrbWs2MoJvUiYVQaPxPiOzMYBn/ywuMR02rvoSXG77eIHT/aRoYub9r6+jC+",
14
- "manifest.markdown.js": "sha384-3LgPiHrftPqAIJGhxi87C0TtfJXbsH0Qj4JmfmYgV4y5UjSx7nVSP+ppsRUWT0Xs",
14
+ "manifest.markdown.js": "sha384-H/Zg0ANrfokWWLR0js9zKd6yasP62sG+aga5r5WnmTd+LPMb93H97JlS8OQV7Ox9",
15
15
  "manifest.resize.js": "sha384-Ak5gf44ERfh9pOSAD1qZzJSysslpwBCkevIlz7R3dszTUyzUKGKGF4pn5arOtgG0",
16
16
  "manifest.router.js": "sha384-n6xmIfWnYzd/0kkVTFuHhFzHuxiDgZ1Lg1W0yB6/w3Myw5pQ6PgE6SJBHfVsO7/D",
17
17
  "manifest.slides.js": "sha384-3uRTkyK9XPLmnxI2+igZlpi4EyPlU/7IHj5j3BZJJ2KN455vXyk99fiXV3feO/XY",
@@ -346,8 +346,16 @@ function applyInlineCodeAttributes(html) {
346
346
  // Be conservative: only rewrite when the brace block immediately follows
347
347
  // a `<code>` close tag (no whitespace), so prose like "foo `bar` {note}" is
348
348
  // untouched.
349
+ //
350
+ // Body capture is `[^<]*` (not `[\s\S]*?`) so the match can't span across
351
+ // intermediate `<` characters — without this guard, an unmatched
352
+ // `<code>foo</code>` followed later by `<code>bar</code>{copy}` would be
353
+ // captured as ONE big match with body = "foo</code><…><code>bar". That
354
+ // bug surfaces noticeably in tables, where multiple codespans per row mix
355
+ // marked and unmarked instances. Marked HTML-escapes any literal `<` in
356
+ // codespan content to `&lt;`, so the restriction is safe.
349
357
  return html.replace(
350
- /<code>([\s\S]*?)<\/code>\{([^}\n]+)\}/g,
358
+ /<code>([^<]*)<\/code>\{([^}\n]+)\}/g,
351
359
  (_, body, attrString) => {
352
360
  const tokens = attrString.trim().split(/\s+/).filter(Boolean);
353
361
  let language = '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mnfst",
3
- "version": "0.5.100",
3
+ "version": "0.5.102",
4
4
  "private": false,
5
5
  "workspaces": [
6
6
  "templates/starter",