HOWTOs - General, ReferenceFeed and EventPostProcessing

HOWTO Document Tranche2B
New HOWTOs for General, ReferenceFeed and EventPostProcessing
Tweak some exisiting HOWTOs:
Apache HTTPD datasource remediated -timezone/referrer URL and changed eventdetail xslt,
GeoHost datasource - add additional hosts and change some ip addressing
Redo multiple screenshots due to data source tweaks

@burnalting @stroomdev66 @at055612
Hi, can I get a review of this documentation please.
Is this the only way I can add reviewers - via the comment process?. Do you prefer notification to come this way or via Slack?

This medium works for me. Will review and comment in the next day or so, unless others beat me to it. Formal acceptance will need to be by @stroomdev66 or @at055612  though.

All, a quick review offers based on reviewing https://github.com/DS177/stroom-docs/tree/docs-tranche2B.
I have grouped issues based on the .md file where spelling/punctuation has an
existing extract 'Should be' corrected extract
HOWTOs/StroomHowTos.md:
ow to extract xertain events from the Stroom    Should be               ow to extract certain events from the Stroom
Under Event Feed Processing, if I on "Apache HTTPD Event Feed" (aka https://github.com/DS177/stroom-docs/blob/docs-tranche2B/HOWTOs/HOWTOs/EventFeeds/CreateApacheHTTPDEventFeed.md) I get a 404 error
EventPostProcessing/EventForwardingHowTo.md:
name this xsltFilter ClientGBRxsltFilter.       Should be               Name this xsltFilter ClientGBRxsltFilter.
e pane. the first Event in the                  Should be               e pane. The first Event in the
ReferenceFeeds/CreateSimpleReferenceFeed.md:
When the Choose item selection window appears, navigate to Template Pipelines system group (if not already displayed), and select (left click) the Pipeline Reference Data pipeline
May want to cite https://github.com/gchq/stroom-content/blob/master/source/template-pipelines/README.md as a source for Template Pipelines
We now need to create our translation. This XSLT translation will convert simple records XML data into ReferenceData records - see the Stroom reference-data v2.0.1 Schema for details.
May want to cite https://github.com/gchq/stroom-content/blob/master/source/core-xml-schemas/README.md as a source.
ReferenceFeeds/UseSimpleReferenceFeedHowTo.md:
....
lookup(String map, String key, String time, Boolean ignoreWarnings) Look up a reference data map using a specified time, e.g. the event time, and ignore any warnings generated by a failed lookup
May want to add all current options. Extracting from user-guide/pipelines/xslt/xslt-functions.md
lookup(String map, String key) - Look up a reference data map using the period start time
lookup(String map, String key, String time) - Look up a reference data map using a specified time, e.g. the event time
lookup(String map, String key, String time, Boolean ignoreWarnings) - Look up a reference data map using a specified time, e.g. the event time, and ignore any warnings generated by a failed lookup
lookup(String map, String key, String time, Boolean ignoreWarnings, Boolean trace) - Look up a reference data map using a specified time, e.g. the event time, ignore any warnings generated by a failed lookup and get trace information for the path taken to resolve the lookup.
General/EnablingProcessorsHowTo.md:
NOTE: If you need to reprocess bulk streams you need to be aware that there is an upper limit of 1000 streams that can be reprocessed in a single batch. As at Stroom v6 if you exceed this number then you receive no error notification but the task never completes. The reason for this behaviour is to do with database performance and complexity. When you reprocess the current selection of filtered data, it can contain data that has resulted from many pipelines and this requires creation of new processor filters for each of these pipelines. Due to this complexity there exists an arbitrary limit of 1000 streams.
Offer a solution of selecting a limited set of 'Events' based on filtering on event stream timestampt to ensure you are less than 1000 and then perform a 'rinse and repeat' activity of submitting a 'batch' of streams to reprocess to get all streams in the greater than 1000 list.
In a worst case senario, one can also delete a set of streams for a given time period and then reprocess them all. The only risk here is that if there
are other pipelines that trigger on Event creation, you will activate them. That is you may have two index entries in an index, although Stroom dashboa
rds silently caters for this or you may re-flatten data to some exteral downstream capability.
~

@burnalting - Hi Burn have implemented your feedback. Can you cast your eye over it before I request formal acceptance.
Thanks

@burnalting
Hi I have incorporated Burns latest comments.
Think this batch is now ready for formal acceptance - @stroomdev66 @at055612

A couple of initial comments.
There seem to be a lot of duplicated png files in HOWTOS/resources and HOWTOS/resources/v6.  Also the ones in resources are marked executable for some reason.
For the document properties bit at the top of your pages.  This is a good idea but not sure we need the author on there.  Git can tell us the history of each .md file.  The date is useful as is the version of stroom.  How about
* Last Updated: 8 May 2020
* See also: [HOWTO - Creating a Simple Reference Feed](../ReferenceFeeds/CreateSimpleReferenceFeed.md)

Note the [space][space] at the end of lines to force markdown to continue the quote block.  Markdown is a bit of a mess.  The above renders differently in gitbook as it does in grip.

For info, if you want to view the generated html then you can install gitbook and run the following in the root of the repo.
gitbook install
gitbook serve

That will then run up a little web server on 4000 serving the pages and updating them when you save files.
Some of the pages are pretty huge.  It may be worth splitting them into multiple sub docs or having a table of contents at the top.

@at055612 - Thanks for the feedback.
Regarding the *.png files I don't think there are duplications in these directories (or I'm not on the same page as you about the issue). The rationale behind creating the /resources/v6 directory was discussed in PR  https://github.com/gchq/stroom-docs/pull/36
The png's in /resources were created by @burnalting on versions up to and including v5. The ones in /resources/v6 have been created in v6 as part of this pack of work I'm doing. Envision anything created on v7 will live in a directory /resources/v7. This way we can more easily keep a handle on what is getting dated and needs a refresh. Or if documentation ever gets split out to a per version level we are ahead of the game. If this approach has issues fine to have further discussion.
Re document properties -happy to remove authorship. Like your "See also" with links suggestion. Will adopt and recomit.
Thanks for the tip on gitbook - have been taking the fingers-crossed approach on that front which isn't a great strategy. Will be much better being able to see the finished view before comit. Will install and have a play. Not a fan of [space][space] but if it is what works best for the final product presentation I'll adapt.

@at055612
Have made the changes you suggested back in May 2020. Can you please review and accept


Async options?

From what I can tell, this does not seem to by asynchronous.
If that's inaccurate, can someone point me at the "how to implement async" docs?
If that's accurate, would the project be interested in help implementing async?

Thanks! Responded https://github.com/cloud-utils/aurora-data-api/issues/50


Finding user home space is flaky

Describe the bug
A clear and concise description of what the bug is.
Steps to reproduce
Steps to reproduce the behavior:

Log in as any user
Loading personal space fails unreliably

Expected behavior
Solid loading of personal space
Actual behavior
Flakiness, both when navigating and when doing full-page reloads
Logs
Success case
{"level":"info","service":"gateway","pkg":"rgrpc","traceid":"00000000000000000000000000000000","time":"2022-05-09T18:00:18+02:00","message":"listing public shares"}
{"level":"info","service":"sharing","pkg":"rgrpc","traceid":"00000000000000000000000000000000","publicshareprovider":"list","time":"2022-05-09T18:00:18+02:00","message":"list public share"}
{"level":"debug","service":"sharing","pkg":"rgrpc","traceid":"00000000000000000000000000000000","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0","from":"tcp://<IP_ADDRESS>:62003","uri":"/cs3.sharing.link.v1beta1.LinkAPI/ListPublicShares","start":"09/May/2022:18:00:18 +0200","end":"09/May/2022:18:00:18 +0200","time_ns":845542,"code":"OK","time":"2022-05-09T18:00:18+02:00","message":"unary"}
{"level":"debug","service":"gateway","pkg":"rgrpc","traceid":"00000000000000000000000000000000","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0","from":"tcp://<IP_ADDRESS>:61919","uri":"/cs3.gateway.v1beta1.GatewayAPI/ListPublicShares","start":"09/May/2022:18:00:18 +0200","end":"09/May/2022:18:00:18 +0200","time_ns":2089375,"code":"OK","time":"2022-05-09T18:00:18+02:00","message":"unary"}
{"level":"debug","service":"ocdav","name":"com.owncloud.web.ocdav","traceid":"00000000000000000000000000000000","md":{"type":2,"id":{"storage_id":"1284d238-aa92-42ce-bdc4-0b0000009157$058bff95-6708-4fe5-91e4-9ea3d377588b","opaque_id":"058bff95-6708-4fe5-91e4-9ea3d377588b"},"etag":"\"6c6e688fc3d18187aa9cc3c409027ea0\"","mime_type":"httpd/unix-directory","mtime":{"seconds":1652111982,"nanos":543652874},"path":"/1284d238-aa92-42ce-bdc4-0b0000009157$058bff95-6708-4fe5-91e4-9ea3d377588b","permission_set":{"add_grant":true,"create_container":true,"delete":true,"get_path":true,"get_quota":true,"initiate_file_download":true,"initiate_file_upload":true,"list_grants":true,"list_container":true,"list_file_versions":true,"list_recycle":true,"move":true,"remove_grant":true,"purge_recycle":true,"restore_file_version":true,"restore_recycle_item":true,"stat":true,"update_grant":true},"owner":{"idp":"https://localhost:9200","opaque_id":"058bff95-6708-4fe5-91e4-9ea3d377588b","type":1},"arbitrary_metadata":{"metadata":{"http://owncloud.org/ns/favorite":""}}},"ns":"","role":{"Name":"manager"},"dav-permissions":"RDNVCK","time":"2022-05-09T18:00:18+02:00","message":"converted PermissionSet"}
{"level":"info","service":"proxy","proto":"HTTP/1.1","request":"fe47dac0-3a5a-42e4-b33d-1f50e000fc46","remote-addr":"<IP_ADDRESS>:61924","method":"PROPFIND","status":207,"path":"/remote.php/dav/spaces/1284d238-aa92-42ce-bdc4-0b0000009157$058bff95-6708-4fe5-91e4-9ea3d377588b","duration":15.399459,"bytes":1083,"time":"2022-05-09T18:00:18+02:00","message":"access-log"}

