Retroactive: Add support for Oracles when executing a program

Problem
The partial witness generator without oracles can be seen as a determinstic process.
What this means is that once you feed it, the initial witnesses, it no longer needs to fetch information from an outside source.
State
We make the observation that the initial set of witnesses are usually values fetched from some state storage like a database, which is why they cannot be computed from other values.
Dynamic state fetching
Now consider the situation where we need to fetch state based on a value that we compute in the middle of the program.
fn foo(x : Field) {
   let z = x + x;
   let hashpath = get_hash_path(z);
}

The hashpath is a value which cannot be computed from z. It requires some sort of call to a database storage, or one will simply need to pass all of the leaves and recompute it.
Here is what a Noir program will likely look like as a workaround:
fn foo(x : Field, z_hash_path : [Field; 16]) {
   let z = x + x;
}

In the above program, the hash path for z has been passed in as a parameter, because there is no way to compute it otherwise. Remembering that the partial witness generator, can only compute values based on initial or intermediate values.
Problem with dynamic state fetching
The main problem with the above program is that a programmer now needs to compute z outside of the program in order to fetch the hashpath for it. Then when the program is executed, z is computed again. This means that the program is duplicated.
The above was a simple example where the value needed to fetch state was easy to compute and at the beginning of the program. One can image a scenario where z is the result of a complex computation involving for-loops and if-statements.
Proposed solution
The proposed solution is what we refer to as Oracles.
Prelude
We want to avoid duplication of code, once in Noir and again typescript/python/Rust, as this becomes unwieldy for any large program. The intuitive choice would then be to somehow pause the partial witness generator when you need to fetch state based on some value you have already computed and then resume once you have the input.
This is the gist of how oracles work.
Oracles are Directives
An oracle is a directive in Noir that when the partial witness generator encounters, it will not attempt to solve. Because it cannot. Instead it will return the current state of the partial witness generator, along with the oracle that needs to be filled in.
Once the caller has filled in the oracle, ie supplied the information that is needed, they can then cal the partial witness generator again, inserting the filled oracle and the previous state, and the partial witness generator will resume solving.
This process is repeated for however many oracles there are. The behaviour of the partial witness generator without an oracle directive will remain the same.
Oracle Structure
An Oracle looks like the following :
OracleData {
  name: String,
  inputs: Vec<Expression>,
  input_values: Vec<FieldElement>,
  outputs: Vec<Witness>,
  output_values: Vec<FieldElement>,
 }

The name is used so that whoever is responsible for filling in the Oracle, will know what they need to do. For example, if the name was "hash_path" then the responsible entity will know that they need to fill in a hashpath.
The inputs are the circuit witness indices that the partial witness generator will use to compute input_values. ie before the partial witness generator pauses, they will compute all of the input_values based on the inputs field.
The entity responsible for filling in the Oracle, will check the input_values field and fill in the output_values field.
Once the partial witness generator has resumed, it will assign the values in the output_values field to the witness indices in outputs
Alternatives considered
Design decisions
One thing that was actively avoided was making the partial witness generator async. This is because async is viral and not colourless, meaning that the caller of the partial witness generator will need to be async and so on.
The ramifications of this, is that the partial witness generator will simply stop execution and return the state. The returning of state is a necessity, since its not awaiting for some other process to get information. This has the nice property that, one can resume the partial witness generator at any time, on top of avoiding async.
The downsides being that one returns the state and needs to pass it back in again to resume.
Note: the code that calls the partial witness generator can be async and in the web context, we expect this to be the case.  In Rust, my assumption was that this would not be the case or more importantly, it does not need to be the case.
Additional context
No response
Submission Checklist

[X] Once I hit submit, I will assign this issue to the Project Board with the appropriate tags.

@iAmMichaelConnor we can use this issue plus possibly another one in Noir to track the progress of Oracles

Closing as this is oracles (now brillig foreign calls) are fully implemented.


Invoke-OMEReport bug

There is a bug in the Invoke-OMEReport command.
Data is being retrieved, but the headers are mixed up.
See the attached screenshots.

I had this fixed a while back, just never got around to pushing a release. 3.1.0 should contain the fix!

Thank you!
Looking forward for the new release!

I'm using 3.2.0 and still experiencing this bug.

Alright, I'll take a look at this one again

Alright, I'll take a look at this one again

Thanks. It can be re-created by creating a report and then editing the report to change column order.

Looks like its still an issue.
I believe this is happening because the FormatOutput-Info function is sorting ColumnNames by Sequence and it should not because the ResultRows are not returned from OME in this order. The ResultRows are returned in the same order as the ColumnNames.
When I remove 'Sort-Object Sequence' it provides results as expected.

The fields listed on the Reports page doesn't show the Column Order properly it seems. This is the way OME works it seems.

Try adding some columns to your existing report. Such as Hostname, Operating System Name, and OS Version. Then Save and try invoke-omereport.
This is what I see after doing that:
- Mismatch results from the invoke-omereport
Device Service Tag                   :
Device Model                          : Dell HBA355i Fnt
Hostname                                : <removed_device_name>
Operating System Name         : <removed_device_service_tag>
OS Version                               : VxRail E660F
RAID Controller Manufacturer : <removed_hostname>
RAID Controller Name             : VMware ESXi
Device Name                           : 7.0.3 Update 3 Patch 35 (build-19482537) Kernel 7.0.3 (x86_64)
- Results from ReportResults
{"@odata.context":"/api/$metadata#ReportService.ReportResult","@odata.type":"#ReportService.ReportResult","@odata.id":"/api/ReportService/ReportDefs(46305)/ReportResults","Id":84,"Title":"perc","TaskId":46300,"ResultRowColumns":[{"Id":869,"Name":"RAID Controller Manufacturer","Width":20.0,"Sequence":5},{"Id":870,"Name":"RAID Controller Name","Width":20.0,"Sequence":6},{"Id":871,"Name":"Device Name","Width":20.0,"Sequence":7},{"Id":872,"Name":"Device Service Tag","Width":20.0,"Sequence":0},{"Id":873,"Name":"Device Model","Width":20.0,"Sequence":1},{"Id":874,"Name":"Hostname","Width":20.0,"Sequence":2},{"Id":875,"Name":"Operating System Name","Width":20.0,"Sequence":3},{"Id":876,"Name":"OS Version","Width":20.0,"Sequence":4}],"ResultRows@odata.navigationLink":"/api/ReportService/ReportDefs(46305)/ReportResults/ResultRows"}
- Results from ReportResults/ResultsRow
{"@odata.context":"/api/$metadata#Collection(ReportService.ReportResultRow)","@odata.count":886,"value":[{"@odata.type":"#ReportService.ReportResultRow","Values":["  ","Dell HBA355i Fnt","<removed_device_name>","<removed_device_service_tag>","VxRail E660F","<removed_hostname>","VMware ESXi","7.0.3 Update 3 Patch 35 (build-19482537) Kernel 7.0.3 (x86_64)"]}],"@odata.nextLink":"/api/ReportService/ReportDefs(46305)/ReportResults/ResultRows?$skip=1&$top=1"}

What version of PowerShell are you using? I am seeing some differences between PS 5 and PS 7.

Alright, I see what you're saying. Removed Sort-Object Sequence and it all matches up.

Published 3.3.1 that includes this fix. Thanks!


sort NcclManager::Collective participants using device ID

Occasionally, the nccl_manager_test subtest NcclManagerTest/0.BasicAllGather would fail because the NcclManagerTest/0.BasicSumReduction would produce a device-to-rank ordering that might not be monotonically increasing.
hostname:25909:25993 [0] NCCL INFO Ring 00 :    0   1   2   3
hostname:25909:25994 [1] NCCL INFO Ring 00 : 1[2] -> 2[1] via direct shared memory
hostname:25909:25993 [0] NCCL INFO Ring 00 : 0[0] -> 1[2] via direct shared memory
hostname:25909:25996 [3] NCCL INFO Ring 00 : 3[3] -> 0[0] via direct shared memory
hostname:25909:25995 [2] NCCL INFO Ring 00 : 2[1] -> 3[3] via direct shared memory

This communicator would be reused by the BasicAllGather test.  However, the allgather reduction is expected to be ordered by rank; no other collective result depends on rank order.  Sorting the participants based on the device ID resolves the failed test.

@rthadur Can you please help merge this PR?

@dagamayank this PR has failed some internal tests and @chsigg is looking in to it, thanks for your patience.

@rthadur and @chsigg thanks for looking into this PR as it is the only gating PR right now to bring back ROCm nightly Community Supported Builds to life.

@chsigg please let me know if there is anything I can do from my end to help expedite this work.  Thanks.


Have an "Email All Interested" button on the CCE Minor Management page

Have an "Email All Interested" button to allow the admin to send a message to each student who has expressed interest in the CCE Minor.

 Have an "Email All Interested" button on the CCE Minor Management page


Should mention commons.scss in Installation guide

It costs me hours to figure out the styling goes wrong without importing commons.scss . Take  react-toolbox-example for example. If we comment out the line importing commons.scss:
import React from 'react';
// import 'react-toolbox/lib/commons.scss';           // Import common styles

The style will become

(font family not applied, way too big buttons and so forth)
It seems trivial to those developers familiar with this project. But for those beginners like me, having this in the documentation saves their lives.

Yeah, definitively agree. It will be included with #666 so I'm closing in favor of that


tf.keras.metrics.get return string intead of exception

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
binary
TensorFlow version
2.14.0
Custom code
No
OS platform and distribution
Windows
Mobile device
No response
Python version
3.10
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Problem on metrics keras.metrics.get; it should raise an exception if metric doesn't exist: InvalidIdentifier
Standalone code to reproduce the issue
Problem on metrics

         import tensorflow as tf
         tf.keras.metrics.get('abc')

it returns "abc", but as per documentation it should raise an exception ValueError

Relevant log output
No response

Hi @venergiac-bh
I replicated this issue with Tf 2.14 ,2.13 and tf-nightly too. I attached a gist here for reference.
Thank you!

Hi @venergiac-bh ,
I have tested it with keras-nightly(3.0.0.dev2023110803) and it is raising intended exception. Please refer attached gist.


Error code returned from MHY api

Ive followed all the instructions and even looked in the FAQ but still does not load my data what do i do? im on ps4

PS4 QR Code has changed, the only way I know for now is link your ps account to mihoyo account and use PC/mobile

Ok thanks for the quick reply.
On Mon, 13 Sep 2021, 7:17 PM Made Baruna, @.***> wrote:

PS4 QR Code has changed, the only way I know for now is link your ps
account to mihoyo account and use PC/mobile
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MadeBaruna/paimon-moe/issues/146#issuecomment-917910105,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARZ2F6AWCDHTTFR7MHVMOUDUBWQQZANCNFSM5D5DDPKA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Pending request numbers on pending button in friends component

