1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-06 00:07:44 +01:00
Commit Graph

1489 Commits

Author SHA1 Message Date
David Leek
9ac1070f43
feat: implement createdByUserId for all features (#5725)
## About the changes

Implements setting values on the created_by_user_id column on the
features table in the db
2023-12-22 14:33:16 +01:00
David Leek
1dadd23594
chore:system user and events created by userid migrations (#5612)
## About the changes

Migrations for:
- Adds column is_system to users
- Inserts unleash_system_user id -1337 to users 

includes `is_system: false` in the activeUsers and activeAccounts where filter

Tested by running:
`
select * into users_pre_check from users where id > -1;
delete from users where id > -1;
`
before starting unleash, then inspecting users table after unleash has
started and verifying that an 'admin' user has been created.

---------

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2023-12-22 11:19:39 +01:00
Nuno Góis
fb94138c5c
chore: support full path schemas (#5723)
This backwards compatible change allows us to specify a schema `id`
(full path) which to me feels a bit better than specifying the schema
name as a string, since a literal string is prone to typos.

### Before

```ts
requestBody: createRequestSchema(
    'createResourceSchema',
),
responses: {
    ...getStandardResponses(400, 401, 403, 415),
    201: resourceCreatedResponseSchema(
        'resourceSchema',
    ),
},
```

### After

```ts
requestBody: createRequestSchema(
    createResourceSchema.$id,
),
responses: {
    ...getStandardResponses(400, 401, 403, 415),
    201: resourceCreatedResponseSchema(
        resourceSchema.$id,
    ),
},
```
2023-12-22 08:17:23 +00:00
andreas-unleash
f0c0504b31
fix: email link (#5719)
Fixes missing base url 

Relates to
#[1-1827](https://linear.app/unleash/issue/1-1827/email-link-to-revive-feature-is-wrong)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 14:51:15 +02:00
Mateusz Kwasniewski
029af91e9e
fix: is after undefined parsing (#5718) 2023-12-21 13:25:10 +01:00
Nuno Góis
efa691d120
chore: helper methods to extract user data from req (#5710)
With the recent changes it's common that we'll need both the id and
processed username from the auth user in the request, so this PR
provides some helper methods to simplify this.
2023-12-21 12:06:20 +00:00
Mateusz Kwasniewski
60d3768ab1
fix: copy last seen at from env (#5713) 2023-12-21 12:37:28 +01:00
David Leek
4e56d1d8d5
feat: implement column created_by_user_id in feature_tag (#5695)
## About the changes

Adds the new nullable column created_by_user_id to the data used by
feature-tag-store and feature-tag-service. Also updates openapi schemas.
2023-12-21 10:00:45 +01:00
Fredrik Strand Oseberg
3ab331dce7
feat: increase unleash width (#5707)
This PR adds two feature flags:
* One is to add some holiday cheer to the unleash logo
* The other allows us to increase the width of unleash if the screen
allows it

<img width="1837" alt="Skjermbilde 2023-12-20 kl 16 18 16"
src="https://github.com/Unleash/unleash/assets/16081982/a25ccfb0-fd99-470f-8583-3ba9ef9186f9">
2023-12-21 08:42:28 +01:00
Jaanus Sellin
8e7e389d1d
fix: context updated event now does stores correct fields (#5705) 2023-12-20 15:57:17 +02:00
Nuno Góis
1a79921a38
chore: incoming webhook events (#5693)
https://linear.app/unleash/issue/2-1748/create-new-incoming-webhook-events

Adds new events for write operations on incoming webhooks and their
tokens.
2023-12-20 11:48:25 +00:00
David Leek
5603e8683d
chore: list users and groups under each role in projectaccessadded event (#5581)
## About the changes

Changes the project access added event to list all users and groups
added to each role instead of in root event.
2023-12-19 10:16:17 +01:00
Mateusz Kwasniewski
7800d9d1b4
feat: export all features in project (#5677) 2023-12-19 08:57:10 +01:00
Jaanus Sellin
d0facc7101
fix: adjust page limit normalization (#5672) 2023-12-18 14:33:45 +02:00
Jaanus Sellin
3b635132f9
feat: enable sorting by project (#5671) 2023-12-18 14:33:38 +02:00
Jaanus Sellin
4af0abc6c2
fix: increase page size in backend to 100 (#5669) 2023-12-18 14:18:05 +02:00
Jaanus Sellin
f4268347da
fix: last seen now sorts nulls last (#5664)
Two changes were needed to sort better

1. Since we are still using `last seen` from `features` table for
backwards compatibility, we needed to add it to sort condition.
2. Nulls break the order, so now sorting nulls as last.
2023-12-18 10:36:50 +02:00
Thomas Heartman
ab2281d7e7
fix: make username nullable in user-schema (#5656)
I noticed I was getting warnings logged in my local instance when
visiting the users page (`/admin/users`)

```json
{
    "schema": "#/components/schemas/publicSignupTokensSchema",
    "errors": [
        {
            "instancePath": "/tokens/0/users/0/username",
            "schemaPath": "#/components/schemas/userSchema/properties/username/type",
            "keyword": "type",
            "params": {
                "type": "string"
            },
            "message": "must be string"
        }
    ]
}
```

It was complaining because one of my users doesn't have a username, so
the value returned from the API was:

```json
{
    "users": [
        {
            "id": 2,
            "name": "2mas",
            "username": null
        }
    ]
}
```

This adjustment fixes that oversight by allowing `null` values for the
username.
2023-12-16 08:28:22 +01:00
Pedro Papadopolis
24c2a70138
feat: Make compression middleware optional (#5306)
## Why
Currently AWS API Gateway doesn't have compression enabled by default,
this PR will make it easier to for example deploy Unleash over to AWS
Lambda without further configuration in API Gateway, frameworks like
Serverless requires a bit more work to set up compression and some times
one might not need compression at all.

## How
Create a new config flag called `disableCompression` which will not
include `compression` middleware in express' instance when set as true.
2023-12-16 08:06:26 +01:00
Jaanus Sellin
dafec2e672
fix: reducing of features will not break order anymore (#5654) 2023-12-15 14:46:40 +02:00
Mateusz Kwasniewski
8283edfc0a
feat: Sort by stale (#5653) 2023-12-15 11:56:06 +00:00
Nuno Góis
8be09510e8
chore: clean up banners feature flag (#5648)
Cleans up some leftover references to the `banners` feature flag. 

Related to https://github.com/Unleash/unleash/pull/5348
2023-12-15 10:16:13 +00:00
Nuno Góis
f84fa81ebe
chore: add incomingWebhooks feature flag (#5647)
https://linear.app/unleash/issue/2-1683/feature-flag-add-a-new-incomingwebhooks-feature-flag-for-this-feature

Adds a new `incomingWebhooks` feature flag.
2023-12-15 10:15:52 +00: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
Ivar Conradi Østhus
e6442d9304
fix: frontend api should use cache-control strategy 'no-cache' (#5641) 2023-12-14 10:35:21 +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
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
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
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
Ivar Conradi Østhus
abf540a1cc
fix: add 'Vary: Origin' header to cors response 2023-12-12 08:05:43 +01:00
Jaanus Sellin
e8f19e6341
fix: added stronger tag validations (#5585)
Now it is impossible to filter based on invalid tag syntax.
2023-12-11 13:34:51 +02:00
Fredrik Strand Oseberg
ec670450fd
feat: initial setup (#5583)
This PR sets up the feature flag for the new strategy configuration and
duplicates the components for the new setup
2023-12-11 12:23:18 +01:00
Thomas Heartman
fb5a487663
feat: add schema for change request strategies (#5578)
This change adds a property to the segmentStrategiesSchema to make sure
that change request strategies are listed in the openapi spec

It also renames the files that contains that schema and its tests from
`admin-strategies-schema` to `segment-strategies-schema`.
2023-12-11 11:01:47 +00:00
Jaanus Sellin
166432bcb0
feat: support localization in date filter (#5572) 2023-12-08 13:20:39 +02:00
Ivar Conradi Østhus
b6f1929efb
Poc/strip client headers on 304 (#5574)
To reduce traffic returned on 304.
2023-12-08 12:14:37 +01:00
Jaanus Sellin
1173b664da
feat: add created date filter component (#5569) 2023-12-08 10:07:57 +02:00
Jaanus Sellin
d9648de08d
chore: rename is not any of to is none of (#5544) 2023-12-06 12:53:51 +02:00
andreas-unleash
12f79f90bb
feat: Scheduled change conflict email templates and function (#5547)
Creates a new email template for scheduled change conflicts and a
function to send it.

Relates to:
#[1-1686](https://linear.app/unleash/issue/1-1686/send-an-email-when-the-conflicts-are-detected)


![Screenshot 2023-12-05 at 16 55
51](https://github.com/Unleash/unleash/assets/104830839/4d37527e-bb83-4ac5-9437-09b6ab08c979)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-06 11:57:19 +02:00
Jaanus Sellin
6f497e6708
feat: add openapi validation for search (#5541) 2023-12-05 11:25:56 +02:00
Jaanus Sellin
d1984b2447
feat: validate date filter and add more tests (#5525) 2023-12-04 15:41:05 +02:00
andreas-unleash
3056456770
fix: scheduled cr failed email (#5522)
Relates to #
[1-1687](https://linear.app/unleash/issue/1-1687/send-an-email-when-the-scheduling-fails)

Removed `name` - not in template
Added missed `changeRequestTitle` for the html template context

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-04 11:51:06 +02:00
andreas-unleash
be17b7f575
feat: new email template for scheduled-execution-failed email (#5519)
What it says on the box.

Relates to #
[1-1687](https://linear.app/unleash/issue/1-1687/send-an-email-when-the-scheduling-fails)


<img width="782" alt="Screenshot 2023-12-01 at 15 33 08"
src="https://github.com/Unleash/unleash/assets/104830839/513a0a71-5ca5-4ea7-8482-7903c8485737">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-12-01 15:48:13 +02:00
Mateusz Kwasniewski
26f9cf98d5
refactor: feature oriented architecture for project-environment (#5510) 2023-12-01 12:41:46 +01:00
Jaanus Sellin
63f6af06da
feat: new project overview backend (#5344)
Adding new project overview endpoint and deprecating the old one.
The new one has extra info about feature types, but does not have
features anymore, because features are coming from search endpoint.
2023-12-01 11:20:24 +02:00
Jaanus Sellin
feae69643c
feat: created date operators for search (#5513)
1. Added operators for created date
2. Added better descriptions for searchable fields
2023-11-30 12:00:39 +02:00
Fredrik Strand Oseberg
e5760b5690
Feat: remove last seen refactor flag (#5423)
What it says on the box

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: andreas-unleash <andreas@getunleash.ai>
2023-11-30 10:17:50 +02:00
Jaanus Sellin
a743ca0df6
feat: add operators for state filtering (#5497)
No changes in store needed, already utilizing reusable logic.
2023-11-29 15:22:42 +02:00
Ivar Conradi Østhus
07fcdbb053
fix: add metrics for service account and api tokens (#5478) 2023-11-29 13:09:30 +01:00