v26 standalone HTML hardening: live ENSJobPages resolution + contract-faithful ENS/admin fixes#1456
v26 standalone HTML hardening: live ENSJobPages resolution + contract-faithful ENS/admin fixes#1456MontrealAI wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 01303b46a5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| {"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"rescueToken","outputs":[],"stateMutability":"nonpayable","type":"function"} | ||
|
|
||
| {"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"additionalValidators","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}, |
There was a problem hiding this comment.
Insert comma between ABI entries
In the ensureAbiMethods(AGIJobManagerABI, [...]) array, the rescueToken object is followed directly by additionalValidators without a separating comma, which makes the inline script invalid JavaScript (Unexpected token '{' at parse time). Since this is in the main top-level script block, browsers stop executing the script entirely, so core functionality (wallet connect, data refresh, and transaction actions) does not run for any user opening the v26 page.
Useful? React with 👍 / 👎.
Motivation
AGIJobManager.ensJobPages()as the live source-of-truth and only using the verified fallback0x06188e77c1c38d392b16d9d9fb24673363ce1da0in degraded state.Description
resolveEnsJobPagesContract()readsagiJobManager.methods.ensJobPages().call()and setsresolvedEnsJobPagesAddress/resolvedEnsJobPagesSource, falling back only toKNOWN_ENS_JOB_PAGES_FALLBACKin degraded state.ENSJobPagesandAGIJobManager, including tuple-returningjobLabelSnapshot,jobEnsLabel,jobEnsName,jobEnsURI,jobEnsNode, and the requested admin/read/write methods so the UI can perform accurate live reads and expose admin controls.jobManager,jobLabelPrefix,jobLabelSnapshot,jobEnsLabel,jobEnsName,jobEnsURI,jobEnsNode), showresolvedEnsJobPagesSource, and labeluseEnsJobTokenURIvs AGIJobManager tokenURI mode (explicitly marked "owner-configurable, getter unavailable").job-canonical assumptions:ensLabelPreviewForJobId()now uses the livejobLabelPrefixcache or returnsunavailablewhen prefix was unreadable, and all code prefers on-chainjobEnsLabel(jobId)/jobLabelSnapshot(jobId)when connected.prompt()-style admin arg collection with an in-page admin transaction builder modal plus structured review flow (adminActionModal→actionReviewModal) that shows contract target, authorization posture, risk copy, and typed args before submission.Testing
0xc19A84D10ed28c2642EfDA532eC7f3dD88E5ed94is absent, fallback0x06188e77...1da0is present,resolveEnsJobPagesContractandensSnapshotStatusare present, and noprompt()/alert()/confirm()calls remain; all checks succeeded.ENSJobPagesandAGIJobManagermethod names (including tuple-stylejobLabelSnapshot) are present in the file; checks passed.v26artifact to validate render and mobile enhancements; the rendering/screenshot was produced successfully.resolveEnsJobPagesContract()integrated into connect/refresh paths) and exercised admin modal open/continue flows in code paths; automated checks completed without leaving native dialogs and verified new modals exist.All automated checks listed above passed on the updated standalone artifact
ui/agijobmanager_genesis_job_mainnet_2026-03-05-v26.html.Codex Task