Commit graph

18 commits

Author SHA1 Message Date
Claude
f505a580d2
Filter several service accounts, not just Playerbots
Some checks failed
Build / build (push) Has been cancelled
Lint / eslint (push) Has been cancelled
The auction-house bot account (ahouse) owns 9 mule characters that were
showing up in the armory alongside real players. One LIKE pattern could not
cover both it and RNDBOT%.

Replaces botAccountPattern with botAccountPatterns, a comma-separated list
of LIKE patterns, and builds the clause with Utils.botAccountFilter. An empty
list now disables the filter outright rather than emitting a clause that
matches nothing, so misconfiguration fails open instead of hiding everyone.

The stack default becomes "RNDBOT%,ahouse"; config.default.json keeps the
generic "RNDBOT%" so the fork stays upstreamable.

Verified against the live realm: 29 listed before, 20 after. The 9 excluded
are the ahouse mules.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd
2026-09-02 21:28:18 +00:00
Claude
cc7ca06182
Hide Playerbot accounts from search, character pages and guild rosters
Some checks failed
Build / build (push) Waiting to run
Lint / eslint (push) Waiting to run
Build / build (pull_request) Has been cancelled
Lint / eslint (pull_request) Has been cancelled
Playerbots are ordinary accounts, not game masters, so hideGameMasters does
not touch them. On a realm running mod-playerbots that means the armory is
almost entirely bots: 1,377 characters listed, of which about 1,350 are bots.

Adds two options, hideBotAccounts (default true) and botAccountPattern
(default "RNDBOT%"), applied the same way the game master filter already
works: left join the accounts we do not want, then require the join to have
missed. A realm without bots matches nothing, so the default is harmless.

Applied in the search listing, guild rosters, and the character lookup, so a
bot's page 404s rather than rendering.

The pattern is spliced into join clauses the query builder emits as raw SQL,
so it cannot be a bound parameter. It comes from the operator's own config
rather than from a request, but Utils.quoteSqlString quotes it so a stray
apostrophe cannot produce a broken query.

Verified against the live realm:

  listed before  1377
  listed after     27
  Spinnaker, Kdog  shown
  Rarzosh (bot)    hidden

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd
2026-09-02 20:08:24 +00:00
Axel Cocat
905f1549fd
feat(character): add option to use the ZAM CDN for the model viewer assets (#22) 2022-05-14 22:19:21 +02:00
Axel Cocat
bb6428955f chore: add and apply eslint 2022-05-14 18:44:50 +02:00
Axel Cocat
7cd2748d33
feat(character): add transmog module compatibility (#21) 2022-05-14 16:39:31 +02:00
Stefano Borzì
216904fd6e
chore: minor improvements in for cycle (#18) 2022-05-06 20:24:22 +02:00
Stefano Borzì
8331e4dd73
chore: apply prettier on all files (#8)
* chore: apply prettier on all files

* chore: add prettier npm script

* Update .prettierrc

Co-authored-by: Axel Cocat <ax.cocat@gmail.com>

* Update .prettierignore

Co-authored-by: Axel Cocat <ax.cocat@gmail.com>

* Update .prettierignore

Co-authored-by: Axel Cocat <ax.cocat@gmail.com>

* Update .prettierignore

Co-authored-by: Axel Cocat <ax.cocat@gmail.com>

* chore: apply prettier with new conf

* Revert "chore: apply prettier with new conf"

This reverts commit db2a04c03f.

* chore: apply prettier correctly

* chore: update .prettierignore

* chore: restore viewer.min.js minification

* chore: apply again prettier

Co-authored-by: Stefano Borzi <stefano.borzi@fedex.com>
Co-authored-by: Axel Cocat <ax.cocat@gmail.com>
2022-05-06 19:35:26 +02:00
Axel Cocat
b8de1cbc8b
feat: add website root path settings (#1)
* feat: add website root path settings
* fix: disable cloudflare rocket-loader for iframe-resizer
2022-03-16 23:39:45 +01:00
Axel Cocat
a462b6af1b feat: read config from env if config.json is not found 2022-03-14 22:42:28 +01:00
Axel Cocat
ab5dcd3640 feat: add db query timeout option 2022-03-05 15:32:03 +01:00
Axel Cocat
5602ece097 feat: redirect to main website if not in iframe 2022-02-27 19:22:14 +01:00
Axel Cocat
94aec140a8 feat(error): add link to website 2022-02-27 18:17:02 +01:00
Axel Cocat
56c0fed144 feat: add logging and error handling 2022-02-27 18:05:10 +01:00
Axel Cocat
1fd6b326dc feat: hide game masters 2022-02-26 13:14:51 +01:00
Axel Cocat
f32b70fb0b feat: rewrite csv parsing 2022-01-07 23:24:42 +01:00
Axel Cocat
1a682409a8 feat(config): add aowow url to config file 2022-01-06 22:29:11 +01:00
Axel Cocat
73916950b7 feat(character): add equipment tooltips 2022-01-04 01:30:33 +01:00
Axel Cocat
ac26336bc3 feat: use character data from database 2022-01-02 18:36:16 +01:00