Commit graph

1523 commits

Author SHA1 Message Date
Joey Orlando
7ebc9cbbf7
modify push notification settings + use fcm-django library (#998)
- swaps out `django-push-notifications` for
[`fcm-django`](https://github.com/grafana/fcm-django). Again.. this is a
fork of the parent repo for exactly the same reason.. the migrations
point to `auth_user` without letting us use our own user model, this has
been patched in the `grafana` fork. The reason why we are using
`fcm-django` vs `django-push-notifications` is that the latter does not
support the new FCM API, only the "legacy" API. The legacy FCM API does
not support certain push notification settings that we would like to
use.
- modifies the iOS/Android specific push notification settings
- adds a `flower` pod in the `docker-compose-developer.yml`, useful for
debugging tasks locally
- sets the mobile app verification token TTL to 5 minutes when
developing locally. The default of 1 minute makes working with device
emulators really tricky..

This PR also swaps out the base image in `engine/Dockerfile` from
`python:3.9-alpine3.16` to `python:3.9-slim-buster`.

As to why.. in short, with the introduction of the `fcm-django` library
there is now a peer-dependency on
[`grpcio`](https://github.com/grpc/grpc) (which is used by
`firebase_admin`.. which I am using in this PR to interact directly with
Firebase Cloud Messaging (FCM)). `grpcio` does not publish wheels (read:
compiled binaries) for the Alpine distro. It does publish wheels for
Debian and hence `pip install -r requirements.txt` does not need to
build this library from the source distribution.

This is a [known
"issue"](https://github.com/grpc/grpc/issues/22815#issuecomment-1107874367)
and the recommended solution in the community is to.. not use alpine.

These were the numbers, when building the image locally, in terms of
image size and build time:

| | Local image size (uncompressed | Build time (may differ based on
your network speed) |
| ------------------------- | -------------------------------------- |
---------- |
| `python:3.9-alpine3.16`   | 785MB  | 320s |
| `python:3.9-slim-buster` | 1.05GB  | 90s   |

Co-authored-by: Salvatore Giordano <salvatoregiordanoo@gmail.com>
2022-12-20 12:41:34 +01:00
Rares Mardare
5595480d3a
add qr code class with white background (#1012)
# What this PR does

- Adds white border around the QR code + small margin below
2022-12-19 14:15:32 +03:00
Innokentii Konstantinov
7bb4fdfe43
Merge pull request #1017 from grafana/fix_ag_filtering
Speedup search alertgroup to group alert
2022-12-19 10:59:24 +08:00
Innokentii Konstantinov
41f886b31e Speedup seach alertgroup 2022-12-17 19:34:13 +08:00
Matvey Kukuy
275aa94c71
Small wording fix (Incident -> AG) (#1009)
Small wording fix (Incident -> AG)
2022-12-16 17:23:21 +02:00
Gilberto Junior
f16c4b26c6
Increasing library default timeout (#1005)
# What this PR does

## Which issue(s) this PR fixes

Issues: https://github.com/grafana/oncall/issues/990

## Checklist

- [X] Tests updated
2022-12-16 13:09:04 +02:00
Joey Orlando
ed4be171f6
add make command to configure mobile app feature (#988)
Adds a make command, `enable-mobile-app-feature-flags`, which sets the
backend feature flag in `./dev/.env.dev`, and updates a record in the
`base_dynamicsetting` database table, which are needed to enable the
mobile app backend features.
2022-12-14 09:36:35 +01:00
Matias Bordese
2b763f376e
Update CHANGELOG.md 2022-12-13 10:18:18 -03:00
Matias Bordese
684375a3eb
Update CHANGELOG.md 2022-12-13 10:16:59 -03:00
Joey Orlando
66b2ed5c64
add more logging to push notification celery task (#986) 2022-12-13 14:06:56 +01:00
Joey Orlando
5967d5af63
remove apns + fix django-push-notifications migrations (#984)
- removes APNS support
- changes the `django-push-notification` library from the `iskhakov`
fork to the [`grafana`
fork](https://github.com/grafana/django-push-notifications). This new
fork basically just patches an issue which affected the database
migrations of this django app (previously the library would not respect
the `USER_MODEL` setting when creating its tables and would instead
reference the `auth_user` table.. which we don't want)
- add `--no-cache` flag to the `make build` command

**NOTE**
A migration should be applied as follows:
```bash
# remove the four push_notifications tables, which have improper foreign key references
python manage.py migrate push_notifications zero

# recreate the tables with the proper foreign key references
python manage.py migrate
```
2022-12-13 13:00:59 +01:00
Matias Bordese
d2d73093a8
Merge pull request #980 from grafana/matiasb/fix-schedules-types-ui
Fix schedules types UI confusion
2022-12-12 16:54:18 -03:00
Matias Bordese
b8c77e4b30 Fix schedules types UI confusion 2022-12-12 16:30:24 -03:00
Matias Bordese
ad71fc3d61
Merge pull request #979 from grafana/matiasb/slack-endpoint-extra-logging
Add additional logging info for slack API event endpoint requests
2022-12-12 15:58:10 -03:00
Matias Bordese
9931105cc2 Add additional logging info for slack API event endpoint requests 2022-12-12 15:41:48 -03:00
Joey Orlando
b66dd1a30c
fix sync.. again (#978) 2022-12-12 18:48:26 +01:00
Joey Orlando
3625b75791
fix cloud sync related issue (#977)
this PR reverts [this
change](9e598385f4 (diff-a74aa8f07a8fdc31af66559390f0fc77b66692d43e6d3c5f94311ef7eed5efabL19-L55))
and removes the `str` casting that was done on the `orgId` field
returned from the Grafana COM API
2022-12-12 18:25:56 +01:00
Joey Orlando
8c0eba46b9
remove is_rbac_permissions_enabled logic from check_gcom_permission function (#976)
this field will be addressed in a subsequent sync call it is not
necessary here
2022-12-12 17:05:44 +01:00
Michael Derynck
52d6009c2a
Remove unused parameter from gcom call (#975)
# What this PR does
Remove unused parameter from gcom call

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2022-12-12 08:40:32 -07:00
Matias Bordese
5036d719d7
Update CHANGELOG.md 2022-12-09 15:16:33 -03:00
Matias Bordese
41005b06dd
Merge pull request #973 from grafana/matiasb/editors-get-schedule-write
Update SCHEDULES_WRITE fallback role to EDITOR
2022-12-09 14:58:16 -03:00
Matias Bordese
67ac47ff32 Update SCHEDULES_WRITE fallback role to EDITOR 2022-12-09 12:56:35 -03:00
Joey Orlando
635168afb9
hide mobile app verification tab in the user settings modal for unauthed users (#970) 2022-12-09 12:53:20 +01:00
dependabot[bot]
f0b7a0e189 Bump decode-uri-component from 0.2.0 to 0.2.2 in /grafana-plugin
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-09 10:35:33 +01:00
Rares Mardare
b448451cce
Show mobile tab only if it's feature and the user has permissions (#961)
# What this PR does
- Show/Hide mobile app screen only if user has permission
- Show/Hide mobile app screen only for current user

## Which issue(s) this PR fixes

#926
2022-12-08 10:19:00 +02:00
Innokentii Konstantinov
28dedcd109
Shorten telegram callback data (#959)
Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2022-12-07 23:54:29 +08:00
Rares Mardare
01d9333bd4
Merge pull request #956 from grafana/rares/mobileapp-tweaks
Mobile app screen tweaks
2022-12-07 13:51:46 +02:00
Rares Mardare
84f0c48b96 fixed edge case 2022-12-07 13:45:23 +02:00
Rares Mardare
ebc62ab69f added max timeout of 10s to all jest tests for cases when it needs to wait
timeout value
2022-12-07 13:28:42 +02:00
Rares Mardare
d85f16c9f1 more user friendly loader + use own styles rather than overwriting grafana's one 2022-12-07 13:16:03 +02:00
Yulia Shanyrova
9aeaf9c00b
Merge pull request #958 from grafana/create-web-schedule-crash-fix
Fixed error while creating schedule and fixed Schedules types mistakes
2022-12-07 11:56:24 +01:00
Yulia Shanyrova
357cd072c9 Fixed error while creating schedule and fixed Schedules types mistakes 2022-12-07 11:24:23 +01:00
Rares Mardare
a080d8fd7d review 2022-12-07 11:16:47 +02:00
Erikas Truskauskas
c1307a44d7
Make job-migrate ttlSecondsAfterFinished customizable (#957)
Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2022-12-07 09:10:10 +01:00
Innokentii Konstantinov
c31ac3b977 Fix create_oncall_connector 2022-12-07 12:03:50 +08:00
Innokentii Konstantinov
4f18be927a Fix migration 2022-12-07 00:20:54 +08:00
Matias Bordese
0bba08002b
Merge pull request #875 from grafana/matiasb/fix-by-day-converting-utc
Update selected days to UTC before submit
2022-12-06 12:55:26 -03:00
Rares Mardare
c04590f746 mark classname as optional 2022-12-06 17:15:08 +02:00
Rares Mardare
c640653faa fixed double requests, specify timeout of 6000 in awaitFor calls 2022-12-06 16:53:26 +02:00
Innokentii Konstantinov
7341641b3f
Introduce org uuid (#947)
* Introduce org uuid

* Rename uuid_with_org_id to uuid_with_org_uuid

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2022-12-06 22:42:58 +08:00
Rares Mardare
a34a39f4e0 test fix 2022-12-06 16:37:56 +02:00
Rares Mardare
d47efd12b2 linter 2022-12-06 15:38:47 +02:00
Rares Mardare
73518e70c9 clear timeout on unmount 2022-12-06 15:13:46 +02:00
Rares Mardare
2ccebb34fc tweaks + autoreload QR with loader display 2022-12-06 15:05:38 +02:00
Matias Bordese
209eecf4a6 Updates from review 2022-12-06 09:46:50 -03:00
Matias Bordese
6ef4073e03 Refactoring to use options from backend 2022-12-06 09:41:43 -03:00
Matias Bordese
db41acceff Update selected days to UTC before submit 2022-12-06 09:41:43 -03:00
Joey Orlando
e52af4858c
fix frontend test warnings (#919)
- remove console.warn messags shown during tests
- cleanup react-testing-library/act related test warnings
- cleanup usage of userEvent
2022-12-06 13:40:27 +01:00
Joey Orlando
f8c8ceb2f6
only grant admins read/write access to public api keys (#952) 2022-12-06 13:02:53 +01:00
Joey Orlando
ffda80ae34
add permalinks.web attribute to alert group internal/public api response (#953) 2022-12-06 11:06:05 +01:00