<feed xmlns='http://www.w3.org/2005/Atom'>
<title>website, branch fix/npm-audit</title>
<subtitle>The site of tala.run: a Vue frontend and an ASP.NET Core API.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/'/>
<entry>
<title>Pin glob and minimatch below c8 past their advisories</title>
<updated>2026-11-01T20:32:59+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-01T20:32:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=a3ba4e174f82650564fb87122f0c1b64c45ffbfc'/>
<id>a3ba4e174f82650564fb87122f0c1b64c45ffbfc</id>
<content type='text'>
The latest c8 still asks test-exclude for ranges that npm audit now
reports, and the fix npm offers moves c8 back a major version. Overrides
take the fixed releases instead; coverage works with them.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The latest c8 still asks test-exclude for ranges that npm audit now
reports, and the fix npm offers moves c8 back a major version. Overrides
take the fixed releases instead; coverage works with them.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #44 from Progmasoft/feature/talafmt-talalint-sites</title>
<updated>2026-10-23T11:05:49+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-10-23T11:05:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=7f4c27e9253e1215d82e78a9aa6b9a0b54570d2e'/>
<id>7f4c27e9253e1215d82e78a9aa6b9a0b54570d2e</id>
<content type='text'>
Add the talafmt.tala.run and talalint.tala.run sites</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the talafmt.tala.run and talalint.tala.run sites</pre>
</div>
</content>
</entry>
<entry>
<title>Add the talafmt.tala.run and talalint.tala.run sites</title>
<updated>2026-10-23T10:04:21+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-23T10:04:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=48c79fffa74e00f9cfbf0a731bc4f53190206c61'/>
<id>48c79fffa74e00f9cfbf0a731bc4f53190206c61</id>
<content type='text'>
The build that serves tala.run, talac.tala.run and tazel.tala.run now
also serves the formatter and the linter, chosen by host name like the
others. Each site has a landing page and two documentation pages in
en-US, de-DE, ru-RU and he-IL:

- talafmt: the command line (inputs, --check, --emit, exit status 2 for
  an unreadable line) and what it changes (indentation, line endings,
  trailing whitespace, the final newline; protected text; encodings from
  talafmt.kts).
- talalint: the command line (--fix) and what it checks: the compiler's
  diagnostics as compiler.&lt;code&gt;, and format.trailingWhitespace,
  format.mixedLineEndings and format.missingFinalNewline. --fix rewrites a
  file with talafmt's default layout, which also re-indents blocks.

The facts follow the READMEs of Progmasoft/talafmt and Progmasoft/talalint
0.1.0 and the talalint source. site.ts lists the sites once, with their
names, so the header, the landing page and the documentation shell no
longer keep their own copies. Each host has its robots.txt and
sitemap.xml, nginx gains the two server blocks, and the tests check the
new hosts like the others.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The build that serves tala.run, talac.tala.run and tazel.tala.run now
also serves the formatter and the linter, chosen by host name like the
others. Each site has a landing page and two documentation pages in
en-US, de-DE, ru-RU and he-IL:

- talafmt: the command line (inputs, --check, --emit, exit status 2 for
  an unreadable line) and what it changes (indentation, line endings,
  trailing whitespace, the final newline; protected text; encodings from
  talafmt.kts).
- talalint: the command line (--fix) and what it checks: the compiler's
  diagnostics as compiler.&lt;code&gt;, and format.trailingWhitespace,
  format.mixedLineEndings and format.missingFinalNewline. --fix rewrites a
  file with talafmt's default layout, which also re-indents blocks.

The facts follow the READMEs of Progmasoft/talafmt and Progmasoft/talalint
0.1.0 and the talalint source. site.ts lists the sites once, with their
names, so the header, the landing page and the documentation shell no
longer keep their own copies. Each host has its robots.txt and
sitemap.xml, nginx gains the two server blocks, and the tests check the
new hosts like the others.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #43 from Progmasoft/ops/real-404</title>
<updated>2026-10-23T03:36:29+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-10-23T03:36:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=cd9ceec698921c558e870341b20f789bf5f4bc36'/>
<id>cd9ceec698921c558e870341b20f789bf5f4bc36</id>
<content type='text'>
Answer unknown paths of the tala.run sites with 404</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Answer unknown paths of the tala.run sites with 404</pre>
</div>
</content>
</entry>
<entry>
<title>Update vite and launch-editor for the npm audit and format the route test</title>
<updated>2026-10-23T03:07:01+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-23T03:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=1a82704248753633d1d546e59a21efda9d07e96b'/>
<id>1a82704248753633d1d546e59a21efda9d07e96b</id>
<content type='text'>
npm audit fix moves the development dependencies vite to 7.3.7 and
launch-editor past GHSA-698v-4r3x-3vcv, GHSA-r825-w8mm-5pxw and
GHSA-587h-7wmj-h5pm; the frontend audit gate failed on them. Prettier
formats tests/site-integrity.test.mjs, which the format check flagged.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
npm audit fix moves the development dependencies vite to 7.3.7 and
launch-editor past GHSA-698v-4r3x-3vcv, GHSA-r825-w8mm-5pxw and
GHSA-587h-7wmj-h5pm; the frontend audit gate failed on them. Prettier
formats tests/site-integrity.test.mjs, which the format check flagged.
</pre>
</div>
</content>
</entry>
<entry>
<title>Answer unknown paths of the tala.run sites with 404</title>
<updated>2026-10-23T00:26:55+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-23T00:26:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=c2787446c019458d635a152e113dc0f265c31f52'/>
<id>c2787446c019458d635a152e113dc0f265c31f52</id>
<content type='text'>
Nginx sent every path that is not a file to index.html with 200, so
probes such as /wp-admin/install.php, xmlrpc.php and phpinfo.php were
answered as pages: scanners take that for a hit, and search engines
index soft 404s.

The three server blocks now fall back to @application, which serves
the app shell only for the routes of the application, / and
/docs/&lt;page&gt;, and answers every other path with 404. error_page keeps
index.html as the body of the 404, so a visitor still reaches the
landing page through the router.

A test reads the three sitemaps and requires every listed page to
match the accepted routes, and scanner paths, /docs and nested paths
not to; it also requires the same route rule in all three blocks.
OPERATIONS.md describes the expected 404s, and asks for
--no-same-owner, chown -R root:root and LF line endings when files are
copied from a developer machine: the 2026-10-18 release had left the
frontend owned by a Windows user ID.

Applied on the server with the owner's approval and verified: nginx -t
is clean; /, /docs/overview, talac /docs/command-line, tazel
/docs/commands, robots.txt and /api/v1/site answer 200;
/wp-admin/install.php, /no-such-page and /docs answer 404. npm test
passes, 45 tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Nginx sent every path that is not a file to index.html with 200, so
probes such as /wp-admin/install.php, xmlrpc.php and phpinfo.php were
answered as pages: scanners take that for a hit, and search engines
index soft 404s.

The three server blocks now fall back to @application, which serves
the app shell only for the routes of the application, / and
/docs/&lt;page&gt;, and answers every other path with 404. error_page keeps
index.html as the body of the 404, so a visitor still reaches the
landing page through the router.

A test reads the three sitemaps and requires every listed page to
match the accepted routes, and scanner paths, /docs and nested paths
not to; it also requires the same route rule in all three blocks.
OPERATIONS.md describes the expected 404s, and asks for
--no-same-owner, chown -R root:root and LF line endings when files are
copied from a developer machine: the 2026-10-18 release had left the
frontend owned by a Windows user ID.

