Conversation
myovchev
left a comment
There was a problem hiding this comment.
The app is crashing for me. Some findings:
- Demo templates call helpers on the wrong object. Multiple
.jsxtemplates useapos.helper.*,apos.pager.*but in JSX thoseaddHelpershelpers live on thehelpersarg, not the realaposarg (see my in-code comment) - Piece single-page URLs are missing. It might or might not be related to the above
- JSX hot-reload does not work although it was advertised to work in the core. The
nodemonwatcher correctly refuses to restart the process, but until I restart the process I see a template parse errors after page reload (tried to add text to the card widget) - unrelated probably, I'm not sure if it's regression or old "sins" - the 500 page has actually 200 OK status.
| <Template | ||
| templateName="link.jsx" | ||
| label={widget.linkText} | ||
| path={apos.helper.linkPath(widget)} |
There was a problem hiding this comment.
This and tons of helpers related code fails, crashing the app for me.
It looks to me that apos.helper references to the module methods (native server side apos reference) and not the the nunjucsk synthetic one. The solution that kinda works is destructing helpers instead apos and helpers.helper.linkPath(widget) does the job. I'm not sure what the core intent is here (similar to nunjucks behavior or full self.apos access).
I see similar errors in apos.pager.pageRange() .
|
Thanks Miro. Oh dear, I'm starting to think I didn't push everything. I
will have to check when I get home as I know that I fixed some of this but
other things you are describing sound new.
THOMAS BOUTELL | CHIEF EXECUTIVE OFFICER
APOSTROPHECMS | apostrophecms.com | he/him/his
…On Tue, May 26, 2026, 10:38 PM Miro Yovchev ***@***.***> wrote:
***@***.**** requested changes on this pull request.
The app is crashing for me. Some findings:
- Demo templates call helpers on the wrong object. Multiple .jsx
templates use apos.helper.*, apos.pager.* but in JSX those addHelpers
helpers live on the helpers arg, not the real apos arg (see my in-code
comment)
- Piece single-page URLs are missing. It might or might not be related
to the above
- JSX hot-reload does not work although it was advertised to work in
the core. The nodemon watcher correctly refuses to restart the
process, but until I restart the process I see a template parse errors
after page reload (tried to add text to the card widget)
- unrelated probably, I'm not sure if it's regression or old "sins" -
the 500 page has actually 200 OK status.
------------------------------
In modules/card-widget/views/widget.jsx
<#151 (comment)>
:
> + </div>
+ )}
+ <div className="card__content">
+ <div className="card__title-container">
+ <Area doc={widget} name="titleRT" />
+ </div>
+ <div className="card__text-container">
+ <Area doc={widget} name="contentRT" />
+ </div>
+ </div>
+ {widget.linkText && (
+ <div className="card__link">
+ <Template
+ templateName="link.jsx"
+ label={widget.linkText}
+ path={apos.helper.linkPath(widget)}
This and tons of helpers related code fails, crashing the app for me.
It looks to me that apos.helper references to the module methods (native
server side apos reference) and not the the nunjucsk synthetic one. The
solution that kinda works is destructing helpers instead apos and
helpers.helper.linkPath(widget) does the job. I'm not sure what the core
intent is here (similar to nunjucks behavior or full self.apos access).
I see similar errors in apos.pager.pageRange() .
—
Reply to this email directly, view it on GitHub
<#151?email_source=notifications&email_token=AAAH27KJAS35QXCXKJKXCU344WM43A5CNFSNUABKM5UWIORPF5TWS5BNNB2WEL2QOVWGYUTFOF2WK43UKJSXM2LFO4XTIMZWGM4TKMJVGA32M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#pullrequestreview-4363951507>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAH27L6E56SY3CJINUVU4L44WM43AVCNFSM6AAAAACYJP66HOVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHM2DGNRTHE2TCNJQG4>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
(equivalent to nunjucks "apos") but jsx can be trusted with real apos so it's really a migration technique only
|
Hi Miro, Yikes, I apologize for breaking this so much at the last minute. At one point "apos" was the fake nunjucks apos and I realized that was not in agreement with the tech design, but I obviously forgot to fix the templates to match. You should now be able to have a much better experience. However I have not looked into why the watchers don't work yet. |
|
The issues you flagged are ready for re-evaluation, watchers included. Be sure to pull in both repos. |
myovchev
left a comment
There was a problem hiding this comment.
Everything works now out of the box. All previously discovered issues are gone. Watchers also work as expected.
|
This has been approved, but we're not replacing nunjucks as the default in Q2, so it will remain as a separate sample. |
CLAUDE.md pointed at AGENTS.md with a markdown link, which Claude Code's @-import parser doesn't recognize — AGENTS.md was never actually loaded into context. Switch to a real @AGENTS.md import per the canonical guidance (https://code.claude.com/docs/en/memory#agents-md). Also have AGENTS.md name-drop ARCHITECTURE.md and explain its role, per PR review feedback, without @-importing it (it's long prose largely overlapping AGENTS.md's tables, not worth loading every session). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E1R6qsqGA2kcR2zWN1PrTk
| // the widget's limit and display options. | ||
|
|
||
| export default function (data, { Component }) { | ||
| export default function ({ widget: { limit, display } }, { Component }) { |
There was a problem hiding this comment.
I'm not sure if the widget data is guaranteed (thinking of widget preview). The destructing here has no default object fallback and default values
There was a problem hiding this comment.
The widget property will exist, otherwise widget preview would be impossible. Only valid values ever get passed to widget preview. I think we're good on that.
| @@ -0,0 +1,327 @@ | |||
| # AGENTS.md — public-demo | |||
There was a problem hiding this comment.
This is a WAY too large AGENTS instruction file - keep in mind it's consulted on every prompt.
This should be kept extremely brief, only general instructions like code style and architecture, the rest can be handled by skills.
There was a problem hiding this comment.
A good point about context-busting.
There was a problem hiding this comment.
Actually @myovchev I tried a token estimator which put this at under 4,000 tokens. Maybe worthwhile, to understand the project well enough to produce good results consistently.
There was a problem hiding this comment.
Based on my experiments, brief AGENTS + SKILLS + (private list of the things that happened - features, bug fixes, etc) specs history performs much better with less tokens. Keep in mind this 6k are on top of many many more coming with Claude clients.
|
Claude Code overhead is (according to google at least) "16,000 to 34,000
tokens." I think 6,000 tokens about the actual task is not too much to ask,
but maybe we can tighten it up and carry the same meaning?
…On Wed, Sep 9, 2026 at 6:22 AM Miro Yovchev ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In AGENTS.md
<#151 (comment)>
:
> @@ -0,0 +1,327 @@
+# AGENTS.md — public-demo
Based on my experiments, brief AGENTS + SKILLS + (private list of the
things that happened - features, bug fixes, etc) specs history performs
much better with less tokens. Keep in mind this 6k are on top of many many
more coming with Claude clients.
—
Reply to this email directly, view it on GitHub
<#151?email_source=notifications&email_token=AAAH27KWX56MGFGN53KNOMT5OEVNHA5CNFSNUABKM5UWIORPF5TWS5BNNB2WEL2QOVWGYUTFOF2WK43UKJSXM2LFO4XTKMJVGI4TENZVGY22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#discussion_r3967244924>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAH27PFRO25VLFRBL7XPXD5OEVNHAVCNFSNUABFKJSXA33TNF2G64TZHMYTKMBRGU4DQMBRHNEXG43VMU5TIMZUGQYTCMZQHA4KC5QC>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/AAAH27NC2PS7QZQOQAJB2IT5OEVNHA5CNFSNUABKM5UWIORPF5TWS5BNNB2WEL2QOVWGYUTFOF2WK43UKJSXM2LFO4XTKMJVGI4TENZVGY22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG>
and Android
<https://github.com/notifications/mobile/android/AAAH27M4XH5M4GSUT3CWRST5OEVNHA5CNFSNUABKM5UWIORPF5TWS5BNNB2WEL2QOVWGYUTFOF2WK43UKJSXM2LFO4XTKMJVGI4TENZVGY22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA>.
Download it today!
You are receiving this because you authored the thread.Message ID:
<apostrophecms/public-demo/pull/151/review/5152927565 <(515)%20292-7565>@
github.com>
--
THOMAS BOUTELL | CHIEF EXECUTIVE OFFICER
APOSTROPHECMS | apostrophecms.com | he/him/his
|
No description provided.