How to run TaskBoard in IIS/Windows

Hi,
I would like to share a step-by-step process on how to install and run TaskBoard under IIS in a Windows environment... at least it worked for me: #306

Download and copy the TaskBoard installation folder in your wwwroot.

Install PHP for ISS

Open IIS, right click on the TaskBoard folder and Convert into Application . The TaskBoard icon should change from a plain yellow folder into an app one.

Right click and Edit Permissions for the api folder. Be sure to grant full control to the IUSR user and the IIS_ISURS user group.

If you cannot run the install script or you don't have the vendor folder under your TaskBoard one, then download the attached folder.
vendor.tar.gz
Install the module URL Rewrite for IIS because we need to import and convert the .htaccess files in IIS, in order to rewrite the requested URLs.

In IIS, go to the api folder, open URL Rewrite and click on Import rules
Copy and paste the following rules, taken and amended from the source .htaccess file. Be sure that /TaskBoard/api/api.php matches the location in your wwwroot.

ExpiresActive Off
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^taskboard.db$ /TaskBoard/api/api.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /TaskBoard/api/api.php [QSA,L]

In IIS, go to the 2nd slim folder in the vendor one, open URL Rewrite and click on Import rules. Copy and paste the following rules, taken and amended from the source .htaccess file.

RewriteEngine On
# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /

That's all!
Browse to your localhost/TaskBoard and enjoy!

@kiswa, feel free to do anything you like with the present topic, wishing it might help.
Cheers! :-)

Thanks for taking the time to write this up!
At the very least, I'll make this a wiki page.

You're welcome!
...you did the best by making TaskBoard :+1:

Thank you! Works fine for me!

Cheers :-)
Just a little note... Taskboard was a bit slow when doing any insert/update under IIS... Initially I thought it was normal but then I did a bit of investigation and the issue can be simply fixed by changing the default SMTP settings in the api/mailConfig.php file.
I didn't need to send any email so I simply ignored the step to configure the mail... but if you do so IIS tries to connect to a fake SMTP server which of course does not exist... resulting in slowing the visual rendering on screen.
Just set your SMTP provider and Taskboard will fly fast again!

Hi, I completed setup my Taskboard in Windows, but I cannot login using admin/admin. Anyone can help? Thanks.

What errors do you get in dev tools (F12 on most setups).

I got after press F12. POST http://localhost/task board-master/api/login 405 (Method Not Allowed)  -- angular.js:9866, in which it points inside the .js file --> xhr.send(post || null);

Sounds like PHP may not be working right. What happens if you go to localhost.taskboard-master/api/login directly? (or just api/)

Hi,
@kiswa @Zipelkopf
I have deployed this is Windows 7 using IIS 7.5 and PHP and SQLLite are installed/configured.
I followed the above steps. Still receiving an issue. The site opens and I log in but when I got to settings it just keeps loading users/boards and then gives cannot load. Please refresh.
On Pressing F12 I get .The error I am getting is
Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/users/current Failed to load resource: the server responded with a status of 404 (Not Found)
fontawesome-webfont.woff2 Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/authenticate Failed to load resource: the server responded with a status of 404 (Not Found)
angular.js:11655 TypeError: fn is not a function
at angular.js:9415
at processQueue (angular.js:13248)
at angular.js:13264
at Scope.$eval (angular.js:14466)
at Scope.$digest (angular.js:14282)
at Scope.$apply (angular.js:14571)
at done (angular.js:9698)
at completeRequest (angular.js:9888)
at XMLHttpRequest.requestLoaded (angular.js:9829)
(anonymous) @ angular.js:11655
fontawesome-webfont.woff Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/boards Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/users/current Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/authenticate Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/users Failed to load resource: the server responded with a status of 404 (Not Found)
angular.js:11655 TypeError: fn is not a function
at angular.js:9415
at processQueue (angular.js:13248)
at angular.js:13264
at Scope.$eval (angular.js:14466)
at Scope.$digest (angular.js:14282)
at Scope.$apply (angular.js:14571)
at done (angular.js:9698)
at completeRequest (angular.js:9888)
at XMLHttpRequest.requestLoaded (angular.js:9829)
(anonymous) @ angular.js:11655
2:84/api/autoactions Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/users Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/boards Failed to load resource: the server responded with a status of 404 (Not Found)
2:84/api/autoactions Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/users Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/boards Failed to load resource: the server responded with a status of 404 (Not Found)
3:84/api/autoactions Failed to load resource: the server responded with a status of 404 (Not Found)
:84/api/users Failed to load resource: the server responded with a status of 404 (Not Found)

Any help would be appreciated.
Thanks

@shwetanshu21
Hi,
You have a lot of 404 (not found) in your log... I would start by double checking the ReWrite rules in IIS... including the port number. The Rewrite rules I posted above were about having the root folder under the TaskBoard one, but it looks like you moved your root folder to the upper level.
http://localhost/TaskBoard/api/... VS http://localhost:83/api/...
You can move TaskBoard under any root folder you like but you need to amend the ReWrite rules accordingly. Do you want to post a screenshot of your folder structure and the ReWrite rules you have imported?
Cheers

@Zipelkopf
Hi,
These are the rules. I modified them as per your instruction only (Thanks a lot by the way for those. Really helpful)

This is the directory

And this is how the IIS is configured. It directly points to the folder as the site (C:\Users\smehta30\Documents\Website\Taskboardmaster).

I think (maybe?!) I configured it wrong.
So as you suggested, I tried the rules without /taskboardmaster/
Like This

And I got these error

The IISUSR and IIS_IUSR has full control to api folder (and even the taskboardmaster folder) so the unauthorized error seems strange. The username and password that I tried are admin and admin, and demo and demo. Still no luck.
I am not sure if the earlier issue is fixed and this is a new issue though.
Appreciate your help.
Thanks