https://github.com/daccotta-org/daccotta/issues/77 , this is already fixed

where is the PR?

Forgot to push the changes, you can work on it


fix(controller): vertex template metadata nil check

closes #1526
Explain what this PR does.

@whynowy thanks for fixing the title, I was being quick and sloppy 😬


Missing file merge_enrichment.py

Hi, I am trying to use MAPLE on the example data and I can get almost all of it to run but it gives me this error. I checked the repository and merge_enrichment.py is not in the files. Is this an issue with the install?
Quick Q, is there a way that the pipeline could be run in the absence of UMI or using RCA? Ie, straight from a FastQ file demultiplexed from separate evolution experiments?
Thanks!

Hey, thanks for using the tool. Sorry about this oversight. I have added the file now. Please let me know if you have any further issues. Also please let me know if you had any difficulties getting this set up prior to this point.
And yes, if you don't add any UMI or RCA splint sequence (you can just comment those lines out in the config file), then the UMI and RCA parts of the pipeline will be skipped.

That's great to know! I will try to see if I can eliminate some of these dependencies.
Thanks for the kind words and thanks for using it!


⚠ Bofrost.at has degraded performance

In c0f19a6, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1713 ms

Resolved: Bofrost.at performance has improved in 80eb310 after 13 minutes.


Switch GitHub Actions back on for PRs

Switch GitHub Actions back on for PRs - need this to get the check at the bottom of pull request pages.

You get duplicate runs ^
..because you are on upstream, but it's useful for forked PRs ;)


[Task] Verify Table component

Verification checklist
For existing components
Verify the CFPB Design System (React) component against the CFPB Design System

[x] Has component intro text copied from the DS page
[x] Has source link to component's DS page (ex - Source: https://cfpb.github.io/design-system/components/banner-notification)
[x] Each DS variant is implemented as a separate story

[ ] Story name should be sentence case (ex. List Link => List link)
[ ] Naming is consistent with the DS
[ ] Same component names, same placeholder text, etc.

[x] Order of stories matches between DS/DSR
[x] Component is built correctly

[ ] Visually compare DSR implementation to DS
[ ] Verify that DS classes (organisms, molecules, atoms) are used, as opposed to styles defined in DSR

[ ] Manual visual review has been conducted and component has passed this review

For new components

[ ] All steps for existing components plus the following steps
[ ] The new component has been added to the CFPB Design System OR
[ ] The CFPB Design System maintainers have been alerted that there is a new component that must be added to the system
[ ] Documentation has been written for the new component (this is not a blocker for moving a component to verified)

Run accessibility checks

[x] Component is keyboard-friendly (navigable with tab, space, enter, arrow keys, etc.)
[x] Component does not introduce new errors or warnings in WAVE
[ ] Component is screen reader friendly (screen reader testing demo)

[ ] Is all the meaningful visual information and text of the component conveyed by the screen reader? (text, non-decorative image descriptions, etc.)
[ ] When interacting with the component using a screen reader, do you have all the information you need to use it? (selected vs unselected, button vs link, expanded vs collapsed, etc.)
[ ] Does the component have similar screen reader behavior as the sample components in WCAG, the CFPB design system, WebAIM, or similar accessibility examples?

[ ] For reference: CFPB manual web accessibility audit

Verify component unit tests

[ ] Verify component unit tests are implemented and passing - 85% or greater (ex: yarn vitest Button)

Conduct PR review

[ ] The component has been reviewed and approved by UI, UX, and FEWD

Verify component

[ ] Move component to verified in Storybook

Reopening for final Verification


How to get progress in number of uploading and downlaoding messages

Whether i  use TdApi.SendMessage or TdApi.UploadFile, I'm able to send to send message to the telegram server, but I didn't able to get their uploading progress, Please anyone help me how I able to get uploading progress,
Or help me understand what is updateFile means that give progress

I got my answer thank you all

This is thoroughly described in https://core.telegram.org/tdlib/getting-started.


Short solution needed: "How to blur image" (php-gd)

Please help us write most modern and shortest code solution for this issue:
How to blur image (technology: php-gd)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments explain solution.
Link to this issue in comments of pull request.

How to blur image


Issue with importing @angular/compiler under native-federation

When importing @angular/compiler under native-federation, a 'SyntaxError: Unexpected token {' appears in the browser console. I thought this is probably due to the following reason :

No ending backtick after the sourceURL on line 6122 in the dev tools source screenshot. Where did it go??

We could bypass this one, but in general, it seems like using JIT causes issues with native federation.
What's the reason you are using JIT?

I didn't choose JIT or AOT but used the default values instead. Could you please guide me on how to set it up to avoid errors? Thank you for your guidance.

The thing is, you should not need to import @angular/compiler. Can you try to remove this import?

@manfredsteyer
Thank you very much for your guidance. We've solved the problem by removing the @angular/compiler import and rebuilding the library with the Angular builder instead of the TypeScript compiler.


[eng-4051]  Restylized the osf-dialog to work on small mobile screen when the body needs to scroll

Ticket: [eng-4051]
Feature flag: n/a

Purpose
To have the osf-dialog work on small mobile screens
Summary of Changes
Converted the lib > analytics-page > addon > application > template.hbs file to use osf-dialog
Updated the osf-dialog scss style to be more reactive.
Screenshot(s)
Before

After

Side Effects
A million that I have no idea about
QA Notes
Browserstack for a bunch of different configurations.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5432

Relevant Lines:
7358

💛  - Coveralls


Cleanup MAPL_GetHorzIJIndex interface

During the recent refactoring of the MAPL_GetHorzIJIndex routine the ability to be passed the grid coordinates and work on a single processor was removed, however the arguments to do this still remain. This capability was added so a program (think python and f2py) could use this to do binning on a single proccessor. This should be cleaned up; either the arguments removed, or reimplemented in the code/moved to a new subroutine/module etc ... if this capability is still desired.

Reexamined on 2021-Apr-12 with @bena-nasa and @tclune

This has been done, the interface has been cleaned up to remove the non-existent functionality


3rd party document.

This is actually just a simple question. Do we have to keep the 3rd party document (ThirdPartyNotice.txt) in every cosmos project?
https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/ThirdPartyNotice.txt

i.e. is the copying of that file as Content in the nuget package intentional, or should it be changed to None in order to stop it leaking into all projects referencing it?

@philipthomas-MSFT Could you take a look to see what is the purpose of the file and if we are bundling it correctly?

Its a major annoyance that it shows up in all Projects that references the Cosmos NuGet. I haven't found a good way to remove it for all developers either, as the Path for it is the users' NuGet cache in their home folder.

I think the issue here is that this file shouldn't be in the "content" or "contentFiles" folders of the package.  Instead it should just be a loose file in the root of the nupkg, similar to Icon.png.

This is where it's pulled in: https://github.com/Azure/azure-cosmos-dotnet-v3/blob/1a8b7f0d0bad48d7517f8871cb5174a4f929118f/Microsoft.Azure.Cosmos/src/Microsoft.Azure.Cosmos.csproj#LL61C1-L63C14


Handled ResourceError in upload_file.py

Coverage decreased (-0.7%) to 92.169% when pulling 11978e35ac48921d4588e8b32f5120eca496ef0a on dev_error_correction into 08b8c997b4ec440f0eb804ebc38e47ee80128035 on error_correction.

Coverage increased (+0.3%) to 93.144% when pulling b198b9edf49fffc97b95df1f829450710a04ea32 on dev_error_correction into 08b8c997b4ec440f0eb804ebc38e47ee80128035 on error_correction.

Coverage increased (+0.5%) to 93.411% when pulling e5ef5efe5e47c8db5b38d4e8b2a8cfe4227589fe on dev_error_correction into 08b8c997b4ec440f0eb804ebc38e47ee80128035 on error_correction.

Coverage decreased (-0.3%) to 92.545% when pulling cac173c3732259d5ac45c335230a212f2a4cb515 on dev_error_correction into 08b8c997b4ec440f0eb804ebc38e47ee80128035 on error_correction.

Coverage increased (+0.07%) to 92.94% when pulling f4121f372ce1f6e81ce5165f9c2be165c46baa45 on dev_error_correction into 08b8c997b4ec440f0eb804ebc38e47ee80128035 on error_correction.

Coverage decreased (-0.2%) to 92.94% when pulling abb745e5af1dada591e895c83c0baf3f1f5c0084 on dev_error_correction into 32975ef9abed27a8f1540837b664afde51d810f6 on error_correction.

Coverage increased (+0.4%) to 93.582% when pulling c5f67baa57158a599f668f5de3453814e6d2a24e on dev_error_correction into 32975ef9abed27a8f1540837b664afde51d810f6 on error_correction.

Coverage increased (+0.4%) to 93.582% when pulling c5f67baa57158a599f668f5de3453814e6d2a24e on dev_error_correction into 32975ef9abed27a8f1540837b664afde51d810f6 on error_correction.

Coverage remained the same at 93.135% when pulling 06e4163c964bb2824a9c202bf1c8f21497dc6a2c on dev_error_correction into 32975ef9abed27a8f1540837b664afde51d810f6 on error_correction.


Question: Single state tree or several trees?

We previously tried to convince @adlerjohn to have only one tree for both account state and validator set(s).
That means a light client downloading the validator set of a particular height would also need to request an inclusion proof per validator in that set (inclusion in the state smt that is).
As we plan to use optimized compact smts, the size of an inclusion proof varies depending on the actual entries in that tree. Assuming, that we have loads of actually used accounts in the tree, we quickly hit 500kb and upto 1MB of inclusion proof data only (additionally to the valset data).
If we instead track the valset in a different tree for validators only, the light client only needs the root of that tree (in the header) and it's leaves (the vals in the valset) to verify the valset matches the one signed a header (or will sign a future header).
Tendermint basically already does this by including ValidatorsHash and NextValidatorsHash fields in the header: https://github.com/tendermint/tendermint/blob/18d333c3927f3dce0d8d5970ee40e5ffcc33448b/types/block.go#L351-L353
(note in tendermint, these result from txs included in the previous block due to deferred execution)
Different from tendermint, we can't use the exact kind of simple tree as we want to enable compact fraud proofs (e.g. a compact smt instead of the simple merkle tree currently used: https://github.com/tendermint/tendermint/blob/18d333c3927f3dce0d8d5970ee40e5ffcc33448b/types/validator_set.go#L345-L356) and the app needs to track the tree changes as far as I understand (intermediate state roots for fraud proofs).
In any case, we should re-discuss on the state tree or trees.
With a dedicated tree for the valset, the light client now can downloads the valset and recompute the tree without downloading an inclusion proof per validator.
(to verify the root matches the state root in the header it actually needs the accounts root too but that should be it).