Failure case

{"level":"debug","service":"proxy","claims":{"email":"moss@example.org","email_verified":false,"family_name":"Moss","given_name":"Maurice","name":"Maurice Moss","preferred_username":"moss","sub":"PBcG4gQTJZl-U92i@5HvWa9OJl9iiQyTS8ov76TiCiyp0Oray0MJKf-d4yPge5mDBA_x21oXJtHoXbY3U--Qeeg"},"user":{"id":{"idp":"https://localhost:9200","opaque_id":"058bff95-6708-4fe5-91e4-9ea3d377588b","type":1},"username":"moss","mail":"moss@example.org","display_name":"Maurice Moss","groups":["509a9dcd-bb37-4f4f-a01a-19dca27d9cfa"],"opaque":{"map":{"roles":{"decoder":"json","value":"WyI3MTg4MTg4My0xNzY4LTQ2YmQtYTI0ZC1hMzU2YTJhZmRmN2YiXQ=="}}},"uid_number":99,"gid_number":99},"time":"2022-05-09T18:00:20+02:00","message":"associated claims with user"}
{"level":"debug","service":"gateway","pkg":"rgrpc","traceid":"00000000000000000000000000000000","method":"/cs3.gateway.v1beta1.GatewayAPI/CreateHome","time":"2022-05-09T18:00:20+02:00","message":"skipping auth"}
{"level":"debug","service":"gateway","pkg":"rgrpc","traceid":"00000000000000000000000000000000","user-agent":"grpc-go/1.46.0","from":"tcp://<IP_ADDRESS>:61958","uri":"/cs3.storage.registry.v1beta1.RegistryAPI/GetStorageProviders","start":"09/May/2022:18:00:20 +0200","end":"09/May/2022:18:00:20 +0200","time_ns":70209,"code":"OK","time":"2022-05-09T18:00:20+02:00","message":"unary"}
{"level":"debug","service":"storage-users","pkg":"rgrpc","traceid":"00000000000000000000000000000000","user-agent":"grpc-go/1.46.0","from":"tcp://<IP_ADDRESS>:61959","uri":"/cs3.storage.provider.v1beta1.ProviderAPI/CreateStorageSpace","start":"09/May/2022:18:00:20 +0200","end":"09/May/2022:18:00:20 +0200","time_ns":312750,"code":"OK","time":"2022-05-09T18:00:20+02:00","message":"unary"}
{"level":"debug","service":"gateway","pkg":"rgrpc","traceid":"00000000000000000000000000000000","user-agent":"grpc-go/1.46.0","from":"tcp://<IP_ADDRESS>:61917","uri":"/cs3.gateway.v1beta1.GatewayAPI/CreateHome","start":"09/May/2022:18:00:20 +0200","end":"09/May/2022:18:00:20 +0200","time_ns":775625,"code":"OK","time":"2022-05-09T18:00:20+02:00","message":"unary"}
{"level":"debug","service":"proxy","policy":"ocis","method":"PROPFIND","prefix":"/remote.php/","path":"/remote.php/dav/spaces/1284d238-aa92-42ce-bdc4-0b0000009157$058bff95-6708-4fe5-91e4-9ea3d377588b","routeType":"prefix","time":"2022-05-09T18:00:20+02:00","message":"director found"}
{"level":"debug","service":"idm","scope":"ldap","time":"2022-05-09T18:00:20+02:00","message":"http: proxy error: dial tcp <IP_ADDRESS>:38525: connect: connection refused"}
{"level":"info","service":"proxy","proto":"HTTP/1.1","request":"072b9b89-e029-40ee-beb7-7581dd95f25e","remote-addr":"<IP_ADDRESS>:61924","method":"PROPFIND","status":502,"path":"/remote.php/dav/spaces/1284d238-aa92-42ce-bdc4-0b0000009157$058bff95-6708-4fe5-91e4-9ea3d377588b","duration":4.445,"bytes":0,"time":"2022-05-09T18:00:20+02:00","message":"access-log"}

Setup
oCIS on curren master (today 13:00)

Hint: Seems to fail for Golang version <1.18

Do we need to always supress the error, or only if we tried to delete a file that does no longer exist?

Do we need to always supress the error, or only if we tried to delete a file that does no longer exist?

From what I witness and the way I understand it the problem occurs when trying to fetch the personal space or upload files into it (also initially when no files are present, but not limited to that)

Hm, I can trigger
2022-05-10T07:08:17Z ERR failed to list storage spaces error="remove /home/vscode/.ocis/storage/users/spaces/so/me-admin-user-id-0000-000000000000/nodes/so/me/-a/dm/in-user-id-0000-000000000000.flock: no such file or directory" filters=[{"Term":{"Id":{"opaque_id":"some-admin-user-id-0000-000000000000!some-admin-user-id-0000-000000000000"}},"type":2}] pkg=rgrpc service=storage-users status={"code":15,"message":"error listing spaces","trace":"00000000000000000000000000000000"} traceid=00000000000000000000000000000000

by sending 50-100 concurrent PROPFINDS to a spaces endpoint. Which is the locking issue mentioned in https://github.com/owncloud/ocis/issues/3749#issuecomment-1121408177
But in your case I was stumbling over http: proxy error: dial tcp <IP_ADDRESS>:38525: connect: connection refused .
@pascalwengerter do you see .flock: no such file or directory in your log when listing fails?

I posted my logs above and I don't remember seeing any .flock logs there, happy to help with debugging again later today? @dragotin and @lookacat can also reproduce it IIRC

yes I get this error with the latest master and latest build for osx

2022-05-10T10:00:28+02:00 ERR Could not add default role error="{\"id\":\"go.micro.client\",\"code\":503,\"detail\":\"connection error: desc = \\\"transport: Error while dialing dial tcp <IP_ADDRESS>:9191: socket: too many open files\\\"\",\"status\":\"Service Unavailable\"}" service=proxy
2022-05-10T10:00:28+02:00 ERR failed to get roles for user error="{\"id\":\"go.micro.client\",\"code\":503,\"detail\":\"connection error: desc = \\\"transport: Error while dialing dial tcp <IP_ADDRESS>:9191: socket: too many open files\\\"\",\"status\":\"Service Unavailable\"}" service=ocs userid=bda94c72-625e-4a4b-80ca-d9c046534c50
2022-05-10T10:00:29+02:00 ERR Could not load roles error="{\"id\":\"go.micro.client\",\"code\":503,\"detail\":\"connection error: desc = \\\"transport: Error while dialing dial tcp <IP_ADDRESS>:9191: socket: too many open files\\\"\",\"status\":\"Service Unavailable\"}" service=proxy
2022-05-10T10:00:29+02:00 ERR Could not add default role error="{\"id\":\"com.owncloud.api.settings\",\"code\":502,\"detail\":\"circuit breaker is open\",\"status\":\"Bad Gateway\"}" service=proxy
2022-05-10T10:00:29+02:00 ERR Could not load roles error="{\"id\":\"com.owncloud.api.settings\",\"code\":502,\"detail\":\"circuit breaker is open\",\"status\":\"Bad Gateway\"}" service=proxy

Reason is the flock issue. Closing this in favor of https://github.com/owncloud/ocis/issues/3757

@lookacat your logs indicate a problem with
Error while dialing dial tcp <IP_ADDRESS>:9215: socket: too many open files
That is a different root cause. could you open a new issue as https://github.com/owncloud/ocis/issues/222 is outdated.
To check the current number of open file descriptors you can use the command in https://github.com/owncloud/ocis/issues/268#issuecomment-690970585
The solution might be as easy as raising the limit of open file descriptors. The microservice architecture opens quite a lot of tcp connections between different ports.
@mmattel I cannot find something on file descriptors / ulimits


Nginx shouldn't use full.pem for ssl_trusted_certificate

Issue description
https://github.com/NixOS/nixpkgs/blob/be1c03ddaf867e9a58499cd790d5cd72cffc6fca/nixos/modules/services/web-servers/nginx/default.nix#L14-L24
full.pem = fullchain.pem + key.pem, but quoting the documentation:

For verification to work, the certificate of the server certificate issuer, the root certificate, and all intermediate certificates should be configured as trusted using the ssl_trusted_certificate directive.

This corresponds to just fullchain.pem, so the current value is not correct.
Steps to reproduce
N/A
Technical details

system: "x86_64-linux"
host os: Linux 4.14.76, NixOS, 18.09.932.09195057114 (Jellyfish)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.1.1
channels(root): "nixos-18.09.932.09195057114"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

