Discuss Scratch

MagicCrayon9342
Scratcher
1000+ posts

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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)


consider posting here maybe?
hey guys
ScratchcatandGobo
Scratcher
1000+ posts

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 LTS] The Catalyst Project

INSERT-USER_NAME wrote:

is catalyst a webpage? why are themes css files??
It is a full-on browser

Yeah, but at least we've learned something today… that every moment of our life should be lived to the fullest because it can be very long or very short, my friend. - Gumball
I felt like I wanted to develop games on here, so I won't leave! (for now)
(last edited 2/8/24)





























MagicCrayon9342
Scratcher
1000+ posts

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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.

Generation 4: the first time you see this copy and paste it on top of your sig in the scratch forums and increase generation by 1. Social experiment.
MagicCrayon9342
Scratcher
1000+ posts

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 LTS] The Catalyst Project

ninjaMAR wrote:

These plugins are VERY unsafe.
eval(atob("YWxlcnQoJ1RoaXMgaXMgdW5zYWZlJyk"))
I can just block eval

ninjaMAR
Scratcher
1000+ posts

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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.

I am a guy who codes weird stuff. Don’t check my GitHub only if you want stupid HTML pages (or something to host them). Check my platformer if you want to see something to see.

Profiles: GitHub.
You won't understand stuff in my signature because I talk about stuff in the ATs (Advanced Topics).
Check out this song for @griffpatch https://scratch.mit.edu/projects/887382049/



MagicCrayon9342
Scratcher
1000+ posts

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

aII toasters toast toast, but what happens when there are no longer toasters being produced? will their technology simply become obsolete, with humans moving onto bigger, better things? will toast become a distant memory, written in textbooks of the future as foods us simpler generations ate? who's to say! society is constantly moving, changing, evolving, ideas being built upon, improved upon, theories being proven or disproven. are we but a blip on the timeline? sure, our names may not be remembered, but that's not the point. you can make a change. you can make a difference. you can make the world better, even if you don't know yet. and the first step is to go for it. even if you are afraid of failure. going back to the example of toasters, do you know off the top of your head who invented them? no? have you used one? probably. so, even if you don't remember my name, if I was able to help awnser your question, that is enough. if I was able to help you, even in the slightest way, this could push you to continue with scratch and not give up after the program crashes, and maybe one day learn other programming languages and change the world. everything is a cause and effect reaction, new inventions lead to the technology of the future, and even as the generations of the past are slowly forgotten, their influence lives on to this day, affecting how the world eventually turned out and how it will be for generations to come.

and, without toasters, we wouldn't have toast.


Regards
dynamicsofscratch

Anything above that grey line is a signature!
Also, anything can be put in your signature, (also referred as a siggy) including ads but! You cannot do anything else that violates the community guidelines as, you will be reported and you could be banned/muted.
Computer enthusiast, coder, designer and a offline veteran.
700th post
MagicCrayon9342
Scratcher
1000+ posts

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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

[Exciting feature for v3.9.0 implemented!] [v3.9.0-beta.1/v3.8.0/v3.6.4 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