Actually, we can still use one tree. We can just use the first byte in the key for values to mark the entries as belonging to particular subset of the state, e.g validators (current and next validators could receive a different prefix). In total we'd have 256 prefixes that we could use for whatever subtree, we need in the state (and still effectively only have one smt).
In this case light clients would only need one inclusion proof per valset instead of an inclusion proof per validator.

Spec refactored to do this at f1cba75 in #32.


Docker Build failing

Docker Build Failing. useradd command not found. May need to replace my adduser and addgroup.
Error:
Step 2/17 : RUN useradd --user-group --create-home --shell /bin/false app && mkdir -p /opt/app
---> Running in b9774cf118f7
/bin/sh: useradd: not found
The command '/bin/sh -c useradd --user-group --create-home --shell /bin/false app && mkdir -p /o
pt/app' returned a non-zero code: 127

We also need to change the exposed port to 8080 since the app is now running under non root privilege and does not have access to default port 80


[RUNTIME] Stream API

In this PR:

extern "C" used explicitly throughout project instead of explicitly in dlcore and nowhere else.  This also enables javacpp to parse the file (it chokes on TVM_EXTERN_C {).  Another options would be to have TVM_BEGIN_EXTERN, TVM_END_EXTERN pairs.

Three new functions

TVMStreamCreate
TVMStreamFree
TVMStreamStreamSynchronize

TODO
[ ] - Get approval for code changes
[x] - add your name to CONTRIBUTORS.md
[x] - update NEWS.md on changes and improvements in API and codes

I think I have now addressed all outstanding code changes.  Sorry for the commit noise!

Thanks this is merged


MSSQL Migration fixes

As dektrium seems to be taking ages to merge, could you please also merge my MSSQL improvements to migrations?
Original pull request can be found here:
https://github.com/dektrium/yii2-user/pull/843

hey tsdogs, is dektrium available again?

Not that I know of. That's why I created this pull request.

See here: https://github.com/dektrium/yii2-user/issues/903 - maybe its time to really do sort of an "official" fork ?

Yeah I saw it. I support the fork if there's no way to see where dektrium got lost.


Refactored how we require shared middlewares from web/

refs #9866

use package notation
get rid of x requires for middlewares
improved readability
do not refactor web/api/v0.1

@rishabhgrg Ready for review. Tests should pass 🤞

Conflicting files
core/server/web/admin/app.js

NOOOO 😁


Feature Request: CLI Arguments for Khronos Validation Layer Options

I find that whenever I want to use the additional validation layer objects from the Khronos VL, I have to re-learn how to enable them, either through finding the appropriate vk-layer-settings.txt settings names and enums, or through finding out the appropriate environment variables.
I propose that we add CLI options to Vulkan-Samples which use the Khronos VL's "programmatic interface" to enable validation layer objects (such as best-practices, GPU-assisted validation, synchronisation etc.).
Something like:
--validation-best-practices
--validation-gpu-assisted
--validation-synchronisation

(there may be more appropriate and vulkan-consistent names to use)
Additionally, it may be a good idea to expose some additional object-specific options. For example, enabling Arm-specific best-practices. I'm not sure how much configuration is possible at the moment, with the programmatic interface.
With these changes, the validation layer options would be more visible and immediately-usable to anyone using Vulkan-Samples.
Let me know if you have any thoughts whether this is useful, and how to improve it.
Additional information, see the "programmatic interface" mentions on these pages:

best-practices validation
GPU-assisted validation

One objection to this feature request is that one can simply use Vulkan-Configurator. I think CLI args like this could still be easier for everyday development and quick testing, given that.

Addressed - did these w/ cmake args


Feature request: extracting tar archives to S3

Problem description
I'd like to be able to open and extract tarfiles directly from/to AWS S3. A syntax of this kind would be convenient:
from smart_open import tarfile
with tarfile.open('s3://my-bucket/some-targz-archive.tar.gz', 'rb',
                  transport_params={'client': session.client('s3')}) as tar:
       tar.extractall('s3://some-bucket/some-folder/')

For now, how should I manage that?

Something like:
with smart_open.open('s3://bucket/file.tar.gz', 'rb', compression='ignore') as fin:
   with tarfile.open(fileobj=fin) as tar:
       for member in tar.getmembers():
         with smart_open.open(f's3://bucket/destination/{member.name}') as fout:
             ... # read from member, write to fout

Note that this will still buffer parts of the tar file locally to your machine, so it won't be really "directly from/to AWS S3", but it's as close as you're going to get.

Thanks, what about having an abstraction for that in the lib?

I think that's out of scope for smart_open, especially given that it already works (or should work, anyway) as demonstrated in the untested pseudo-code above.

I see. Anyway, it would be great to have a tool that enables us to do basic python operations on files and directories indistinctly of the filesystem's type: local or remote. I am thinking of functions like os.listdir, os.exists, os.isdir, tarfile.open, tar.extractall, etc.
One would have a base filesystem class, defaulting to the local filesystem, with subclasses corresponding to different kinds of storages (S3, GCS, Azure) and initialized using credential keys. That layer of abstraction is relevant for some of my use cases. smart_open manages the open API, it would be great to extend the idea to other APIs.
I'm not 100% sure it would be the best way of implementing that though. Thanks again!

For anyone stumbling on this, the correct syntax is now:
with smart_open.open('s3://bucket/file.tar.gz', 'rb', compression='disable') as fin:
    ...


How can I install this in construct 2?

Can you show someone how can I add this plugin to construct 2?

@code4youreal I don't develop on Construct 2, so I could not provide much help.
I emailed the Construct 2 team to see if they could help.

I got a reply from Scirra Support

We have a Javascript SDK for Construct 2 here: https://www.scirra.com/manual/15/sdk
You'll need to wrap the Cordova plugin in some JS with our own SDK to make it usable within Construct 2.

@code4youreal Did you figure out how to integrate Construct 2?

Closing due to inactivity. Feel free to reopen if the problem persists.


Inconsistent directionality

In the Reads schema, in the ReadGroupSet record there's a readGroupsId that points to (actually contains an array of) ReadGroups. So the group container holds a list of individual records.
However in Sequence Annotations, the Feature contains a FeatureSetID (a string). So here the individual record points to the group, instead of the other way around (FeatureSet has no array or ID referencing Features).
Shouldn't this be consistent? Either works fine, but together they're confusing.

In Metadata, Individual contains groupIds, which point to IndividualGroup. So here, an individual can be part of several groups. IndividualGroup does not contain individuals.

In variants, the Variant record contains an array of Calls, but the Call record contains a VariantId pointer. So this is cyclic.


lineSegmentToLineSegment does not work correctly.

Kiwi.Geom.Intersect.lineSegmentToLineSegment does not work as intended. Look in example repo for an example of what is happening

Fixed while fixing #172.


Fix: Affected cookies csv output

Description

It was observed (in issue #284) that in the exported reports in the CSV files the values of the column Cookie Affected was flipped. This PR fixes the wrong value serialization and removes the column Cookie Affected from the affected-cookies.csv file due to it being redundant since all cookies listed in that file are affected.

Fixes #284

QA issue #312 resolved.


Search for sporadic failures 2 (group_management, execution_environments_use_in_controller.)

Issue: AAH-1410
Focus mostly on execution_enviroments_use_in_controller.js. It tries to repair it - it now waits for the delete task to be completed (delete user command).
And it repairs also group management - there is new error due to alert PR. New alerts now contains name of the user and the test had very bad selector (no selector) that searches the user name at the whole page (for not contains). It worked before, but now the alert also contains the user name and it wrongly finds it there and fail.

Restarting tests just to make sure :)

Merging, this fixes the group_management failure that's now happening everywhere :+1:
But, see the failure above, execution_environment_use_in_controller is still failing sporadically.
(And so is collection_upload)


Crash during integration tests

During my integratiion test on my CI, I getting the following crash:
══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞══════════════════════
The following assertion was thrown while executing callbacks for
FrameTiming:
'package:flutter/src/widgets/binding.dart': Failed assertion:
line 858 pos 16: 'sendFramesToEngine': is not true.

Either the assertion indicates an error in the framework itself,
or we should provide substantially more information in this error
message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on
GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack:
#2      WidgetsBinding.drawFrame.<anonymous closure> (package:flutter/src/widgets/binding.dart:858:16)
#3      SchedulerBinding._executeTimingsCallbacks (package:flutter/src/scheduler/binding.dart:289:19)
#7      _invoke1 (dart:ui/hooks.dart:182:10)
#8      PlatformDispatcher._reportTimings (dart:ui/platform_dispatcher.dart:441:5)
#9      _reportTimings (dart:ui/hooks.dart:120:31)
(elided 5 frames from class _AssertionError and dart:async)

The TimingsCallback that gets executed was:
  Closure: (List<FrameTiming>) => void
═════════════════════════════════════════════════════════════════

end of failure 1

On my mac I don't have this issue so looks like is not dependent on my code. I saw on another issue some have fixed it by adding:
  final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized() as IntegrationTestWidgetsFlutterBinding;
  binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.fullyLive;
```
But to me it didn't fix anything.

I would like to know what causes this error to be able to fix it somehow ^^

Hi @jaumard
Can you please try https://github.com/flutter/flutter/issues/77225#issuecomment-808740925
Seems similar CI issues like these are solved by adding IntegrationTestWidgetsFlutterBinding.ensureInitialized();

Like I said at the end of the issue, already tried :(

@jaumard
Just realized that, yes, it seems be only happening in CI/CD and i have done small test but it doesn't show this in Codemagic.
Is it possible to reproducible this?  Maybe more tests?

I'm using a macMini with Jenkins to run my CI/CD ^^ so it's just another mac on my case. Bz my macbook pro have no issue running the integration test.
On my side, I can reproduce 100% of the time. But difficult to share application and tests :/ is there anything else I can do/share. Any idea of other thing I can test ?

This fails at  drawframe in sendFramesToEngine
Where the fix is for binding, it makes sense, can you please share which versions you've tested on CI/CD? Can you please try master

I'm using the last stable.
Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale fr-FR)
    • Flutter version 2.2.3 at /Users/jaumard/flutter
    • Framework revision f4abaa0735 (3 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

So far on master my app doesn't compile for some reason, I'll dig more and test if the integration test are running fine or not

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Added constants for storage permissions.

Added storage permissions with new constants.

@mofirouz I think we need these constants in all clients. I can add to C++ client.

@Dimon4eg Let's do it - but please add it as a PR (on a branch) as I need to speak to the team for more info on it.

@volknanebo Thanks!


Simulate a user typing a string

I failed on my first attempt to do it:
tf := ToTextField new.
s := tf inSpace.
s show.

"now, manually click on the text field"

"now, try to simulate typing:"

"aString := 'hello'."
aString := 'h'.

events := Array streamContents: [ :stream |

	aString do: [ :each |
		| key|
		key := KeyboardKey fromCharacter: each.
		stream
			nextPut:
				((BlKeyDownEvent target: tf)
					key: key;
					timestamp: s time now;
					yourself);
			nextPut:
				((BlKeyUpEvent target: tf)
					key: key;
					timestamp: s time now;
					yourself) ] ].

events do: [ :event | s dispatchEvent: event ].

This does work:
tf := ToTextField new.
s := tf inSpace.
s show.

"now, manually click on the text field"

tf requestFocus.

BlSpace
	simulateEvent: (BlTextInputEvent new
		text: '1234';
		yourself)
	on: tf.

(inspired on BlDevScripterTypeTextStep>>#playOn:)
I keep this question open:
should we add a method to BlSpace as there is for click (BlSpace class>>#simulateClickOn:)?


gtk+ failed to build on linuxbrew standalone Ubuntu 14.04

As part of getting opencv3 up and running, I was trying to install gtk+ through linuxbrew. It includes cairo as a dependency, which it installs displaying
==> ./configure --prefix=/home/arun/.linuxbrew/Cellar/cairo/1.14.2_1 --enable-gobject=yes --enable-svg=yes --enable-tee=yes --enable-xcb=no --enable-xlib=no --enable-xlib-xrender=no

Looking at cairo.rb at, I see that enable-xlib is set to no as the x11 dependency is not satisfied. However, later in the installation process,
configure: error: Package requirements (cairo-xlib >= 1.6) were not met:

No package 'cairo-xlib' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables CAIRO_BACKEND_CFLAGS
and CAIRO_BACKEND_LIBS to avoid the need to call

which seems to imply that enable-xlib should be true. How do I fix this? Here is the gist log

Any thoughts as to what I can do to get it working?

I don't think the linuxbrew x11 is what should be used here either, perhaps it should be the one provided by the system, even in the standalone case? Can x11 even be compiled and run properly in a truly standalone way? I feel like at some level dependencies must exist to the underlying system.

Running brew install cairo --with-x11 solves the issue. I do have, however linuxbrew/xorg/xorg installed locally.

See also #542.
Fixed by #974.


Add edit source datasets backend

Need
Some of the fields on the source dataset will be determined from DOI. Others will be determined from the HCA Data Repository project or the CELLxGENE collection.  Other fields will need to be enterable from the form. These fields are the "Identifiers". For now, the HCA and CELLxGENE IDs will be determined by a DOI match and read-only. The CAP and DUOS ids will be entered manually.
Approach

Complete


Fixed an issue that Description makes an extra empty file.

Added a check if Description has meaningful data.

Thanks


updated apispec

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@tamilmani1989, it seems your PR contains breaking changes. could you follow our breaking change policy to get it reviewed and appproved?

@lirenhe  No one has been using the RP yet and haven't released any SDK. So is it still required to follow breaking change policy?

@lirenhe No one has been using the RP yet and haven't released any SDK. So is it still required to follow breaking change policy?

Yes. Please follow the process and contact<EMAIL_ADDRESS>to get the approval for breaking changes.

/azp run automation - sdk

@lirenhe Got approval for breaking change. Can you please approve and merge?


Transitively unused

If an identifier x is only used by an identifier y, and y itself is unused, x should be marked as unused, too.
We'll have to check if this is worth doing. It'll be faster than having to run the tool several times, but it may increase the memory usage even more.

If you decide not to do this (which seems reasonable to me), it would be good to point out in the readme that you'll want to run unused again after deleting code (and repeat until it stops finding things).

Good idea, thanks. I'll add the note to the readme for now and remove it if I end up implementing this.


Physics Component Reinit Solution

When trying to build based on the r3/rapier demo it uses the React key property to rebuild the <Physics> component.
To do this, it:
Creates a new component
Fires the useMemos and useConst handlers
Discards the values
Fires the handlers AGAIN as the component actual mounts at least once, sometimes more
Unmounts the original component
This causes problems because:

The PhysicsSystem never has a chance to destroy before spinning up new ones
Jolt can only handle ~ 3 Jolt.JoltInstances at a time before crashing. This setup would have 3-4 up at the same time
When components like RigidBodies destroy, they call bodyInterface.RemoveBody on an interface that likely doesn't exist (separate issue)

One possible solution is to create a singleton for PhysicsSystem that checks itself into the global Raw object
The downside to this is it would only allow a single Jolt Instance
To solve that, passing a key would be an option. but this would require the user to manually specify when creating the <Physics> object
Other solutions welcome.
One thing to note, the CreateSingletonProxy didn't work in my initial testing

This was resolved with recent commits to Demo branch


HADOOP-14908 allow regular expressions, fixes

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13013 (See https://builds.apache.org/job/Hadoop-trunk-Commit/13013/)


Issue reading and writing mulitple bits

Hello,
I'm having problems writing and reading multiple bits with one call of "ReadArea".
s7client.ReadArea(s7client.S7AreaDB, 1, 0, 2, s7client.S7WLBit, function(err,res){
    if(err)
        return console.log(' >> DBRead failed. Code #' + err + ' - ' + s7client.ErrorText(err));
    console.log(" >> DBRead succesful",res)
});

I get the error  ">> DBRead failed. Code #10485760 - CPU : Invalid Transport size".
Tested with a CPU S7-314C-2 PN/DP and a CPU S7-1511-1 PN.
I get the same error trying to write multiple bits using WriteArea.
Everything goes fine if I read(write) those bits one by one with multiple calls of "ReadArea"("WriteArea").
I have no problems reading and writing multiple bytes or words.
What could be the cause of that error?

Hey,
as far as I remeber the S7 Protocol does not allow reading more than one bit at a time. If you want to do this you have to read the whole byte and extract your bits.

Another option would be to use the MultiVars  functions. But I think you got a solution for your issue, so I'll close this. If you still got problems, feel free to reopen.


Bug: Cannot enter a value less than 1 in "Amount of Beacons" dialog

Problem Description
I tried to add a beacon to a row of production with Amount = 0.75, indicating that I would only cover 3/4 of the assemblers with the beacon.  I was unable to hit Submit to apply that change - the Submit button was disabled with the error tooltip "Enter a beacon amount greater than 0".
Entering 0.75 should be valid - this use case is supported by the tooltip on the Amount entry box which reads in part "You can put a decimal number here, which could be used to reflect that your machines might be covered by a different amount of beacons."
Maybe the code is checking, like, <1 instead of >0?
Reproduction

Add a row to a factory plan.  I used Traditional solver if it matters.
Click the + to add a beacon
Select a beacon, enter 0.75 for the Amount and 1 for the total
Attempt to click Submit

Expected: I can add the effect and it would calculate that 3/4 of the machines are affected by the beacon.
Actual: The Submit button is disabled.

Huh, that's a weird one, not sure why I made it that way. Fixed for the next release though, thanks for the great report!


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3011

Questions ?
Please refer to the Backport tool documentation


Wx Stations

Could be useful to include weather stations as points layer within and nearby the watershed, ECCC, FERN, MOTI, ASWS, others?

Good idea, also BCWS. Do you know if a single authoritative list exists?
I also have the BCWS experimental app (https://bcgov-env.shinyapps.io/bcws_wx/) and the Northern BC research weather station app (https://bcgov-env.shinyapps.io/nbcclim/) ... would be great to amalgamate all of this into a single mega watershed app.


No Svelte app detected on SvelteKit

Thanks for making this extension! In my day job I find  the react devtools to be very useful so was excited to learn there is something similar for Svelte. Unfortunately I cannot get it to work on my system :(
Describe the bug
The extension panel is visible, but the dev tools will not open
To Reproduce
This happens on my main project, but I was able to reproduce with the template:
$ pnpm create svelte@latest my-app
$ cd my-app
$ pnpm install
$ pnpm run dev -- --open

then in Firefox and Chromium I get
Svelte DevTools

No Svelte app detected

Not working? Did you...

    Build with dev mode enabled?
    Use Svelte version ^4.0.0?

The options I used in the template were
create-svelte version 6.2.0

┌  Welcome to SvelteKit!
│
◇  Which Svelte app template?
│  SvelteKit demo app
│
◇  Add type checking with TypeScript?
│  No
│
◇  Select additional options (use arrow keys/space bar)
│  none
│
└  Your project is ready!

The package.json of the demo app shows it is Svelte 4,
{
        "name": "my-app",
        "version": "0.0.1",
        "scripts": {
                "dev": "vite dev",
                "build": "vite build",
                "preview": "vite preview"
        },
        "devDependencies": {
                "@fontsource/fira-mono": "^4.5.10",
                "@neoconfetti/svelte": "^1.0.0",
                "@sveltejs/adapter-auto": "^3.0.0",
                "@sveltejs/kit": "^2.0.0",
                "@sveltejs/vite-plugin-svelte": "^3.0.0",
                "svelte": "^4.2.7",
                "vite": "^5.0.3"
        },
        "type": "module"
}

And SvelteKit should set the dev mode automatically (indeed, import { dev } from '$app/environment' is true)
Expected behavior
The dev tools appear and allow me to inspect my app
Environment

Browser version: Firefox 126 / Chromium 125
OS version: Linux / OpenSUSE Tumbleweed
Devtools version: 2.2.1, downloaded from https://github.com/sveltejs/svelte-devtools/releases/tag/v2.2.1 or Chrome Web store
Svelte version: 4.2.17 (based on pnpm-lock.yaml)

Hey, thanks for giving it a try! If the panel is visible, then the extension should be working as expected. Can you try...

with no other extensions enabled, or
on a fresh install of a browser with just the devtools, or
on a different machine/OS?

Otherwise, I don't really know what else could be causing the issue there, I might need you to install from a temporary branch with some logging and see if it prints anything for you. I'll create and push it when all the following above doesn't work.
On that note, if you're downloading from the releases tab and installing it from the .zip file (not .xpi), you're probably running it as an unpacked extension, and it might have limited site access or some other restricted permissions that needs to be enabled in the settings.

Ah - I got it to work, I needed to click on the extension menu and grant it permissions for localhost. 🤦
Sorry for the user error!

I am facing the same problem on Firefox and I have tried granting it permissions for localhost as well as all websites. But it still shows the same error: "No Svelte app detected"
Firefox 128.0.3
Svelte Devtools 2.2.2 installed from releases page
Svelte 4.2.18
Svelte-kit 2.5.18
I have tried in both Incognito tab as well as normal tab.


Incorrect and inefficient SQL generation when selecting and joining

I believe there is a bug with a certain scenario of SQL generation on SQL Server.
I have created a fully self contained solution in a GitHub repo to demonstrate the issue:
https://github.com/joshcomley/EntityFrameworkSqlQueryBug
Suppose we have a list of customers, who each have a collection of products.
I could run this query:
var query = db.Customers.Include(p => p.Products);
var products = query.ToList();

And get these two SQL queries:
SELECT [p].[CustomerId], [p].[FirstName], [p].[LastName]
FROM [Customers] AS [p]
ORDER BY [p].[CustomerId]

SELECT [p0].[ProductId], [p0].[CreatedByUserId], [p0].[CustomerId], [p0].[DateCreated], [p0].[LastModifiedByUserId], [p0].[Name], [p0].[Price], [p0].[SomeSecretFieldThatShouldNotBeReturned]
FROM [Products] AS [p0]
INNER JOIN (
    SELECT DISTINCT [p].[CustomerId]
    FROM [Customers] AS [p]
) AS [p1] ON [p0].[CustomerId] = [p1].[CustomerId]
ORDER BY [p1].[CustomerId]

However, suppose I want to do some kind of selection of my fields:
var query = db.Customers.Select(p => new
{
  p.FirstName,
  p.LastName,
  Products = p.Products.Select(x => new
  {
    x.Name,
    x.CreatedByUserId
  })
});
var result = query.ToList();

By this point, when query.ToList() is run, I end up with only this query:
SELECT [p].[FirstName], [p].[LastName], [p].[CustomerId]
FROM [Customers] AS [p]

And in fact, no more SQL executes until I iterate through each child result:
foreach (var customer in result)
{
  // Only when we first iterate customer.Products below do we run the next SQL query
  foreach (var product in customer.Products)
  {
  }
}

For every single customer, when we get to the products collection, another individual query is executed:
SELECT [x].[CustomerId], [x].[Name], [x].[CreatedByUserId]
FROM [Products] AS [x]

So for every customer result, we end up with an entire selection on the products table. So if we return 300 customers, we run 301 individual SQL queries, and 300 of those select the entire products table :) not very friendly for servers!
I hope this helps outline the bug.
I've tested the same code in EF6, and the SQL generated for an identical query and code is as follows:
SELECT
    [Extent1].[CustomerId] AS [CustomerId],
    [Extent1].[FirstName] AS [FirstName],
    [Extent1].[LastName] AS [LastName],
    [Project1].[C1] AS [C1],
    [Project1].[Name] AS [Name]
    FROM  [dbo].[Customers] AS [Extent1]
    LEFT OUTER JOIN  (SELECT
        [Extent2].[CustomerId] AS [CustomerId],
        [Extent2].[Name] AS [Name],
        1 AS [C1]
        FROM [dbo].[Products] AS [Extent2] ) AS [Project1] ON [Extent1].[CustomerId] = [Project1].[CustomerId]
    ORDER BY [Extent1].[CustomerId] ASC, [Project1].[C1] ASC

I should add that so long as the current user has enough permissions and has SQL Server installed, the project will create the database, create the tables and seed it. This will happen every time you run the app as it is in its current state.

@maumar we're guessing this is RC1 and the nav prop work in RC2 will solve this

@rowanmiller This occurs in the latest RC2 version

@joshcomley thanks for confirming, we've put this on our list to fix for 1.0.0 release

this has been improved by https://github.com/aspnet/EntityFramework/commit/05b24c30b8b8693bc3daa78b195831bf45749a3f
We still produce N+1 queries, but no longer query all the rows in the child queries, just the relevant ones, like so:
            SELECT [p].[FirstName], [p].[LastName], [p].[Id]
            FROM [Customers] AS [p]

                        SELECT [x].[Name], [x].[CreatedByUserId]
                        FROM [Products] AS [x]
                        WHERE @_outer_Id = [x].[CustomerId]

sending to re-triage

The n+1 issue is already tracked by other issues, so closing this one out.


4.2.0 → 4.3.0: TypeError: navigationStore.getStateForAction is not a function.

Version

react-native-router-flux v4.3.0
react v16.13.1
react-native v0.63.4

Expected behaviour
No component exception, similar to 4.2.0.
Actual behaviour
With upgrade to 4.2.0 → 4.3.0
TypeError: navigationStore.getStateForAction is not a function. (In 'navigationStore.getStateForAction(action, state)', 'navigationStore.getStateForAction' is undefined)
This similar ticket, didn't help me resolve this: https://github.com/aksonov/react-native-router-flux/issues/3294
My router:
  const defaultReducer = new Reducer(params);
  return (state, action) => {
    return defaultReducer(state, action);
  };
};

class Routes extends React.Component {

  render() {
    return (
      <Router createReducer={reducerCreate} scenes={scenes} />
    );
  }
}

Routes.propTypes = {
  dispatch: PropTypes.func,
};

export default connect()(Routes);

Could you reproduce it with react-native/Example or custom fork of it?

have this problem too after upgrade 4.2 => 4.3

Is this project being maintained?  @aksonov There are many folks running into this.

Is this project being maintained? @aksonov There are many folks running into this.

I think the package was not being maintained, I simply moved to react-navigation

same issues

I am having exactly same issue with react-native-router-flux.
I followed @ahsan-abrar , but the issue still persists.


Nima: Add WebServer.Builder configuration option to support not registering JVM shutdown hook

Environment Details

Helidon Version: 4.0.0-SNAPSHOT
Helidon SE
JDK version: 19.0.1

Problem Description
Server application shutdown needs specific control over the shutdown order of multiple components like:

Shutdown web server
Stop background tasks
Fire any @PreDestroy callbacks
Shutdown database connection pools etc

Some applications wish to register their own JVM shutdown hook and have full control over the shutdown order. In this case they don't want the Nima WebServer to have a registered shutdown hook.
Suggested solution
Modify WebServer.Builder adding configuration control over whether a shutdown hook is registered with the JVM or not like:
var webserver =
  WebServer.builder()
    .shutdownHook(false)
    ...
    .build();

PR for suggested solution - https://github.com/helidon-io/helidon/pull/5739

Additional thought, I was expecting to see the shutdown hook being de-registered from the JVM Runtime when the webserver is stopped explicitly. This is the common case when running tests that start and stop the webserver per test. In the case of running a lot of tests like this de-registering the shutdown hook from the JVM Runtime removes that reference (and currently that reference to the webserver instance is being held until the JVM itself is shutdown).

Updated the associated PR to add support for de-registering the shutdown hook. Also changed HelidonServerJunitExtension to use .shutdownHook(false) as the webserver is stopped in afterAll().

The associated PR https://github.com/helidon-io/helidon/pull/5739 has been merged so closing this issue.


Nuxt runs in higher version than expected

Version
v2.4.1
Reproduction link
https://jsfiddle.net/
Steps to reproduce
I'm running 'npm run start' or 'npm run dev'

What is expected ?
I expect Nuxt in version 2.4.1
What is actually happening?
I have Nuxt in version 2.12.0

This bug report is available on Nuxt community (#c10434)

Hi @Turajek. Actually, it is not a bug but normal behavior how semver with npm/yarn works.

"nuxt": "^2.4.0": means any nuxt version higher than 2.4.0 which is available but less than 3.0.0
"nuxt": "~2.4.0": means any nuxt version higher than 2.4.0 which is available but less than 2.5.0
"nuxt": "2.4.0": means exactly version 2.4.0 <== This is what you should set in package.json

BTW why you need to pin version to 2.4.0 and not using the latest?


feat: isolate namespace for different input data source

Purpose of the PR

close: https://github.com/apache/incubator-hugegraph-computer/issues/251

Main Changes

Introduce new computer option JOB_NAMESPACE, and modify ETCD namespace to {JOB_NAMESPACE}/{JOB_ID}
Modify method constructPath which can be reused to construct a path generously.

Verifying these changes

This change is already covered by existing tests, such as (please describe tests).

Does this PR potentially affect the following parts?

[x]  Nope
[ ]  Dependencies (add/update license info)
[ ]  Modify configurations
[ ]  The public API
[ ]  Other affects (typed here)

Documentation Status

[ ]  Doc - TODO
[ ]  Doc - Done
[x]  Doc - NO Need

And we can also merge this PR as someone may run into a scenario of having multiple computer clusters with different namespaces.

Do you mean in the scenario they share the same ETCD?

Get your point, do you mean in the scenario they share the same ETCD?

Yes, one etcd for multi clusters.


Disable basic auth in Grafana

Allows hiding Grafana behind a basic-auth-secured reverse proxy without interfering with Grafana auth.

Issue: when a basic-auth-enabled proxy is used in front of Grafana, Grafana will recognize the forwarded "Authentication" header and attempt to login a Grafana user with the submitted username and password. Since a basic auth username/password usually has nothing to do with Grafana users, this fails, and Grafana becomes unusable (showing "Incorrect username or password").
I worked around this by setting the environment variable in my docker-compose.yml. However, disabling basic auth by default in the container would be simpler since it's not used anyway, and would be more consistent with the recommendation in the project's README ("I strongly recommend to use a reverse-proxy with HTTPS and basic access authentication when exposing TeslaMate to the public internet").

Thank you!


Fix NODE_SEARCH_CACHE_SIZE_SETTING initialization for TIERED_REMOTE_INDEX_SETTING feature

Description
This pr fixes NODE_SEARCH_CACHE_SIZE_SETTING initialization for TIERED_REMOTE_INDEX_SETTING feature.
As per current logic, if TIERED_REMOTE_INDEX_SETTING feature flag is enabled, the cache size will always be initialized to 80% irrespective of its search role.
Check List

[x] Functionality includes testing.
[x] API changes companion pull request created, if applicable.
[x] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@andrross @dblock please review!

So this was just a mistake, cache is used by search nodes and therefore should be initialized at 80%?

So this was just a mistake, cache is used by search nodes and therefore should be initialized at 80%?

for dedicated search nodes, yes thats the default.

@neetikasinghal can you please rebase? https://github.com/opensearch-project/OpenSearch/commit/d4e7766a90f45fc54ecd5658a5fae472ed9b7030 should fix the build failures.

@neetikasinghal I think this failure might be related to your change
SettingsException[Unable to initialize the search-data node: Missing value for configuration node.search.cache.size]
	at __randomizedtesting.SeedInfo.seed([72A1176649C8BC87:96BAE4D48127ADAC]:0)
	at app//org.opensearch.node.Node.initializeFileCache(Node.java:2053)
	at app//org.opensearch.node.Node.<init>(Node.java:746)
	at app//org.opensearch.node.MockNode.<init>(MockNode.java:120)
	at app//org.opensearch.node.MockNode.<init>(MockNode.java:108)

@neetikasinghal I think this failure might be related to your change
SettingsException[Unable to initialize the search-data node: Missing value for configuration node.search.cache.size]
	at __randomizedtesting.SeedInfo.seed([72A1176649C8BC87:96BAE4D48127ADAC]:0)
	at app//org.opensearch.node.Node.initializeFileCache(Node.java:2053)
	at app//org.opensearch.node.Node.<init>(Node.java:746)
	at app//org.opensearch.node.MockNode.<init>(MockNode.java:120)
	at app//org.opensearch.node.MockNode.<init>(MockNode.java:108)

looks like this test needs an update, let me update it.


Support for ESP32

Will boards based on Espressif ESP32 supported soon or is possible to install it manually?
Configuration
Operating system:
WIndows, Linux, OSX
Additional info
More information on Espressif Website: http://espressif.com/products/hardware/esp32/resources

+1
the ESP32 is officially out, so now is time to add it :-)

The Core:
https://github.com/espressif/arduino-esp32
:-)

Is there any news on this or ?

need moar boards

Looks like they are working on it. https://github.com/platformio/platform-espressif32
@ivankravets any ETA?

We are waiting for ESP32 Dev Kits from Espressif System to test it. Espressif System has alerady shipped. 1-2 weeks...

Will platformio support the arduino core for esp32 and the espressif sdk also ?

Sure, see https://github.com/platformio/platform-espressif32/blob/develop/platform.json#L23:L32

Is this worth trying out yet?  I have a SparkFun ESP32 Thing here and would be willing to test...

Well, to answer my own question, on PlatformIO, version 3.1.0, I tried installing platform-espressif32 manually and a blink sample builds but fails to link like this:
lucky13:esp32 dean$ pio run
[Sat Nov  5 09:39:30 2016] Processing esp32thing (framework: arduino, lib_deps: , platform: espressif32, upload_speed: 115200, board: esp32dev, upload_port: esp32thing.local)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
Collected 10 compatible libraries
Looking for dependencies...
Project does not have dependencies
Linking .pioenvs/esp32thing/firmware.elf
/Users/dean/.platformio/packages/framework-arduinoespressif32/tools/sdk/lib/libesp32.a(cpu_start.o):(.iram1.literal+0x24): undefined reference to `esp_setup_syscalls'
/Users/dean/.platformio/packages/framework-arduinoespressif32/tools/sdk/lib/libesp32.a(cpu_start.o):(.iram1.literal+0x28): undefined reference to `esp_vfs_dev_uart_register'
/Users/dean/.platformio/packages/framework-arduinoespressif32/tools/sdk/lib/libesp32.a(cpu_start.o):(.iram1.literal+0x2c): undefined reference to `esp_reent_init'
/Users/dean/.platformio/packages/framework-arduinoespressif32/tools/sdk/lib/libesp32.a(cpu_start.o): In function `start_cpu0_default':
/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/./cpu_start.c:153: undefined reference to `esp_setup_syscalls'
/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/./cpu_start.c:163: undefined reference to `esp_vfs_dev_uart_register'
/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/./cpu_start.c:165: undefined reference to `esp_reent_init'
/Users/dean/.platformio/packages/framework-arduinoespressif32/tools/sdk/lib/libfreertos.a(tasks.o): In function `prvInitialiseNewTask':
/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/freertos/./tasks.c:4312: undefined reference to `esp_reent_init'
collect2: error: ld returned 1 exit status
*** [.pioenvs/esp32thing/firmware.elf] Error 1
============================================================================ [ERROR] Took 1.61 seconds ============================================================================

@blackketter need to sync https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py#L72 with https://github.com/espressif/arduino-esp32/blob/master/platform.txt

Update! You can try inttial implementation by @valeros. See https://github.com/platformio/platform-espressif32
The build results: https://travis-ci.org/platformio/platform-espressif32

Awesome, blink builds, uploads and runs on my Sparkfun ESP32 Thing.  I do find that I need to manually reset it after an upload, will look into that...

Docs: http://docs.platformio.org/en/latest/platforms/espressif32.html
Examples: https://github.com/platformio/platform-espressif32/tree/develop/examples

@ivankravets it looks like not all -D flags are set correctly: https://travis-ci.org/blynkkk/blynk-library/jobs/177357568

@vshymanskyy Thanks! Fixed in https://github.com/platformio/platform-espressif32/releases/tag/v0.1.1
P.S: v0.1.1 is released, just restart a Travis.CI Job.

Thank you! Fixed.

Hi, how to fix this issue? Thanks.


cmd/go: Cross compiling Go c archives for iOS does not generate bitcode

Go 1.5.1 on OS X 10.10.5 with Xcode 7

Even if setting CC and CXX to include -fembed-bitcode while building against the iPhoneOS SDK, the resulting static library does not contain bitcode.
I made a sample test project here: https://github.com/swisspol/Go-Bridge

The Go toolchain doesn't generate LLVM bitcode.
so there is nothing to do here.

I figured as much with the new Go toolchain. That might turn into a major problem going forward though, assuming Go wants to support mobile development on iOS (which is I assume the intent of https://github.com/golang/mobile/).
Bitcode is part of the new app thining, and submission to the App Store for WatchOS apps must already be in bitcode. It's currently optional for iOS apps, but maybe it will be required for iOS 10 next year. I would bet that it is at most 2 years away. Apple has a long history of architecture transitions and they are typically quite aggressive as well.
PS: What do you mean by the "gc toolchain"?

LLVM still lacks essential features to support the Go runtime (i.e. stack
map, write barriers?). Perhaps the write barrier thing isn't too big as we
can emulate it, but we cannot emulate stack map without also implement our
own stack -- then much of the benefit of LLVM is gone.)
If bitcode is required, then iOS development might need to use an
alternative toolchain (e.g. llgo), until we figure out a way to support a
LLVM backend (probably won't happen because gc has always been using its
own backend and it allows much faster evolution as we don't need to wait
before required features are implemented in 3rdparty software)
The gc toolchain refers to the toolchain in this GitHub repository.

Got it, thanks.


Remove version: TheDocumentFoundation.LibreOffice version <IP_ADDRESS>

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping @Exorcism0666, I'll get a notification.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

URL: http://download.documentfoundation.org/libreoffice/stable/7.6.2/win/x86_64/LibreOffice_7.6.2_Win_x86-64.msi
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 656)


