diff options
author | Robert Adam <dev@robert-adam.de> | 2022-07-31 19:50:14 +0300 |
---|---|---|
committer | Robert Adam <dev@robert-adam.de> | 2022-07-31 21:49:14 +0300 |
commit | fa3b8c38bdb8edfefed245e9fe3cb825544b56c5 (patch) | |
tree | 731fe67b038a02db34c5b66f458fde7a0384a11b /src/ProcessResolver.h | |
parent | 251284c660e25a7a5d36c6e8c628aaf73232dcc1 (diff) |
FIX(server): Don't ignore explicit PermissionQuery
7439bc4fe6b423ff0d36d3b1d529e474c14e9b01 introduced the ability for
clients to query for their permissions in any given channel. Since that
commit also added an automatic permissions broadcast for channels that a
client enters (and also its parent channel), it also introduced a
system to keep track of whether a given permission set has already been
broadcast to a given client. Supposedly this was meant as to not flood
the client with PermissionQuery messages if it just keeps switching
between the same channels (and thus already knows about the respective
permissions after having joined a channel for the first time).
Oddly enough though, when a client explicitly requests to be informed
about a channel's permissions, the cache would also be consolidated and
if the server was under the impression that the client already knows
about these permissions, its explicit query would simply be ignored.
This is of course nonsense, since ultimately it is the client who knows
whether it wants to be informed about those permissions (again) or not.
Therefore, this commit ensures that explicit queries are always
answered. No need to consolidate the cache and decide on whether the
server feels like answering or not.
Fixes #5699
Diffstat (limited to 'src/ProcessResolver.h')
0 files changed, 0 insertions, 0 deletions