<feed xmlns='http://www.w3.org/2005/Atom'>
<title>progmaweb/apps, branch feature/product-catalog-like-apache</title>
<subtitle>The site and account service of Progmasoft: a Next.js frontend and an ASP.NET Core API.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/'/>
<entry>
<title>Merge branch 'main' into feature/product-catalog-like-apache</title>
<updated>2026-11-14T13:45:45+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-14T13:45:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=189d3c6d4fe99dc9c11bd4d45ef40ddc8b29e799'/>
<id>189d3c6d4fe99dc9c11bd4d45ef40ddc8b29e799</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Point product.progmasoft.com/robots.txt at its sitemap; drop unused text</title>
<updated>2026-11-14T13:44:19+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-14T13:44:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=800d828080426f781d374920c5623883844f80ca'/>
<id>800d828080426f781d374920c5623883844f80ca</id>
<content type='text'>
Review of this pull request:

- robots.txt on product.progmasoft.com named the apex sitemap; it names
  https://product.progmasoft.com/sitemap.xml now, as viget names its own.
- details and facts.links were translated in four languages but shown
  nowhere; they are gone.
- Stylelint (Codacy): one header comment block in catalog.css, no type
  qualifier on [aria-current], range notation in its media queries.

Codacy's "object injection" findings are left: every index is a key of a
typed, closed list (ProductSlug, categories, statuses), never input.
Playwright on a production build again: 56 page, language and width
combinations without overflow, console errors or CSP violations.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Review of this pull request:

- robots.txt on product.progmasoft.com named the apex sitemap; it names
  https://product.progmasoft.com/sitemap.xml now, as viget names its own.
- details and facts.links were translated in four languages but shown
  nowhere; they are gone.
- Stylelint (Codacy): one header comment block in catalog.css, no type
  qualifier on [aria-current], range notation in its media queries.

Codacy's "object injection" findings are left: every index is a key of a
typed, closed list (ProductSlug, categories, statuses), never input.
Playwright on a production build again: 56 page, language and width
combinations without overflow, console errors or CSP violations.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</pre>
</div>
</content>
</entry>
<entry>
<title>Describe Progmasoft without programming languages and compilers</title>
<updated>2026-11-14T13:33:47+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-14T13:33:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=638d81dc4d0cfe554ea952cae2f59ac70534976d'/>
<id>638d81dc4d0cfe554ea952cae2f59ac70534976d</id>
<content type='text'>
The footer of every page, the site description and the home page still
said that Progmasoft builds programming-language infrastructure,
languages and compilers. Since Tala and its tools are archived, they
describe what Progmasoft makes now, in all four languages:

- Footer: "Developer tools and data infrastructure built with durable
  contracts."
- Site and home description: build systems, testing tools, an agentic
  IDE and data infrastructure.
- Home hero: build systems, testing tools, agentic development
  environments, data infrastructure and the services around them.
- The area "Languages and compilers" becomes "Data infrastructure"
  (columnar in-memory formats and engines for large data on the JVM);
  "Developer tools" drops language servers for agentic development
  environments.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The footer of every page, the site description and the home page still
said that Progmasoft builds programming-language infrastructure,
languages and compilers. Since Tala and its tools are archived, they
describe what Progmasoft makes now, in all four languages:

- Footer: "Developer tools and data infrastructure built with durable
  contracts."
- Site and home description: build systems, testing tools, an agentic
  IDE and data infrastructure.
- Home hero: build systems, testing tools, agentic development
  environments, data infrastructure and the services around them.
- The area "Languages and compilers" becomes "Data infrastructure"
  (columnar in-memory formats and engines for large data on the JVM);
  "Developer tools" drops language servers for agentic development
  environments.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix what Playwright found at phone width; keep the header inside it</title>
<updated>2026-11-14T13:31:03+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-14T13:31:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=02b9cd891bdc5e2e2eb6ed4ffe6ef6272ff93b77'/>
<id>02b9cd891bdc5e2e2eb6ed4ffe6ef6272ff93b77</id>
<content type='text'>
Checked in Chromium through Playwright against a production build:
seven catalog pages, four languages, 1366 and 390 pixels wide, with the
console, CSP and horizontal overflow watched.