add option to use the non-default service connection

fixes #682
i have not had time to test this, but this should do the trick.

I have not managed to install the modified version into our AZ devops instance. Can someone hint me how to publish/install such snapshot versions?


Add scheduled maintenance view

This file is currently hardcoded in the Puppet repo which is definitely not the correct place for it for lots of reasons. It should be a view in static similar to our error views.

Can you provide context on how this is accessed and enabled?

+1 to more context, possible a comment/note that it's fetched from static by something external and that moving the path it would cause problems?

I've added a comment, is that enough context or should I put more in?

Where in puppet? I searched for scheduled_maintenance and didn't find anything.

Sorry, it's not there yet. It needs to exist here first and then it will be used as part of the router::errorpage defined type.

Once it exists a little follow up PR to add the cross linking would be :star2:


HelmDeploy: Unable to locate executable file: 'kubectl'

I have a pipeline task that should simply list all Helm installations;
- task: HelmDeploy@0
  displayName: Helm list
  inputs:
    connectionType: Kubernetes Service Connection
    kubernetesServiceEndpoint: $(myServiceConnectionTest)
    command: ls

But the pipeline task fails with:
Starting: Helm list
==============================================================================
Task         : Package and deploy Helm charts
Description  : Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands
Version      : 0.201.0
Author       : Microsoft Corporation
Help         : https://aka.ms/azpipes-helm-tsg
==============================================================================
##[error]Error: Unable to locate executable file: 'kubectl'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
Finishing: Helm list

