text:
[TidyRead - Streamline Your Daily Reading] "Source Link" is currently pointing to an incorrect article

Extension
https://www.raycast.com/jaredliu233/tidyread---streamline-your-daily-reading
Description
Dear Development Team,
I've observed that the "Source Link" is currently pointing to an incorrect article. It should ideally be positioned under the corresponding article, which is not the case at the moment.
Thanks.
Steps To Reproduce

Install the extension
Wait until "Daily Read" command will fetch articles
Try to select the article an observe the behaviour

Current Behaviour
Dear Development Team,
I've observed that the "Source Link" is currently pointing to an incorrect article. It should ideally be positioned under the corresponding article, which is not the case at the moment.
Thanks.
Expected Behaviour
The source link correctly points to the intended article.

Extension
https://www.raycast.com/jaredliu233/tidyread---streamline-your-daily-reading
Description
Dear Development Team,
I've observed that the "Source Link" is currently pointing to an incorrect article. It should ideally be positioned under the corresponding article, which is not the case at the moment.
Thanks.
Steps To Reproduce

Install the extension
Wait until "Daily Read" command will fetch articles
Try to select the article an observe the behaviour

Current Behaviour
Dear Development Team,
I've observed that the "Source Link" is currently pointing to an incorrect article. It should ideally be positioned under the corresponding article, which is not the case at the moment.
Thanks.
Expected Behaviour
The source link correctly points to the intended article.

Hi, Alex, I am very glad that you are still using tidyread. 😇  Could you please provide the error link you mentioned? And also the corresponding RSS link.
In addition, you can try to turn off this option.

By the way, I am developing a Chrome extension version. It is estimated to release the MVP by the end of April. I will invite you to use it then! If convenient, you can join the waitlist here https://tidyread.ai 🥰

Hey, @DophinL !
It seems that in the last version, the issue does not appear here.

I'm glad to use this extension for Raycast. It is a very nice RSS aggregator. Do not stop the development of this extension. Thank you.

I'm glad to use this extension for Raycast. It is a very nice RSS aggregator. Do not stop the development of this extension. Thank you.

Absolutely! The Chrome extension is also under development and will continue to iterate. Looking forward to your use and feedback! @alexandertsukanov
In addition, we hope to invite you to join our Discord. You are one of the earliest users of Tidyread! Your voice is really important for the the product!
https://discord.gg/SYzFtQAn

If you don't mind, I will close this issue since it is not reproducible in the latest version.

Now Discord has just been established, currently not active, but will soon start operating! @alexandertsukanov

authors: DophinL alexandertsukanov

repo: raycast/extensions


text:
[Bear Notes] Raycast no longer working with updated Bear (Bear 2 - released today)

Extension
https://www.raycast.com/hmarr/bear
Description

Steps To Reproduce
Update Bear with today's update from Shiny Frog. Try using Raycast to find notes.
Current Behaviour
No response
Expected Behaviour
I'm not sure how much work it will be to allow Raycast to work with the updated Bear, but unfortunately the upgrade to Bear 2 is one-way (can't go back). So we're stuck without Raycast access to Bear notes until compatibility can be achieved :-(.

It's in Testflight for both macOS and iOS.
And sadly, I didn't realize it would break Raycast.

Hey there! The time you knew was coming is now here: the Bear 2 beta is
ready for you with sync on Mac and iOS! The next section is really
important, so please read it:
[image: :warning:] Once you go Bear 2 beta, you can’t go back. This new
beta will migrate and upgrade your old Bear 1 database and use it from now
on. The /Application Data v2/ folder is no longer used. Be sure to export
all new and edited notes since Bear 1, then import them into this new beta.
On Thu, Mar 16, 2023 at 11:53 AM Harry Marr @.***>
wrote:

Thanks for reporting this! How did you get access to Bear 2? I just
checked the Bear forums and it sounds like they're still waiting for it to
go live in the Mac App Store.
—
Reply to this email directly, view it on GitHub
https://github.com/raycast/extensions/issues/5407#issuecomment-1472242888,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANKMUG5BNA2UUK2U5TYMYJDW4MZRNANCNFSM6AAAAAAV5MGV7E
.
You are receiving this because you authored the thread.Message ID:
@.***>

I've got everything up and running locally. I'll submit a pull request tomorrow.

Hello. Is there an estimate on when this plugin might be able to support Bear 2? Thank you.

Currently we're just waiting for the MR beeing merged 🙂

Was fixed in the #5536 PR. @raycastbot close this issue

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
[Spotify Player] Play My Liked Songs

Extension
https://www.raycast.com/mattisssa/spotify-player
Description
I have an extensive list of Liked Songs, and usually just start that list when I want some background music, as everything on there is something I like.
I can not find any way to play my Liked Songs with the current implementation/version of Spotify Player. "Search Playlist" doesn't find "Liked Songs", probably because Spotify doesn't consider the Liked Songs list to be a playlist. Similarly, I can't find my Liked Songs via "Browse All", "Featured Playlists", and "Just Play..." isn't capable of invoking the list, either.
I would love to be able to just start playing my Spotify Liked Songs from Raycast / Spotify Player. The option could be called "Play My Liked Songs".
Who will benefit from this feature?
Everyone who use Spotify's Liked Songs feature, and like just putting on their Liked Songs for a no-brainer listening session once in a while (or all the time, like me).
Anything else?
Thanks for the great extension 😃👍

You can use the new Spotify Beta extension found at the link below, it has the ability to play liked songs now 😁
https://www.raycast.com/mattisssa/spotify-beta

Hey folks, I love the new beta extension. Well-balanced UX-wise. But I think it does not address @nightgolfer 's issue. Or at least partially only.
There indeed is a new section called "Liked Songs" in the "Your Library" command. But there is no way to play all liked songs. It just plays the one you select.
In Spotify, "Liked Songs" looks like a regular playlist, but it seems not to be a "real" playlist under the hood, as "Liked Songs" does not appear anywhere in the playlists of "Your Library" command.
To sum up, it would be great just to be able to play the "Liked Songs" playlist as a whole and not just one song.

Thank you @dotlouis, I couldn't agree more.
I managed to test the beta, only found what you're describing (which isn't what I was hoping for), and haven't had the time to give feedback.
What you're describing is exactly what I want — the ability to "Play My Liked Songs", as if it were a playlist (and I agree, it doesn't seem to be treated like an actual playlist, a lot of the normal functions (e.g. 'Playlist Radio') are not there.

Still hoping this is possible to implement. Anyone?

Unforchantly, it's the Spotify API that doesn't allow for this.
See this community post.

Unforchantly, it's the Spotify API that doesn't allow for this.
See this community post.

It seems to me that the community post you shared specifically allows for doing what I want — use the Liked Songs context URI (spotify:user:<username>:collection) with Start/Resume Playback (https://developer.spotify.com/documentation/web-api/reference/start-a-users-playback).
When I paste spotify:user:<username>:collection into the search bar in Spotify, I get sent exactly where I want: my Liked Songs list.

authors: andreaselia bkeys818 dotlouis nightgolfer


text:
[Google Bard] Bard key no longer working

Extension
https://www.raycast.com/EvanZhouDev/raycast-bard-ai
Description
Using the __Secure-1PSID key no longer works with this extension- keep getting "Bard couldn't connect."
Steps To Reproduce

Enter Key
Try to use bard

Current Behaviour
No response
Expected Behaviour
No response

#9797 i created a PR for this

authors: Mdbook xsbchen


text:
Add cursor-project-manager extension

Description
This is a fork off the popular search in project manager and open with visual studio code extension. The goal is to alter this to open any project from the project manager in cursor. cursor is a fork off of the vscode repo rebuilt for AI coding assistant. Cursor
Screencast
https://github.com/user-attachments/assets/9ee18125-c9dd-4cab-acc8-ef6875b40268

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Instead of having a fork of the extension it's better to enhance the current one by @MarkusLanger - we do the same for the main Visual Studio Code to ensure that we don't have to update them both since they can do the same
Does that make sense?

We can look at an enhancement, however the one created was built for visual studio code specifically, I believe it could lead to a confusing user experience to alter the existing one.

In my extension it is possible to open the project in Cursor. In the configuration it is possible to switch to Cursor.

We could potentially improve the naming and descriptions to make them clearer. Having two identical problems will cause further complications.

source: gharchive/pull-request


text:
Test issue

buadbdsbfdskjbfdskjbf kjdnsdjkf nskdj nfsd

Sorry

repo: rayhaanalykhan/SwiftStrideIO


text:
Create Multiple Rendering Windows.

Is it possible to create multiple windows and render different scenes on those windows?

Yes. Of course.

Can you please explain how can I achieve this?

Have anyone achieved that ? Is there any plan to include such thing in future releases @raysan5  ?

Have anyone achieved that ? Is there any plan to include such thing in future releases @raysan5 ?

+1
I really wish raylib had a feature to create more than one window.

Ramon has answered this above.  There are ways to try it on your own.
You might take a look at RayGui also.
Architecturally, the InitWindow( ) operates in a gobal static data structure and all of the functions rely directly on the existence of that single global structure and things glued to it from time to time.
Currently, there is no way to speak of "which" window.
That could be handled with a different model using objects, so that a counterpart of InitWindow produced an object and the raylib API involved methods on a given window, as appropriate.  There would probably be other spin-off objects.  That's what GUI systems of various vintages accomplish by passing handles around and needing to be given handles to know what to operate on.
That's a dramatic architectural change and it would really be a different product.  rayWin, say, instead of rayLib.  (Probably not "Win" because it implies a platform, but you get the idea.)
It would also change the programming model considerably and callbacks would have to be changed when an event is specific to a particular window and/or focus.  Platform integration might be trickier too.
This would also have a significant impact on binding support, although it would be a better fit with C++ and Java and probably even relying on COM, including flavors found on Linux and JNI.  Not so much Python, but possible.  You'd end up wanting responsive windows for working on different device capabilities including tablets and phones.  That can go on forever.
All in all, this might be better simply using platform native GUI and windowing provisions.  There are, of course, a variety of these already.
It would get rid of name conflicts with libraries though :).
Probably not your grandfather's raylib :).

