Giter Club home page Giter Club logo

Comments (26)

ltguillaume avatar ltguillaume commented on June 12, 2024

Yeah I was actually nearly done writing a response here when the smoke started 🙈

  1. The reasons behind using a different color for WinUpdater is to 1) distinguish it from the browser in the taskbar when both are running, 2) making clear it's the updater running when the user sees its tray icon, not a part of the browser, or (in LibreWolf's case) the portable launcher, 3) to distinguish it from the browser if it's put in the Start menu (LibreWolf installer does this).
  2. I took the icon you created as a base, and removed only the 256 color variants, because they're not used anywhere by Windows anymore AFAIK. As for compression, are you testing on Wine or so then?
  3. That's a good idea, will do.
  4. Yeah, I'd like that. As for the settings in the .ini, I'd say the fact that there's a setting now is merely because I can't ascertain which build is already installed, but the goal would be to not have that setting at all, because WinUpdater would detect it and update accordingly.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume
Ok, 1. seems good, we can keep the greyscale icon.

  1. I prefer to have 16x16, 32x32, 48x48, 64x64, 128x128, and 256x256 in each .ico, with only the 256x256 being compressed. Your .ico is missing some of these sizes. This is the default output of GIMP, which is what I use for creating icons for all the platforms including windows. The .ico files you created do not show up correctly on either native linux (in the file manager or photo viewer) or WINE. It is because you have all of the sizes compressed.
    The reason I included 256 color of the smaller sizes is because this is what microsoft's official .ico guidelines call for. In the case that a GPU driver is not installed, they can be used. However, seeing as that Chromium now only supports windows 10 and 11, and that those OSes will always have at least 16 bit color even with no GPU using the default vga.sys driver (as opposed to XP, Vista, 7 which sometimes would use 256 640x480), we can drop those.

  2. I made some modifications to my repo, I'm gonna send in a PR. I'm assuming you are using Ahk2exe.exe?

  3. I'm kind of on the fence about this. Because it might be good for non tech savvy users. But at the same time, I think it's good to have manual control over this, if you wanted to change releases. Cr-Launcher by @henrypp uses this approach.

[EDIT] Here's the PR > #2

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024
  1. https://github.com/Alex313031/thorium/blob/main/logos/NEW/win/thorium.ico is missing 128x128, too 😛 Ah ok, makes sense that they won't work under Linux then. Overall sound reasing.
  2. Yeah I use Ahk2Exe (the v1 branch, v2 requires different syntax) and Resource Hacker to remove the unnecessary icons from the binary.
  3. I'd say that would only make sense if WinUpdater would also download the browser the first time (without the user ever having downloaded a release at all). Currently, I think users who'd want to switch to another build would just download 't and overwrite the old one, while not relying on an updater to do the switch for them.

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

By the way, when my PC caught fire (apart from the harddrive and the molex-to-SATA adapter, everything has survived without even a scratch, remarkable!) I wanted to proposy this alternative icon, see what you thought of it.

Thorium-WinUpdaterPurple

SCREENSHOTPurple

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024
  1. @ltguillaume Most .icos in the repo have 128x128. All .icos for any of my other projects have 128x128. The reason why thorium.ico doesn't have it, is because it is simply a renamed copy of the main one that is actually used in the Chromium/Thorium binary, here > https://github.com/Alex313031/thorium/blob/main/src/chrome/app/theme/chromium/win/chromium.ico

I wanted to match upstream to prevent issues. They have 16, 32, 48, 64, 256, with 256 coming last, rather than first, and only the 256 compressed. All .pngs at 72 DPI. So thats how I made the thorium icon, to match it.

  1. Ahh ok, that would make sense why I couldn't build it with v2. It's kinda like Yarn 1 vs 2. Basically a totally different product.

  2. Yeah, I can include a thor_ver file. The only thing, is how will the updater know to cd into the folder, since the version number will change with every release.

Also honestly, I would like the greyscale one rather than pinkish one.

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024
  1. I guess that's mostly right. So are we matching upstream (no 128x128)?
  2. Yup
  3. That isn't a problem, but why not put it next to thorium.exe, which isn't in the versioned folder anyway?

