Code Monkey home page Code Monkey logo

Comments (11)

yzyhk904 avatar yzyhk904 commented on June 10, 2024

I answered a while before for you. See your issue of audio-misc-settings.

from usb-samplerate-unlocker.

IzzySoft avatar IzzySoft commented on June 10, 2024

So TL;DR: you won't provide an update.json and I should go with a local one instead? Which then would fail as file names are not consistent (e.g. the file at v1.5.4 has an additional -1 appended, v1.5.1 a -3)?

from usb-samplerate-unlocker.

yzyhk904 avatar yzyhk904 commented on June 10, 2024

As I said before, you can get the right name automatically. See my makeUpdateJson.sh or use it.

from usb-samplerate-unlocker.

IzzySoft avatar IzzySoft commented on June 10, 2024

I've looked but didn't see any makeUpdateJson.sh. But apart from that, I cannot use custom update scripts for each module in my repo. So I'll have to accept that you won't provide an update.json in your repo here, and that I cannot update your module in my repo – which means when updates fail (as currently 1.5.4 does), they fail and won't be available in my repo πŸ€·β€β™‚οΈ

from usb-samplerate-unlocker.

yzyhk904 avatar yzyhk904 commented on June 10, 2024

makeUpdateJson.sh is in previous your issue and discussed a while. Did You forget that?

And I said in that issue makeUpdateJson.sh was a general script for all Github magisk modules! Not for my own modules. I think this needs perhaps only several line changes in your script.

from usb-samplerate-unlocker.

IzzySoft avatar IzzySoft commented on June 10, 2024

It would need some other adjustments as well I guess. This is what it produces for its pre-configured default, for example:

{
    "versionCode": ,
    "version": "",
    "zipUrl": "https://github.com/Magisk-Modules-Alt-Repo/audio-misc-settings/releases/download/v1.3.5/magisk-module-audio-misc-v1.3.5.zip",
    "changelog": "https://raw.githubusercontent.com/Magisk-Modules-Alt-Repo/audio-misc-settings//changelog.md"
}

version info cannot be found as there was no match on overview_actions in that one page, and thus the default branch could not be determined. Crawling HTML of pages is unreliable as the content is subject to change. And even if, not every module has its module.prop in the repo root, so it would fail at that point. Same for the changelog, which is not even present for all modules.

It also causes a lot of traffic overhead (pulling multiple full pages each around 200 kB) just to get those few lines of update.json on every update check run run (i.e. usually daily) while the module itself might just be updated twice a year, which is not acceptable for keeping hundreds of modules updated in my repo, sorry. In contrast to that, what I currently use for apps without update.json where the ZIP file names at releases are using a constant pattern containing the versionName (which is the only changing part) only pulls a single small file: module.prop. And it would also work if instead of versionName the file name would be using versionCode.

So let me conclude with what I already wrote there, about a year ago:

  • /releases/latest does not include pre-releases. So modules using pre-releases would not be covered
  • modules are not only hosted at Github
  • too much network overhead

Did You forget that? Back then I switched to repo-util's "git" method, but that's breaking too often and leaves a mess behind. So at this point the only variants left are either an update.json or stable file names based on either versionName of versionCode and no other changing parts. Or disabling updates on my end for the module in question.

from usb-samplerate-unlocker.

yzyhk904 avatar yzyhk904 commented on June 10, 2024
  1. Why not use caching? updateJson don't change frequently, perhaps once a week or month (you can check the update by checking module.prop only)
  2. Magisk modules on Github are major and account more than half of all magisk modules
  3. Pre-releases are for beta testers. Don't include them for casual users. We don't intend this
  4. Your method is ad hoc and needs frequent maintenance for each module

from usb-samplerate-unlocker.

IzzySoft avatar IzzySoft commented on June 10, 2024
  1. a) because I have no time to implement such thing, it b) would add complexity here, c) I cannot tell which module will need what frequency
  2. which does not mean it's the only source, and your method would only work for Github
  3. that can be ensured via file name patterns (this is what triggered the issue initially, remember? If the pattern does not match…)
  4. my method proved to work fine for over a year now. I've set it up once, and up to now it didn't need any maintenance. It simply works – without all the network overhead, complexity etc. While yours will need maintenance whenever MS decides to change the page structures.

It makes no sense to discuss this over and again, sorry. I won't implement a complex method especially when a simple one proved to work fine for "more than half of all magisk modules" (actually, more than 90% of them in my repo are covered by that – only 5 out of 100+ modules are not). So if you cannot provide an update.json (which most modules do, to use your argument number 2: more than 75% have it), I'll have to accept that – and if there's no other matching method as it's too hard for you to even keep the file names consistent, I simply won't be able to have it updated here or would have to remove it if it falls behind too far.

from usb-samplerate-unlocker.

yzyhk904 avatar yzyhk904 commented on June 10, 2024

I cannot understand your justification. Caching (in this case, update.json (dev. provided and locally made) DB maintenance) is simple, efficient in time and space, and automatic, which is proven by the Fox's Manager. I consider this issue is for your own, not for me because of the fault of your program.

from usb-samplerate-unlocker.

IzzySoft avatar IzzySoft commented on June 10, 2024

πŸ€·β€β™‚οΈ

from usb-samplerate-unlocker.

IzzySoft avatar IzzySoft commented on June 10, 2024

Updates disabled then, this eats too much time and is not worth it for just 2 modules. In the time spent on discussing this you could have provided update.json files for all missing modules – or I could have implemented maybe 20% of what you suggest just to cover a handful of modules not wanting to provide their own update.json or keep their file names at releases consistent.

Sorry, but it seems we cannot find a solution we both can accept. It's of course your full right to decide how to deal with your modules – as it's mine in how to deal with my repo. So no bad feelings, but this is what it comes to then.

Thanks for sharing your approach and taking your time for it! Should you one day have an update.json here or stick to consistent file names, be welcome to give me a ping.

from usb-samplerate-unlocker.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.