Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: admin tenants index #442

Merged
merged 10 commits into from
Feb 6, 2023
Merged

feat: admin tenants index #442

merged 10 commits into from
Feb 6, 2023

Conversation

chasers
Copy link
Contributor

@chasers chasers commented Jan 18, 2023

  • handles url params
  • updates url when form changes
  • list updates as you type
  • list updates when you select a dropdown
  • sortable by any tenant field
  • shows only important tenant info in the tenant list
admin-tenants-list.mov

Future work

  • put actual rates in tenant list and update in realtime
  • tenant show page to render all tenant info and prototype a Realtime dashboard per tenant
  • pagination?

w3b6x9 and others added 8 commits January 11, 2023 13:13
* feat: display the count of connected tenants in metrics (#418)

* fix: don't try to stop the not alive pid in the resolver (#417)

* fix: increase read replica pool size

* feat: default realtime-dev JWT secret to API_JWT_SECRET env var value

* chore(deps): bump json5 from 1.0.1 to 1.0.2 in /demo

Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](json5/json5@v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: default Repo with_dynamic_repo name to nil and pool_size to 1 (#423)

* fix: looks for the PR number after # symbol (#425)

* Add defaults to current fields to reflect db schema

* Add max_bytes_per_second and max_channels_per_client fields

* Add max_joins_per_second to schema

* Add db limits to socket

* Use db limits in channel

* fix: tests

* fix: do not block a registration process (#426)

* fix: add http checks

* feat: stop connection to a tenant's db if there are no connected users for 10 minutes. (#428)

* feat: add short_node_id helper

* Use new helper in Realtime.PromEx

* feat: add version to footer and use short node id

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: abc3 <sts@abc3.dev>
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
@vercel
Copy link

vercel bot commented Jan 18, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Ignored Deployment
Name Status Preview Comments Updated
realtime-demo ⬜️ Ignored (Inspect) Feb 6, 2023 at 5:01PM (UTC)

@chasers chasers changed the title Feat/admin tenants feat: admin tenants Jan 18, 2023
@chasers chasers requested review from w3b6x9 and abc3 February 4, 2023 14:21
@chasers chasers marked this pull request as ready for review February 4, 2023 14:22
@chasers
Copy link
Contributor Author

chasers commented Feb 4, 2023

@abc3 @w3b6x9 this is gtg for now, and I need the select component from here in #473

@chasers chasers changed the title feat: admin tenants feat: admin tenants index Feb 6, 2023
@chasers chasers merged commit 285aa2e into main Feb 6, 2023
@chasers chasers deleted the feat/admin-tenants branch February 6, 2023 17:34
@chasers chasers mentioned this pull request Feb 6, 2023
chasers added a commit that referenced this pull request Feb 6, 2023
* fix: don't update syn meta if the node is mismatched (#433)

* update multiplayer demo MAX_ROOM_USERS to 50

* fix: drop LHR and GRU (#436)

* feat: footer improvements (#429)

* feat: display the count of connected tenants in metrics (#418)

* fix: don't try to stop the not alive pid in the resolver (#417)

* fix: increase read replica pool size

* feat: default realtime-dev JWT secret to API_JWT_SECRET env var value

* chore(deps): bump json5 from 1.0.1 to 1.0.2 in /demo

Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](json5/json5@v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: default Repo with_dynamic_repo name to nil and pool_size to 1 (#423)

* fix: looks for the PR number after # symbol (#425)

* Add defaults to current fields to reflect db schema

* Add max_bytes_per_second and max_channels_per_client fields

* Add max_joins_per_second to schema

* Add db limits to socket

* Use db limits in channel

* fix: tests

* fix: do not block a registration process (#426)

* fix: add http checks

* feat: stop connection to a tenant's db if there are no connected users for 10 minutes. (#428)

* feat: add short_node_id helper

* Use new helper in Realtime.PromEx

* feat: add version to footer and use short node id

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: abc3 <sts@abc3.dev>
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>

* fix: switch to aws roles

* chore: update staging branch to main and prod branch to release

* Add sjc replica (#441)

* fix: load sjc replica from DB_HOST_REPLICA_SJC env var (#443)

* Version is compiled now (#444)

* Bump version

* fix: replace replication poller process sleep with send_after (#447)

* feat: show latency on db events on inspector (#450)

* Show latency on db events on inspector

* Round to seconds for now

* fix: prepend inspector latency with tilde (#451)

* fix: update SLOT_NAME_SUFFIX to capture first 7 commit SHA chars

* docs: add WebSocket URL for local and prod in README

* fix: make rlimit configurable by env var (#460)

* fix: make rlimit configurable by env var

* chore: fix unbound variable

* feat: add in op for filter and enable filter on delete records (#461)

* feat: add in op when filtering for values

* feat: enable filtering on delete records

* High res commit timestamps

* High res latency on Postgres payloads

* toFixed(1)

* Footer precision to match multiplayer.dev

* Init footer latency to 0.0

* Use ISO8601 with millis

* fix: update walrus db change ms timestamp migration

* fix: grammar/spelling changes (#465)

* Grammar/spelling changes

* "realtime" not "real-time"

* Revert

* Support `in` filter when parsing subscription params

* Use PostgREST syntax

* Fix test

* feat: wrap 'in' filter value with curly brackets

* `bad` is not a real filter, why use it as an example?

* Sort region nodes by node name

* Adds a doc

* Consolidate launch_node fn and add logging

* feat: use regex for 'in' filter parentheses value

* Map "sea" to SJC database

* Change regions map `fra` to `lhr` and `sjc` to `sea`

* Use node short id and put region on status page

* Handle nohost for tests

* Include region in latency payloads

* Remove extra Logger statement

* Short node name only needed with an ipv6 address

* Usage Logger server init

* Telem usage logger

* Working

* Make counting more obvious in realtime channel

* Metric for Channel events

* Optionally execute telemetry from a `RateCounter`

* Cleanup

* Cleanup

* List tenants for a node only

* Start Realtime.Tenants module

* Change :all limiter key to :plug because that's what it is

* Fix test

* Changes limiter keys to be more obvious

* Fix tests

* Unused variables

* feat: admin tenants index (#442)

* feat: list and sort tenants
* Reactive filter and sorting is working
* Show important limits on tenants admin list

* fix: log badrpc reason

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: abc3 <sts@abc3.dev>
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
Co-authored-by: Inian <inian1234@gmail.com>
Co-authored-by: Han Qiao <qiao@supabase.io>
chasers added a commit that referenced this pull request Feb 6, 2023
* fix: don't update syn meta if the node is mismatched (#433)

* update multiplayer demo MAX_ROOM_USERS to 50

* fix: drop LHR and GRU (#436)

* feat: footer improvements (#429)

* feat: display the count of connected tenants in metrics (#418)

* fix: don't try to stop the not alive pid in the resolver (#417)

* fix: increase read replica pool size

* feat: default realtime-dev JWT secret to API_JWT_SECRET env var value

* chore(deps): bump json5 from 1.0.1 to 1.0.2 in /demo

Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](json5/json5@v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: default Repo with_dynamic_repo name to nil and pool_size to 1 (#423)

* fix: looks for the PR number after # symbol (#425)

* Add defaults to current fields to reflect db schema

* Add max_bytes_per_second and max_channels_per_client fields

* Add max_joins_per_second to schema

* Add db limits to socket

* Use db limits in channel

* fix: tests

* fix: do not block a registration process (#426)

* fix: add http checks

* feat: stop connection to a tenant's db if there are no connected users for 10 minutes. (#428)

* feat: add short_node_id helper

* Use new helper in Realtime.PromEx

* feat: add version to footer and use short node id

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: abc3 <sts@abc3.dev>
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>

* fix: switch to aws roles

* chore: update staging branch to main and prod branch to release

* Add sjc replica (#441)

* fix: load sjc replica from DB_HOST_REPLICA_SJC env var (#443)

* Version is compiled now (#444)

* Bump version

* fix: replace replication poller process sleep with send_after (#447)

* feat: show latency on db events on inspector (#450)

* Show latency on db events on inspector

* Round to seconds for now

* fix: prepend inspector latency with tilde (#451)

* fix: update SLOT_NAME_SUFFIX to capture first 7 commit SHA chars

* docs: add WebSocket URL for local and prod in README

* fix: make rlimit configurable by env var (#460)

* fix: make rlimit configurable by env var

* chore: fix unbound variable

* feat: add in op for filter and enable filter on delete records (#461)

* feat: add in op when filtering for values

* feat: enable filtering on delete records

* High res commit timestamps

* High res latency on Postgres payloads

* toFixed(1)

* Footer precision to match multiplayer.dev

* Init footer latency to 0.0

* Use ISO8601 with millis

* fix: update walrus db change ms timestamp migration

* fix: grammar/spelling changes (#465)

* Grammar/spelling changes

* "realtime" not "real-time"

* Revert

* Support `in` filter when parsing subscription params

* Use PostgREST syntax

* Fix test

* feat: wrap 'in' filter value with curly brackets

* `bad` is not a real filter, why use it as an example?

* Sort region nodes by node name

* Adds a doc

* Consolidate launch_node fn and add logging

* feat: use regex for 'in' filter parentheses value

* Map "sea" to SJC database

* Change regions map `fra` to `lhr` and `sjc` to `sea`

* Use node short id and put region on status page

* Handle nohost for tests

* Include region in latency payloads

* Remove extra Logger statement

* Short node name only needed with an ipv6 address

* Usage Logger server init

* Telem usage logger

* Working

* Make counting more obvious in realtime channel

* Metric for Channel events

* Optionally execute telemetry from a `RateCounter`

* Cleanup

* Cleanup

* List tenants for a node only

* Start Realtime.Tenants module

* Change :all limiter key to :plug because that's what it is

* Fix test

* Changes limiter keys to be more obvious

* Fix tests

* Unused variables

* feat: admin tenants index (#442)

* feat: list and sort tenants
* Reactive filter and sorting is working
* Show important limits on tenants admin list

* fix: log badrpc reason

* fix: remove Erlang binary notation

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: abc3 <sts@abc3.dev>
Co-authored-by: Wen Bo Xie <wenbo.xie3@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
Co-authored-by: Inian <inian1234@gmail.com>
Co-authored-by: Han Qiao <qiao@supabase.io>
@kiwicopple
Copy link
Member

🎉 This PR is included in version 2.6.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@kiwicopple
Copy link
Member

🎉 This PR is included in version 2.6.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants