From 0ae5b866f2d92002c2aa2b3e100685dafeffd8d6 Mon Sep 17 00:00:00 2001 From: hokiepokedad2 <38219945+hokiepokedad2@users.noreply.github.com> Date: Sun, 23 Aug 2026 21:30:17 -0400 Subject: [PATCH 1/2] fix(pokemon): the PVP league name needs 5:1, not 3.5:1 #801 moved the league name from #f57f17 to the cp-pill #e65100 and its comment claimed that cleared 4.5:1. Measured on the dev deployment against the band's #f5f5f5 it is 3.48:1 -- an improvement on 2.4:1, and enough for large text, but this label is 12px. #bf360c measures 5.08:1. Ratios in the comment are now the measured ones. --- .../src/app/modules/pokemon/pokemon-list.component.scss | 5 +++-- CHANGELOG.md | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Applications/Pgan.PoracleWebNet.App/ClientApp/src/app/modules/pokemon/pokemon-list.component.scss b/Applications/Pgan.PoracleWebNet.App/ClientApp/src/app/modules/pokemon/pokemon-list.component.scss index 98a0c046..52464955 100644 --- a/Applications/Pgan.PoracleWebNet.App/ClientApp/src/app/modules/pokemon/pokemon-list.component.scss +++ b/Applications/Pgan.PoracleWebNet.App/ClientApp/src/app/modules/pokemon/pokemon-list.component.scss @@ -365,8 +365,9 @@ gap: 4px; font-size: 12px; font-weight: 500; - // #f57f17 reads at 2.4:1 on this band; #e65100 (the cp-pill orange) clears 4.5:1. - color: #e65100; + // The band's #f5f5f5 is a light surface in both themes, so the amber has to clear 4.5:1 + // against it at 12px. #f57f17 measured 2.4:1 and #e65100 3.5:1; #bf360c is 5.1:1. + color: #bf360c; } .pvp-badge mat-icon { font-size: 16px; diff --git a/CHANGELOG.md b/CHANGELOG.md index a42a262b..a9ebf6c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- **The PVP rank range is readable again on a dark-themed alarm card.** The band under a PVP alarm showed its league and nothing else, so the ranks you had set looked like they had been dropped. They were being drawn, in white, on a band that stays light in both themes. The league name gained some contrast on the way past ([#800](https://github.com/PGAN-Dev/PoracleWeb.NET/issues/800)). +- **The PVP rank range is readable again on a dark-themed alarm card.** The band under a PVP alarm showed its league and nothing else, so the ranks you had set looked like they had been dropped. They were being drawn, in white, on a band that stays light in both themes. The league name beside them is darker now too -- it was legible, but thin ([#800](https://github.com/PGAN-Dev/PoracleWeb.NET/issues/800)). - **A delegate configured in Poracle's own config can see their webhooks again.** Poracle reports a delegated webhook by the name the operator wrote in `webhook_admins`, and this site matched those strings against the webhook's URL, so a name matched nothing: the *My Webhooks* item appeared in the sidebar, the page it led to was empty, and the button on it would have been refused. Grants are now resolved to the webhook they name, whether the config names it by name or by URL, and a grant that names no webhook at all no longer puts an item in the sidebar ([#797](https://github.com/PGAN-Dev/PoracleWeb.NET/issues/797)). - **Impersonating a delegate shows what the delegate sees.** *My Webhooks* was hidden inside an impersonation session -- the one place an admin looks to find out why someone is complaining -- while the page and its actions would both have answered. Impersonating a second account from inside that session is refused, since only one token can be held for the way back out ([#797](https://github.com/PGAN-Dev/PoracleWeb.NET/issues/797)). From 8b267ff47b1614fcfc791848187f9a008a724bb3 Mon Sep 17 00:00:00 2001 From: hokiepokedad2 <38219945+hokiepokedad2@users.noreply.github.com> Date: Mon, 24 Aug 2026 14:56:04 -0400 Subject: [PATCH 2/2] docs(changelog): one PVP entry, not two #801 and #802 fix the same band on the same card for the same issue, and each wrote its own bullet with an identical lead sentence. Keeping both would publish the fix twice under one issue number. #802's wording supersedes: it describes the league name as darker rather than merely having gained contrast, which is what the 5:1 ratio actually did. --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9032d253..3fe31515 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,7 +30,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Switching to a profile that is no longer there stops signing you out.** Any *not found* answer from Poracle was read as *your account has been deleted*, which is what one of them means. A missing profile is not, and neither is a route an older Poracle does not have -- but both ended the session and sent you back to the login page, and one of them did it while a profile duplicate was tidying up after itself, hiding whatever had actually gone wrong. A deleted account still signs you out, exactly as before. - **An underscore in a name survives the rule sentence on an alarm card.** The sentence was having every `*`, `_` and backtick stripped out of it, not only the ones acting as Discord emphasis. Nothing Poracle renders today contains one, so there is no visible change: this is the case that had not arrived yet. Poracle interpolates template names, areas and saved-place labels into that sentence without escaping them, so an area called `north_side` would have reached the card as `northside`. Emphasis is now removed only where it is paired, and where an underscore sits between two word characters it is left alone -- which is what Discord does with it too ([#819](https://github.com/PGAN-Dev/PoracleWeb.NET/pull/819)). - **Pokéstop Events works at all.** The page shipped unable to answer a single request: the service behind it was never handed to the application at startup, so opening the page, adding an event or deleting one all failed the same way, with the generic server error. Nothing caught it -- the tests for that code substitute the missing piece, so they passed, and the site compiled and deployed green. A new test now builds every page's dependencies the way the running application does, which is the only place this kind of omission shows up. -- **The PVP rank range is readable again on a dark-themed alarm card.** The band under a PVP alarm showed its league and nothing else, so the ranks you had set looked like they had been dropped. They were being drawn, in white, on a band that stays light in both themes. The league name gained some contrast on the way past ([#800](https://github.com/PGAN-Dev/PoracleWeb.NET/issues/800)). - **A delegate configured in Poracle's own config can see their webhooks again.** Poracle reports a delegated webhook by the name the operator wrote in `webhook_admins`, and this site matched those strings against the webhook's URL, so a name matched nothing: the *My Webhooks* item appeared in the sidebar, the page it led to was empty, and the button on it would have been refused. Grants are now resolved to the webhook they name, whether the config names it by name or by URL, and a grant that names no webhook at all no longer puts an item in the sidebar ([#797](https://github.com/PGAN-Dev/PoracleWeb.NET/issues/797)). - **Impersonating a delegate shows what the delegate sees.** *My Webhooks* was hidden inside an impersonation session -- the one place an admin looks to find out why someone is complaining -- while the page and its actions would both have answered. Impersonating a second account from inside that session is refused, since only one token can be held for the way back out ([#797](https://github.com/PGAN-Dev/PoracleWeb.NET/issues/797)). - **The Pokéstop Events page reads in your language.** It shipped with its 29 strings in English in every one of the ten other locales, so a properly translated sidebar led straight to a half-English page. Each language now uses its own Pokémon GO wording for Showcase, Kecleon and Gold Stop, matched to the terms the invasion event chips already carried — and the French chips moved from *Présentation* to *Vitrine*, which is what the game calls it.