| Age | Commit message (Collapse) | Author |
|
This change fixes #138 which reports that when adding a unit to a
machine, if the user does not select a unit and presses add, the UI will
crash. We now disable the add button until the user has selected a unit.
|
|
This change addresses #137 which reports that machines on shelves lower
than the top shelve cannot be accessed and doing so will cause the UI to
disappear and an error message to be generated.
The issue was caused by using the incorrect logic for selecting the
machine at a certain rack position.
Fixes #137
|
|
This change fixes #136 which reported that the grid and cursor will fall
out of sync when dragging or moving the grid when placing rooms or
objects.
Fixes #136
|
|
This change fixes #135 which showed that trying to delete a topology
used by a scenario would result in nothing happening in the UI and a 500
error being returned by the server. We check whether a scenario still
references the topology and show an error to the user if that happens.
Fixes #135
|
|
This change removes the unnecessary service classes where they are only
used to forward data from the resource to the entities. Furthermore,
DTOs are now moved from the service layer to the resources.
|
|
This change updates the OpenDC web UI to not rely on Sass for
stylesheets. CSS in combination with PostCSS has become powerful enough
for our use-cases as indicated by the small differences between the CSS
and SCSS versions of our files.
By switching to CSS, we can make use of Turbopack to build the project,
which is a re-implementation of Webppack in Rust and is able to build
projects much faster.
|
|
This change updates the web interface to use Next 13 and React 18. This
release has a couple breaking changes (related to links) which we have fixed
accordingly.
|
|
This change removes the explicit dependency on FontAwesome. PatternFly
also ships with the FontAwesome icons, so use these icons instead to
reduce the footprint of the application.
|
|
This change addresses an issue with the topology sidebar where hovering
a CPU or GPU would not present the correct information due to bug.
|
|
This change updates the OpenDC web UI to show the monthly simulation
budget of the user in the user dropdown. This provides the user with a
progress bar of the used simulation minutes.
|
|
This change updates the web interface to use the composable table API
offered by PatternFly 4. This has replaced the legacy table API which
will be removed in the next major version of PatternFly.
|
|
This change fixes an issue with the web interface where the sidebar
would overflow due to the large number of rack slots that are displayed
in the sidebar.
|
|
This change fixes an issue where switching between different topologies
would fail due to stale Redux state. We have updated the components to
take into account that ids may not exist in the Redux store.
|
|
This change updates the OpenDC web interface to use the PatternFly
Charts package to render the results of a portfolio. Previously, we used
Recharts, but this package does not support SSR, whereas the PatternFly
Charts package matches our design framework.
|
|
This change updates the design of the projects page to use a gallery
overview.
|
|
This change reduces the height of the application header to 3.5rem to
increase the screen real-estate that we can use for the application
content.
|
|
This change moves the project selector into the masthead since it
affects the whole application. This follows the PatternFly guidelines.
|
|
This change addresses an issue with the context selector component where
the dropdown would fall behind a sticky tab bar in the main content.
|
|
This change fixes an issue with the web interface where all available
metrics were shown to the user, instead of the metrics belonging to the
portfolio.
|
|
This change addresses an issue where a new topology did not correctly
clone an existing topology.
|
|
This change fixes an issue with the OpenDC web interface where the user
cannot remove an existing topology from the topology table due to a
programming mistake.
|
|
This change updates the dependencies of the Next.js-based web UI to
their latest available versions where possible.
|
|
This change fixes an issue where the library for hotkeys that we
previously used does not (yet) support React 18. Instead, we switch to a
simpler solution based on React Hooks which is compatible with React 18.
|
|
This change updates the web UI and API to support unauthenticated user
access. Such functionality is helpful when there is just a single user
that wants to try OpenDC.
|
|
This change removes the use of next/image from the project. Although it
is recommended by the Next.js project to use this component, it is not
compatible currently with static export.
|
|
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.
|
|
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.
|
|
This change adds context selectors for the OpenDC frontend where the
user can select different projects, portfolios or topologies from the
context selection bar.
|
|
|
|
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.
|
|
|
|
|
|
This change updates the source structure of the OpenDC frontend to
follow the page structure.
|
|
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.
|
|
This change updates the topology view in the OpenDC frontend to isolate
the world coordinate space. This means that zooming and panning should
not affect the coordinates in world space (but only in camera space). In
turn, this allows us to remove the dependency on Redux for the camera
controls.
|
|
This change enables support for panning the visualized datacenter
topology by using the mouse or holding shortcuts. Previously, this could
only be done through repeated key presses.
|
|
This change is a rewrite of the existing OpenDC frontend in order to
migrate to the PatternFly 4 design framework.
PatternFly is used by Red Hat for various computing related services such
as OpenShift, Red Hat Virtualization and Cockpit. Since their design
requirements are very similar to those of OpenDC (modeling computing
services), migrating to PatternFly 4 allows us to re-use design choices
from these services.
See https://www.patternfly.org/v4/ for more information about
PatternFly.
|
|
This change extracts the landing page from the web interface in order to
separate the development of the two. This allows the landing page to be
developed independently of the actual OpenDC web application.
|
|
This change updates the OpenDC frontend to use the normalizr library for
normalizing the user topology.
|
|
|
|
This change updates the OpenDC frontend to use React Query for fetching
and mutating project data. Previously, this state was tracked and
synchronized via Redux. Migrating to React Query greatly simplifies the
state synchronization logic necessary in the frontend.
|
|
This change removes the current active identifiers from the Redux state.
Instead, we use the router query to track the active project, portfolio
and topology.
|
|
This change splits the App container into separate pages, as a starting
point for removing much of the unnecessary state from Redux.
|
|
|
|
This change updates the frontend to use the FontAwesome 5 React library
that renders SVG icons as opposed to CSS icon fonts. This migration
resolves a couple of issues we had with server-side rendering of the
previous FontAwesome icons.
|
|
This change updates the frontend codebase to move away from the Google
login and instead use Auth0 as generic Identity Provider. This allows
users to login with other accounts as well.
Since Auth0 has a free tier, users can experiment themselves with OpenDC
locally without having to pay for the login functionality. The code has
been written so that we should be able to migrate away from Auth0 once
it is not a suitable Identity Provider for OpenDC anymore.
|
|
This change updates the structure of the OpenDC frontend in order to
improve the maintainability of the frontend.
|
|
This change updates the frontend so that the modal state is not stored
inside Redux but instead is stored using the useState hook. This
simplifies the design of the modal components.
|
|
This change simplifies the logic and components of the projects page and
reduces its dependency on Redux for simple operations.
|
|
|