You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+28
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,34 @@ All notable changes to this project will be documented in this file.
4
4
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org).
6
6
7
+
## [4.3.0] - 2024-11-30
8
+
### Added
9
+
*[#1360](https://github.com/shlinkio/shlink-web-client/issues/1360) Added ability for server IDs to be generated based on the server name and URL, instead of generating a random UUID.
10
+
11
+
This can improve sharing a predefined set of servers cia servers.json, env vars, or simply export and import your servers in some other device, and then be able to share server URLs which continue working.
12
+
13
+
All existing servers will keep their generated IDs in existing devices for backwards compatibility, but newly created servers will use the new approach.
14
+
15
+
*[shlink-web-component#491](https://github.com/shlinkio/shlink-web-component/issues/491) Add support for colors in QR code configurator.
16
+
*[shlink-web-component#515](https://github.com/shlinkio/shlink-web-component/issues/515) Add support for geolocation redirect conditions, when using Shlink 4.3 or newer.
17
+
*[shlink-web-component#514](https://github.com/shlinkio/shlink-web-component/issues/514) Allow filtering short URLs list by domain, when using Shlink 4.3 or newer.
18
+
*[shlink-web-component#520](https://github.com/shlinkio/shlink-web-component/issues/520) Allow navigating from domains list to short URLs list filtered by one domain, when using Shlink 4.3 or newer.
19
+
*[shlink-web-component#517](https://github.com/shlinkio/shlink-web-component/issues/517) Update list of known domains when a short URL is created with a new domain.
20
+
*[shlink-web-component#292](https://github.com/shlinkio/shlink-web-component/issues/292) Add icon in short URLs list indicating if a short URL has redirect rules.
21
+
22
+
### Changed
23
+
**Nothing*
24
+
25
+
### Deprecated
26
+
**Nothing*
27
+
28
+
### Removed
29
+
**Nothing*
30
+
31
+
### Fixed
32
+
*[shlink-web-component#504](https://github.com/shlinkio/shlink-web-component/issues/504) Fix fallback interval not causing new visits to be loaded.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+12-16
Original file line number
Diff line number
Diff line change
@@ -14,16 +14,13 @@ Because of this, the only actual dependencies are [docker](https://docs.docker.c
14
14
15
15
The first thing you need to do is fork the repository, and clone it in your local machine.
16
16
17
-
Then you will have to follow these steps:
17
+
Then simply run `docker compose up` and you will have the project exposed in port `3000` (http://localhost:3000).
18
18
19
-
* Copy the file `docker-compose.override.yml.dist` by also removing the `dist` extension.
20
-
* Start-up the project by running `docker compose up`.
21
-
22
-
Once this is finished, you will have the project exposed in port `3000` (http://localhost:3000).
19
+
> The first time the container is created, the project dependencies will be installed and the container may take a bit longer to start.
23
20
24
21
## Project structure
25
22
26
-
This project is a [react](https://reactjs.org/) & [redux](https://redux.js.org/) application, built with [typescript](https://www.typescriptlang.org/), which is distributed as a 100% client-side progressive web application.
23
+
This project is a [react](https://react.dev/) & [redux](https://redux.js.org/) application, built with [typescript](https://www.typescriptlang.org/), which is distributed as a 100% client-side progressive web application.
27
24
28
25
This is the basic project structure:
29
26
@@ -39,7 +36,7 @@ shlink-web-client
39
36
```
40
37
41
38
*`config`: It contains some configuration scripts, used during testing, linting and building of the project.
42
-
*`public`: Will act as the application document root once built, and contains some static assets (favicons, images, etc).
39
+
*`public`: Will act as the application document root once built, and contains some static assets (favicons, images, etc.).
43
40
*`scripts`: It has some of the CLI scripts used to run tests or building.
44
41
*`src`: Contains the main source code of the application, including both web components, SASS stylesheets and files with logic.
45
42
*`test`: Contains the project tests.
@@ -48,20 +45,19 @@ shlink-web-client
48
45
49
46
> Note: The `indocker` shell script is a helper used to run commands inside the docker container.
50
47
51
-
*`./indocker npm run lint`: Checks coding styles are fulfilled, both in JS/TS files as well as in stylesheets.
52
-
*`./indocker npm run lint:js`: Checks coding styles are fulfilled in JS/TS files.
53
-
*`./indocker npm run lint:css`: Checks coding styles are fulfilled in stylesheets.
54
-
*`./indocker npm run lint:js:fix`: Fixes coding styles in JS/TS files.
55
-
*`./indocker npm run lint:css:fix`: Fixes coding styles in stylesheets.
56
-
*`./indocker npm run test`: Runs unit tests with Jest.
57
-
*`./indocker npm run mutate`: Runs mutation tests with StrykerJS (this command can be very slow).
48
+
*`./indocker node --run lint`: Checks coding styles are fulfilled, both in JS/TS files and in stylesheets.
49
+
*`./indocker node --run lint:js`: Checks coding styles are fulfilled in JS/TS files.
50
+
*`./indocker node --run lint:css`: Checks coding styles are fulfilled in stylesheets.
51
+
*`./indocker node --run lint:js:fix`: Fixes coding styles in JS/TS files.
52
+
*`./indocker node --run lint:css:fix`: Fixes coding styles in stylesheets.
53
+
*`./indocker node --run test`: Runs unit tests with Jest.
58
54
59
55
## Building the project
60
56
61
57
The source code in this project cannot be run directly in a web browser, you need to build it first.
62
58
63
-
*`./indocker npm run build`: Builds the project using a combination of `webpack`, `babel` and `tsc`, generating the final static files. The content is placed in the `build` folder, which is automatically created if it does not exist.
64
-
*`./indocker npm run serve:build`: Serves the static files inside the `build` folder in port 5000 (http://localhost:5000). Useful to test the content built with previous command.
59
+
*`./indocker node --run run build`: Builds the project for production using [vite](https://vite.dev/), generating the final static files. The content is placed in the `build` folder, which is automatically created if it does not exist.
60
+
*`./indocker node --run run preview`: Serves the static files inside the `build` folder in a random port. Useful to test the content built with previous command.
0 commit comments