Hello beautiful people, I am relatively new to the Raylib world. I am finishing a product using Raylib and it would be immensely better to have multi-window capability. Since it is not backed in the default library I have analyzed the piece that Derpyzza put together here: https://github.com/raysan5/raylib/wiki/Use-multiple-windows, although I believe that his instructions were for an older version of Raylib than 4.5 and they didn't work quite well, however, he pointed me to the right direction. Any way thank you very much Derpyzza.
For the past 2 days, I have dived deep into the Raylib code and I was finally able to compile it with all the changes I believe were necessary to make it multi-window.
Now I can create multiple windows (max 5 for now) and I can close them as well. Also with BeginDrawing(id), I pass the id of the window I want and I can change the background color ClearBackground(GREEN) and it works for each window.
However, none of the drawing functions are working. They only work on the first window ID 0 (zero) nothing happens on the other windows.
I tried to look into the code but everything seems fine and should work, if it works for ID 0 why not for 1 or 2? I am stuck. (I am no specialist on what rlgh.h is doing so no surprises here ;) )
Would anybody care to lend a hand?

Hello beautiful people, I am relatively new to the Raylib world. I am finishing a product using Raylib and it would be immensely better to have multi-window capability. Since it is not backed in the default library I have analyzed the piece that Derpyzza put together here: https://github.com/raysan5/raylib/wiki/Use-multiple-windows, although I believe that his instructions were for an older version of Raylib than 4.5 and they didn't work quite well, however, he pointed me to the right direction. Any way thank you very much Derpyzza.
For the past 2 days, I have dived deep into the Raylib code and I was finally able to compile it with all the changes I believe were necessary to make it multi-window.
Now I can create multiple windows (max 5 for now) and I can close them as well. Also with BeginDrawing(id), I pass the id of the window I want and I can change the background color ClearBackground(GREEN) and it works for each window.
However, none of the drawing functions are working. They only work on the first window ID 0 (zero) nothing happens on the other windows.
I tried to look into the code but everything seems fine and should work, if it works for ID 0 why not for 1 or 2? I am stuck. (I am no specialist on what rlgh.h is doing so no surprises here ;) ) Would anybody care to lend a hand?

I have the same problem.

It's possible to have multiple rendering windows with pyray if you spawn them in their own process, with Python's multiprocessing module.
The following gist shows an example, based on the "core_input_keys.py" example from the docs:
https://gist.github.com/gabrieldp/920951232e78266c644e357fd2afbaf3
You can control each window independently, each window has its own rendering loop.
This is not the perfect integrated solution some of you are looking for, but it was good enough for my application. You do need to handle inter-process communication on your own (pipes, queues, locks, mutexes and the like), but there is plenty of resources on that using Python.

Should be possible using multiple processes or threads. For processes, you can communicate between them using sth like a pipe or a FIFO, and for threads using shared memory (This is mainly POSIX, I don't know how Windows does stuff but there is a POSIX compatibility layer for Windows, Cygwin).
// simple example using processes on UNIX
#include <unistd.h>
#include "raylib.h"

void child_window();
void parent_window();

int main(void)
{
    if (fork()) parent_window();
    else child_window();

    return 0;
}

void child_window() {
    const int screenWidth = 800;
    const int screenHeight = 450;

    InitWindow(screenWidth, screenHeight, "raylib [core] example - keyboard input");

    Vector2 ballPosition = { (float)screenWidth/2, (float)screenHeight/2 };

    SetTargetFPS(60);
    while (!WindowShouldClose())
    {
	float delta = GetFrameTime();
	const float SPEED = 100.0f;
        if (IsKeyDown(KEY_RIGHT)) ballPosition.x += 2.0f * delta * SPEED;
        if (IsKeyDown(KEY_LEFT)) ballPosition.x -= 2.0f * delta * SPEED;
        if (IsKeyDown(KEY_UP)) ballPosition.y -= 2.0f * delta * SPEED;
        if (IsKeyDown(KEY_DOWN)) ballPosition.y += 2.0f * delta * SPEED;
        BeginDrawing();
            ClearBackground(RAYWHITE);
            DrawText("move the ball with arrow keys", 10, 10, 20, DARKGRAY);
            DrawCircleV(ballPosition, 50, MAROON);
        EndDrawing();
    }
    CloseWindow();
}

void parent_window() {
    const int screenWidth = 800;
    const int screenHeight = 450;

    InitWindow(screenWidth, screenHeight, "raylib [core] example - mouse input");

    Vector2 ballPosition = { -100.0f, -100.0f };
    Color ballColor = DARKBLUE;

    SetTargetFPS(60);
    while (!WindowShouldClose())
    {
        ballPosition = GetMousePosition();

        if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) ballColor = MAROON;
        else if (IsMouseButtonPressed(MOUSE_BUTTON_MIDDLE)) ballColor = LIME;
        else if (IsMouseButtonPressed(MOUSE_BUTTON_RIGHT)) ballColor = DARKBLUE;
        else if (IsMouseButtonPressed(MOUSE_BUTTON_SIDE)) ballColor = PURPLE;
        else if (IsMouseButtonPressed(MOUSE_BUTTON_EXTRA)) ballColor = YELLOW;
        else if (IsMouseButtonPressed(MOUSE_BUTTON_FORWARD)) ballColor = ORANGE;
        else if (IsMouseButtonPressed(MOUSE_BUTTON_BACK)) ballColor = BEIGE;

        BeginDrawing();
            ClearBackground(RAYWHITE);
            DrawCircleV(ballPosition, 40, ballColor);
            DrawText("move ball with mouse and click mouse button to change color", 10, 10, 20, DARKGRAY);
        EndDrawing();
    }
    CloseWindow();
}

Why not have InitWindow return a handle? This way you could easily handle multiple windows:
#include <raylib.h>

int main(void) {
  const int win = InitWindow(640, 480, "Window 1");
  const int win2 = InitWindow(640, 480, "Window 2");

  SetTargetFPS(win, 60);
  SetTargetFPS(win2, 60);

  while (!WindowShouldClose(win) && !WindowShouldClose(win2)) {
    BeginDrawing(win);
    ClearBackground(RAYWHITE);
    DrawText("Hello from window 1!", 10, 10, 20, GREEN);
    DrawText();
    EndDrawing();

    BeginDrawing(win2);
    ClearBackground(RAYWHITE);
    DrawText("Hello from window 2!", 10, 10, 20, GREEN);
    DrawText();
    EndDrawing();
  }
}

Yes, this will require the re-design of some APIs but it will provide a very clean interface for multi-windowed applications.

@xslendix

Yes, this will require the re-design of some APIs but it will provide a very clean interface for multi-windowed applications. The handle then could also be used as some sort of index, so first InitWindow returns 0, the other one returns 1, another 2 etc.

It's far more work than that.  Look at raylib.h and the static declaration of a large CORE structure.  This structure is used implicitly by all of the API functions that act on a current window but do not have any "handle" parameter.  Then consider how, in the code, all of the integrations with underlying graphics and platforms are coordinated via CORE data, including interesting things like call-backs.  Allowing multiple focus in non-trivial and the application would have to be aware of it.
And finally, this change would invalidate a lot of current user code.
PS: Although it was claimed, I don't believe raylib is thread-safe in terms of supporting multiple windows/threads either, despite someone having shown a trivial case via the python binding.

@orcmid I only talked about the library interface, not how the library is implemented. Of course, many tremendous changes need to be applied to the codebase in general, but that's not the point of my comment.

I think it still would be better to have multiple threads for each window for better code readability rather than put everything in one place, allowing for no or little changes to the API. Most multi-window frameworks use multiple threads (electron, tauri, and even Godot afaik) for better code duplication and readability. It is mentioned above that Raylib might not be thread-safe but I fail to see why, if everything is initialized after the thread creation its separate memory, the only thing would be some shared memory from the glfw (or what Raylib is using) for the OpenGL method pointers, tho I doubt those would have an effect on thread safety. There are also Raylib wrappers that use threads such as the popular Rust one (and I think the Python one?).
There are also processes, a bit harder to use but they have entirely different memory spaces so theres no risk of breaking memory safety.

Using a thread or process system would be up to the user to implement (and not that hard) leaving no need for changes to Raylib. Adding a thread system to Raylib would be quite pointless as it would just replicate already existing ones. Again, the only concern would be for thread safety.

@OsakiTsukiko

The comment I left above was more of a guide for people stumbling upon this issue rather than a system to be implemented in raylib.

I am speaking to the topic of this long-standing (and closed) issue.  My apologies for provoking any side-tracking into thread-safety.  With regard to the topic, the graphical and platform dependencies/customizations are serious matters.

authors: DeveloperViraj JaydenSu MaldoPay MarcosLeonardoMendezGerencir OsakiTsukiko gabrieldp jthomazini orcmid sparkskapil xslendix

license: Zlib


text:
[rcore] Small issues on MacOS with SDL2

Issue description
When building raylib with SDL2 as backend I faced 2 issues:

The InitPlatform() method calls SDL_Init(SDL_INIT_EVERYTHING) which results in some SDL2 fatal exceptions, which I cannot reproduce now, but I found that SDL_Init(SDL_INIT_VIDEO) works fine. I found something on the internet that the SDL_INIT_AUDIO is the issue, a subsystem which is included by SDL_INIT_EVERYTHING, but not actually needed for raylib.
Another error I caught was Failed creating OpenGL context at version requested because on Apple if you are using OpenGL 3.3 the SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE) is not called, even though for OpenGL 4.3 it is.
There is no automatic way of building with SDL2? The PLATFORM variable only supports Desktop which defaults to GLFW.

Environment
MacOS Sonoma 14.1.1 M1,  OpenGL 3.3

Is certainly a bug, in GLFW implementation, rcore_desktop.c, the call is not missing.

@atticus5 Thanks for reporting! It has been reviewed 1. and 2. but about 3., Makefile supports PLATFORM=PLATFORM_DESKTOP_SDK.

@raysan5 thank you, but I'm using CMake and GLFW is hardcoded:
https://github.com/raysan5/raylib/blob/7ec43022c177cbf00b27c9e9ab067bd6889957a4/cmake/LibraryConfigurations.cmake#L11

@atticus5 Oh, I'm afraid I'm not the user neither maintainer of CMake build system. It was contributed by the community and I kept it for convenience but any expert on CMake should review and maintain it.


