Is there an existing issue for this?

[X] I have searched the existing issues.

Which plugins are affected?
Messaging
Which platforms are affected?
Android
Description
Flutter Doctor
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.0 23A344 darwin-x64, locale tr-TR)
• Flutter version 3.19.6 on channel stable at /Users/benpetto/flutter_projects/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 54e66469a9 (5 days ago), 2024-04-17 13:08:03 -0700
• Engine revision c4cd48e186
• Dart version 3.3.4
• DevTools version 2.31.1
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/benpetto/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15A240d
• CocoaPods version 1.15.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
[✓] VS Code (version 1.88.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.86.0
[✓] VS Code (version 1.78.1)
• VS Code at /Users/benpetto/Downloads/Visual Studio Code.app/Contents
• Flutter extension version 3.86.0
[✓] Connected device (5 available)
• sdk gphone64 x86 64 (mobile) • emulator-5554             • android-x64    • Android 14 (API 34) (emulator)
• macOS (desktop)              • macos                     • darwin-x64     • macOS 14.0 23A344 darwin-x64
• Chrome (web)                 • chrome                    • web-javascript • Google Chrome 124.0.6367.61
[✓] Network resources
• All expected network resources are available.
• No issues found!
Issue:
When a notification is sent while the application is in the foreground, it crashes with the android.os.MessageQueue.nativePollOnce (Native method) error.
There is no issue with the first notification; it arrives promptly. However, subsequent notifications experience delays. After a while, all pending notifications arrive simultaneously, leading to a crash of the application.
packages:
firebase_core: ^2.30.0
firebase_messaging: ^14.8.2

Reproducing the issue
1-) Launch the application on an Android device.
2-) Send multiple push notifications to the device within a short period.
3-) Notice the delay in receiving subsequent notifications.
4-) After some time, observe all pending notifications being delivered simultaneously, leading to a crash of the application.
Firebase Core version
2.30.0
Flutter Version
3.19.6
Relevant Log Output
android.os.MessageQueue.nativePollOnce (Native method)
android.os.MessageQueue.next (MessageQueue.java:335)
android.os.Looper.loopOnce (Looper.java:161)
android.os.Looper.loop (Looper.java:288)
android.app.ActivityThread.main (ActivityThread.java:7872)
java.lang.reflect.Method.invoke (Native method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)

Flutter dependencies

Expand Flutter dependencies snippet

Replace this line with the contents of your `flutter pub deps -- --style=compact`.

Additional context and comments
No response

Hello @kdrgrgn,
Could you please try out the Flutter example app available at this link? Configure it with your Firebase backend using the FlutterFire CLI, which you can find here. After setting it up, could you let us know if the issue still occurs? Thanks!

Helo @TarekkMA
We applied the example in the link. The same issue is happening there too, only on Android. The first message works fine. Then the subsequent messages come in bulk, and despite not setting the default message, the rest of the messages fall into background messaging while the app is open. Then a crash occurs.

Could you please provide details on the payload you are using with firebase-admin, as well as the method you are employing to send these messages? This information will help us reproduce and diagnose the issue effectively. Thank you!

@TarekkMA  I can't share the structure I normally use with you. However, I'm experiencing the same issue even when I push with Postman

@kdrgrgn, Can you use firebase-admin and see if this still causes issue as well?
An example script can be as follows:
// 0. install firebase-admin via npm
var admin = require('firebase-admin');
// 1. Download a service account key (JSON file) from your Firebase console and add to the example/scripts directory
var serviceAccount = require('./key.json');
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
});

// 2. Copy the token for your device that is printed in the console on app start (`flutter run`) for the FirebaseMessaging example
const androidToken = 'token here';

// 3. From your terminal run `npm install`.
// 4. Run the script using node and your app will receive messages in any state; foreground, background, terminated.
// If you find your messages have stopped arriving, it is extremely likely they are being throttled by the platform. iOS in particular
// are aggressive with their throttling policy.
admin
  .messaging()
  .send(
    {
      token: androidToken,
      data: {
        foo: 'bar',
        float: '12034'
      },
      notification: {
        title: 'A great title',
        body: 'Great content',
      },
      android: {
        // Required for background/terminated app state messages on Android
        priority: 'high',
      },
      apns: {
        payload: {
          aps: {
            // Required for background/terminated app state messages on iOS
            contentAvailable: true,
          },
        },
      },
    },
  )
  .then((res) => {
    if (res.failureCount) {
      console.log('Failed', res.results[0].error);
    } else {
      console.log('Success');
    }
  })
  .catch((err) => {
    console.log('Error:', err);
  });

@kdrgrgn, Can you use firebase-admin and see if this still causes issue as well?
An example script can be as follows:
// 0. install firebase-admin via npm
var admin = require('firebase-admin');
// 1. Download a service account key (JSON file) from your Firebase console and add to the example/scripts directory
var serviceAccount = require('./key.json');
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
});

// 2. Copy the token for your device that is printed in the console on app start (`flutter run`) for the FirebaseMessaging example
const androidToken = 'token here';

// 3. From your terminal run `npm install`.
// 4. Run the script using node and your app will receive messages in any state; foreground, background, terminated.
// If you find your messages have stopped arriving, it is extremely likely they are being throttled by the platform. iOS in particular
// are aggressive with their throttling policy.
admin
  .messaging()
  .send(
    {
      token: androidToken,
      data: {
        foo: 'bar',
        float: '12034'
      },
      notification: {
        title: 'A great title',
        body: 'Great content',
      },
      android: {
        // Required for background/terminated app state messages on Android
        priority: 'high',
      },
      apns: {
        payload: {
          aps: {
            // Required for background/terminated app state messages on iOS
            contentAvailable: true,
          },
        },
      },
    },
  )
  .then((res) => {
    if (res.failureCount) {
      console.log('Failed', res.results[0].error);
    } else {
      console.log('Success');
    }
  })
  .catch((err) => {
    console.log('Error:', err);
  });

Hi,
We have the same anr problem in our project. Additionally, notifications are sent via "firebase-admin" as you mentioned.
This problem has increased a lot in the last 6-7 months and continues to cause a lot of anr. I am submitting the "Logs & Breadcrumbs" and "Stack trace" information I received from Firebase Crashlytics.
Number of anr received in the last 90 days (31K);

main (native):tid=1 systid=18662
#00 pc 0x86f8c libc.so (syscall + 28)
#01 pc 0x1b07a4 libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 148)
#02 pc 0x3a544c libart.so (art::JNI<false>::CallObjectMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list) + 500)
#03 pc 0x4074 libnativehelper.so (_JNIEnv::CallObjectMethod(_jobject*, _jmethodID*, ...) + 124)
#04 pc 0xed358 libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long, unsigned long, unsigned int) + 48)
#05 pc 0x93c28 libgui.so (android::DisplayEventDispatcher::handleEvent(int, int, void*) + 168)
#06 pc 0x1a064 libutils.so (android::Looper::pollInner(int) + 916)
#07 pc 0x19c68 libutils.so (android::Looper::pollOnce(int, int*, int*, void**) + 112)
#08 pc 0x118b3c libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int) + 44)
       at android.os.MessageQueue.nativePollOnce(Native method)
       at android.os.MessageQueue.next(MessageQueue.java:335)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:8096)
       at java.lang.reflect.Method.invoke(Native method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)

@Cengizhanerturan  Hi, I couldn't solve the problem. I switched to Onesignal. It's working fine now

@Cengizhanerturan Hi, I couldn't solve the problem. I switched to Onesignal. It's working fine now

@kdrgrgn Thanks for your answer.
https://github.com/firebase/flutterfire/issues/12832
I created a new issue here, I hope a solution is found.


Fix DS-3871: Stop pinning legacy REST API to old version of Jackson libraries

Fix for https://jira.duraspace.org/browse/DS-3871
This fixes a minor dependency issue in the legacy REST API on master, which caused it to throw errors when using the legacy REST Quality Control Reports (and similar).
The issue was a dependency conflict, where the legacy REST API was pinning an older version of the FasterXML Jackson libraries than the one used in the current version of Jersey (and Jersey was recently upgraded in #1955).  I simply removed the pinned version, and everything works now.
A test procedure is documented in the comments of DS-3871.

Closing, as this seems to have been fixed by #2050.  Old versions of Jackson libraries are no longer pinned.


[Bug] Doris round函数对整数为偶数，小数为0.5的数字四舍五入计算准确度异常

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
doris 1.2.2 release
doris 2.0.0
What's Wrong?
建表语句
CREATE TABLE round_test (
id VARCHAR(100) NULL,
f1 FLOAT NULL,
f2 DOUBLE NULL,
f3 DECIMAL(9, 1) NULL,
f4 DECIMALV3(9, 1) NULL
) ENGINE=OLAP
DUPLICATE KEY(id)
COMMENT 'OLAP'
DISTRIBUTED BY HASH(id) BUCKETS 3
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"in_memory" = "false",
"storage_format" = "V2",
"disable_auto_compaction" = "false"
);
插入数据
INSERT INTO round_test VALUES('1',1.5,1.5,1.5,1.5),('2',2.5,2.5,2.5,2.5),('3',13.5,13.5,13.5,13.5),('4',14.5,14.5,14.5,14.5);
查询数据
SELECT id,f1 f1_float,ROUND(f1),f2 f2_double,ROUND(f2),f3 f3_decimal,ROUND(f3),f4 f4_decimalv3,ROUND(f4) FROM round_test;
查询结果
在FLOAT，DOUBLE，DECIMAL类型，当整数位为偶数时，小数位为0.5的情况下，使用ROUND函数四舍五入会向下舍掉，在整数位为奇数时正常；DECIMALV3类型正常；
+----+----------+-------------+-----------+-------------+------------+-------------+--------------+-------------+ | id | f1_float | round(f1) | f2_double | round(f2) | f3_decimal | round(f3) | f4_decimalv3 | round(f4) | +----+----------+-------------+-----------+-------------+------------+-------------+--------------+-------------+ | 1  |      1.5 |           2 |       1.5 |           2 | 1.5        |           2 | 1.5          | 2           | | 2  |      2.5 |           2 |       2.5 |           2 | 2.5        |           2 | 2.5          | 3           | | 3  |     13.5 |          14 |      13.5 |          14 | 13.5       |          14 | 13.5         | 14          | | 4  |     14.5 |          14 |      14.5 |          14 | 14.5       |          14 | 14.5         | 15          | +----+----------+-------------+-----------+-------------+------------+-------------+--------------+-------------+

Doris旧版本是正常的
https://doris.apache.org/zh-CN/docs/dev/sql-manual/sql-functions/math-functions/round/

