Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additions to DEB changelogs are done late. [+ rewrite proposal] #22

Open
Shugabuga opened this issue May 1, 2020 · 0 comments
Open
Labels
bug Something isn't working

Comments

@Shugabuga
Copy link
Owner

The bug.

From Silica:

We already created the variables that contain the changelogs and, to
make matters worse, all the web assets. The only way to mitigate this is to re-create the
tweak_release variable again, which wrecks a lot of things (ie runtime).
A Silica rewrite is required to properly fix this bug.

Silica does these steps:
Generate tweak_release data -> Create repo assets -> Update changelog text

This is the order desired:
Update changelog text -> Generate tweak_release data -> Create repo assets

This will require a rewrite of Silica to fix. As a result of this realization, as well as various other instabilities and #10 being popular, I am highly encouraging a 2.0.0 release that rewrites most, if not all, of Silica.

The rewrite.

I want to rewrite Silica. There's a major design flaw about how we process DEBs that could break things (we totally overwrite the original Control file). As very little theme designers use Silica's auto-DEB functionality, DEBs should be considered first-class citizens.

A few notes/ideas:

  • I do want to keep the silica_data structure. It works pretty well, and breaking things is no good. However, it may be worth having an entry for DEBs of different versions (see Multiple version support #10).
  • The current hash-oddity mitigation should stay. I don't think I can fix this totally, so let's keep the hashes as-is. In fact, when upgrading a DEB, the old DEB should be moved and not totally deleted from the web server (see Multiple version support #10).
  • I should finish DpkgPy. Native Windows support would be great, and at the very least, being able to ditch dpkg would by handy. See: research on creating ar archives.
  • Styles should be updated to the versions used on Parcility. This is not about the shadow DOM enhancements, but some CSS fixes. Also, have the add button support adding to any repo (see Chariz's implementation for reference; Demasi and I already talked about cloning the design).
  • Sorting: Consider alphanumeric sorting of packages! Also consider a searching algorithm powered by a binary search (or, if Python provides a built-in one, use that). Package searching would be a nice front-end tweak! In addition, an overview of package count per category could be a useful addition.
  • Version detection when loading DEB: This may be automatable. See dependencies, tags for how to do this.
  • Silica for Apps: Consider support for a tri-release via a AltStore repo, an IPA file to download, and a DEB (given a sole .app as input). Consult PixelOmer on perfecting entitlements and try to clear anything that may not be necessary. See: [[Shuga Sticker Pack]].
  • Premium applications: Consider an approach of flagging apps as "paid" or as "trial." Silica should be able to act as a primitive payment processor to notify users if the app isn't truly free (such as Boxberger's use of an in-tweak payment system). Of course, it'll be for show and the tweak should be able to download just as if it was free.

A Silica 2.0.0 release should be as bug-free as possible and add the very few bells and whistles that are missing (ie multiple version support). It won't be easy, but it'll be very rewarding!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant