Skip to content

Commit a77f426

Browse files
authored
Merge pull request #38 from Post-Math/dev
chore: release 1.2.2
2 parents 62f47dd + 4387629 commit a77f426

8 files changed

Lines changed: 78 additions & 15 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
uses: actions/checkout@v7
2323

2424
- name: Set up Node.js
25-
uses: actions/setup-node@v6
25+
uses: actions/setup-node@v7
2626
with:
2727
node-version: "20"
2828
cache: "npm"

‎.github/workflows/release.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
uses: actions/checkout@v7
3434

3535
- name: Set up Node.js
36-
uses: actions/setup-node@v6
36+
uses: actions/setup-node@v7
3737
with:
3838
node-version: "20"
3939
cache: "npm"
@@ -82,7 +82,7 @@ jobs:
8282
# this workflow, so users can verify provenance with `gh attestation verify`.
8383
- name: Attest build provenance
8484
if: steps.guard.outputs.exists == 'false'
85-
uses: actions/attest-build-provenance@v2
85+
uses: actions/attest-build-provenance@v4
8686
with:
8787
subject-path: |
8888
main.js

‎CHANGELOG.md‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.2.2] - 2026-07-28
11+
12+
The remaining warning from Obsidian's plugin review. No change in behaviour.
13+
14+
### Fixed
15+
16+
- The inert footnote marker's dotted underline is drawn with a `border-bottom`
17+
instead of `text-decoration`. 1.2.1 moved the rule to the
18+
`text-decoration-line` / `text-decoration-style` longhands on the assumption
19+
that only the multi-value shorthand was flagged; Obsidian's CSS check
20+
actually maps the entire `text-decoration` family onto a single browser
21+
feature that Chrome supports only partially, so every spelling of it warns.
22+
The marker looks the same.
23+
24+
### Internal — recurrence prevention
25+
26+
- `scripts/validate.mjs` now fails the build if `styles.css` declares any
27+
`text-decoration*` property. The reviewer's CSS check runs on their side
28+
only, so the previous fix could not be verified before submission and the
29+
same warning came back a second time; the local gate now carries the rule.
30+
1031
## [1.2.1] - 2026-07-28
1132

1233
Compliance fixes raised by Obsidian's plugin review. No change in behaviour.
@@ -215,7 +236,8 @@ Initial public release.
215236
mode), not only in Reading view. The table being actively edited is left
216237
untouched.
217238

218-
[Unreleased]: https://github.com/Post-Math/Lookout/compare/1.2.1...HEAD
239+
[Unreleased]: https://github.com/Post-Math/Lookout/compare/1.2.2...HEAD
240+
[1.2.2]: https://github.com/Post-Math/Lookout/compare/1.2.1...1.2.2
219241
[1.2.1]: https://github.com/Post-Math/Lookout/compare/1.2.0...1.2.1
220242
[1.2.0]: https://github.com/Post-Math/Lookout/compare/1.1.7...1.2.0
221243
[#28]: https://github.com/Post-Math/Lookout/issues/28

‎manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"id": "lookout",
33
"name": "Lookout",
4-
"version": "1.2.1",
4+
"version": "1.2.2",
55
"minAppVersion": "1.6.6",
66
"description": "Survey wide content instead of scrolling sideways. Pan and zoom Mermaid diagrams (wheel, Ctrl+wheel, or buttons), fit them to the frame, and open diagrams or wide tables full-screen.",
77
"author": "Post-Math",

‎package-lock.json‎

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎scripts/validate.mjs‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,44 @@ if (manifest && versions) {
5656
}
5757
}
5858

59+
/*
60+
* styles.css: properties Obsidian's plugin CSS check rejects.
61+
*
62+
* That check maps each declared property to a caniuse feature and warns when
63+
* the feature is not *fully* supported by the Chrome in the plugin's
64+
* `minAppVersion`. The whole `text-decoration` family — shorthand and
65+
* longhands alike — resolves to one feature that Chrome only partially
66+
* supports, so no spelling of it passes; 1.2.1 shipped the longhands believing
67+
* only the shorthand was flagged, and got the same warning back. Use a
68+
* `border-bottom` for underline-like rules instead.
69+
*
70+
* This is a targeted guard, not a reimplementation of the reviewer's check:
71+
* it encodes the one family we have actually been flagged on.
72+
*/
73+
const CSS_BANNED = [
74+
[
75+
/(^|[;{\s])text-decoration(-line|-style|-color|-thickness|-skip|-skip-ink)?\s*:/gm,
76+
"Obsidian's CSS check flags the whole text-decoration family as only " +
77+
"partially supported. Use `border-bottom: 1px dotted currentColor` " +
78+
"(plus `padding-bottom` for offset) instead.",
79+
],
80+
];
81+
if (existsSync("styles.css")) {
82+
const css = readFileSync("styles.css", "utf8");
83+
// Comments carry the explanation of *why* these are banned; don't self-trip.
84+
// Blank them out newline-for-newline so reported line numbers stay true.
85+
const code = css.replace(/\/\*[\s\S]*?\*\//g, (c) => c.replace(/[^\n]/g, " "));
86+
let clean = true;
87+
for (const [re, why] of CSS_BANNED) {
88+
for (const m of code.matchAll(re)) {
89+
const line = code.slice(0, m.index).split("\n").length;
90+
fail(`styles.css:${line} uses \`${m[0].trim().replace(/:$/, "")}\`. ${why}`);
91+
clean = false;
92+
}
93+
}
94+
if (clean) ok("styles.css uses no unsupported browser features");
95+
}
96+
5997
if (failed) {
6098
console.error("\nValidation failed.");
6199
process.exit(1);

‎styles.css‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -446,12 +446,14 @@
446446
.lookout-table-fs-scroll .lookout-fn-unresolved {
447447
color: var(--text-muted);
448448
cursor: default;
449-
/* Longhands, not the `text-decoration` shorthand: Obsidian's plugin CSS check
450-
flags the multi-value shorthand as only partially supported at our
451-
`minAppVersion`, while these two have been safe for far longer. */
452-
text-decoration-line: underline;
453-
text-decoration-style: dotted;
454-
text-underline-offset: 2px;
449+
/* A border, not `text-decoration` — and not its longhands either. Obsidian's
450+
plugin CSS check groups the whole `text-decoration` family under one
451+
caniuse feature that Chrome only *partially* supports, so every spelling of
452+
it is flagged; the dotted bottom border draws the same cue out of CSS1
453+
properties nothing has ever qualified. `padding-bottom` stands in for the
454+
underline offset. */
455+
border-bottom: 1px dotted currentColor;
456+
padding-bottom: 1px;
455457
}
456458

457459
.lookout-fs-close {

‎versions.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77
"1.1.6": "1.0.0",
88
"1.1.7": "1.0.0",
99
"1.2.0": "1.6.6",
10-
"1.2.1": "1.6.6"
10+
"1.2.1": "1.6.6",
11+
"1.2.2": "1.6.6"
1112
}

0 commit comments

Comments
 (0)