text:
[rcore] *FromMemory() API or alternative mapping helper

Hello!
I've been using raylib for a 3D project but hit a small roadblock. All files for the project are memory-mapped and not available on disk, so functions that require an explicit file path such as LoadModelAnimations are not usable.
I noticed that in #1327 it was mentioned that you'd like to avoid adding more Load*FromMemory() functions, however there was talk of an alternative API such as SetFileDataMapping and ClearFileDataMapping which could internally map a memory address to a path which is then checked by these functions, with the last comment of "some other mechanism could be added in the future."
Since four years how now passed, is there any potential bandwidth for this being considered again? Or even another look at potentially introducing Load*FromMemory() variants. Currently it's a major blocker that a number of API functions require disk files for a project that deals explicitly with in-memory data.
Thank you!

It is possible to set the load/save file data callback...
RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader
RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver

Used them successfully in raylib-physfs. Would like to see some of that capability expanded to functions that you mentioned. A workaround for it in the mean time would be to copy the associated methods and modify as needed.

It is possible to set the load/save file data callback...
RLAPI void SetLoadFileDataCallback(LoadFileDataCallback callback); // Set custom file binary data loader
RLAPI void SetSaveFileDataCallback(SaveFileDataCallback callback); // Set custom file binary data saver

Used them successfully in raylib-physfs. Would like to see some of that capability expanded to functions that you mentioned. A workaround for it in the mean time would be to copy the associated methods and modify as needed.

Oh, I hadn't spotted those functions, thanks for pointing them out! Would I be right in assuming that all functions in raylib that load files from disk can be intercepted with custom functionality via those callbacks? If so, that seems like it would solve the issue completely.

LoadModelAnimations() uses LoadFileData(), which calls the LoadFileDataCallback that you have set, yes.

As comented, alternatives already exist to cover that use case.

authors: Kruithne RobLoach raysan5


text:
GL_SELECT

Is i possible to select a 3d  object (a cube for example) using GL_SELECT mode?

Hello @dmalves,
GL_SELECT method for object picking is very old and deprecated in newer OpenGL versions. It could even be possible that some new graphic cards don't support that functionality at all. So, that functionality is not available in raylib and won't be added using GL_SELECT.
A newer picking method is being developed but, unfortunately, it's not working yet. You can see the related issue https://github.com/raysan5/raylib/issues/35


text:
Struct vs Class

Watching the implementations in the repo, it seems to me that most of them prefer to use class instead of struct when dealing with a data structure. Ex: Tree, LinkedList, etc...
I'm wondering why not align with built-in collections, they are all structs. Is there a specific reason or something I might miss ?
Thanks a lot.

The big idea behind trees, linked lists, etc is that of references (or pointers). In Swift, the only way to use references is to use classes.
It is possible to write a tree, list, etc with structs or enums (and we do include examples of this) but in my opinion, the most important take-away from these data structures is the concept of linking things using a reference (or a pointer).

Yeah, I get your point. From a perspective of learning/discussing algorithm, class is better.
Thanks.

authors: hollance wangshengjia

repo: raywenderlich/swift-algorithm-club

license: mit

license_source: bigquery


text:
Problem with JSON parser working globally.

Spine runtime's JSON parser is trying to import the JSON's generated by Dialogic such as Characters. Is there a way to prevent spine-runtime from thinking every JSON file in the project is a spine skeleton data JSON?

It should be able to change the import option of a JSON file in the Import panel.

Played around a bit but changing import options for Dialogic related files didn't help. Dialogic just creates JSON files, and spine-runtime tries to import them as spine related JSON files.

These ".import" files shouldn't exist at all when using dialogic. I believe they are created or caused by spine-runtime.

I think a good way to handle this issue is to change the code of spine-runtime to make it look for a specific location in the project to find and import spine atlas and JSON files. For example, it should only do the import operation inside "spine-assets" folder. Or maybe a way to exclude folders, I don't know. I tried to change some code in Json and EditorPlugin files in the repo but to be honest it's way over my head.

I think there may be a option of not importing the JSON file in the Import Panel. Have you try that?

.json files will not been imported in Godot newest versions. They have a note in Spine-Godot docs explaining this:

Note: You should prefer binary skeleton exports over JSON exports, as they are smaller in size and faster to load. If you must use JSON, make sure the file extension is .spine-json instead of .json. If you have an existing project that still uses .json export files, you can use this Python script to convert it to the new .spine-json extension.

Check it out HERE

authors: ebmarsak lluancarlo rayxuln

repo: rayxuln/spine-runtime-for-godot


text:
More statistic collection

as seen here the /stats command has a few N/A fields which probably should be fixed or removed

Done, not bug tested

authors: Cheesy-Brik srimpsrimp

repo: rayzchen/pyeod


text:
Added react 18 and updated packages.

Overview
Added react 18 and updated packages.
Updates
updated @babel/cli to ^7.19.3
updated @babel/core to ^7.20.2
updated @babel/plugin-proposal-class-properties to ^7.18.6
updated @babel/plugin-transform-runtime to ^7.19.6
updated @babel/preset-env to ^7.20.2
updated @babel/preset-react to ^7.18.6
updated @babel/preset-typescript to ^7.18.6
updated @types/lodash to ^4.14.189
updated @types/react to ^18.0.25
updated @typescript-eslint/eslint-plugin to ^5.44.0
updated @typescript-eslint/parser to ^5.44.0
updated babel-plugin-import to ^1.13.5
updated eslint to ^8.28.0
updated eslint-config-react-app to ^7.0.1
updated eslint-plugin-flowtype to ^8.0.3
updated eslint-plugin-import to ^2.26.0
updated eslint-plugin-jsx-a11y to ^6.6.1
updated eslint-plugin-react to ^7.31.11
updated eslint-plugin-react-hooks to ^4.6.0
updated husky to ^8.0.2
updated lint-staged to ^13.0.3
updated lodash to ^4.17.21
updated moment to ^2.29.4
updated prettier to ^2.7.1
updated react to ^18.2.0
updated react-dom to ^18.2.0
updated typescript to ^4.9.3
updated keycharm to ^0.4.0
updated propagating-hammerjs to ^2.0.1
updated uuid to ^8.3.2
updated vis-data to ^7.1.4
updated vis-timeline to ^7.7.0
updated vis-util to ^5.0.3
updated depricated babel-eslint to @babel/eslint-parser: ^7.19.1
Added tslib:^2.4.1
Added missing peer dependency xss:^1.0.0
added react 18 as a peer dependency option.

Any updates on this fix?

bump

authors: ChadJPetersen FerJSsilva thisKeeWord

repo: razbensimon/react-vis-timeline


text:
Endpoint presenter error

Добрый день. При попытке сгенерировать любую документацию возникает исключение.
Воспроизвести ошибку можно следующим образом:
sw_vers
#ProductName:   Mac OS X
#ProductVersion:    10.10.5
#BuildVersion:  14F1021

git clone https://github.com/sanyco86/qna.git
git checkout lesson_15

rvm gemset create qna
rvm use 2.2.3@qna
echo ruby-2.2.3 > .ruby-version
echo qna > .ruby-gemset

gem install bundler --no-rdoc --no-ri
bundle install

rm -rf lurker
rm -rf public/lurker
rspec spec/api/v1/

lurker init_docs # создаются доки
lurker convert #возникает та же ошибка, что и у меня.

/.rvm/gems/ruby-2.2.3@qna/gems/lurker-0.6.10/lib/lurker/presenters/endpoint_presenter.rb:140:in `named_path': undefined method `sub' for nil:NilClass (ActionView::Template::Error)

Текст исключения:
/usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/presenters/endpoint_presenter.rb:140:in `named_path': undefined method `sub' for nil:NilClass (ActionView::Template::Error)
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/templates/layouts/_sidemenu.html.erb:10:in `block (2 levels) in __usr_local_rvm_gems_ruby_______so_gems_lurker________lib_lurker_templates_layouts__sidemenu_html_erb___700750596495858882_20275880'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/templates/layouts/_sidemenu.html.erb:5:in `each'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/templates/layouts/_sidemenu.html.erb:5:in `block in __usr_local_rvm_gems_ruby_______so_gems_lurker________lib_lurker_templates_layouts__sidemenu_html_erb___700750596495858882_20275880'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/templates/layouts/_sidemenu.html.erb:1:in `each'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/templates/layouts/_sidemenu.html.erb:1:in `__usr_local_rvm_gems_ruby_______so_gems_lurker________lib_lurker_templates_layouts__sidemenu_html_erb___700750596495858882_20275880'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/template.rb:145:in `block in render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/activesupport-4.2.3/lib/active_support/notifications.rb:166:in `instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/template.rb:333:in `instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/template.rb:143:in `render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/partial_renderer.rb:339:in `render_partial'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/partial_renderer.rb:310:in `block in render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/activesupport-4.2.3/lib/active_support/notifications.rb:164:in `block in instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/activesupport-4.2.3/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/activesupport-4.2.3/lib/active_support/notifications.rb:164:in `instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/abstract_renderer.rb:39:in `instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/partial_renderer.rb:309:in `render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/renderer.rb:47:in `render_partial'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/helpers/rendering_helper.rb:35:in `render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/templates/layouts/application.html.erb:41:in `__usr_local_rvm_gems_ruby_______so_gems_lurker________lib_lurker_templates_layouts_application_html_erb___3849730247063454525_29027580'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/template.rb:145:in `block in render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/activesupport-4.2.3/lib/active_support/notifications.rb:166:in `instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/template.rb:333:in `instrument'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/template.rb:143:in `render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/template_renderer.rb:66:in `render_with_layout'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/template_renderer.rb:52:in `render_template'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/template_renderer.rb:14:in `render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/renderer.rb:42:in `render_template'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/renderer/renderer.rb:23:in `render'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/rendering.rb:100:in `_render_template'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionview-4.2.3/lib/action_view/rendering.rb:83:in `render_to_body'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/actionpack-4.2.3/lib/abstract_controller/rendering.rb:43:in `render_to_string'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/presenters/service_presenter.rb:19:in `to_html'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/cli.rb:89:in `convert_to_html'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/cli.rb:74:in `block in convert'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/thor-0.19.1/lib/thor/actions.rb:184:in `block in inside'
	from /usr/local/rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/fileutils.rb:127:in `chdir'
	from /usr/local/rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/fileutils.rb:127:in `cd'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/thor-0.19.1/lib/thor/actions.rb:184:in `inside'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/lib/lurker/cli.rb:68:in `convert'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
	from /usr/local/rvm/gems/ruby-2.2.3@so/gems/lurker-0.6.10/bin/lurker:14:in `<top (required)>'
	from /usr/local/rvm/gems/ruby-2.2.3@so/bin/lurker:23:in `load'
	from /usr/local/rvm/gems/ruby-2.2.3@so/bin/lurker:23:in `<main>'
	from /usr/local/rvm/gems/ruby-2.2.3@so/bin/ruby_executable_hooks:15:in `eval'
	from /usr/local/rvm/gems/ruby-2.2.3@so/bin/ruby_executable_hooks:15:in `<main>'

