1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

9849 Commits

Author SHA1 Message Date
Gastón Fournier
1338496445
chore: enable manual testing of migrations (#5645)
## About the changes
This adds a Makefile to make it easy to test migrations from one version
of Unleash to another.

The script depends on [docker compose
V2](https://docs.docker.com/compose/migrate/)

**Before starting**: make sure you're inside test-migrations folder and
run `make clean` to be in a clean state.

We can run 2 versions of Unleash side by side with a shared database
(the second version will apply migrations to the DB):
```shell
UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:5.6.10 make start-unleash # defaults to port 4242
UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:latest make start-another-unleash # defaults to port 4243
make test # run basic UI tests against port 4242 (first image)
EXPOSED_PORT=4243 make test # run basic UI tests against port 4243
```

This also enables us to test our local repository with our code of
Unleash server running at port 4244 (`EXPOSE_PORT=4444 make run-current`
if you want to change it):
```shell
UNLEASH_DOCKER_IMAGE=unleashorg/unleash-server:5.6.10 make start-unleash # defaults to port 4242
make run-current # exposes the current backend at 4244
```

You can also connect the latest UI to any of the ports specified above,
starting the UI at port 3000:
```shell
EXPOSED_PORT=4242 make run-current-ui # exposed port defaults to 4244 which is the port of the current backend
```
2023-12-14 15:12:13 +01:00
Jaanus Sellin
fa087fb473
refactor: move search implementation out of strategies store (#5642)
This is first step of refactoring. Next steps follow with possibly a
query builder, or atleast using some reusable methods.
2023-12-14 15:45:36 +02:00
Jaanus Sellin
fbb5dd9022
feat: add icons to filters (#5640) 2023-12-14 15:06:26 +02:00
Christopher Kolstad
bfa82d79bf
feat: adds created_by_user_id to all events (#5619)
### What
Adds `createdByUserId` to all events exposed by unleash. In addition
this PR updates all tests and usages of the methods in this codebase to
include the required number.
2023-12-14 13:45:25 +01:00
Mateusz Kwasniewski
772682176e
feat: pagination reset on feature list (#5644) 2023-12-14 13:44:27 +01:00
andreas-unleash
a595c0fbcc
feat: show failure reason for scheduled requests in timeline (#5639)
Adds an icon with a tooltip and changes the dot color to red for
scheduled change requests

Closes #
[1-1768](https://linear.app/unleash/issue/1-1768/add-reason-and-icon-to-timeline)
<img width="1668" alt="Screenshot 2023-12-14 at 10 20 27"
src="https://github.com/Unleash/unleash/assets/104830839/dcf54834-ea9f-4e78-b69d-15d6179ffce3">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-14 11:49:14 +02:00
andreas-unleash
cbd50ac0f5
Feat: show status of scheduled change request (#5630)
Modifies the ChangeRequestStatusBadge to display the failed execution

Closes #
[1-1767](https://linear.app/unleash/issue/1-1767/add-status-to-scheduled-badge)
![Screenshot 2023-12-13 at 13 10
42](https://github.com/Unleash/unleash/assets/104830839/5aab83b4-a3d8-4a88-8f17-628cb37d7850)
![Screenshot 2023-12-13 at 13 15
26](https://github.com/Unleash/unleash/assets/104830839/799e4bbe-b469-4cee-a3df-f0b6efcca33a)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-14 11:49:03 +02:00
Mateusz Kwasniewski
176e22ed40
feat: adjust filter chips styling (#5638) 2023-12-14 10:40:12 +01:00
Ivar Conradi Østhus
e6442d9304
fix: frontend api should use cache-control strategy 'no-cache' (#5641) 2023-12-14 10:35:21 +01:00
Tymoteusz Czech
29bd636273
Feat: row actions (#5635)
- add table placeholder back
- add row actions column
- refactor actions into hook
- batch actions
2023-12-14 09:04:56 +01:00
Gard Rimestad
d886c910da
docs: Compare front-end api to edge, not proxy (#5617)
Proxy is superseeded by edge, lets compare to edge instead of the old
proxy.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-14 09:04:44 +01:00
Ivar Conradi Østhus
4618a52014
fix: optimize cores headers (#5629)
This commit enhances two aspects of CORS:

- Always support CORS preflight requests.
- Do not add additional secuity headers for prefligh calls.
2023-12-13 16:12:17 +01:00
Mateusz Kwasniewski
adb9ba5c09
test: filter selection avoid duplicates (#5636) 2023-12-13 15:57:49 +01:00
Jaanus Sellin
d00d27a9ac
fix: last seen now will not break (#5634) 2023-12-13 16:05:54 +02:00
Jaanus Sellin
1191094981
feat: add tests for filters component (#5632) 2023-12-13 16:05:09 +02:00
andreas-unleash
6c52158723
feat: add reason column to change_request_schedule (#5631)
What it says on the tin.

Closes: #
[1-1766](https://linear.app/unleash/issue/1-1766/add-reason-column-to-change-request-schedule)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-13 14:07:02 +02:00
Mateusz Kwasniewski
bcf0e6b7a3
fix: avoid duplicate unselected filters (#5633) 2023-12-13 13:01:55 +01:00
Fredrik Strand Oseberg
c552f3ae72
Feat/new strategy configuration general tab (#5628)
* Adds the new general tab settings behind a feature flag
* Adds a test for the FlexibleStrategy component
2023-12-13 12:34:43 +01:00
Mateusz Kwasniewski
54316cace3
feat: project filter names (#5627) 2023-12-13 11:34:30 +01:00
Mateusz Kwasniewski
e32fa396fc
docs: ADR with handling tables (#5561) 2023-12-13 11:09:55 +01:00
Jaanus Sellin
92dd3feec2
refactor: project overview using filters component (#5626) 2023-12-13 11:56:08 +02:00
Jaanus Sellin
ed4a182e7e
refactor: filter abstraction (#5625) 2023-12-13 11:43:02 +02:00
Tymoteusz Czech
17b747ea8f
feat: project features - new columns visibility handling (#5605)
In `ExperimentalProjectTable.tsx`, changes have been made to the columns
configuration in order to handle column visibiilty. This includes adding
id property to every column. Logic responsible for dynamically adjusts
column visibility based on screen size was moved to new hook,
`useDefaultColumnVisibility`
2023-12-13 10:08:16 +01:00
Jaanus Sellin
c0c1dba9b0
refactor: simplify configuration for filters (#5622)
This is building block of abstraction for filters.
2023-12-13 10:23:59 +02:00
Mateusz Kwasniewski
11b477d872
test: scrollable filter options and sticky search (#5623) 2023-12-13 09:23:20 +01:00
Mateusz Kwasniewski
2b7e127680
test: feature toggle list table (#5618) 2023-12-13 08:13:19 +01:00
Jaanus Sellin
4f207f18e6
feat: filters for project overview (#5620) 2023-12-12 22:50:49 +02:00
David Leek
d632690203
chore: add created by user id to events (#5621)
## About the changes

Adds the column `created_by_user_id` to `events` table and adds index
for it

---------

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2023-12-12 15:57:59 +01:00
Jaanus Sellin
1c95029319
feat: add plausible tracking (#5614) 2023-12-12 15:46:48 +02:00
Thomas Heartman
8e430810ef
fix: return 400 on invalid POST data to project access endpoint (#5610)
This PR fixes the issue discussed in SR-234, where you would get a 200
OK response even if your POST request to
`/api/admin/projects/<project-name>/access` contains invalid data (and
nothing is persisted).
2023-12-12 14:46:23 +01:00
Jaanus Sellin
8961a6e1db
fix: paginated project overview now returns single project (#5615) 2023-12-12 15:46:08 +02:00
Gard Rimestad
d6afe80bab
feat: datadog integration - link to valid source type names (#5608)
Datadog only supports know source_type_names, lets make that easy to
figure out for the user.
2023-12-12 14:37:41 +01:00
andreas-unleash
4376697250
feat: show Changes scheduled in feature variants even when CR are dis… (#5613)
show Changes scheduled in feature variants even when CR are disabled

Modifies existing hook to call the new `change-requests/scheduled`
endpoint that returns the relevant scheduled change requests even when
change requests are disabled

Rename the ChangeRequestIdentityData to ScheduledChangeRequestViewModel
for consistency (finalised schemas will replace the BE and FE types in a
follow up PR)

Closes #
[1-1746](https://linear.app/unleash/issue/1-1746/show-change-scheduled-badge-in-feature-environment-variants-even-if)

<img width="1486" alt="Screenshot 2023-12-12 at 14 24 44"
src="https://github.com/Unleash/unleash/assets/104830839/7c4e92ef-81d8-423e-8b78-9015ede59952">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 15:34:32 +02:00
Tymoteusz Czech
bc62a98f51
update withTableState (#5603)
## About the changes
Handle column visibility from table state in URL and local storage.
2023-12-12 14:01:04 +01:00
Tymoteusz Czech
8a5a73ad7d
feat: new columns visibility menu (#5604)
New `<ColumnsMenu />` is using it's own list of elements instead of
inferring it from table columns definition. This component doesn't need
it's internal structure to depend on react-table and it's interface.
2023-12-12 13:41:25 +01:00
Gard Rimestad
685489b9ad
docs: Clarify edge proximity to users (#5601)
A benefit of hosting your own edge instance is that it will be as close
to end users as you are.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-12 12:35:57 +01:00
Gard Rimestad
b9748e0ad6
docs: proxy-hosting link to what frontend api is (#5602)
Adding links to definition of what frontend api is. Can be confusing for
new users to read without seing what it is.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-12 12:35:09 +01:00
Jaanus Sellin
386c4baa86
feat: keep filters ordered based on user selection (#5609) 2023-12-12 13:01:23 +02:00
Mateusz Kwasniewski
850b78a699
fix: show popover on empty state (#5611) 2023-12-12 11:40:00 +01:00
Ivar Conradi Østhus
43c563af57
fix: optimize headers we return for API calls. (#5607)
Today we include a lot of "secutiry headers" for all API calls. Quite a
lot of them are only relevent when we return a HTML document for the
browser.

This PR removes and simplify these headers for API calls, so that we do
not include unecessary data in the HTTP headers.

Each header have been carfully examied by following best practices from
these source:

-
https://cheatsheetseries.owasp.org/cheatsheets/REST_Security_Cheat_Sheet.html
- https://owasp.org/www-project-secure-headers/

This feature is protected with feature flag named 'stripHeadersOnAPI'.
2023-12-12 10:20:28 +01:00
Mateusz Kwasniewski
eebe43fcb1
feat: show dropdown immediately (#5606) 2023-12-12 09:27:50 +01:00
Mateusz Kwasniewski
e88beff2b2
feat: do not cache old search and filter results (#5600) 2023-12-12 08:47:57 +01:00
andreas-unleash
e02c252636
fix: show Changes scheduled badge for strategies even if change reque… (#5599)
show Changes scheduled badge for strategies even if change requests are
disabled

Closes #
[1-1745](https://linear.app/unleash/issue/1-1745/show-changes-scheduled-badge-in-strategy-item-even-if-change-requests)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 09:30:57 +02:00
Ivar Conradi Østhus
abf540a1cc
fix: add 'Vary: Origin' header to cors response 2023-12-12 08:05:43 +01:00
Nnenna Ndukwe
7d40ded3c3
Intro React Tutorial (#5579)
## About the changes
Adding in an initial React tutorial with Unleash! This includes
installing Unleash, creating a React application with Vite, then
integrating Unleash to use with a CSS-focused feature toggle.


### Important files

- New File:
`website/docs/feature-flag-tutorials/react/implementing-feature-flags.md`
- Added new tutorial to navigation in `sidebars.js` and
`docusaurus.config.js`



There is a lot of room to make more advanced use case additions to this
React tutorial. For example, addressing SSR.
I think that'd be good for a future iteration to be helpful to the
community.
2023-12-11 12:07:50 -06:00
Christopher Kolstad
18ea7349c6
feat: add created_by to api_tokens table (#5596)
Adds a migration for adding created_by column to the api_tokens table.
2023-12-11 15:41:36 +01:00
Christopher Kolstad
150e6b03dc
feat: add column created_by to roles table (#5595)
Tracking who creates roles
2023-12-11 15:40:17 +01:00
Christopher Kolstad
4f7b3aa759
feat: add column created_by to role_user table (#5594)
As it says in the title. Adds a created_by column to the role_user table
to more easily track who's doing what.
2023-12-11 15:40:02 +01:00
Christopher Kolstad
0f250ba06c
feat: add created_by to role_permission table (#5592)
As it says on the tin. In an attempt to make all operations in Unleash
traceable to an originator. This PR adds created_by to role_permission,
which will show which user assigned a permission to a role.
2023-12-11 15:39:44 +01:00
Christopher Kolstad
ed220c0b89
feat: add column created_by to users table (#5597) 2023-12-11 15:39:07 +01:00