What You Expected?
在1.2.2和后续新版本能够保持对float、double、decimal进行round运算准确性的兼容
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for your reply, can I understand that this Round behavior was not consistent with Mysql before the handling of float and double in doris lower version and older documents, which is also a bug, float and double handling was fixed after version 1.2.1


Unexpected response from Connect API

We have Coverity installation in place in my corporate workspace.
Can you please provide more informational logs or document steps to debug this 500 error? When running this action in our corporate environment, I need to find out what's happening behind the scenes.
I am using the action.yaml provided here: https://github.com/synopsys-sig/synopsys-action#synopsys-github-action---coverity-cloud-deployment-with-thin-client
2023-01-04 11:06:15.5226 EST [Check pull request] INFO: Starting Adapter
2023-01-04 11:06:15.5281 EST [Check pull request] INFO: Adapter finished
2023-01-04 11:06:15.0000 EST [Connect Workflow Controller] ERROR: failed to find the coverity version supported: Received unexpected response status code '500 ' from Connect API
2023-01-04 11:06:15.7101 EST [Coverity Connect Controller] ERROR: Adapter failed: exit status 1
2023-01-04 11:06:15.7131 EST [Default Blackduck Scan Mode] INFO: Adapter finished
2023-01-04 11:06:15.7334 EST [Coverity connect post scan] INFO: Adapter finished
Synopsys Action workflow execution completed
Error: Workflow failed! Exit Code: 2 Error from adapter end

The GH action doesn't work because our installation isn't installed using Kubernetes and thin client isn't installed.
The 500 error is unintuitive, the error should be tuned to a better message.

The GH action doesn't work because our installation isn't installed using Kubernetes and thin client isn't installed.
The 500 error is unintuitive, the error should be tuned to a better message.

We don't use K8s for it either. The error message, agreed, is not helpful.
When I read it, it seems like the thin-client was automatic to some degree. Clearly some client is installed in the error message.
I am tying to open a ticket directly with Synopsys since they are not responding to this.

Thin-client is currently supporting only Cloud Native Coverity (CNC), Black Duck and Polaris. If you have on-prem installation of Coverity Connect, this GH action will not work for you. If you want to integrate Coverity Connect with GH pipeline, you need to create your own action. I have created some examples here:

To install and setup Coverity Analysis tools into runner PATH: https://github.com/lejouni/setup-coverity-analysis
To run Coverity buildless analysis: https://github.com/lejouni/coverity-buildless-analysis
To run Coverity build analysis: https://github.com/lejouni/coverity-build-analysis
Buildless and build actions are using commit checker action: https://github.com/lejouni/coverity-commit-checker
They are also using sarif-formatter action, if sarif is requested as an output format: https://github.com/lejouni/coverity-sarif-formatter

Thank you @lejouni. This is exactly what I wanted to confirm before I went down the path of doing it similar to the above links.


D405 post processing parameters

Required Info

Camera Model
{ D405 }

Firmware Version
(v2.51.1

Operating System & Version
{Windows 11

Platform
PC

SDK Version
2.51.1 }

Language
LabView }

Segment
{ Others }

Issue Description
Hello,
We are trying to save the the parameters that we've setup on our D405 camera through Intel RealSense Viewer v2.51.1.
When we save the parameters in a JSON file, we can see all the parameters associated to "Controls" and "Advanced Controls" in the file, but we get none of the parameters linked to "Depth Visualization" and "Post-Processing".
We then read the parameters setup in the JSON file in LabView. Since we are missing "Depth Visualization" and "Post-Processing" data in the JSON file, we try to adjust our values manually to get an image as close as what we had in the Intel RealSense Viewer.
Is there a reason why those parameters aren't saved in the JSON file? Is there a way to save them or to access them?
backupSettings.txt

Hi @HarisSiv  Not all of the RealSense Viewer tool's settings, like the ones that you quoted, can be exported to json file.  An example of this is the Histogram Equalization depth visualization setting, which is not a camera hardware feature and so cannot be exported to json.  Instead, Histogram Equalization is applied through the depth colorizer feature that color-shades depth data according to the depth visualization settings.
Post-processing filters are also software-based features that are applied to camera data in real-time and processed on the computer's CPU, not in the camera hardware.
Settings that cannot be defined in a json file can be configured with RealSense SDK program scripting in languages such as C++ and Python.
Further information about this subject can be found at the link below.
https://support.intelrealsense.com/hc/en-us/community/posts/4441403077395-Realsense-viewer-Ability-to-preset-settings-
https://github.com/cansik/realsense-processing/issues/24 is also a helpful reference.

Thank you, much appreciated


Client logs that it established connection before it actually does

If the connection config's DisableConnectOnNew option is true, the client will still log that it established a connection to the remote server in New even though no connection attempt was made yet.

Ignore this, this is a bug in dcrrpcclient but not btcrpcclient.


Fix implementation of optional verification mode

This PR changes the behaviour of mbedtls_ssl_parse_certificate to put the two verification modes MBEDTLS_SSL_VERIFY_REQUIRED and MBEDTLS_SSL_VERIFY_OPTIONAL in the relationship that using MBEDTLS_SSL_VERIFY_REQUIRED is equivalent to using MBEDTLS_SSL_VERIFY_OPTIONAL + checking the verification result.
Also, it changes the behaviour to perform the certificate chain verification even if the trusted CA chain is empty. Previously, the function failed in this case, even when using optional verification, which was brought up in #864.
Please review. In particular, it needs to be validated that the user provided verification function f_vrfy is indeed supposed to report verification failures only through the flags field, reserving nonzero return values for fatal errors.
Internal reference: IOTSSL-1341
Backports: Needs backports to mbed TLS 1.3 and 2.1. Ready for the current PR.

@gilles-peskine-arm I've added a commit with a few tests. Please review.

@andresag01 The PR's now updated, incorporating your suggestions.

Update: Switched to cleaner loop condition in ssl_server2.c in the same way as in ssl_client2.c.

Update: @andresag01 @gilles-peskine-arm @mpg Manually rebased on top of current development branch, and fixed wrong printf type on some platforms in ssl_server2.c and ssl_client2.c.

@hanno-arm: Thanks for addressing the printing issue.


Fix of package.json repository url

@jwforres please review

Hi @jwforres, is the patch good to go in? Any change requests?

@spadgett can you look at this


Make export asynchronous