@yorikim thanks for nice bug report :+1:
fixed in 0.6.11
I also advise to change in your application's config/routes.rb:
-  namespace :api do
+  namespace :api, defaults: { format: 'json' } do


text:
Uninstalling rbenv

I can't uninstall rbenv from Debian 8 server.
Readme says "simply remove the rbenv init line from your shell startup configuration"
I can't found rbenv init. Where is shell startup configuration?

The "shell startup configuration" files are typically named like this and are in your home directory: .profile, .bashrc, .bash_profile, .zshrc, .zshenv (depending on the shell that you use). Check them for any mention of "rbenv" and delete only those lines that mention it. After that, and restarting your shell, running ruby or any Ruby-related command will not go through rbenv anymore.
Additionally, to eliminate any remains of rbenv installation on your system, you should remove the directory listed by rbenv root command (typically this is ~/.rbenv), and then remove the rbenv package itself if it was installed by a package manager.
I hope all this helps!

repo: rbenv/rbenv


text:
Demo updates to highlight implementation aspects

The changes have updates in the windloaded-mount demo to highlight implementation aspects.

I merged the pull-request with cli

authors: rconan rodrigo-romano

repo: rconan/dos-actors


text:
🛑 dev.rcpch.ac.uk is down

In 44bed61, dev.rcpch.ac.uk (https://dev.rcpch.ac.uk) was down:

HTTP code: 0
Response time: 0 ms

Resolved: dev.rcpch.ac.uk is back up in b1d6e88.

Resolved: dev.rcpch.ac.uk is back up in 37d583f.

repo: rcpch/digital-growth-charts-upptime


text:
🛑 dev.rcpch.ac.uk is down

In 652acaa, dev.rcpch.ac.uk (https://dev.rcpch.ac.uk) was down:

HTTP code: 503
Response time: 1289 ms

Resolved: dev.rcpch.ac.uk is back up in e461a09.


text:
TCPClient stay alive , send message and receive

Hello , i'm trying to do smart Home application which will connect to TCP Server
i was using socket on Unity but i decided to move to xamarin
i tried your plugin it's great , just when i connect to server and send message , i want to stay connected and send the message
not after i disconnect the message be sent , because i need to keep the client connected to the server for the server sending update sometimes to the client
how it can be done ?

ok i got it , it's my fault since i don't understand too much i forgot to use
StreamWriter _streamWriter;
then i do that afte rconnect
_streamWriter = new StreamWriter(client.GetStream());
        _streamWriter.WriteLine("text");
        _streamWriter.Flush();

thank you , this answer for anybody had the same miss understanding like me

Yes - the socket was likely being flushed on disconnect - you could call Flush yourself (as you have done) or specify a 0 buffer size if you're happy with the implications of that 👍

authors: SmartAv rdavisau

repo: rdavisau/sockets-for-pcl


text:
fix(TextBox): update Text patching to allow for proper dimension setting and text centering

Description
This PR updates how the patch object for the Text tag is created to ensure the tag can get the proper parent dimensions it needs in order to center text.
References
LUI-1324
Testing
In the TextBox story, add textAlign: 'center' to the textStyle. You should see that the text properly centers when you toggle the control for fixed.
Automation

Checklist

[ ] all commented code has been removed
[ ] any new console issues have been resolved
[ ] code linter and formatter has been run
[ ] test coverage meets repo requirements
[ ] PR name matches the expected semantic-commit syntax

Test Execution Failed.

Test Execution Failed.

Test Execution Failed.

repo: rdkcentral/Lightning-UI-Components


text:
Add extn sender unit tests

What
What does this PR add or remove?
Why
Why are these changes needed?
How
How do these changes achieve the goal?
Test
How has this been tested? How can a reviewer test it?
Checklist

[ ] I have self-reviewed this PR
[ ] I have added tests that prove the feature works or the fix is effective

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/Ripple/419/rdkcentral/Ripple

Commit: 37f5a7d39cca779a016852a4f1d0dbe670078a86

Report detail: gist

WARNING: A Blackduck scan failure has been waived
A prior failure has been upvoted

Upvote reason: OK

Commit: 37f5a7d39cca779a016852a4f1d0dbe670078a86

repo: rdkcentral/Ripple


text:
RDKCOM-4702 SGMM393-181 : Get exact power states

RDKCOM-4702 SGMM393-181 : Get exact power states
This change is for "onSystemPowerStateChanged" event is not getting triggered for ON state
(cherry picked from commit 35cd7785937a2a588d7f70da23203d556147a3f9)
Signed-off-by: HarshiniRavichandran harshini_ravichandran@comcast.com

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: HarshiniRavichandran:x: achand551achand551 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: HarshiniRavichandran:x: achand551achand551 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: ArchaChandran CLAassistant

repo: rdkcentral/rdkservices


text:
Add autogenerated .d.ts file

As mentioned in #389, a .d.ts file was generated with the --embind-tsd flag, and added to the repo.
TODO:

Modify the build script?

sorry for the delays here @adam-of-barot , this is a bit crazy at work since September, but I'll get to reviewing I promise 🤞

authors: MichelML adam-of-barot

repo: rdkit/rdkit-js


text:
OpenMM integration

Hi, is there a special version of RDKit that we need to install to get the OpenMM plugins?
For example the ipynb created by @ptosco here: https://gist.github.com/ptosco/7feeda611f6bfd1095fecc2b07a73b87
fails with error "AttributeError: module 'rdkit.Chem.AllChem' has no attribute 'MMFFGetMoleculeOpenMMForceField'"
How do I get this to work? Is there some special installation for the RDKit build with OpenMM plugins included? Has it been deprecated?

Configuration:

RDKit Version: '2019.03.2'
Operating system: CentOS Linux release 7.7.1908 (Core)
Python version (if relevant): 3.6.9
Are you using conda? Yes
If you are using conda, which channel did you install the rdkit from?
If you are not using conda: how did you install the RDKit?

@ptosco just remembered that I asked this: https://github.com/rdkit/rdkit/issues/2897
a while back.
Did you make any progress on this? If not, can I have access to your testing branch?

@tarungog I have some work planned on this starting from next week. The aim is to merge my 2-year old OpenMM branch with the current RDKit, resolve all conflicts and get it in a usable state where other people can start working and contribute.

@ptosco that sounds great. would you be done with that process by the end of the week? I need this sooner rather than later, so I may just checkout your fork. It's this one correct?
https://github.com/ptosco/rdkit/tree/openmm_mmff
Few questions:
(1) Is it relatively stable?
(2) rdkit now is not super different than it was 2 years ago, yes?

@tarungog I hope so, but I can't promise. I work on RDKit in my free time, which is very little at the moment.
(1) Energies on small molecules are computed correctly. However, there are almost certainly inconsistencies/mistakes in the way long range interactions in periodic systems are currently handled. I would not recommend using this for any production work, as results may be scientifically incorrect. This requires thorugh testing and validation, which takes time and is what I haven't been able to do yet.
(2) It is certainly different, and I would expect some conflicts in attempting to merge that branch with the current trunk. Furthermore, the way the OpenMM bit interfaces with the RDKit is clunky and subptimal.

@ptosco I see, I'll refrain from using your branch then. Very thankful for your contributions. Please tag me in this thread when this work is finished/makes enough progress to be usable.

@tarungog I'll certainly do!

@ptosco do you know of any starter code for using other forcefields from OpenMM (Such as GAFF) for small molecules in RDKit type Mol/Conformer objects?

@ptosco any progress on this issue?

@tarungog: just an FYI that @wvandertoorn submitted a proposal to Google Summer of Code to do an expanded and production version of the RDKit/OpenMM integration that Paolo started. We won't know whether or not that has been selected until early May, but I'm hopeful that it will be and that we'll end up with something stable and useful here.

@greglandrum I see. So in the short term, I should not expect any such integration?

@tarungog In terms of having a validated, production code, it is not going to happen in the short term. I haven’t had time so far to make progress on the merging of what I have with the current OpenMM and RDKit trunk, and while this is definitely on my to-do list, it has not popped ti the top of the stack yet.

@tarungog : Unfortunately not. As @ptosco says: it's a lot of work to do this and get it robust and validated. Assuming the GSoC proposal is accepted and the project goes well, we'll have the integration available for the 2020.09 release.

@greglandrum @ptosco no problem! thanks for the effort. But in the short run, do you know of any starter code to use GAFF from openmm via the openforcefield package to minimize RDKit molecules?

@tarungog Have a look at this nice blog post from Taka:
https://iwatobipen.wordpress.com/2019/05/21/current-version-openforcefield-supports-rdkit-rdkit-openforcefield-chemoinformatics/
It should provide a good starting point. The OpenForceField GitHub page also has some examples how to do this. Get in touch if you have problems.

@ptosco it works great! now, how do I utilize GPU acceleration through openforcefield? I'm not seeing any API for this.

@tarungog You need to do that using the OpenMM API.
When you set up the Simulation:
simulation = app.Simulation(Topology, System, integrator)

you can pass a Platform object:
http://docs.openmm.org/development/api-python/generated/simtk.openmm.app.simulation.Simulation.html#simtk.openmm.app.simulation.Simulation
http://docs.openmm.org/development/api-python/generated/simtk.openmm.openmm.Platform.html#simtk.openmm.openmm.Platform
which allows you to use CUDA or OpenCL as platforms for your simulation.

@ptosco awesome. it's working. one last question. The force field from the example
ff = ForceField('test_forcefields/smirnoff99Frosst.offxml')
is very slow indeed. I am assuming it is much more complicated than RDKit's native MMFF, which is blazing fast even on CPU. I did a CPU minimization of a simple pentane in RDKit, and it took 10 ms. In OpenForceField Smirnoff w CPU, it takes a minute. It is shortened to around 1 second by GPU acceleration.
I originally started looking down this path looking for a speedup from the RDKit's MMFF. Is there a quick and dirty force field included in this package that you know of?

The functional form of GAFF is simpler (i.e., it has less terms) then MMFF94, so it should be faster. One minute for a pentane is way too much. Note that Taka's example also does 30000 steps of molecular dynamics on top of the minimization, which is what could be taking time.

@ptosco you were right about the MD sim that i forgot to comment out. Is GAFF the same thing as the 'smirnoff99Frosst.offxml' from the example?
And do you have any idea why 'reference' platform performs insanely better than all the others, including CUDA on a high powered GPU?

Thanks so much for your help btw

The system is too small to take advantage of the GPU. OpenMM is optimized
for 1000+ atom systems.
On Mon, Apr 6, 2020 at 10:31 PM Tarun Gogineni notifications@github.com
wrote:

@ptosco https://github.com/ptosco you were right about the MD sim that
i forgot to comment out. Is GAFF the same thing as the
'smirnoff99Frosst.offxml' from the example?
And do you have any idea why 'reference' platform performs insanely better
than all the others, including CUDA on a high powered GPU?
[image: image]
https://user-images.githubusercontent.com/15879686/78623738-55c95580-7856-11ea-9c19-bd9e0ff64db3.png
Thanks so much for your help btw
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rdkit/rdkit/issues/3021#issuecomment-610138587, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARM2FGCOZ5PIXYPZ7LDOWLRLKGBTANCNFSM4LQB6ZXA
.

--
Yutong Zhao

I see @proteneer, so will there not be an improvement until we hit molecules of size 1000+?

Also, larger systems with ambiguous chiral centers are unable to be easily converted into the OFMol. How do we arbitrarily specify this and continue?

Hello, @ptosco ! I was searching for the source code for MMFFGetMoleculeOpenMMForceField() from your notebook and found this issue. I know, that you have no free time for merging your branch now. But perhaps you can give a source code for this forcefield implementation.  I am particularly interested in implementation MMFF forcefield to the OpenMM

The source code is on branches of my own GitHub forks of openmm and rdkit. As I mentioned in other occasions, the code is not in a production state and I cannot make any guarantees on the correctness of results it provides. Last time that I used it it was passing all energy tests, but there were things to be looked into/fixed regarding periodic simulations.

authors: fedyaryabov greglandrum proteneer ptosco tarungog

repo: rdkit/rdkit


text:
Cross-component dependencies

Apologies in advance for being a little long-winded. tldr: Aren't all the cross-component dependencies in this boilerplate encouraging the development of monolithic apps? Is that even something I should be concerned with?

I've been using this boilerplate for a few weeks now and for the most part am pleased with it. Thanks to everyone for all the effort put into it! One reason I selected it was that I very much agree with organizing files into component folders. This is so much better than having a folder for each type of file (actions folder, reducers folder, images folder, etc.)
However, now that I've spent some time with it and have a greater understanding of the structure, I'm finding it hard to eliminate cross-component dependencies. This concerns me, as I've spend the last few years moving away from tightly-coupled monolithic designs toward isolated, modular, microservice architectures.
Is it just me, or are things at odds with one another with this boilerplate? We want our components to be isolated, but still provide a way to interact with the rest of the application. We want to avoid code duplication, so we write action creators, selectors, sagas, and event name constants. But often, more than one component will need to use those actions, selectors, sagas, and constants. So we end up with a web of imported modules that becomes increasingly harder to keep track of as the application grows. And then there is the question of where to put things like authentication reducers/selectors/sagas/etc that are needed in multiple components.
Here are some imports in a recent version of react-boilerplate that reference files outside their scope, either from a parent or a sibling:
// from app/containers/HomePage/index.js
import { loadRepos } from '../App/actions';
import { selectRepos, selectLoading, selectError } from 'containers/App/selectors';

// from app/containers/LanguageProvider/reducer.js
import { DEFAULT_LOCALE } from '../App/constants';

// from app/containers/LocaleToggle/index.js
import { appLocales } from '../../i18n';
import { changeLocale } from '../LanguageProvider/actions';
import { selectLocale } from '../LanguageProvider/selectors';

I realize this is a simplistic example, but in my own much larger app based on this boilerplate, I'm finding it increasingly difficult to isolate features. Sagas in one component are needing to access selectors, actions, and constants in other components or from the app level. It just seems dirty to me. I worry about code-splitting and reuse. But I don't have a better solution.
I would love to hear from @mxstbr and other contributors about these design decisions. Having read through many of the past issues, I know there has been lots of talk about the organization and design of this boilerplate. I'm sure there are good reasons for many of the choices.

Is the design simply a symptom of the react and redux architecture?
If not, was it an intentional design decision and what was the reasoning?
If this is not the desired design, do you simply need more time to better separate concerns?
Is the monolithic nature of apps built in this manner not concerning to anyone else?
Or have these cross-dependencies just not yet been considered?
How do these cross-dependencies affect code-splitting?
Without better isolation, how can these components be reused in other apps, especially if the state shape is not the same?

For a little background, I recently built a large enterprise real-time application using web components (via Polymer). I'm not trying to compare React/Redux with it in the least, but the design pretty much enforced isolation. It was important to build components that were portable and reusable, so I'm struggling to accept some of the patterns I'm seeing here.
Note that this is my first large-scale React project, but I have years of full-stack javascript experience. So perhaps I haven't yet learned the right way to do things in react/redux. Or maybe this is just the norm for react/redux development and I need more time to get used to it.

I have probably less experience with it than you but since we started to work using a clean react boilerplate I can see that the more it grows the more I see cross-imports.
We are rewriting bootstrap 4  using 100% styled components from a-Z incl doc.
To get the full features for my components:

Components that work with theming
Components that has default theming values
Components that can also work without theming
Components that can also work for react/native
Being able to share it quickly to the opensource community

Problem is it's a lot of work to figure out how to remove properly theses imports and create packages quickly like in Java. I feel it's almost impossible in some cases.
I think it's an interesting question, thanks for asking it.

It's really not a good practice access selectors, actions, and constants in other components. To simplify and make the components clean, I would like to put all the share selector, actions, and constants in the global scope(the app level). I know it will make the app level complicate, but it's easier to maintain the whole project.

@kopax Is bootstrap going to be using the styled-components?
@tauren Great question, it appears to be mostly related to Redux! I personally believe Redux is popular because it is abstract. This is good and bad, GOOD as it enables flexibility so you can bend it to your needs, BAD bad as it doesn't really give you an opinionated way on how to do something.
In terms of code structure, this boilerplate follows the "Domain-style", which works well when each folder is self-contained.

But often, more than one component will need to use those actions, selectors, sagas, and constants. So we end up with a web of imported modules that becomes increasingly harder to keep track of as the application grows.

That is correct, for a lot of apps, there will be shared state, actions, and selectors. How to achieve this all comes down to personal preferences and what suits your specific needs (there is no one-size fits all). One approach I've found that works fairly well is to place all shared Redux "stuff" under the App container (e.g. containers/App/ in this boilerplate), but there are many ways to achieve this.
There is a great article from Tal Kol on Medium discussing the topic of structuring. Another fantastic resource for all things React / Redux is React/Redux Links by Mark Erikson.
Not sure anything I've said will actually help, but let us know if you find something useful :)

@samit4me, yes.
You have components store on a side under components/bootstrap/{atoms/molecules/organisms}
Beside you also have mixins/utilities available in styled/helpers/bootstrap/{mixins/utilities} and configuration styled/themes/bootstrap/{atoms/molecules/organisms} with easy override by keeping default values all the time. Works pretty well. We are redoing the bootstrap documentation, I was thinking to share this work if the community can help to maintain and improve.
We didn't kept the bootstrap.js, it's all styled-components.

@taurent, I think the purpose is to have thin containers (aka container components). The container components should be reusing components (aka presentational components). In a larger feature, any global state should be passed down as a prop from the container to the component, so the components can still be reusable.
The piece of code from the example could be improved by letting LanguageProvider have all the locale related values and states. DEFAULT_LOCALE should not be in App/constants but in LanguageProvider/constants.
Then the HomePage should have, in that example case, all the repos within the its own HomePage folder. I think in this example case was done like that just to show how you can access the parent container but it was just not a good example.
That way, the containers should only import global values that are used to handle global states like routes, locale, session (auth, user, however you want to call it).
I'm not familiar enough to the bootstrap work done by @kopax, but maybe trying to have a clear distinction between local and global states can help (maybe themes related stuff can be kept in a global state).

Here is a classic example of how there is no correct way, the docs refer to a medium article about how the author finds it useful to separate Presentational and Container components and then regrets ever writing the article in this tweet. I think the takeaway from this is, experiment and try different ways and find what works best for your use case.

Closing the issue as there is no clear action to be taken, but feel free to continue the discussion.

Not sure whether to leave a comment here or bring up a new issue.
In development, on multiple projects we've noticed that we end up with DEFAULT_LOCALE in both App/constants and LanguageProvider/constants. Additionally available locales ends up being placed in both LanguageProvider/constants and i18n.
I believe ideally it gets moved into a single location. Previously, in a later stage project we removed it from App/constants thinking this was fine as it wasn't used anywhere internally, but neglected to check the scripts folder. This was quickly found once extract-intl breaks, but it seems weird to need DEFAULT_LOCALE in two places therefore possibly with a conflicting value.
Thoughts?

@hunterwilliams def open up a new issue

authors: carlos-peru gretzky hunterwilliams kopax samit4me tauren tinybug

repo: react-boilerplate/react-boilerplate


text:
Added Netlify instructions

corrected from previous PR
React Boilerplate
Thank you for contributing! Please take a moment to review our contributing guidelines
to make the process easy and effective for everyone involved.
Please open an issue before embarking on any significant pull request, especially those that
add a new library or change existing tests, otherwise you risk spending a lot of time working
on something that might not end up being merged into the project.
Before opening a pull request, please ensure:

[ ] You have followed our contributing guidelines
[ ] Double-check your branch is based on dev and targets dev
[ ] Pull request has tests (we are going for 100% coverage!)
[ ] Code is well-commented, linted and follows project conventions
[ ] Documentation is updated (if necessary)
[ ] Internal code generators and templates are updated (if necessary)
[ ] Description explains the issue/use-case resolved and auto-closes related issues

Be kind to code reviewers, please try to keep pull requests as small and focused as possible :)
IMPORTANT: By submitting a patch, you agree to allow the project
owners to license your work under the terms of the MIT License.

I'm following these instructions but struggling with service workers. Should something be added to the instructions for how to deal with that and Netlify? This is the best info I've found so far https://www.netlify.com/blog/2018/09/21/international-service-worker-caching-awareness-day/ but still have not resolved the issue

Coverage remained the same at 100.0% when pulling 2c43ce14aa2dd4a08342feb046a63131618ff1f7 on t3db0t:patch-2 into 54c233370dfc006a305c5c92337c706b1aae9afa on react-boilerplate:dev.

authors: coveralls dominicwhyte t3db0t


text:
Deprecate useSafeState

What is the current behavior?
useSafeState is offered as a solution to situations where asynchronous functions attempt to update a component's state when the component has already unmounted, resulting in the famous Can't perform a React state update on an unmounted component error.
useSafeSate is like useState, but it does an isMounted check before allowing the state to be set. This, according to the React team, is an anti-pattern. A more fresh take on the topic, confirmed by Dan Abramov, can be found here. I won't go in to the details of why isMounted checks are an anti-pattern, because I don't want to repeat the resources linked above.
Additionally, the Can't perform a React state update on an unmounted component error has been removed in React 18, because it was considered to be misleading and caused people to invent workarounds, which the React team considered harmful (the example of a harmful workaround in the linked discussion is actually almost exactly useIsMounted).
For the above reasons, I think useSafeState has no job anymore. Lastly, it should also be considered, whether or not useIsMounted should be removed also.
This issue was also discussed a while back in #959 .
What is the expected behavior?
useState should be used instead of useSafeState. Asynchronous functions should be cancelled if the component unmounts or they should be ignored, if cancellation is not an option. From the author of the discussion linked above:

... We’re removing the warning because people work around it with isMounted which defeats the purpose. So we might as well not warn. But the proper solution is cancellation. Or ignoring if you’re lazy about cancelling.

How does this PR fix the problem?

Replace all internal usages of useSafeState with useState.
Remove useSafeState.
Remove any mentions of useSafeState from the documentation and examples.

Checklist

[x] Have you read contribution guideline?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Is there an existing issue for this PR?

link issue here

[x] Have the files been linted and formatted?
[x] Have the docs been updated to match the changes in the PR?
[x] Have the tests been updated to match the changes in the PR?
[x] Have you run the tests locally to confirm they pass?

What do you think about also removing useIsMounted? I think the same reasoning applies to it as well. I could add it to this PR.

That one still have valid usecases, when dealing with external queues, high frequency events etc.

yup

:tada: This PR is included in version 23.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

authors: ArttuOll xobotyi

repo: react-hookz/web


text:
looping option not respected when multiple players are set

First of all, thanks for your efforts to build this package. It's great!
I'm facing a weird issue though. If I set up multiple players having each of them with a different value for the looping property, then all players end up with the same behavior.
How to reproduce
  import { Player, PlaybackCategories } from '@react-native-community/audio-toolkit';

  const sounds = [
    {
      url:
        'https://assets.tophatter.com/assets/spin_icon-59f95f842a857b53561cf6afb7ef781201d118f3d38fe3d4262db1c0cc4d5c19.mp3',
      loop: true,
    },
    {
      url:
        'https://assets.tophatter.com/assets/outbid-ec54e4462be2e8ab97d95d40b0de62aff99a33b5eb1f5688a6da3b113eec654e.mp3',
      loop: false, // <<<<< do notice this is different from the previous sound
    },
  ];

  sounds.forEach(({ url, loop }, i) => {
    const player = new Player(url, {
      autoDestroy: false,
      mixWithOthers: true,
      category: PlaybackCategories.Ambient,
    });
    player.looping = loop;
    player.prepare();

    // console.log(player);

    setTimeout(() => {
      player.play();
    }, (i + 1) * 2000);
  });

What was expected
The first audio playing in a loop; The second audio playing once.
What happened
Both audios played in loop OR both played once.
Environment
Package version: 2.0.3
I'm pretty sure this issue happens on Android devices. Not sure about iOS.

It seems this issue could be fixed by having https://github.com/react-native-audio-toolkit/react-native-audio-toolkit/pull/245 merged.

Hello there 👋
I made a fork of this project and create a npm package with the #245 and #224 fixes.
Hope it could help !

Hi @KrisLau
It's been long time now 😄
I deep dived into my old project to try to answer you. It looks like I was using player.destroy() instead.
Otherwise, you should consider using expo-av. Even for a bare react native project.
Hope it could help.
Cheers

@devpolo Thanks, I'll try it out! Does expo-av allow for simultaneous play of two audio tracks? I've tried a bunch of other packages and for some reason this is the only one that seems to support simultaneous play.

I never tried it.
But expo-av is highly maitained and it looks like (not sure) you can play two audios at the same time. Maybe you could check the repo's issues and PRs?
If like me you are working on a meditation app, I am using:

react-native-track-player for reading the main audio (because it have a good caching support)
my fork version of react-native-audio-toolkit for the secondary audio (like birds, sea, etc..).
react-native-music-control to control them both.

It's working but it's not a very clean way to do it. I'll love to have your feedback on expo-av if you are going to test it out.
Cheers

So I looked into it and it seems like it should be able to? I modified an existing snack as a POC and it seems to work as expected.
I'm currently using a similar structure to yours with react-native-track-player and your fork (on the suggestion of another user in a different thread). I'm building a baseball walk up music player instead of a meditation app though haha. I'll try to port over to Expo-AV and I'll let you know how it goes!

authors: KrisLau cristianocasm devpolo


text:
Fix useAppState dependencies list

This was already fixed with this PR but it looks that you had a regression in this commit and reverted the fix

Fixed in 9bb5a3c9f4ba102c48e3f2e865a6825f1aff96c9. With the js and ts files, it was easier for me to just fix the code than fix the PR 😬.
Thank you!

authors: arielger pvinis

license: ISC


text:
Podfile is broken in 2.0.1

Environment
React Native Environment Info:
System:
OS: macOS 10.14.4
CPU: (8) x64 Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz
Memory: 127.13 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 11.12.0 - /usr/local/bin/node
Yarn: 1.15.2 - /usr/local/bin/yarn
npm: 6.7.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
IDEs:
Android Studio: 3.3 AI-182.5107.16.33.5314842
Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.4 => 0.59.4
npmGlobalPackages:
create-react-native-app: 1.0.0
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
Platforms
iOS
Versions

react-native-netinfo: 2.0.1
react-native: 0.59.4
react: 16.8.3

Description
After upgrading from 2.0.0 to 2.0.1 pod init returns in this error. [!] No podspec found for 'react-native-netinfo' in '../node_modules/@react-native-community/netinfo' before the update everything is working fine. There's no new instruction for linking or a warning in the release.

👋 Thanks for reporting this. I have an idea what this is and will work to have a fix out by tomorrow

authors: matt-oakes vdlindenmark


text:
Added postMessage to Typescript index.d.ts declaration

postMessage is defined with typings in the following files, but not exposed via index.d.ts. This fixes that
Android:
https://github.com/react-native-community/react-native-webview/blob/d61d335f80a9d9aa613f00e4e2592dba3f289bb4/src/WebView.android.tsx#L108
iOS:
https://github.com/react-native-community/react-native-webview/blob/d61d335f80a9d9aa613f00e4e2592dba3f289bb4/src/WebView.ios.tsx#L177

Summary

postMessage wasn't type-checking correctly in Typescript
Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅

Android
✅

Checklist

[x] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[x] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

PostMessage will be removed, it's already deprecated in favor or injectJavascript, see #438

authors: Titozzz hsource


text:
ios Error symbol(s) not found for architecture x86_64

How to solve this problem ? I use this on new project to test run my default program and it show error
Here is my PodFile to resolve symbol not found problem

after 'Pod Install'
Here is the error.

is there a way to install this RNTrackPlayer ?
Step I try

Create New project
yarn add react-native-track-player
open ios project and show : Symbol(s) not found for architecture x86_64 (Solved when install pod)

Stuck in this problem

@shiroze how did you fix this? Please don't just close an issue without posting the solution...

@shiroze how did you fix this? Please don't just close an issue without posting the solution...

Create .swift File
you can check the Here

@shiroze appreciate it! that worked.

@shiroze appreciate it! that worked.

your welcome, dont forget give response so other can solve it.
Happy to help.

authors: rtman shiroze


text:
 doesn't works in Modal Component [Android]

Bug report
Summary
I'm using  component from react-native-maps 0.28.0, So I decided to draw that component into a  for get user location and so on, I'm using  component that comes from -> react-native-magnus (https://magnus-ui.com/docs/modal/) but I don't think that's the problem, because that magnus modal component it's based on react-native-modal. I try to set flex: 1 to  Component, I've checked the permissions, but it doesn't works for me.
Environment info
OS: Windows 10
Platform: Android (Real Phone Xiaomi Redmi Note 8 Pro)
React: 17.0.1
React Native: 0.64.1
React Native Maps: 0.28.0
React Native Magnus: 1.0.62
React Native Modal: 12.0.2
System:     OS: Windows 10 10.0.19041     CPU: (4) x64 Intel(R) Core(TM) i3-4130 CPU @ 3.40GHz     Memory: 2.81 GB / 7.92 GB Binaries:     Node: 14.17.3 - ~\AppData\Local\Temp\yarn--1626544554660-0.5613243802934613\node.CMD     Yarn: 1.22.5 - ~\AppData\Local\Temp\yarn--1626544554660-0.5613243802934613\yarn.CMD     npm: 6.14.13 - C:\Program Files\nodejs\npm.CMD     Watchman: Not Found SDKs:     Android SDK:       API Levels: 29, 30       Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.2       System Images: android-29 | Intel x86 Atom_64     Android NDK: Not Found     Windows SDK: Not Found IDEs:     Android Studio: Version  4.0.0.0 AI-193.6911.18.40.6626763     Visual Studio: Not Found   Languages:     Java: 1.8.0_262 - C:\Program Files\OpenJDK\openjdk-8u262-b10\bin\javac.EXE   npmPackages:     @react-native-community/cli: Not Found     react: 17.0.1 => 17.0.1     react-native: 0.64.1 => 0.64.1     react-native-windows: Not Found   npmGlobalPackages:     *react-native*: Not Found

It should be clarified that it works perfectly is a  component or within a React Navigation Tab and so on, but within a  it does not work.

I just did a quick test, the following works perfectly fine for me:
import React from 'react';
import {StyleSheet, Modal, View} from 'react-native';
import MapView from 'react-native-maps';

export default function App() {
  return (
    <View style={styles.container}>
      <Modal visible={true}>
        <MapView style={styles.mapView} />
      </Modal>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  mapView: {
    flex: 1,
  },
});

I'm going to close this for now, as I don't think it's related to react-native-maps. If you believe that this is still relevant and related to react-native-maps, please feel free to open a new issue.

repo: react-native-maps/react-native-maps


text:
ClipPath is not working properly on Android without clipRule prop

Bug

Looks like ClipPath has only id prop, but at the same time code below do not working properly on android without this prop
Environment info
 System:
    OS: macOS 10.15.5
    CPU: (8) x64 Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
    Memory: 19.82 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 12.2.0 - ~/.nvm/versions/node/v12.2.0/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.14.5 - ~/.nvm/versions/node/v12.2.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 13.5, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7142.36.36.6392135
    Xcode: 11.5/11E608c - /usr/bin/xcodebuild
  Languages:
    Java: 9.0.4 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.11.0 => 16.11.0
    react-native: 0.62.2 => 0.62.2
  npmGlobalPackages:
    *react-native*: Not Found

Library version: 12.1.0
Steps To Reproduce
Issues without reproduction steps or code are likely to stall.

Use code below
Try it with // @ts-ignore clipRule={'evenodd'} and without

Describe what you expected to happen:

It should work without it OR need to fix the TS (types)

Short, Self Contained, Correct (Compilable), Example
<Svg width={'100%'} height={'100%'} viewBox={'0 0 256 340'}>
              <Defs>
                <Rect
                  id={'backgroundRect'}
                  x={-1}
                  y={-1}
                  width={258}
                  height={342}
                  fill={BACKGROUND_COLOR}
                />
                <Rect
                  id={'faceOvalRect'}
                  x={1}
                  y={1}
                  width={254}
                  height={338}
                  ry={127}
                  stroke={'#fff'}
                  strokeWidth={2}
                />

                <ClipPath
                  id={'clip'}
                  // @ts-ignore
                  clipRule={'evenodd'}
                >
                  <G>
                    <Use href={'#backgroundRect'} />

                    <Use href={'#faceOvalRect'} />
                  </G>
                </ClipPath>
              </Defs>

              <Use
                href={'#backgroundRect'}
                clipPath={'url(#clip)'}
                clipRule={'evenodd'}
              />

              <Use href={'#faceOvalRect'} />
            </Svg>

Yep, that was my problem too. Thanks for this

I tested the property and it works perfectly, just the type for this component was not added. So I opened a PR with a fix for this issue.

Fixed in react-native-svg@12.1.1-0

@magicismight
why the new version does not follow semantic version rules? is it a stable version or an RC version? (I think just 12.1.1 was better)
also, please consider updating the changelog if you have time for it. Thanks

@magicismight
why the new version does not follow semantic version rules? is it a stable version or an RC version? (I just think 12.1.1 was better)
also, please consider updating the changelog if you have time for it. Thanks

@magicismight
why the new version does not follow semantic version rules? is it a stable version or an RC version? (I just think 12.1.1 was better)
also, please consider updating the changelog if you have time for it. Thanks

It's a RC version, I will release 12.1.1 later.

it looks like it's already marked as latest on npm

@hehex9 is right, it's marked as the latest version on npm.

I finally got around this issue with an odd solution! (I also update react-native-svg to12.1.1 but no luck)
It was working fine in iOS even without clipRule parameter, so I ended up changing clipRule to its other variant whenever the props.data was changing (only when the device is android). so this is my workaround that works on both iOS and android:
    const [clipRule, setClipRule] = React.useState('evenodd')
    React.useEffect(()=>{
     if(Platform.OS === 'android') {
       setClipRule(clipRule==='evenodd' ? 'nonzero' : 'evenodd')
     }

and finally give this clipRule state as a prop to your <ClipPath/> component, like:
    <ClipPath id={"clip"} clipRule={clipRule} >
     ...
    </ClipPath>

I wish I was kidding but this works!

It worked for me, but I need to add clipRule not for ClipPath
<Defs>
  <ClipPath id="testClipPath">
    <Path d={myPath} />
  </ClipPath>
</Defs>

<Rect clipRule={Platform.isAndroid ? 'nonzero' : 'evenodd'} clipPath="url(#testClipPath)"/>

It worked for me, but I need to add clipRule not for ClipPath
<Defs>
  <ClipPath id="testClipPath">
    <Path d={myPath} />
  </ClipPath>
</Defs>

<Rect clipRule={Platform.isAndroid ? 'nonzero' : 'evenodd'} clipPath="url(#testClipPath)"/>

Does anyone know why this can be fixed by setting clipRule to nonzero

authors: Gabrielfcs Loovery ObidosDev SaeedZhiany hehex9 magicismight mshavandi mtourj zhiqingchen

repo: react-native-svg/react-native-svg


text:
[tvOS] Accessibility properties don't seem to work

Description
I am working with accessibility support on my app. I tried out TalkBack, which worked as expected on react-native-tvos.
But VoiceOver from tvOS seems to not work properly with react-native-tvos.
I add accessible properties on my Texts, and they're still not focusable via VoiceOver. I try accessibilityActions with 'activate' and I do not have my onAccessibilityAction callbacks triggered.
They do work properly on AndroidTV.
Any idea?
React Native Version
0.72.6
Output of npx react-native info

Output of `npx react-native info`
info Fetching system and libraries information...
System:
  OS: macOS 14.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 308.47 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.3.1
    path: ~/Library/Caches/fnm_multishells/24196_1699375881319/bin/node
  Yarn:
    version: 1.22.19
    path: ~/Library/Caches/fnm_multishells/24196_1699375881319/bin/yarn
  npm:
    version: 9.6.7
    path: ~/Library/Caches/fnm_multishells/24196_1699375881319/bin/npm
  Watchman:
    version: 2023.10.02.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.2
    path: /Users/pierpo/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.0
      - iOS 17.0
      - macOS 14.0
      - tvOS 17.0
      - watchOS 10.0
  Android SDK:
    API Levels:
      - "28"
      - "30"
      - "31"
      - "33"
      - "34"
    Build Tools:
      - 29.0.2
      - 30.0.2
      - 30.0.3
      - 31.0.0
      - 33.0.0
      - 34.0.0
    System Images:
      - android-24 | Google APIs ARM 64 v8a
      - android-31 | Google TV ARM 64 v8a
      - android-31 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10811636
  Xcode:
    version: 15.0.1/15A507
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.6
    path: /usr/bin/javac
  Ruby:
    version: 3.0.3
    path: /Users/pierpo/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native: Not Found
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: false
  newArchEnabled: false
iOS:
  hermesEnabled: false
  newArchEnabled: false

Steps to reproduce
I put the following code in packages/rn-tester/js/RNTesterAppShared.js, and I activated VoiceOver in the tvOS settings.
  return (
    <RNTesterThemeContext.Provider value={theme}>
      <View style={{backgroundColor: 'black', padding: 100, gap: 20}}>
        <Text
          accessible
          accessibilityLabel="read me if you can"
          style={{color: 'white', fontSize: 40}}>
          Hello, I want to be focused through accessibility but it doesn't work
          :'(
        </Text>
        <View
          accessible
          accessibilityLabel="try to focus this box if you can"
          style={{backgroundColor: 'green', height: 50, width: 50}}
        />
        <TouchableOpacity
          accessible
          accessibilityRole="button"
          accessibilityActions={[{name: 'activate'}]}
          onAccessibilityAction={() => console.log('did I work? do I didnt')}
          style={{backgroundColor: 'grey', padding: 10}}>
          <Text style={{color: 'white', fontSize: 40}}>FIRST BUTTON</Text>
        </TouchableOpacity>
        <TouchableOpacity
          accessible
          accessibilityRole="button"
          accessibilityActions={[{name: 'activate'}]}
          onAccessibilityAction={() => console.log('did I work? do I didnt')}
          style={{backgroundColor: 'grey', padding: 10}}>
          <Text style={{color: 'white', fontSize: 40}}>SECOND BUTTON</Text>
        </TouchableOpacity>
      </View>
    </RNTesterThemeContext.Provider>
  );

Snack, screenshot, or link to a repository
In this example, I can only focus the two TouchableOpacity, and that's it. I would expect the green square and the text to be focusable as well.

I'll take a look.

authors: douglowder pierpo

repo: react-native-tvos/react-native-tvos


text:
Android video got stuck.

I am handling video playing state on the basis of navigation listener. Initially pause caused the video stuck. If I do it for a second time it is working as expected. The problem seems to happen on the initial change of video playing state change.

I am also facing same issue in react-native-video 5.1.1. Any solution for this?

authors: aniket-dalvi talharshad

repo: react-native-video/react-native-video


text:
Video doesn't start over. (Aways starts From 5th second)

Bug
Whenever a video just starts, it's working as expected in iOS; The video starts from over, but on the Android platform;
the video always starts from 5th second.
Tested Android Devices;
Android 8.0 Samsung Galaxy J7.
Android 9.0 Genymotion AOSP Emulator.
Platform
Android,
Which player are you experiencing the problem on:

Android MediaPlayer

Environment info
React native info output:
Emirhan-Mac:Instory admin$ npx react-native info
info Fetching system and libraries information...
System:
    OS: macOS 10.15.7
    CPU: (4) x64 Intel(R) Core(TM) i5-4570S CPU @ 2.90GHz
    Memory: 75.95 MB / 8.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 16.9.1 - /usr/local/bin/node
    Yarn: Not Found
    npm: 7.21.1 - /usr/local/bin/npm
    Watchman: 2021.09.06.00 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.11.2 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 2020.3 AI-203.7717.56.2031.7678000
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.12 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.66.1 => 0.66.1
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Library version: 5.2.0, (Same behavior 5.1.1)
Steps To Reproduce
import React from "react";
import {View} from "react-native";
import Video from "react-native-video";

export default function ({navigation, route}) {
    // Generic video url. Video source is doesn't matter.
    let url = "https://instagram.fyei6-2.fna.fbcdn.net/v/t50.12441-16/254543884_607634906941287_3" +
        "564336645438686217_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjY0MC5zdG9yeS5iYXNlbGl" +
        "uZSIsInFlX2dyb3VwcyI6IltcImlnX3dlYl9kZWxpdmVyeV92dHNfb3RmXCJdIn0&_nc_ht=instagram.fyei6-2.fna.fbcdn" +
        ".net&_nc_cat=103&_nc_ohc=1DqlbW6Q8eoAX9_SaAM&edm=ANmP7GQBAAAA&vs=305491274726127_2316255504&_nc_vs=HBksFQ" +
        "AYJEdBd0lMQTluQjhnR3BDZ0NBQW5FUjF0TEVYY3hicGt3QUFBRhUAAsgBABUAGCRHQ0VNTXdfdnpWUFJ0UmdEQUlsak9qVlg1REpRYnBrd0FB" +
        "QUYVAgLIAQAoABgAGwGIB3VzZV9vaWwBMRUAACaQj4j5ubrOQBUCKAJDMywXQCshysCDEm8YEmRhc2hfYmFzZWxpbmVfMV92MREAdegHAA%3D%3D&ccb=" +
        "7-4&oe=618CB4DC&oh=ae3d636d3a43cefe7a6cd3fb74cb85e2&_nc_sid=276363";

    return (

        <View
            style={{
                flex: 1,
            }}>

            <Video
                ref={ref => this.videoRef = ref}
                resizeMode={"stretch"}
                onProgress={(event) => {
                    console.log("On Progress ->", event)
                    this.videoRef.seek(1)
                }}
                repeat={true}
                controls={true}
                source={{uri: url}}
                style={{
                    width: "100%",
                    height: "100%",
                    backgroundColor: "#f33"
                }}/>

        </View>
    );
}

<- App Logs ->
 LOG  On Progress -> {"currentTime": 0.067, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.155, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.242, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.263, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.243, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.273, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.287, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.263, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.155, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.155, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.155, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.155, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.155, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.155, "playableDuration": 0, "seekableDuration": 13.674}
 LOG  On Progress -> {"currentTime": 5.252, "playableDuration": 0, "seekableDuration": 13.674}

<- package.json ->
{
  "name": "...",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "@dudigital/react-native-zoomable-view": "^1.1.3",
    "@react-native-community/cameraroll": "^4.1.2",
    "@react-native-cookies/cookies": "^6.0.11",
    "@react-navigation/bottom-tabs": "^6.0.9",
    "@react-navigation/native": "^6.0.6",
    "@react-navigation/stack": "^6.0.11",
    "lottie-ios": "^3.2.3",
    "lottie-react-native": "^4.1.3",
    "moment": "^2.29.1",
    "react": "17.0.2",
    "react-native": "0.66.1",
    "react-native-gesture-handler": "^1.10.3",
    "react-native-linear-gradient": "^2.5.6",
    "react-native-localize": "^2.1.5",
    "react-native-mmkv": "^1.5.2",
    "react-native-safe-area-context": "^3.3.2",
    "react-native-screens": "^3.8.0",
    "react-native-svg": "^12.1.1",
    "react-native-svg-transformer": "^0.14.3",
    "react-native-swipe-list-view": "^3.2.9",
    "react-native-toast-message": "^1.6.0",
    "react-native-video": "^5.1.1",
    "react-native-webview": "^11.14.1",
    "react-redux": "^7.2.6",
    "redux": "^4.1.1",
    "rn-fetch-blob": "^0.12.0",
    "sleep-promise": "^9.1.0"
  },
  "devDependencies": {
    "@babel/core": "7.15.8",
    "@babel/runtime": "7.15.4",
    "@react-native-community/eslint-config": "2.0.0",
    "babel-jest": "26.6.3",
    "eslint": "7.14.0",
    "jest": "26.6.3",
    "metro-react-native-babel-preset": "0.66.2",
    "react-test-renderer": "17.0.2"
  },
  "jest": {
    "preset": "react-native"
  }
}

Expected behaviour
Video should start from second 0.
It's works perfectly fine in all iOS Simulators or iOS devices expect Android Devices.
Reproducible sample code
Video sample
Included in example code.

I could reproduce something similar.
Videos were starting on at 1s on some Android devices (API 28), even if I tried to seek to 0s (ref.seek(0,0)) when readyToPlay fired, the video would go to 0s only to immediately jump back to 1s.

please try to switch to exoplayer

authors: Alonew0lfxx freeboub rdjuric


text:
Dropdown stops working if rendered in form and tab is used.

I'm using some dropdown components in a form, without using a custom template. I have realized that if I change from input to input using tab, the dropdown components break throwing the following error:
Uncaught TypeError: Cannot read property 'label' of undefined.
I have notice that this.getSelectedItem() in the dropdown component is returning undefined, and I guess it's related with the code happening onMouseDown not getting executed because the input doesn't get the focus by clicking on it.

This is very interesting, looking at it! Thanks @YoYuUm

This should be fixed already!

Hi,
The problem with this was the change to only render the active tab. If you have a component with it's own state, it gets unmounted and destroyed.
My solution is to pass a prop to the Tab component onlyRenderActive that defaults to false (to keep with the same way as 0.14) that controls if it will render all the tabs or only the active.
What do you guys think? I can send this PR

Yeah ... I misunderstood this bug report, perhaps. I interpreted "and tab is used" to mean "tabbing through the form fields with the keyboard". There is a bug, as I described above, but it might be a different / new issue. LMK if you'd like me to file it as a new issue.

Maybe it was me. I read the issue and immediately thought of my case... I'll send a repro in a new issue and fix it.

Thanks @felipeleusin ! It makes a lot of sense to have that prop. In fact, for this kind of component, probably even it should default to false

I also reproduced the bug described by @jeffreywescott
When you have a form with dropdown and you're tabbing through it the value of dropdown gets changed and returns a label-attribute, but not a value-attribute of source item.

Yes please!

I think the issue was that we were spreading the onChange callback to the Input element. Then it was called with the current value. As we want to display the label as selected value, that's the passed value to the input. This way, Dropdown onChange was called with the Input value which was actually the label. It has been solved by adding it's own tab level, removing the tabIndex from Input and finally, extracting the onChange prop instead of passing it down to the Input.

authors: YoYuUm felipeleusin javivelasco jeffreywescott ktaras

repo: react-toolbox/react-toolbox


text:
Validate as the user types

I've tried every variation of setting inputs touched, playing with onChange and noTouch, and I can't figure out how to get a form field to trigger validation as the user interacts with it. Is there a way to do this?

hmm i thought this worked in the current version but i may be mistaken. Regardless we are working on getting V2 rolled out soon and i know this works in there. Its also a lot quicker :)

V2.0.0 is now out. Closing unless you find its a problem in the new version.

authors: amaschas joepuzzo

repo: react-tools/react-form


text:
Mysterious, Magical minRows

What bug are you experiencing, or what feature are you proposing?
I'd like to see additional documentation and an example demonstrating the use of minRows to better highlight and explain its use to developers new to react-table. Personally, my users languished for months waiting for me to implement a way to take the empty rows out of tables, only for me to discover the feature had been there for quite a long time. (minRows appeared in react-table a mere two weeks after I was originally asked about it. 😞) What finally drove me to make this feature request was seeing this issue: https://github.com/react-tools/react-table/issues/555 This request indicates that I'm not unique in failing to notice the amazing minRows in the docs, and therefore there's work to be done in surfacing this extremely useful setting.

There are a lot of things to "fix" in ReactTable - doco is probably not as high on the list as some of the other technical pieces. But happy for you to submit a PR.

I'm treating this feature request largely as a todo for myself. And well, you never know if someone else will randomly have the time.

So, I have never used that prop: if you set it to "zero" then any "pad rows" on the final page are not shown?
[I looked at the code and that appears to be what would happen - although I don't have a use case and would have to run up a purpose-built test]

@gary-menzel That's correct. It's very handy for cutting down whitespace on a page.
Although to be honest, the only use I can think of for setting it to a non-zero value would be to provide enough padding for the No Rows Found message to display nicely inside the body of the table. That only applies in situations where the number of returned results is less than the page size though.

Which I had thought was the original intention - so this other use may be an side effect.  I'll have a look at it when I am next in the code and add something into the doco (which I fully expect a lot of people won't read - :) - present company excepted).

@spacedarcy I am adding some notes to the doco on minRows (but no example). I am also putting a note in that indicates setting it 0 when there are no rows in the data may cause the table formatting to look strange.  Having played with it a little, I doubt I would ever use it as my users like the table page to stay the same size and the pagination buttons to not move.
I can't yet say when the doco updates (yours is only one of a couple) will be released but it will get in with the next actual push to npm.  It didn't make the cut for 6.7.5 that went up today.

Awesome, thanks. And yes, it does look a little strange with the default no rows styling when minRows is at 0. I have the opposite use case: my users don't paginate very often and the table sizes can be highly variable. So having the buttons be a 'moving target' isn't as big a priority as optimizing screen space when many tables are displayed at once. If they decide it's a problem in the future, I guess I can always use the option to have pagination controls on top!

Closing due to issue age. If you think this issue needs to be reopened, please check the latest version of React-Table for the issue once more and reopen if appropriate. Thanks!

authors: gary-menzel spacedarcy tannerlinsley

repo: react-tools/react-table