gjsify / gnome-shell

GJS TypeScript type definitions for GNOME Shell Extensions
MIT License
55 stars 5 forks source link

Suggestion: move away from Pre-Release to Release #39

Closed Totto16 closed 5 months ago

Totto16 commented 6 months ago

Since using gir dependencies x.x.x-4.0.0-beta.y we had no new issues / bugs reported. I also tested them and they seem to be working correct (after fixing some things in #34)

So I suggest updating the version to a non 46.0.0-4.0.0-beta.y one.

If we should call it 46.0.0-beta7 or 46.1.0-beta1 or something similar, is up to you. I personally prefer incrementing the minor version number (hence 46.1.0) but ultimately I don't care, as long it's visible, that it's not a beta anymore.

Maybe we should wait, that the upstream gir dependencies are out of their 4.0.0-beta too πŸ€·πŸΌβ€β™‚οΈ

Anyway, this issue is here, to publicly discuss this.

CC @JumpLink @swsnr

JumpLink commented 6 months ago

I would be fine with it. Since you use the types more than I do atm, you can also judge this better πŸ‘

swsnr commented 6 months ago

I don't care much either way. It's just a number after all 🀷

Totto16 commented 6 months ago

Since you all agree, I am going to make a new (non-beta) release after #41 #42 and #43 πŸ‘πŸΌ

JumpLink commented 6 months ago

@Totto16 Then we can also write a little release note for This Week in GNOME

Totto16 commented 6 months ago

@Totto16 Then we can also write a little release note for This Week in GNOME

That's a good idea, but that's something you have to do, you refactored ts-for-gir + gi.ts in https://github.com/gjsify/ts-for-gir/pull/151 and made the beta types and all this possible πŸŽ‰

Totto16 commented 5 months ago

Since 46.1.0-beta1 may be confusing it for being gnome 46.1 compatible, I'll name it 46.0.0-beta7

Totto16 commented 5 months ago

Close by https://github.com/gjsify/gnome-shell/commit/733a2d50ce5e5a05f195ba0fca1d37f18080d14e

swsnr commented 2 months ago

@JumpLink @Totto16 In hindsight, I think this move was premature.

While attempting to upgrade types in one of my GNOME Shell extensions I realized that all @girs dependencies of this package haven't left beta yet, and still suffer from a number of regressions compared to the old 3.3.0 types, notably https://github.com/gjsify/ts-for-gir/issues/171

And with GNOME 47 around the corner I'm beginning to wonder how I'll be able to update types for GNOME 47, given that these types effectively break all my use of async functions.

Totto16 commented 2 months ago

@JumpLink @Totto16 In hindsight, I think this move was premature.

While attempting to upgrade types in one of my GNOME Shell extensions I realized that all @girs dependencies of this package haven't left beta yet, and still suffer from a number of regressions compared to the old 3.3.0 types, notably gjsify/ts-for-gir#171

And with GNOME 47 around the corner I'm beginning to wonder how I'll be able to update types for GNOME 47, given that these types effectively break all my use of async functions.

It was justified at the time, at least in my perspective, but you might be right, I'll guess no one can foresee the future πŸ€·πŸΌβ€β™‚οΈ

That seems concerning, but I think we will able to fix this. As for async types, I also had a few issue, but since I don't use that many, I casted those things manually in the extension, I encountered those things. That said, async types are a pain in this cases, since their handling in gjs and gnome in general is c like, so that was always hard to do that. Another problem is, that not every function is a promise by default, you may have to use Gio._promisfy see here which changes prototypes and therefore is hard to correctly type in Typescript, if we donΓ„t now, which version is used πŸ˜“ I'll look into this and also try to help if I can, I am sure we find a solution πŸ˜‰