Exporting large numbers of domains / vulnerabilities times out. We should make exports asynchronous (so it should create a job on the backend, which can then be queried to view its status, then finally downloaded at the end once it's complete).

For this issue, it's probably simplest to make a new scan type called "export", which just exports specified vulnerabilities / domains to a CSV and stores it on S3.
Then, when someone clicks "Export" to export results, the server will just run this scan and then will give the user the S3 URL once it is ready.


how can i write a new line character into a cell

tried some string like 'abc\nxyz' , it does not work

According to a closed issue, '\r\n' worked a few versions ago but it won't work in the current version (0.2.39).
The text is displayed on one line until double-clicked/edited.

It works if you:

set  '\r\n' as the line separator
apply alignment: { wrapText: true } to the cell.

what @dferer mentions does not work for me.

@jayflores It won't, those characters are stripped out of the file when saving, hence my pull request that fixes it...

@Rycochet yeah I saw it.  Was just commenting here as an FYI for others who might read @dferer 's comment.


any way to use terragrunt run-all?

it appears that digger plan/apply merely runs terragrunt plan/apply when set up to use terragrunt. Is it possible to override this to use run-all instead?

Hey @noxjonas unfortunately there is no way to do run-all with digger at the moment since we only support terragrunt on a project level, rather than running terragrunt with something like run-all or apply-all. The assumption would be that you create a digger project for every terragrunt.hcl file.
Happy to discuss an extension to this if you have a usecase which needs usage of run-all!

Thanks for the quick reply! I'm still evaluating whether digger will suit my CICD needs.
Admittedly, terragrunt themselves don't think that run-all should be used for CI/CD, but I was hoping to use their dependency matrix between modules at least to run plans. And digger to get these plans in PR.
One issue in the absence of support for run-all is I'd need to manually generate >30 projects. I guess it will be addressed with https://github.com/diggerhq/digger/issues/424
still trying to figure out how to make extra_args work for terragrunt though, so it's still very much work in progress...

hey @noxjonas this is now supported and here are the docs page for it: https://docs.digger.dev/configuration/terragrunt-project-generation
Please give it a shot and let us know if that addresses it for you!


Update bower.json

See https://github.com/bower/spec/blob/master/json.md

Modify ignore list. Previously it includes only minified version with tinyicon library included, which is quite against convention. Bower team encourages not to include minified version at all. For dependencies you should use "dependencies" key instead.

Add dependencies key. Quite flexible versioning should work.

Remove deprecated version key. Now that version is out of sync with actually tagged version, getting this when installing:

bower checkout      tinycon-angularjs#1.1.1
bower mismatch      Version declared in the json (1.1.0) is different than the resolved one (1.1.1)
bower resolved      https://github.com/dirkgroenen/tinycon-angularjs.git#1.1.1
bower install       angular-tinycon#1.1.1

Cleaning out repo key

Point main version to non-minified (breaking change, requires major version bump)

Looks good, thanks.


Properly handle ambiguous "infeasible or unbounded" status (GUROBI, CPLEX, SCIP)

In PR #1065 there was some discussion on how test_lp_3 is failing for GUROBI on CVXPY's master branch. The issue is that under default settings, GUROBI employs a presolve feature which can make it impossible to distinguish between certificates of infeasibility and certificates of unboundedness. CPLEX apparently employs a similar presolve procedure, and currently maps "infeasible or unbounded" to "unbounded_inaccurate". The pending PR for SCIP (#1035) also maps "infeasible or unbounded" to "unbounded_inaccurate".
It's not appropriate for us to parse an "infeasible or unbounded" status into either "infeasible" or "unbounded" (with or without an "inaccurate" suffix). The most direct solutions are (1) raise a solver failure, or (2) create a new CVXPY status for this situation. Another solution is for CVXPY to automatically re-solve the problem with presolve turned off, before ever returning to the user.
It would be useful if developers of affected solvers could provide opinions on possible ways to proceed. @rluce is with GUROBI, @rkersh is with CPLEX, and @rimaddo is the SCIP contributor. Also pinging @SteveDiamond and @akshayka.

For me the deciding factor between re-solving vs making another status would be speed, i.e. can you re-solve and return the second result to the user fast enough to make it more-worthwhile than them investigating.
One thing I've done in the past to diagnose this problem is also to set the objective to 0 on the re-solve, that way if there is any feasible solution it will return it much more quickly and you know it's unbounded, or otherwise infeasible. Could it also help in this case?

My vote is for (2), a new status (eg, INFEASIBLE_UNBOUNDED). It’s a simple solution, requires minimal code change, and with the right documentation, it’ll be easy for users to understand.
In the website documentation describing this status, we can give tips on how to diagnose whether the problem is infeasible or unbounded (like rimaddo’s tip above). These tips might be specialized for different solvers.
That said: if the alternative of re-solving can be shown to be reliable and not too slow (say, no longer than the original solve), and if someone wants to do the work of implementing, testing, and maintaining it, that could work too.

@rileyjmurray, I'm no longer employed with IBM. In the future, can you please work with @djunglas (Daniel Junglas) for CPLEX related issues. I've forwarded this issue to him via email as well. Thanks!

+1 for making it a proper cvxpy status. From a user perspective an infeasible or unbounded solution status very often points in fact to a modeling error, and it doesn't really matter which of the two it is.

I vote for making a INFEASIBLE_UNBOUNDED cvxpy status. I wanted to mention that the gurobi conic interface currently resolves when it gets "infeasible or unbounded", so that should be changed.

It seems there's a general consensus around adding a new status. I'm happy to go that route as well.


feat(RingTheory/Derivation/Basic): add LinearEquiv.compDer equivalents for LinearMap.compDer lemmas

Add LinearEquiv.compDer equivalents for LinearMap.compDer lemmas.

Thanks!
maintainer merge

Thanks!
bors merge


Investigate Failed Record Imports for Nihms-loader in Pass Staging

Small amount of records failed (166 out of 9,730) during the import of the nihms-loader AWS batch job. Will need to investigate to see why these failed to import, for example:
CloudWatch Logs Insights
region: us-east-1
log-group-names: /aws/batch/job
start-time: 2023-10-24T14:59:00.000Z
end-time: 2023-10-25T03:00:00.000Z
query-string:
fields @timestamp, @message, @logStream, @log
| filter @logStream = 'stage-pass-data-loaders-nihms-job-def/default/49ec184838f847138557212f6d6be823'
| filter @message like /A problem occurred while processing csv row/
| sort @timestamp desc

@timestamp
@message
@logStream
@log

2023-10-24 18:13:41.963
ERROR 18:13:41.963 (NihmsCsvProcessor) A problem occurred while processing csv row 8458 with pmid 37789865. The record was not imported successfully.
stage-pass-data-loaders-nihms-job-def/default/49ec184838f847138557212f6d6be823
109693842411:/aws/batch/job

2023-10-24 18:12:31.665
ERROR 18:12:31.665 (NihmsCsvProcessor) A problem occurred while processing csv row 8411 with pmid 37777527. The record was not imported successfully.
stage-pass-data-loaders-nihms-job-def/default/49ec184838f847138557212f6d6be823
109693842411:/aws/batch/job

2023-10-24 18:07:05.363
ERROR 18:07:05.362 (NihmsCsvProcessor) A problem occurred while processing csv row 8140 with pmid 37691970. The record was not imported successfully.
stage-pass-data-loaders-nihms-job-def/default/49ec184838f847138557212f6d6be823
109693842411:/aws/batch/job

2023-10-24 18:06:42.353
ERROR 18:06:42.353 (NihmsCsvProcessor) A problem occurred while processing csv row 8124 with pmid 37681576. The record was not imported successfully.
stage-pass-data-loaders-nihms-job-def/default/49ec184838f847138557212f6d6be823
109693842411:/aws/batch/job

2023-10-24 18:04:16.243
ERROR 18:04:16.243 (NihmsCsvProcessor) A problem occurred while processing csv row 7999 with pmid 37648373. The record was not imported successfully.
stage-pass-data-loaders-nihms-job-def/default/49ec184838f847138557212f6d6be823
109693842411:/aws/batch/job

2023-10-24 18:01:18.313
ERROR 18:01:18.313 (NihmsCsvProcessor) A problem occurred while processing csv row 7836 with pmid 37587153. The record was not imported successfully.
stage-pass-data-loaders-nihms-job-def/default/49ec184838f847138557212f6d6be823
109693842411:/aws/batch/job

There were 164 records that have no matching award number, it comes down to 21 unique grants.
Of these 21 grants, there were 2 grants that existed in pass_grants and 19 that were not in pass_grants . Checked this against  the front-end of Fibi and there grants were not in Fibi. My hypothesis from this is that PMC has award numbers that Fibi does not.
Of those two grants that did exist in pass_grants . I found the issue in the nihms-loader and will create a ticket this evening and put in a PR, this has now been fixed and merged by: https://github.com/eclipse-pass/main/issues/804
There remaining two errors are issues with java.lang.NullPointerException: Cannot invoke "org.eclipse.pass.support.client.model.Repository.getId()" because "repo" is null
From the cloud watch logs:
2023-10-24T11:22:14.617-04:00	ERROR 15:22:14.617 (NihmsCsvProcessor) A problem occurred while processing csv row 8 with pmid 33688771. The record was not imported successfully.
2023-10-24T11:22:14.617-04:00	java.lang.NullPointerException: Cannot invoke "org.eclipse.pass.support.client.model.Repository.getId()" because "repo" is null
2023-10-24T11:22:14.617-04:00	at org.eclipse.pass.support.client.SubmissionStatusCalculator.mapPostSubmissionRepositoryStatuses(SubmissionStatusCalculator.java:211)
2023-10-24T11:22:14.617-04:00	at org.eclipse.pass.support.client.SubmissionStatusCalculator.calculatePostSubmissionStatus(SubmissionStatusCalculator.java:77)

2023-10-24T11:22:16.081-04:00	ERROR 15:22:16.081 (NihmsCsvProcessor) A problem occurred while processing csv row 10 with pmid 33688771. The record was not imported successfully.
2023-10-24T11:22:16.081-04:00	java.lang.NullPointerException: Cannot invoke "org.eclipse.pass.support.client.model.Repository.getId()" because "repo" is null
2023-10-24T11:22:16.081-04:00	at org.eclipse.pass.support.client.SubmissionStatusCalculator.mapPostSubmissionRepositoryStatuses(SubmissionStatusCalculator.java:211)
2023-10-24T11:22:16.081-04:00	at org.eclipse.pass.support.client.SubmissionStatusCalculator.calculatePostSubmissionStatus(SubmissionStatusCalculator.java:77)

The remaining two records with the issue java.lang.NullPointerException: Cannot invoke "org.eclipse.pass.support.client.model.Repository.getId()" because "repo" is null failed to import because of old lingering repo copies without a repoId in pass_repository_copy


set up files and packages

Set up file structures and packages for front end development.
Packages include: Typescript, Tailwind, React
Solve issue #11

This PR will be closed as the initial Frontend setup issue was assigned to @AkshatRamanathan

Reopening this issue. @HYnam You need to


v0.13.0

v0.13.0 Nov 30, 2019

Enhancements

Added GitHub Action to auto upload releases to PyPI (#816)

Fixes

Fix issue where some primitive options would not be applied (#807)
Fix issue with converting to pickle or parquet after adding interesting features (#798, #823)
Diff primitive now calculates using all available data (#824)
Prevent DFS from creating Identity Features of globally ignored variables (#819)

Changes

Remove python 2.7 support from serialize.py (#812)
Make smart_open, boto3, and s3fs optional dependencies (#827)

Documentation Changes

remove python 2.7 support and add 3.7 in install.rst (#805)
Fix import error in docs (#803)
Fix release title formatting in changelog (#806)

Testing Changes

Use multiple CPUS to run tests on CI (#811)
Refactor test entityset creation to avoid saving to disk (#813, #821)
Remove get_values() from test_es.py to remove warnings (#820)

Breaking Changes

The libraries used for downloading or uploading from S3 or URLs are now
optional and will no longer be installed by default.  To use this
functionality they will need to be installed separately.
The fix to how the Diff primitive is calculated may slow down the overall
calculation time of feature lists that use this primitive.

Codecov Report

Merging #830 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #830   +/-   ##
=======================================
  Coverage   98.15%   98.15%
=======================================
  Files         121      121
  Lines       10920    10920
=======================================
  Hits        10718    10718
  Misses        202      202

Impacted Files
Coverage Δ

featuretools/tests/test_version.py
100% <100%> (ø)
:arrow_up:

featuretools/version.py
100% <100%> (ø)
:arrow_up:

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 0bef172...2b62792. Read the comment docs.


Improve concurrency for MetricsStore

Fixes https://github.com/Alluxio/alluxio/issues/10470
This PR aims to improve concurrency in MetricsStore when processing
worker/client metrics.
It removes the synchronized lock on the metrics sets.
Atomically updates metric values instead of removing and constructing
new objects.
This memoizes the Metrics.getFullMetricName(), since it is costly in
time and allocations.
When Metric.getFullMetricName() runs normally, it bumps up the
heartbeats can be processed per second from 1000-3000 heartbeats/second
to 2000-5000 heartbeats/second.
When Metric.getFullMetricName() is unexpectedly slow, the performance
improvement can be really big (when 100 worker heartbeats with 50
executor threads, before my change takes 11 min, after my change takes
18 second if getFullMetricName sleep for 15ms).
pr-link: Alluxio/alluxio#10493
change-id: cid-3c92e89a816d57dceeb257c69f506a51793fd078

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/7226/
Test PASSed.

@LuQQiu Can you resolve the merge conflicts?

@gpang Solved the conflicts, thanks!

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/7236/
Test PASSed.

alluxio-bot, merge this please


cmd/go: 'go mod download $(go list -m)' fails silently

What version of Go are you using (go version)?
go1.11 windows/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
Windows 10, amd64
What did you do?
go mod download doesn't work well when go mod init without version.
(If you run go mod download something.com/something@latest, doesn't work well too.)
What did you expect to see?
Display message (e.g. go mod init: must be set version)
What did you see instead?
Nothing.
Displaying no message isn't user-friendly I think.

when go mod init without version.

What do you mean? go mod init does not normally accept a version.
Please post a complete trace of the commands that you ran and the output they produced.

Please excuse my poor English.
The command as follow:

go mod init github.com/lib/pq

run this, cannot download modules even if run go mod download github.com/lin/pq@latest.

go mod init github.com/lib/pq@latest

run this, can download modules if run go mod download github.com/lib/pq@latest.

go mod init github.com/lib/pq

run this, cannot download modules even if run go mod download github.com/lib/pq@latest.

That may be a bug, but it's a very strange sequence of commands to run.

go mod init github.com/lib/pq tells the go command, “this module contains the source code for github.com/lib/pq.
go mod download github.com/lib/pq@latest tells it “download the latest source code for github.com/lib/pq”.

Since the module itself (by its own definition) contains the source code you requested, in some sense go mod download has no work left to do.

go mod init github.com/lib/pq@latest

If that command works at all, that's arguably a bug: the @latest is normally a version specification, not part of the module path, but go mod init takes only a module path.
I'll open a separate issue for that.

The lack of a useful error message is closely related to #27783.

Issue seems solved
$GOPATH\src\mymod>go version
go version go1.12.2 windows/amd64

$GOPATH\src\mymod>go mod init github.com/lib/pq@latest
go mod init: module path must not contain '@'

@iWdGo, we could still use a better diagnostic for go mod download with the name of the main module and @latest. It should either download the latest upstream version, or emit some kind of useful diagnostic; today it still does neither:
pq$ gotip mod init github.com/lib/pq
go: creating new go.mod: module github.com/lib/pq

pq$ gotip version
go version devel +a4c82515 Mon Aug 5 23:12:39 2019 +0000 linux/amd64

pq$ gotip mod download github.com/lib/pq@latest

pq$ find $GOPATH/pkg/mod
/tmp/tmp.doY4ctA1kP/_gopath/pkg/mod
/tmp/tmp.doY4ctA1kP/_gopath/pkg/mod/cache
/tmp/tmp.doY4ctA1kP/_gopath/pkg/mod/cache/lock

The fix is a marginal improvement for an unknown or non-existent dependency. A complete solution requires to get a relevant message from the list of modules as described in #26152.


4.2.0 uses node22 which is not supported

The Problem
Getting this error when using 4.2.0

Error: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter ''using: node22' is not supported, use 'docker', 'node12', 'node16' or 'node20' instead.')

Environment

Version that exhibits the issue: 4.2.0
Last version that did not exhibit the issue (if applicable): 4.1.0
Desktop OS/version:

Code To Reproduce Issue [ Nice To Have ]
uses: saucelabs/saucectl-run-action@v4
or
uses<EMAIL_ADDRESS>

Got this issue fixed in https://github.com/saucelabs/saucectl-run-action/issues/39 Thanks for reporting!


TypeTuner: provide a variant to disable ligatures

I just discovered that Gentium Plus automatically creates a ligature from ff.
This is plain wrong:

U+FB00 ﬀ exists for this purpose
automatic ligatures will also catch cases that must not be made into a ligature, such as crossing compound word boundaries

I get it’s fancy and people want this and all, but for those of us who want sanity, please add an option to TypeTuner Web to have the resulting font disable automatic ligatures. (It’s, after all, the only permitted way to customise default settings of your fonts.)

Hi - this issue is in the wrong project, as the control of features is font-specific. We won't be changing the fonts as you recommend. Here's why:
The U+FBxx presentation forms are not intended to be used this way. They only exist for backwards compatibility reasons. You really don't want to use those characters in your text. Using f+l is the recommended way to get an fl ligature. See the Unicode FAQ on Ligatures, Digraphs, Presentation Forms.
Many applications already include the ability to turn off automatic OpenType ligatures. it's possible to do that already in CSS. In even more cases you can insert a zero width non-joiner (ZWNJ, U+200C) between the characters to tell the app specifically to not form a ligature.
Finally, our standard ligatures are designed to be subtle, and should not cause confusion or distraction, even when the letters cross compound word boundaries. I know that some German typographic traditions are strict about this, but that situation can usually be solved by turning off ligatures or using a ZWNJ. Can you give an example where one of our automatic ligatures causes a problem that you can't fix with these techniques?
Is this specifically for German? One way we could improve this is to create a German-language-only feature that disables the ligatures in all cases. However that probably would not work any better or more widely than the existing techniques.
Here's an example of inserting a ZWNJ to break a ligature in Microsoft Word:

Hi,

The U+FBxx presentation forms are not intended to be used this way.
They only exist for backwards compatibility reasons. You really don't
want to use those characters in your text.

but I do, because that’s when I want ligatures.

Using f+l is the recommended way to get an fl ligature. See the

Depends on whom you ask. It’s a matter between opting in to them
and opting out of them.

Many applications

The CSS options for the webbrowser, which I began using in 2022,
is unfortunately the first application which I use that can
toggle OpenType features at all. Most applications can barely do
more than bold/italic/underline (I’m thinking of my musical notation
software here, for example). I cannot rely on applications ☹

In even more cases you can insert a zero width non-joiner (ZWNJ,
U+200C) between the characters
to tell the app specifically to not form a ligature.

The problem with the opt-out approach is that it requires explicit
opting out by using characters that do show up when copy/pasting,
whereas opting in will use codepoints that are specifically designed
for that (though with the same argumentation, ZWJ in the middle most
likely would also work).

Finally, our standard ligatures are designed to be subtle, and should
not cause confusion or distraction, even when the letters cross

They’re somewhat subtle, in visual output, yes.
My problems with this come from a more technical PoV; first the
copy/paste issue I outlined above, and second… this needs a bit
more explanation, I guess.
I use a “chrooted” conversion routine for sheet music. This
generates PDFs, MIDI files, etc. from sources automatically,
and then uses mutool draw to convert the PDF to plaintext and
then looks for U+FFFD inside, which is inserted when none of
the fonts available during the process (which is deliberately
limited to only a handful, all of which are embeddable) has
a glyph.
Unfortunately, it’s also inserted for the ligature glyphs,
because they don’t have an UCD codepoint mapping (even those
like f+f which could), leading to many fale-positives.
Yeah, I guess this is a hard niche case, but for this specific
use case I’d have preferred to just opt out. I have since switched
to using GhostScript for plaintext conversion, which SEEMS to
insert NUL for missing glyphs and the bare “subset glyph index”,
such as \x04 for <0004> in the PDF, for ligatures (and has the
nice property of leaving an actual � in the source alone, though
these don’t show up in my sheet music) and have to hope this stays
working.

I know that some German typographic traditions are strict about this,

Then you know more about those than I do… but this underlines (hah)
my point?

Is this specifically for German? One way we could improve this is to
create a German-language-only feature that disables the ligatures in

No, it’s not, and please don’t. They WILL cause problems, though, for
copy/pasting e.g. command options from technical documentation (e.g.
“--suffix” from the GNU tar(1) manpage), though controlling the text
that’s copy/pasted from PDFs is, of course, a nightmare onto itself,
especially in, say, pdflatex.
I could switch the font for the flag, of course, but too many font
switches in a paragraph that explains things (as opposed to one that
is mainly comprised of text to actually type) IMHO is less legible.

Here's an example of inserting a ZWNJ to break a ligature in Microsoft Word:

I don’t use any Microsoft software, though. I can just press `x200c↵
in my text editor to insert one, but, see above, I strongly believe
that for most texts in an environment where you cannot control
OpenType features (because the software is not meant to be a DTP
program but just “has text”, like musical notation software) opt-out
ligatures are wrong, which adds to the problem. And this is not just
musical notation software but also tech docs, where 1:1 correspondence
between input and output codepoints is often needed.
I think that in situations where I’d use a program sufficiently into
DTP to have OpenType feature control, I’d have less problem with opt-out
ligatures, and perhaps those can handle the “--suffix” case as well.
And is not the type tuner specifically to help people who use programs
that are not DTP-ish? I even use them in php+libgd scripts that render
words (such as page titles) as PNGs…
I’ve had sufficient trouble with the much-too-wide line spacing of the
Gentium Plus font when deciding to finally move off Gentium 1 and the
type tuner was helpful, but only for most cases; remote sites, such as
the online sheet music sharing service, would, of course, not have the
typetuned variants; the software can control line spacing for lyrics
only, not for text blocks, so I’ve got to substitute the old Gentium
Basic (they also don’t have Gentium) for Gentium Plus with reduced line
spacing before uploading, which totally breaks Cyrillic, of course…
bye,
//mirabilos
22:20⎜ The crazy that persists in his craziness becomes a master
22:21⎜ And the distance between the craziness and geniality is
only measured by the success 18:35⎜ "Psychotics are consistently
inconsistent. The essence of sanity is to be inconsistently inconsistent

I appreciate the trouble you're having.

The problem with the opt-out approach is that it requires explicit
opting out by using characters that do show up when copy/pasting,
whereas opting in will use codepoints that are specifically designed
for that (though with the same argumentation, ZWJ in the middle most
likely would also work).

Since in the great majority of situations people want ligatures an opt-out approach is best. For copy/paste you actually want the ZWNJ included in the pasted text, so the application you're pasting into has a chance of resembling the copied source.

They WILL cause problems, though, for
copy/pasting e.g. command options from technical documentation (e.g.
“--suffix” from the GNU tar(1) manpage), though controlling the text
that’s copy/pasted from PDFs is, of course, a nightmare onto itself,
especially in, say, pdflatex.

Good PDF generators store both the glyph stream and the underlying character stream in the file, so it's available to PDF readers/interpreters. Then when you copy/paste you get the original chars, not a guess of what the glyphs might have represented. If it fails to do this it's a bug in the generator or reader, not the font.

I can just press `x200c↵
in my text editor to insert one, but, see above, I strongly believe
that for most texts in an environment where you cannot control
OpenType features (because the software is not meant to be a DTP
program but just “has text”, like musical notation software) opt-out
ligatures are wrong, which adds to the problem.

The ZWNJ is part of the text, and is intended to signify a specific sequence in which a ligature should never be allowed to form, which in the case of fi fl etc. is unusual.

And this is not just
musical notation software but also tech docs, where 1:1 correspondence
between input and output codepoints is often needed.

Unicode is a character encoding, not a glyph encoding, so you can never assume a 1:1 correspondence if you support Unicode. If you want to minimize situations where there might be a more complex correspondence then use a font that has no OpenType at all, or one specifically intended for that technical use (such as a monospaced terminal font).

And is not the type tuner specifically to help people who use programs
that are not DTP-ish? I even use them in php+libgd scripts that render
words (such as page titles) as PNGs…

ZWNJ should work fine for that.
I'm still not convinced that a TypeTuner Web option to disable automatic ligatures is needed. However I will add it to the list of requests for later review.

Victor Gaultney dixit:

For copy/paste you actually want the ZWNJ included in the pasted text,
so the application you're pasting into has a chance of resembling the
copied source.

No, definitely not, as “--suffix” is a syntax error!

Good PDF generators store both the glyph stream and the underlying
character stream in the file, so it's available to PDF
readers/interpreters. Then when you copy/paste you get the original
chars, not a guess of what the glyphs might have represented. If it

I’ve seen this extremely rarely, unfortunately. MuseScore uses Qt,
so all Qt applications don’t do that, and the less is said about PDF
copy/pasting for pdflatex output the better… (it even reuses parts,
so for example…
something that’s always the same somethingdifferent
something that’s always the same etwasanderes

… pastes as…
something that’s always the same somethingdifferent
etwasanderes

… so… gah!)

The ZWNJ is part of the text, and is intended to signify a specific
sequence in which a ligature should never be allowed to form, which in
the case of fi fl etc. is unusual.

In the opt-out model, yes. But the opt-out model makes a presentation
control character (ZWNJ) part of the character stream.
I’d much prefer to at least optionally have an opt-in model, where
only actually requested ligatures are part of the character stream.

then use a font that has no OpenType at all, or one specifically
intended for that technical use (such as a monospaced terminal font).

Yeah, though that looks weird when done too often within a paragraph,
at least in some scenarios.

And is not the type tuner specifically to help people who use programs
that are not DTP-ish? I even use them in php+libgd scripts that render
words (such as page titles) as PNGs…

ZWNJ should work fine for that.

It does; this was more commenting on use of TTFs in general.

I'm still not convinced that a TypeTuner Web option to disable
automatic ligatures is needed. However I will add it to the list of
requests for later review.

OK, that’s all I can ask. Thank you, and thanks for also presenting
the “other side”, with arguments I can understand.
As someone in IT, I’m very wary of most “automagisms” in general,
hence a strong preference in general for opt-in over opt-out, even
if I can see the benefit of opt-out. If it’s possible to have both,
I’m a proponent of offering both so the user can decide.
Have a nice day,
//mirabilos
Sometimes they [people] care too much: pretty printers [and syntax highligh-
ting, d.A.] mechanically produce pretty output that accentuates irrelevant
detail in the program, which is as sensible as putting all the prepositions
in English text in bold font.	-- Rob Pike in "Notes on Programming in C"


Removed lag spikes

:) Hi! I've tweaked the mod to remove lag spikes, same technique I used for my Lagless mod: sprites are preloaded during transitions.
Since I had to register the mod to some events, I added "VillagerVariety.cs" as a proper mod class and also moved a few const values from "VillagerVarietyMobilePerson.cs".
I also derived from SetPerson a new method to specify which variety variant use, needed to properly preload all needed sprites.
Hope this will clear everything, else feel free to ask :)

Overall, not really a fan of the performance tradeoff. This removes some of the "lazyness" of the initial approach, where variants that were never observed (ex: a play session in High Rock would never see any Redguards) would never be loaded. Your approach would end up always having all the variants possible in memory.
The coroutine is only going to help users with a CPU core to spare. Otherwise, it's all gonna do work that interferes with DFU, and it's gonna be way worse since you load a lot more.
I'd only consider this change a positive if the "precache coroutine" was an opt-in setting.


StyleCop 4.7.55 does not work with March 2015 release

Hi
We've recently upgraded to StyleCop v4.7.55 and are attempting to run it against the March 2015 release. However, this fails with the following exception:
MissingMethodException: Method not found: 'Void StyleCop.CodeProject..ctor(Int32, System.String, StyleCop.Configuration)'.\r
This is occurring because the constructor signature has changed between versions 4.7.49 and 4.7.55 to include a new optional parameter.
Have you had this same issue and is there a plan to release a version of the extensions that work with the latest versions of StyleCop?
Thanks
Brad

Hi Brad, I tried compiling against the 4.7.55 release and got parsing working, however violations are not detected. I've got no plans to spend any more time on StyleCop. I suggest looking at editorconfig https://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options which IIRC will soon support build time validation too.


Pull SqueezeNet and KNNImageClassifier out into separate npm modules.

This change does the following:

Renames TopKImageClassifier => KNNImageClassifier
Puts a package.json in each of the models (squeezenet and knn-image-classifier). These each now have tsconfig.jsons, and package.jsons. SqueezeNet has a demo.html (I'll file a bug for somebody in OSS to finish the other model to add a demo).
Puts a package.json in demos/. This allows us to make demos depend on the public API of deeplearn as well as on the public API of any models they may use, like deeplearn-squeezenet.
Converts benchmarks to use the public API. This means we test against the NDArrayMath layer, which greatly simplifies the tests. We always run a warmup query, so shader compilation time is not an issue.
Removes logSumExp benchmark file. It's already benchmarked in reduction ops.
Calls initializeGPU from the constructor of the SqueezeNet model. This is because when we load standalone versions of both SqueezeNet and deeplearn together, the global state about GPU initialization is not shared. Once we decouple NDArray from storage mechanism, this should go away. initializeGPU is exported in this PR: https://github.com/PAIR-code/deeplearnjs/pull/306
For some reason, the linter is now complaning about performance_rnn adding three numbers.. I had to cast them, but VSCode didn't seem to have the problem. Really bizarre.

Notes:

./scripts/watch-demo works as it did previously.
npm run prep now also runs npm install in the demos directory.
Think of package.jsons as BUILD rules in Bazel.

This change is

Reviewed 47 of 47 files at r1.
Review status: all files reviewed at latest revision, 5 unresolved discussions, some commit checks failed.

package.json, line 18 at r1 (raw file):

"bower": "~1.8.0",

move bower, @types/polymer and polymer-bundler since they are not dependencies of the core library, but dev deps the demos/

package.json, line 41 at r1 (raw file):

bower install

move this command to demos/package.json and change the relative html links to ../bower_components instead of ../../bower_components

tsconfig.json, line 22 at r1 (raw file):

    "exclude": [
      "starter/",
      // Exclude models so we don't have to run npm install in every

remove comments since they are not supported by json

demos/package.json, line 8 at r1 (raw file):

    "deeplearn": "~0.3.7",
    "deeplearn-squeezenet": "~0.1.2",
    "deeplearn-knn-image-classifier": "0.1.0"

add ~ to the version

demos/package.json, line 13 at r1 (raw file):

    "type": "git",
    "url": "https://github.com/PAIR-code/deeplearnjs.git"
  },

add "private": true at the top level to prevent accidental publication. See https://docs.npmjs.com/files/package.json

Comments from Reviewable


Also the flag ZPM supported gets lost during updates !

At the moment only my recent fresh package supports ZPM !!
if I check the filter ZPM support no application is visible anymore just my virgin one
ZPM we have a problem !

It is back !   Don't know why.
THX


Lacks details

This page lacks details on the types of snippets and how to edit them.  For example, what's the difference between a text snippet and an HTML snippet and how do you edit either?   Are there other kinds of snippets?  What's the syntax for using content from Dynamics in the snippet?  How do I insert a field that relates to an entity? or relates to a related entity?

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

ID: 1b0b55a3-c138-c07f-c500-4ce5e6277cb7
Version Independent ID: 171e50f8-946e-16c9-586f-8e457129bc9e
Content: Customize content by using content snippets on a portal - PowerApps
Content Source: powerapps-docs/maker/portals/configure/customize-content-snippets.md
Service: powerapps
GitHub Login: @tapanm-MSFT
Microsoft Alias: tapanm

Thank you for the feedback. Content is updated with more details and example. The updates include text, HTML and liquid tag use. Using HTML in snippet instead of text allows use of HTML inside snippet for rendering. Liquid tags can be used to reference Dynamics 365 entity records. Please allow some time for changes to reflect.


More 'reasync' fixes

@swift-ci Please smoke test

@swift-ci Please benchmark

@swift-ci Please test source compatibility

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
4374
4991
+14.1%
0.88x (?)

StringToDataLargeUnicode
3600
3950
+9.7%
0.91x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
3998
6630
+65.8%
0.60x (?)

Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

NSStringConversion.UTF8
2133
2408
+12.9%
0.89x (?)

Improvement
OLD
NEW
DELTA
RATIO

AngryPhonebook.Cyrillic.Small
909
841
-7.5%
1.08x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@swift-ci Please test

@swift-ci Please smoke test macOS

Build failed
Swift Test Linux Platform
Git Sha - 3cc0d36c3afa665b764aafe2cd32a96c5fb59249

Build failed
Swift Test OS X Platform
Git Sha - 3cc0d36c3afa665b764aafe2cd32a96c5fb59249

@swift-ci Please smoke test Linux

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test macOS

@swift-ci Please test

https://github.com/apple/swift-syntax/pull/273
@swift-ci Please smoke test

apple/swift-syntax#273
@swift-ci Please smoke test Linux

Build failed
Swift Test OS X Platform
Git Sha - 3cc0d36c3afa665b764aafe2cd32a96c5fb59249

Build failed
Swift Test Linux Platform
Git Sha - 3cc0d36c3afa665b764aafe2cd32a96c5fb59249

@swift-ci Please smoke test Linux


REPL fails when using a host with a dash in its name

Hi,
Most of my hosts have dashes in the hostname, for example they're named "company-servicename-01", "company-servicename-02", ...
Using rwinrm fails:
$ rwinrm<EMAIL_ADDRESS>Password:
getaddrinfo: nodename nor servname provided, or not known (http://company:5985)

However using an alias without dashes works perfectly...
Changing part of the regexp from (?[a-z0-9.]+) to (?[a-z0-9.$ -]+) should work with the dashes.
Is it something you would consider modifying ?

Fixed by #139


Downgrade wine-mono

Describe the bug
When installing a new prefix, wine takes the wine-mono installer from share/wine/mono and installs it.
However, the needed version is hardcoded:
[pid 12196] openat(AT_FDCWD, "/nix/store/f5n2fkylvyyvd6faj11h3x7agbdv3c33-wine-4.0.2/share/wine/mono/wine-mono-4.7.5.msi", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)

nixpkgs bundles the wrong version, which is currently 4.9.2.
So we either patch the source code so it looks for the current version, or we downgrade wine-mono.
To Reproduce
Steps to reproduce the behavior:

Drop ~/.cache/wine
Create a new wine prefix

Expected behavior
wine-mono should automatically be installed without any further questions.
cc @avnik @7c6f434c @bendlas

I'm assuming this is resolved. Comment if it isn't

Actually whole ticket have are incorrectly formed task. We need to have own wine mono and wine gecko for stable and unstable releases.


Refactor authorizers

The PR refactors the two authorizers as

       IRrpAuthorizer                             AirnodeCwRrpAuthorizer (old SelfAuthorizer)
                      \                          /
RankedAdminnable ---> ClientWhitelistRrpAuthorizer
                                                 \
                                                  Api3CwRrpAuthorizer (old Api3Authorizer)

I started using "Rrp" in all authorizer names because I expect to have a lot of authorizers for PSP.
RankedAdminnable is very flexible and once we have this audited we can use it in many other places (but I'm mostly thinking about dAPIs). Note that there is a slight difference in functionality for these authorizers: SuperAdmins can assign and remove Admins (which will probably come in handy).
ClientWhitelistRrpAuthorizer is called as such because it whitelists at the client level. We could have also whitelisted at the requester level, etc.
AirnodeCwRrpAuthorizer and Api3CwRrpAuthorizer override a function from RankedAdminnable to implement the difference.
We were already working on/talking about this with @Ashar2shahid. @acenolaza was working on similar stuff for data feeds, so I figured would provide good input. Please review the whole thing and let me know if any of you want to take care of the tests.

I'm busy with "other stuff" so I'm in no rush to merge this, I'll do so after Ashar's review. That being said, I decided to merge this without the tests to open PRs to implement all the other updates to the main protocol. Tests for this can be implemented in parallel with that.

Some key comments from me apart from the reviews:

File renaming, first glance the file names were really confusing maybe change to:

Api3RrpClientAuthorizer.sol
AirnodeRrpClientAuthorizer.sol

The constructor in AirnodeCwRrpAuthorizer.sol and Api3CwRrpAuthorizer.sol  should be calling setRank  with MAX_RANK and getRank should be fetching this instead returning 'MAX_RANK' by default.

I like the flexibility of RankedAdminnable.sol  and having the ability to describe any hierarchy depending on the use case. I'm not sure if this is needed but would a predefined enum structure of 5 ranks or so be useful if we are going to keep repeating the same pattern everywhere?

unauthorized
authorized
admin
superAdmin
metaAdmin

ill be merging this and working on a seprate PR


Fixes issue #28

Description of PR
Adds an "always" tag to all os-specific "set_fact" tasks, so that the role doesn't fail when using tags.
Type of change
Bugfix Pull Request
Fixes an issue
#28

Hmmm the first failure was because of indentation, but the second one makes no sense at all. Can we give the CI build a retry?

Nice one, thanks! 👍


Completion debounce is likely too long

We have a debounce in code completion: when a file changes, we wait 500ms before rebuilding to see if we get another change. The idea is we want to wait until the user stops typing.
There are several concerns in tuning this behavior. Consider a user typing foo();:

we want diagnostics ASAP after ; and don't do concurrent builds, so having a long-running rebuild active when ; arrives is a problem.
diagnostics after f are rarely useful and have negative value (distraction) for some users
the debounce itself adds latency to diagnostics after ;

The current behavior is particularly unhelpful for users where rebuild times are fast (e.g. 50ms) and who don't really care about getting more diagnostics on their incomplete code.
Ideas:

adapt debounce time based on recent rebuild times for this file
allow disabling/customizing debounce time
allow concurrent rebuilds so they don't "compete" so much
behave differently on different edits

another thing to consider might be to put some cancellation mechanism into clang parser


Cleanup redundant codes and typos

Please provide a description of this PR:
Cleanup redundant codes and typos
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Ambient
[ ] Configuration Infrastructure
[x] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[x] Developer Infrastructure

Hi @Vacant2333. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

@Vacant2333: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
8f79e35c0b4cc852216b49aeb99a1a90a133758d
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Vacant2333: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
8f79e35c0b4cc852216b49aeb99a1a90a133758d
link
true
/test lint

gencheck_istio
8f79e35c0b4cc852216b49aeb99a1a90a133758d
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Actually I don't think we should do this at all. its too big and has to many changes that don't make sense. Please focus on real issues! We would love to see contributions that help users.


NameError: uninitialized constant Alexa::Connection::URI

i have some problem on alexa gem
i setting my credentials and start to send request but alexa gem return this error

 url_info = client.url_info(url: "http://google.com")
NameError: uninitialized constant Alexa::Connection::URI
	from /Users/mac/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/alexa-0.6.3/lib/alexa/connection.rb:59:in `uri'
	from /Users/mac/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/alexa-0.6.3/lib/alexa/connection.rb:47:in `request'
	from /Users/mac/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/alexa-0.6.3/lib/alexa/connection.rb:26:in `get'
	from /Users/mac/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/alexa-0.6.3/lib/alexa/api/url_info.rb:14:in `fetch'
	from /Users/mac/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/alexa-0.6.3/lib/alexa/client.rb:27:in `url_info'

The gem doesn't delcare it's dependencies properly.  This is a bug in the gem, but there is a workaround, require 'uri' at the top of your file, or in an initializer / boot strapper.


Demo UI Updates

Definition of Ready

[x] Does this meet the INVEST criteria?
[x] Does this have a clearly defined user?
[x] Does this have an estimate?
[x] Does this have acceptance criteria?
[x] Does this have sufficient context (wireframes, business rules, etc.)?
[x] Is this traceable to a feature, epic, or PI?

User Story
As a user
I want UI to be grammatically correct
So that it is easy to understand
Acceptance Criteria
Given a user selected Revert to Official Record
When the message is displayed
Then it reads as "Reverting to Official Record will undo all saved and unsaved changes. This is not recoverable. Do you want to continue?"
Given a user is viewing a configuration with Supplemental Methods
When the list of SM is displayed
Then the create button reads "Create MATS"
Does this Story require 508 Testing?

[ ] Implementing a new authoring tool that will produce code / content for the application
[ ] Implementing a 3rd party widget that will be part of the application
[ ] Adding new / updating custom functionality
[ ] Adding new / updating a page template
[ ] Adding new / replacing existing functionality (unless the replacement has already passed 508 testing)
[ ] Full Site Review prior to a scheduled EPA 508 review
[ ] Planning a video that will appear on the application
[ ] Producing a video that will appear on the application
[ ] Producing Training materials
[ ] Producing documents

Context
(User journeys, design mockups, architectural diagrams, business rules, data element definitions)
Testing
Test Case: TC314
Tester: @mosesdeeCVP
Definition of Done

[x] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[x] Has the code been unit tested and peer reviewed?
[x] Have the functional tests been executed?
[x] Have all defects been reviewed and dispositioned, resolved, or deferred?
[x] Has the user story been accepted by the Product Owner?
[x] Is the user story ready to be deployed to the test/staging environments?

Test Passed


Update cask_language_deltas.md

Add audio_unit_plugin and vst_plugin stanzas
Associated with https://github.com/caskroom/homebrew-cask/pull/15643

Merged as 1a251706b849d0374110b62e56012e0181d0bb5a.


JAVA-20617 Migrated spring-soap to JDK 17

Upgraded plugins
Removed committed generated files

retest this please

retest this please


[FEATURE REQUEST] Make SignalBuilder::accumulator closure easier to use.

The current function definition for the SignalHandler::accumulator is Fn(&SignalInvocationHint, &mut Value, &Value) -> bool. The returned bool decides on the control flow of the signal emission. Could we migrate to a Fn(&SignalInvocationHint, &Value, &Value) -> std::ops::ControlFlow<Value, Value>?
This would allow for nicer bindings in e.g. #214 and I'd like it to be in the same release as #1575 since class_handler and accumulator are tightly related.
@sdroege What do you think?

As far as I can tell I'd only adjust the type signatures of the accumulator functions + fields and update the trampoline.
https://github.com/gtk-rs/gtk-rs-core/blob/b8c3023f3399bf2d2e46fe8f48f12996fd97bc39/glib/src/subclass/signal.rs#L627-L665
Something like this should work for the trampoline.
let res = match (accumulator.1)(&SignalInvocationHint(*ihint), return_accu, handler_return) {
    ControlFlow::Continue(val) => {
        *return_accu = val;
        true.into_glib()
    }

    ControlFlow::Break(val) => {
        *return_accu = val;
        false.into_glib()
    }
};

Your version would always require a copy of the accumulator value, which is fine for simple types like bools but for strings it would already be a strdup() every time.
Maybe the accumulator can be changed from a mutable reference to the value itself?

You can also replace it with a Value::uninitialized() (which creates a zeroed-out GValue), but yes that should work. Should be effectively the same, but having G_TYPE_INVALID (i.e. Value::uninitialized()) in there is probably more descriptive when someone has to look at this in a debugger. Do you want to create a PR?

Will do! Just wanted some feedback on deviating from the idea of deviating from the C function signature here.
Thank you for your quick responses!


Position:sticky is now "official", in WD

Spec published yesterday: http://www.w3.org/TR/2015/WD-css3-positioning-20150203/

Thanks!


Bug: All JWST downloads are failing

The JWST_get_spec function is failing to download any files. This is the cell that was throwing the FileNotFoundError mentioned in #336. Prior to this PR, it would hit the first error and then exit without processing the full sample. Currently, this PR just checks for failed downloads, prints a message, and then continues so that all targets in the sample are processed. Running this shows that every file it tries to download fails. So far, I don't know why, and thus don't know what to do about it.
To do:

[ ] Issue is at least partially fixed with no changes needed here, but need to make sure we can actually retrieve result. (So far, "no results found" in the archive for our targets.)
[ ] Update notebook runtime

@bsipocz @jkrick any thoughts here? My sense is that the issue is upstream somewhere either in astroquery.mast or MAST itself but I don't even know where to start looking.

cc @snbinanco - do you have any insight for this? Is this a server side issue or we should upstream a bugreport to astroquery?

>>> import astroquery
>>> astroquery.__version__
'0.4.8.dev9474'

Code to reproduce:
import astropy.units as u
from astropy.coordinates import SkyCoord
from astroquery.mast import Observations

search_coords = SkyCoord(150.091, 2.2745833, unit=u.deg)
search_radius_arcsec = 0.5

query_results = Observations.query_criteria(
    coordinates=search_coords, radius=search_radius_arcsec * u.arcsec,
    dataproduct_type=["spectrum"], obs_collection=["JWST"], intentType="science",
    calib_level=[3, 4], instrument_name=['NIRSPEC/MSA', 'NIRSPEC/SLIT'],
    dataRights=['PUBLIC'])
data_products_list = Observations.get_product_list(query_results)
data_products_list_filter = Observations.filter_products(
    data_products_list, productType=["SCIENCE"], extension="fits",
    calib_level=[3, 4], productSubGroupDescription=["X1D"], dataRights=['PUBLIC'])
download_results = Observations.download_products(data_products_list_filter)
download_results

cc @dr-rodriguez
Thank you for bringing this to our attention! I can reproduce the issue and did some investigation in the UI portals. I can find this dataset in the Portal UI, and I can see this particular file in the download manager. When I try to select the files in the directory jw02565-0301_s13239_nirspec_clear-prism to download, it completes, but the download folder is empty. When I try to "Download Data Products" using the Actions column in the search results, I get two different JWST directories that do not include jw02565-0301_s13239_nirspec_clear-prism. Because the portals have a similar issue with downloading this product, I'm assuming that the problem is server side. I'll file a ticket with someone at MAST to look at this more closely.

I did some brief investigation and some files no longer exist on disk. This includes jw02565-o301_s13239_nirspec_clear-prism. This is a result of JWST moving for a longer source name and doing some reprocessing, which can cause some source extractions to no longer exist.
We'll be aiming to do some cleanup over the next few days to fix this and some other problematic records.

While this is clearly an upstream problem, I wonder if we could be more robust in astroquery and not report the local file path but instead raise some kind of error if the download is unsuccessful? What do you think @snbianco ?

I'm not sure if it should raise an error since that would stop other products that can be found from being downloaded. Maybe we have astroquery log a warning for any files that fail to download? We could also not populate the Local Path column in the manifest for any downloads that fail to try and avoid confusion.

We'll be aiming to do some cleanup over the next few days to fix this and some other problematic records.

Thanks, the behavior is better now. With the coords from above, query_results = Observations.query_criteria(...) now raises a NoResultsWarning and if I ignore it and keep going then Observations.get_product_list(query_results) raises an InvalidQueryError -- as expected in case of no results. After 4b70220690c8d84181b72ae525fc0fdfd06af7f8, I think we're handling this case appropriately.
I still need to make sure we can get results back for some coords. So far, no luck.

@dr-rodriguez is the cleanup still in progress? I am unable to retrieve spectra for any target, so I'm trying to determine whether there is still a server-side issue or if we need to look closer at our code. (For example, I noticed that I can get results for TRAPPIST-1 by removing our restriction to 1D spectra -- productSubGroupDescription=["X1D"].)

Thanks, we'll try it.

A web-based search showed that calibration-level 2 data is available for at least one of our targets, so I loosened the filter here to include it. Now we're running into a new error. Here is an example that starts the same as above but with different coords.
import astropy.units as u
import numpy as np
from astropy.coordinates import SkyCoord
from astroquery.mast import Observations

search_coords = SkyCoord(150.1024475, 2.2815559, unit=u.deg)  # COSMOS2
search_radius_arcsec = 0.5

query_results = Observations.query_criteria(
            coordinates=search_coords, radius=search_radius_arcsec * u.arcsec,
            dataproduct_type=["spectrum"], obs_collection=["JWST"], intentType="science",
            calib_level=[2, 3, 4], instrument_name=['NIRSPEC/MSA', 'NIRSPEC/SLIT'],
            dataRights=['PUBLIC'])
data_products_list = Observations.get_product_list(query_results)

# Our code expects that every row (jj) in data_products_list
# corresponds to a row in query_results.
# So the next line should return at least one index for any `jj`:
np.where(query_results["obsid"] == data_products_list["obsID"][jj])

# But it doesn't -- There are some values in data_products_list["obsID"]
# that are not in query_results["obsid"]:
sorted(set(query_results["obsid"]))
# Output:
# ['232881512', '232882983']
sorted(set(data_products_list["obsID"]))
# Output:
# ['107463356', '107463357', '107463358', '107463359', '107463360',
#     '107463361', '107463362', '107463363', '107463364', '107463365',
#     '107463366', '107463367', '107463368', '107463372', '140187486',
#     '140187487', '140187488', '140187489', '140187490', '140187491',
#     '140187492', '140187493', '140195110', '140195221', '140195347',
#     '140195410', '140195478', '140195509', '232881512', '232882983']

@snbianco Is is expected for Observations.get_product_list to return results for more "obsID" values than were requested (as "obsid")? Sorry to keep asking; I'm new to this code and confused about what I'm seeing.

@troyraen
I'm happy to help! Yes, what you're seeing is expected. It's possible for products associated with an observation to belong to a different product group than the observation. For your purposes, you can try using the 'parent_obsid' column in the product table; that should return only the obsids that are present in the observations table.

Thank you @snbianco. We are getting some results back now.
@afaisst @bsipocz, this is ready for review. I made the following changes:

[x] Include calibration level 2 for JWST results.

All of the level 3 & 4 results we were getting before seem to be gone now. See https://github.com/nasa-fornax/fornax-demo-notebooks/pull/360#issuecomment-2524193964.

[x] Bugfix: Match query 'obsid' to product 'parent_obsid'.

See https://github.com/nasa-fornax/fornax-demo-notebooks/pull/360#issuecomment-2547050544.

[x] Ignore warning about all-NaN slices.

Some of the results now have fluxes that are all NaNs. These get filtered out when plotting just like NaN errors so I handled them the same as we did in #361.

[x] Update the runtime statement.

Notebook now takes about 17 min, 14 min of which is JWST.

OK, let's go ahead with this and see if the rendering still likes the notebook. Thank you Troy!


*>excludes allow yaml list

This PR is one in a serie of PRs to implement #2498

Codecov Report

Merging #2620 into master will increase coverage by 1.81%.
The diff coverage is 46.66%.

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


Handle integer_squareroot bound case

Credits to the University of Manchester Bounded Model Checking (BMC) project team: Bruno Farias, Youcheng Sun, and Lucas C. Cordeiro for reporting this issue! 🙏 💯
This team is an Ethereum Foundation ESP "Bounded Model Checking for Verifying and Testing Ethereum Consensus Specifications (FY22-0751)" project grantee. They used ESBMC model checker to find this issue.
Also, thanks to Mate Soos and Justin Traglia (@jtraglia) for helping verify the issue! 🙌
tl;dr
It's a spec bug, but it's impossible to produce it in the current mainnet.
Description
integer_squareroot raises ValueError exception when n is maxint of uint64, i.e., 2**64 - 1.
However, we only use integer_squareroot in

integer_squareroot(total_balance)
integer_squareroot(SLOTS_PER_EPOCH)

With the current Ether total supply + EIP-1559, it's unlikely to hit the overflow bound in a very long time. (🦇🔊)
That said, it should be fixed to return the expected value.
How did I fix it
To make minimal changes in the spec, this fix returns the hardcoded edge case result. It's not pretty, but it's an easy patch. I believe there are better solutions, but I'm inclined not to change the existing code much.
Given that 2**64 should be overflow when computing total balance, I think we are not able to provide clean "state transition" test vectors for it. Perhaps we can have another new "math" category test vectors later.
p.s. I talked to all the CL client teams about it before opening this PR. :)

Isn't this similar to increase_balance not checking for overflow, but if there is an EVM chain with a different total supply, and then the entire supply were to be deposited into a validator, and then they attest, that everything gets deleted?
As in, should increase_balance also be fixed to support different scales than what is being used on Ethereum Mainnet?

@etan-status
Right, so in specs, we generally said that the SSZ typing ValueError is considered invalid.
However, for this helper, it's interesting that clients implemented it in various ways! 😄 If clients use the optimized library to implement it, it won't overflow as pyspec did.
For this case, it's better to make integer_squareroot return the correct value when the input value n is in the valid domain.


implement GuiMetaCodec

Fixes issue with new gui-meta added in 1.20.2
relevant convo
https://mcasset.cloud/1.20.2/assets/minecraft/textures/gui/sprites/widget

Thank you for your contribution!
This will be merged to dev branch and later to main for creative 1.2.0


Hardcoded value of _MAX_ERROR_LINES variable

Hi. I have a test, where I’m expecting keyword’s fail, which causes another keyword’s fail and I would like to catch a full (long) error message generated by the first one. But I met an limitation of maximum number of error lines visible.
Please see the following issue: https://code.google.com/archive/p/robotframework/issues/340
As far as I know it is impossible to change maximum error lines during execution from CLI.
The only way is to change it directly in the Robot Framework source code, http://robot-framework.readthedocs.org/en/2.9.1/_modules/robot/utils/text.html, and setting _MAX_ERROR_LINES variable.
My temporary workaround is to use sed in cron (it is executed very often to avoid situation, when after some updates we have MAX_ERROR_LINES set back to 40):
sudo sed -i 's/_MAX_ERROR_LINES = 40/_MAX_ERROR_LINES = 999/g' /usr/local/lib/python2.7/dist-packages/robot/utils/text.py

Do you propose making this configurable somehow? I'm OK with that but it needs someone to provide a PR.

In my opinion there is no need to make it configurable, for example, with a new additional Robot's argument. I would say, if user sets --loglevel TRACE it means that he wants to have as much logs as possible, so maybe a good idea is to set _MAX_ERROR_LINES to 999 lines (or whatever, bigger number) when loglevel is set to TRACE and some smaller number when loglevel is set to INFO.

I don't think log level should affect this. You already now see the full error message in the log file regardless the log level you use.


Reactivate country-codes by adding package flag

country-codes depends on tagsoup only for generating the data file.
Try building it with the generate flag explicitly set to false.
Note that a pull request is already filed for relaxing the version bound on tagsoup, but until then, this could help bringing country-codes back into nightly.

Turns out that the generate flag only changes cabal's buildable flag and tagsoup is unconditionally exposed as a dependency.

If that's the Cabal issue I'm thinking of, you need to move the build-depends inside the conditional as well.

I was hestitant whether that is the right thing to do - after all, Cabal should know that a component that is not built does not require any dependencies. But if Cabal doesn't take that into account atm, I will create a PR.

Kindly open a new PR once this issue is resolved. Note that another way to resolve the issue would be to support building against tagsoup-0.14.


Capability: List RDS from a Capabillity

If an AWS account is attached to a Capability and one or more RDS exists in any region, list it

[ ] Research: Find out if there is a better way of finding RDS databases in an AWS account without making a query for each region

[ ] Implement prototype that lists RDS name, type, and a button that links to that particular database's page in the AWS console (with tooltip heads up that mentions the need of already having a session)

Aha! Link: https://dfds.aha.io/features/CLOUD-101

Will be resolved in another context (crossplane). Closing


PHP Runtime error keeps coming up (Linux Mint, PHP7.2)

Prerequisites

[ ] Can you reproduce the problem with Debug -> Reload Without Extensions? Yes
[ ] Did you perform a cursory search to see if your bug or enhancement is already reported? Yes
[ ] Did you read the Troubleshooting guide? Yes

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description
Dialog about not having PHP runtimes installed pops up every time I open a php file.
Steps to Reproduce

Installed Brackets on Linux Mint 19 with PHP7.2
Modified "brackets.json":

{
    "brackets-eslint.gutterMarks": true,
    "brackets-eslint.useLocalESLint": false,
    "fonts.fontSize": "12px",
    "fonts.fontFamily": "'SourceCodePro-Medium', ＭＳ ゴシック, 'MS Gothic', monospace",
    "php": {
        "enablePhpTooling": true,
        "executablePath": "/usr/bin/php",
        "memoryLimit": "1024M",
        "validateOnType": "false"
    }
}

Restarted Brackets
Opened a php file.

Expected behavior:
Not to see errors about the PHP runtime files not being installed after following the instructions documented here and reading issue pinned here
Actual behavior:
Getting errors about PHP runtime files not being installed/found.
Versions
OS: Linux Mint 19
Brackets: Release 1.14 build 1.14.0-17740

Well, apparently there is a difference between the version offered in the Linux Mint Software Manager and the .deb package downloadable from the brackets.io website.
At first I installed Brackets from the Software catalog within Mint, which apparently is a FlatPack version that does things differently when it comes to handling the brackets.json config file. (it doesn't work)
After uninstalling that version and installing the .deb package from the website, I was able to make Brackets work with the PHP settings in he config file.


✨ Text Input Rendering

Codecov Report

Merging #49 (55f1170) into main (2bfd408) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #49      +/-   ##
==========================================
+ Coverage   98.98%   99.01%   +0.02%
==========================================
  Files          22       22
  Lines         891      918      +27
==========================================
+ Hits          882      909      +27
  Misses          9        9

Impacted Files
Coverage Δ

qalib/renderers/file_renderers/_item_wrappers.py
100.00% <100.00%> (ø)

qalib/renderers/file_renderers/_json_renderer.py
100.00% <100.00%> (ø)

qalib/renderers/file_renderers/_xml_renderer.py
100.00% <100.00%> (ø)

qalib/renderers/file_renderers/jinja_renderer.py
100.00% <100.00%> (ø)

tests/unit/test_json_renderer.py
100.00% <100.00%> (ø)

tests/unit/test_xml_renderer.py
100.00% <100.00%> (ø)

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


[DUOS-319][risk=no] Reorder Columns

Addresses
https://broadinstitute.atlassian.net/browse/DUOS-319
Recommended to hide whitespace when viewing diffs.
Changes
Reorder columns. New display order:

Dataset ID
Dataset Name
# of participants
Phenotype/Indication
Description
Data Type
Species
Data Depositor
Principal Investigator
dbGAP
Consent ID
SC-ID
Structured Data Use Limitations
Approved Requestors

Old Screen

New Screen
Left hand side of the table:

Right hand side of the table:

Hi Greg - Can we have the columns in this order?

Dataset ID
Dataset Name
- dbGAP
- Structured Data Use Limitations
- Data Type
- Phenotype/Indication
- Principal Investigator

of participants

Description
Species
Data Depositor
Consent ID
SC-ID
Approved Requestors

@solideoglori  - Pretty sure that's reasonable. Will let you know if I run into any concerns.


Backends: Escape string literals in tests' regular expressions

Description :sparkles:
GitHub Code Scanning / CodeQL found "Incomplete regular expression for
hostnames" problems in code in develop to main branch merging on
7th of March, 2022, for an example:

"This regular expression has an unescaped '.' before 'microsoft.com',
so it might match more hosts than expected."

Fix uses of re.compile in tests with string literals by escaping the
input i.e. by changing re.compile(text) to re.compile(re.escape(text)).
Issues :bug:
-
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #860 (eed7b86) into develop (2ac0e05) will increase coverage by 16.69%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           develop     #860       +/-   ##
============================================
+ Coverage    62.30%   78.99%   +16.69%
============================================
  Files          861       60      -801
  Lines        22969     1885    -21084
  Branches      2345        0     -2345
============================================
- Hits         14310     1489    -12821
+ Misses        8269      396     -7873
+ Partials       390        0      -390

Impacted Files
Coverage Δ

.../shared/shared/azure_adfs/tests/test_adfs_login.py
100.00% <100.00%> (ø)

...kend/shared/shared/oidc/tests/test_auth_backend.py
100.00% <100.00%> (ø)

...ckend/shared/shared/oidc/tests/test_eauth_views.py
100.00% <100.00%> (ø)

...ackend/shared/shared/oidc/tests/test_oidc_views.py
100.00% <100.00%> (ø)

backend/shared/shared/ytj/ytj_client.py
27.58% <0.00%> (-65.52%)
:arrow_down:

backend/shared/shared/common/decorators.py
37.93% <0.00%> (-58.63%)
:arrow_down:

...nd/shared/shared/service_bus/service_bus_client.py
33.33% <0.00%> (-57.58%)
:arrow_down:

backend/shared/shared/yrtti/yrtti_client.py
37.50% <0.00%> (-53.13%)
:arrow_down:

backend/shared/shared/audit_log/viewsets.py
45.56% <0.00%> (-50.64%)
:arrow_down:

backend/shared/shared/common/utils.py
64.00% <0.00%> (-36.00%)
:arrow_down:

... and 804 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 2ac0e05...eed7b86. Read the comment docs.


Roles are not supported

The way the client is being instantiated, the role_arn is being ignored from the config/credentials file. According to a comment in issue 1256 of the aws-ruby-sdk, it appears the recommended way of instantiating a client is to pass the options in as a hash and let the SDK work out the security configuration.
For example:
  client_cfg = {}
  client_cfg[:region] = s3_region if s3_region
  client_cfg[:endpoint] = s3_endpoint if s3_endpoint
  client_cfg[:profile] = s3_profile if s3_profile
  client_cfg[:credentials] = Aws::Credentials.new(s3_access_key, s3_secret_access_key) if s3_access_key && s3_secret_access_key

        s3_client = Aws::S3::Client.new(client_cfg)

Here is a sample ~/.aws/credential
aws_access_key_id=XXXXXXXXXXXXXXX
aws_secret_access_key=XXXXXXXXXXXXXXXXXXXXX

[pitdevops]
role_arn=arn:aws:iam::000000000000:role/RoleName
source_profile=default

I will create a PR

@joshdholtz, is this issue resolved by PR #86? I will try to test myself, but don't have an environment setup at the moment.
I have doubts as I thought Instance profiles were for EC2. If my understanding is correct, then shouldn't PR #86 have introduced a boolean flag to indicate whether to use InstanceProfile or not. If false and no other s3_* flags are set then the credentials would be resolved from the environment, which is what I am proposing in this ticket / PR #55

@timothy-volvo I’ll take a deeper look today! I thought it did but I will make sure.

#86 still won't resolve this. As an example, using STS credentials, you must pass AWS_ACCESS_KEY_ID, AWS_ACCESS_SECRET_KEY and AWS_SESSION_TOKEN. After this PR, roles assumed by STS will still not work because specifying the first two as parameters will result in incomplete credentials and omitting them results in using InstanceProfileCredentials rather than the default chain.
AWS uses some non-trivial logic to initialize a session, so unless this plugin is doing something special or custom to initialize the session, I would strongly suggest using the default credential provider chain as the default if you don't specify explicit credentials instead of using AWS:: InstanceProfileCredentials
Here's the source to what the credential chain tries to do:
It includes:

static_credentials
static_profile_assume_role_web_identity_credentials
static_profile_assume_role_credentials
static_profile_credentials
static_profile_process_credentials
env_credentials
assume_role_web_identity_credentials
assume_role_credentials
shared_credentials
process_credentials
instance_profile_credentials

I wonder if we can simply add a option variable for AWS_SESSION_TOKEN to use STS credentials
I can use session token with AWS_PROFILE options, but I have to update .aws/credential file almost every release
hence, I wish I can use the AWS_SESSION_TOKEN environmental variable
I touched up the code a little and it looks working fine for my case:
diff --git a/lib/fastlane/plugin/aws_s3/actions/aws_s3_action.rb b/lib/fastlane/plugin/aws_s3/actions/aws_s3_action.rb
index 4a33e54..7f4f434 100644
--- a/lib/fastlane/plugin/aws_s3/actions/aws_s3_action.rb
+++ b/lib/fastlane/plugin/aws_s3/actions/aws_s3_action.rb
@@ -32,6 +32,7 @@ module Fastlane
         params[:release_notes] = config[:release_notes]
         params[:access_key] = config[:access_key]
         params[:secret_access_key] = config[:secret_access_key]
+        params[:aws_session_token] = config[:aws_session_token]
         params[:aws_profile] = config[:aws_profile]
         params[:bucket] = config[:bucket]
         params[:endpoint] = config[:endpoint]
@@ -65,6 +66,7 @@ module Fastlane
         s3_region = params[:region]
         s3_access_key = params[:access_key]
         s3_secret_access_key = params[:secret_access_key]
+        s3_session_token = params[:aws_session_token]
         s3_profile = params[:aws_profile]
         s3_bucket = params[:bucket]
         s3_endpoint = params[:endpoint]
@@ -89,7 +91,7 @@ module Fastlane
         client_cfg[:region] = s3_region if s3_region
         client_cfg[:endpoint] = s3_endpoint if s3_endpoint
         client_cfg[:profile] = s3_profile if s3_profile
-        client_cfg[:credentials] = Aws::Credentials.new(s3_access_key, s3_secret_access_key) if s3_access_key && s3_secret_access_key
+        client_cfg[:credentials] = Aws::Credentials.new(s3_access_key, s3_secret_access_key, s3_session_token) if s3_access_key && s3_secret_access_key

         s3_client = Aws::S3::Client.new(client_cfg)

@@ -736,6 +738,11 @@ module Fastlane
                                        description: "AWS Secret Access Key ",
                                        optional: true,
                                        default_value: ENV['AWS_SECRET_ACCESS_KEY']),
+          FastlaneCore::ConfigItem.new(key: :aws_session_token,
+                                       env_name: "S3_SESSION_TOKEN",
+                                       description: "AWS Session TOKEN ",
+                                       optional: true,
+                                       default_value: ENV['AWS_SESSION_TOKEN']),
           FastlaneCore::ConfigItem.new(key: :aws_profile,
                                        env_name: "S3_PROFILE",
                                        description: "AWS profile to use for credentials",


Branch versions

For reviewing purposes, it would be great if the extension could be configured to invoke a branch version of the sidekick.

Developers can add a branch name under Options > Development:

:tada: This issue has been resolved in version 5.3.0 :tada:
The release is available on:

GitHub release
v5.3.0

Your semantic-release bot :package::rocket:


Add dfid review status facet

Allows filtering of research outputs based on their review status, which can be either of unreviewed or peer_reviewed. Validates based on these two values.

[x] This build won't pass until https://github.com/alphagov/govuk-content-schemas/pull/341 is merged
[x] This facet won't work in finder-frontend until https://github.com/alphagov/rummager/pull/673 is merged

All good to go now 👍

After show and tell yesterday, DFID let us know they don't want this facet – at least, not in its current form. I'll close it, rebase, then re-open when we've removed the public-facing parts.