Participation in official Addons Store Beta Test
Hi, my team and I are currently finishing up the preparations for the beta test launch of the official FlorisBoard Addons Store, and I wanted to ask if you want your Catppuccin themes to be part of the initial launch?
Hey :wave: Thank you for reaching out, congrats on reaching the finishing stages of your beta test launch!
We'd be happy to have our themes be part of the initial launch.
One thing from me, is there any documentation on how to design a floris-board theme with the .flex format? I can see that you have a Wiki page but it specifies at the top that "This wiki is not valid anymore beginning from 0.3.14-beta09 and greater"
I'd quite like to publish a new version of the theme fixing the typo in the filename/extension ID (catpuccin.themes.1659370514314 -> catppuccin.themes.1659370514314) and improve the maintainability of this repository but I'm unsure if changing the extension ID without changing the numbers at the end would automatically break things elsewhere.
Would greatly appreciate your insights, thank you!
Great to hear! I will provide you with the publishing instructions once we are ready on our end, atm we are still fixing some important issues.
Regarding the wiki you make a good point, the existing wiki is completely outdated, we will work on that. Is your current repo state compatible with the latest beta release or do you still use the old old stylesheet syntax? (Can be checked by importing the theme and checking it out inthe theme editor)
Generally though the extension ID requirements have changed, so that will ne a breaking change anyways. Basically sumarized:
The id must be a Java-like package name, and start with either
io.github.<username>.****
Or if you have an official domain and add a TXT record you can use that for publishing. It will be explained in more detail in the revised wiki.
I'm not sure on the specifics as I'm not the original author of the theme, (maybe @skinatro can chime in if they are free), but from unzipping the .flex file, I can see that we have the following directory structure:
And the file content looks like the following:
I think this might be the old stylesheet syntax? I'll need to download floris-board myself to check :sweat_smile:)
With regards to the extension ID requirements. We currently have catppuccin.themes.1659370514314. As per your comment, I hope we can change it to io.github.catppuccin.florisboard or something similar if we decide to use our domain catppuccin.com.
Please let me know if we need to make any immediate changes to allow the theme to be included in the initial launch and when the revised wiki is in place, thank you!
I will check later if your stylesheets are compatible, but from the looks of it you are already on the new syntax, which would be perfect.
Ok from the looks of it it generally works but there are some minor color issues, probably due to name changes
I'm happy to download floris-board and try to fix some issues myself, it's been a long while since this repository has had any activity so I'd imagine things on the UI have changed too.
Thank you for checking!
I am really sorry I have been inactive, is all the required work done or is there anything pending? I can help out to iron out some issues
Took us longer than expected but the Addons Store is finally ready! It can be accessed at https://beta.addons.florisboard.org
This wiki entry is a good guide for publishing, if you need assistance don't hesitate to ask me!
For your specific theme the flex file uploaded in your repo is correct, the committed json theme is the old one though, so just use the flex file from now on.
Thanks for letting us know @patrickgold! Unfortunately I believe @skinatro's phone is broken so they may not be able to help out at the moment.
I see that you're only accepting GitHub as a form of authentication. For scenarios like this, we'd use our holdings account (@Catppuccin-Holdings) which multiple staff members have access to and ensures that the theme can be published by multiple people.
I'll be tidying up the repository most likely in the next few days to get in a state where it can be uploaded and I hope it's able to pass the manual review, thanks again for reaching out!
My one feature request to you would be that you either allow shared ownership of themes/plugins going forward or implement a model where themes can be transferred from one account to another if both parties agree to it.
Using your Catppuccin-Holdings account is perfectly fine.
I'll be tidying up the repository most likely in the next few days to get in a state where it can be uploaded and I hope it's able to pass the manual review
Sounds good to me, let me know if you hit any roadblocks or if should check if the meta data/structure is correct.
My one feature request to you would be that you either allow shared ownership of themes/plugins going forward or implement a model where themes can be transferred from one account to another if both parties agree to it.
That's not possible in the currently deployed state but we really like the idea and it makes sense. I'll pass the idea on to the team!
That's not possible in the currently deployed state but we really like the idea and it makes sense. I'll pass the idea on to the team!
Thanks! Fwiw, my preference is strongly towards the former as it allows for the traditional organisation hierarchy and the opportunity to define roles/privileges to its members.
NPM has quite a nice model if you're looking for some prior art:
hey guys sorry for the delay my phone is fixed now
I changed the ID to io.github.catppuccin and updated the semver to 1.0.0
I also removed the legacy or 1.0 theme
I will push the updated flex file now Please let me know of any more changes i must do before the theme can be published @patrickgold @sgoudham
@patrickgold can you help me recompress the file? I tried to make it compress to flex using bash but whenever i import it into florisboard it says it could not parse the zip
this is what i used
zip -r9 -Z deflate floris100.flex ./floris/
I even tried it with python but the same result
import os
import zipfile
from datetime import datetime
def compress_to_flex_file(input_folder_path, output_flex_file_path):
with zipfile.ZipFile(output_flex_file_path, 'w', compression=zipfile.ZIP_DEFLATED, compresslevel=9) as zip_file:
for root, dirs, files in os.walk(input_folder_path):
for file in files:
file_path = os.path.join(root, file)
zip_file.write(file_path)
input_folder_path = './floris'
output_flex_file_path = os.path.join(
os.path.dirname(__file__),
'../floris',
f'ctp.flex'
)
print('Compressing to Flex file...')
compress_to_flex_file(input_folder_path, output_flex_file_path)
print('Folder compressed to Flex')
What does the folder structure look like after ziping?
Hmm interesting, we use Java ZipFile for unzipping, so as long as the zip file is zipped using a supported compression by that it should be good to go.
Also make sure you don't have a direct parent folder inside the archive, basically the extension MUST look like this inside the archive:
catppuccin.flex/ (archive file)
extension.json
stylesheets/
theme1.json
...
and NOT like this:
catppuccin.flex/ (archive file)
catppuccin/
extension.json
stylesheets/
theme1.json
...
Thanks for clarifying @patrickgold, we discussed on our discord server and confirmed that the issue was the directory structure. We've verified that the format can be imported into the application and I'll be following the process outlined in the wiki for uploading to the marketplace soon, thanks again for your help!
Hey @patrickgold,
Unfortunately I think I've hit an issue that's entirely my fault :smile:
I tested out creating a project earlier in the day with the extension id com.catppuccin.florisboard and then later on deleted it as I still had to finish up some refactors and thought I could recreate it without much hassle.
I'm now trying to create the project again with the same details as I did beforehand but now I'm running into this error below:
I believe the package with the id com.catppuccin.florisboard is now a "ghost" project where I can't see the project on my profile but the system still thinks it exists, could you fix this on your end easily or would it require code changes first?
Sorry for the extra hassle!
It was indeed a ghost project, I force deleted the draft project so you should be able to recreate the project now
Thanks @patrickgold!
I've created a release on the page now - I'm guessing I can publish the page/project once the initial release has been manually verified?
Basically every time you edit project meta data this needs to be sent to review and published, same for each release. For initial release both needs manual verification, but after that if you do not edit meta data only the release itself gets reviewed.
Ahhh that might explain why I'm not seeing immediate updates to some of my project information. Apologies, I wasn't aware updates to any project metadata is sent for manual review on the initial publish!
Sorry if I've spammed some stuff on your end!
You did not press publish yet so your whole project is still in draft, which does not trigger a review, so no spamming from your side :)
Your project has been approved and is live here, thanks a lot for your work and being one of the first to publish on the addons store!
Great! Thanks to you too for reaching out and getting us involved. I'm sure there are some new theme keys outlined in your wiki that we'll need to have a go at theming too.
I'll be closing this issue as resolved now, best of luck with future development of FlorisBoard!