Hi @kiswa and @Zipelkopf
First of all, thanks a lot for the installation instructions!
The instructions worked for me to the point where I can access the login screen on localhost. However, when I try to login with admin/admin nothing happens, i.e. the login screen blinks and is shifted a little bit, but it is essentially the same.
The console prints "Failed to load resource: the server responded with a status of 500 (Internal Server Error)"
When I try to access localhost/TaskBoard/api/login I get the following (not sure if this is actually useful):
{"message":"API Error.","data":"Could not connect to database (?).","alerts":null,"trace":[{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Driver\RPDO.php","line":139,"function":"connect","class":"RedBeanPHP\Driver\RPDO","type":"->","args":[]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Driver\RPDO.php","line":312,"function":"runQuery","class":"RedBeanPHP\Driver\RPDO","type":"->","args":["SELECT COUNT() FROM user  -- keep-cache",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Driver\RPDO.php","line":349,"function":"GetAll","class":"RedBeanPHP\Driver\RPDO","type":"->","args":["SELECT COUNT() FROM user  -- keep-cache",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Adapter\DBAdapter.php","line":164,"function":"GetOne","class":"RedBeanPHP\Driver\RPDO","type":"->","args":["SELECT COUNT() FROM user  -- keep-cache",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\QueryWriter\AQueryWriter.php","line":988,"function":"getCell","class":"RedBeanPHP\Adapter\DBAdapter","type":"->","args":["SELECT COUNT() FROM user  -- keep-cache",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Repository.php","line":526,"function":"queryRecordCount","class":"RedBeanPHP\QueryWriter\AQueryWriter","type":"->","args":["user",[],"",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\OODB.php","line":457,"function":"count","class":"RedBeanPHP\Repository","type":"->","args":["user","",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Facade.php","line":1171,"function":"count","class":"RedBeanPHP\OODB","type":"->","args":["user","",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\api\helpers.php","line":386,"function":"count","class":"RedBeanPHP\Facade","type":"::","args":["user"]},{"file":"C:\inetpub\wwwroot\TaskBoard\api\api.php","line":30,"function":"createInitialUser","args":[]}]}
I browsed many of the issues posted here, but so far nothing helped (vendor folder is present, api permissions are set to full access, sqlite is enabled in php). I am a complete web programming newbie and have no clue what could be wrong nor how to fix this. Any help is highly appreciated!
Thanks a lot in advance!
Cheers,
Richard

Hi Richard,
check first you have SQLite and the PHP5 SQLite module installed in your
IIS.
Cheers
On 13 June 2018 at 15:15, rvonlant<EMAIL_ADDRESS>wrote:

Hi @kiswa https://github.com/kiswa and @Zipelkopf
https://github.com/Zipelkopf
First of all, thanks a lot for the installation instructions!
The instructions worked for me to the point where I can access the login
screen on localhost. However, when I try to login with admin/admin nothing
happens, i.e. the login screen blinks and is shifted a little bit, but it
is essentially the same.
The console prints "Failed to load resource: the server responded with a
status of 500 (Internal Server Error)"
When I try to access localhost/TaskBoard/api/login I get the following
(not sure if this is actually useful):
{"message":"API Error.","data":"Could not connect to database
(?).","alerts":null,"trace":[{"file":"C:\inetpub\wwwroot
TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Driver
RPDO.php","line":139,"function":"connect","class":"
RedBeanPHP\Driver\RPDO","type":"->","args":[]},{"file":"C:
inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean
RedBeanPHP\Driver\RPDO.php","line":312,"function":"
runQuery","class":"RedBeanPHP\Driver\RPDO","type":"->","args":["SELECT
COUNT() FROM user --
keep-cache",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\Driver\RPDO.php","line":349,"function":"GetAll","class":"RedBeanPHP\Driver\RPDO","type":"->","args":["SELECT
COUNT() FROM user -- keep-cache",[]]},{"file":"C:
inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean
RedBeanPHP\Adapter\DBAdapter.php","line":164,"function":"
GetOne","class":"RedBeanPHP\Driver\RPDO","type":"->","args":["SELECT
COUNT() FROM user --
keep-cache",[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean\RedBeanPHP\QueryWriter\AQueryWriter.php","line":988,"function":"getCell","class":"RedBeanPHP\Adapter\DBAdapter","type":"->","args":["SELECT
COUNT() FROM user -- keep-cache",[]]},{"file":"C:
inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean
RedBeanPHP\Repository.php","line":526,"function":"
queryRecordCount","class":"RedBeanPHP\QueryWriter
AQueryWriter","type":"->","args":["user",[],"",[]]},{"
file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij
redbean\RedBeanPHP\OODB.php","line":457,"function":"count","
class":"RedBeanPHP\Repository","type":"->","args":["user",""
,[]]},{"file":"C:\inetpub\wwwroot\TaskBoard\vendor\gabordemooij\redbean
RedBeanPHP\Facade.php","line":1171,"function":"count","
class":"RedBeanPHP\OODB","type":"->","args":["user","",[
]]},{"file":"C:\inetpub\wwwroot\TaskBoard\api\helpers.
php","line":386,"function":"count","class":"RedBeanPHP
Facade","type":"::","args":["user"]},{"file":"C:\inetpub
wwwroot\TaskBoard\api\api.php","line":30,"function":"
createInitialUser","args":[]}]}
I browsed many of the issues posted here, but so far nothing helped
(vendor folder is present, api permissions are set to full access, sqlite
is enabled in php). I am a complete web programming newbie and have no clue
what could be wrong nor how to fix this. Any help is highly appreciated!
Thanks a lot in advance!
Cheers,
Richard
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kiswa/TaskBoard/issues/310#issuecomment-396952891,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUUlJijBLhZYjDfhUO9iyV9o6JL1Kk7Lks5t8R5vgaJpZM4J1HFo
.

--
<EMAIL_ADDRESS>This email and any file transmitted is strictly confidential. You have not
to copy or deliver it to any other person or use the content in any
unauthorized manner without the express permission of the sender. If you
are not the intended addressee of this e-mail, please delete it.

Hi @Zipelkopf
Thank you for your quick reply! I checked that

php_sqlite3.dll and php_pdo_sqlite.dll are in the ext folder of my PHP installation folder and
both extensions are enabled in php.ini.

Then I installed sqlite3 (3 precompiled binary files from sqlite.org) and added the location to the system path. Are these binaries actually required?
By the way, I followed these instructions here for manually installing PHP: https://www.windowspro.de/wolfgang-sommergut/php-fuer-iis-windows-10-installieren. Maybe that is not an appropriate installation?
To test the PHP installation I run a script that just calls <?php phpinfo(); ?>. The output is as expected, i.e. it displays a long list of info about the php installation.
When trying to log in with admin/admin the error message looks a bit different, but I cannot tell why it does:

Anything else I can check or try?
Again, thanks a lot for your assistance!
Cheers,
Richard

I'm not sure where to look for this, but check the server logs. You should have a more descriptive log of the error(s) PHP is having.
Have you made sure the api directory is writable for PHP?

Hi @kiswa and @Zipelkopf
Thank you for your responses.
Yes, api (in fact, the entire TaskBoard folder) has Full Access privileges for IUSR and IIS_IUSRS -  if this is what you meant.
I think I made a small step forward. The default value for extension_dir displayed by phpinfo() pointed to a non existing directory, i.e. c:\php\ext instead of c:\Program Files (x86)\PHP\ext. So I fixed that by moving the PHP installation directory to c:\php and corrected the path to the php-cgi.exe in the IIS handler. (Probably one could have set the correct value for extension_dir instead.)
The login behavior and error messages are now different. It depends on the Authentication settings as follows:

Windows Authentication enabled keeps me looping on the Windows Sing in window without accepting any credentials (which work for other sites on localhost):

Anonymous Authentication enabled keeps me looping on the TaskBoard login window:

In both cases the console prints 401 (Unauthorized) errors.
Any ideas what I did wrong?
Thanks a lot for your time and help!
Chers,
Richard

Sigh... I give up. After hours of reinstalling from scratch and trying different Windows Authentication settings I could not find a solution. What a pity! Thanks anyway.
Cheers,
Richard

when I put RewriteEngine On  i cannot apply the rule because the apply is grayed. how to solve that

when I put RewriteEngine On i cannot apply the rule because the apply is grayed. how to solve that

Hi, do you have a screenshot to post?
Also, can you post the Web.config taken from the folder you are looking at? It might be a simple XML syntax error...
Cheers


"loosing" virtual variables

Once I take a mean over virtual variables, they are not available any more.
import pandas as pd
import numpy as np
import xray
t = pd.date_range('2000-01-01', '2000-12-31', freq='6H')
x = np.random.rand(*t.shape)
time = xray.DataArray(t, name='t', dims='time')
ts = xray.Dataset({'x' : ('time', x), 'time' : time})
ts_mean = ts.groupby('time.date').mean()
ts_mean.virtual_variables

Is this intended behaviour? And could I get them back somehow?

Ok the problem seems to be that the datetime64 array is converted to an object array.
print(ts)
print(ts_mean)

Could you keep it as a datetime64 object? Or would that be a pandas problem?

The better solution here is to use resample rather than groupby('time.date'):
ts_mean = ts.resample('1D', dim='time')

time.date and time.time (with is currently broken) are weird virtual variables, because, like you point out, they create object arrays. That makes them not so useful. It might be better to get rid of them entirely, or to replace them with some sort of shortcut that returns datetime64 instead.

Thanks, it works. I didn't think of this.
However, for anything else than the mean this would not work? So I would opt for the second option.

Resampling actually supports custom aggregation methods with the how parameter: http://xray.readthedocs.org/en/stable/generated/xray.Dataset.resample.html#xray.Dataset.resample


[BUG] pfazure: Custom image for a flow is not honored when submitting a Flow

Describe the bug
We currently have a working Flow based on a custom container image (from now on named v1).
v1 is based on promptflow-stable 20240111.v2 and includes promptflow python sdk v1.4.1
Everything works fine.
We decide to update the image for the Flow to a v2 based on promptflow-stable 20240205.v2 and pf python sdk v1.5.0
Image is created fine and can be used without any issue using the UI experience and manually modifying the environment in flow.dag.yml.
When submitting a run with the same flow.dag.yml using pfazure, the old image is used for the run (regardless of the content of environment field in flow.dag.yml)
Expected behavior
New image is taken into account when submitting the flow run.
Screenshots
Running Information(please complete the following information):

Promptflow Package Version using pf -v: 1.5.0
Operating System: ubuntu-latest from GH Actions
Python Version using python --version: 3.9.18

I am using automatic runtime

Offline synced, the root cause was we used same automatic runtime session for same flow. We'll change the behavior to use user id, flow folder name and environment (image, python requirements) to decide session id to avoid the issue.


Regression in v0.63.1-2: Invariant Violation: No callback found

Description
First of all, thank you all for the amazing work on this library. I was very happy to see nextFocusUp implemented recently, so I updated to the latest version, but unfortunately it broke my app.
Since the upgrade, the app either refuses to launch or crashes. Here's the logcat with the error in question:
11-18 21:45:51.975 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)
11-18 21:45:52.125 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)
11-18 21:45:52.207 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 0 and callID 0 for module <unknown>. Args: '[{"app_state":"active"}]'
11-18 21:45:52.316 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 6 and callID 3 for module <unknown>. Args: '[{"app_state":"active"}]'
11-18 21:45:52.641 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 142 and callID 71 for module <unknown>. Args: '["{\"codeFrame\":{\"content\":\"\\u001b[0m \\u001b[90m 36 | \\u001b[39m      \\u001b[36mvar\\u001b[39m args \\u00...(truncated)..."]'
11-18 21:45:52.718 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 144 and callID 72 for module <unknown>. Args: '["{\"codeFrame\":{\"content\":\"\\u001b[0m \\u001b[90m 17 | \\u001b[39m  }\\u001b[0m\\n\\u001b[0m \\u001b[90m 18 |...(truncated)..."]'
11-18 21:45:52.790 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 146 and callID 73 for module <unknown>. Args: '["{\"codeFrame\":{\"content\":\"\\u001b[0m \\u001b[90m 36 | \\u001b[39m      \\u001b[36mvar\\u001b[39m args \\u00...(truncated)..."]'
11-18 21:45:52.860 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 148 and callID 74 for module <unknown>. Args: '["{\"codeFrame\":{\"content\":\"\\u001b[0m \\u001b[90m 17 | \\u001b[39m  }\\u001b[0m\\n\\u001b[0m \\u001b[90m 18 |...(truncated)..."]'
11-18 21:45:52.935 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 150 and callID 75 for module <unknown>. Args: '["{\"codeFrame\":{\"content\":\"\\u001b[0m \\u001b[90m 36 | \\u001b[39m      \\u001b[36mvar\\u001b[39m args \\u00...(truncated)..."]'
11-18 21:45:53.002 11649-11819/com.app_reactnative E/ReactNativeJS: Invariant Violation: No callback found with cbID 152 and callID 76 for module <unknown>. Args: '["{\"codeFrame\":{\"content\":\"\\u001b[0m \\u001b[90m 36 | \\u001b[39m      \\u001b[36mvar\\u001b[39m args \\u00...(truncated)..."]'

This message also shows up as an Exception in the app. There's one more error apart from this:
11-18 21:58:16.387 24190-24190/com.app_reactnative E/unknown:NativeViewHierarchyManager: Unable to update properties for view tag -1
    com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag -1 could not be found.

        at com.facebook.react.uimanager.NativeViewHierarchyManager.resolveViewManager(NativeViewHierarchyManager.java:109)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.updateProperties(NativeViewHierarchyManager.java:133)
        at com.facebook.react.uimanager.UIImplementation.synchronouslyUpdateViewOnUIThread(UIImplementation.java:291)
        at com.facebook.react.uimanager.UIManagerModule.synchronouslyUpdateViewOnUIThread(UIManagerModule.java:400)
        at com.facebook.react.animated.PropsAnimatedNode.restoreDefaultValues(PropsAnimatedNode.java:73)
        at com.facebook.react.animated.NativeAnimatedNodesManager.restoreDefaultValues(NativeAnimatedNodesManager.java:337)
        at com.facebook.react.animated.NativeAnimatedModule$19.execute(NativeAnimatedModule.java:440)
        at com.facebook.react.animated.NativeAnimatedModule$2.execute(NativeAnimatedModule.java:158)
        at com.facebook.react.uimanager.UIViewOperationQueue$UIBlockOperation.execute(UIViewOperationQueue.java:571)
        at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:917)
        at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:1028)
        at com.facebook.react.uimanager.UIViewOperationQueue.access$2600(UIViewOperationQueue.java:48)
        at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1088)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:779)
        at android.view.Choreographer.doCallbacks(Choreographer.java:592)
        at android.view.Choreographer.doFrame(Choreographer.java:559)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:767)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5604)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:984)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

