Alex313031 / atom-ng

:atom: The hyper-hackable text editor - Compiler Optimized, Community Maintained Fork
https://thorium.rocks/atom-ng/
MIT License
46 stars 4 forks source link

Github authentication doesn't work #2

Open dnchshrp opened 6 months ago

dnchshrp commented 6 months ago

When I try to login to GitHub in the GitHub panel, after entering the API token and clicking the login button nothing happens instead of logining correctly. When I close the authentication menu, I get the following error: image (The OS i'm running is Windows 8.1)

Alex313031 commented 6 months ago

@dnchshrp Yup, this is because unlike most packages, I haven't done much to the GitHub package other than update dependencies. I'm gonna use patches from Pulsars GitHub package fork and try to restore proper Git integration.

When Microsoft bought GitHub, I knew they were gonna be evil-coporationy and deprecate Atom. Atom is special, as it is GitHub's own in-house IDE, and it is what made Electron. Electron was originally called Atom-Shell, and was made specifically for it. Now, they removed all atom sites and the endpoint for installing extensions. Any atom url now redirects to this sunsetting page > https://github.blog/2022-06-08-sunsetting-atom/ which is blatant enough to suggest VSCode as a replacement.

Anyway, of course I had to fork it, update it, fix some things, and add my own spin on the branding, etc. I also updated Electron to 12, and want to eventually get it running on 13, but it seems even Pulsar has had issues with this, due to the many "electron 13 test" branches that have all failed, and subsequently went stale. Anyway, I also have this website dedicated to it with a nice lil video > https://thorium.rocks/atom-ng/ as well as a copy of the flight manual that I re-uploaded and updated for latest atom-ng > https://flight-manual-atom-io.github.io/

What brings you here? Are you just an Atom user looking for a reprieve, or are you a Thorium user and just stumbled across this side project of mine?

Also, what do you use the GitHub integration package for (like personally, I know what it is for lol)?

dnchshrp commented 6 months ago

Thanks for replying! What bringed me here: I'm originally a Thorium user and never used Atom before. I searched for a long time for a lightweight but modern code editor that would run without lag on an old thinkpad with Windows 8.1 installed. I already had a very good experience with your other projects(Mercury, Thorium, etcher-ng). Recently I've seen this repo on your account and I tried it.

About the GitHub integration: I already know Atom belongs to GitHub and heard it had a good seamless integration with it(like watching and replying to issues and pull requests directly inside the program)

Alex313031 commented 6 months ago

@dnchshrp Yeah, Etcher of all things should have stayed on Electron 22, because it's for making installers for OSes. Quite a bit of people might be using an old OS, and want to use Etcher to write a new OS to USB. So my fork uses Electron 22 for old OS compatibility (Win 7/8.8.1), and removes the annoying telemetry, advertisements, and restores the ability to skip drive verification after writing (why did they ever remove it?).

It seems that since 2022, the authentication methods of Github have changed. The package that actually does the GitHub integration in atom is simply called github, and Atom-ng uses a fork of it I made called Github-ng > https://github.com/Alex313031/github-ng The particular problem is this: github-ng depends on https://www.npmjs.com/package/dugite?activeTab=readme which is what actually runs git under the hood and provides bindings to the electron renderer process for logging in, etc. The problem is that my github-ng package is stuck on 1.110.0 which was published 2 years ago and no longer works. Trying to update it to 2.x.x yields errors. I also tried using Pulsar's (another Atom fork) github package > https://github.com/pulsar-edit/github which does use the latest 2.x branch of dugite and seems to work fine in pulsar. However, this yielded more errors, as their fork is extensively modified, and uses Node 16 instead of 14.

I will try to resolve all of this, but no promises. In the event I can't fix it, Atom-ng should still work OK for pretty much any other task. If you need github integration right now, or in the event I am not able to fix it, perhaps you should use Pulsar (or use Atom-ng and Pulsar together).

dnchshrp commented 6 months ago

Thank you very much for the clarification!

Alex313031 commented 6 months ago

@dnchshrp Can you do some testing for me? First, what Atom-ng version are you using, and what platform are you on (OS, architecture).

What I want you to do is, uninstall Atom-ng, then remove (or backup if you want to keep your settings) the configuration folders for Atom-ng.

On Linux this is ~/.atom and ~/.config/Atom-ng On Windows this is C:\Users\$USERNAME\.atom and C:\Users\$USERNAME\AppData\Roaming\Atom-ng

(only the .atom folder needs to be backed up if you wish, the .config/Atom-ng or Roaming\Atom-ng atom dirs should be deleted no matter what as they only store Electron's Chromium stuff).

Then I want you to download and install the last Atom release (beta) here > https://github.com/atom/atom/releases/tag/v1.61.0-beta0 , install it, and then try the same thing you were trying to do in Atom-ng.

I want you to do this, because upon reading the dugite docs, the last version of 1.110.0 is supposed to have the fix for github authentication for applications that use the older version to not break. If upstream Atom works correctly, then this means that there is some issue on my end that isn't due to the dugite version, but rather github-ng or Atom-ng itself.

dnchshrp commented 6 months ago

Okay! Will try doing this when i will have some free time

dnchshrp commented 6 months ago

I did what you said, and it seems like the the latest official Atom beta release has the same issue. Logining with token is bugged in the same way.

OS: Windows 8.1 x64