Giter Club home page Giter Club logo

Comments (30)

npyl avatar npyl commented on May 24, 2024 2

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.

w0lfschild avatar w0lfschild commented on May 24, 2024 1

@bermudalocket

Removing the GoogleService-Info.plist should be fine.

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024 1

@npyl

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.

w0lfschild avatar w0lfschild commented on May 24, 2024 1

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.

kingtosh avatar kingtosh commented on May 24, 2024

Please tell me icons specifications you need, maybe i could assist for icons.

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

@kingtosh

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.

appstore ibooks

  • 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.

w0lfschild avatar w0lfschild commented on May 24, 2024

New icons have been acquired.

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

@npyl

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.

npyl avatar npyl commented on May 24, 2024

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.

w0lfschild avatar w0lfschild commented on May 24, 2024

@npyl

  • 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

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.

npyl avatar npyl commented on May 24, 2024

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.

npyl avatar npyl commented on May 24, 2024

Hey,
I've been digging around, learning Firebase and checking-out the code and I have realised I have some questions:

  1. 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

  1. 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.

w0lfschild avatar w0lfschild commented on May 24, 2024

@npyl

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.

bermudalocket avatar bermudalocket commented on May 24, 2024

@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.

w0lfschild avatar w0lfschild commented on May 24, 2024

@npyl

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.

npyl avatar npyl commented on May 24, 2024

@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)

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.

npyl avatar npyl commented on May 24, 2024

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.

w0lfschild avatar w0lfschild commented on May 24, 2024

@npyl

Do you have discord or some other way of instant messaging instead of conversing through this issue?

from macforge.

npyl avatar npyl commented on May 24, 2024

@w0lfschild
Sure, my tag is npyl#8111

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

@npyl

Sent you a friend request.

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

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.

w0lfschild avatar w0lfschild commented on May 24, 2024

Ah yeah you'll need to open terminal and go

cd ~/Documents/MacForge/MacForge
pod update

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

@luixiuno

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.

w0lfschild avatar w0lfschild commented on May 24, 2024

Maybe try this: https://stackoverflow.com/a/55086382

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

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.

w0lfschild avatar w0lfschild commented on May 24, 2024

MacForge.zip

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

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™️ with a built in warning and automation of these steps.

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

What preference bundles?

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

What? I don't even know what you're saying.

from macforge.

w0lfschild avatar w0lfschild commented on May 24, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.