Skip to content

feat: add an elonw feature check and screenshot recipe - #61

Merged
bonelifer merged 1 commit into
mainfrom
elonw-feature-check
Nov 8, 2026
Merged

bonelifer merged 1 commit into
mainfrom
elonw-feature-check

Conversation

@bonelifer

Copy link
Copy Markdown
Contributor

Adds a feature check and a screenshot recipe for phpbbmodders/elonw.

Feature check (feature_checks.py)

  • Posts an external link and a link to the board, then checks in Chromium that:
    • only the external link is marked, with a tooltip and the same text for screen readers;
    • it opens in a new window, also after a script-driven link was clicked;
    • the link to the board opens in the same window.
  • Saves the UCP setting as 0, -1 and 1, and checks what is stored and that turning it off removes the script.
  • Answers requests to other hosts locally, so nothing leaves the machine.

Screenshot recipe (screenshots.py)

  • Saves a post with both kinds of link and the UCP setting. Documented in the README.

Testing
Claude ran these checks:

  • db-matrix.sh with the check on phpBB 3.3 and 4.0 with SQLite, MySQL, MariaDB, PostgreSQL and SQL Server.
  • On the elonw code from before its fixes, the check fails the screen-reader, new-window and stored-value cases.
  • tests/test-phpbb-test-board.sh passes.
  • The recipe produced the screenshots in the elonw PR.

Investigated and written by Claude on behalf of William Jacoby (bonelifer).

🤖 Generated with Claude Code

The feature check posts an external link and a same-board link and
checks in Chromium that only the external one is marked (tooltip plus
screen-reader text), that it opens in a new window also after a
script-driven link was clicked, and that the same-board link does not.
It then saves the UCP setting as 0, -1 and 1 and checks what is stored
and that turning it off removes the script. Requests to other hosts are
answered locally.

The screenshot recipe saves a post with both kinds of link and the UCP
setting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bonelifer
bonelifer merged commit 98a5d19 into main Nov 8, 2026
1 check passed
@bonelifer
bonelifer deleted the elonw-feature-check branch November 8, 2026 03:30
bonelifer added a commit to phpbbmodders/elonw that referenced this pull request Nov 8, 2026
… fixes (#27)

Moves the extension to the `phpbbmodders/elonw` package, brings it in line with the organization's layout, and fixes the bugs and accessibility gaps found by validation.

**Package move**
- Namespace, service id, migrations and template paths now use `phpbbmodders/elonw`. The version is `1.1.0-dev`.
- `ext.php` refuses to enable while `rmcgirr83/elonw` is still enabled, and moves its migration history on enable, so members keep their setting. The README has an "Upgrading from `rmcgirr83/elonw`" section.

**Organization layout**
- File headers, composer metadata, the GitHub description and the README follow the organization conventions. Screenshots are in `docs/images/screenshots/`.
- Removed the donation material: `FUNDING.yml`, the PayPal strings and the ACP extension-details block with its listener hook. Also removed the unused `EXTENSION_REQUIREMENTS` string.
- EPV runs on phpBB 3.3 and 4.0, a new lint workflow runs `php -l` and `composer validate` on PHP 8.3 and 8.4, `LICENSE.txt` is now `license.txt`, and two CRLF files are stored with LF.

**Fixes**
- After someone clicked a lightbox, share or `onclick` link, external links stopped opening in a new window until the page was reloaded. The check now runs fresh for every click.
- Dropped the `.forum_link` handler. No core style uses that class. It opened windows without `noopener`, and its `rel` value was invalid. The general click handler already covers external link forums.
- The UCP setting is stored as 0 or 1. Before, any other integer reached the boolean column.
- tldts is included once, behind a `DEFINE` guard, with a note on its version and source next to the bundle.
- Marked links get hidden text, so screen readers say the link opens in a new window. The icon is marked decorative.

**Testing**
Claude ran these checks:
- EPV on phpBB 3.3.x and master: no findings beyond the allowed `unserialize` in `ext.php`.
- The code sniffer with both branches' rulesets, and `php -l` on PHP 8.3 and 8.4.
- The new elonw feature check ([phpbbmodders/phpbb-release-tools#61](phpbbmodders/phpbb-release-tools#61)) with `db-matrix.sh` on phpBB 3.3 and 4.0 with SQLite, MySQL, MariaDB, PostgreSQL and SQL Server, including disable, purge and enable. On the pre-fix code, the same check fails the screen-reader, new-window and stored-value cases.
- `rename_upgrade.py` from `rmcgirr83/elonw` 1.0.12 (68fe830): 18/18 passed, and none of the 4 old migrations ran again.
- In Chromium on both branches: the link's accessible name is "project site Opens in new window", Enter opens the new window, the icon renders on phpBB 4.0, and nothing overflows at phone width.

---

Investigated and written by [Claude](https://www.anthropic.com/claude) on behalf of William Jacoby ([bonelifer](https://github.com/bonelifer)).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant