| Age | Commit message (Collapse) | Author |
|
This change adds stricter validation of data that enters and leaves the
database. As a result, we clearly separate the database model from the
data model that the REST API exports.
|
|
This change enables React Strict Mode via Next.js configuration in order
to highlight potential problems with the web application.
|
|
|
|
This change updates the web frontend to Next.js version 10.2.3. This
addresses a vulnerability in a dependency in Next.js as well as enabling
use of native ESLint integration of Next.js.
|
|
This change fixes the deployment scripts necessary for the frontend and
ensures that runtime variables work again.
|
|
This change re-adds the support for Sentry. This was lost during the
migration from CRA to Next.js.
|
|
This change updates the deployment guide to include instructions on
configuring Auth0 for OpenDC. This process should not be much more
difficult than creating the Google Application.
|
|
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 API to use Flask Restful instead of our own
in-house REST library. This change reduces the maintenance effort and
allows us to drastically simplify the API implementation needed for the
OpenDC v2 API.
|
|
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.
|
|
|
|
This change updates the web frontend to use Next.js instead of Create
React App (CRA). Next.js enables the possibility of rendering pages on
the server side (which reduces the time to first frame) and overall
provides a better development experience.
Future commits will try to futher optimize the implementation for
Next.js.
|
|
This change updates the Redux store initialization to ensure that the
Redux logger is last in the middleware change. If we do not do this,
Redux Logger might log thunds and promises, but not actual actions.
See https://github.com/LogRocket/redux-logger/issues/20
|
|
This change removes the socket.io websocket connection/client in favour
of the OpenDC REST API. The socket.io websocket implementation was
intended to be used for interactive and collaborative datacenter design
and exploration.
However, we do not support this functionality at the moment
(collaborative design and exploration) and having the entire API run
over this websocket connection is fragile and not standard practice.
To improve maintainability, we therefore remove the websocket
implementation in favour of the OpenDC REST API implementation using
the fetch API. If we want to implement collaboration in the future, we
will develop appropriate extensions in conjuction with the existing REST
API. For this, we should look for standard and existing implementation
of this functionality.
|
|
This change updates the frontend codebase by moving the component
styling into CSS module files as opposed to the global styles which we
used before. In addition, I have changed the syntax to the newer SCSS
syntax, which is more similar to CSS.
These changes reduces the styling conflicts that can occur between
components and allows us to migrate to systems that do not support
importing global styles in components. Moreover, we can benefit from
treeshaking using CSS modules.
|
|
This change updates the mathjs dependency to version 7.6.0 in order to
fix the high-severity vulnerability in mathjs version lower than 7.5.1.
|
|
This change fixes the version number in package.json which contained the
suffix "-rc1", which is apparently not supported by npm.
|
|
|
|
|
|
This change updates the React dependencies to version 17, in order to
keep up to date with React.
|
|
|
|
|
|
This change removes the prevent default from the mouse scroll since
Chrome does not allow it anymore.
|
|
This change refactors the frontend to use hooks for obtaining state
within the Redux store as opposed to using Higher-Order Components
(HOCs). This eliminates a lot of clutter in the components.
|
|
This change moves the version number to the next release, v2.1-rc1.
|
|
This change updates the version numbers officially to v2.0 in order to
start the release process.
|
|
|
|
This change updates the workaround used to access runtime variables in
the React frontend, in order to improve the ergonimics when using the
development mode of CRA (Create React App).
|
|
|
|
|
|
|
|
|
|
|
|
This change migrates the node-sass dependency to sass in order
to support Node 16.
|
|
This change adds support for dynamically specifying various variables
for the frontend Docker image through environmental variables.
Previously, these were embedded directly into the source code, which
requires rebuilding the entire image to change these variables.
|
|
This changes updates the .dockerignore files in the repository in order
to prevent building when not necessary.
|
|
|
|
This change updates the project documentation by moving most of the
documentation to the docs directory.
|
|
This change updates the project structure to become flattened.
Previously, the simulator, frontend and API each lived into their own
directory.
With this change, all modules of the project live in the top-level
directory of the repository. This should improve discoverability of
modules of the project.
|