{peerId && peer && !isLoading ? (
) : (
diff --git a/src/modules/access-control/table/AccessControlActiveCell.tsx b/src/modules/access-control/table/AccessControlActiveCell.tsx
index 18c8cb2..3a5e832 100644
--- a/src/modules/access-control/table/AccessControlActiveCell.tsx
+++ b/src/modules/access-control/table/AccessControlActiveCell.tsx
@@ -37,6 +37,9 @@ export default function AccessControlActiveCell({ policy }: Readonly
) {
if (rule.destinationResource) {
rule.destinations = null;
}
+ if (rule.sourceResource) {
+ rule.sources = null;
+ }
});
updatePolicy(
diff --git a/src/modules/access-control/table/AccessControlDirectionCell.tsx b/src/modules/access-control/table/AccessControlDirectionCell.tsx
index 9075950..42ce9fa 100644
--- a/src/modules/access-control/table/AccessControlDirectionCell.tsx
+++ b/src/modules/access-control/table/AccessControlDirectionCell.tsx
@@ -16,7 +16,9 @@ export default function AccessControlDirectionCell({
}, [policy]);
const bidirectional = firstRule ? firstRule.bidirectional : false;
- const isSingleResource = !!firstRule?.destinationResource;
+ const isSingleResource =
+ !!firstRule?.destinationResource &&
+ firstRule?.destinationResource?.type !== "peer";
return (
diff --git a/src/modules/groups/useGroupHelper.tsx b/src/modules/groups/useGroupHelper.tsx
index 0bf7c5d..2b69fc5 100644
--- a/src/modules/groups/useGroupHelper.tsx
+++ b/src/modules/groups/useGroupHelper.tsx
@@ -72,6 +72,8 @@ export default function useGroupHelper({ initial = [], peer }: Props) {
};
const removePeerFromGroup = async (g: Group) => {
+ if (g.name === "All") return Promise.resolve(g);
+
const newPeerGroups = g.peers?.filter((p) => {
const groupPeer = p as GroupPeer;
return groupPeer.id !== peer?.id;
diff --git a/src/modules/remote-access/useNetBirdClient.ts b/src/modules/remote-access/useNetBirdClient.ts
index 08cea74..cfc2118 100644
--- a/src/modules/remote-access/useNetBirdClient.ts
+++ b/src/modules/remote-access/useNetBirdClient.ts
@@ -181,6 +181,7 @@ export const useNetBirdClient = () => {
});
await netBirdClient.current.start();
+ (window as any).netbird = netBirdClient.current;
netBirdStore.setState({ status: NetBirdStatus.CONNECTED });
return true;
} catch (error) {
@@ -203,6 +204,7 @@ export const useNetBirdClient = () => {
netBirdStore.setState({ status: NetBirdStatus.DISCONNECTED });
await netBirdClient.current.stop();
netBirdClient.current = null;
+ delete (window as any).netbird;
return Promise.resolve();
}, []);
diff --git a/src/modules/setup-netbird-modal/MacOSTab.tsx b/src/modules/setup-netbird-modal/MacOSTab.tsx
index f8c3047..27bc9f1 100644
--- a/src/modules/setup-netbird-modal/MacOSTab.tsx
+++ b/src/modules/setup-netbird-modal/MacOSTab.tsx
@@ -79,23 +79,13 @@ export default function MacOSTab({
-
-
-