Applied on the server with the owner's approval and verified: nginx -t
is clean; /, /docs/overview, talac /docs/command-line, tazel
/docs/commands, robots.txt and /api/v1/site answer 200;
/wp-admin/install.php, /no-such-page and /docs answer 404. npm test
passes, 45 tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #42 from Progmasoft/web/tazel-source-link</title>
<updated>2026-10-18T16:10:22+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-10-18T16:10:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=7dc24fbdf721bd9f504e96528f49453abd3f216b'/>
<id>7dc24fbdf721bd9f504e96528f49453abd3f216b</id>
<content type='text'>
Link the Tazel page to the Tazel repository</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Link the Tazel page to the Tazel repository</pre>
</div>
</content>
</entry>
<entry>
<title>Link the Tazel page to the Tazel repository</title>
<updated>2026-10-18T16:00:09+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-18T16:00:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=3d280554c1bb25dd83ea3e91f020dfb37641c3e2'/>
<id>3d280554c1bb25dd83ea3e91f020dfb37641c3e2</id>
<content type='text'>
Tazel moved out of Progmasoft/tala into Progmasoft/tazel (tala#93), so
the "Source" link at the end of the Tazel landing page pointed at a
directory that no longer exists. In all four languages it now opens
https://github.com/Progmasoft/tazel. The Tala and Talac pages keep
their links into Progmasoft/tala.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tazel moved out of Progmasoft/tala into Progmasoft/tazel (tala#93), so
the "Source" link at the end of the Tazel landing page pointed at a
directory that no longer exists. In all four languages it now opens
https://github.com/Progmasoft/tazel. The Tala and Talac pages keep
their links into Progmasoft/tala.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #41 from Progmasoft/design/docs-layout</title>
<updated>2026-10-18T06:57:50+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-10-18T06:57:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=5877c2ec7f0f58eb4128c83e20d93fd74c90a47d'/>
<id>5877c2ec7f0f58eb4128c83e20d93fd74c90a47d</id>
<content type='text'>
Lay out the documentation like kotlinlang.org/docs</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lay out the documentation like kotlinlang.org/docs</pre>
</div>
</content>
</entry>
<entry>
<title>Lay out the documentation like kotlinlang.org/docs</title>
<updated>2026-10-18T06:00:14+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-18T06:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=47ffd40c8b61aa9dd131e567bfb2ce78ec7f354c'/>
<id>47ffd40c8b61aa9dd131e567bfb2ce78ec7f354c</id>
<content type='text'>
The three documentation pages each drew their own sidebar. The two hand-built
pages listed different topics: Getting started had no link to Syntax. Each page
also opened with a capitalized section kicker.

DocShell now frames every documentation page:

- On the left, the topics of the site, with the current one marked. On a
  narrow screen they fold into a Contents button above the page.
- Above the page, a breadcrumb: site / Documentation / topic.
- The page in a column of at most 720 px.
- On the right, "On this page". It is read from the h2 headings of the
  rendered page, and each heading gets an id from its words in any script.
  It is hidden below 1100 px.
- Under the page, previous and next topic cards and an "Edit this page"
  link to the file the page is written in.

DocPage, OverviewPage and GettingStartedPage use it and drop their own
sidebars and kickers. The styles of the old layout are removed. The labels
are in all four languages.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The three documentation pages each drew their own sidebar. The two hand-built
pages listed different topics: Getting started had no link to Syntax. Each page
also opened with a capitalized section kicker.

DocShell now frames every documentation page:

- On the left, the topics of the site, with the current one marked. On a
  narrow screen they fold into a Contents button above the page.
- Above the page, a breadcrumb: site / Documentation / topic.
- The page in a column of at most 720 px.
- On the right, "On this page". It is read from the h2 headings of the
  rendered page, and each heading gets an id from its words in any script.
  It is hidden below 1100 px.
- Under the page, previous and next topic cards and an "Edit this page"
  link to the file the page is written in.

DocPage, OverviewPage and GettingStartedPage use it and drop their own
sidebars and kickers. The styles of the old layout are removed. The labels
are in all four languages.
</pre>
</div>
</content>
</entry>
</feed>
