mirror of
https://github.com/mumble-voip/mumble.git
synced 2026-03-03 00:46:56 -05:00
inconsistency: why are we using uint32 instead of enum type in ContextActionModify #1813
Labels
No labels
GlobalShortcuts
Hacktoberfest
accessibility
acl
asio
audio
bonjour
bsd
bug
build
certificate
ci
client
code
documentation
external-bug
feature-request
gRPC
github
good first issue
help wanted
help-needed
ice
installer
linux
macOS
needs-ckeck-with-latest-version
needs-more-input
overlay
positional audio
priority/P0 - Blocker
priority/P1 - Critical
priority/P2 - Important
priority/P3 - Somewhat important
priority/P4 - Low
public-server-registration
qt
recording
release-management
server
stale-no-response
stale-support
support
task
test
theme
translation
triage
ui
windows
wontfix
x64
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/mumble-mumble-voip#1813
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @wfjsw on GitHub (Apr 29, 2020).
Originally assigned to: @Krzmbrzl on GitHub.
github.com/mumble-voip/mumble@8aadee917d/src/Mumble.proto (L404)Why are we using
uint32here instead ofContext?P.S. When I'm running
git blameI notice many breaking changes here across 1.1.x and 1.2.x and now I'm wondering whether it is safe or not to use this message.@Krzmbrzl commented on GitHub (Apr 29, 2020):
I'm not entirely sure, but my guess would be in order to allow for or'ing context flags together. It'd probably also work if we used
Contextas the type which would then probably be defined to whatever underlying integer type the enuk uses, but if the enuk contents change, that class might too which would then in turn break the compatibility with older protocol versions...@wfjsw commented on GitHub (Apr 29, 2020):
github.com/mumble-voip/mumble@f7d7b99b56 (diff-9f7f9c7762)And this part looks shocking. We are removing message from the available message list without documenting it somewhere to avoid collision?
@Krzmbrzl commented on GitHub (Apr 29, 2020):
I can't say much about commits that old.
Why are you even interested in these ancient commits?
@wfjsw commented on GitHub (Apr 29, 2020):
There are unmaintained clients operate at this protocol version (such as Plumble) which I have to take care of to prevent crashing in future.
I'm just having a feeling that, we were introducing major level incompatibility while only increasing minor or patch level version number.
@Krzmbrzl commented on GitHub (Apr 29, 2020):
Ok, then I see your problem here.
(In case that helps you: Someone has picked up the Plumble development under the name
Mumla: https://gitlab.com/quite/mumla)This appears to be the case, yes. I guess that shouldn't have happened, but what's done is done. Not much we can do about this now 🤷
@wfjsw commented on GitHub (Apr 29, 2020):
I do think we should document them somewhere to prevent reuse of that message enum in the future. Imaging we add a new message and it uses that enum, then old client will try to decode the new message with the old protobuf definition and it would certainly result in a crash.
P.S. Mumla crashed on my server lol.
@Krzmbrzl commented on GitHub (Apr 30, 2020):
Are you referring to the
ContextActionAddandContextActionRemovemessages? Or what enum are you referring to?Either way I agree that this should be documented :)
Woops. Guess you can file a bug for it then ^^
To be fair though the development hasn't started that long ago yet, so one can't expect miracles ^^
@wfjsw commented on GitHub (Apr 30, 2020):
I was thinking about
ContextActionRemoveuntil I find out these commits are made on the same day.ContextActionModifyhas taken the place ofContextActionAddbut using a compatible signature exceptOperationleft uninterpreted. Possibly a note about this behavior for pre-1.2.4 clients.@Krzmbrzl commented on GitHub (Apr 30, 2020):
Feel free to create a PR for this. It was you who dug this out, so you might as well take the credit (in form of the commit-authorship).
If you don't want to, I'll do it :)