<feed xmlns='http://www.w3.org/2005/Atom'>
<title>website/frontend/src, branch docs/current-state</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>Revise the Hebrew wording and remember only a visitor's language choice</title>
<updated>2026-10-03T10:38:38+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-03T10:38:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=ed7f6e57d50765728e7d0513aaf956ec667ddc98'/>
<id>ed7f6e57d50765728e7d0513aaf956ec667ddc98</id>
<content type='text'>
Hebrew

A second pass over the Hebrew text replaced words a Hebrew reader would
misread or that are not used for the concept: "native" was rendered with the
word for "local", "lowering" with the word for "download", "pipeline" with a
literal pipe and "front end" with a word not used for compilers. Typed
forms, diagnostics, the ecosystem and the standard library use the usual
terms. The text is still not reviewed by a native speaker.

Language choice

A language change is now stored only after the visitor has acted on the
page, as reported by navigator.userActivation. A change that reaches the
page before anyone has clicked, tapped or typed still changes the language
but is not remembered, so only a person can make a choice. A browser without
the activation API keeps the earlier behaviour.

During local testing a choice was once found stored without one being made.
It could not be reproduced in three attempts, and restoring form state was
shown not to fire a change event, so the cause is unknown; this guard closes
the path in the page itself.

Verified locally: frontend tests, type check, prettier and build. In a
browser, a scripted change before any interaction switched the language and
stored nothing, and a change after a real click was stored and survived a
navigation. The forum page was opened in a browser: one notice, no language
menu, English for a Turkish browser, and the Hebrew, German and Russian
notices when the script ran with those browser languages.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hebrew

A second pass over the Hebrew text replaced words a Hebrew reader would
misread or that are not used for the concept: "native" was rendered with the
word for "local", "lowering" with the word for "download", "pipeline" with a
literal pipe and "front end" with a word not used for compilers. Typed
forms, diagnostics, the ecosystem and the standard library use the usual
terms. The text is still not reviewed by a native speaker.

Language choice

A language change is now stored only after the visitor has acted on the
page, as reported by navigator.userActivation. A change that reaches the
page before anyone has clicked, tapped or typed still changes the language
but is not remembered, so only a person can make a choice. A browser without
the activation API keeps the earlier behaviour.

During local testing a choice was once found stored without one being made.
It could not be reproduced in three attempts, and restoring form state was
shown not to fire a change event, so the cause is unknown; this guard closes
the path in the page itself.

Verified locally: frontend tests, type check, prettier and build. In a
browser, a scripted change before any interaction switched the language and
stored nothing, and a change after a real click was stored and survived a
navigation. The forum page was opened in a browser: one notice, no language
menu, English for a Turkish browser, and the Hebrew, German and Russian
notices when the script ran with those browser languages.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Hebrew, follow the browser language, and gate the backend docs</title>
<updated>2026-10-03T10:00:49+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-03T10:00:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=3173a6a2bfe1975542c8c9cc0707071daa55b587'/>
<id>3173a6a2bfe1975542c8c9cc0707071daa55b587</id>
<content type='text'>
Language

Hebrew (he-IL) joins English, German and Russian on the language site, in
the page metadata and in the list the backend reports.

A visitor who has not chosen a language now starts in the language of their
browser: the first preferred language that is published, compared by primary
language, with `iw` accepted as the former code for Hebrew. A browser that
prefers no published language gets en-US. A choice made in the menu is kept
under a new storage key and always wins. The earlier key was written on every
visit, so it could not tell a choice from the former English default; it is
no longer read, which resets an earlier explicit choice once.

Hebrew does not mirror the page. The layout, the navigation and code keep
their left-to-right arrangement; only text follows the language. The onward
arrow points left in Hebrew, and a left-to-right mark keeps "Visual X#"
intact inside right-to-left text.

The forum placeholder no longer has a language menu. It shows its one notice
in the language of the browser, with English as the fallback, and stores no
language. Its assets get a new cache key.

The single documentation column may now shrink below its widest code line.
Before, a long command widened the page on narrow screens, which cut
right-aligned text off.

The Hebrew text was not reviewed by a native speaker.

Documentation gate

The backend applies Dokka 2.2.0 with reportUndocumented and failOnWarning,
its public declarations have KDoc, and CI runs dokkaGenerate. The dependency
lock file and the verification metadata include the new artifacts.

Verified locally: frontend tests, type check, prettier and build; backend
test, bootJar and dokkaGenerate, which was also shown to fail on an
undocumented declaration; the Hebrew pages in a browser. The forum page was
exercised by its tests only.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Language

Hebrew (he-IL) joins English, German and Russian on the language site, in
the page metadata and in the list the backend reports.

A visitor who has not chosen a language now starts in the language of their
browser: the first preferred language that is published, compared by primary
language, with `iw` accepted as the former code for Hebrew. A browser that
prefers no published language gets en-US. A choice made in the menu is kept
under a new storage key and always wins. The earlier key was written on every
visit, so it could not tell a choice from the former English default; it is
no longer read, which resets an earlier explicit choice once.

Hebrew does not mirror the page. The layout, the navigation and code keep
their left-to-right arrangement; only text follows the language. The onward
arrow points left in Hebrew, and a left-to-right mark keeps "Visual X#"
intact inside right-to-left text.

The forum placeholder no longer has a language menu. It shows its one notice
in the language of the browser, with English as the fallback, and stores no
language. Its assets get a new cache key.

The single documentation column may now shrink below its widest code line.
Before, a long command widened the page on narrow screens, which cut
right-aligned text off.

The Hebrew text was not reviewed by a native speaker.

Documentation gate

The backend applies Dokka 2.2.0 with reportUndocumented and failOnWarning,
its public declarations have KDoc, and CI runs dokkaGenerate. The dependency
lock file and the verification metadata include the new artifacts.

Verified locally: frontend tests, type check, prettier and build; backend
test, bootJar and dokkaGenerate, which was also shown to fail on an
undocumented declaration; the Hebrew pages in a browser. The forum page was
exercised by its tests only.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Russian to the language site and the forum placeholder</title>
<updated>2026-10-02T22:43:43+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-02T22:43:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=f25c01f1d173b9e206565207472b58ca51f90803'/>
<id>f25c01f1d173b9e206565207472b58ca51f90803</id>
<content type='text'>
Russian (ru-RU) is the third locale of the language site: the shell, the
home, overview and getting-started pages, and the page metadata are fully
translated, and the language menu offers it. The documentation sidebar reads
its labels from the page messages instead of a two-way locale test, and the
stored preference is accepted only when it names a supported locale.

The forum placeholder gets the same three languages. Its language control
is now a menu instead of a two-state button, and an unknown stored or
selected value keeps the current language.

The site API lists the new locale. Verified locally: prettier, the frontend
tests, vue-tsc and the Vite build, the backend tests, and a browser run of
the home and overview pages in Russian.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Russian (ru-RU) is the third locale of the language site: the shell, the
home, overview and getting-started pages, and the page metadata are fully
translated, and the language menu offers it. The documentation sidebar reads
its labels from the page messages instead of a two-way locale test, and the
stored preference is accepted only when it names a supported locale.

The forum placeholder gets the same three languages. Its language control
is now a menu instead of a two-state button, and an unknown stored or
selected value keeps the current language.

The site API lists the new locale. Verified locally: prettier, the frontend
tests, vue-tsc and the Vite build, the backend tests, and a browser run of
the home and overview pages in Russian.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rebuild Visual XSharp language website with Vue and Kotlin Spring; add leopard identity, bilingual docs, forum placeholder, site-only API, strict CSP, 21 frontend tests, deployment runbooks, and preserve legacy ViGet redirect during maintenance</title>
<updated>2026-09-25T21:30:28+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-25T21:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=fdc9a91dec3433ebc3eae480cf6b57153d0972fb'/>
<id>fdc9a91dec3433ebc3eae480cf6b57153d0972fb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the retired Astro ViGet catalog duplicate and its static assets, simplify the Visual X# site layout back to language-only ownership, retire the obsolete viget.progmasoft.com Nginx origin blocks, and document the new Progmaweb catalog boundary.</title>
<updated>2026-09-09T17:28:28+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-09T17:28:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=a802df2b6ac62324c41f7f687d976ade25ee26a2'/>
<id>a802df2b6ac62324c41f7f687d976ade25ee26a2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate ViGet from Progmasoft Account infrastructure</title>
<updated>2026-09-07T18:30:40+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-07T18:30:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=c0cd5f4699e44899956c19176ca47ede27a21a8f'/>
<id>c0cd5f4699e44899956c19176ca47ede27a21a8f</id>
<content type='text'>
Move the Progmasoft mail operations baseline to its owning Progmaweb repository, remove the retired Astro account UI and duplicate identity backend, keep only the ViGet health boundary, add canonical sitemap signals, strengthen dependency CI, and adopt Patent Grant 1.1 across project-owned files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the Progmasoft mail operations baseline to its owning Progmaweb repository, remove the retired Astro account UI and duplicate identity backend, keep only the ViGet health boundary, add canonical sitemap signals, strengthen dependency CI, and adopt Patent Grant 1.1 across project-owned files.
</pre>
</div>
</content>
</entry>
<entry>
<title>Redesign ViGet as a first-class Progmasoft product surface</title>
<updated>2026-09-01T11:28:16+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-01T11:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=0752b55d0095bd0b756d112e03692fe4a341c433'/>
<id>0752b55d0095bd0b756d112e03692fe4a341c433</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate ViGet catalogs from Progmasoft account ownership. Move login, registration, recovery, and dashboard navigation to account.progmasoft.com, document the canonical account.progmasoft.com/&lt;Account&gt;/dashboard route, and define each ViGet Publisher as that exact Progmasoft Account identity. Redirect legacy ViGet account routes to the account service and expose only the exact registry status endpoint while closing the retired standalone authentication and token API surface.</title>
<updated>2026-08-30T14:22:39+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-08-30T14:22:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=6420aa30d09cb0815bdf7c140ebeca6218053870'/>
<id>6420aa30d09cb0815bdf7c140ebeca6218053870</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move ViGet to its canonical Progmasoft domain. Update registry navigation, authentication redirects, allowed hosts, Google OAuth callback documentation, and catalog identity to viget.progmasoft.com. Publish distinct honest empty-state roots for Visual X# .vipkg packages and Kotlin DSL plugin JARs without inventing unavailable package endpoints. Add production Nginx routing for the new host, preserve path and query strings through permanent redirects from viget.xsharp-lang.xyz, retain both ACME renewal surfaces, and exclude reproducible local publish output.</title>
<updated>2026-08-30T14:08:01+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-08-30T14:08:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=4bdd99b35493631aa4171753aa66d208c018f320'/>
<id>4bdd99b35493631aa4171753aa66d208c018f320</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Transfer all project-owned website sources and operations files to Progmasoft copyright ownership under AGPL-3.0-or-later, add the shared defensive Progmasoft patent grant with SPDX and REUSE coverage, preserve third-party licenses, and align notices, package metadata, authentication, mail, deployment, branding, and repository documentation with the current ViGet service</title>
<updated>2026-08-29T08:01:03+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-08-29T08:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=178f97b44da88d8653d1f942a993d06aad9b48cf'/>
<id>178f97b44da88d8653d1f942a993d06aad9b48cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
