Comments (30)
Hi! I am interested in helping out with cleanup and probably backend using Firebase.
I currently have some notes on improving the app. These are:
- Fixing the
remove
bundle functionality (actually already have done it on my branch: 1c082a9) - Fixing the
Installing, Removing and then Reinstalling
a bundle mechanism which for some weird reason seems broken (GET
button is inactive after this particular cycle.). 35c3d72
Update: After some small digging I think that the issue lies within pluginDelete
: you immediately classify the bundle as paid and assign the action InstallOrPurchase
which when called fails because there is no paddle information inside a free-plugin.
- That said, I think a very nice way of approaching the synchronization logic on installing a bundle is using completion handlers (support is incomplete inside
pluginUpdateOrInstall
). This way, we take into consideration the possible events of:
a) Wanting to just install a bundle without the whole UI freezing
b) Wanting to install multiple bundles without waiting for each of them to finish.
Example: 98656ac
- On bundle view, the
GET
button needs to have a progress bar because the user has no way of knowing if the plugin is installing or something failed. - Probably improve error reporting when Installing, Updating, Uninstalling a plugin
These are some of my ideas and the implementation for them.
I think the app runs nicer now.
With some minor refactoring, improving code and some cleanup the app will be a bliss.
from macforge.
Removing the GoogleService-Info.plist should be fine.
from macforge.
I don't mind having user name a photo assigned at creation but they're also unnecessary and can just be the user profile name and icon by default.
Answer 1.1
I'm not sure about syncing functionality but certainly I think it would be nice to keep track of purchases and be able to download them from the account view.
Answer 2
Right now I don't think there is any reason to put in work relating to multiple users on one computer because the number of instances of that are probably close to or equal to 0.
from macforge.
I truly appreciate your enthusiasm, I'm just not sure I can help you build it. It's hard to tell what's going on another persons computer.
Would you just like me to build a copy for you or are you more interested in building it yourself?
from macforge.
Please tell me icons specifications you need, maybe i could assist for icons.
from macforge.
For sizing:
For the menubar:
- Preferably very similar or the same design as the main app icon
- Must look visible in Grayscale (black & white)
For the main app icon:
- Vector image if possible
- Preferably the logo would be inside a circular border with a gradient background similar to the app store icon or many other stock apps.
- Preferably the logo would be simple with a minimal amount of complexity.
- Preferably the image would be based around either
Forging something or MacOS default KEXT icon
from macforge.
New icons have been acquired.
from macforge.
That's awesome, thanks! Agree that the app needs some refactoring as well.
I've applied all the changes in your branch as well as a few I had already made and I'll be pushing out an update soon.
from macforge.
Hey @w0lfschild
Thanks for merging my patches.
I just rebased and encountered a problem: MacForge starts up, prints a lot "hol up" messages and doesn't respond to Remove and Donate.
Update: okay nothing serious, I think you accidently unlinked the referencing outlets or upon merging of patches my patch didn't get merged correct. I just linked them back and they work. :)
The "hol up" message persists though.
One thing to note, the Bundle View
needs a progress bar for the GET
button.
Also, I am quite interested in Firebase integration.
Did you encounter problems with it? (I noticed portions of commented-out code.)
I am also interested in that reward amount. How much would that be for the Firebase Integration?
from macforge.
- Pretty sure I unlinked both the remove and donate button in the latest build.
😅 - "hol up" was just me doing some testing as a few users were getting an error
Assertion failed: (c != nil), function +[MFInjectorProxy injectPID:::], file /Users/w0lf/GitHub/wb_MacForge/MacForge/MacForgeHelper/MFInjectorProxy.m, line 19
-
Just change this line to
if (c == nil) {
https://github.com/w0lfschild/MacForge/blob/6a978fac7f79c7c138c489aaf2c315b883e32a82/MacForge/MacForgeHelper/MFInjectorProxy.m#L19 -
I had no problems setting up Firebase and getting user accounts set up. It's more of implementing backend features like
- Star rating system + reviews
- Linking purchases to accounts
- Tracking downloads
I just don't really know much about databases and or web specific languages to be able to do that stuff myself.
Currently the code is commented out because adding Firebase to the project just increases compile time and adds like 30MB to the app size so until I have something more meaningful than logining in and out and setting a profile image I just removed the code and frameworks.
As for pay, not really sure, probably a few hundred dollars ideally if someone could kind of teach me a bit about what they end up implementing. I also just don't know the difficulty level of what I'm asking is. I'd honestly imagine it's not too hard if you know what you're doing.
from macforge.
Hey
Okay, at some point I realised it must have been a stale debugging thing so I changed !=
to ==
.
As for Firebase, I am still interested. I myself am not very well versed with web stuff though I am willing to take a stub on it.
I will have a look at it these days, actually.
Oh, btw, happy holidays.
from macforge.
Hey,
I've been digging around, learning Firebase and checking-out the code and I have realised I have some questions:
- How do you want the user-related views to work?
I think that the user shown on the sidebar on the left needs to be the one currently signed-in.
If nobody is signed in, then the name should be that of the current OS-user.
On this mindset, there need to be 2 kinds of views:
- Account sign-in (with ability to register a new user)
- Account sign-up (the view that implements the ability mentioned on previous bullet)
Is this how we want to do things?
later tomorrow I will implement the UI stuff and I will provide a link for you to check out my concept and tell me your ideas DONE
- I am a bit confused on how selection of views is implemented. Which methods are used in for changing the selected view, in particular?
(I think I will understand sooner or later, anyway)
Okay, got it. It happens through-selectView:
.
My work so far can be inspected in this dev branch. I have realised that, as of right now, I've, pretty much, reached at the same state as your code when you decided to stop (regarding user authentication). Learning Firebase has been quite interesting and delightful up until now; and the process of integrating it has been seamless so far...
I have tried to keep the code clean, neat and distinct. I try not to change stuff on the body of the program. This should help you cherry-pick my patches easier, I think. Hope you like it so far.
from macforge.
Yeah as you probably noticed I had already made some basic sign in views.
If you actually go back a few versions of MacForge before I disabled the account tab you could already create / sign in and out / update an account but since it served no purpose not a single person did.
As I said earlier
Currently the code is commented out because adding Firebase to the project just increases compile time and adds like 30MB to the app size so until I have something more meaningful than logining in and out and setting a profile image I just removed the code and frameworks.
As for what you've done. It seems fine so far.
- Trying to add a picture crashed the app if I cancelled and then I wasn't able to get back to that screen again.
- The views don't seem to be lining up right
from macforge.
@w0lfschild Hope you don't mind if I piggyback off your conversation here. I am interested in helping with cleanup as a means to getting more familiar with obcj and swift. I'm not sure I could contribute anything terribly useful but there are a few GUI tweaks I have in mind. Mostly minor annoyances that I've come across, such as not being able to see the full description on the update tab.
I'm running into an issue trying to build the project after a clean clone:
error: Build input file cannot be found: '/Users/bermudalocket/git/MacForge/MacForge/MacForge/GoogleService-Info.plist' (in target 'MacForge' from project 'MacForge')
Unfortunately I'm not familiar with Firebase. A quick search led me to a Firebase documentation page mentioning that you have to sign in to your Firebase account to download said plist file... which can't be right? So now I'm here!
ETA: I can get the build to succeed if I remove the plist from the corresponding build phase, but that also doesn't seem like the correct answer.
from macforge.
Just pushed out a commit that implements some of your stuff from your dev branch in the way I envision the account view working.
from macforge.
@w0lfschild
Hey
I checked it out.
I liked the design but I think there needs to be some kind of changes related to user creation.
I find it more convenient to be able to directly set the username
and user photo
through the Αccount Sign In
view.
I don't find it practical to have to go to User Info
and then Update
.
That's only an idea though. :)
One more thing. I've started meddling around with Firebase Database and its seems like it should be fairly easy adding a Ratings and Reviews. I've even started coming up with some basic structure for the database.
Keeping track of purchases, I guess, shouldn't be any more difficult but, I am not quite sure about the way we want to treat them.
These are my concerns; Imagine this case-scenario:
I am a normal macOS user and I open MacForge for the first time.
From there, I first decide to go get some free bundles and at the end I get some paid ones.
- Question 1: What happens when I create an account and login?
- 1.1
Should there be syncing functionality (your OS-user's purchases-list gets updated on the database and so-forth). - 1.2
In that case, should there also be syncing of the plugins? (I mean, if we want to protect the developers the plugins-directory should be updated depending on the logged-in user)
- 1.1
Doing 1.2 may mean big download times, but this could be circumvented with ways I can think of (for example, "branding" which paid bundles can be used by which users).
- Question 2: If the answer to Question 1 is yes, then wouldn't this scheme defeat the purpose of multiple MacForge users being accessible from same macOS-user? Should we somehow pair a macOS-user to a single MacForge-user?
This may be updated later; Please take these thoughts into consideration but most likely expect some changes
from macforge.
Okay @w0lfschild ,
When it's done, I will send you a video showing the result.
Finally, If you decide that you like my work I will publish half of the end-project on Github (Ratings & Reviews support) and will expect a 50% payment of the reward.
I will publish the rest (and final) 50% (Purchases support) after the 1st payment.
I guess we could start talking about the reward when you see the video (?).
I will also provide support (without reward) for any problem that comes up with my code upon soon notice and I agree to help you understand / learn any part of the newly-added code.
[As for this, I honestly think that the trickiest part is the Database security code]
I am not sure if you like my terms; please tell me if anything better comes to mind or you have any objections, I'm generally open to proposals.
Thanks for the cooperation,
Nick
from macforge.
Do you have discord or some other way of instant messaging instead of conversing through this issue?
from macforge.
@w0lfschild
Sure, my tag is npyl#8111
from macforge.
Sent you a friend request.
from macforge.
Well thanks for the offers.
At the current time I'm not sure about translations until I get the majority of the 1.0 design squared away.
In terms of web-design though, yeah I could use help with that. Basically I'd like to have a page of all the plugins generated from https://github.com/MacEnhance/MacForgeRepo/blob/master/repo/packages.plist
I don't know much about web languages but I'm guessing the best solution would probably be Javascript to process the packages.plist and generate the page from that.
from macforge.
Ah yeah you'll need to open terminal and go
cd ~/Documents/MacForge/MacForge
pod update
from macforge.
If you want me to share the beta of MacForge the ETA might be 30/31 jul
No
Where does Xcode save the build?
Depends, you can set it up to build to anywhere. By default it saves to:
~/Library/Developer/Xcode/DerivedData/<ProjectName>-<RandomString>/Build/Products/Debug/<BuildName>
Great, more errors
Not sure what to say, looks like an issue with pods, you have to close and re-open the project after fetching pods. You might also get those issues from using the .xcodeproj
, you should be opening the .workspace
instead.
Why is there no beta downloads?
Because I'm not ready to release any...?
from macforge.
Maybe try this: https://stackoverflow.com/a/55086382
from macforge.
You're losing me here @luixiuno
Yes, I’m tryna make my own version of brew.sh plugin searcher, i changed my mind, imma ma ke a webpage like nito TV website, please give me a link like, Macforge://redirect-to-tweak name
here or tweak ID <-- EDIT please build this
I'm not sure what you mean?
You can already link to bundles in MacForge https://github.com/MacEnhance/MacForge/wiki/Bundles-:-Linking
What's nito.tv or brew.sh got to do with any of this?
Ok I need a copy, if you could make a copy for me then put it in a link then after some secs delete the comment
Are you asking for a copy of MacForge built for Big Sur?
Does The Webpage Have To Look Modern?
What does that even mean? If you're asking if I just want a webpage of plain .html
with no styling then the answer is no. I'm not sure if you're aware but I already have my own website https://www.macenhance.com/
So, I need a copy for my Big Sur, not hackintosh
I don't know what this is referring to
Anybody here?
Please stop spamming, it wont make me respond any faster.
from macforge.
from macforge.
Don't turn off AMFI.
Instead you should disable Library Validation.
Copy pasted from Discord:
Important message!
If you are currently using MacForge and have turned off Apple Mobile File Integrity (AMFI) using the command nvram boot-args="amfi_get_out_of_my_way=1"
You will not be able to add applications to System Preferences > Security & Privacy > Privacy
. This can completely prevent some applications form functioning or break critical functionality.
In order to fix this issue, follow the steps below:
open terminal and run the commands
sudo nvram boot-args=""
sudo defaults write /Library/Preferences/com.apple.security.libraryvalidation.plist DisableLibraryValidation -bool true
reboot
An updated version of MacForge should hopefully be coming out soon
from macforge.
What preference bundles?
from macforge.
What? I don't even know what you're saying.
from macforge.
@luixiuno No problem, nobody (including yourself) is obligated to help.
I'm well aware I likely won't ever get any meaningful support on the project and that's fine with me. This issue is 2 years old at this point after all.
from macforge.
Related Issues (20)
- dockmate: be able to pin a preview and sort by pins then something else HOT 1
- dockmate: window minimizes when middleclicking a link HOT 3
- Disable SIP only fs and debug section on BigSur. HOT 4
- DockMate: Add option to preferences to enable DarkMode for DockMate HOT 2
- Conflicting information about minimum supported system version (10.13 vs 10.14)
- Support M1 macs HOT 2
- crash on Catalina 10.15.7 (19H1030) HOT 2
- Password recovery
- Missing information in Wiki > Bundles: Creating page HOT 1
- com.w0lf.MacForge.Injector HOT 1
- Add to Homebwer HOT 1
- does not work on MacBook Pro M1 max under macOS 12.2 HOT 8
- Cam
- MacForge crashes on MacOS Big Sur M1 HOT 2
- Support hooking app frameworks HOT 1
- [DockMate] Please fix broken Spotify preview or let us disable DockMate for specific apps HOT 1
- MacForge injection causes Safari webkit error HOT 6
- macOS Ventura issues HOT 1
- Ventura: "Goodbye" plugin causes System Settings to crash every time you want to open it
- safari doesn't work if the injection is not disabled
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from macforge.