In the same way, with the Kubernetes client, I can list all pods successfully:
- task: Kubernetes@1
  displayName: kubectl get pods
  inputs:
    connectionType: Kubernetes Service Connection
    kubernetesServiceEndpoint: $(myServiceConnectionTest)
    command: get
    arguments: pods

Apperently I have to login first
- task: Kubernetes@1
  displayName: Login to Kubernetes
  inputs:
    connectionType: Kubernetes Service Connection
    kubernetesServiceEndpoint: $(serviceConnectionTest)
    command: login

https://stackoverflow.com/a/74817464/3615462


Roman/ci test

just making sure the CI on my other pr is not playing tricks on me

Coverage decreased (-0.7%) to 81.604% when pulling c579ac708e9ebf82829e36d5ab262101234e4901 on roman/ci-test into ddceecc9ea768e96b12621347699c9f7cd8a8262 on master.

not playing tricks on me it seems


UserShadowStack parameter is missing from Set-ProcessMitigation cmdlet

The UserShadowStack parameter has been available for over a year in Windows 11 stable channel but the document for Set-ProcessMitigation cmdlet doesn't mention it.

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

ID: 668df198-0fba-da08-e54b-89c705d9a90c
Version Independent ID: 92d92261-527d-9273-517d-d10f43898522
Content: Set-ProcessMitigation (ProcessMitigations)
Content Source: docset/winserver2022-ps/processmitigations/Set-ProcessMitigation.md
Product: w10
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Process execution does not continue after await condition is satissfied (through signals)

