1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-01 13:47:27 +02:00
Commit Graph

2918 Commits

Author SHA1 Message Date
sjaanus
2571e6c17e
feat: reset pnps feedback 2025-07-03 09:08:18 +03:00
Jaanus Sellin
7e85de8f65
feat: now it is possible to search events by group id (#10275)
Now when you put group ID as query param, it will filter based on
transaction id.

I am not sure if its best naming, whether it should be groupId or
transactionId, I will leave as group for now, but its simple change
later.


![image](https://github.com/user-attachments/assets/e0caaf57-f93f-40ee-a332-d3aed249c4ca)
2025-07-02 10:16:13 +03:00
Nuno Góis
a251a9808a
fix: private projects visibility for users in editor and admin groups (#10265)
https://linear.app/unleash/issue/2-3665/viewer-role-in-admin-group-cannot-access-private-projects

Fixes a bug where private projects were not visible for viewers that
belonged to Editor or Admin groups.
2025-07-01 17:16:52 +01:00
David Leek
a748502f7d
chore(email): improve the approve request email message (#10264) 2025-07-01 15:23:39 +02:00
Jaanus Sellin
0e5080fac5
feat: start showing CR id in UI and make it clickable (#10259)
![image](https://github.com/user-attachments/assets/72c631aa-0b60-42c1-b546-870962a3e885)
2025-07-01 12:50:49 +03:00
Mateusz Kwasniewski
661fd6febf
feat: bulk impact metrics (#10251) 2025-07-01 09:50:44 +02:00
Jaanus Sellin
681ce3bfd9
feat: start storing every transaction id in events table (#10236)
Every time an event gets inserted, we check if there is transaction
data, that we can include.
2025-06-30 16:00:57 +03:00
Christopher Kolstad
873d64e84b
task: Added name and email of requester to track down spammers (#10235)
As the title says. This adds name and email of requester to CR approval
mails. This will hopefully have users complain to their coworkers rather
than Unleash if they get too many mails.
2025-06-30 09:54:55 +00:00
Jaanus Sellin
2d2ba4ae25
feat: start storing event group type and id (#10233)
Simple 2 columns for event type and event id.

I thought about adding check for type, but decided to handle checking in
backend code.

Currently the types will be

1. transaction
2. change-request

And ID is ulid
2025-06-30 12:50:51 +03:00
Thomas Heartman
4eedf88627
add crDiffView to Unleash (#10228)
This change adds the `crDiffView` flag to Unleash, potentially enabling
the new JSON diff tab in change request changes instead of the "view
json diff" hover functionality.
2025-06-27 11:24:44 +02:00
Jaanus Sellin
c5b6ee75f3
feat: transaction grouping, use ulids and strings (#10230)
Replace generating random number id based on timestamp and now use
ulids.
2025-06-27 11:45:17 +03:00
Jaanus Sellin
8c1c9076b3
feat: add transaction context store (#10211)
Create transaction context, that generates a random ID for each
transaction, but also allows you to define your own id, for example
change-request.
2025-06-27 11:04:52 +03:00
Nuno Góis
e624413e19
chore: update Slack App to App for Slack (#10218)
https://linear.app/unleash/issue/2-3640/update-unleashs-integration-and-docs-accordingly

Updates "Slack App" to "App for Slack" to satisfy Slack Marketplace
requirements.

This is a follow up to:
- https://github.com/Unleash/unleash-slack-app/pull/7
- https://github.com/Unleash/unleash-slack-app/pull/9
- https://github.com/Unleash/unleash-slack-app/pull/10
2025-06-26 15:33:49 +01:00
Gastón Fournier
0f9774800e
feat: ability to search events by type with pagination (#10217)
This helps us to use this feature to implement partial user sync by
observing the changes in the audit log
2025-06-26 14:42:29 +02:00
Christopher Kolstad
67f81d5d0b
task: added new event for updated requested approvers list (#10216) 2025-06-26 11:46:32 +02:00
Mateusz Kwasniewski
550262d3b0
chore: bring back impact metrics (#10212) 2025-06-25 17:03:09 +02:00
Mateusz Kwasniewski
45efcf8078
fix: impact metrics undefined (#10210) 2025-06-25 14:48:07 +02:00
Mateusz Kwasniewski
abcc9248e2
feat: impact metrics resolver (#10209) 2025-06-25 13:52:35 +02:00
Mateusz Kwasniewski
7c31ec71a1
feat: Count errors and gauge for heap memory (#10203) 2025-06-25 08:03:15 +02:00
Mateusz Kwasniewski
3f9db9195c
feat: count created feature links with impact metrics (#10201) 2025-06-24 13:18:06 +02:00
Mateusz Kwasniewski
b33765bc2b
feat: expand resolver interface with impact metrics (#10199) 2025-06-23 13:37:33 +02:00
Tymoteusz Czech
daa6461d9b
chore: bulk metrics - remove a flag (#10190) 2025-06-23 13:25:25 +02:00
Christopher Kolstad
6aecc3f93e
task: added notified at to change request requested approvals (#10196)
Adding this should allow us to only notify users that haven't been
notified before.

Necessary because the change_added event does not include a preData that
allowed us to diff requestedApprovers based on the event alone.

Also added a index on this column, since we're going to be using it to
filter.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-23 10:51:47 +00:00
Ivar Conradi Østhus
2ecb4b0a4f
Chore/remove flag disable bulk toggle (#10183)
Prompt used:

![image](https://github.com/user-attachments/assets/17d35ab4-cc2c-4f90-9bee-7fdc3550e1ec)

LLM: Gemini 2.5 Pro (preview)

@kwasniew do we still need this kill-switch?
2025-06-20 13:18:50 +02:00
Mateusz Kwasniewski
632f3a04cb
feat: validate impact metrics (#10181) 2025-06-19 14:46:36 +02:00
Jaanus Sellin
40840c98cf
feat: support event id in search (#10176)
We added `id` as one of the query parameters for searching events.
2025-06-19 14:46:14 +03:00
Mateusz Kwasniewski
63a354ab6f
test: impact metrics e2e (#10178) 2025-06-19 12:34:22 +02:00
Simon Hornby
40c7c25db9
feat: ingest new impact metrics (#10169)
Accepts the new impact metrics into the singleton registry and then does
nothing with them. If the relevant flag is off, the metrics are stripped
from the existing metrics data format and dropped on the floor
2025-06-19 11:31:51 +02:00
Tymoteusz Czech
b356e23191
feat: add prometheusImpactMetricsApi option to configuration (#10168)
API url, similar to `config.prometheusApi`, for impact metrics
2025-06-18 17:53:08 +02:00
Gastón Fournier
967df825cb
feat: do not lock until migrations are needed (#10170) 2025-06-18 17:40:21 +02:00
Mateusz Kwasniewski
2444bd7ccd
test: impact metrics collection e2e (#10162) 2025-06-18 13:44:55 +02:00
Christopher Kolstad
4c13bd63ee
task: added requested cr approval email template and emailService method (#10161)
Initial template and emailService method in place here.
2025-06-18 13:26:48 +02:00
Christopher Kolstad
ce8d49be10
task: added table for requested approvers for CRs (#10159)
As part of the task to make it possible to send notifications to
approvers for a CR, this PR adds a table that can link users to CRs
they've been requested to make an approval for.
2025-06-18 11:52:29 +02:00
Mateusz Kwasniewski
6f7f48a361
Revert "chore: use logger instead of console.error" (#10153)
Reverts Unleash/unleash#10150
2025-06-17 17:20:39 +02:00
Gastón Fournier
0bad9101fc
chore: use logger instead of console.error (#10150) 2025-06-17 15:37:57 +02:00
Mateusz Kwasniewski
02876a1c08
feat: expose impact metrics (#10151) 2025-06-17 14:17:46 +02:00
Thomas Heartman
c619cb9ec5
chore(1-3835): improve json diff view (#10146)
Replaces the existing JSON diff implementation we use with
`json-diff-react` (35kb unpacked, according to npm), a react-fork of the
popular `json-diff` library. The change is behind a new flag.

The new library has several advantages:
- nicer formatting (including nested objects)
- we don't need to calculate the diff manually anymore
- option to hide/reveal unchanged properties

There's still a few more things to put in place (such as handling of no
changes) and overflow handling when you have very long properties.

Here's a few comparison screenies:

Old (below) vs new (above):

![image](https://github.com/user-attachments/assets/466472cc-9499-4d22-8f62-e3f9096496d1)

Fold and unfold:

![image](https://github.com/user-attachments/assets/3d213aee-a3a6-42e2-8fbb-0133276aa790)

![image](https://github.com/user-attachments/assets/3f7d7aeb-5835-4f32-9d6e-97cf09df1c0e)

In change requests:

![image](https://github.com/user-attachments/assets/c529ff8c-05c8-4ec7-a49d-ac58a1eeea98)

Strategy re-ordering:
Folded:

![image](https://github.com/user-attachments/assets/26ef905d-c766-4982-be9a-83ff15260e23)

Unfolded:

![image](https://github.com/user-attachments/assets/d2e212c3-351c-42fe-a645-ec8e9c71146e)

Old:

![image](https://github.com/user-attachments/assets/041310b0-149b-417a-a724-8d37f1ad44f7)
2025-06-17 12:01:17 +02:00
Mateusz Kwasniewski
d2b9751e01
feat: translate impact metrics to prom format (#10147) 2025-06-17 11:52:41 +02:00
Christopher Kolstad
c165e87d74
chore: now expose IFeatureUsageInfo to override telemetry checking (#10149)
Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2025-06-17 11:27:47 +02:00
Christopher Kolstad
f0a2c335fb
task: added flag for CR approver emails (#10144) 2025-06-16 14:08:54 +02:00
Gastón Fournier
6afb9f8796
refactor: migrate from make-fetch-happen to ky and use ky natively (#10134)
Migrate from make-fetch-happen to ky

## Summary:

- Replaced all usages of make-fetch-happen with
[ky](https://github.com/sindresorhus/ky) for HTTP requests.
- Upgraded nock to v14 so it's capable of mocking native fetch
implementation
- Removed the make-fetch-happen dependency
- Ensured all fetch logic is compatible with ky API.

## Why:

- ky provides a modern, lightweight, and promise-based HTTP client with
a simpler API.
- Reduces dependencies and simplifies codebase.

## Testing:

We'll do testing in sandbox environment of the modified functionality
(which is not much) and we also rely on automated testing.

---------

Co-authored-by: Simon Hornby <simon@getunleash.io>
2025-06-13 15:30:47 +02:00
Christopher Kolstad
c13ab85b1c
feat: report hostedBy and licenseType (#10141)
Added two new fields to FeatureInfo (what gets reported as telemetry)
reporting license type and hostedBy. Will be overriden in Enterprise.
2025-06-13 12:44:21 +00:00
Nuno Góis
dbc34a10bd
chore: remove flag enterprise-payg (#10139)
https://linear.app/unleash/issue/2-3602/clean-up-flag-enterprise-payg

Removes
[enterprise-payg](https://app.unleash-hosted.com/hosted/projects/eg/features/enterprise-payg)

Doesn't seem like this is being used anywhere.
2025-06-13 12:05:48 +01:00
Nuno Góis
3467dfbdb8
chore: remove flag newGettingStartedEmail (#10136)
https://linear.app/unleash/issue/2-3601/clean-up-flag-newgettingstartedemail

Removes
[newGettingStartedEmail](https://app.unleash-hosted.com/hosted/projects/eg/features/newGettingStartedEmail)

Related: 
 - https://github.com/Unleash/unleash/pull/9980
 - https://github.com/Unleash/unleash/pull/9997
 - https://github.com/Unleash/unleash/pull/9998
 - https://github.com/Unleash/unleash/pull/10029
2025-06-13 10:24:13 +01:00
Christopher Kolstad
b70f862f93
fix: md5 is deprecated and fails FEDRAMP. Replace with sha256 (#10125)
#10121 points out that we're using md5 functions still. This PR updates
our migrations to no longer use md5 at all (so if you haven't run the
migrations, you won't get email hashes until you get to the included
migration with this PR). If you've already run the migrations, we'll
drop the existing `email_hash varchar(32)` column and replace it with a
`email_hash TEXT` column.

We're also replacing the md5 function with `encode(sha256(email),
'hex')`. encode has been supported since PG10, sha256 came with PG11.

Do we want an index on the email_hash? I wasn't sure, but if we want to
do lookup we probably should have an index on it (though not a unique
one)
2025-06-13 09:41:40 +02:00
Gastón Fournier
37a125f0b5
feat: ability to query users with pagination (#10130)
Made a few QoL improvements:
- Don't use default export for class
- Move users store to a feature package (didn't move the interface as it
might be referenced elsewhere)
- Add types for query builders (and ts-expect-error when needed)
2025-06-12 17:43:22 +02:00
Tymoteusz Czech
4e48d90ed8
fix: use technicalDebt property from backend (#10111)
Frontend should load `technicaDebt` from backend instead of
re-calculating it.
2025-06-12 16:50:29 +02:00
Nuno Góis
75a8b49609
chore: update Slack App URL (#10129)
https://linear.app/unleash/issue/2-3600/update-slack-app-url-to-slack-appgetunleashio

Updates the Slack App URL to: https://slack-app.getunleash.io
2025-06-12 12:04:08 +01:00
Thomas Heartman
7e61e0dd09
Chore(1-3807)/remove flag add edit strategy take2 (#10108)
Removes all usages of flag addEditStrategy and refactors code where
necessary.

This is only the first step of the cleanup. After this, there's still
lots of code to be removed. I've got a different PR that removes ~5k
lines of code (https://github.com/Unleash/unleash/pull/10105) that I
want to reach in pieces to make sure that everythnig works on the way
there.
2025-06-11 06:03:34 +00:00
Tymoteusz Czech
1e7d022b5a
chore: remove flag sideMenuCleanup (#10093)
- remove flag
- remove unused components
- adjust e2e test snapshots
2025-06-10 12:23:47 +02:00