- The site header was 51 px wider than a 390 px phone on every host
  (progmasoft.com, account, viget and the catalog): the brand, the
  account button and the two preference controls did not fit. Below 480
  px the gaps shrink and the header may wrap to a second line; overflow
  is 0 on all of them now.
- .pm-catalog already named the dashed box of the home page, which
  framed the whole index; the index is .pm-index.
- Phone width: the four numbers sit two by two, the project column of
  the table keeps 200 px, and the index starts closer to the hero.
- A project's description goes into the hero, as before, instead of
  running into the heading of its list.

No console errors, no CSP violations, no overflow on any of the 56 page,
language and width combinations.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Checked in Chromium through Playwright against a production build:
seven catalog pages, four languages, 1366 and 390 pixels wide, with the
console, CSP and horizontal overflow watched.

- The site header was 51 px wider than a 390 px phone on every host
  (progmasoft.com, account, viget and the catalog): the brand, the
  account button and the two preference controls did not fit. Below 480
  px the gaps shrink and the header may wrap to a second line; overflow
  is 0 on all of them now.
- .pm-catalog already named the dashed box of the home page, which
  framed the whole index; the index is .pm-index.
- Phone width: the four numbers sit two by two, the project column of
  the table keeps 200 px, and the index starts closer to the hero.
- A project's description goes into the hero, as before, instead of
  running into the heading of its list.

No console errors, no CSP violations, no overflow on any of the 56 page,
language and width combinations.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</pre>
</div>
</content>
</entry>
<entry>
<title>Make product.progmasoft.com a catalog like projects.apache.org</title>
<updated>2026-11-14T13:21:48+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-14T13:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=fd5d1dfc8223dd660815ee7cca118507985ccc39'/>
<id>fd5d1dfc8223dd660815ee7cca118507985ccc39</id>
<content type='text'>
The catalog listed two products as cards. It now works as an index of
every Progmasoft project, in all four languages:

- The front page counts the projects (released, in development,
  languages), searches them by text, category, language and status with
  a plain GET form, so no script runs, and lists them in one table: name
  and tagline, category, language, status, latest release; then the
  latest releases.
- /categories and /languages group the projects; /releases lists the
  latest release of each, newest first, then those without one.
- A project page has a facts box as Apache's has: status, category,
  language, license, latest release, start date, site, repository and
  issues. A project in development heads its list "What it is being
  built to do" instead of "What it does".
- Agenceland, Archer and Etincelle join Tazel and Catch3, each marked in
  development; the archived Tala projects stay out of the catalog.
- product.progmasoft.com has a sitemap of its own: the views and every
  project page.

The data is in lib/products.ts (facts, search, releases) and the text in
lib/catalog-messages.ts; tsconfig allows .ts imports between lib files
so that node:test can load them. Tests: the five projects and their
facts, search by text, category, language and status, the query-string
parsing, and release order (42 pass); lint and tsc clean; every route
rendered by next dev with the product host, in de-DE, ru-RU and he-IL
(right to left) too.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The catalog listed two products as cards. It now works as an index of
every Progmasoft project, in all four languages:

- The front page counts the projects (released, in development,
  languages), searches them by text, category, language and status with
  a plain GET form, so no script runs, and lists them in one table: name
  and tagline, category, language, status, latest release; then the
  latest releases.
- /categories and /languages group the projects; /releases lists the
  latest release of each, newest first, then those without one.
- A project page has a facts box as Apache's has: status, category,
  language, license, latest release, start date, site, repository and
  issues. A project in development heads its list "What it is being
  built to do" instead of "What it does".
- Agenceland, Archer and Etincelle join Tazel and Catch3, each marked in
  development; the archived Tala projects stay out of the catalog.
- product.progmasoft.com has a sitemap of its own: the views and every
  project page.

The data is in lib/products.ts (facts, search, releases) and the text in
lib/catalog-messages.ts; tsconfig allows .ts imports between lib files
so that node:test can load them. Tests: the five projects and their
facts, search by text, category, language and status, the query-string
parsing, and release order (42 pass); lint and tsc clean; every route
rendered by next dev with the product host, in de-DE, ru-RU and he-IL
(right to left) too.