I am trying to halt process execution until one of two condition are met.
These conditions are set by two distinct signals.
In general, everything works fine but in some cases (and it is often... maybe 10% of the cases), the signal is received and processed but the instance does not continue its execution. I have not been able to identify a pattern.
So I am waiting for the conditions like this:
yield Workflow::await(fn() => !is_null($this->authorizationId) || $this->exitProcess);
Waiting to execute one of these signals:
    public function workflowAuthorizationExecuted(int $taskId)
	{
		$this->authorizationId = $taskId;
	}

    public function indicationHasBeenSuspended()
	{
		$this->exitProcess = true;
	}

Maybe I am doing something wrong, but I find it strange that some instances work and some don't.
For those instances that don't work, even if I resend the signal nothing happens.
How can I make sure the instance is waiting in the "await" command?
I haven't been able to replicate in our DEV or QA environment. It is happening in production.
I have attached my workflow definition.
I am using docker under Alpine Linux v3.11.

RR_VERSION: 2.8.4
PHP_IMAGE_VERSION: 8.1.4-cli
mysql:8
temporalio/auto-setup:1.15.0
AutorizarIndicacionWorkflow.php.txt

This is my SDK version
{
    "require": {
        "spiral/roadrunner": "^2.8",
        "temporal/sdk": "^1.1",
        "nyholm/psr7": "^1.5"
    }
}

I see issue #170 has some similarities. I am not sure if this happens after a worker crashes.

@jcontesse can you try the latest SDK version? We have recently fixed similar issues with awaits and signals.

So I am now using the following versions:

