98 Commits

Author SHA1 Message Date
Bernd Storath
6621a23652
ui: Update page-title according to page. (#539) 2024-10-15 10:48:33 +01:00
Orne Brocaar
4d7a4b22e1 ui: Implement queue-item expires-at timestamp in UI. 2024-09-19 10:17:42 +01:00
Orne Brocaar
e04515f647 ui: Run make format to format ui code. 2024-08-28 14:44:22 +01:00
Orne Brocaar
d69a0eee75 ui: Fix tooltip date formatting.
With the migration from moment to date-fns (#460) some of the formatting
strings were not updated accordingly.

Fixes #503.
2024-08-28 14:44:07 +01:00
Bernd Storath
7158c0c610
ui: Update codec template with JSDoc (#473) 2024-08-05 11:17:13 +01:00
Orne Brocaar
98978135c4 ui: Fix formatting template after merging #460. 2024-07-30 11:18:52 +01:00
Bernd Storath
2a8e49bf8d
ui: Replace moment with date-fns. (#460) 2024-07-22 10:16:08 +01:00
Bernd Storath
4f0d2126d8
ui: Migrate from create-react-app to vite (#459) 2024-07-16 14:10:19 +01:00
Bernd Storath
ad2fecd1d2
ui: Make tileserver + attribution configurable. (#451)
Co-authored-by: Orne Brocaar <info@brocaar.com>
2024-07-10 15:05:33 +01:00
Orne Brocaar
63bc1b57de ui: Fix isGatewayAdmin build error. 2024-07-09 11:25:10 +01:00
Orne Brocaar
3f1a47e1e2 Integrate Gateway Mesh feature.
This adds a Gateway Mesh section to the web-interface (+ API endpoints)
to see the status op each Relay Gateway within the Gateway Mesh.

The Gateway Mesh (https://github.com/chirpstack/chirpstack-gateway-mesh)
is an experimental feature to extend LoRaWAN coverage throug Relay
Gateways.
2024-06-25 11:37:57 +01:00
Bernd Storath
a0abd4a4bb
ui: Fix empty string in revision column (#432) 2024-06-10 14:59:18 +01:00
Orne Brocaar
b7dad2a7d0 Add RP002-1.0.4 option to device-profile. 2024-05-08 15:05:14 +01:00
Orne Brocaar
c51653d1bc Fix loading options (onFocus > onDropdownVisibleChange).
onFocus is only triggered when when dropdown doesn't have focus where
onDropdownVisibleChange is always triggered when opening / closing the
dropdown.

Closes #334.
2024-05-03 12:42:33 +01:00
Orne Brocaar
487f785302 Add option to increase RX1 Delay in device-profile.
In general ChirpStack is configured with a rx1_delay configuration
matching the network latency (e.g. on cellular, one might want to set
this to rx1_delay=3). However, this does not take into account a
possible latency of the end-application. Handling the uplink and
enqueueing a downlink might take more time than the configured rx1_delay
(and get_downlink_data_delay) allows.

This option makes it possible to increase the RX1 Delay in the
device-profile. If the RX1 Delay has between increased relative to
the system default, then the get_downlink_data_delay will be
incremented with the same amount of seconds.
2024-05-02 10:29:10 +01:00
Orne Brocaar
a5ff416fa2 Implement storing + display duty-cycle stats.
Note that these stats are only available for Concentratord based
gateways as these metrics must be aggregated by the gateway.
2024-04-17 14:34:11 +01:00
Orne Brocaar
d170c7dd79 api: Remove generated API files from repo + update build.
All these files can be generated using the `make api` command and there
is no real need to commit these into the repo. Only the api/go files
need to be comitted of how the Go import system works.

This also updates the Rust, Go, JS and gRPC-web (JS) code generation and
UI build to use the nix-shell environment instead of using Docker.
2024-04-01 14:27:15 +01:00
SAGAR PATEL
a91f5ff1d3
ui: Fix drawer header z-index issue in UI. (#393)
The z-index of the header was set to 1000 and the drawer header is behind the UI header so single frame download and title not displaying

Setting the z-index to 1002 is enough to fix the Drawer header issue.
2024-04-01 12:20:10 +01:00
Orne Brocaar
c71b856c78 Align multicast class-b ping-slot config.
This aligns the multicast class-b ping-slot configuration with the way
how it is configured in the device-profile. This deprecates the
class_b_ping_slot_period field in favor of the class_b_ping_slot_nb_k
field, which should be a value between 0 - 7 (this is defined and
explained by the LoRaWAN specification).

Closes #255.
2024-03-26 16:45:24 +00:00
Orne Brocaar
f970e94cca Show version in UI (for admin users).
Closes #73 and #158.
2024-03-26 09:01:21 +00:00
Orne Brocaar
54b10cb693 ui: Run code formatter. 2024-03-19 14:14:18 +00:00
Orne Brocaar
8cde912fdf Show error when navigator.clipboard is not available.
There can be multiple reasons for this, e.g. it is not supported by the
browser or the browser does not provide this feature because there is no
secure context (HTTP).

Closes #231.
2024-03-19 14:12:03 +00:00
Orne Brocaar
cef454920e Document missing recvTime codec option.
Closes #385.
2024-03-19 10:38:08 +00:00
Orne Brocaar
34ca1c2d6b Hide change password on oAuth2 login. 2024-03-05 10:06:08 +00:00
Orne Brocaar
2e104dc6ef Fix OIDC and oAuth2 logout redirect.
This regression was introduced when implementing the oAuth2 auth
backend. As we are redirecting to an external URL, we should not use
`navigate`.
2024-01-12 09:03:05 +00:00
Orne Brocaar
e379e8738c ui: Fix black bg in jsontree after update. 2023-12-20 13:24:33 +00:00
Orne Brocaar
9f67b9c221 Implement direct redirect for OIDC and OAuth login. 2023-12-19 14:31:21 +00:00
Orne Brocaar
9198d7d51b Implement Clerk as authentication backend (OAuth2). 2023-12-19 13:49:16 +00:00
Orne Brocaar
f57aa32f23 ui: Update dependencies. 2023-12-11 16:14:13 +00:00
Orne Brocaar
1b0deedb64 ui: Update dependencies. 2023-11-23 15:54:00 +00:00
Orne Brocaar
3538145e3d Add allow roaming option to device-profile. 2023-11-23 08:53:47 +00:00
Orne Brocaar
f81b868a31 ui: Reload device on change event.
Fixes #319.
2023-11-13 14:17:45 +00:00
Orne Brocaar
464937169b ui: Make device metric name optional.
If enabled, metrics will be automatically detected and created based on
the decoded payload. The key will be set, but the name is left blank for
the user to configure. This can be confusing as it leads to validation
errors in the device-profile form if the name is not filled in.
The UI does show that one of the fields failed to validate, but even
with such notification, it is not clear that users have to check one
of the form tabs which they didn't edit on save.

This makes the name optional and uses the key as fallback such that
saving the form no longer fails in case the name is still blank.

Closes #313.
2023-11-10 16:50:17 +00:00
Orne Brocaar
b6d390b6ad ui: Fix setting initial tagsMap in TenantForm. 2023-11-07 09:46:02 +00:00
Orne Brocaar
a087c4c18b Add tags to tenants and applications.
Note that the integration events will contain the application +
device-profile + device tags. Integration events will NOT contain the
tenant tags. Most likely tenant tags will be used to store information
about the tenant, data that is unrelated to the integration events.

Fixes #211.
2023-10-19 17:11:50 +01:00
Orne Brocaar
41d00cb651 Implement end-to-end app payload encryption.
This implements end-to-end encryption between the end-device and
end-application. The encrypted AppSKey or SessionKeyID is forwarded to
the end-application which should be able to decrypt or request the
AppSKey to decrypt the uplink payload. As well the end-application will
be able to enqueue encrypted application payloads.

Using this mechanism, ChirpStack will never have access to the uplink
and downlink application-payloads.
2023-10-05 13:06:09 +01:00
Orne Brocaar
48aa453e95 ui: Fix Doughnut chart resizing.
Fixes #284.
2023-09-29 12:36:42 +01:00
Orne Brocaar
97d9072ffc Apply fix for #282 to all forms. 2023-09-29 10:46:53 +01:00
Orne Brocaar
91611b0505 Show form validation errors in notification.
This solves #282 because the issue was that auto created measurements
did not have a name and without the measurements tab open, the error
was not visible.

Before ChirpStack v4.5.0 forceRender was not used on the Tabs.TabPane,
in which case the validation would not run on unrendered tabs, which
explains why the form could be submitted even with the empty
measurement names.

Closes #282.
2023-09-29 10:24:50 +01:00
Orne Brocaar
dac4f15f40 Fix showing initial InfluxDB integration form.
Closes #254.
2023-07-31 10:51:23 +01:00
Orne Brocaar
651fcfce43 Fix gRPC stream handling after UI refactor.
This moves the onMessage handler out of useEffect and it fixes
appending the the array. The .unshift() method does not work
well using React.useState. It would prepend, but since it would not
change the array (it adds an item to the array), the update would
not propagate.
2023-07-27 16:39:29 +01:00
Orne Brocaar
6f1638e87a Refactor UI to function elements & update React + Ant.
This refactor the UI components from class based element into function
based elements. This makes it possible to use hooks that are used now
by most React components. This also updates React and Ant to the latest
versions (+ other dependencies).
2023-07-27 13:07:00 +01:00
Orne Brocaar
a28d29deb9 Do not disable activation fields.
It prevents showing and copying the keys etc.
2023-07-19 11:49:20 +01:00
Gristle King
2a88f45123
UI menu grammar & typo fixes. (#186)
Closes #185.
2023-05-30 12:22:16 +01:00
Orne Brocaar
cefe61072d Initial Relay support implementation (TS011).
Closes #59.
2023-05-22 11:04:13 +01:00
Orne Brocaar
513aa7804d Add event prefix + arbitrary JSON options for IFTTT. 2023-05-19 14:43:39 +01:00
Orne Brocaar
f71d30ca83 Re-implement frame and event download option. 2023-04-12 14:50:33 +01:00
Orne Brocaar
1430c30ab3 Make using gateway location optional (LoRa Cloud). 2023-03-28 13:11:49 +01:00
Orne Brocaar
cb49afeb01 Update LoRa Cloud form label. 2023-03-23 11:38:34 +00:00
Orne Brocaar
ef97eccf62 Update LoRa Cloud integration. 2023-03-08 17:01:11 +00:00