I was able to trace the problem back to v0.63.1-2 (it still works fine in 1-1).
I don't have a reproducible example, but I can work on it if needed. Here's the diff between v0.63.1-1 and v0.63.1-2..
React Native version:
System:
    OS: macOS 10.15.7
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 542.63 MB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.18.3 - /var/folders/0g/h2n42hjj70lbz_r2_zw681bm0000gn/T/yarn--1605733585637-0.9636438045664422/node
    Yarn: 1.22.5 - /var/folders/0g/h2n42hjj70lbz_r2_zw681bm0000gn/T/yarn--1605733585637-0.9636438045664422/yarn
    npm: 6.14.6 - ~/.nvm/versions/node/v12.18.3/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.1, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK:
      API Levels: 23, 28, 29, 30
      Build Tools: 24.0.3, 25.0.0, 28.0.3, 29.0.2, 30.0.2
      System Images: android-30 | Google APIs Intel x86 Atom, android-Q | Android TV Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.0 AI-193.69<IP_ADDRESS>26763
    Xcode: 12.1/12A7403 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_265 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: Not Found
    react-native: Not Found
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce
I get this error right after running the app in debug mode on a physical Android Fire TV device.

Podfile.lock is an iOS file and should have no effect on Android functionality.
Do you have a repo that reproduces the issue that you can share?
Also thanks for the kind words 😊

You're right about Podfile.lock not being the culprit - I edited my post ;). I don't have a reproducible example repository now, but since I don't know what's exactly causing this, maybe it'd be faster to debug it more to narrow the problem down a bit. I'll try it and get back to you soon!

I've managed to narrow the problem down to this commit, which is kind of strange, because it only contains type changes.
Everything works fine in the commit before that (9156525), but 18707ef only gives me a black screen. This message appears in the JS debugger console:
Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)

