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 follows a biweekly release cycle. There is a new release with new features and changes every 2 weeks, compared to Chrome/Chromium, which has a new release every 6 weeks. This cycle may be too quick for some users, which is why there will now be LTS (long term support) releases. These releases will continue to receive bug fixes and security/dependency updates. A fixed schedule for LTS releases has not been decided. However, they will typically happen between releases with large changes. As v3.7.0 has both a new build system and a switch away from Tailwind (resulting in some minor UI imperfections that might annoy some users), the first LTS offering will be v3.6.3, and has been released.

v3.6.3 LTS: https://github.com/CatalystDevOrg/Catalyst/releases/tag/v3.6.3

MagicCrayon9342
Scratcher
1000+ posts

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

The first beta of v3.8.0 has released with tab muting support and custom themes!
https://github.com/CatalystDevOrg/Catalyst/releases/tag/v3.8.0-beta.1
MagicCrayon9342
Scratcher
1000+ posts

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

I have implemented installing themes from the internet. When a user visits a URL that looks like a theme URL. The user is presented 2 options. Install the theme, or don't install the theme. If the user decides to install the theme, an additional prompt asks whether the user would like the theme to be switched to the new theme.

Themes can only be installed this way from the official theme repository. Simply select a theme from this repository, press the ‘view raw’ button, and you will be directed to a URL similar to this:

https://raw.githubusercontent.com/CatalystDevOrg/Themes/master/black.css

This will trigger the installation progress.

At this time, there is no restriction as to what a theme can modify. Which is why this feature is carefully implemented to only allow themes from this curated repository.

This feature will be available in Beta 2
INSERT-USER_NAME
Scratcher
1000+ posts

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

is catalyst a webpage? why are themes css files??

Last edited by INSERT-USER_NAME (May 13, 2024 23:26:57)

ScratchcatandGobo
Scratcher
1000+ posts

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

INSERT-USER_NAME wrote:

is catalyst a webpage? why are themes css files??
It is a full-on browser
MagicCrayon9342
Scratcher
1000+ posts

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

Plugins are being implemented (I have a working implementation running right now)

A plugin will be a normal JS file. Plugins can be enabled and disabled. They currently have 3 disallowed keywords. alert, confirm, and document. This is so they cannot freely make popups or modify the DOM. Instead, there will be APIs made specifically for plugins. Like catalyst.tabs.current, etc.

Each plugin is loaded into a sandbox with access to the extension APIs as well as the DOM.

The pull request can be found here. It will be tested for security problems before merge.

It is very likely that Catalyst plugins will be no exception to the extension and use script policy. So it's best to retain from mentioning any specific plugging if and when some are created.

Last edited by MagicCrayon9342 (May 14, 2024 02:52:28)

davidtheplatform
Scratcher
500+ posts

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

You could just do something like window(1). I don't think a text search for “alert” will ever work completely.
MagicCrayon9342
Scratcher
1000+ posts

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

davidtheplatform wrote:

You could just do something like window(1). I don't think a text search for “alert” will ever work completely.
I don't know of a way to implement plugins securely.
ninjaMAR
Scratcher
1000+ posts

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

MagicCrayon9342 wrote:

(#548)

davidtheplatform wrote:

You could just do something like window(1). I don't think a text search for “alert” will ever work completely.
I don't know of a way to implement plugins securely.
These plugins are VERY unsafe.
eval(atob("YWxlcnQoJ1RoaXMgaXMgdW5zYWZlJyk"))
MagicCrayon9342
Scratcher
1000+ posts

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

ninjaMAR wrote:

These plugins are VERY unsafe.
eval(atob("YWxlcnQoJ1RoaXMgaXMgdW5zYWZlJyk"))
I can just block eval
ninjaMAR
Scratcher
1000+ posts

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

MagicCrayon9342 wrote:

(#550)

ninjaMAR wrote:

These plugins are VERY unsafe.
eval(atob("YWxlcnQoJ1RoaXMgaXMgdW5zYWZlJyk"))
I can just block eval
I don't know what you mean by making a “sandbox” by blocking certain words. This isn't making anything safe. You can still arbitrary execute code. Here is famous an example for Python, but the same still applies for JavaScript
MagicCrayon9342
Scratcher
1000+ posts

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

ninjaMAR wrote:

MagicCrayon9342 wrote:

(#550)

ninjaMAR wrote:

These plugins are VERY unsafe.
eval(atob("YWxlcnQoJ1RoaXMgaXMgdW5zYWZlJyk"))
I can just block eval
I don't know what you mean by making a “sandbox” by blocking certain words. This isn't making anything safe. You can still arbitrary execute code. Here is famous an example for Python, but the same still applies for JavaScript
That's not the sandbox portion. The sandbox is the iframe plugins are loaded as. It prevents plugins from directly accessing the DOM and executing functions defined in the code like getPreferences.
MagicCrayon9342
Scratcher
1000+ posts

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

Catalyst v3.8.0 is just around the corner! Here's a compilation of all the changes in this release:

- Many problems introduced with the transition away from Tailwind as well as preexisting UI/UX bugs have been fixed in this release. Most notably icon alignment.
- The ability to mute individual tabs by middle clicking them
- Custom themes
- Native/IPC refactoring
- Theme installation through URL
- Dependencies bumped to latest versions

For security reasons themes can only be automatically installed from the officially curated theme repository at https://github.com/CatalystDevOrg/Themes! There are no known security implications of this feature as it is loading a CSS file. However, these files are NOT checked. Even before they are downloaded.

You may submit themes ahead of release day to offer a good selection of themes. These themes have limitless potential to make the UI look EXACTLY how you want it.
zaid1442011
Scratcher
500+ posts

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

MagicCrayon9342 wrote:

(#553)
Catalyst v3.8.0 is just around the corner! Here's a compilation of all the changes in this release:

- The ability to mute individual tabs by middle clicking them
This will not work with trackpads. You can make that when you right click it will show you an menu with a bunch of options for the tab.
MagicCrayon9342
Scratcher
1000+ posts

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

Should release code names return? What should the theme be?

Here's the proposal:
https://github.com/orgs/CatalystDevOrg/discussions/508
dynamicsofscratch
Scratcher
1000+ posts

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

MagicCrayon9342 wrote:

(#555)
Should release code names return? What should the theme be?

Here's the proposal:
https://github.com/orgs/CatalystDevOrg/discussions/508
doit
MagicCrayon9342
Scratcher
1000+ posts

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

dynamicsofscratch wrote:

MagicCrayon9342 wrote:

(#555)
Should release code names return? What should the theme be?

Here's the proposal:
https://github.com/orgs/CatalystDevOrg/discussions/508
doit
There's more to be decided as the proposal says.
MagicCrayon9342
Scratcher
1000+ posts

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

Catalyst v3.8.0 has released! https://github.com/CatalystDevOrg/Catalyst/releases/tag/v3.8.0

This release adds 3 features:

- Custom Themes
- Installing custom themes from the web
- Muting individual tabs

As well as a large variety of UI fixes that will make the UI more pleasant to look at.

If you would like to develop themes you can add your theme to the official theme repository at https://github.com/CatalystDevOrg/Themes.

Now is also a good time for feature requests for Catalyst v3.9.0 will will be releasing on Saturday, June 8th, 2024.
MagicCrayon9342
Scratcher
1000+ posts

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

The first feature of next week's v3.9.0 release has been implemented and is shipping in the very first v3.9 beta! This beta will be released shortly.

The feature in question is a sidebar. The sidebar is beside the web content and can be toggled with the sidebar button in the right hand corner. There is a preference in the “advanced” section of the preferences that will set whether or not when a web page wants to create a new window, to open it in the sidebar instead.

In the future the user will have more control over what happens when a page creates a new window. The options will most likely be the following:

default behavior
new tab
sidebar
MagicCrayon9342
Scratcher
1000+ posts

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

In Catalyst v3.9.0 you will now be able to open the selected link in a new tab from the context menu

Powered by DjangoBB