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

Is this repo dead? #1151

Closed
ultimate-deej opened this issue Jun 7, 2022 · 16 comments
Closed

Is this repo dead? #1151

ultimate-deej opened this issue Jun 7, 2022 · 16 comments

Comments

@ultimate-deej
Copy link

ultimate-deej commented Jun 7, 2022

There are hundreds of open issues and PRs, many of which have been around for months and even years now.

Pods are outdated. "YogaKit" on CocoaPods is version 1.18.1 which is missing in this repo, while version v1.19.0 was released more than a year ago and is still unavailable. Ok the release notes tell "Release for Maven Central.", which suggests it's irrelevant for iOS, but what is version 1.18.1 then? And the "yoga" pod is 1.14.0, clearly far behind the main pod.

Speaking of iOS. There are also a few fundamental problems, like not working properly with iOS transforms, or that in order for a child to be laid out by a yoga-enabled parent, you need to enable all the Yoga machinery for the child as well. That makes it particularly difficult to use with, say, UIScrollView.


My question is, is this project considered for further development, and should I bother opening new issues, or creating new PRs?

@furkanarabaci
Copy link

AFAIK react-native also uses yoga as their "backend". Supposedly the repo shouldn't be dead, but who knows...

@woehrl01
Copy link
Contributor

woehrl01 commented Jun 19, 2022

The last kind of official statement I know of are the following tweets by @TheSavior . So sad it is, I guess the repo will not get the attention it deserves in the near future, that's why I stopped submitting PRs years ago.

@cntrump
Copy link
Contributor

cntrump commented Jun 24, 2022

My fork still alive: https://github.com/cntrump/yoga

I added some little improves:

  • float -> double
  • allow negative padding
  • fix some crash issues in YogaKit

@KurtGokhan
Copy link

No offense anyone, but I think this repo is maintained pretty badly for a library that is used in some of the most important apps around the world.

Also I wonder why they added static position and shifted all other positions in 1.19.0, basically breaking backward compatibility with previous versions.

@NickGerleman
Copy link
Contributor

I'm going to be spending some time trying to get this repo into a cleaner state. If there are any issues or PRs folks feel passionate about, please let me know in this thread.

@AndrewAPrice
Copy link

Nick, I'd really like to see CSS grid support. The lack of grid makes it difficult to build tables. #867

@brianguertin
Copy link

@AndrewAPrice Yoga is a flexbox implementation, CSS grid is entirely separate concept, wouldn't it be basically a brand new library?

@AndrewAPrice
Copy link

@brianguertin you could argue that. Since on the web you can embed grids and flexboxes within each other and many of the attributes are shared in name and behavior, it would be nice if there were a layouting engine that could handle them both in a generic way.

@brianguertin
Copy link

brianguertin commented Dec 1, 2022

@AndrewAPrice You've convinced me. I see that CSS spec has even deprecated some flexbox property names in order to use more generic ones that apply to either grid or flexbox.

@NickGerleman My request would just be recent official release for all supported platforms? (To Maven, CocoaPods, and NPM). It appears "gap" support was added but is not in the latest releases, and I'd like to use it.

@NickGerleman
Copy link
Contributor

Doing another release is on my radar. There is a script to do it for Maven, and I've wrangled the permissions to publish under the current Cocoapods account, but the current podspec fails linting and I haven't had the moment to dive in to understand the right fix.

@QOAL
Copy link

QOAL commented Dec 2, 2022

One thing I would like to see added is support for overflow alignment keywords, safe / unsafe.
https://w3c.github.io/csswg-drafts/css-align/#overflow-values

@brianguertin
Copy link

brianguertin commented Dec 3, 2022

@QOAL I was able to shim safe support in my use case, but it won't work for everyone:

Whenever I'm assigning "justify-content" to a node, I first check the sum of the main axis size of all the children.

If the sum is greater than the flexbox's size, I replace justify-content with "start". Otherwise, I apply the configured justify-content as intended. This is what the "safe" keyword does.

This only works because in my use case, I evaluate each node of my UI tree independently; so I always know the actual size of the flexbox and the desired size of the children.

But it would be neater if Yoga supported it :)

@brianguertin
Copy link

brianguertin commented Dec 14, 2022

For my use case I need Yoga in a Kotlin multiplatform codebase. This means using it in commonMain sources, which are shared across platforms (Android, iOS, Web, etc.).

I ran into some challenges trying to use Yoga as-is:

  1. I had to individually wrap JS, Android, and iOS binaries with a common Kotlin API, so I could call it from common source set

  2. I could not figure out how to get it working for running unit tests on my laptop, as there is no JVM build for OSX available.

So.... I ended up converting Yoga entirely to pure Kotlin (no C++ or JNI remaining). Based on somebody else's previous conversion to pure Java.

Amazingly, all the unit tests still pass, and I now have a simple Kotlin library that can be dropped into any Kotlin project, in case anyone else needs it, I published here: https://github.com/Joingo/yoga-kotlin

@NickGerleman NickGerleman mentioned this issue Dec 28, 2022
1 task
@XantreDev
Copy link

What with the project now?

@woehrl01
Copy link
Contributor

@XantreGodlike please have a look in the latest history of the repo. Since @NickGerleman picked things up, this repo is alive again.

@NickGerleman
Copy link
Contributor

We just put out a new proper release with https://github.com/facebook/yoga/releases/tag/v2.0.0-beta.1.

I think that's the last thing I wanted to do before closing this issue out 🙂.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

11 participants