<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sunfish.git/opendc-web/opendc-web-ui/src/redux/actions/topology, branch master</title>
<subtitle>The OpenDC BSc thesis repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/'/>
<entry>
<title>Use Quarkus Quinoa for serving web UI (#391)</title>
<updated>2026-03-26T13:02:54+00:00</updated>
<author>
<name>vincent van beek</name>
<email>vincent@vlogic.nl</email>
</author>
<published>2026-03-26T13:02:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=0ffde21b0337c606e2d0ece5bd5434a930a87dcd'/>
<id>0ffde21b0337c606e2d0ece5bd5434a930a87dcd</id>
<content type='text'>
* refactor(web): Migrate to Quarkus 3

This commit updates the OpenDC web server to use Quarkus 3, which
changes annotations to use the Jakarta namespace for annotations.

* refactor(web): Configure runtime variables for web UI

This commit updates the web UI to propagate runtime variables via the
next-runtime-env package. Before, we would need to replace the variables
in the generated sources by Next.js, next-runtime-env works by loading a
JavaScript file when opening the OpenDC web UI which contains the
configuration of the web app.

* refactor(web): Migrate to Quarkus Quinoa

This commit updates the OpenDC web server to make use of Quarkus Quinoa
for serving the web UI. This allows us to deprecate the complex Quarkus
extension for serving the web UI.

* refactor(web): Move web UI into Quarkus web app

This commit moves the web UI into the Quarkus web server module to
ensure we follow Quarkus Quinoa's conventions.

* refactor(web): Merge Quarkus extension into single module

This commit merges the existing Quarkus extensions into a single module
to prevent build complexity.

* refactor(web): Migrate web proto to Java

This commit migrates the web protocol to Java and removes the dependency
on Jandex Gradle.

* refactor(web): Migrate to Quarkus 3

This commit updates the OpenDC web server to use Quarkus 3, which
changes annotations to use the Jakarta namespace for annotations.

* enable DB schema migration on DEV server

* webui is not needed anymore

* remove MAINTAINERS is depricated

* fix quarkus.quinoa properties

* revert properties change, install npm in docker image to allow building the frontend

* pin postgres version, this is a best practice. Fix some properties the old ones are depricated. Added properties for local testing

* fix build error

* :opendc-web:opendc-web-proto:spotlessApply

* fix database schema

---------

Co-authored-by: Fabian Mastenbroek &lt;mail.fabianm@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* refactor(web): Migrate to Quarkus 3

This commit updates the OpenDC web server to use Quarkus 3, which
changes annotations to use the Jakarta namespace for annotations.

* refactor(web): Configure runtime variables for web UI

This commit updates the web UI to propagate runtime variables via the
next-runtime-env package. Before, we would need to replace the variables
in the generated sources by Next.js, next-runtime-env works by loading a
JavaScript file when opening the OpenDC web UI which contains the
configuration of the web app.

* refactor(web): Migrate to Quarkus Quinoa

This commit updates the OpenDC web server to make use of Quarkus Quinoa
for serving the web UI. This allows us to deprecate the complex Quarkus
extension for serving the web UI.

* refactor(web): Move web UI into Quarkus web app

This commit moves the web UI into the Quarkus web server module to
ensure we follow Quarkus Quinoa's conventions.

* refactor(web): Merge Quarkus extension into single module

This commit merges the existing Quarkus extensions into a single module
to prevent build complexity.

* refactor(web): Migrate web proto to Java

This commit migrates the web protocol to Java and removes the dependency
on Jandex Gradle.

* refactor(web): Migrate to Quarkus 3

This commit updates the OpenDC web server to use Quarkus 3, which
changes annotations to use the Jakarta namespace for annotations.

* enable DB schema migration on DEV server

* webui is not needed anymore

* remove MAINTAINERS is depricated

* fix quarkus.quinoa properties

* revert properties change, install npm in docker image to allow building the frontend

* pin postgres version, this is a best practice. Fix some properties the old ones are depricated. Added properties for local testing

* fix build error

* :opendc-web:opendc-web-proto:spotlessApply

* fix database schema

---------

Co-authored-by: Fabian Mastenbroek &lt;mail.fabianm@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bug(web): Fix rack deletion</title>
<updated>2023-03-27T19:37:40+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2023-03-26T21:16:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=e7d5c086832a24f3c6b98258b0b8eb1fbbd3336a'/>
<id>e7d5c086832a24f3c6b98258b0b8eb1fbbd3336a</id>
<content type='text'>
This change fixes #139 which reports that racks cannot be deleted. This
was due to the tileId property being dropped in the backend for racks.
Instead, we use the tileId passed in the action directly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes #139 which reports that racks cannot be deleted. This
was due to the tileId property being dropped in the backend for racks.
Instead, we use the tileId passed in the action directly.
</pre>
</div>
</content>
</entry>
<entry>
<title>build(web/ui): Update dependencies of web UI</title>
<updated>2022-05-16T08:45:59+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2022-05-16T08:45:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=63c88a4ce70b065a568992cde28135818e0031b9'/>
<id>63c88a4ce70b065a568992cde28135818e0031b9</id>
<content type='text'>
This change updates the dependencies of the Next.js-based web UI to
their latest available versions where possible.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the dependencies of the Next.js-based web UI to
their latest available versions where possible.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(web/ui): Fix compatibility with new API</title>
<updated>2022-04-04T10:48:05+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2022-03-07T17:19:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=3d1c02e50ee619598bcd7fad4368be8b4a039e84'/>
<id>3d1c02e50ee619598bcd7fad4368be8b4a039e84</id>
<content type='text'>
This change updates the web interface in React to be compatible with the
new API written in Kotlin. Several changes have been made in the new API
to ensure consistency.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the web interface in React to be compatible with the
new API written in Kotlin. Several changes have been made in the new API
to ensure consistency.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(web/ui): Fix creation of topologies</title>
<updated>2022-02-17T15:58:40+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-07-22T17:05:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=41e02cdab85ba5db92be7f7bea07ae1f20bcbdd9'/>
<id>41e02cdab85ba5db92be7f7bea07ae1f20bcbdd9</id>
<content type='text'>
This change fixes an issue with the creation of topologies in the
frontend. Previously, the frontend relied on Redux to update the state.
However, since we removed the reliance on Redux, we also need to create
a new topology using the functions from React Query to actually send a
request to the API server.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change fixes an issue with the creation of topologies in the
frontend. Previously, the frontend relied on Redux to update the state.
However, since we removed the reliance on Redux, we also need to create
a new topology using the functions from React Query to actually send a
request to the API server.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(ui): Extract topology construction out of Sagas</title>
<updated>2021-07-22T12:23:09+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-07-21T13:04:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=54f424a18cc21a52ea518d40893218a07ab55989'/>
<id>54f424a18cc21a52ea518d40893218a07ab55989</id>
<content type='text'>
This change updates the OpenDC frontend to perform the construction of
the topology directly in the reducers instead of performing the
mutations in Redux Sagas as side effects. This allows us to nicely map
actions to mutations in the reducers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the OpenDC frontend to perform the construction of
the topology directly in the reducers instead of performing the
mutations in Redux Sagas as side effects. This allows us to nicely map
actions to mutations in the reducers.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(ui): Encode state in topology actions</title>
<updated>2021-07-19T13:13:21+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-07-19T12:45:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=54d07120191eb81de91a49cdebf619cfecce2666'/>
<id>54d07120191eb81de91a49cdebf619cfecce2666</id>
<content type='text'>
This change updates the OpenDC frontend to reduce its reliance of global
state during the execution of actions. Actions that modify the topology
now require parameters to be passed via the action constructor instead
of relying on the global interactionLevel state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the OpenDC frontend to reduce its reliance of global
state during the execution of actions. Actions that modify the topology
now require parameters to be passed via the action constructor instead
of relying on the global interactionLevel state.
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: Simplify normalization of topology</title>
<updated>2021-07-08T11:20:27+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-07-08T11:15:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=29196842447d841d2e21462adcfc8c2ed1d851ad'/>
<id>29196842447d841d2e21462adcfc8c2ed1d851ad</id>
<content type='text'>
This change updates the OpenDC frontend to use the normalizr library for
normalizing the user topology.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the OpenDC frontend to use the normalizr library for
normalizing the user topology.
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: Restructure OpenDC frontend</title>
<updated>2021-05-17T15:06:50+00:00</updated>
<author>
<name>Fabian Mastenbroek</name>
<email>mail.fabianm@gmail.com</email>
</author>
<published>2021-05-16T15:07:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.denounce.ai/sunfish.git/commit/?id=d9e65dceb38cdb8dc4e464d388755f9456620566'/>
<id>d9e65dceb38cdb8dc4e464d388755f9456620566</id>
<content type='text'>
This change updates the structure of the OpenDC frontend in order to
improve the maintainability of the frontend.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates the structure of the OpenDC frontend in order to
improve the maintainability of the frontend.
</pre>
</div>
</content>
</entry>
</feed>