Grey version it is.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume
2. I mean I could make a thorium.ico with 128x128 included, for use in this project. I only excluded it so that my icon matches the upstream Chromium one in every way, except for the actual content of the .pngs.
4. There are multiple problems with this. I cant move thorium.exe and chrome_proxy.exe into the version dir. This breaks some things, including proxy support and updating properly. However, another weird thing is that for some reason, the installer refuses to copy anything other than those two files, I might try to pinpoint it in the code and change this. I discovered this, because I recently started including an initial_preferences file in the Linux and Windows installer, so that on the first run of a fresh user profile, it opens up the welcome page > https://thorium.rocks/welcome/
It is coded here along with the above two files > https://github.com/Alex313031/thorium/blob/main/src/chrome/installer/mini_installer/chrome.release#L12

However, while it is included in the chrome.7z (and hence also the portable releases), it never actually gets copies. The mini_installer.exe is simply a wrapper, and actually contains inside it setup.exe and chrome.7z. setup.exe is what actually installs it, and I thought it simply unpacked the .7z file to either appdata or program files, but apparently it is checking the files therein. Strangely (and good), it doesn't do this for stuff within the version dir, which is how I include thorium_shell.exe, widevine, etc.
If I can figure out where in the code it is restricting what files can be copied outside the version dir, then it will be very easy, and I can just copy the initial_preferences file and the thor_ver file (killing two birds with one stone)

Also, about the icon, I like how you themed the text and progress bar to match the background of the mascot logo, I just found that the pink icon seemed too flashy and too different from the main icon.

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

@Alex313031
2. No, that's fine, I don't see the use for a 128x128 anyway, to be honest.
4. Hmz, maybe you should add something like

install_list->AddCopyTreeWorkItem(
    src_path.Append(kChromeProxyExe),
    target_path.Append(kChromeProxyNewExe), temp_path, WorkItem::ALWAYS);

to https://github.com/Alex313031/thorium/blob/main/src/chrome/installer/setup/install_worker.cc for both initial_preferences and thor_ver?

Also, about the icon, I like how you themed the text and progress bar to match the background of the mascot logo, I just found that the pink icon seemed too flashy and too different from the main icon.

Yeah I'm inclined to agree.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume Yeah.

Thats genius, I will try this out!

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume Are you gonna merge my PR?

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

Yes I will. It's just that I have changes locally that still need some cleaning up, too, and I won't do a new release until there's a Thorium release with thor_ver included anyway.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

Oh ok. Going to start rebasing for M116 tommorow so. And I will definitely try your idea. You probably saved me 10-20 mins of looking through code lol. Because I'm pretty sure thats where I can allow more files in the Application dir (as opposed to the version dir) And like I said you are helping me kill two birds with one stone, since it will allow me to ship the initial_preferences file.

Also, would you like me to invite you to the thorium repo. The only thing I ask of contributors is to either contact me or send a PR before making changes, i.e. don't directly push to the repo without me knowing. I am a control freak with my repos and like to make sure I know exactly what's going in and out of them.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume M116 is released.
Here is what I did to add the initial_preferences and thor_ver file.

Alex313031/thorium@a6792d8

the thor_ver file will be present in all releases, and will have a single line with one of

AVX, AVX2, SSE3, SSE2

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

I'm afraid I don't know how to reliably translate this into 1) the proper repo and 2) the proper build from that repo, because of overlap:

  1. AVX means from the Thorium-Win repo, so I'd rather see Win in the thor_ver file
  2. AVX2 means from the Thorium-Win-AVX2 repo, so I'd rather see Win-AVX2 in the thor_ver file
  3. Now it gets tricky: in the Thorium-Win7 repo, there are AVX, AVX2, SSE3 and a WIN32 builds. There's overlap between this repo's builds and the others (AVX, and AVX2). So I think it would make sense to have a thor_ver file here with on the first line Win7 (the repo) and on the second line either AVX, AVX2, SSE3 or WIN32 (so the unique part in the filename).
  4. Is there an SSE2 build? I don't see it anywhere

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

well I could make it go like
Win-AVX
Win-AVX2
Win-SSE3

