-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bare apple client #1420
Bare apple client #1420
Conversation
I do see the request for me to review this. The challenge for me is that I'm really out of my depth here in mac land, but I will do my best to look at this soon-ish. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some low-hanging fruit I noticed on a semi-quick read...
Sources/Plasma/Apps/plClient/Mac-Cocoa/Assets.xcassets/AppIcon.appiconset/UruIcon.png
Outdated
Show resolved
Hide resolved
Following back up on this - The Obj-C is going to be difficult to get peer review on. But I'm hoping to get some feedback on C++ and CMake bits. My experience with CMake (or vcpkg) is not as deep as yours. So I think even if the Obj-C itself isn't being reviewed by everyone, there are parts of this where I'd like to get feedback from the perspective of the Windows and Linux maintainers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Considering the terrible implications of things like microsoft/vcpkg#32432, I am wondering if we need to split these ports and our python-cairosvg port out into another repository that acts as a vcpkg registry. That way, we aren't cluttering up our repo with a multitude of supporting vcpkg port tweaks.
d61e900
to
e255521
Compare
I think we're getting towards the end of the current feedback on this review. Things that still need to be dealt with (and apologies if I forgot feedback on this list, please follow up with things I forgot!):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it's not too much to ask - would you mind co-authoring me in the commit(s) for the icons? Put a lot of work into em and I'm really proud of the results, so I just wanna make sure I have proper attribution there. :) Thanks!
Sure! I'll make the change to the Git history. |
0ceca45
to
ee85339
Compare
Just following up - I made this change a few days ago. Go ahead and review! Wanted to make sure you were aware. |
I'm considering disabling breaking up long lines in Obj-C files. There was the earlier discussion about long argument sets in Obj-C. But what I'm seeing is that Clang-Format is breaking up some Obj-C lines that only have one or several arguments. I think it's a consequence of Obj-C function calls just being longer than C++ calls. |
I went ahead and turned off line length enforcement entirely in Obj-C files. That means it's up to the developer to use their best judgement in breaking up Obj-C lines or letting them wrap. Again - my concern was that a strict line limit was leading to some really poor choices in breaking up Obj-C function calls. It would be great if Clang format could be smarter and set a minimum argument count until it started breaking up function calls. But I haven't seen that option. |
Perfect, thanks. :) Appreciate it! |
Still a few things left here, but I thought I'd mention a few issues that I'm reserving for future pull requests:
|
I believe we're all resolved up. So this is either ready to move ahead or ready for more feedback. |
@Hoikas - In since we've been through a round of the Obj-C indentation discussion with @dgelessus - I'm going to go ahead and resolve those conversations. The short version I think we got down to: Obj-C style is really long function names, they can wrap super funny because the : needs to be aligned, we're not sure what the best solution is, but Obj-C won't be forced to indent. |
Co-authored-by: Adam Johnson <[email protected]>
Co-authored-by: Pat Mauro <[email protected]>
Co-authored-by: Pat Mauro <[email protected]>
Co-authored-by: Adam Johnson <[email protected]>
Also leaving notes for future explorers.
There be dragons here. We originally kept Github Actions from performing the zip because our archive had symlinks in it, which it turns into hard copes of files. Xcode's archive and code signing tooling expects those symlinks, so we weren't able to sign. As of right now - there are no symlinks in the archive. So things should be ok. If any frameworks are added this will break again. Hopefully by that point Github has resolved their issues.
7a83085
to
fd68041
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aside from this minor nitpick, I think we are at a point where it makes sense to merge this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just code style and typo nits, I think.
Sources/Plasma/Apps/plClient/Mac-Cocoa/PLSLoginWindowController.mm
Outdated
Show resolved
Hide resolved
Co-authored-by: Adam Johnson <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I'd like to hear from @dpogue before merging, however.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's merge it, and then I'll rebase the Linux client stuff on top.
Worth noting (again, for the record) that this macOS client currently has no renderer, so it will not build a client that "works" for any playable definition of "working".
I expect I'll have a rebased version of the Metal renderer on top of this shortly after merge. |
This is a bare Mac client - stripping out the Metal renderer to try to Mac review more piecemeal. It does not implement GL - if you login the game will work, just without display.
Few notes: