Discuss Scratch

MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

Catalyst v3.9.5 has been released and will be available in repositories within the next few days.

I'll be getting the update into winget later
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

If Catalyst had been following SemVer since day 1, the latest release would be v1.12.5.
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

The Christmas Update will include many useful features and bug fixes, which will make a nice, stable base for v3.10 development
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

I've done a lot of refactoring and replaced hacks with correct implementations. I switched the preferences that haven't been using the functions specifically made for preferences from their own duplicate code to said functions. This alone got rid of ~40 lines.
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

The current implementation for bookmark URLs is using a Google API. This is a privacy issue. The URL gets sent to google both when adding a bookmark AND when opening Catalyst. However, there doesn't seem to be a simple way to implement this. You can't just grab /favicon.ico, as this doesn't work on all pages. Ironically, it doesn't even work on the official Catalyst website.

Relevant code: https://github.com/CatalystDevOrg/Catalyst/blob/develop/src/bookmarks.js#L19

Last edited by MagicCrayon9342 (Dec. 22, 2024 22:36:50)

BigNate469
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

MagicCrayon9342 wrote:

The current implementation for bookmark URLs is using a Google API. This is a privacy issue. The URL gets sent to google both when adding a bookmark AND when opening Catalyst. However, there doesn't seem to be a simple way to implement this. You can't just grab /favicon.ico, as this doesn't work on all pages. Ironically, it doesn't even work on the official Catalyst website.

Relevant code: https://github.com/CatalystDevOrg/Catalyst/blob/develop/src/bookmarks.js#L19
You could try to get favicon.ico, and if that fails, replace it with a generic “bookmark” icon, or something like that.
Maximouse
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

MagicCrayon9342 wrote:

The current implementation for bookmark URLs is using a Google API. This is a privacy issue. The URL gets sent to google both when adding a bookmark AND when opening Catalyst. However, there doesn't seem to be a simple way to implement this. You can't just grab /favicon.ico, as this doesn't work on all pages. Ironically, it doesn't even work on the official Catalyst website.

Relevant code: https://github.com/CatalystDevOrg/Catalyst/blob/develop/src/bookmarks.js#L19
I think the best way is to remember what the tab's icon URL was when the bookmark was added and store it somewhere. When the user visits the bookmarked page again, you can update the icon if it has changed.
Maximouse
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

DuckDuckGo also has an API similar to Google's one: https://icons.duckduckgo.com/ip3/scratch.mit.edu.ico
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

Maximouse wrote:

MagicCrayon9342 wrote:

The current implementation for bookmark URLs is using a Google API. This is a privacy issue. The URL gets sent to google both when adding a bookmark AND when opening Catalyst. However, there doesn't seem to be a simple way to implement this. You can't just grab /favicon.ico, as this doesn't work on all pages. Ironically, it doesn't even work on the official Catalyst website.

Relevant code: https://github.com/CatalystDevOrg/Catalyst/blob/develop/src/bookmarks.js#L19
I think the best way is to remember what the tab's icon URL was when the bookmark was added and store it somewhere. When the user visits the bookmarked page again, you can update the icon if it has changed.

I've implemented this method and it seems to work flawlessly. I'm unsure how I didn't already think of this.
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

snow.


config can be tweaked, so if you think a property should be changed, go ahead and ask

Last edited by MagicCrayon9342 (Dec. 23, 2024 18:48:03)

MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

tldr permissions work like every other browser now

also I fixed the bookmarks bar XSS vulnerability

long version:

I have implemented an improved permission system. Each individual webview now has it's own session. It's “partition” is set to it's ID. When you visit a web page that requests permissions, you will be asked whether you want the permissions to be granted. This is then saved so it won't ask again.

Last edited by MagicCrayon9342 (Dec. 24, 2024 01:51:43)

DifferentDance8
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

Maximouse wrote:

DuckDuckGo also has an API similar to Google's one: https://icons.duckduckgo.com/ip3/scratch.mit.edu.ico
Well now this is just pushing your trust of your privacy from Google to DDG
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

The 2024 Christmas Update will be releasing tomorrow! To ensure nothing goes wrong, and it's perfectly stable (I do NOT want to repeat the v3.9.4 incident). Betas are available for testing, the latest being: https://github.com/CatalystDevOrg/Catalyst/releases/tag/v3.9.6-beta.8
MagicCrayon9342
Scratcher
1000+ posts

[Christmas Update Released!] [v3.10.0-beta.1/v3.9.6/v3.6.5 LTS] The Catalyst Project

Christmas Update released, Merry Christmas!

https://github.com/CatalystDevOrg/Catalyst/releases/tag/v3.9.6

Powered by DjangoBB