and
Win7-AVX
Win7-AVX2
Win7-SSE3
Win7-SSE2

For the windows 7 builds, I also make special 32 bit SSE2 builds. This is in spite of Chromium requiring SSE3 since M89. I patched it to allow compiling. The sse2 builds are only in the win7 repo. They are designed for very old systems i.e. Pentium 4.

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024
  • But the repo for Win-AVX is just called Thorium-Win, not Thorium-Win-AVX
  • Ah ok, then I assume that the SSE2 build is then actually called WIN32 in the repo Thorium-Win7

The easiest setup would be:

Repo (after "Thorium-")
Build (only necessary for the Win7 flavors) 

So for example, for the WIN32 build in the Win7 repo, the thor_ver would contain:

Win7
WIN32

Or for the Win (AVX) build, the thor_ver file would just contain:

Win

And for the Win-AVX2 build, the file would contain:

Win-AVX2

If this isn't possible, then I have to make a translation table for it, which seems a bit as if we're overcomplicating things.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume Yeah, I can do this. Can you send examples of how you would like it. Because I don't really care how the files are, I wanna make it easiest for you.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume Another complication is that the SSE3 builds are hosted in Thorium-Special, which also has linux builds and used to host other OS builds.

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

@Alex313031

Can you send examples of how you would like it.

Err, that's exactly what I did in the previous post 😉

Another complication is that the SSE3 builds are hosted in Thorium-Special, which also has linux builds and used to host other OS builds.

Hmz, I see. Well, as long as the latest release would always include a ....zip and ...mini_installer.exe, it wouldn't be a problem, because then a thor_ver file containing the following would suffice:

Special
SSE3

I am curious, though, is all the code so different between these builds? Why aren't all (Windows) builds in a single repo, optionally with branches for each variant?

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume I am releasing M117, so I am going to copy this #1 (comment). Then we can test.

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

Cool!

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume Alex313031/thorium@2194599

I would like to start with just the non-win7 repos for now
Test and make sure everything works ok.

Today (October 10) Is actually the final day for the NT 6.x.x series. ESU ended today for Win7/8/8.1 and Server 2012/2012 R2. It is also today that Chromium released the final M109 version 109.0.5414.170, and Electron 22 released their final version 22.3.27.

I will be making a final build of Thorium 109 based on this version, and update my Electron apps to this version.

After that, I will be basing the win7 builds on Supermium M118, and that is when I will add the thor_ver files to that repo.

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

@Alex313031 See https://codeberg.org/ltguillaume/thorium-winupdater/releases/tag/1.8.0

I've tested by installing the previous version, but with the new thor_ver files (Win (AVX) and Win-AVX2):

  1. System level installed version
  2. Portable install

I tried to not (re)create icons or start the browser after updating (by using the respective command line parameters, as you suggested), but --do-not-create-any-shortcuts apparently doesn't work, so there's no way to not recreate Start menu and desktop icons... --do-not-create-taskbar-shortcut isn't around anymore either, but it doesn't seem the installer creates a taskbar icon anyway.

I have tested it via the scheduled task, too (and found a bit of bug in the mini installer I had to work around).

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

With https://codeberg.org/ltguillaume/thorium-winupdater/releases/tag/1.8.1 everything seems to work fine in all conditions.

from thorium-winupdater.

Alex313031 avatar Alex313031 commented on June 12, 2024

@ltguillaume Nice! Saw the changes you made. Does the updater now correctly get the repo it should download from based on the contents of the thor_ver file?

Also am publishing your releases here on Github > https://github.com/Alex313031/thorium-winupdater/releases/tag/1.8.1

from thorium-winupdater.

ltguillaume avatar ltguillaume commented on June 12, 2024

Does the updater now correctly get the repo it should download from based on the contents of the thor_ver file?

Well yeah, that was the whole idea 😋 (see changelog, commits and the previous posts here). It shows the repo (and build) during the update after the version number (and in the .ini file after updating).

Obviously I couldn't test this with the Win7 releases yet, but it's set up to work for that, too.

from thorium-winupdater.

Related Issues (6)

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.