From 8cdd763ec1dd461d9ff56451b7186029a0b1aa32 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sun, 12 Jan 2025 16:46:07 +0200 Subject: Fixed a bunch of security issues with people not inside a server being able to read it and also fixed some other bugs and implemented propagation for members joining/leavings servers --- internal/client/ui/core/core.go | 8 ++++++++ internal/client/ui/core/networklist/networklist.go | 16 ++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'internal/client') diff --git a/internal/client/ui/core/core.go b/internal/client/ui/core/core.go index 16ad7cd..bd6dab2 100644 --- a/internal/client/ui/core/core.go +++ b/internal/client/ui/core/core.go @@ -185,9 +185,17 @@ func (m *Model) updateConnected(msg tea.Msg) tea.Cmd { case *packet.NetworksInfo: state.UpdateNetworks(msg) + networkId := state.NetworkId(m.networkList.Index()) + if networkId == nil && m.networkList.Index() != networklist.PeersIndex { + m.networkList.SetIndex(m.networkList.Index() - 1) + m.frequencyList.SetNetworkIndex(m.networkList.Index()) + } case *packet.MembersInfo: state.UpdateMembers(msg) + log.Println("updated members") + log.Println(state.State.Members) + log.Println(state.State.Users) case *packet.FrequenciesInfo: state.UpdateFrequencies(msg) diff --git a/internal/client/ui/core/networklist/networklist.go b/internal/client/ui/core/networklist/networklist.go index ac1460c..00d5d12 100644 --- a/internal/client/ui/core/networklist/networklist.go +++ b/internal/client/ui/core/networklist/networklist.go @@ -129,12 +129,6 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { if state.State.UserID == nil || m.index == PeersIndex { return m, nil } - - // Set back to peers icon bcz that's always valid - // Where if u were on the network u just left - // it'd be an issue (or if u left all networks) - m.index = PeersIndex - no := false return m, gateway.Send(&packet.SetMember{ Member: &no, @@ -150,12 +144,6 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { if state.State.UserID == nil || m.index == PeersIndex { return m, nil } - - // Set back to peers icon bcz that's always valid - // Where if u were on the network u just left - // it'd be an issue (or if u left all networks) - m.index = PeersIndex - return m, gateway.Send(&packet.DeleteNetwork{ Network: *state.NetworkId(m.index), }) @@ -186,3 +174,7 @@ func (m Model) Swap(dir int) (Model, tea.Cmd) { func (m Model) Index() int { return m.index } + +func (m *Model) SetIndex(index int) { + m.index = index +} -- cgit v1.3.1