(I don't think this is relevant here)

This sounds like a sane change. Would you be willing to send a PR for this? I'd be happy to review it.

Sure, that's a trivial change. I'll take a look in a moment.

This can be closed now as the PR was merged.


Use tagged release of title module.

What's this PR do?
This pull request updates to use a tagged release of the title module, from January 2017. This should include whatever dev features we were relying on for our last successful build in July, without the breaking changes introduced in either August or September.
How should this be reviewed?
I can't get my local running (because of an issue with NFS exports, Virtualbox, and macOS Mojave that seems like a doozy to fix). This seems reasonable from poking around, so hopefully it builds once we merge. :v:
Any background context you want to provide?
This should unblock pushing #7554 to QA & production.
Relevant tickets
N/A
Checklist

[ ] Documentation added for new features/changed endpoints.
[ ] Tested on staging.
[ ] Pinged a PM if this is a larger PR that would benefit from some additional testing love
[ ] Post a message in #phoenix if this includes something that causes a rebuild!

Super!


test: add unit tests for route action utils/enhancers

🚧 WIP

Current coverage is 83.02% (diff: 66.66%)

Merging #443 into master will increase coverage by 0.72%

@@             master       #443   diff @@
==========================================
  Files           166        166
  Lines          1791       1791
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1474       1487    +13
+ Misses          317        304    -13
  Partials          0          0

Powered by Codecov. Last update e7316c0...22d6793


does not work for calling

when i run it locally it only works for SMS. when i pick voice on radio button it is a error page, problem with "channel"

Closing this, it was resolved by https://github.com/TwilioDevEd/verify-v2-quickstart-python/pull/5


ButtonMenu a11y violation

What package(s) are you using?

[x] Carbon for IBM Products (or Carbon for IBM Cloud & Cognitive)
[ ] Legacy/CDAI
[ ] Legacy/Security

Detailed description

Describe in detail the issue you're having.

a11y violation when using PageHeader with canary ButtonMenu turned on and screen width is narrow so the buttons are collapsed down into a 'dropdown'

Is this issue related to a specific component?

Yes, PagerHeader but I think ButtonMenu has the root cause

What did you expect to happen? What happened instead? What would you like to
see changed?

Follow a11y guideline about "accessible label should contain or match the visible labels) or allow overrides

What browser are you working in?

Chrome

What version of the @carbon/ibm-products (or @carbon/ibm-cloud-cognitive)
package are you using?

1.59.0

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?

IBM Knowledge Catalog / Cloudpak for data
Steps to reproduce the issue
See the v1 storybook with ibm a11y checker:

You can see this from v1 storybook
https://v1-ibm-products.carbondesignsystem.com/?path=/docs/ibm-products-components-page-header-pageheader--with-title#main-types

Can I work on this?

@ArslanYM If you’d like to contribute this, please feel free to open a PR to the main_v1 branch.


Build istio with local proxy fails

(NOTE: This is used to report product bugs:
To report a security vulnerability, please visit https://istio.io/about/security-vulnerabilities
To ask questions about how to use Istio, please visit https://discuss.istio.io)
Bug description
I would like to build istio with local proxy (USE_LOCAL_PROXY=1). Unfortunately since I could not find any documentation, I tried to come up with solution by reading makefiles. It seems there are some bugs with USE_LOCAL_PROXY=1
Steps I took
cd istio.io
git clone https://github.com/istio/istio
git clone https://github.com/istio/proxy

cd proxy
BUILD_WITH_CONTAINER=1 make build_wasm
BUILD_WITH_CONTAINER=1 make build
BUILD_WITH_CONTAINER=1 make build_envoy
BUILD_WITH_CONTAINER=1 make exportcache

cd ../istio
export ISTIO_ENVOY_LOCAL=~/istio.io/proxy/out/linux_amd64/envoy
make build
USE_LOCAL_PROXY=1 make docker.proxyv2

cp ~/istio.io/proxy/out/linux_amd64/envoy ~/istio.io/proxy/out/linux_amd64//envoy
cp: cannot stat '~/istio.io/proxy/out/linux_amd64/envoy': No such file or directory
tools/istio-docker.mk:69: recipe for target '~/istio.io/proxy/out/linux_amd64//envoy' failed
make[1]: *** [~/istio.io/proxy/out/linux_amd64//envoy] Error 1
make: *** [Makefile:46: docker.proxyv2] Error 2

The problem seems be that envoy directory is not accessible from the docker image, it is not mounted by default (not included in CONDITIONAL_HOST_MOUNTS). I can workaround this by moving envoy to a directory that is accessible in the docker image, say /tmp.
export ISTIO_ENVOY_LOCAL=/tmp/proxy/out/linux_amd64/envoy
make build
USE_LOCAL_PROXY=1 make docker.proxyv2

Now I come across another issue:
cp: cannot stat '/tmp/proxy/out/linux_amd64//metadata-exchange-filter.compiled.wasm': No such file or directory
cp: cannot stat '/tmp/proxy/out/linux_amd64//stats-filter.wasm': No such file or directory
cp: cannot stat '/tmp/proxy/out/linux_amd64//stats-filter.compiled.wasm': No such file or directory
cp: cannot stat '/tmp/proxy/out/linux_amd64//metadata-exchange-filter.wasm': No such file or directory

Since these wasm files seem to be build with istio, they are found in:
out/linux_amd64/docker_build/docker.proxyv2
out/linux_amd64/release/

By copying needed wasm files I can get the docker.proxyv2 target to succeed:
cp out/linux_amd64/release/*.wasm /tmp/proxy/out/linux_amd64/
USE_LOCAL_PROXY=1 make docker.proxyv2

Question is: aren't these bugs in the build system or am I building istio with local proxy in a wrong way?
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ X ] Developer Infrastructure
[ ] Upgrade
Expected behavior
USE_LOCAL_PROXY=1 make docker.proxyv2
should work, also would be nice to have instructions on how to build with local proxy
Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
1.7.0-alpha.0-2293-ge8c442ea21
Environment where the bug was observed (cloud vendor, OS, etc)
Ubuntu and Debian
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.

Similar issue of missing wasm files has been reported in #25572


Implement csv file header rows support.

This would close #2618.
I am not completely sure about the has_headers naming, an argument could be made to use use_headers, since you might not want to use the flag even if your csv file has headers (for example when building a table as shown in the example in the documentation).
Is it possible to add an example to a parameter? I think one example with has-headers enabled might be helpful.

Based on the discussion in #2618 I decided to rename has_headers to use_headers and to clarify the documentation string.
I still thing that an example would be useful (there a two in #2618), but without a preview for the documentation and without documentation about the documentation format (at least I couldn't find any), I am not sure how to write it.

I am still open to other suggestions

header-as-keys - It's pretty self-explanatory, but it's a little long

the function would parse the first line of the .csv as a header row

I think the most self-explaining would be first-row-is-header or first-row-has-header.

We could maybe also have dictionaries: false | true accompanied by header: auto | false | true, where auto depends on dictionaries and header: true without dictionaries would just strip the header row and dictionaries: true with header: false would be an error.

Thanks for your work on this. I have brought it over the finish line.

We could maybe also have dictionaries: false | true accompanied by header: auto | false | true, where auto depends on dictionaries and header: true without dictionaries would just strip the header row and dictionaries: true with header: false would be an error.

I get where you're coming from but that would be a bit obscure.
Maybe:  header : "strip" | "first-line"  + dictionaries : bool

It's done now anyway. I've settled for row-type: array | dictionary.

Ah yea, that's nice!


Fix syntax error in conftest.py

Old style exceptions are syntax errors on Python 3 while new style exceptions work as expected on both Python 2 and Python 3.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
50
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1
mvninstall
627
trunk passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
shadedclient
766
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1
mvninstall
555
the patch passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
pylint
2
There were no new pylint issues.

+1
whitespace
1
The patch has no whitespace issues.

+1
shadedclient
624
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
86
hadoop-hdds in the patch passed.

+1
unit
266
hadoop-ozone in the patch passed.

+1
asflicense
31
The patch does not generate ASF License warnings.

3161

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1285

Optional Tests
dupname asflicense unit pylint

uname
Linux d81dc661675a 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 9b8359b

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/1/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/1/artifact/out/patch-pylint-stderr.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/1/testReport/

Max. process+thread count
447 (vs. ulimit of 5500)

modules
C: hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone/fault-injection-test/network-tests

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/1/console

versions
git=2.7.4 maven=3.3.9 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

flake8 finds syntax errors while avoiding the false positives that pylint is so famous for:
https://lukeplant.me.uk/blog/posts/pylint-false-positives

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
40
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1
mvninstall
574
trunk passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
shadedclient
748
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1
mvninstall
582
the patch passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
pylint
2
There were no new pylint issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
663
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
92
hadoop-hdds in the patch passed.

+1
unit
291
hadoop-ozone in the patch passed.

+1
asflicense
49
The patch does not generate ASF License warnings.

3197

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1285

Optional Tests
dupname asflicense unit pylint

uname
Linux 12d6d453fca0 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 6244502

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/2/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/2/artifact/out/patch-pylint-stderr.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/2/testReport/

Max. process+thread count
412 (vs. ulimit of 5500)

modules
C: hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone/fault-injection-test/network-tests

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/2/console

versions
git=2.7.4 maven=3.3.9 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
49
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1
mvninstall
642
trunk passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
shadedclient
786
branch has no errors when building and testing our client artifacts.

-0
patch
840
Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

_ Patch Compile Tests _

+1
mvninstall
593
the patch passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
pylint
1
There were no new pylint issues.

+1
whitespace
1
The patch has no whitespace issues.

+1
shadedclient
657
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
94
hadoop-hdds in the patch passed.

+1
unit
287
hadoop-ozone in the patch passed.

+1
asflicense
36
The patch does not generate ASF License warnings.

3295

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/3/artifact/out/Dockerfile

Optional Tests
dupname asflicense unit pylint

uname
Linux 76355a9f9a16 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / ee7c261

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/3/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/3/artifact/out/patch-pylint-stderr.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/3/testReport/

Max. process+thread count
447 (vs. ulimit of 5500)

modules
C: hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone/fault-injection-test/network-tests

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/3/console

versions
git=2.7.4 maven=3.3.9 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
119
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1
mvninstall
707
trunk passed

-1
pylint
6
Error running pylint. Please check pylint stderr files.

+1
shadedclient
984
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1
mvninstall
659
the patch passed

-1
pylint
7
Error running pylint. Please check pylint stderr files.

+1
pylint
7
There were no new pylint issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
812
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
107
hadoop-hdds in the patch passed.

+1
unit
301
hadoop-ozone in the patch passed.

+1
asflicense
36
The patch does not generate ASF License warnings.

3934

Subsystem
Report/Notes

Docker
Client=18.09.7 Server=18.09.7 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/4/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1285

Optional Tests
dupname asflicense unit pylint

uname
Linux 7643fa5e5345 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 3329257

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/4/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/4/artifact/out/patch-pylint-stderr.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/4/testReport/

Max. process+thread count
306 (vs. ulimit of 5500)

modules
C: hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone/fault-injection-test/network-tests

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1285/4/console

versions
git=2.7.4 maven=3.3.9 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

IT IS EASIER TO HAVE AN AUTOMATON IGNORE THE SYNTAX ERRORS THAN TO FIX THEM.


.gitignore is missing environment files (.env, .env.local)

The .gitignore file is currently missing the various .env files. Adding these could help newcomers (or me) avoid accidentally committing a .env file and subsequently exposing secrets.
https://github.com/solidjs/solid-start/blob/5668213646aab4dd0442b555f16be7619309f366/packages/create-solid/cli/index.js#L17
Per the Vite docs on naming conventions, I was thinking of the following:
.env
.env*.local

The Vite docs makes a comment on what is "ignored by git", which doesnt include .env, but it seems to me like an obvious one to ensure is also ignored.
https://vitejs.dev/guide/env-and-mode.html#env-files
Looking at others, Svelte currently does:
.env
.env.*
!.env.example

But that's assuming someone isn't using another pattern that they want to commit, so the question is whether to be aggressive with ignoring to avoid accidental commits or require someone to add special cases on their own.
Next.js does:
.env*.local

Where I personally like the addition of .env as i've seen a variety of instances where people don't use the .local pattern, especially when the examples come from other services who are showing examples of how to integrate into an app.
Happy to put together this PR if there's an agreed upon list!

went ahead and spun up a PR to move things along in case the rec is fine "as is"


Reshaping BlockArray may reorder axes for certain block shapes

Test script reproducing this issue can be found on the team Slack.

This can be reproduced easily with
arr = app_inst.random_state(1337).random((2, 2), (1, 2))
arr_np = arr.get()
arr = arr.reshape(block_shape=(2, 1))
assert np.allclose(arr_np, arr.get())

Where app_inst is an instance of ArrayApplication.
The issue is due to an optimized reshape routine which accepts operations that are not actually supported. The fix is to either remove this reshape routine, or restrict the set of problems it accepts. In the latter case, tests need to be updated to cover the new set of reshape problems.
The routine and its acceptance test can be found here: https://github.com/nums-project/nums/blob/master/nums/core/array/blockarray.py#L830-L859


When using NPM as package manager rnv run gets stuck in endless loop

Describe the bug
When rnv run tries to install dependencies using NPM it gets stuck in an endless loop as it is unable to resolve peerDependencies
To Reproduce

Make sure yarn is not installed or enabled through corepack
Make sure legacy-peer-deps=true is not defined in a .npmrc file NPM will be reading during installation
Create a new project with default values using blank template
See many errors

Expected behavior
Ideally peerDependencies should have been set up correctly, but given that is a problem far outside the scope of renative itself, I'd consider adding a .npmrc with the content of legacy-peer-deps=true when NPM is used as the package manager as that will allow the npm install command to succeed.
Screenshots or copy&paste
renative-error.txt
Desktop (please complete the following information):

OS: Ubuntu 20.04 on WSL2
Node Version v14.19.0
RNV Version 0.35.2

Same issue here
`Command failed with exit code 1: npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>|| ^18.0.0-0" from<EMAIL_ADDRESS>npm ERR!   node_modules/next
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@rnv/engine-rn-next
npm ERR!       dev<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/react-dom
npm ERR!     peer<EMAIL_ADDRESS>|| ^18.0.0-0" from<EMAIL_ADDRESS>npm ERR!     node_modules/next
npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/@rnv/engine-rn-next
npm ERR!         dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/react-native
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@rnv/engine-rn-windows
npm ERR!       dev<EMAIL_ADDRESS>from the root project
npm ERR!     peer<EMAIL_ADDRESS><0.64.0" from<EMAIL_ADDRESS>npm ERR!     node_modules/@react-native-community/cli
npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/@rnv/engine-rn-windows
npm ERR!         dev<EMAIL_ADDRESS>from the root project
npm ERR!       1 more (react-native)
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\elio1\AppData\Local\npm-cache\eresolve-report.txt for a full report.
npm ERR!      C:\Users\elio1\AppData\Local\npm-cache_logs\2022-02-22T14_04_57_375Z-debug.log
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>|| ^18.0.0-0" from<EMAIL_ADDRESS>npm ERR!   node_modules/next
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@rnv/engine-rn-next
npm ERR!       dev<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/react-dom
npm ERR!     peer<EMAIL_ADDRESS>|| ^18.0.0-0" from<EMAIL_ADDRESS>npm ERR!     node_modules/next
npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/@rnv/engine-rn-next
npm ERR!         dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/react-native
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@rnv/engine-rn-windows
npm ERR!       dev<EMAIL_ADDRESS>from the root project
npm ERR!     peer<EMAIL_ADDRESS><0.64.0" from<EMAIL_ADDRESS>npm ERR!     node_modules/@react-native-community/cli
npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/@rnv/engine-rn-windows
npm ERR!         dev<EMAIL_ADDRESS>from the root project
npm ERR!       1 more (react-native)
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\elio1\AppData\Local\npm-cache\eresolve-report.txt for a full report.
npm ERR!      C:\Users\elio1\AppData\Local\npm-cache_logs\2022-02-22T14_04_57_375Z-debug.log
Error: Command failed with exit code 1: npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>|| ^18.0.0-0" from<EMAIL_ADDRESS>npm ERR!   node_modules/next
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@rnv/engine-rn-next
npm ERR!       dev<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/react-dom
npm ERR!     peer<EMAIL_ADDRESS>|| ^18.0.0-0" from<EMAIL_ADDRESS>npm ERR!     node_modules/next
npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/@rnv/engine-rn-next
npm ERR!         dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/react-native
npm ERR!     peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!     node_modules/@rnv/engine-rn-windows
npm ERR!       dev<EMAIL_ADDRESS>from the root project
npm ERR!     peer<EMAIL_ADDRESS><0.64.0" from<EMAIL_ADDRESS>npm ERR!     node_modules/@react-native-community/cli
npm ERR!       peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!       node_modules/@rnv/engine-rn-windows
npm ERR!         dev<EMAIL_ADDRESS>from the root project
npm ERR!       1 more (react-native)
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\elio1\AppData\Local\npm-cache\eresolve-report.txt for a full report.
npm ERR!      C:\Users\elio1\AppData\Local\npm-cache_logs\2022-02-22T14_04_57_375Z-debug.log
at makeError (C:\Users\elio1\AppData\Roaming\npm\node_modules\rnv\node_modules\execa\lib\error.js:60:11)
at handlePromise (C:\Users\elio1\AppData\Roaming\npm\node_modules\rnv\node_modules\execa\index.js:118:26)
at processTicksAndRejections (node:internal/process/task_queues:96:5)`

@dotted can you please give the latest canary a go? The problem should be fixed there

Unable to test due to a [ error ] Cannot find module '@rnv/engine-rn'
➜  test npm i -g<EMAIL_ADDRESS>npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

added 433 packages, and audited 434 packages in 11s

59 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
➜  test rnv new

┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│        ██████╗ ███████╗███╗   ██╗ █████╗ ████████╗██╗██╗   ██╗███████╗       │
│        ██╔══██╗██╔════╝████╗  ██║██╔══██╗╚══██╔══╝██║██║   ██║██╔════╝       │
│        ██████╔╝█████╗  ██╔██╗ ██║███████║   ██║   ██║██║   ██║█████╗         │
│        ██╔══██╗██╔══╝  ██║╚██╗██║██╔══██║   ██║   ██║╚██╗ ██╔╝██╔══╝         │
│        ██║  ██║███████╗██║ ╚████║██║  ██║   ██║   ██║ ╚████╔╝ ███████╗       │
│        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═══╝╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═══╝  ╚══════╝       │
│                                                                              │
│        Version: 0.36.0-canary.12                                             │
│        https://renative.org                                                  │
│        🚀 Firing up!...                                                      │
│        $ rnv new                                                             │
│        Start Time: 3/23/2022, 9:00:38 AM                                     │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

[ task ] registerEngine:engine-core[1]
[ task ] configureRuntimeDefaults[1] appId:null
[ task ] checkAndMigrateProject[1]
[ task ] loadPluginTemplates[1]
[ task ] _parsePluginTemplateDependencies[1] scope:root
[ task ] parseRenativeConfigs[1]
[ task ] getWorkspaceDirPath[1]
[ task ] checkAndBootstrapIfRequired[1]
[ task ] loadIntegrations[1]
[ task ] loadEngines[1]
[ task ] findSuitableTask[1]
[ info ] Current Engine: engine-core path: undefined
[ task ] registerMissingPlatformEngines[1]
[ task ] initializeTask[1] new
[ task ] => [new]
[ task ] [new] taskRnvNew[1]
? What's your project Name? (no spaces, folder based on ID will be created in this directory) issue806
? What's your project Title? Hello Renative
? What's your App ID? com.mycompany.issue806
? What's your Version? 0.1.0
? What workspace to use? rnv
[ task ] [new] loadPluginTemplates[2]
[ task ] [new] _parsePluginTemplateDependencies[2] scope:root
[ task ] [new] parseRenativeConfigs[2]
[ task ] [new] getWorkspaceDirPath[2]
? What template to use? @rnv/template-blank - Blank renative template with no UI
✔ Executing: npm view @rnv/template-blank versions
✔ Executing: npm dist-tag ls @rnv/template-blank
? What @rnv/template-blank version to use? 0.36.0-canary.12 (HEAD: canary)
✔ Executing: npm add<EMAIL_ADDRESS>? What platforms would you like to use? ios, android, androidtv, firetv, androidwear, web, webtv, tizen, tvos, webos, macos, windows, tizenwatch, tizenmobile, kaios, firefoxos, firefoxtv, chromecast, xbox
? Do you want to set-up git in your new project? Yes
?
┌──────────────────────────────────────────────────────────────────────────────┐
│  🚀  ReNative Project Generator                                              │
│                                                                              │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  Project Name (folder): issue806                                             │
│  Workspace: rnv                                                              │
│  Project Title: Hello Renative                                               │
│  Project Version: 0.1.0                                                      │
│  App ID: com.mycompany.issue806                                              │
│  Project Template<EMAIL_ADDRESS>                    │
│  Git Enabled: true                                                           │
│                                                                              │
│  Project Platforms:                                                          │
│  ios, android, androidtv, firetv, androidwear, web, webtv, tizen,            │
│  tvos, webos, macos, windows, tizenwatch, tizenmobile, kaios,                │
│  firefoxos, firefoxtv, chromecast, xbox                                      │
│                                                                              │
│  Project Structure:                                                          │
│                                                                              │
│  issue806                                                                    │
│   ├── appConfigs            # Application flavour configuration files/assets │
│   │   └── [APP_ID]          # Example application flavour                    │
│   │       ├── assets        # Platform assets injected to ./platformAssets   │
│   │       ├── builds        # Platform files injected to ./platformBuilds    │
│   │       ├── fonts             # Folder for all custom fonts                │
│   │       ├── plugins           # Multi-platform plugins injections          │
│   │       └── renative.json # Application flavour config                     │
│   ├── platformAssets        # Generated cross-platform assets                │
│   ├── platformBuilds        # Generated platform app projects                │
│   ├── src                   # Source code files                              │
│   ├── index.*.js            # Entry files                                    │
│   └── renative.json         # ReNative project configuration                 │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

Is all this correct? Yes
[ task ] [new] _generateProject:@rnv/template-blank:0.36.0-canary.12[1]
[ task ] [new] checkAndCreateGitignore[1]
[ info ] [new] Your .gitignore is missing. CREATING...DONE
[ task ] [new] configureGit:.[1]
[ info ] [new] Your project does not have a git repo. Creating one...DONE
✔ Executing: git init
✔ Executing: git add -A
✔ Executing: git commit -m "Initial"
[ success ] [new] Your project is ready! navigate to project cd issue806 and run rnv run to see magic happen!
[ task ] <= new

 $ rnv new - Done! 🚀
┌──────────────────────────────────────────────────────────────────────────────┐
│  🚀  SUMMARY | 3/23/2022, 9:01:00 AM                                         │
│  $ rnv new                                                                   │
├──────────────────────────────────────────────────────────────────────────────┤
│  ReNative Version: 0.36.0-canary.12                                          │
│  Engine: engine-core                                                         │
│  Build Scheme (-s): debug                                                    │
│  Env Info: linux | x64 | node v14.19.0                                       │
│  Executed Time: 0h:0m:22s:554ms                                              │
│                                                                              │
│ [ success ] [new] Your project is ready! navigate to project cd issue806 and run rnv run to see magic happen!
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
➜  test cd issue806
➜  issue806 git:(master) rnv run

┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│        ██████╗ ███████╗███╗   ██╗ █████╗ ████████╗██╗██╗   ██╗███████╗       │
│        ██╔══██╗██╔════╝████╗  ██║██╔══██╗╚══██╔══╝██║██║   ██║██╔════╝       │
│        ██████╔╝█████╗  ██╔██╗ ██║███████║   ██║   ██║██║   ██║█████╗         │
│        ██╔══██╗██╔══╝  ██║╚██╗██║██╔══██║   ██║   ██║╚██╗ ██╔╝██╔══╝         │
│        ██║  ██║███████╗██║ ╚████║██║  ██║   ██║   ██║ ╚████╔╝ ███████╗       │
│        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═══╝╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═══╝  ╚══════╝       │
│                                                                              │
│        Version: 0.36.0-canary.12                                             │
│        https://renative.org                                                  │
│        🚀 Firing up!...                                                      │
│        $ rnv run                                                             │
│        Start Time: 3/23/2022, 9:01:08 AM                                     │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

[ task ] registerEngine:engine-core[1]
[ task ] configureRuntimeDefaults[1] appId:null
[ task ] checkAndMigrateProject[1]
[ task ] loadPluginTemplates[1]
[ task ] _parsePluginTemplateDependencies[1] scope:root
[ task ] parseRenativeConfigs[1]
[ warn ] You are trying to extend config file with ./node_modules/<EMAIL_ADDRESS>does not exists. SKIPPING.
[ task ] getWorkspaceDirPath[1]
[ task ] _generatePlatformTemplatePaths[1]
[ warn ] You're missing paths object in your ./renative.json
[ task ] checkAndBootstrapIfRequired[1]
[ task ] loadIntegrations[1]
[ task ] loadEngines[1]
[ warn ] Platform ios requires engine @rnv/engine-rn which is not available in engines list
[ warn ] Platform android requires engine @rnv/engine-rn which is not available in engines list
[ warn ] Platform androidtv requires engine @rnv/engine-rn which is not available in engines list
[ warn ] Platform firetv requires engine @rnv/engine-rn which is not available in engines list
[ warn ] Platform androidwear requires engine @rnv/engine-rn which is not available in engines list
[ warn ] Platform web requires engine @rnv/engine-rn-next which is not available in engines list
[ warn ] Platform webtv requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform tizen requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform tvos requires engine @rnv/engine-rn-tvos which is not available in engines list
[ warn ] Platform webos requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform macos requires engine @rnv/engine-rn which is not available in engines list
[ warn ] Platform windows requires engine @rnv/engine-rn-electron which is not available in engines list
[ warn ] Platform tizenwatch requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform tizenmobile requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform kaios requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform firefoxos requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform firefoxtv requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform chromecast requires engine @rnv/engine-rn-web which is not available in engines list
[ warn ] Platform xbox requires engine @rnv/engine-rn-windows which is not available in engines list
[ task ] loadEnginePluginDeps[1]
[ task ] loadEnginePackageDeps[1]
[ task ] findSuitableTask[1]
[ task ] registerAllPlatformEngines[1]
┌──────────────────────────────────────────────────────────────────────────────┐
│  🚀  SUMMARY | 3/23/2022, 9:01:08 AM                                         │
│  $ rnv run                                                                   │
├──────────────────────────────────────────────────────────────────────────────┤
│  ReNative Version: 0.36.0-canary.12                                          │
│  Project Name ($package.name): undefined                                     │
│  Project Version ($package.version): undefined                               │
│  Workspace ($.workspaceID): rnv                                              │
│  Build Scheme (-s): debug                                                    │
│  Env Info: linux | x64 | node v14.19.0                                       │
│  Executed Time: 0h:0m:0s:86ms                                                │
│                                                                              │
│ [ warn ] You are trying to extend config file with ./node_modules/<EMAIL_ADDRESS>does not exists. SKIPPING.
│ [ warn ] You're missing paths object in your ./renative.json
│ [ warn ] Platform ios requires engine @rnv/engine-rn which is not available in engines list
│ [ warn ] Platform android requires engine @rnv/engine-rn which is not available in engines list
│ [ warn ] Platform androidtv requires engine @rnv/engine-rn which is not available in engines list
│ [ warn ] Platform firetv requires engine @rnv/engine-rn which is not available in engines list
│ [ warn ] Platform androidwear requires engine @rnv/engine-rn which is not available in engines list
│ [ warn ] Platform web requires engine @rnv/engine-rn-next which is not available in engines list
│ [ warn ] Platform webtv requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform tizen requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform tvos requires engine @rnv/engine-rn-tvos which is not available in engines list
│ [ warn ] Platform webos requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform macos requires engine @rnv/engine-rn which is not available in engines list
│ [ warn ] Platform windows requires engine @rnv/engine-rn-electron which is not available in engines list
│ [ warn ] Platform tizenwatch requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform tizenmobile requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform kaios requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform firefoxos requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform firefoxtv requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform chromecast requires engine @rnv/engine-rn-web which is not available in engines list
│ [ warn ] Platform xbox requires engine @rnv/engine-rn-windows which is not available in engines list
│ [ error ] Cannot find module '@rnv/engine-rn'
Require stack:
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/core/engineManager/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/core/runtimeManager/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/cli/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/bin/index.js
Error: Cannot find module '@rnv/engine-rn'
Require stack:
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/core/engineManager/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/core/runtimeManager/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/cli/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/dist/index.js
- /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/bin/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.resolve (internal/modules/cjs/helpers.js:107:19)
    at _resolvePkgPath (/home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/src/core/engineManager/index.js:421:23)
    at _registerPlatformEngine (/home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/src/core/engineManager/index.js:435:17)
    at /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/src/core/engineManager/index.js:136:13
    at Array.forEach (<anonymous>)
    at /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/src/core/engineManager/index.js:134:47
    at step (/home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/node_modules/tslib/tslib.js:143:27)
    at Object.next (/home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/node_modules/tslib/tslib.js:124:57)
    at /home/bo/.nvm/versions/node/v14.19.0/lib/node_modules/rnv/node_modules/tslib/tslib.js:117:75
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
➜  issue806 git:(master)


Smack21 and Highfive21

We can have a !command like smack21 and it will start smack for 21 times and we can do same with highfive21 and you can add that smack voice (stream)
After writing the command there will be a series of 21 smacks or 21 highfives this could be so fun

Haha I'm not sure about having it run the animation that many times but I'll keep it in mind. I think for now I'd prefer to keep it running once per command entry in chat. Thanks for sharing this funny idea though!

Haha I'm not sure about having it run the animation that many times but I'll keep it in mind. I think for now I'd prefer to keep it running once per command entry in chat. Thanks for sharing this funny idea though!

Haha, no worries understandable as it will be a really long one 😅😂


Telegram /stop is not working

Telegram's command /stop is not working. We define the logic here:
https://github.com/rodrigo-brito/ninjabot/blob/1a3585bedbaf66ba35e9377635877aa688e5a1e0/order/controller.go#L293-L300
The idea is:

The bot will only execute orders when it is in running status. But it is not working.

@rodrigo-brito rough guess, but could it be that the c.finish case is not prioritised over ticker.C?
func (c *Controller) Start() {
	if c.status != StatusRunning {
		c.status = StatusRunning
		go func() {
			ticker := time.NewTicker(c.tickerInterval)
			for {
				select {
				case <-ticker.C:
					c.updateOrders()
				case <-c.finish:
					ticker.Stop()
					return
				}
			}
		}()
		log.Info("Bot started.")
	}
}

Hi @ngqinzhe, thanks for the suggestion.
I don't know. It is inside an infinite loop, if we have the signal of c.finish together with ticker.C, it will run ticker.C, but in the next iteration it will execute c.finish.
It can be replaced by this feature: https://github.com/rodrigo-brito/ninjabot/issues/131
This ticker is a workaround to update pending orders.


[REEF-211]  Make all csproj files default to x64

This PR includes
Make all csproj files default to x64, remove AnyCPU
Update NuGet number to next 9
Remove a log in libLoaderto avoid null reference exception in case files is null.
JIRA: REEF-211. (https://issues.apache.org/jira/browse/REEF-211)
Author: Julia Wang  Email<EMAIL_ADDRESS>This Closes #

I'm looking at it now.

When building from the command line, I still get the following warnings:
EXEC : warning : 3 issue(s) found with package 'Org.Apache.REEF.All'. [c:\src\reef\lang\cs\Org.Apache.REEF.All\Org.Apache.REEF.All.csproj]

  Issue: Assembly outside lib folder.
  Description: The assembly 'obj\Debug\Org.Apache.REEF.All.dll' is not inside the 'lib' folder and hence it won't be added as reference when the package is installed into a project.
  Solution: Move it into the 'lib' folder if it should be referenced.

  Issue: Assembly outside lib folder.
  Description: The assembly 'obj\x64\Debug\Org.Apache.REEF.All.dll' is not inside the 'lib' folder and hence it won't be added as reference when the package is installed into a project.
  Solution: Move it into the 'lib' folder if it should be referenced.

  Issue: Assembly outside lib folder.
  Description: The assembly 'obj\x64\Release\Org.Apache.REEF.All.dll' is not inside the 'lib' folder and hence it won't be added as reference when the package is installed into a project.
  Solution: Move it into the 'lib' folder if it should be referenced.

@jwang98052 Is that warning expected?

All the architectures have been synced in build.prop that is shared. Haven't found the root cause that caused the warning. It doesn't impact the client though.

Shall we file another issue for it then? That way we can at least merge this.

I filed REEF-229 to track this and will merge this PR.


Full support for all additional action header values on dir and list APIs

After using my own rewrite of list API call and discovering the difference in behavior with dir, it's clear that full support for all of the action headers for dir (e.g. prefix, start, max_entries, etc.) and list are needed for customers like myself with huge numbers of objects in NetStorage buckets and directories.
list already accepts an object with the max_entries action header from my previous pull request. But we should probably add support to dir and make the allowable action headers more feature-complete with the NS API. We'll have to be careful not to break functionality against NS3 though since some of the supported entries differ between NS3/4.

I'll add that I'm happy to fork and work on this since I've already modified some of the code in a local repo for my own testing.

Dear, @bobbyjball3
Thanks for your idea and test. Please comment it after testing !
I really appreciate your contribution.

@AstinCHOI Great. I'll mock something up and test tomorrow.

@AstinCHOI For the dir and list netstorage methods, I'm considering something like the following. By doing this, though it's more complicated, we maintain compatibility for just passing the path instead of verbose options. Since most people won't need verbose options, this keeps the usability high, while allowing for more advanced users to use the more advanced options.
dir(opts, callback) {
  if (typeof opts === 'object') {
    // set options from object
  } else if (typeof opts === 'string') {
    // set url from string
  } else {
    // throw an error here because we couldn't sort it out
  }

  //actually make request
}

@bobbyjball3 It looks good !

@AstinCHOI I've got this functionality added in my most recent branch. All tests pass, and I'll be submitting a PR soon.
Would you mind assigning this issue to me and adding the enhancement tag?

I believe that PR 3 should close out this issue out once reviewed.

I really appreciate your contribution !


Update one or more arbitrary files with copyright years

Is your feature request related to a problem? Please describe.
A repository might have a LICENSE or a license.md. It might have both a LICENSE-APACHE and a LICENSE-MIT. The README might mention the copyright. Also, code headers often have copyright years in them. How can I update all of them?
Describe the solution you'd like
It would be useful to have the action update the copyright year in a number of different files, as mentioned above.
Describe alternatives you've considered
I suppose there are a number of possible solutions for determining which files to update:

Search for something like “copyright” (case-insensitive) in all files
Support explicit file listing when configuring the action
Support file globs for choosing multiple files (e.g. all the JavaScript files such as src/**/*.js)

And there are multiple possibilities for determining the text to change:

”Copyright” followed by something
A user-configured text pattern to match

I haven't given any thought to what the best solution is.
Additional context
N/A

I'll fix the obvious bugs before starting on this one.

Aiming at some use-cases would lead us to the necessary configuration. I'll start with defining the ones I can come up with, and if you envision any other please feel free to add them.
Specify configuration for the following use-cases:

[ ] License file is not called LICENSE, but LICENSE.md, license.md or something else
[ ] License is not among the supported, let the user define their own transform
[ ] A mono-repo contains multiple projects, all with their own license. How do we upgrade them all, or upgrade them individually?
[ ] Copyright is defined in source files, how do we update those?

@FantasticFiasco let me give you my idea and suggestions regarding this matter.
I think it will be great if we can add repo paths for the LICENSE files in the configuration and those paths will be scanned by your action workflow.

@tenshiAMD Would your suggestion match "A mono-repo contains multiple projects, all with their own license. How do we update them all, or update them individually?" above, or is your suggestion something else?

@FantasticFiasco I think my suggestion is different and is more like for single repository configuration like I've mentioned in issue https://github.com/FantasticFiasco/action-update-license-year/issues/57. Your idea is more like an organization-wide or global configuration sort of.

@spl and @tenshiAMD, can you take a look at the following configuration proposals for the different use-cases and tell me what you think. I haven't started to look at any implementation yet, the proposal might change slightly during that phase.

[ ] A repository contains a license file that isn't called LICENSE, but LICENSE.md, license.md or something else

- uses: FantasticFiasco/action-update-license-year@v1
  with:
    - path: LICENSE.md

[ ] A repository contains multiple license files

- uses: FantasticFiasco/action-update-license-year@v1
  with:
    - path: |
        LICENSE-APACHE
        LICENSE-MIT

[ ] A repository contains a license that isn't among the officially supported, let the user define their own transform

TODO

[ ] A mono-repository contains multiple projects, all with their own license

- uses: FantasticFiasco/action-update-license-year@v1
  with:
    - path: packages/*/LICENSE

[ ] Copyright is defined in source files

- uses: FantasticFiasco/action-update-license-year@v1
  with:
    - path: src/**/*.js

@FantasticFiasco I agree to you, great implementation you got there~! 🎉

@spl and @tenshiAMD , I've updated the proposal for custom transforms.

@spl and @tenshiAMD, would it pose a problem for you if the workflow started with actions/checkout@v2 and continued with this action? The implementation would be more fail proof if we where working on files on disk instead of communicating with GitHub over the network.
But this of course forces to create a new major version since this will be a breaking change.

@FantasticFiasco it does make sense but I think it will have some pros and cons:
Pros:

All needed license files will be there

Cons:

This workflow will be slower since it needs to checkout all codes

So I think, it should be optional or you can trigger it when the path has wildcards *

@tenshiAMD I would like to add to the list of pros and cons:
Pros:

All changed licenses are part of the same commit, which wouldn't be the case if I continue to use Octokit which is the client to GitHub. It doesn't support updating multiple files in the same commit, i.e. the number of commits using Octokit will be the same as the number of changed files, which can be very large when it comes to patterns like **/*.js)

Regarding making it slower, that is absolutely true. Basically you will pay a tax in relation to your repo size. But you will do it once per year, is that still unacceptable?

@FantasticFiasco sorry for the late reply, got busy lately ... hmm if that's the scenario, I think it's better to go with the checkout action then ...

@spl, the changes you proposed are now implemented in v2. You've also been attributed in CHANGELOG.md. Thank you @spl  and @tenshiAMD for your contribution to this project. And I wish you a happy new year 🎆 🍾


Should be affected, not effected

https://github.com/NimaKhajehpour/MyMood/blob/ce62b10e9a6fcf82c041196497c16be7bcffc6cf/app/src/main/java/com/nima/mymood/screens/TodayMoodScreen.kt#LL470C50-L470C58

Thanks for letting me know! changes will apply in next update.

No problem! It also needs corrected in the promo art on Fdroid


[DOCS] : Link License and Contributing.md to ReadMe

Description
Is your feature request related to a problem? Please describe.

Improving the docs by adding the LICENSE and contributing.md links to the ReadMe file.

Describe the solution you'd like

I would like to add the links of LICENSE and Contributing.md at the bottom of the readme file so as to make the readme more structured.

also i would like to work on this if you think this is a valid issue. @ulises-jeremias

Sure!


Unification of IgnoredMethods

As mentioned by @bbatsov at https://github.com/rubocop-hq/rubocop/pull/9058#issuecomment-729918462

The two cops that were configured using ExcludedMethods instead of IgnoredMethods (Metrics/BlockLength and Metrics/MethodLength) have been changed to use IgnoredMethods going forward. I changed the IgnoredMethods mixin so that it can be configured to allow for those two cops to continue accepting ExcludedMethods without adding that config key to the reset of the cops.
All cops that use the IgnoredMethods mixin now can accept an array of both strings and regexes, and both are applied.

Questions:

Is there a good way to document this so that users will know they can use regexes for IgnoredMethods everywhere now?
Is there a way to add a deprecation warning when running rubocop with ExcludedMethods in the configuration so that users can update their config?

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Is there a good way to document this so that users will know they can use regexes for IgnoredMethods everywhere now?

Can't think of anything other than something in the "Configuration" part of the docs.

Is there a way to add a deprecation warning when running rubocop with ExcludedMethods in the configuration so that users can update their config?

Yes - look for ConfigObsoletion.

Yes - look for ConfigObsoletion.

Looks like OBSOLETE_PARAMETERS from ConfigObsoletion gives an error instead of allowing it, which makes my configuration not very useful since rubocop won't run anyways. What do you suggest @bbatsov?
$ rubocop
Error: obsolete parameter ExcludedMethods (for Metrics/BlockLength) found in .rubocop.yml
`ExcludedMethods` has been renamed to `IgnoredMethods`.
obsolete parameter ExcludedMethods (for Metrics/MethodLength) found in .rubocop.yml
`ExcludedMethods` has been renamed to `IgnoredMethods`.

spec/rubocop/config_loader_spec.rb:740 is failing in CI but not via bundle exec rake default. Anyone have any ideas?

I'm assuming some dep got updated on the CI.

which makes my configuration to still be able to use ExcludedMethods not very useful since rubocop won't run anyways. What do you suggest @bbatsov?

Damn, I had forgotten that in the past we already raised error. I guess we should make the code there a bit more flexible and make it show errors or warnings.

Damn, I had forgotten that in the past we already raised error. I guess we should make the code there a bit more flexible and make it show errors or warnings.

I'll take a look at it!

@bbatsov I think everything has been taken care of now. I've added to the documentation and the deprecation message is now set up.

One other thing -- I needed to keep ExcludedMethods in config/default.yml or rubocop will complain about unsupported parameters. However, this will add it to the doc for the cop. I added a note for both cops to explain why there's both, hopefully that will be sufficient.

Fantastic work! 🙇♂


When merger skips files, the seen-blocks cache mechanism makes it put all one-blocks-files in the next merged

scenario:

one-blocks-files exist from 100 to 500, but missing specific file 125 (block hole)
Someone restarts a mindreader from snapshot, creating merged files 100, 200, 300, 400, 500, then going back to creating 501, 502, etc. as one-block files. (this is now default behavior for mindreader on develop, when the blocks are old enough or clearly behind LIB, to prevent creating gazillions of one-block files when we know there won't be any fork...)
The merger (current behavior) sees the merged files produced (100, 200, 300...) so it skips these bundles, and starts merging from 500, 501, etc., deleting the one-block-files behind.

Issues:

The merger does NOT put these one-block-files in the seen-blocks cache.
Deletion batches have a maximum size. a request to delete too many one-block-files will ignore them passed a certain point and reevaluate next time. (deletion could also fail if the merger is restarted at that point)
When those remaining one-block-files are evaluated, since they are not older than max-fixable-fork (~ usually +5000 blocks), and they are not in seen-blocks-cache, they are considered VALID (remember that they were not merged by the merger itself, but by the mindreader in automatic catch up mode ..). So they will all be put in the next merged blocks (it may end up with a few thousand blocks !!)
The one-block-files that correspond to forked blocks will be skipped and deleted if the merger just takes the merged files from mindreader catching up. This results in possibly customers having been fed blocks, but those blocks are unavailable later (invalid cursors, etc.), and breaks the guarantee to always be able to resolve forks later on.

Solution to be implemented:

The merger should keep the last written block bundle on local disk (in its 'progress' file) and, if it exists, restart from there.
It should only "try to find starting block" once...

change doc around --merger-progress-filename, it will now be used in live mode too!
maybe tweak flags around batch mode to be more consistent with other apps

The merger will try to create bundle 100->199 from one-block-files. If it cannot, AND it sees the merged-blocks.100 created by someone else, it will download it, list the existing blocks and populate its seen-cache.

The merger will then look at 200-299 range, try to create it itself. if it cannot, look for existing merged-block, again, reading it to insert its own blocks and overwrite...

NOTE: we cannot modify already published merged-blocks-files... so....

either we have mindreader publish merged-blocks-file inside the temporary location (currently called one-block-files) and the merger can use it (careful on resource usages, then :( )
or we keep pushing the blocks that were not in the "seen" cache further and further away


Raspberry Pi

I am getting an issue using Phidgets and Ruby on my Pi..
getting this error:
/var/lib/gems/1.9.1/gems/ffi-1.9.6/lib/ffi/library.rb:133:in `block in ffi_lib': Could not open library '/Library/Frameworks/Phidget21.framework/Versions/Current/Phidget21': /Library/Frameworks/Phidget21.framework/Versions/Current/Phidget21: cannot open shared object file: No such file or directory. (LoadError)
Could not open library '/usr/lib/libphidget21.so': /usr/lib/libphidget21.so: cannot open shared object file: No such file or directory.
Could not open library '/usr/lib64/libphidget21.so': /usr/lib64/libphidget21.so: cannot open shared object file: No such file or directory.
Could not open library '/usr/lib32/libphidget21.so': /usr/lib32/libphidget21.so: cannot open shared object file: No such file or directory.
Could not open library 'Phidget21': Phidget21: cannot open shared object file: No such file or directory.
Could not open library 'libPhidget21.so': libPhidget21.so: cannot open shared object file: No such file or directory.
Could not open library 'libphidget21.so': libphidget21.so: cannot open shared object file: No such file or directory
	from /var/lib/gems/1.9.1/gems/ffi-1.9.6/lib/ffi/library.rb:100:in `map'
	from /var/lib/gems/1.9.1/gems/ffi-1.9.6/lib/ffi/library.rb:100:in `ffi_lib'
	from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi/phidgets-ffi.rb:6:in `<module:FFI>'
	from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi/phidgets-ffi.rb:2:in `<module:Phidgets>'
	from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi/phidgets-ffi.rb:1:in `<top (required)>'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi.rb:2:in `<top (required)>'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
	from HelloWorld.rb:7:in `<main>'

You need to download and install the linux library source from phidgets.com http://phidgets.com/
--
Patrick McNeil
Chief Software Architect | Phidgets Inc.
<EMAIL_ADDRESS>| www.phidgets.com
Simplicity is the ultimate sophistication.
-Leonardo da Vinci

On Mar 7, 2015, at 4:16 PM, Daniel Blair<EMAIL_ADDRESS>wrote:
I am getting an issue using Phidgets and Ruby on my Pi..
getting this error:
/var/lib/gems/1.9.1/gems/ffi-1.9.6/lib/ffi/library.rb:133:in block in ffi_lib': Could not open library '/Library/Frameworks/Phidget21.framework/Versions/Current/Phidget21': /Library/Frameworks/Phidget21.framework/Versions/Current/Phidget21: cannot open shared object file: No such file or directory. (LoadError) Could not open library '/usr/lib/libphidget21.so': /usr/lib/libphidget21.so: cannot open shared object file: No such file or directory. Could not open library '/usr/lib64/libphidget21.so': /usr/lib64/libphidget21.so: cannot open shared object file: No such file or directory. Could not open library '/usr/lib32/libphidget21.so': /usr/lib32/libphidget21.so: cannot open shared object file: No such file or directory. Could not open library 'Phidget21': Phidget21: cannot open shared object file: No such file or directory. Could not open library 'libPhidget21.so': libPhidget21.so: cannot open shared object file: No such file or directory. Could not open library 'libphidget21.so': libphidget21.so: cannot open shared object file: No such file or directory     from /var/lib/gems/1.9.1/gems/ffi-1.9.6/lib/ffi/library.rb:100:in map'
from /var/lib/gems/1.9.1/gems/ffi-1.9.6/lib/ffi/library.rb:100:in ffi_lib'     from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi/phidgets-ffi.rb:6:in module:FFI'
from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi/phidgets-ffi.rb:2:in <module:Phidgets>'     from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi/phidgets-ffi.rb:1:in <top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in require'     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in require'
from /var/lib/gems/1.9.1/gems/phidgets-ffi-0.1.3/lib/phidgets-ffi.rb:2:in <top (required)>'     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in rescue in require'     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in require'
from HelloWorld.rb:7:in `'
—
Reply to this email directly or view it on GitHub https://github.com/kreynolds/phidgets-ffi/issues/8.

I had downloaded that. I had to log out of my user and reinstall it while logged in as the root user. Seems to be working fine now.

Hello!
New message, please read http://sweetchicory.com/form.php?ase
Patrick McNeil

Hi, Do you know what I've just found on the internet? You're gonna be so surprised, just check it out here http://rozevefry.zenmyyoga.net/sleeve.php?t
Regards, Patrick McNeil


README.md: fix link to Go implementation

Sorry, one more!
Nice work though :) Happy to see the implementations grow!

Thank you!


[BEAM-2473] DataflowRunner: Reject SetState and MapState

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify.
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @jkff

Actually one more thing: perhaps reference the respective JIRAs in comments next to the exception in source code? (not necessarily in the error message itself)

Coverage increased (+0.02%) to 70.858% when pulling c49b4111805b34e797dc29d490d87e588bcdabb0 on kennknowles:DataflowRunner-reject-fancy-state into b3099bba2d1b26a3bdd9df0f92d5d2f85f065e21 on apache:master.

Added comments with the JIRAs, too.

Coverage increased (+0.005%) to 70.848% when pulling c05764454e73ab93d0602f34b8b7622d46e1d892 on kennknowles:DataflowRunner-reject-fancy-state into 9ed0af8f2c5dabf3af5d664c473a49166b96d7d2 on apache:master.

Coverage increased (+0.02%) to 70.862% when pulling c05764454e73ab93d0602f34b8b7622d46e1d892 on kennknowles:DataflowRunner-reject-fancy-state into 9ed0af8f2c5dabf3af5d664c473a49166b96d7d2 on apache:master.


[wlr/taskbar] Dragging a taskbar item off screen triggers assertion

Dragging a taskbar item and immediately moving the cursor off screen triggers the following assertion:
(waybar:7039): Gdk-CRITICAL **: 11:46:26.784: gdk_wayland_window_get_wl_surface: assertion 'GDK_IS_WAYLAND_WINDOW (window)' failed
Gdk-Message: 11:46:26.784: Error 22 (Invalid argument) dispatching to Wayland display.

I ran into this when trying to reorder taskbar items with a touch pad. Note that this only happens if you do it quickly, if you select an item and then wait a bit before moving the cursor then it does not happen.
Version information:
[roysten@archlinux ~]$ waybar --version
Waybar v0.9.16

This has been driving me nuts, my entire compositor crashes if i missclick the taskbar


chore: add code style and rust fmt

Add code style from https://github.com/rust-nostr/nostr/blob/master/CODE_STYLE.md
There are certainty violations of this that will need to be found and fixed.

I added some small other details that were missing to the CODE_STYLE.md. If you're ok with those additions, update it before merge this PR :)
https://github.com/rust-nostr/nostr/commit/087f23dce9bceac8449981aeb44bfdebc00261ce


Shortcut Button to open the repo

It will be great to add a button to open repo.

also another button for help

Thanks for providing these suggestions. What do you mean by "open repo" button?
We're happy to explore adding new functionality but don't necessarily want to clutter it with a bunch of links that may only be useful to some people some of the time.

Just added two new buttons. Give it try (watch out for popup blocker).


Adding Rish to website

The info is here: https://drive.google.com/drive/folders/1zuqdyn1xH1f4Lw2aGO-JP847FVV6AHBu?usp=sharing

Thank you!!!

Bumping this up @errai34

@jcranney @jayden626 <3

sorry, I missed this! done now :)


修复可能引起字符访问越界的错误

Thanks for the pull request.
For reason I explained in the inline comments, this PR may not be a fix to a real flaw.


Enable landing zone controls for superuser if zone is locked

Issue: #1607
TODO:

[x] Add superuser variable in Jquery
[x] Implement feature
[x] Test

This works as specified, but one thing I didn't think of were the information security issues with passing info such as is_superuser to the client from the template.
These variables can be changed in run-time in the inspector, so technically any user could "gain" superuser access. In this particular case it's not super critical, but technically it's not something we should do.
I'd like you to try and refactor this in the following way:

In landingzones.js, once the document is ready, do an ajax call to CurrentUserRetrieveAjaxView

See SODAR Core for that view

Store the superuser status from the view's response

This way the info can't be forged.

I found out, that another issue could be implemented here as well
#1657


java: synchronization on local variable

hi
in java example in org.drinkless.tdlib.example.Example there are many synchronization on local variable in UpdatesHandler class like :
case TdApi.UpdateChatTitle.CONSTRUCTOR: {
    TdApi.UpdateChatTitle updateChat = (TdApi.UpdateChatTitle) object;
    TdApi.Chat chat = chats.get(updateChat.chatId);
    synchronized (chat) {
            chat.title = updateChat.title;
    }
    break;
}

I think they don't work really because for example if another UpdateChatTitle receive from server new object create and new object synchronize.
is this ok?

Yes, this is ok and this is exactly what is needed there. The block is synchronized not on the local variable, but on the chat object, stored in the ConcurrentMap chats to ensure that only one thread can access the object at the same time.

ok tnx


Creating type for API Service

Hi I want to make a GraphQL Query type for an API Service (like Uber API or Reddit API etc).  How would I resolve the Type to an api response.

This is not supported yet.
You can only create TypeComposers from mongoose atm.
There is a todo list to create a adapter that writes TypeComposers from a API setup.

Autogenerators not available yet. But you may do it manually.
For result that returns API endpoint, you create type:
const SomeResultTypeTC = TypeComposer.create(`type SomeResultType {
  name: String
  views: Int
  someJsonMess: Json
}`);
const SomeSubTypeTC = TypeComposer.create(`type AddressType {
  street: String
  city: String
}`);
SomeResultTypeTC.addFields({
  location: SomeSubTypeTC,
});

After that add resolver to this type:
SomeResultTypeTC.addResolver({
  name: 'fetchFromApi666',
  args: { id: 'Int' },
  outputType: SomeResultTypeTC,
  resolve: ({ source, args }) => {
    return fetch(`/endpoint/${args.id}`).then(res => res.json())
        .then(json => {
          // here you may clean up JSON response from API,
          // it should has same schema like described SomeResultType above
          // eg. { name: 'Shop', views: 20, location: { street: 'Line 1', city: 'NY' }, someJsonMess: { ... } }
          // if some fields are undefined or missing, graphql return `null` on that fields
          return json;
        })
  },
});

That's all. Now you may create relation oк just add to rootQuery:
GQC.rootQuery().addFields({
  someDataFromApi: SomeResultTypeTC.get('$fetchFromApi666'),
});

// or
UserTC.addRelation('placeFromApi', () => ({
  resolver: SomeResultTypeTC.get('$fetchFromApi666'),
  args: {
    id: (source) => source.fieldNameWithIdInUserModel,
  }
}));

It's quite simple and powerful.
PS. Code not tested, may be typos.

Or you may directly add a field which fetch data from remote API:
UserTC.addField('tweets', {
    type: `type TweetList { msg: String, createdAt: Date }`,
    resolve: (source, args, context, info) => fetch(`[endpoint]/${source.twitterNickname}`).then(res => res.json())
  }
}));


How to add background color transition?

I am trying to enable the background color transition, and this is my code:
public class AppIntro extends AppIntro2 implements ISlideBackgroundColorHolder
{

    @Override
    public int getDefaultBackgroundColor() {
        // Return the default background color of the slide.
        return Color.parseColor("#000000");
    }

    @Override
    public void setBackgroundColor(@ColorInt int backgroundColor) {
        // Set the background color of the view within your slide to which the transition should be applied.
        if (layoutContainer != null) {
            layoutContainer.setBackgroundColor(backgroundColor);
        }
    }

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        showSkipButton(false);
        showStatusBar(false);
        addSlide(AppIntroFragment.newInstance("Hello", "world", R.drawable.bunny, Color.parseColor("#FFB300")));

    }

    @Override
    public void onSkipPressed(Fragment currentFragment) {
        super.onSkipPressed(currentFragment);
        finish();
    }

    @Override
    public void onDonePressed(Fragment currentFragment) {
        super.onDonePressed(currentFragment);
        finish();
    }
}

Now the issue is pretty small. ie I cannot resolve layoutContainer in Android Studio. What should I replace it with if I am using AppIntro2 ? I searched the entire repo for layoutContainer, however it is only seen in the readme  file it seems.
Kindly help,
:)

I would compare your code against the example code in the repo.
Unfortunately, some of that example code has not made it over just yet to the new example app, but this is GitHub so this is not really an issue -- check out this directory with the previous examples (related to animations).

I found a way to enable the transition colors, you need to put the setColorTransitionsEnabled to true

@NovaViper  Thanks for helping! @avluis  Now you may close this!

Np, I was figuring out the same thing and I happened to look into the source code and saw that you had to enable that setting to achieve the color transitions, since its false by default

@shaheenkdr Please close your own issues -- no need to wait on us...

@NovaViper where is this setColorTransitionsEnabled?