Claude-Session: https://claude.ai/code/session_01Ji7xZMYjc4zankoc7hGBE1
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'main' into renovate/api-packages</title>
<updated>2026-11-13T17:24:50+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-13T17:24:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=1c063a41f3e3266f8bc3266886b4962ea26149f2'/>
<id>1c063a41f3e3266f8bc3266886b4962ea26149f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'main' into feature/viget-c-languages</title>
<updated>2026-11-13T04:02:11+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-13T04:02:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=7f8b15bf14d7784c856680e38cac9631f3a56018'/>
<id>7f8b15bf14d7784c856680e38cac9631f3a56018</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Lead the old Tala catalog addresses to the language list</title>
<updated>2026-11-12T23:01:41+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-12T23:01:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=61a2045ee9264e794e4ddf11d7b8b9fdf4109bd3'/>
<id>61a2045ee9264e794e4ddf11d7b8b9fdf4109bd3</id>
<content type='text'>
/langs/tala and everything below it, which tala.run and earlier links
still point to, now redirect permanently to the language list of the
ViGet home page, like /langs, instead of answering 404. The README, the
architecture guide and the bug-report template name the C, C++ and
Objective-C catalogs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
/langs/tala and everything below it, which tala.run and earlier links
still point to, now redirect permanently to the language list of the
ViGet home page, like /langs, instead of answering 404. The README, the
architecture guide and the bug-report template name the C, C++ and
Objective-C catalogs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Format the catalog and the site tests with Prettier</title>
<updated>2026-11-12T23:00:34+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-12T23:00:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=189b15ca0909033a40626bc8f600686e561b9cbb'/>
<id>189b15ca0909033a40626bc8f600686e561b9cbb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Take the Tala products out of the catalog and describe the new Tazel</title>
<updated>2026-11-12T23:00:18+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-12T23:00:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/progmaweb/commit/?id=9a6cfb275189db7cb8d4a35917678d067b3e709a'/>
<id>9a6cfb275189db7cb8d4a35917678d067b3e709a</id>
<content type='text'>
Tala and its tools are no longer developed (2026-11-10), and tala.run,
talac.tala.run, talafmt.tala.run and talalint.tala.run lead to a notice
that answers 503. The catalog still offered Tala, talac, talafmt and
talalint with "Visit the site" buttons into that notice, and described
Tazel as the build system of Tala.

- Tala, talac, talafmt and talalint leave the catalog in all four
  languages, as Xide did; their product pages answer 404.
- The catalog names Tazel and Catch3.
- Tazel is described as it is now: it builds C, C++, Objective-C,
  Objective-C++ and Zig from MODULE.kts and BUILD.kts, finds Clang, GCC
  and zig cc, builds for other triples, is incremental per action, and
  runs commands of tazel_custom.txt. Nothing it does not do yet (ViGet
  packages, plugins) is promised.
- The site tests list the two products and route through them.

Answers the review of website#58, which found the product links leading
into the closed sites.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tala and its tools are no longer developed (2026-11-10), and tala.run,
talac.tala.run, talafmt.tala.run and talalint.tala.run lead to a notice
that answers 503. The catalog still offered Tala, talac, talafmt and
talalint with "Visit the site" buttons into that notice, and described
Tazel as the build system of Tala.

- Tala, talac, talafmt and talalint leave the catalog in all four
  languages, as Xide did; their product pages answer 404.
- The catalog names Tazel and Catch3.
- Tazel is described as it is now: it builds C, C++, Objective-C,
  Objective-C++ and Zig from MODULE.kts and BUILD.kts, finds Clang, GCC
  and zig cc, builds for other triples, is incremental per action, and
  runs commands of tazel_custom.txt. Nothing it does not do yet (ViGet
  packages, plugins) is promised.
- The site tests list the two products and route through them.

Answers the review of website#58, which found the product links leading
into the closed sites.
</pre>
</div>
</content>
</entry>
</feed>