PHP_IMAGE_VERSION: 8.1.4-cli
mysql:8
temporalio/auto-setup:1.15.0
"spiral/roadrunner": "^2.10.1",
"temporal/sdk": "^1.3",
"nyholm/psr7": "^1.5"

I ran the process for almost a week and today the same thing happened. A couple of processes hanged after the signal was received with no apparent explnation.
It seems this started happening after one of the workers failed (not sure what happened). I have attached that instance's execution log.
Should I update temporal?
What other information can I gert in order to be more helpful?
Worker Error.txt
.

@jcontesse please try to update RR to v2.10.3 and sdk to v1.3.2. Hope, it will help you.

It has been nearly one week running RR v2.10.3 and sdk v1.3.2 with no issues. It seems the issue has been fixed. We are still monitoring.

Great news! 🚀


Empty structs do not increment offset of StorageKey

When storing two nested structs within a single struct, if the nested structs are empty then the offset of StorageKey is not incremented.
A consequence of this is https://github.com/FuelLabs/sway/issues/4519. As StorageMap is an empty struct, attempting to modify one will modify the other. Adding the offset to StorageMap's functions will be done in another PR.
For example, the following shows a struct with two nested empty structs. When comparing the StorageKey's slot, they are the same as expected. However, the offset for both is 0.
contract;

pub struct MyStruct {
}

pub struct MyNestedStruct {
    my_struct1: MyStruct,
    my_struct2: MyStruct
}

storage {
    my_nested_struct: MyNestedStruct = MyNestedStruct {
        my_struct1: MyStruct {},
        my_struct2: MyStruct {},
    }
}

abi MyContract {
    fn get_nested_struct_1_slot() -> b256;
    fn get_nested_struct_2_slot() -> b256;
    fn get_nested_struct_1_offset() -> u64;
    fn get_nested_struct_2_offset() -> u64;
}

impl MyContract for Contract {
    fn get_nested_struct_1_slot() -> b256 {
        let key: StorageKey<MyStruct> = storage.my_nested_struct.my_struct1;
        key.slot
    }

    fn get_nested_struct_2_slot() -> b256 {
        let key: StorageKey<MyStruct> = storage.my_nested_struct.my_struct2;
        key.slot
    }

    fn get_nested_struct_1_offset() -> u64 {
        let key: StorageKey<MyStruct> = storage.my_nested_struct.my_struct1;
        key.offset
    }

    fn get_nested_struct_2_offset() -> u64 {
        let key: StorageKey<MyStruct> = storage.my_nested_struct.my_struct2;
        key.offset
    }
}

// This test passes as expected
#[test()]
fn test_assert_same_slots() {
    let repro = abi(MyContract, CONTRACT_ID);

    assert(repro.get_nested_struct_1_slot() == repro.get_nested_struct_2_slot());
}

// This test fails
#[test()]
fn test_assert_different_offset() {
    let repro = abi(MyContract, CONTRACT_ID);

    assert(repro.get_nested_struct_1_offset() != repro.get_nested_struct_2_offset());
}

In the previous minimal repro, if MyStruct is modified to have a value, the offset works as intended. For example, the following sturct works as intended:
pub struct MyStruct {
    my_val: u64
}

This has been tested with v0.38.0

Note: this test ONLY passes because different keys are used https://github.com/FuelLabs/sway/blob/f4422d44088a9cb171c8319797f2f27c92c8a1f1/test/src/sdk-harness/test_projects/storage_access/mod.rs#L134
I suggest adding a pair of identical keys for the two different StorageMaps


runtime: TestArenaCollision failing on Solaris

2b41554 broke Solaris. For example, https://build.golang.org/log/d32bb2fc9ace29dcdddd34f0df6361a4a2978fbb:
--- FAIL: TestArenaCollision (0.06s)
	malloc_test.go:175: === RUN   TestArenaCollision
		runtime: memory allocated by OS [0xfffffd7ff0000000, 0xfffffd7ff4000000) exceeds address space limit (0x1000000000000)
		fatal error: memory reservation exceeds address space limit

Apparently Solaris can allocate user address space in the upper portion of the amd64 virtual address space.

There is a diagram of the Solaris memory map at http://www.oracle.com/technetwork/server-storage/solaris/solaris-memory-135224.html .  I haven't looked at this test, but Solaris will put the stack and shared objects above 0xFFFF8000 00000000, and mmap can return address up there too.  Solaris doesn't get around the 48-bit limit, it just sign extends.

Thanks for the pointer; that's consistent with the builder failure. I'm already mapping enough metadata for 48 bit addresses because of arm64. I'll just have to close the hole either by masking off the sign extension or adding to rotate the hole around.


I can't get push notifications from Urban Airship directly [ANDROID]

Hi,
I already followed the instructions and I can get notifications from Firebase directly on Android, but I can't get notifications from Urban Airship directly. I tested sending notifications from Urban webpage, but the app is not getting them. How can I solve this? Is this library working correctly?

Read through http://docs.urbanairship.com/reference/push-providers/gcm.html and make sure everything is setup properly. This might be the same issue - http://stackoverflow.com/questions/39456491/android-gcm-server-key-is-not-working-with-urban-airship

@rlepinski I already tested with project id, server key and sender id from Firebase and it is not working yet. But, I started debugging the Java (Android) side and I could see that there is an option named "takeoff" setted as "FALSE". Until I know, this option has to be "TRUE" and I can't change it because the methods set and get of this variable are private static. So, I think this is the problem, but I don't if someone more is getting the same problem on Android.

@Drey23 Autopilot is used for takeOff in the plugin. Did you enable user notifications? Can you run the app with verbose logs and check to see if your channel registration has a push registration ID?

Yes, I get true when I verify notification permissions. If you are talking about ReactNativeUA.get_channel_id(), I can't use this method because React Native doesn't find it. In fact, if I go to Android side, I can't find this method as well.

@Drey23 Can you set developmentLogLevel to VERBOSE in your airshipconfig.properties file and provide some output logs? Make sure to avoid posting any secrets

undefined is not a function (evaluating '_reactNativeUa2.default.get_channel_id()')
UALib: AirshipService - Received intent: Intent { act=com.urbanairship.push.ACTION_UPDATE_CHANNEL_REGISTRATION cmp=com.domecoffee/com.urbanairship.AirshipService (has extras) }
/ActionUrl: Enable default action url behaviour -> True
UALib: AirshipService - Starting tasks for intent: com.urbanairship.push.ACTION_UPDATE_CHANNEL_REGISTRATION taskId: 9
UALib: NamedUser - Skipping update. Named user ID trimmed already matches existing named user: user_id
/ReactNativeJS: 'notifications enabled:', true

@Drey23 What is the actual issue you are facing? Channel ID is not released yet, so in order for that to work you have to build from master. I just merged it a day ago.
I need verbose logging from your android device monitor in order to help your push issue.  Are you using android studio to run your application? If so I need the logs in the Android Monitor - https://developer.android.com/studio/debug/am-logcat.html

The real issue I'm facing is that I can't get push notifications from Urban Airship directly. If I go to Urban Airship dashboard and I send a notification, the app can't get it. But, If I go to Firebase dashboard and I send a notification, the app receives the notification. Why I can't get notifications from Urban Airship directly?

I am trying to help you with that but I need output logs to figure out if the SDK is setup and configured properly. Without logs I am unable to help.

@rlepinski What kind of message are you waiting for to know if the SDK is set up? I mean, I followed your instructions and it works with Firebase. In fact, I had to add extra steps, because I had to add permissions on Android Manifest to get notifications from Firebase. This is the log I get:
- UALib: Update named user failed with status: 403 This action is not allowed when the app is in server-only mode.
- UALib: NamedUserJobHandler - No pending tag group updates. Skipping update.
- UALib: InboxJobHandler - Fetch inbox messages response: Response: ResponseBody: {
"messages" : [ ],
"badge" : 0
}
ResponseHeaders: {null=[HTTP/1.1 200 OK], Cache-Control=[no-cache, no-store, must revalidate], Connection=[keep-alive], Content-Type=[application/json;charset=utf-8], Date=[Wed, 15 Feb 2017 22:33:31 GMT], Vary=[Accept-Encoding, User-Agent], X-Android-Received-Millis=[1487197291032], X-Android-Response-Source=[NETWORK 200], X-Android-Selected-Transport=[http/1.1], X-Android-Sent-Millis=[1487197290854], X-N=[S]} ResponseMessage: OK Status: 200
- UALib: Received 0 inbox messages.
02-15 17:21:31.195 1000-3550/com.google.android.gms I/Icing: Indexing ********* from com.google.android.gms
02-15 17:21:31.199 1000-3550/com.google.android.gms I/Icing: Indexing done **********************
02-15 17:21:31.339 14242-14321/com.******* E/BluetoothAdapter: Bluetooth binder is null
02-15 17:21:31.339 14242-14321/com.******* W/System.err: java.lang.NullPointerException
02-15 17:21:31.339 14242-14321/com.W/System.err:     at com.learnium.RNDeviceInfo.RNDeviceModule.getConstants(RNDeviceModule.java:95)
02-15 17:21:31.339 14242-14321/com. W/System.err:     at com.facebook.react.cxxbridge.JavaModuleWrapper.getConstants(JavaModuleWrapper.java:130)
02-15 17:21:31.339 14242-14321/com.******* W/System.err:     at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
02-15 17:21:31.339 14242-14321/com******* W/System.err:     at android.os.Handler.handleCallback(Handler.java:733)
02-15 17:21:31.339 14242-14321/com.******* W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
02-15 17:21:31.339 14242-14321/com.******* W/System.err:     at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
02-15 17:21:31.339 14242-14321/com.******* W/System.err:     at android.os.Looper.loop(Looper.java:136)
02-15 17:21:31.339 14242-14321/com.******* W/System.err:     at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:196)
02-15 17:21:31.339 14242-14321/com.******* W/System.err:     at java.lang.Thread.run(Thread.java:841)
02-15 17:21:31.363 14242-14321/com.******* I/ReactNativeJS: Running application "" with appParams: {"initialProps":{},"rootTag":1}. DEV === true, development-level warning are ON, performance optimizations are OFF
02-15 17:21:31.391 14242-14322/com.******* D/ActionUrl: Enable default action url behaviour -> True
02-15 17:21:31.391 14242-14322/com.******* D/ - UALib: NamedUser - Skipping update. Named user ID trimmed already matches existing named user: user_id
02-15 17:21:31.391 14242-14242/com.******* D/********* - UALib: AirshipService - Received intent: Intent { act=com.urbanairship.push.ACTION_UPDATE_CHANNEL_REGISTRATION cmp=com./com.urbanairship.AirshipService (has extras) }
02-15 17:21:31.391 14242-14300/com. D/****** - UALib: AirshipService - Starting tasks for intent: com.urbanairship.push.ACTION_UPDATE_CHANNEL_REGISTRATION taskId: 10
02-15 17:21:31.391 14242-14302/com.********* V/******** - UALib: ChannelJobHandler - Performing channel registration.
02-15 17:21:31.391 14242-14302/com.******** V/******** - UALib: ChannelJobHandler - Channel already up to date.
02-15 17:21:31.415 14242-14242/com.********* W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/graphics/Outline;)
02-15 17:21:31.415 14242-14242/com.********* I/dalvikvm: Could not find method android.graphics.drawable.Drawable.getOutline, referenced from method com.facebook.react.views.view.ReactViewBackgroundDrawable.getOutline
02-15 17:21:31.415 14242-14242/com.********* W/dalvikvm: VFY: unable to resolve virtual method 1394: Landroid/graphics/drawable/Drawable;.getOutline (Landroid/graphics/Outline;)V
02-15 17:21:31.415 14242-14242/com.********* D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006
02-15 17:21:31.415 14242-14242/com.********* I/dalvikvm: Could not find method android.graphics.Outline.setConvexPath, referenced from method com.facebook.react.views.view.ReactViewBackgroundDrawable.getOutline
02-15 17:21:31.415 14242-14242/com.********* W/dalvikvm: VFY: unable to resolve virtual method 1225: Landroid/graphics/Outline;.setConvexPath (Landroid/graphics/Path;)V
02-15 17:21:31.415 14242-14242/com.********* D/dalvikvm: VFY: replacing opcode 0x6e at 0x0022
02-15 17:21:31.415 14242-14242/com.********* I/dalvikvm: Could not find method android.graphics.Outline.setRect, referenced from method com.facebook.react.views.view.ReactViewBackgroundDrawable.getOutline
02-15 17:21:31.419 14242-14242/com.********* W/dalvikvm: VFY: unable to resolve virtual method 1226: Landroid/graphics/Outline;.setRect (Landroid/graphics/Rect;)V
02-15 17:21:31.419 14242-14242/com.********* D/dalvikvm: VFY: replacing opcode 0x6e at 0x002a
02-15 17:21:31.455 14242-14322/com.********* W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactVirtualTextShadowNode
02-15 17:21:31.519 14242-14242/com.********* D/dalvikvm: GC_FOR_ALLOC freed 658K, 12% free 6143K/6920K, paused 5ms, total 5ms
02-15 17:21:31.575 14242-14321/com.********* I/ReactNativeJS: 'notifications enabled:', true
02-15 17:21:39.675 14242-14322/com.********* D/dalvikvm: GC_FOR_ALLOC freed 756K, 12% free 6432K/7308K, paused 5ms, total 7ms
02-15 17:21:40.303 14242-14242/com.********* D/********* - UALib: AirshipService - Received intent: Intent { act=com.urbanairship.analytics.SEND flg=0x4 cmp=com./com.urbanairship.AirshipService (has extras) }
02-15 17:21:40.303 14242-14300/com. D/********* - UALib: AirshipService - Starting tasks for intent: com.urbanairship.analytics.SEND taskId: 11
02-15 17:21:40.307 14242-14306/com.********* V/********* - UALib: AnalyticsJobHandler - Received job with action: com.urbanairship.analytics.SEND
02-15 17:21:40.311 14242-14297/com.********* V/********* - UALib: PreferenceDataStore - Saving preference: com.urbanairship.analytics.LAST_SEND value:<PHONE_NUMBER>313
02-15 17:21:40.319 14242-14306/com.********* D/********* - UALib: EventApiClient - Sending analytic events. Request:  com.urbanairship.http.Request@527f8c6c Events: [{"data":{"time_zone":-18000,"daylight_savings":false,"notification_types":["sound","vibrate"],"session_id":"06a310c7-8773-454d-a464-a542d09e3b20","carrier":"Android","lib_version":"8.2.5","connection_type":"wifi","os_version":"4.4.4","package_version":"1.0"},"event_id":"d2977a53-e7ae-49fa-b472-e04e5157cef0","time":"1487197290.107","type":"app_foreground"}]
02-15 17:21:43.499 717-2726/com.android.vending I/PlayCommon: [65] com.google.android.play.a.g.e(909): Preparing logs for uploading
02-15 17:21:43.499 717-2726/com.android.vending I/PlayCommon: [65] com.google.android.play.a.g.e(911): No file ready to send
02-15 17:21:49.855 14242-14322/com.********* D/dalvikvm: GC_FOR_ALLOC freed 1116K, 17% free 6496K/7740K, paused 8ms, total 8ms
02-15 17:21:50.907 14242-14306/com.********* D/********* - UALib: EventApiClient - Analytic event send response: Response: ResponseBody:  ResponseHeaders: {null=[HTTP/1.1 200 OK], Cache-Control=[max-age=0, no-cache, no-store], Connection=[keep-alive], Content-Type=[application/json], Date=[Wed, 15 Feb 2017 22:33:50 GMT], Expires=[Wed, 15 Feb 2017 22:33:50 GMT], Pragma=[no-cache], Server=[nginx/1.6.2], Vary=[Accept-Encoding], X-Android-Received-Millis=[1487197310910], X-Android-Response-Source=[NETWORK 200], X-Android-Selected-Transport=[http/1.1], X-Android-Sent-Millis=[1487197310777], X-UA-Max-Batch=[500], X-UA-Max-Total=[5120], X-UA-Max-Wait=[604800000], X-UA-Min-Batch-Interval=[60000]} ResponseMessage: OK Status: 200
02-15 17:21:50.907 14242-14306/com.********* D/********* - UALib: Analytic events uploaded.
02-15 17:21:53.007 717-948/com.android.vending I/Finsky: [49] com.google.android.finsky.d.e.run(1151): Replicating app states via AMAS.
02-15 17:21:53.019 717-948/com.android.vending D/dalvikvm: GC_FOR_ALLOC freed 968K, 34% free 4513K/6756K, paused 4ms, total 4ms
02-15 17:21:53.079 717-948/com.android.vending I/Finsky: [49] com.google.android.finsky.d.c.a(313): Completed 0 account content syncs with 0 successful.
02-15 17:21:53.079 717-717/com.android.vending I/Finsky: [1] com.google.android.finsky.services.j.a(148): Installation state replication succeeded.

@Drey23 I am looking for some sort of channel registration payload or something about GCM registration ID. I see neither in the logs provided. Could you uninstall the app then rerun it and capture the logs?
Basically there are 2 places that you might have a failure. Either the SDK or platform to fcm/gcm is misconfigured. I am trying to rule out SDK integration side.

FCM is working, because I'm getting the notifications from Firebase. Which SDK are you talking about? I just followed your steps.

@Drey23 Urban Airship uses FCM as a pipeline to send messages. First the Urban Airship SDK must know what the sender id/project number is and it will register with FCM and send that token up to Urban Airship. When that happens you should see some logs about GCM registration being complete and a channel update/create call with the push registration ID part of the token. If you uninstall/reinstall the app and capture logs for the first run I will be able to see if that part is working. If so, then the issue is most likely Urban Airship delivering the messages to FCM/GCM.

I'm sorry, my bad. I was taking the incorrect Api Key from Firebase.

@Drey23 Glad you figured it out!


Improve project flash messages

when adding observations.  Give a warning if the observation is for a name not previously used in this project.  Gives a count of observation with that name if there are previous matching observations.
To test:

Using a project with a field slip prefix, create a new field slip (e.g., http://localhost:3000/qr/ATEST-10000).
Enter a name not currently in the associated project and complete the observation creation process.
You should see a warning suggesting you voucher this collection.
Go through the process again with the same name.
You should a regular (green) flash message that tells you how many collections have been made for this project so far.

coverage: 93.422% (+0.002%) from 93.42%
when pulling 552e3bf5afbf7515b91f60937dcc9c30989eb887 on njw-improve-project-flash
into c92f3ef1ba781759b6dcf12471233147f367b171 on main.


2019 Roadmap Blog Post Initiative

Google Doc (currently just a placeholder): https://docs.google.com/document/d/1mkXX3cpg2qYY7PQ6JgQLFf18Bx-BlPwgYo0sIGvYi_M/edit

Status report for next Content team meeting on 19th of November.

cc @steveklabnik


npm ERR! 404 Not Found<EMAIL_ADDRESS>

I am getting the following error while doing npm install.
npm ERR! code E404
npm ERR! 404 Not Found<EMAIL_ADDRESS>npm version: 6.5.0
Do you have a good solution?

Hello @Ares2013 ,
All the code in the master branch is automatically built and uploaded to https://designer.krakend.io using the latest node version. You can check the .travis.yml file in the repository.
I have also tested locally using node 6.4.1 and it worked.
I deployed heavy changes yesterday concerning library updates, so you might be using a previous version and the pull is not working anymore for you.
I would suggest cloning the project in a fresh folder and do the npm install so there is no previous node_modules folder. Let me know if that worked for you, but as you can see code is live and passing the automatic build.
let me know if that worked

Hello @Ares2013 ,
All the code in the master branch is automatically built and uploaded to https://designer.krakend.io using the latest node version. You can check the .travis.yml file in the repository.
I have also tested locally using node 6.4.1 and it worked.
I deployed heavy changes yesterday concerning library updates, so you might be using a previous version and the pull is not working anymore for you.
I would suggest cloning the project in a fresh folder and do the npm install so there is no previous node_modules folder. Let me know if that worked for you, but as you can see code is live and passing the automatic build.
let me know if that worked

I am closing the issue. Feel free to add any additional comments if you need further help.


The asset details page crash - Invariant Violation: processUpdates()

The asset details page #/asset/XXX produces this error:
--Uncaught Error: Invariant Violation: processUpdates(): Unable to find child 2 of element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a  when using tables, nesting tags like..
How to recreate:

Reload the entire app in the browser
Navigate to #/explorer/assets
Click on any asset

It happens on both Chrome and Firefox (Win 7).
This refers to the online version https://graphene.bitshares.org

I've been getting this as well in Chrome Ubuntu 15. It's a really strange bug as something's happening that shouldn't be happening: React is assigning identical data-reactid attributes to every element in the MarketCard component. I'm yet to figure out why, the good thing is it doesn't happen very often and even when it does it doesn't break the GUI, you just need to click a few more times to get into a market.

I was able to fix this in the Markets page but I can't quite tell why it's happening in the Asset page. In the markets page it was due to a  component that was wrapping the MarketCard content, fixed by replacing that with an onClick function.

I'm fairly certain this was fixed here: ea92a1ef6df81767a56a064856560ffbd9dea7f9

@neura-sx please confirm and close if you agree.

Closing after no response form @neura-sx