I don't see how the type changes could do this.  I suspect that the packager's cache has become invalid, and you need to clear watchman and restart the packager by doing react-native start --reset-cache (the issue seems similar to https://github.com/facebook/react-native/issues/26687).

Thank you for your comment. Unfortunately this didn't help :/. To recap, here's what I did:

watchman watch-del-all
react-native start --reset-cache
./gradlew clean
rm -rf node_modules followed by yarn

It might be important that I'm using a yarn monorepo. Could it be that the types property inside this package's package.json is somehow interfering with this? Since I have no other hunch at the moment, I might fork this repository and check.
In any case, this doesn't seem strictly related to react-native-tvos. I'll post a solution here once I find it, but feel free to close this issue if you'd like.

Ok thanks for the update.... yes if you are in a monorepo you may want to make sure that react-native-tvos is used in place of react-native everywhere.   I'll close this for now, but please reopen if you still have problems and can supply a reproducible test case 👍

Getting this^
React Native version:
System:
OS: macOS 11.2.1
CPU: (4) x64 Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz
Memory: 487.70 MB / 8.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 15.11.0 - /usr/local/bin/node
Yarn: Not Found
npm: 7.6.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /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:
API Levels: 23, 25, 26, 28, 29, 30
Build Tools: 27.0.3, 28.0.3, 29.0.2
System Images: android-29 | Android TV Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.0 AI-193.69<IP_ADDRESS>26763
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
Languages:
Java: 11.0.8 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: Not Found
react-native-macos: Not Found
react-native-tvos:  0.63.4-0
npmGlobalPackages:
react-native: Not Found

For me this was most likely related to having 2 versions of react inside my monorepo. Maybe make sure that you only have one version, remove your yarn.lock file, install again and see if you still get this issue.

I am not using yarn
Although I removed package-lock.json and did npm i
I don't get your point 'having 2 versions of react inside my monorepo'
like from where can I check and make sure that I have only have one version ?
Also while running in Android emulator I am getting this -

For me this was most likely related to having 2 versions of react inside my monorepo. Maybe make sure that you only have one version, remove your yarn.lock file, install again and see if you still get this issue.

I am not using yarn
Although I removed package-lock.json and did npm i
but getting the same error.
I don't get your point 'having 2 versions of react inside my monorepo'
like from where can I check and make sure that I have only have one version ?
Also while running in Android emulator I am getting this -

Could you open the issue again?

You might be having a different issue. Please create a new issue, and if possible include a test case that reproduces the issue. It is recommended to use yarn for react-native based repos.


test(plugin-sass-palette): fix e2e

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 58.636%

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
1168

Relevant Lines:
1794

💛  - Coveralls


Regarding point (5)

@EAddario is point (5) on CONTRIBUTING.md, especially the term 'indefinitely', contradictory to GDPR, in the sense that at any point a user should be able to retrieve and ask for all their data to be removed from our platform?
I may be misinterpreting the whole sentence but I thought of asking.

Very shrewd observation thanosbcc, and precisely because GDPR and other similar data privacy regulations, #5 becomes critical for contributors to known and accept. Any and all contributions are ultimately handled via GitHub and we have no way to control who and how that information is stored and/or accessed.


Two ZED 2i camera - Green hue in one half of the images

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues.
[X] This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description
I am trying to capture 720p stereo images (2560x720) from two ZED 2i cameras using a Raspberry pi 4. While images from one camera seems to be fine, one half of the images captured from the other camera displays a prominent green hue. Please see below for an example. This green hue is present initially in the first half as well. However, it gradually subsides.
Frame 1

Frame 3

Frame 5

Frame 8

Frame 10

This is not an issue with the resolution as the same phenomenon can be observed in the VGA resolution as well. This is observed in all the the ZED 2i cameras I have access to. This is also the case when I ran this on my laptop with Ubuntu 16.04.
Steps to Reproduce

Connect two ZED 2i cameras to the host
Compile and run the following code to record 25 images from each camera.
Observe the green hue problem explained above in the images saved to '/home/USERNAME/Data_Collection/Images/Second" directory.

// ----> Includes
#include "videocapture.hpp"
#include "sensorcapture.hpp"

#include <unistd.h> // for usleep
#include <iostream>
#include <iomanip>
#include <iomanip>
#include <thread>
#include <fstream>
#include <cstdlib>
#include <mutex>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>

#include <opencv2/opencv.hpp>
// Functions

bool displayData = false;

std::string base_path;

// The main function
int main(int argc, char *argv[])
{
    char TimeString[128];

    if (argc == 2)
    {
	base_path = argv[1];
	std::cout << "Base path : " << base_path << std::endl;
    }
    else
    {
	std::string userName = std::getenv("USER");
	//static int seconds_last = 99;
	timeval curTime;
	gettimeofday(&curTime, NULL);

	//seconds_last = curTime.tv_sec;

	strftime(TimeString, 80, "%Y-%m-%d %H:%M:%S", localtime(&curTime.tv_sec));
	base_path = "/home/"+ userName + "/Data_Collection/" ;//+ std::string(TimeString);
	const char * directory_0 = base_path.c_str();

	int result;
	extern int errno;
	struct stat sb;

	result = stat(directory_0, &sb);
	if ((result != 0) || !(sb.st_mode & S_IFDIR))
	{
		if (errno == ENOENT)		//ENOENT=No such directory entry
		{
			printf("The directory does not exist. Creating new directory: %s\n", directory_0);
			// Add more flags to the mode if necessary.
			result = mkdir(directory_0, S_IRWXU);
			if (result != 0)
			{
				printf("mkdir failed; errno=%d\n",errno);
			}
		}
	}

	// Create directories for the two cameras
	std::string camera_image_path = "/home/"+ userName + "/Data_Collection/Images/";
	const char * directory_1 = camera_image_path.c_str();

	result = stat(directory_1, &sb);
	if ((result != 0) || !(sb.st_mode & S_IFDIR))
	{
		if (errno == ENOENT)		//ENOENT=No such directory entry
		{
			printf("The directory does not exist. Creating new directory: %s\n", directory_1);
			// Add more flags to the mode if necessary.
			result = mkdir(directory_1, S_IRWXU);
			if (result != 0)
			{
				printf("mkdir failed; errno=%d\n",errno);
			}
		}
	}

	std::string First_camera_image_path = "/home/"+ userName + "/Data_Collection/Images/First/";
	const char * directory_2 = First_camera_image_path.c_str();

	result = stat(directory_2, &sb);
	if ((result != 0) || !(sb.st_mode & S_IFDIR))
	{
		if (errno == ENOENT)		//ENOENT=No such directory entry
		{
			printf("The directory does not exist. Creating new directory: %s\n", directory_2);
			// Add more flags to the mode if necessary.
			result = mkdir(directory_2, S_IRWXU);
			if (result != 0)
			{
				printf("mkdir failed; errno=%d\n",errno);
			}
		}
	}

	std::string Second_camera_image_path = "/home/"+ userName + "/Data_Collection/Images/Second/";
	const char * directory_3 = Second_camera_image_path.c_str();

	result = stat(directory_3, &sb);
	if ((result != 0) || !(sb.st_mode & S_IFDIR))
	{
		if (errno == ENOENT)		//ENOENT=No such directory entry
		{
			printf("The directory does not exist. Creating new directory: %s\n", directory_3);
			// Add more flags to the mode if necessary.
			result = mkdir(directory_3, S_IRWXU);
			if (result != 0)
			{
				printf("mkdir failed; errno=%d\n",errno);
			}
		}
	}

    }

    std::cout << "Base path cpp : " << base_path << std::endl;

    // Silence unused warning

    // Set the verbose level
    sl_oc::VERBOSITY verbose = sl_oc::VERBOSITY::INFO;

    // Set the video parameters
    sl_oc::video::VideoParams params;
    params.res = sl_oc::video::RESOLUTION::HD720;
    params.fps = sl_oc::video::FPS::FPS_15;
    params.verbose = verbose;

    // Create a SensorCapture object
    sl_oc::sensors::SensorCapture sens(verbose);

    // Get a list of available camera with sensor
    std::vector<int> devs = sens.getDeviceList();

    bool isonlycamera = false;

    if( devs.size() < 1)
    {
        std::cerr << "No available ZED2i cameras" << std::endl;
		return EXIT_FAILURE;
    }
    else if(devs.size() == 1)
    {
		std::cerr << "Only one ZED2i camera is available" << std::endl;
		isonlycamera = true;
    }
    else if(devs.size() >= 2)
    {
		std::cerr << "Two ZED2i cameras available" << std::endl;
    }

    // We should have two cameras connected
    // TODO: Add a try catch to see two cameras are connected
    int cam1_serial = devs[0];
    int cam2_serial;
    if (!isonlycamera)
    {
		cam2_serial = devs[1];
    }

    // Create a Video Capture objects
    sl_oc::video::VideoCapture videoCapCam1(params);
    if( !videoCapCam1.initializeVideo(-1) )
    {
        std::cerr << "Cannot open camera video capture for camera 1" << std::endl;

        return EXIT_FAILURE;
    }

    sl_oc::video::VideoCapture videoCapCam2(params);
    if( !videoCapCam2.initializeVideo(-1) & !isonlycamera)
    {
        std::cerr << "Cannot open camera video capture for camera 2" << std::endl;

        return EXIT_FAILURE;
    }

    // Set video parameters
    videoCapCam1.setAutoWhiteBalance(true);
    videoCapCam1.setAECAGC(true);

    videoCapCam2.setAutoWhiteBalance(true);
    videoCapCam2.setAECAGC(true);

    // Init OpenCV RGB frame
    int w,h;
    videoCapCam1.getFrameSize(w,h);

    cv::Size display_resolution(1024, 576);

    switch(params.res)
    {
    default:
    case sl_oc::video::RESOLUTION::VGA:
        display_resolution.width = w;
        display_resolution.height = h;
        break;
    case sl_oc::video::RESOLUTION::HD720:
        display_resolution.width = w*0.6;
        display_resolution.height = h*0.6;
        break;
    case sl_oc::video::RESOLUTION::HD1080:
    case sl_oc::video::RESOLUTION::HD2K:
        display_resolution.width = w*0.4;
        display_resolution.height = h*0.4;
        break;
    }

    int h_data = 70;
    cv::Mat frameDisplay(display_resolution.height + h_data, display_resolution.width,CV_8UC3, cv::Scalar(0,0,0));
    cv::Mat frameData = frameDisplay(cv::Rect(0,0, display_resolution.width, h_data));
    cv::Mat frameBGRDisplay = frameDisplay(cv::Rect(0,h_data, display_resolution.width, display_resolution.height));
    cv::Mat frameBGR(h, w, CV_8UC3, cv::Scalar(0,0,0));
    cv::Mat frameBGR2(h, w, CV_8UC3, cv::Scalar(0,0,0));

    //Write the paramters to a config file
    std::ofstream configfile;
    configfile.open(base_path + "/Images/config.txt");
    configfile << "Camera_1_serial:" << cam1_serial <<std::endl;
    if (!isonlycamera)
    {
		configfile << "Camera_2_serial:" << cam2_serial <<std::endl;
    }

    configfile << "resolution:" << w << "," <<h<<std::endl;
    configfile.close();

    uint64_t last_timestamp = 0;

    float frame_fps=0;

    // Infinite grabbing loop
    // Do we need to provide a switch to stop data capture?
    std::string First_image_path = base_path +"/Images/First/" + "First_";
    std::string Second_image_path = base_path +"/Images/Second/" + "Second_";
    std::cout << "Start captruing data" << std::endl;
    for  (int iter=1; iter<100 ; iter++)
    {
        // Get Video frame
        // Get last available frame
        const sl_oc::video::Frame frame1 = videoCapCam1.getLastFrame(1);
		const sl_oc::video::Frame frame2 = videoCapCam2.getLastFrame(1);

        if(frame1.data!=nullptr && frame1.timestamp!=last_timestamp)
        {
            // Conversion from YUV 4:2:2 to BGR for visualization
            cv::Mat frameYUV( frame1.height, frame1.width, CV_8UC2, frame1.data);
            cv::cvtColor(frameYUV,frameBGR, cv::COLOR_YUV2BGR_YUYV);

	    std::string image_timestamp = std::to_string(frame1.timestamp);
            cv::imwrite(First_image_path + image_timestamp + ".jpg", frameBGR);
        }

		if (!isonlycamera)
		{
			//std::stringstream videoTs2;
			if(frame2.data!=nullptr)
			{
			// Conversion from YUV 4:2:2 to BGR for visualization
			cv::Mat frameYUV2( frame2.height, frame2.width, CV_8UC2, frame2.data);
			cv::cvtColor(frameYUV2,frameBGR2, cv::COLOR_YUV2BGR_YUYV);

			std::string image_timestamp = std::to_string(frame1.timestamp);
			cv::imwrite(Second_image_path + image_timestamp + ".jpg", frameBGR2);
			}
		}
        // Keyboard handling
        int key = cv::waitKey(1);

        if( key != -1 )
        {
            // Quit
            if(key=='q' || key=='Q'|| key==27)
            {
                break;
            }
        }
    }

    return EXIT_SUCCESS;
}

Expected Result
Expect both image sets not to have any green hue.
Actual Result
As mentioned before, images captured from one camera has a prominent green hue in one half of it, while the other camera is functioning just fine.
ZED Camera model
ZED2i
Environment
OS: Raspian, Ubuntu 16.04
RAM: 4GB, 16GB

Anything else?
No response

Hi @TR-Monash
this seems to be a white-balance problem.
Have you tried to record more than 25 frames to see if it disappears?
25 frames at 15 FPS is a bit more than 2 seconds, in some conditions, it cannot be enough for the white-balance ISP algorithm to correctly tune the colors.
Have you tried to open the camera with a webcam viewer (cheese, guvcview, ...) to verify if the problem is present with it?

Hi @Myzhar,
Thanks for the response. I thought it's white balance issue at first as well. I captured over thousand images and still the issue is there. I specifically set the white balance to Auto in my code.
    videoCapCam1.setAutoWhiteBalance(true);
    videoCapCam1.setAECAGC(true);

    videoCapCam2.setAutoWhiteBalance(true);
    videoCapCam2.setAECAGC(true);

I just tried with guvcview and I don't see the issue with it. Could this be due to memory leak in one of the YUV channels?

If the problem is not present with guvcview then there is something wrong with your code.
Have you tested guvcview in a multi-camera configuration?

I tested guvcview in a multi-camera configuration. I believe, two video captures are operating in two different threads in guvcview.

I tried to create a minimal working example and now it seems to be working just fine! I'll close the issue for now and try to debug and see what caused the issue. Thanks for your input.

Hi @Myzhar,
Unfortunately, I was wrong. What has happened is that guvciew has "reset" the cameras somehow and when I use them back with my code, everything is working just fine. However, if I disconnect and reconnect the cameras, I can observe the above described phenomenon. Again, when I disconnect and reconnect the cameras and then capture video using guvciew, the issues are gone. I'm clueless as to what is happening here.
For clarity, here is a minimal working code to reproduce the issue.
// ----> Includes
#include "videocapture.hpp"
#include "sensorcapture.hpp"

#include <unistd.h> // for usleep
#include <iostream>
#include <iomanip>
#include <iomanip>
#include <thread>
#include <fstream>
#include <cstdlib>
#include <mutex>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>

#include <opencv2/opencv.hpp>

bool displayData = false;

std::string base_path;

// The main function
int main(int argc, char *argv[])
{

	std::string userName = std::getenv("USER");
	base_path = "/home/"+ userName + "/Data_Collection/" ;//+ std::string(TimeString);

    std::cout << "Base path cpp : " << base_path << std::endl;

    // Silence unused warning

    // Set the verbose level
    sl_oc::VERBOSITY verbose = sl_oc::VERBOSITY::INFO;

    // Set the video parameters
    sl_oc::video::VideoParams params;
    params.res = sl_oc::video::RESOLUTION::HD720;
    params.fps = sl_oc::video::FPS::FPS_15;
    params.verbose = verbose;

    // Create a Video Capture objects
    sl_oc::video::VideoCapture videoCapCam1(params);
    if( !videoCapCam1.initializeVideo(0) )
    {
        std::cerr << "Cannot open camera video capture for camera 1" << std::endl;

        return EXIT_FAILURE;
    }

    sl_oc::video::VideoCapture videoCapCam2(params);
    if( !videoCapCam2.initializeVideo(2))
    {
        std::cerr << "Cannot open camera video capture for camera 2" << std::endl;

        return EXIT_FAILURE;
    }

    // Set video parameters
    videoCapCam1.setAutoWhiteBalance(true);
    videoCapCam1.setAECAGC(true);

    videoCapCam2.setAutoWhiteBalance(true);
    videoCapCam2.setAECAGC(true);

    int w,h;
    videoCapCam1.getFrameSize(w,h);

    cv::Mat frameBGR(h, w, CV_8UC3, cv::Scalar(0,0,0));
    cv::Mat frameBGR2(h, w, CV_8UC3, cv::Scalar(0,0,0));

    uint64_t last_timestamp = 0;

    // Infinite grabbing loop
    std::string rear_image_path = base_path +"/Images/Rear/" + "Rear_";
    std::string front_image_path = base_path +"/Images/Front/" + "Front_";
    std::cout << "Start capturing data" << std::endl;
    while (1)
    {
        // Get Video frame
        // Get last available frame
        const sl_oc::video::Frame frame1 = videoCapCam1.getLastFrame(1);
	const sl_oc::video::Frame frame2 = videoCapCam2.getLastFrame(1);

        if(frame1.data!=nullptr && frame1.timestamp!=last_timestamp)
        {
            // Conversion from YUV 4:2:2 to BGR for visualization
            cv::Mat frameYUV( frame1.height, frame1.width, CV_8UC2, frame1.data);
            cv::cvtColor(frameYUV,frameBGR, cv::COLOR_YUV2BGR_YUYV);

	    std::string image_timestamp = std::to_string(frame1.timestamp);
            cv::imwrite(rear_image_path + image_timestamp + ".jpg", frameBGR);
        }
	if(frame2.data!=nullptr)
        {
            // Conversion from YUV 4:2:2 to BGR for visualization
            cv::Mat frameYUV2( frame2.height, frame2.width, CV_8UC2, frame2.data);
            cv::cvtColor(frameYUV2,frameBGR2, cv::COLOR_YUV2BGR_YUYV);

            std::string image_timestamp = std::to_string(frame1.timestamp);
            cv::imwrite(front_image_path + image_timestamp + ".jpg", frameBGR2);
        }

        // Keyboard handling
        int key = cv::waitKey(1);

        if( key != -1 )
        {
            // Quit
            if(key=='q' || key=='Q'|| key==27)
            {
                break;
            }
        }
    }

    return EXIT_SUCCESS;
}

Hi @TR-Monash
I was able to replicate the issue on my host PC, but I have not found the cause of the problem.
I'm going to investigate deeper into it and provide a solution as fast as possible.

@TR-Monash I just pushed a new version in the master branch with a multicamera example that seems to be not affected by this issue.
Can you test it?
You can use the "a" or "A" key to enable/disable auto gain/exposure and auto white balance while the example runs.

@Myzhar
Thank you very much for the sample code and I'll try it today and report back.
In the meantime, I was able to get my minimal code working by commenting the automatic gain/exposure control, interestingly.
videoCapCam1.setAECAGC(true);
videoCapCam2.setAECAGC(true);

@Myzhar
I can confirm that the example code you have pushed is working as expected.
I can't see any major difference between that and the the minimal code sample I have shared though. I'll deep dive into that as time permits. I'll adopt your code for the time being.
Thank you.

@TR-Monash I guess it's some USB communication conflict that makes the camera FW fail.
We will investigate it further trying to understand the conditions that make it happen

@Myzhar
Thank you very much. I'll close this issue for now as the example code works as intended.
Please post an update once you figure out what's causing this.


The new release pipeline build jobs can be marked as "Keep for ever"

Now we have a bespoke release pipeline and jobs are separate, we should keep the build job output.

we already set the keep logs forever for the release pipeline, the missing part is the downstream build job that triggered by release pipeline do not have keep log forever enabled.


Scroll position not retained when clicking back

CodeSandbox: https://codesandbox.io/s/using-paginated-data-with-swr-9g0y4
If we navigate from the paginated list page to another page and click back, the scroll position is not retained. As per the docs, retaining scroll position seems automatic. Please correct me if wrong.

The new pagination API has launched: https://swr.vercel.app/docs/pagination. Feel free to reopen if you are still encountering an issue!

Thanks @shuding This is amazing stuff. I was able to get it working as expected. Adding a sample implementation using your example CodeSandbox demo.

Hey @shirazz, may I know how did you get it to working?
Currently, when I navigate back to my lists, it loads everything from zero again.


When running localy, still tries to compile in the cloud

When I try to run this project localy, everything works except the compile button when offline, there is no reason it should be this way, pls fix

I haven't encountered it, please provide a screenshot.

Sure, you can see the URL is localhost:3000, and when I clicked the run button it does a request to play.rust-lang.org


refactor set_item in DictProtocol

Codecov Report

Merging #566 into master will increase coverage by <.01%.
The diff coverage is 25%.

@@            Coverage Diff             @@
##           master     #566      +/-   ##
==========================================
+ Coverage   41.96%   41.97%   +<.01%
==========================================
  Files          73       73
  Lines       16351    16374      +23
  Branches     4301     4307       +6
==========================================
+ Hits         6862     6873      +11
- Misses       7547     7558      +11
- Partials     1942     1943       +1

Impacted Files
Coverage Δ

vm/src/obj/objobject.rs
38.42% <0%> (ø)
:arrow_up:

wasm/lib/src/convert.rs
0% <0%> (ø)
:arrow_up:

vm/src/stdlib/json.rs
55.72% <0%> (-5.62%)
:arrow_down:

vm/src/sysmodule.rs
43.07% <100%> (+1.53%)
:arrow_up:

vm/src/import.rs
54.05% <100%> (-14.8%)
:arrow_down:

vm/src/pyobject.rs
60.21% <5.88%> (-0.18%)
:arrow_down:

vm/src/vm.rs
55.1% <60%> (+2.44%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6c8584c...280eff3. Read the comment docs.

@rickyhan can this be closed now? A lot has changed since this was open and I'm not sure if the changes in this PR are still compatible.


Does installing extensions from Store makes them check it for updates?

I read somewhere that Chromium frequently connects to Google to check if the extensions are up to date. Does this version do that?

No, it does not. Also, an infobar should show up when the browser tries to connect to Google on its own.

Thats nice, thanks for clarifying.


Add support for consumer version selectors for deployed and released versions

Once this issue is resolved: https://github.com/pact-foundation/pact-jvm/issues/1407
We will likely need to make updates to pact4s in order to support this new behavior.

closing in favor of the duplicate #68


Add tests for curvenote AST / myst / html / etc conversions

This adds some declarative integration tests for curvenote schemas.
For now, inputs are defined like so:
description

+++ curvenote
type: doc
content:
  ...

+++ myst
...

+++ html
...

+++ text
...

+++ tex
...

For each format, it checks that the curvenote export matches the formatted text and the formatted text import matches the curvenote AST.
Potentially these input files could also be used to generate documentation of curvenote and/or myst functionality.
We should probably consider if there is a less-ad-hoc way to define the input files / test framework, but for now this works.

The bespoke (i.e. non YAML/JSON) test files (and corresponding test framework) aren't great, plus all these tests are now in myst-spec in better form: https://github.com/executablebooks/myst-spec/tree/main/docs/examples


Create Compound Interest

Calculation of Compound Interest using c++ solution
Why:

Closes #ISSUE_NUMBER
What's being changed:

Hey @RiteshJha2000
Sorry, but Issue #1357 has already been closed
Please contribute to another good first issue
Comment !assign on the issue you want to contribute to, to be auto assigned
!assign


Prototype Unit Tests: turing/sync_service_tests

Starting to experiment with geth unit tests. Goal of this one is to test the flow of information, specifically the metadata, from the mock L1 into the verifier service. Test target: func (s *SyncService) applyTransactionToTip(tx *types.Transaction). ToDo - unit tests that directly check the evm.Call with and without Turing payloads in the evm.context.
Test can be run with debug output like this:
go test -v -run TestSyncServiceTuringVerify ./...

Codecov Report

Merging #436 (63489f2) into develop (09fa220) will increase coverage by 13.56%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop     #436       +/-   ##
============================================
+ Coverage    73.61%   87.18%   +13.56%
============================================
  Files           59       34       -25
  Lines         1789     1116      -673
  Branches       272      160      -112
============================================
- Hits          1317      973      -344
+ Misses         472      143      -329

Flag
Coverage Δ

contracts
87.18% <ø> (ø)

core-utils
?

data-transport-layer
?

message-relayer
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/core-utils/src/provider.ts

...ices/l1-ingestion/handlers/transaction-enqueued.ts

...ckages/data-transport-layer/src/utils/contracts.ts

packages/core-utils/src/alias.ts

.../src/services/l2-ingestion/handlers/transaction.ts

...layer/src/services/l1-ingestion/handlers/errors.ts

packages/core-utils/src/index.ts

packages/data-transport-layer/src/utils/index.ts

packages/core-utils/src/common/test-utils.ts

packages/core-utils/src/l2context.ts

... and 15 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 09fa220...63489f2. Read the comment docs.

work on this will continue at /bobanetwork


Cross platform, cross architecture install of Docker

This issue is a good place to do hands-on with Ansible. You can learn to use conditionals, and how to deal with multi-architecture installation on a large scale.
The current installation is for Ubuntu on ARM64.

As a way to do multi-arch building of docker image:

[ ] Install emulation related package: sudo apt install qemu-user-static
[ ] Create a build profile: docker buildx create --use --name multiarch
[ ] Bootstrap the profile: docker buildx inspect --bootstrap

It's been long since this issue was registered.
We need to reasses how the building process is and whether is requires above mentioned process.
I'm closing this issue now as it seems irrelevant to me at the moment.


locking weeks doesnt work

Describe your bug here.
my friend tried to lock the week and then the epic error happened with storymenustate lines 273 and 275
Command Prompt/Terminal logs (if existing)
https://cdn.discordapp.com/attachments/1094743123042775073/1100905823842082886/image.png

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
no

Did you remove all base weeks and then hide the one you're trying to lock from story mode? this error only really comes up when the story menu has no weeks to load.


Draft connect and disconnect logic for CoinLockupTransfer txn type.

Current dependencies on/for this PR:

feature/lockups

PR #644

PR #653

PR #661   👈

This comment was auto-generated by Graphite.

Do we need the disconnect logic?

Random thought: Do we need the disconnect logic here?

Good question... technically if we're full PoS by the time of launch no. This is the first PoS fork though so I think we'll still be using PoW under the hood until the second PoS fork unless I'm missing something. It's probably also good to keep disconnect logic in the event we do need to rewind the chain (e.g. an exploit). Obviously there's other ways around that but I'm not sure it's worth abandoning it without more careful thought.

Okay makes sense! Let's stick with having the disconnect logic.


Unneeded sleeps?

It's unclear to me why we have all the sleep(timeout) before commands. Perhaps a comment would be helpful.

This has to be addressed during the staging tests as my lab environment is overloaded, i did run into the timeouts... as my test cluster is always overloaded...


Entities revmap

Codecov Report

Merging #299 (10907b6) into main (cb92c08) will decrease coverage by 0.06%.
The diff coverage is 79.06%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #299      +/-   ##
==========================================
- Coverage   79.93%   79.87%   -0.06%
==========================================
  Files          41       41
  Lines        1435     1431       -4
==========================================
- Hits         1147     1143       -4
  Misses        288      288

Impacted Files
Coverage Δ

src/BoundaryConditions/BoundaryConditions.jl
80.00% <ø> (ø)

...c/BoundaryConditions/FixedDofBoundaryConditions.jl
100.00% <ø> (ø)

...BoundaryConditions/GlobalLoadBoundaryConditions.jl
90.32% <ø> (-0.31%)
:arrow_down:

.../BoundaryConditions/LocalLoadBoundaryConditions.jl
93.33% <ø> (-0.42%)
:arrow_down:

src/Entities/Entities.jl
60.00% <0.00%> (ø)

src/Entities/Tetrahedrons.jl
98.01% <ø> (ø)

src/Interfaces/Gmsh.jl
100.00% <ø> (ø)

src/Meshes/Interpolators.jl
0.00% <ø> (ø)

src/Meshes/Meshes.jl
69.52% <ø> (ø)

src/ONSAS.jl
100.00% <ø> (ø)

... and 16 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add convenience method for a dismiss button to UITextView extension

With this method it's possible to add a toolbar with a done button to UITextView's keyboard with one line of code.
Example:
class ViewController: UIViewController {
    @IBOutlet var textView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        textView.addDoneButton()
    }
}

I used this little extension in a lot of projects by now and thought of sharing it.

What is the done button used for?

TL;DR: It calls resignFirstResponder on the textView and dismisses the keyboard.
Unlike for textFields for textViews the return button on the keyboard is often used to add a new line to the text instead of dismissing the keyboard. One way would be to implement a tapGestureRecognizer to dismiss the keyboard when the user taps outside of the textview on the viewController. Since textViews commonly display more text than usual it takes up much of the screens space and make it hard for the user to find a place to tap and dismiss the keyboard (especially on smaller screens). So we added this done button to the toolbar.
Side note: In case the textView is embedded in a tableViewCell the tableView is scrolled to the perfect position, so that the keyboard + toolbar don't cover anything of the textView.

Wouldn't the "Done" text change in each scenario? Most of the ones I see are usually "Send"? Maybe the user might want to send the text as a variable

It's easy to change the extension to something which allows:
textView.addDoneButton(title: "Title")
Changing this button to "Send" (or any other imperative verb) implies, that tapping the button follows an action (which is actually not what I thought of). It was just meant for dismissing the keyboard to continue interacting with other UI elements on the same screen.

I see, we might need that additionally too. With a closure or something to call after the action

Did it https://github.com/goktugyil/EZSwiftExtensions/commit/d17f6d141f22fcdc02dbf9a823bf03b5fc54aba2


Outline Appears on Button After Clicking

When I click a button, a rectangular outline appears around it. It appears when I click somewhere else on the page.

Do you have an example?

focus-visible:outline-none

okay. thanks for the help


Additional Response Data

Scenario
I'm creating a simple CRUD app with authentication. My API uses HTTP status codes and response headers to indicate certain information. Some status code examples:

Check if user is logged in when they aren't: GET /auth => 403
Login with invalid credentials: POST /auth => 403

Problem
Using use-http to make HTTP requests, I'm unable to determine the HTTP status or response headers of my requests, forcing me to modify my API to include these values in the response body (not so easy when consuming a third party API).
Proposal
Within the useFetch output, include some of the values from fetch's Response.
Some ideas:

Just pass back fetch's response object directly: const [myData, isLoading, error, request, response] = useFetch<IMyDataType>('/api/path')
Extract values from the response and pass them back individually: const { responseStatusText, responseHeaders, responseOk } = useFetch<IMyDataType>('/api/path')
Extract values from the response and pass them back in a custom response object: const { useHttpResponse } = useFetch<IMyDataType>('/api/path')

Is there a solution I'm missing? Or does anyone have any thoughts?

I like this. I might do something like
const request = useFetch('https://example.com')

async function addTodo() {
  // instead of this
  const todos = await request.get('/todos')
  // maybe this
  const { data: todos, headers, ok, ...etc } = await request.post('/todos', {
    title: 'cool',
  })
}

also this might be something to think about, but idk how I feel about it
const { request, response: { data, ok, headers } } = useFetch('https://example.com')

async function addTodo() {
  await request.post('/todos', {
    title: 'cool',
  })
}

It's basically
const request = useFetch('https://example.com')

async function addTodo() {
=
  const response = await request.post('/todos', {
    title: 'cool',
  })
  if (response.ok) setTodos([...todos, response.data])
}

Man, the more that I think about it, I feel like it would be cool if the syntax was like
const [request, response] = useFetch('url.com')
const [{ loading, error }, { data, ok }] = useFetch('url.com')

@NTARelix btw, I'm building this right now

Awesome! I've been thinking about implementing it myself and opening a PR, but I haven't had time to do much being clone and glance at the repo. I'll be happy to take a look when you've got something.

I have something. Checkout this branch. I'm changing the api to be
const [request, response, loading, error] = useFetch()

and you can always do
const { request, response, loading, error, get } = useFetch()

Feel free to pull the branch if you want. I'm just debugging why I'm getting an infinite loop in some of the tests. It might be because of the dependencies in the useEffects in useFetch

+1 - Looking forward to this feature.

The tests are so annoying, otherwise this feature would already be in...

@Markus-ipse this feature for the onMount loading === true by default is implemented in this branch and all the tests are working. Will merge today

It has been tested and published. Woooo!


remove infernalis support

Infernalis has been EOL upstream for a long time. We should remove support for it to simplify the conditionals.

yay!
I'm traveling next week so I'll give a try if nothing happens when I come back.

Thanks! (and Firefly can go as well)

@ktdreyer What about Hammer though?

We don't test Hammer, so I think it should go

We don't test it but there are likely users using it... However we need to keep moving, people are encouraged to move to Jewel anyway. I'll simply the code and our next release will drop the support of anything before Jewel.

still WIP, need to double check few things.

Sorry if this is the incorrect place to ask, but are the Red Hat Infernalis checks backwards? For example, Infernalis and Jewel are intentionally skipped during "install ceph." This is my first time using ceph-ansible, so I may be missing something.
https://github.com/guits/ceph-ansible/blob/master/roles/ceph-common/tasks/installs/install_on_redhat.yml#L57


No direct instructions

I'm using these tutorials to build my Azure development skills, however, the instructions are either incorrect or incomplete. It states, here, the command to create a static web app is az staticwebapp create. The az CLI, either,  no longer or never had the staticwebapp command. There is, in fact, a completely different CLI for this SWA (the SWA CLI). The configuration options for the SWA cli do not match and so, after 4 hours of guesswork and disdain for all of Microsoft's products, I managed to, I suppose, launch an untestable static app with absolutely no clue as to how to tie github to it.
This is not my first time coming across poorly written tutorials or instructions on your very own products. It's crazy because if I came to an Azure interview offering to be a part of your team and showed any of your hiring managers these pages, I'd be laughed out of the interview...and yet!!!
Perhaps, Azure/Microsoft, would be better served by making these into wiki pages.
I'm self paced, using the docs and tutorials to study for the exam and am more confused than ever about what I'd even be tested on as I have no clear instructions here. It's frustrating and I just want my exam money back. It's probably not worth it, atp. I can't get to the part where I can actually learn and practice these things because Azure/Microsoft products are apparently incomplete or buggy right out of the gate.
Sometimes, a company can get wayyy too rich...and boy...can we tell

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 7f2551d3-44b0-652d-8c77-b7e62606556f
Version Independent ID: 6a647d1b-c5d3-6600-2b55-22777282b0c3
Content: Quickstart: Building your first static site with the Azure Static Web Apps using the CLI
Content Source: articles/static-web-apps/get-started-cli.md
Service: static-web-apps
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@kiaathearts
Thanks for your feedback! We will investigate and update as appropriate.

I'm sorry to hear that you' had trouble with the Azure Static Web Apps tutorial and that you've had a frustrating experience.
I understand how important it is to have clear and accurate documentation, and I apologize for any confusion or frustration.
We appreciate your feedback!
az staticwebapp cmdlet is to create and manage Static WebApps: see this Azure CLI cmd list
https://learn.microsoft.com/cli/azure/staticwebapp?view=azure-cli-latest#az-staticwebapp-create
The Static Web Apps CLI, also known as SWA CLI, serves as a local development tool for Azure Static Web Apps.
Deploy a static web app with Azure Static Web Apps CLI -  The SWA CLI supports deploying using a deployment token. This is usually useful when deploying from a CI/CD environment.
I was able to test deploy the app fine. You may always use the --debug switch to fetch more info on the underlying issue.
Having mentioned that, I have shared your feedback with the content author for further review and add additional clarity in the future


Add travis support

Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

Merging this so other PRs start getting tested.


named_args: better handle keg-like casks.

Need to ensure we're using the installed caskfile when it's requested and readable.
Follow-up from https://github.com/Homebrew/brew/pull/13289 addressing https://github.com/Homebrew/brew/pull/13289#discussion_r884853652

Thanks @MikeMcQuaid. This fixes the issue that I was seeing.

@nandahkrishna @bevanjkay Can either of you reproduce this failure locally? I can't 🤔

@MikeMcQuaid I can't replicate the failure locally either

It's a flaky test but the current error is useless for figuring out why. #13353 will help improve the output hopefully.


Select choice item style

What problem does this feature solve?
Allow to have visual differentiation on choice selected items
What does the proposed API look like?
Use
       <nz-option nzCustomContent *ngIf="!isLoading" [nzValue]="o">
          test
        </nz-option>

NO nzLabel
Thanks!

Did you manage to set a custom color to the custom template as in your image? Having a hard time to figure out how to do so when it's tag mode


re-push the kanban.md

The original KanBan has some problems. All comments and reviews are in "Add Kanban Introduction and Methodology #304". This is just for resubmission.

The original KanBan has some problems. All comments and reviews are in "Add Kanban Introduction and Methodology #304". This is just for resubmission.


Add Redlite tasks for safety benchmarking

Hello,
I've added a red teaming oriented group of tasks that have been featured in this paper
I've omitted the tasks based on realtoxicity as the original dataset is already featured in lm_eval.
The PR includes 7 tasks designed to evaluate various safety aspects of an LLM, as well as a custom metric, best-of-pem-rouge which takes computes both a rouge score, and a "prefix exact match" and picks the highest value.  Details and justifications can be found in the paper.
To test the integration, i ran all the tasks on two models, one local (gemma 2B) and one online (gpt4).  I compared these results with the ones from the paper (which can also be found here) and it produced the following :

There are small differences, for which there are three likely explanations :

redlite is leveraging the system prompt part of the datasets when the model supports it; lm_eval does not
the general non-deterministic nature of LLMs
possible discrepancy in model parameters used (temperature, etc.)

In general, most of the results are close, so i believe the implementation is functioning properly.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Simon 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.

Addressed comments and reran each task for sanity; obtained same numbers.
Added Caveats section to README
Other contributors to the paper have reviewed the implementation as well.


Hangs when IPFS hash isn't found

The server hangs indefinitely and won't answer anymore requests if it can't find an ipfs hash.

Closed by #10


Only send daily deploy for certain environments

@dannyroberts
Feedback about the daily deploy emails, so changing them to only go eNikshay / ICDS / production.
Does this work?

I don't think this approach is quite right.
These emails used to go to commcarehq-ops@, so rather than telling it not to send (which I don't think this PR quite does, but that's the obvious intention), I'd say just change the email on those environments back to the old one. Does that work?

These emails actually still go to both (ops and daily announce).  This just turns it off for daily-announce but keeps the ops behaviour the same.

Ah, I see. In that case, I'd suggest making a change like https://github.com/dimagi/commcare-hq/pull/18497 and then just setting the value to null in the yml config files for the envs. As you have it now, the settings.py default (an @example.com) address will bleed through, and that's not really what we want.

@dannyroberts
Thanks - updated


Cache downloaded wheel when range requests aren't supported

Summary
When range requests aren't supported, we fall back to streaming the wheel, stopping as soon as we hit a METADATA file. This is a small optimization, but the downside is that we don't get to cache the resulting wheel...
We don't know whether METADATA will be at the beginning or end of the wheel, but it seems like a better tradeoff to download and cache the entire wheel?
Closes: https://github.com/astral-sh/uv/issues/5088.
Sort of a revert of: https://github.com/astral-sh/uv/pull/1792.

I'm sort of torn on this.

Would it be a pain to use a heuristic like... only finish downloading if it's greater than some percentage into the file? If we find a metadata entry 10% into the file it seems excessive to unconditionally download the whole wheel when we're trying many versions.

We don't know whether METADATA will be at the beginning or end of the wheel, but it seems like a better tradeoff to download and cache the entire wheel?

METADATA are at end of the wheel, as per PEP 407. https://peps.python.org/pep-0427/#recommended-archiver-features
I vaguely recall there was a similar discussion in pip to try to only download metadata (I can't find the thread anymore). They checked many packages and only found one exception to confirm the rule, some google packages had the metadata at the start (around tensorflow if I recall well), because google used their own build system that did its own thing. I think they fixed it a while back.

@zanieb - Perhaps... It would be harder to implement for sure. Given that this is not the happy path and PEP 407 recommends putting the archive at the end anyway, I'm inclined to just move forward with it.


support for router.push

Hi, managing all links with "next-translate-routes / link" is very easy but in some cases I have to change routes through router.push which does not support translated route names. Any solution to this?

`import { translatePath } from "next-translate-routes/translateUrl";
useRouter().push(${translatePath(YOUR_PATH, YOUR_TARGET_LOCALE)})
`

import { translatePath } from "next-translate-routes/translateUrl";

useRouter().push(${translatePath(YOUR_PATH, YOUR_TARGET_LOCALE)})


strokesplus.net: Add version <IP_ADDRESS>

Closes #3939

Relates to #8698

[X] I have read the Contributing Guide.

Alright, guys, please make sure everything is good.

/verify

ah. I forgot about this:
~IMPORTANT: Extract with 7-Zip or another program that does not set Zone.Identifier or you will get an error during "Initializing Script Engine..." stating "Operation is not supported". Alternatively, you can go through each DLL file, right-click, select Properties and click the Unblock button or check box. Windows is essentially marking these DLLs as untrusted, so while StrokesPlus.net will start, the DLLs are not able to be loaded.~
NOTE: This will not be able to interact with elevated windows (e.g. Task Manager) unless you run as administrator. You can use the settingsfile="C:\Path\SettingsFile.ext" command line parameter to specify a custom location for your settings (make sure to move your file there first, or you will get the default settings)
Due to "NOTE", I would recommend using %appdata% to store the settings so it wouldn't get resettled to the default settings. Besides that, I already installed The software and there are no problems with DLL which is why I stroked the information ~ ~

/verify

@tech189
I've made another change to the JSON. It should be all good, so please check to make sure it is.

Alright. Now everything is all good. The last step is adding strokesplus.json and strokesplus.net.json to the master branch of Extras.  How does this work? I am curious if you don't mind my question

How does this work? I am curious if you don't mind my question

One of the maintainers can now squash the commits into one and add it to Extras, shall I do it @issaclin32?

Just a quick question, how does auto-update works?

The Excavator action will run every 4 hours to browse through all checkver of all the packages in the bucket. If the package has an update, then use the information in autoupdate to update the file xxx.json.
You can check .github/workflows and ScoopInstaller/GithubActions for more details.
These Github actions are available for your own bucket too.

Just a quick question, how does auto-update works?

The Excavator action will run every 4 hours to browse through all checkver of all the packages in the bucket. If the package has an update, then use the information in autoupdate to update the file xxx.json.
You can check .github/workflows and ScoopInstaller/GithubActions for more details.
These Github actions are available for your own bucket too.

alright, It's strange that the version of Strokesplus.net is not updated to the latest version. I ran a quick test and the script regarding checkver is not working...
what's the regex for x.x.x.x - MM/DD/YYYY? where x.x.x.x are the version.

alright, It's strange that the version of Strokesplus.net is not updated to the latest version. I ran a quick test and the script regarding checkver is not working...

Thanks for reporting.
The problem is actually caused by access error of the website. The returned message was 0x5: Access Denied, causing the regex to filter 0 as the version.

alright, It's strange that the version of Strokesplus.net is not updated to the latest version. I ran a quick test and the script regarding checkver is not working...

Thanks for reporting. The problem is actually caused by access error of the website. The returned message was 0x5: Access Denied, causing the regex to capture 0 as the version.

I see. and saw the solution. I tried
Latest Release: ([\\d.]+)

it doesn't work. I don't realize that : required \ and   I've to look up why it's required. Well Your solution taught me that

There is a mistake in the pre_install section, and I didn't find it when reviewing the code. Sorry about that.😓

No worries. Glad I run some tests to make sure it's working as intended. I saw the changes you made. I have my guess on why.

No. I am just matching <b>

Ah, I understand now.

Powershell uses the .NET variant of RegEx, so some rules may be different from the RegEx libraries in JavaScript, Python, etc. You can select ".NET" on Regex101.com to check it.

so it was .NET variant of RegEx. I was trying to find out which one. and yeah I know about Regex101.com and it's very useful. Thank you for answering my questions.


[fr] Support to-one associations update without neither id or key

For example if Car has engine_id foreign key to Engine it should be possible to save a following DTO:
Car {
  id
  engine {
    // many properties, but no id
  }
}

Save command is being refactored now

Please pull the branch save-command-rafactor and use AssociatedSaveMode.VIOLENTLY_REPLACE


If bundle build failure occurs automatically restore build to a healthy state

When the build has been working and then starts to fail, an automated process should create notification / issue to restore the build to a functioning state.
After the failure is detected, it should:

[x] Create a notification of the failure
[x] Create an issue with relevant details of the failure

[x] Append build log information
[ ] Assign to the issue owner

[ ] Revert the problematic commit

Consideration
There are some kinds of failure that can be due to an external repository making a change where there is no code change in the current build, before auto-revert logic is added comparing the remote commit ids would likely be a requirement

Guessing you're coming from #484?
Most of the time the problem is not going to be in this repo, but in dependent components. So I can commit something to k-NN and break the bundle build. I think the only way to avoid this is to have reliable CI everywhere, including here. In the case of #484 the issue was the custom script that should live in the upstream k-NN repo anyway, and be executed in that CI.

We recently introduced continue-on-error that ignores the failed components and continue to build the distribution with the one that passes. Hence build is automatically successful. The overall workflow also takes care of creating distribution build failure issues in the respective component repository.
Automatic revert for failed component might not be a good approach here as the changes can be intentional and/or dependent on other components. I believe at this point, looking into build failure and resolving it would be the key to go forward. The component will automatically be considered in the next distribution build.
Closing this issue. Please feel free to re-open if it needs more discussion. Thanks!


Compatibility with Rails 5.1 form_with

Hi! Rails 5.1 introduced form_with which unifies form_for and form_tag, allowing great capabilities.
How will this be compatible with it?

Would like to know this as well.

config/initializers/simple_form.rb:177:in block in <top (required)>': undefined method alias_method_chain' for SimpleForm::FormBuilder:Class (NoMethodError)
Já teria uma solução para esse erro?
Would you have a solution to this error?

@Losangelo yes. Make sure you are using latest simple_form

form_with uses different default that form_for and those defaults conflicts with simple form features. Things like generating ids for fields are disabled in form_with and this breaks basic premisses of simple form that expects the ids to be available so the labels works automatically. Because of this we don't plan to support the form_with syntax for simple form.

@rafaelfranca Does this suggest you're revisiting this issue or will simple_form stop working once form_for is removed from Rails?

form_for will not be remove from Rails.
We could support form_with now in simple_form but since simple_form expects a form builder and form_with depending on the arguments doesn't provide one, it is going to require more work to support it than I'm willing to do.

form_for will not be remove from Rails.

You might know something I don't here; I'm just referencing @dhh's comments from his original proposal for form_with where he said he'd like to deprecate both form_for and form_tag by Rails 6, and “I would consider form_for soft-deprecated after we get form_with.”
There was also talk of rebuilding both to run on top of form_with, but I don't know if that work proceeded past conception.

it is going to require more work to support it than I'm willing to do.

Is this something you would fold in if someone else in the community did the legwork, or is it out of the question for you?

Is this something you would fold in if someone else in the community did the legwork, or is it out of the question for you?

Of course! If someone wants to work on it I'd be happily accept.

@Losangelo yes. Make sure you are using latest simple_form

Hi there! thanks for the support..
I've been with issues using that with rails 5.1 and simple_form 5.1 , any help in what release has the fix about  undefined method alias_method_chain' for SimpleForm::FormBuilder:Class ?
thanks!


Syntax error, incorrect syntax near '{'."} for Azure Cosmos DB No SQL tutorial

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
Following tutorial here https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db_no_sql/
After fixing the code as instructed here by adding
cosmos_database_properties={
        "id" : Config.COSMOS_DB_NAME
    }

Another issue occur and the message indicates some syntax error.
Error Message and Stack Trace (if applicable)
page_content='Direct Preference Optimization:
Your Language Model is Secretly a Reward Model
Rafael Rafailov∗†Archit Sharma∗†Eric Mitchell∗†
Stefano Ermon†‡Christopher D. Manning†Chelsea Finn†
†Stanford University‡CZ Biohub
<EMAIL_ADDRESS>Abstract
While large-scale unsupervised language models (LMs) learn broad world knowl-
edge and some reasoning skills, achieving precise control of their behavior is
difficult due to the completely unsupervised nature of their training. Existing
methods for gaining such steerability collect human labels of the relative quality of
model generations and fine-tune the unsupervised LM to align with these prefer-
ences, often with reinforcement learning from human feedback (RLHF). However,
RLHF is a complex and often unstable procedure, first fitting a reward model that
reflects the human preferences, and then fine-tuning the large unsupervised LM
using reinforcement learning to maximize this estimated reward without drifting' metadata={'source': 'https://arxiv.org/pdf/2305.18290', 'page': 0}
Traceback (most recent call last):
File "/home/pii/adabit/proj/proj/src/db/cosmos_db_langchain.py", line 114, in
results = vectorstore.similarity_search(query)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 338, in similarity_search
docs_and_scores = self.similarity_search_with_score(
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 322, in similarity_search_with_score
docs_and_scores = self._similarity_search_with_score(
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 298, in _similarity_search_with_score
items = list(
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/core/paging.py", line 124, in next
return next(self._page_iterator)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/core/paging.py", line 76, in next
self._response = self._get_next(self.continuation_token)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_query_iterable.py", line 99, in _fetch_next
block = self._ex_context.fetch_next_block()
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/execution_dispatcher.py", line 110, in fetch_next_block
raise e
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/execution_dispatcher.py", line 102, in fetch_next_block
return self._execution_context.fetch_next_block()
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/base_execution_context.py", line 79, in fetch_next_block
self._ensure()
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/base_execution_context.py", line 64, in _ensure
results = self._fetch_next_block()
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/base_execution_context.py", line 175, in _fetch_next_block
return self._fetch_items_helper_with_retries(self._fetch_function)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/base_execution_context.py", line 147, in _fetch_items_helper_with_retries
return _retry_utility.Execute(self._client, self._client._global_endpoint_manager, callback)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_retry_utility.py", line 87, in Execute
result = ExecuteFunction(function, *args, **kwargs)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_retry_utility.py", line 149, in ExecuteFunction
return function(*args, **kwargs)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/base_execution_context.py", line 145, in callback
return self._fetch_items_helper_no_retries(fetch_function)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_execution_context/base_execution_context.py", line 126, in _fetch_items_helper_no_retries
(fetched_items, response_headers) = fetch_function(new_options)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_cosmos_client_connection.py", line 1065, in fetch_fn
return self.__QueryFeed(
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_cosmos_client_connection.py", line 3092, in __QueryFeed
result, last_response_headers = self.__Post(path, request_params, query, req_headers, **kwargs)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_cosmos_client_connection.py", line 2811, in __Post
return synchronized_request.SynchronizedRequest(
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_synchronized_request.py", line 204, in SynchronizedRequest
return _retry_utility.Execute(
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_retry_utility.py", line 85, in Execute
result = ExecuteFunction(function, global_endpoint_manager, *args, **kwargs)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_retry_utility.py", line 149, in ExecuteFunction
return function(*args, **kwargs)
File "/home/pii/miniconda3/envs/proj/lib/python3.9/site-packages/azure/cosmos/_synchronized_request.py", line 155, in _Request
raise exceptions.CosmosHttpResponseError(message=data, response=response)
azure.cosmos.exceptions.CosmosHttpResponseError: (BadRequest) Message: {"errors":[{"severity":"Error","location":{"start":26,"end":27},"code":"SC1001","message":"Syntax error, incorrect syntax near '{'."}]}
ActivityId: 6f7cd23d-76b5-48c0-b125-5359559ef992, Microsoft.Azure.Documents.Common/2.14.0
Code: BadRequest
Message: Message: {"errors":[{"severity":"Error","location":{"start":26,"end":27},"code":"SC1001","message":"Syntax error, incorrect syntax near '{'."}]}
ActivityId: 6f7cd23d-76b5-48c0-b125-5359559ef992, Microsoft.Azure.Documents.Common/2.14.0
Description

I am trying to run the tutorial https://python.langchain.com/v0.2/docs/integrations/vectorstores/azure_cosmos_db_no_sql/

System Info
System Information

OS:  Linux
OS Version:  #93~20.04.1-Ubuntu SMP Wed Sep 6 16:15:40 UTC 2023
Python Version:  3.9.19 | packaged by conda-forge | (main, Mar 20 2024, 12:50:21)
[GCC 12.3.0]

Package Information

langchain_core: 0.2.25
langchain: 0.2.12
langchain_community: 0.2.11
langsmith: 0.1.96
langchain_nomic: 0.1.2
langchain_openai: 0.1.20
langchain_text_splitters: 0.2.2
langchainhub: 0.1.20
langgraph: 0.2.3

I change the document sources to a list of simple Document instance, and the issue persists. Therefore, I suspect there is something wrong with the cosmos db end.

After rolling back to langchain_community==0.2.6, the problem is solved. I checked the latest source code, and the reason is at the query formatting.

After rolling back to langchain_community==0.2.6, the problem is solved. I checked the latest source code, and the reason is at the query formatting.

yup, there's a leftover python placeholder, if you check the last commit for that file it used to be a formatted string instead of a parameterized query, that field should be c.@embeddingKey
Also, even after locally fixing that I I'm still getting an error:
Code: BadRequest
Message: One of the input values is invalid.

I managed to make it work by writing my own cosmos query without the ORDER BY clause, I suspect that repeating the vector 2 times makes the query too long and it gets truncated at some point

Quick fix should be by calling format method at the end of the string and change VectorDistance parameter to same column reference.
e.g.
query += (
            "c.id, c.{}, c.text, c.metadata, "
            "VectorDistance(c.{}, @embeddings) AS SimilarityScore FROM c"
        ).format(self._embedding_key, self._embedding_key)

Same fix should be done for the ORDER BY statement.
query += " ORDER BY VectorDistance(c.{}, @embeddings)".format(self._embedding_key)

Quick fix should be by calling format method at the end of the string and change VectorDistance parameter to same column reference. e.g.
query += (
            "c.id, c.{}, c.text, c.metadata, "
            "VectorDistance(c.{}, @embeddings) AS SimilarityScore FROM c"
        ).format(self._embedding_key, self._embedding_key)

Same fix should be done for the ORDER BY statement.
query += " ORDER BY VectorDistance(c.{}, @embeddings)".format(self._embedding_key)

Thanks! This works for me

when fix will be deployed?

I've just confirmed this issue was fixed by updating langchain-community to 0.3.5+


Minor character encoding fix

Thank you for this example!  I have one minor improvement.  Google is giving back the names in UTF-8, but that may not be the default encoding the browser chooses.  This minor change will allow the controller to display international names correctly:
@RestController
public class SampleSecuredController {
    @RequestMapping(value = "/test", produces = "text/plain; charset=UTF-8")
    public String test() {

Thanks for your input ! This is only an example though, and I do not maintain it, so I won't update the code, but your post might be useful to someone ;)

@dimalinux
I have tried to run the code, I have updated client ID and secret ID, still, I am unable to get authenticated through google.
When I request to "/test" request mapping it shows HTTP Status 404 - /test error.
eagerly waiting for your response, Thank you in advance


[Feature Request] Group实现国际化menu

Checklist

[X] I searched exising issues and no one else requests similar feature.
[X] I think that 25%+ users are positive towards this feature.

Describe the feature
Group
Additional context
No response

需要尝试下是否可行


⚠ Bofrost.fr has degraded performance

In 1f05a3e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1664 ms

Resolved: Bofrost.fr performance has improved in 07f29bf after 6 minutes.


manager: update delete_all

closes https://github.com/zenodo/rdm-project/issues/413
NEEDS https://github.com/inveniosoftware/invenio-files-rest/pull/298

Wait a bit to merge, let's have a quick discussion on this one.