fix: align OneNote workspace with Toolbox shell

This commit is contained in:
2026-07-23 12:59:39 +02:00
parent 038afb3f9c
commit ad780703ab
11 changed files with 41 additions and 14 deletions

View File

@@ -1,5 +1,11 @@
# Changelog
## 0.3.3 - 2026-07-23
- Let the OneNote application use the full width supplied by the shared
Toolbox shell, matching the shell bar's `min(100%, 90rem)` content span
instead of retaining the former 76rem application cap.
## 0.3.2 - 2026-07-23
- Upgrade the Toolbox contract, React shell, and validation testkit to 0.2.2,

View File

@@ -9,13 +9,14 @@ It is also an independent application in the add·ideas Toolbox contract. The
source uses the Toolbox SDK shell and manifest, builds with Vite `base: './'`,
and is delivered to Toolbox Portal as a checksummed static ZIP.
Version 0.3.2 uses the stable shared top bar, with the Toolbox icon and
Version 0.3.3 uses the stable shared top bar, with the Toolbox icon and
`add·ideas Toolbox` label in a fixed far-left block; the app title and one
tagline centered; and Help, the OneNote source link, Apps, and Personalize in a
fixed far-right cluster. Personalize uses the shared portal-style appearance
panel while catalogue counts and preference import/export stay in the portal.
The application content uses the same `min(100%, 90rem)` span as the shell bar.
## What version 0.3.2 supports
## What version 0.3.3 supports
- Desktop revision-store and unfragmented FSSHTTPB package-store `.one`
sections from the tested producer families.
@@ -86,7 +87,7 @@ supplied through the SDK's `?toolbox=` context mechanism. The app uses the SDK
```sh
npm run release:artifact
(cd release && sha256sum -c onenote-tools-0.3.2.sha256)
(cd release && sha256sum -c onenote-tools-0.3.3.sha256)
```
The ZIP root contains the built static app and manifest plus the changelog,

View File

@@ -1,8 +1,8 @@
# Corresponding source
The corresponding source for OneNote Tools 0.3.2 is the `v0.3.2` tag:
The corresponding source for OneNote Tools 0.3.3 is the `v0.3.3` tag:
https://git.add-ideas.de/zemion/onenote-tools/src/tag/v0.3.2
https://git.add-ideas.de/zemion/onenote-tools/src/tag/v0.3.3
Build the release from that tag with Node.js 22 or newer:

View File

@@ -1,6 +1,6 @@
# Format support
## Version 0.3.2 support matrix
## Version 0.3.3 support matrix
| Input or feature | Status | Tested evidence and boundary |
| -------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------- |

View File

@@ -1,6 +1,6 @@
# Specifications and pinned references
Version 0.3.2 records these immutable implementation revisions:
Version 0.3.3 records these immutable implementation revisions:
| Repository | Exact revision | Use |
| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------- |

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "onenote-tools",
"version": "0.3.2",
"version": "0.3.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "onenote-tools",
"version": "0.3.2",
"version": "0.3.3",
"license": "MPL-2.0 AND LGPL-2.1-only",
"dependencies": {
"@add-ideas/toolbox-contract": "0.2.2",

View File

@@ -1,6 +1,6 @@
{
"name": "onenote-tools",
"version": "0.3.2",
"version": "0.3.3",
"description": "A local-first browser reader and exporter for OneNote files.",
"license": "MPL-2.0 AND LGPL-2.1-only",
"private": true,

View File

@@ -40,5 +40,5 @@
"repository": "https://git.add-ideas.de/zemion/onenote-tools",
"license": "MPL-2.0 AND LGPL-2.1-only"
},
"version": "0.3.2"
"version": "0.3.3"
}

View File

@@ -0,0 +1,21 @@
import { readFile } from 'node:fs/promises';
import path from 'node:path';
import { describe, expect, it } from 'vitest';
describe('application width', () => {
it('uses the complete width supplied by the shared Toolbox shell', async () => {
const stylesheet = await readFile(
path.join(process.cwd(), 'src', 'styles.css'),
'utf8'
);
const applicationRules = Array.from(
stylesheet.matchAll(/\.application\s*\{([^}]*)\}/g),
(match) => match[1] ?? ''
);
expect(applicationRules).not.toHaveLength(0);
expect(applicationRules.join('\n')).toMatch(/\bwidth:\s*100%;/);
expect(applicationRules.join('\n')).not.toMatch(/\bwidth:\s*min\(/);
});
});

View File

@@ -106,7 +106,7 @@ body {
.application {
display: grid;
gap: 1.25rem;
width: min(76rem, calc(100% - 2rem));
width: 100%;
margin: 2rem auto;
}
@@ -801,7 +801,6 @@ body {
@media (max-width: 760px) {
.application {
width: min(100% - 1rem, 76rem);
margin: 0.75rem auto;
}

View File

@@ -1 +1 @@
export const APP_VERSION = '0.3.2';
export const APP_VERSION = '0.3.3';