ArcGIS Connector - Data Import Incomplete

Context
A user is importing a dataset from ArcGIS using the ArcGIS connector. The dataset has 11 records total but only 2 records import. The user is using a MapServer link that looks structured correctly. Is this an issue with the dataset or the ArcGIS connector?
S/B: 9421774
Details
REST API Link:
https://geo.socioambiental.org/arcgis/rest/services/raisg/raisg_desmat_120m/MapServer
Carto Table:
https://team.carto.com/u/chandra/tables/imagen_no_disponible_1
Tested in my team account (chandra).
Import Log:
2016-07-18 16:26:06 UTC: Running on server que03.useb.cartodb.net with PID: 28406
2016-07-18 16:26:06 UTC: new_importer()
2016-07-18 16:26:06 UTC: Fetching datasource <CartoDB::Datasources::Url::ArcGis @url= @metadata= @ids_total=0 @ids_retrieved=0 current_block_size=0> metadata for item id https://geo.socioambiental.org/arcgis/rest/services/raisg/raisg_desmat_120m/MapServer
2016-07-18 16:26:07 UTC: Downloading file data from datasource
2016-07-18 16:26:07 UTC: Before importer run
2016-07-18 16:26:07 UTC: Starting multi-resources import
2016-07-18 16:26:08 UTC: Starting import for /tmp/imports/20160718-28406-1u0ij3n/imagen_no_disponible.json
2016-07-18 16:26:08 UTC: Filename: /tmp/imports/20160718-28406-1u0ij3n/imagen_no_disponible.json Size (bytes): 2799
true: Importing data from /tmp/imports/20160718-28406-1u0ij3n/imagen_no_disponible.json
true: Streaming import load
true: Detected encoding UTF-8
true: Using database connection with {:adapter=>"postgres", :encoding=>"unicode", :host=>"<IP_ADDRESS>", :database=>"cartodb_user_6b304b59-2c86-4d7b-a8a2-dc98a5a35d48_db", :username=>"cartodb_user_9c56e22e-493a-4f27-8b8e-aae6be514a1d", :port=>6432, :direct_port=>5432, :connect_timeout=>2.5}
true: Running in append mode
false: ogr2ogr call:            OSM_USE_CUSTOM_INDEXING=NO PG_USE_COPY=YES PGCLIENTENCODING=UTF-8  /usr/bin/ogr2ogr2.1 -f PostgreSQL  PG:"host=<IP_ADDRESS> port=5432 user=cartodb_user_9c56e22e-493a-4f27-8b8e-aae6be514a1d dbname=cartodb_user_6b304b59-2c86-4d7b-a8a2-dc98a5a35d48_db password=5dda3e67309ef1594ca35272e49d7e488ce55ef0cartodb_user_9c56e22e-493a-4f27-8b8e-aae6be514a1d" -t_srs EPSG:4326  -lco DIM=2 -lco PRECISION=NO /tmp/imports/20160718-28406-1u0ij3n/imagen_no_disponible.json  -nln cdb_importer.importer_54ad43d64d0411e6a5180ef24382571b -nlt PROMOTE_TO_MULTI  -doo PRELUDE_STATEMENTS="SET statement_timeout TO '1h'" -doo CLOSING_STATEMENTS='SET statement_timeout TO DEFAULT' -update
true: ogr2ogr output:
true: ogr2ogr exit code:       0
true: Georeferencing...
true: Disabling autovacuum for "cdb_importer"."importer_54ad43d64d0411e6a5180ef24382571b"
true: Creating the_geom from wkb_geometry column
true: replace empty strings by nulls?
true: no string column found, nothing replaced
true: geometrifying
true: casting wkb_geometry to geometry
true: Converting to 2D point
true: geometrified
true: Renaming column wkb_geometry TO the_geom
true: Enabling autovacuum for "cdb_importer"."importer_54ad43d64d0411e6a5180ef24382571b"
true: Georeferenced
true: Fixing geometry...
true: Disabling autovacuum for "cdb_importer"."importer_54ad43d64d0411e6a5180ef24382571b"
true: Fixing geometries
true: Running batched query by id in "cdb_importer"."importer_54ad43d64d0411e6a5180ef24382571b":
                UPDATE "cdb_importer"."importer_54ad43d64d0411e6a5180ef24382571b"
                SET the_geom = public.ST_MakeValid("the_geom")
                WHERE ST_IsValid("the_geom") = FALSE

true: Using as id 'cartodb_processed_3680069972780403997'
true: Finished batched query by 'cartodb_processed_3680069972780403997' in "cdb_importer"."importer_54ad43d64d0411e6a5180ef24382571b": query
true: Enabling autovacuum for "cdb_importer"."importer_54ad43d64d0411e6a5180ef24382571b"
true: Finished importing data from /tmp/imports/20160718-28406-1u0ij3n/imagen_no_disponible.json
2016-07-18 16:26:13 UTC: Errored importing data:
2016-07-18 16:26:13 UTC: CartoDB::Datasources::ResponseError: Missing data: 'fields'
2016-07-18 16:26:13 UTC: ----------------------------------------------------
2016-07-18 16:26:13 UTC: ["/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/datasources/lib/datasources/url/arcgis.rb:252:in `get_subresource_metadata'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/datasources/lib/datasources/url/arcgis.rb:195:in `get_resource_metadata'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:332:in `block (3 levels) in multi_resource_import'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/cartodb/stats/aggregator.rb:45:in `block in timing'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/statsd-client-0.0.7/lib/statsd.rb:26:in `timing'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/cartodb/stats/aggregator.rb:43:in `timing'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:328:in `block (2 levels) in multi_resource_import'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/cartodb/stats/aggregator.rb:45:in `block in timing'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/statsd-client-0.0.7/lib/statsd.rb:26:in `timing'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/cartodb/stats/aggregator.rb:43:in `timing'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:323:in `block in multi_resource_import'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:318:in `each'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:318:in `each_with_index'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:318:in `multi_resource_import'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:99:in `run_import'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:92:in `block in run'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/cartodb/stats/aggregator.rb:45:in `block in timing'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/statsd-client-0.0.7/lib/statsd.rb:26:in `timing'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/cartodb/stats/aggregator.rb:43:in `timing'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/services/importer/lib/importer/runner.rb:91:in `run'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/app/connectors/importer.rb:43:in `run'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/app/models/data_import.rb:714:in `execute_importer'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/app/models/data_import.rb:401:in `dispatch'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/app/models/data_import.rb:178:in `run_import!'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/resque/importer_jobs.rb:9:in `block in perform'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/resque/base_job.rb:21:in `call'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/resque/base_job.rb:21:in `run_action'", "/home/ubuntu/www/production.cartodb.com/releases/20160718111846/lib/resque/importer_jobs.rb:9:in `perform'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/job.rb:240:in `block (3 levels) in perform'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-metrics-0.1.1/lib/resque/metrics.rb:353:in `around_perform_metrics'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/job.rb:239:in `block (2 levels) in perform'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/job.rb:247:in `call'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/job.rb:247:in `perform'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/worker.rb:250:in `perform'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/worker.rb:189:in `block in work'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/worker.rb:166:in `loop'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/worker.rb:166:in `work'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/resque-1.25.2/lib/resque/tasks.rb:41:in `block (2 levels) in <top (required)>'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/task.rb:205:in `call'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/task.rb:205:in `block in execute'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/task.rb:200:in `each'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/task.rb:200:in `execute'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/task.rb:158:in `block in invoke_with_call_chain'", "/usr/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/task.rb:151:in `invoke_with_call_chain'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/task.rb:144:in `invoke'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:116:in `invoke_task'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:94:in `block (2 levels) in top_level'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:94:in `each'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:94:in `block in top_level'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:133:in `standard_exception_handling'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:88:in `top_level'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:66:in `block in run'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:133:in `standard_exception_handling'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/lib/rake/application.rb:63:in `run'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/gems/rake-<IP_ADDRESS>/bin/rake:33:in `<top (required)>'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/bin/rake:23:in `load'", "/home/ubuntu/www/production.cartodb.com/shared/bundle/ruby/2.2.0/bin/rake:23:in `<main>'"]
2016-07-18 16:26:13 UTC: ----------------------------------------------------
2016-07-18 16:26:13 UTC: Proceeding to register
2016-07-18 16:26:13 UTC: Before renaming from importer_54ad43d64d0411e6a5180ef24382571b to imagen_no_disponible
2016-07-18 16:26:14 UTC: Before moving schema 'imagen_no_disponible_1' from cdb_importer to chandra
2016-07-18 16:26:14 UTC: Before persisting metadata 'imagen_no_disponible_1' data_import_id: 09cc8373-afb4-4870-b283-2b1ca94160ba
2016-07-18 16:26:16 UTC: Table 'imagen_no_disponible_1' registered
2016-07-18 16:26:16 UTC: After importer run
2016-07-18 16:26:16 UTC: synchronization_id: 53a82514-4d04-11e6-a2ea-0e233c30368f
2016-07-18 16:26:16 UTC: importer.success? success
2016-07-18 16:26:16 UTC: After dispatch
2016-07-18 16:26:16 UTC: Import finished
===LOG END===

@jgoizueta could you please take a look to figure out if the problem is on our end or the servers'?

I've analyzed what's going on with this REST service; there's an anomaly I still don't know if its a deviation of MapServer from the expected behaviour.
The documention for the ArcGIS REST API is here: http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/The_ArcGIS_REST_API/02r300000054000000/
This service has two layers (https://geo.socioambiental.org/arcgis/rest/services/raisg/raisg_desmat_120m/MapServer/layers?f=json):

Layer 0 named "Imagen no disponible" which is a "Feature Layer" (vector geometry)
Layer 1 named "Periodo" which is a Raster Layer

The raster layers (which we don't support) causes the Missing data: 'fields' error and is not imported, but that's not the problem here.
The vector layer contains 11 features (https://geo.socioambiental.org/arcgis/rest/services/raisg/raisg_desmat_120m/MapServer/0/query?where=1%3D1&returnIdsOnly=true&f=json) with ids: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
To get the features we use queries with a condition on the OBJECTID id attribute to select batches of features.
Note: we do this by POSTing https://geo.socioambiental.org/arcgis/rest/services/raisg/raisg_desmat_120m/MapServer/0/query with parameters:

outFields: (list of comma-separated field names)
outSR: 4326
f: json
where:  OBJECTID >=0 AND OBJECTID <=10

But the OBJECTID don't match the object ids (0-10) as expected ad instead have higher values (the FID field does have the expected 0-10 values). So most of the objects are note selected by our query and only two features are actually imported.
Note: For the first feature we use the query  ObjectId: 0 instead of where and it works well.
I'll try to determine if this behaviour (OBJECTID not matching the feature id) is acceptable for the versions of the REST service supported or whether it is an anomaly. In the first case we have a but on our part, in the latter it'd be a problem of MapServer.

If it doesn't follow the doc then it is a bug in their arcgis server, I'd tell the user to submit a bug / get a patch.

I still have to find what the docs says about what fields (OBJECTID, FID,...) should match the "Object Id" the service returns.
This question is rather messy in general with ESRI products: http://support.esri.com/technical-article/000010834
Maybe we should have been using FID and not OBJECTID for the filtering (it would work in this case) but I have not it clear from the specification

I think we're mixing up objectids and fids: http://support.esri.com/technical-article/000010834

The question is whether the object ids that the REST service uses (see below) should match the OBJECTID field values. We where assuming they should.
This is our requirement. I'm not able to find this stated in ESRI's documentation, though.
Note about the REST service object ids:

They are returned by https://geo.socioambiental.org/arcgis/rest/services/raisg/raisg_desmat_120m/MapServer/0/query?where=1%3D1&returnIdsOnly=true&f=json
They can be used to filter with the ObjectIds parameter of the query POST

Maybe we have a clue here, for this layer (0) we have these fields:
[{:name=>"FID", :type=>"esriFieldTypeOID"}, {:name=>"OBJECTID", :type=>"esriFieldTypeInteger"}, ...]

Note that FID is an OID, but OBJECTID is merely an Integer...

Okay, I'm pretty sure we have to change that and I "guestimate" 2-3 days with code changes and tests and all that. Thanks for the investigation.

To clarify the situation: our assumption that the  OBJECTID field contains the Object ids returned by the API does not hold. At least in this case it is the FID field which contains the ids.
We can either change the current where filtering to use FID (or to use whatever field has type esriFieldTypeOID)  or we could use the ObjectIds parameter of query instead. Since we don't query for more than 100 objects at a time this should not be a problem.

Here we have a layer (from ESRI's examples) which has no FID, and for which a field ObjectID exists of type esriFieldTypeOID: http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/0?where=1%3D1&returnIdsOnly=true&f=json
So we should either look for a  esriFieldTypeOID field or use the ObjectIds parameter.


#1309, rename like operator to contains

For #1309

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #1339 (252f792) into master (8d9a315) will decrease coverage by 0.76%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #1339      +/-   ##
============================================
- Coverage     68.82%   68.06%   -0.77%
+ Complexity     2099     2091       -8
============================================
  Files           395      395
  Lines          8367     8367
  Branches        842      842
============================================
- Hits           5759     5695      -64
- Misses         2185     2247      +62
- Partials        423      425       +2

Impacted Files
Coverage Δ
Complexity Δ

...va/org/dromara/soul/common/enums/OperatorEnum.java
100.00% <100.00%> (ø)
7.00 <0.00> (ø)

...in/base/condition/judge/ContainsOperatorJudge.java
100.00% <100.00%> (ø)
2.00 <1.00> (?)

...gin/base/condition/judge/OperatorJudgeFactory.java
92.85% <100.00%> (ø)
4.00 <0.00> (ø)

...soul/client/tars/TarsServiceBeanPostProcessor.java
29.26% <0.00%> (-53.66%)
6.00% <0.00%> (-8.00%)

...omara/soul/sync/data/http/HttpSyncDataService.java
63.72% <0.00%> (-18.63%)
12.00% <0.00%> (ø%)

.../soul/plugin/httpclient/NettyHttpClientPlugin.java
57.14% <0.00%> (-2.05%)
10.00% <0.00%> (ø%)

Continue to review full report at Codecov.

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


Added solution of Kuriyama Mirai's Stones ques in codeforces

Description
Added the solution of codeforces question Kuriyama Mirai's Stones in c++.
In this the algorithm  used is segment tree.
The question code for this problem is 433 - B
Fixes #1149
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

Below is the screenshot of output for particular input,

created a pr for adding solution of solution of codeforces question Kuriyama Mirai's Stones in c++.


Fix JSON.prettyPrint generates invalid JSON

I found the bug in JSON.prettyPrint method when including newline or quote in string
I fixed it, so please check it!
Regards,

Thank you so much for the PR, I'll check it out and merge it when I have time. 😄

@meteochu Fixed conflict, so what's status of this?

@kyontan great, so I will close my PR

Oops, I completely forgot about this (for almost a year too!). I've now merged this, thank you for your PR.


crypto/cipher: optimize safeXORBytes

The discussion at https://github.com/golang/go/issues/31586 includes several techniques for optimizing xor of byte slices, including using encoding/binary (with native endianness) and loop unrolling. It'd be nice to apply them to safeXORBytes, which is used on many non-amd64 platforms. An optimized safeXORBytes might even be fast enough that we could delete fastXORBytes.
Somewhat related: #30553
cc @nhooyr

(Aside: I've wanted encoding/binary.NativeEndian to exist on multiple occasions. Here's another one.)

Will give this a shot on the weekend.

(Aside: I've wanted encoding/binary.NativeEndian to exist on multiple occasions. Here's another one.)

I agree this would be very useful. Some discussion in the past: https://groups.google.com/forum/#!topic/golang-nuts/3GEzwKfRRQw

Will give this a shot on the weekend.

Awesome. No rush, in any case—the freeze just started, so nothing will go in for three months.
Thanks for the pointer to previous discussion of native endianness. I’ll file a proposal to discuss.

If you implement a generic, fast xor function, it could probably stand to be used in x/crypto/sha3 — the current implementation there is somewhat dubious due to alignment assumptions.
(See CL 203837.)
CC @FiloSottile

@bcmills good point, thanks. If we put it in a place that both x/crypto and crypto/cipher can reach it, that'd presumably also resolve #30553.

Proposal at #35398.

Added in https://github.com/nhooyr/go/commit/24ce00e112af127052f7c46e5ec50cadb1cab97f
Results against xorBytesSSE2 on amd64:
$ /Users/nhooyr/src/golang/go/bin/go test -run=_ -bench=XORBytes
goos: darwin
goarch: amd64
pkg: crypto/cipher
BenchmarkXORBytes/8Bytes-8         	172309332	         7.02 ns/op	1138.87 MB/s
BenchmarkXORBytes/128Bytes-8       	100000000	        11.4 ns/op	11234.53 MB/s
BenchmarkXORBytes/2048Bytes-8      	13199848	        92.6 ns/op	22121.21 MB/s
BenchmarkXORBytes/32768Bytes-8     	  845156	      1513 ns/op	21661.74 MB/s
BenchmarkSafeXORBytes/8Bytes-8     	142438503	         8.58 ns/op	 932.81 MB/s
BenchmarkSafeXORBytes/128Bytes-8   	65347510	        18.1 ns/op	7064.16 MB/s
BenchmarkSafeXORBytes/2048Bytes-8  	 6157542	       195 ns/op	10517.18 MB/s
BenchmarkSafeXORBytes/32768Bytes-8 	  397106	      3026 ns/op	10829.76 MB/s
PASS
ok  	crypto/cipher	11.729s

So safe fast is still about 2x as slow. Still 10x faster in my testing than basic simple xor though.

https://github.com/nhooyr/go/commit/68261d7dcf45c3e97f74d7d851301c945bf0eda7
Added safe xor to the benchmark:
$ /Users/nhooyr/src/golang/go/bin/go test -run=_ -bench=XORBytes
goos: darwin
goarch: amd64
pkg: crypto/cipher
BenchmarkXORBytes/default/8B-8      	180542707	         6.79 ns/op	1178.83 MB/s
BenchmarkXORBytes/safe/8B-8         	135818607	         8.73 ns/op	 916.11 MB/s
BenchmarkXORBytes/fastSafe/8B-8     	139375618	         8.62 ns/op	 927.86 MB/s
BenchmarkXORBytes/default#01/128B-8 	100000000	        10.9 ns/op	11787.06 MB/s
BenchmarkXORBytes/safe#01/128B-8    	13410099	        83.8 ns/op	1527.65 MB/s
BenchmarkXORBytes/fastSafe#01/128B-8         	60092373	        19.7 ns/op	6490.28 MB/s
BenchmarkXORBytes/default#02/2048B-8         	13841852	        83.5 ns/op	24532.14 MB/s
BenchmarkXORBytes/safe#02/2048B-8            	  974487	      1180 ns/op	1735.13 MB/s
BenchmarkXORBytes/fastSafe#02/2048B-8        	 5222248	       220 ns/op	9314.25 MB/s
BenchmarkXORBytes/default#03/32768B-8        	  855936	      1448 ns/op	22634.24 MB/s
BenchmarkXORBytes/safe#03/32768B-8           	   61302	     19043 ns/op	1720.75 MB/s
BenchmarkXORBytes/fastSafe#03/32768B-8       	  332857	      3440 ns/op	9524.70 MB/s
PASS
ok  	crypto/cipher	17.433s

Sometimes nearly 3x as slow as the current default.

cc @FiloSottile for removing assembly in favor of pure Go
Filippo, is 2x-3x in this case within range of switching to pure Go?
There may also be further optimizations available (either in the pure Go or in the compiler); I haven't checked yet, and may not for a little while.
cc @CAFxX who I believe likes optimizing stuff like this

Hello all! I gave this optimization a shot in the PR above. First time contributing to golang so looking for all kinds of feedback 🙇


Add Settings tab to the user profile page

move Exit and theme toggle to the user profile settings tab
show number of posts, comments and available invites
fix a couple of lint warnings

One useful usecase that we've lost here is changing the theme to see how post preview looks like with different background. Perhaps we should add a small change "theme" button near the "preview" button of the content editor?

One useful usecase that we've lost here is changing the theme to see how post preview looks like with different background. Perhaps we should add a small change "theme" button near the "preview" button of the content editor?

we can but this will switch theme permanently and might cause some irritation if they forget to switch it back after post is created and they will need to go to settings to change it back

One useful usecase that we've lost here is changing the theme to see how post preview looks like with different background. Perhaps we should add a small change "theme" button near the "preview" button of the content editor?

we can but this will switch theme permanently and might cause some irritation if they forget to switch it back after post is created and they will need to go to settings to change it back

We can remember the original settings and switch it back automatically when reply is posted.

We can remember the original settings and switch it back automatically when reply is posted.

@Aivean https://github.com/spaceshelter/orbitar/pull/217


Select cf/org/space in create service instance stepper mentions app

Select a Cloud Foundry instance, organization and space for the app.

@richard-cox Unable to reproduce this. Under which context did you start the stepper?


styles: fix tableWithBrowserPagination styles

Changes proposed in this PR:

Fix TableWithBrowserPagination styles

[ ] I have followed (at least) the PR section of the contributing guide.
@90milesbridge/tigger

Pull Request Test Coverage Report for Build 3570

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

Totals

Change from base Build 3560:
0.0%

Covered Lines:
2810

Relevant Lines:
3405

💛  - Coveralls


Return Inf when appropriate

I was looking some more at the problematic case you discovered:
shell> git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

julia> jtheta1(1+ 0.58im, 1.e-13*im)
ERROR: Reached 3000 terms.
...

I tried this on Wolfram Alpha with the following result (to 18 decimal places):
-2.31147846607338362×10^932003934434 + 1.18954904881950949×10^932003934434 i

Obviously, for Julia the correct answer should be -Inf + Inf*im.   This is actually what the code computes, but it isn't being returned because areclose doesn't find infinite results to be close to each other.  A slight modification to areclose fixes this, at the cost of an additional half-nanosecond of execution time, which seems a good tradeoff.  Also added a test for this case.  The result after this PR is:
julia> @btime jtheta1(1 - im, 1.e-13*im)
  146.312 ns (0 allocations: 0 bytes)
-Inf + Inf*im

After 02611f the additional execution time over master is only about 0.1 nsec when the two numbers are unequal.  When they are equal, the new version is about 1 nsec faster.

I've included your name in the authors field. Can I add your email address?

That's very generous!  Thanks! Sure<EMAIL_ADDRESS>


Share session between HTTP request in web apis / web applications

Is your feature request related to a problem? Please describe.
I have complex queries, the first execution in a session it consume to much time, but next time execute it fast in the same HTTP Request, but when y start a new HTTP, the library create a new session, and again the query work slow, I have this time for example in complex queries
Microtime: '0.90921611785889' sec
Microtime: '0.18274807929993' sec
Microtime: '0.1828088760376' sec
Microtime: '0.18080997467041' sec
Microtime: '0.18127393722534' sec

Describe the solution you'd like
Share session between diferent http request
Describe alternatives you've considered
I have not an alternative, i need do complex queries.
Additional context
Thanks for all

Hello @vzenix,
Thank you for raising this request. I don't fully understand this to be honest. The HTTP API is stateless by design.
We are working on an optimization with the bolt protocol, but that is still some months away from releasing. Can you test if your speed improves if you change to the neo4j or bolt scheme in your connection URL?
Kind regards,
Ghlen

I try, but not, it's not a problem of the library itself, the query have a cost of time, but, in the same session neo4j use a cache system for optimize it, and if you don't close the session and you launch again this query the time uses is more less
In other SGBD like mysql/mariadb you have methods for configure persistent session, don't close instantly the session, and then share session betwen separate thread of http requests
I dont know how work bold, if use a ID of session for example, an static socket for the thread or other method so i don't know if it is possible to do

@transistive what optimizations on bolt? 😁

Yes, this is possible, and i was already working on it, but only on bolt. I'll just push my work on it later today. I found it to be exceptionally difficult though, and it requires some smart handling of the server states as you cannot store it with the socket.

I had a personal use case where opening and closing of the sockets took over 40 percent of the time of each request.

I don't understand. Persistent connection means that the server (apache) doesn't close TCP connection to database and let it use it by next request handled by php. But how you can affect from php this apache behaviour? Because the php process is not persistent. Even the bolt library is written in php, so how can you keep connection open? What am I missing?

So you wrote third connection class for Bolt library? ... interesting

I pushed the work now. It is not even working and I don't have time to write up my analysis but you can check it out if you want:
https://github.com/neo4j-php/Bolt/pull/115

The key finding for me was that there is not a lot of control given to use by PHP to control the behavior of these sockets. Sometimes they might stay alive, somethimes not. On top of that their Id may or may not be unique so it is very difficult to provide a second layer to attach the server state to.

I'll take a look at it later (hopefully this week). I'm really curious. Did you tried to ask me how to deal with this problem in past?


Is sudoku valid in c++

Is your feature request related to a problem? Please describe.
Is sudoku valid problem to be solved in c++
Describe the solution you'd like
I will solve the problem to check if a sudoku is valid or not in c++
Do you want to work on it
c++

Sir @tarun26091999 @rudrakshi99 ma'am
Please assign this problem to me. I would like to solve this in c++.
I will surely provide the code with proper documentation and comments.

I would like to contribute to the above problem in java as I am a participant of GSSOC'21. Kindly assign this to me.


feat: add support for metrics routing

Description
Issue: https://github.ibm.com/GoldenEye/issues/issues/10619

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[x] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 3.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Deploy data button

Deploy data button.
@channel Hi all, before his accident Kirill had quite a good idea. He suggested to make a "Deploy" button at the collections. It is not a well-designed idea yet, but the basic idea is that people could go to a collection and then press "deploy". This would open a whole lot of options, e.g. they could choose from available docker to locally deploy like virtuoso quickstart, they could choose hosted solutions, i.e. something is set up in the cloud and data is loaded, etc.
By focusing on getting data into applications, we would create a good incentive for people to bring their data to the Databus and create collections.

I think could be good to have deployment with our docker-virtuoso endpoint for rdf data… the button should probably distinguish between data formats and corresponding deployment methods

This could be also at first just lines with commands, but afterwards extended for real deployments on the cluster or wherever.
We can also collection auth. data for deployment in the account, like “enter the address of the endpoint and creds, and you will be able to deploy to your server in one click”

totally agree that this would be good. maybe we could have first simple mockups that at least show the commands how to deploy it with virtuoso quickstart, bash and python client or databus client


[Bug]: Not all options accessible from configurationDevTools

Package name
configuration
Package version
8.0.x
Reproduction steps
Activate the ConsoleDevTools Service and look at OTTER_DEVTOOLS
Current result
The configurationDevTools is present but it does not have all properties (saveConfiguration for example)

Expected result
All methods should be accessible via configurationDevTools if the service is activated
Additional comments
No response

The problem is because of the spread operator of the devkit services.
We try to spread the class properties to the window.__OTTER_DEVTOOLS__ variable which is incorrect.


Add OverlapPatchEmbed for shunted transformer

Signed-off-by: Jael Gu<EMAIL_ADDRESS>

/lgtm
/approve


Add Yanjun Xiang to owners list for Dns Filter Extension.

Signed-off-by: Pradeep Rao<EMAIL_ADDRESS>Commit Message:
Additional Description:
Adding Yanjun Xiang to CODEOWNERS for the DNS Filter, as an active contributor, as part of the steps required to move the extension from alpha to stable status.
Risk Level: LOW
Testing: N/A
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

/assign @mattklein123


Path fix in scritp point to VS2019

Change MS build point to VS2019 instead of VS2017 since we migrate all VM to VS2019.

Should this change go into dev branch or master?

Should this change go into dev branch or master?

Both, but this unblocks deployment of the latest merge.

Functional test: https://nuget.visualstudio.com/NuGetBuild/_build/results?buildId=74630&view=logs&j=fd490c07-0b22-5182-fac9-6d67fe1e939b&t=8387211e-0f7c-5960-ee6f-4bc6a15f97b1


Official demo doesn't work with Edge 18

The official demo doesn't work with Edge 18

Originally posted by @WebMex in https://github.com/TonyGermaneri/canvas-datagrid/issues/329#issuecomment-758519628

Hi @WebMex, thank you for reporting, but I've decided not to tackle this: Edge18 is a legacy browser based on the now defunct Spartan engine, whereas newer versions of Edge use Chromium — this makes it easier for us to support.
Official support for Edge18 will end in March of this year any way.


Duplicate celebration key of St Nicholas, Bishop

In greece.js, there we use the saintNicholas key, which should be replace by saintNicholasBishop. Then, the saintNicholas key should be removed from en.js (no other locale contains that key already).

I'm changing the label to localization, to make the difference between romcal bugs and anything related to localization (duplicated keys, missing keys...) in the issue tracker.
FYI I also created a similar label for everything related to celebrations.


Escape $FILE variable

This PR will fix the following Issue:
https://github.com/keptn/keptn/issues/3754

@checkelmann can you please sign the commit as explained here: https://github.com/keptn/keptn.github.io/pull/788/checks?check_run_id=2316552762

@checkelmann can you please sign the commit as explained here: https://github.com/keptn/keptn.github.io/pull/788/checks?check_run_id=2316552762

@johannes-b Done


Fix re-focusing problem related with usage of Tab (#885)

This pull-request addressed the solution I proposed in #885.

Codecov Report

Merging #904 into master will decrease coverage by 0.13%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #904      +/-   ##
==========================================
- Coverage   85.47%   85.33%   -0.14%
==========================================
  Files          12       12
  Lines         647      648       +1
  Branches      120      121       +1
==========================================
  Hits          553      553
  Misses          7        7
- Partials       87       88       +1

Impacted Files
Coverage Δ

src/datepicker.jsx
91.71% <100%> (-0.59%)
:arrow_down:

Continue to review full report at Codecov.

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

Addressed the code review comment and also prevented to re-open the calendar when pressed "ESC" twice.

Please release this code. This bug is stopping me from upgrading to React 15.6 :-(
@rafeememon @martijnrusschen

I’ll release this as soon as I get back from my vacation. Probably Monday.
On Thu, 6 Jul 2017 at 17:43, Clara Attermo<EMAIL_ADDRESS>wrote:

Please release this code. This bug is stopping me from upgrading to React
15.6 :-(
@rafeememon https://github.com/rafeememon @martijnrusschen
https://github.com/martijnrusschen
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Hacker0x01/react-datepicker/pull/904#issuecomment-313361750,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABWNKGkPNCFfgtNmOUgBYOwRNiMprBLtks5sLLpGgaJpZM4OBYAo
.


[TEST] Analyze test_filesystem_trim flaky test case

What's the test to develop? Please describe
test_filesystem_trim a flaky test case that fails intermittently, We need to analyze and fix it.
        # Step 8.
        # Remove files. Then verify the snapshots before the filesystem trim.
        subprocess.check_call(["rm",
                               file0_path, file11_path, file12_path, file13_path])
        subprocess.check_call(["sync"])

        snapshots = volume.snapshotList()
        snapMap = {}
        for snap in snapshots:
            snapMap[snap.name] = snap

        assert snapMap[snap0_origin.name].name == snap0_origin.name
        assert snapMap[snap0_origin.name].removed is False
        assert snapMap[snap0_origin.name].size == snap0_origin.size
        assert snapMap[snap0_origin.name].parent == ""

        assert snapMap[snap21_origin.name].name == snap21_origin.name
        assert snapMap[snap21_origin.name].removed is False
>       assert snapMap[snap21_origin.name].size == snap21_origin.size
E       AssertionError: assert '104931328' == '104935424'
E         - 104931328
E         + 104935424

test_basic.py:5429: AssertionError

https://ci.longhorn.io/job/public/job/v1.5.x/job/v1.5.x-longhorn-tests-sles-amd64/304/testReport/junit/tests/test_basic/test_filesystem_trim_ext4_/
Describe the tasks for the test

[ ] If any real issue found, create a bug for that.
[ ] If any test case issue found, create a test task for that to fix it.

Additional context
https://ci.longhorn.io/job/public/job/v1.5.x/job/v1.5.x-longhorn-tests-sles-amd64/304/testReport/junit/tests/test_basic/test_filesystem_trim_ext4_/

Close the ticket because we have the issue tracked at https://github.com/longhorn/longhorn/issues/5463.


[feat] support refreshing in error state

This PR adds support for refreshing while in error state. Docs and tests have been updated to make use of this functionality.
If one does not want to keep displaying the error while refreshing, I guess they can create a custom function, e.g. displayLoading, and call it both in the ready and loading callbacks, e.g.:
ResourceBuilder(
  resource: user,
  builder: (_, userValue) {
    Widget displayLoading() {
      // ...
    }

    return userValue.on(
      ready: (data, refreshing) {
        if (refreshing) {
          // ... display data with CircularProgressIndicator
        } else {
          // ...
        }
      },
      error: (error, _, refreshing) {
        if (refreshing) {
          return displayLoading();
        } else {
          // ...
        }
      },
      loading: displayLoading;
      },
    );
  }
);

I made some small changes:

add delay to fetchUser (only in example subproject), so that it is simpler to debug ResourceBuilder.
use CircularProgressIndicator when refreshing is true, in example and docs.

What do you think of this functionality? Also, do you know why a test I marked with // TODO: should be errorFinder(refreshing: true) fails with refreshing:true (maybe it is correct so, I am not fully sure)?

I agree with you that using resource.state.isRefreshing feels like the better approach.
I implemented the changes! 🎉
Note: I had to replace Future.microtask with Future.delayed(Duration(...)) and add a duration to tester.pumpAndSettle to make one test pass correctly. The description of the test is "ResourceBuilder widget works properly in ResourceError state"


Eclipse with Micropython

hello ,
I want to run micropython from eclipse ide .
I want to know the steps to Configure Eclipse to run micropython esp32

Questions like this are best asked at https://forum.micropython.org


The underscore_attrs_are_private config flag turns doc attribute into a ModelPrivateAttr

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and still think this is a bug

Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.7.2
            pydantic compiled: False
                 install path: D:\dev\Miniconda3\envs\geoenv\Lib\site-packages\pydantic
               python version: 3.8.6 | packaged by conda-forge | (default, Oct  7 2020, 18:22:52) [MSC v.1916 64 bit (AMD64)]
                     platform: Windows-10-10.0.19041-SP0
     optional deps. installed: ['typing-extensions']

Pydantic v1.7 introduced the private attributes. But when the config flag underscore_attrs_are_private is set to True, the model's __doc__ attribute also becomes a private attribute. Example:
>>> from pydantic import BaseModel
>>> class MyModel(BaseModel):
...     """MyModel docsting."""
...     class Config:
...         underscore_attrs_are_private = True
...
>>> MyModel.__doc__
<member '__doc__' of 'MyModel' objects>

My current workaround is to define a new metaclass to handle the issue:
>>> from pydantic import BaseModel
>>> from pydantic.main import ModelMetaclass
>>> from pydantic.fields import ModelPrivateAttr
>>> class DocPreservingModelMetaclass(ModelMetaclass):
...     def __new__(mcs, name, bases, namespace, **kwargs):
...         cls = super().__new__(mcs, name, bases, namespace, **kwargs)
...         if cls.__config__.underscore_attrs_are_private:
...             doc = cls.__private_attributes__.pop('__doc__', None)
...             if isinstance(doc, ModelPrivateAttr):
...                 cls.__doc__ = doc.default
...         return cls
...
>>> class MyModel(BaseModel, metaclass=DocPreservingModelMetaclass):
...     """MyModel docsting."""
...     class Config:
...         underscore_attrs_are_private = True
...
>>> MyModel.__doc__
'MyModel docsting.'

But maybe it would be best if __doc__ was excluded via pydantic.utils.is_valid_private_name, much like the other standard properties are excluded through this method. However, I am not sure if the latter will have other implication in the current codebase.

Hi @jstavrak
Thanks for reporting! You're absolutely right I just made a quick fix. In the meantime your workaround seems good though the new metaclass could be simplified a bit
class DocPreservingModelMetaclass(ModelMetaclass):
     def __new__(mcs, name, bases, namespace, **kwargs):
         doc = namespace.pop('__doc__', None)
         cls = super().__new__(mcs, name, bases, namespace, **kwargs)
         cls.__doc__ = doc
         return cls

Have a good day

Hi guys,
Thanks for the immediate reply, fix, and simplification of the metaclass offered!
Have a nice day!


Craft 4 Support

Hey any chance this package is going to get updated to work with Craft 4?
Currently fails as follows;
 composer require flipboxfactory/craft-jwt
Using version ^1.1 for flipboxfactory/craft-jwt
./composer.json has been updated
Running composer update flipboxfactory/craft-jwt
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires flipboxfactory/craft-jwt ^1.1 -> satisfiable by flipboxfactory/craft-jwt[1.1.0].
    - flipboxfactory/craft-jwt 1.1.0 requires craftcms/cms ^3.0 -> found craftcms/cms[3.0.0, ..., 3.7.54] but it conflicts with your root composer.json require (4.2.4).

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require flipboxfactory/craft-jwt:*" to figure out if any version is installable, or "composer require flipboxfactory/craft-jwt:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Looking to use this in a Craft v4 site as well, v4 support on the road map?

What about Craft 5, pretty please? :)


Color Glow Change

Hello! Not really an issue (maybe a skill issue lol) more of a "how to" inquiry. Ive been trying to add color/glow to my text and cant figure out the proper format on how to do it. Would greatly appreciate if you could help! Ty! ^-^

Sorry it took me this long to respond, I couldn't figure out how to do it initially but now I can. You can use the [color=...]Text Here[/color] format same goes for [glow]Text Here[/glow] [i]This will be slanted[/i]


Digital certificate for rapid test is issued with "Standardized surname/forename" with only first letter

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[?] Bug is specific for Android only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[X] Bug is not already reported in another issue

Technical details

Device name: Google Pixel 3XL
Android version: 11
App version: 2.4.3

Describe the bug
The digital EU COVID-19 certificate which is issued after a rapid test contains in the CBOR elements "nam/fnt" and "nam/gnt" only the first letter of the respective content, for example "M" when the name is "Mustermann".
Steps to reproduce the issue
I created a "Schnelltestprofil" with my full data and underwent a rapid test at a test location which is fully integrated (reads QR code of profile, sends results to CWA, supports creation of digital EU certificate for rapid tests).
After receiving the test result and the certificate, I decoded the certificate content (strip "HC1:", Base45 decode, ZLIB deflate, CBOR playground).
The data about the name of the testee are exemplary:
"nam": {"fnt": "M", "fn": "Mustermann", "gnt": "E", "gn": "Erika"}
Expected behaviour
Elements "fnt" and "gnt" are expected according to
https://ec.europa.eu/health/sites/default/files/ehealth/docs/covid-certificate_json_specification_en.pdf
to contain the
"Surname(s) of the holder transliterated using the same
convention as the one used in the holder’s machine
readable travel documents"
in the case above: MUSTERMANN and ERIKA.
Additional context
Remark: In my digital vaccination certificates, those elements are populated correctly, therefore I assume it is the CWA which transfers those data incorrectly to the RKI for signing.

@jkrwdf wrote:

In my digital vaccination certificates, those elements are populated correctly, therefore I assume it is the CWA which transfers those data incorrectly to the RKI for signing.

For the vaccination certificates, another system is used: IBM/Ubirch for data entry (by medical staff) in web-frontend and processing in backend, next to 3rd-party-solutions.
For the RATs T-System's system is used before test data are forwarded for later creating dcc/signing: entry of data by testcenter staff in web-frontend and further processing in backend, next to 3rd-party-solutions that provide data to backend via API.
For the RATs: currently Standardised Names are entered manually by testcenter staff, when entered in front-end. Standardised Names that are provided via API by 3rd-party applications are not validated.
This means, currently Standardised Names are likely often subject of error (typos, wrong format, etc...)
This will lead to problems soon, when CWA (or other wallet apps like CovPass) rely on standardised names to match a number of different certificates to a single person. In that case, for every different standardised name a new person would be created inside the app.
Only T-Systems can adjust here.
Related issue: https://github.com/corona-warn-app/cwa-quick-test-frontend/issues/185
/cc @ascheibal @ggrund-tsi
/cc @mlenkeit @thomasaugsten
(/FYI @d4rken - here we go 😉 )

By the way: the reported issue here also has the potential to create longer queues at border control, in case other countries use their own verifier apps that display standardised names by default to compare with id/passport...

I agree with @vaubaehn that this is most likely not a bug in the app itself.
The certificate is created by the rapid test provider. They may use the data from the rapid test profile to determine fnt and gnt, may enter the values manually, or may have some logic in place to do transliteration based on fn and gn.
@jkrwdf would you mind disclosing the rapid test provider via mail? This would allow us to follow up on the issue. You can send it to<EMAIL_ADDRESS>

@jkrwdf thanks for sharing the name of the rapid test provider! It looks like the provider is indeed using cwa-quick-test-frontend. and affected by https://github.com/corona-warn-app/cwa-quick-test-frontend/issues/185. Until this is implemented, the provider would need to make sure that the ICAO names are entered correctly.

Just got the 2.5.1 from Google Play Store and can now also play with the capability to scan RAT certificates via QR code in CWA.
The effect announced by @vaubaehn is directly appearing: Although the RAT certificate is issued to the very same person name, CWA visualizes it as separate entity in the "Certificates" tab, and I can now select via the slider "I am that person" whether I am "Erika Mustermann" from the vaccination certificate or "Erika Mustermann" from the RAT certificate :-)

On a similar note, I have two certificates in my name that are displayed belonging to seperate persons.
For one of them, the value of gnt is an improperly standardized name that contains a space character between two given names instead of a < character.
An issue like this could be probably fixed by an adjustment like this.
Is this an option or should one rather not try to tackle this kind of problem on the front end side?

@docweirdo thanks for your report. Could you provide the name of the issuer of the DCCs, we can then forward the info.

@dsarkar I am afraid this might be outside of your reach, the certificate was issued by the Ministry of Health of Israel.

I have got a Rapid Test Certificate that is displayed as belonging to another person.
In my case the letters "e" in my last name were replaced with "i" in the standardized name but correct in the non-standardized name.
What about if you consider it the same person if there is a match between an existing entry AND
((non-normalized first name AND non-normalized last name AND date of birth) OR (normalized first name AND normalized last name AND date of birth))

The software which my primary testing center uses received an update 1-2 weeks ago.
Since then, the fields for the standardized forename and standardized surname are automatically populated from the scanned QR code data (yeah!) and no longer have to be filled out manually each time by the personnel.
The time of incorrectly issued test certificates ("X<<Y" or "Q<<Q") is therefore at least for me finally over and I think this issue can be closed.


chore: Remove position props from list widget

Description
Replaced the property templateBottomRow with templateHeight as a first step to remove the dependency of fixed layout specific position property from List widget.
Next set of task would be done as a part of https://github.com/appsmithorg/appsmith/issues/26982
PR fixes following issue(s)
Fixes #26981
Type of change

Chore (housekeeping or task changes that don't impact user perception)

Testing

How Has This Been Tested?

[x] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test

/build-deploy-preview

/ok-to-test

/ok-to-test

/build-deploy-preview

/build-deploy-preview

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test

/ok-to-test


Mark lint and breaking tests as timeout short by default

This silences warnings from bazel like:
Test execution time (0.4s excluding execution overhead) outside of range for MODERATE tests. Consider setting timeout="short" or size="small".

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @titanous Could you sign the CLA?

Done.


Normalize path

Using Atom's own fs-plus package allows file paths to correctly handle things like ~, which should expand to the uses's home directory.

Thanks, merged.


Compilation on MacOSX Fails

I tried to compile on MacOSX (Yosemite 10.10.3) and getting following error.
symbols.cc
src/libponyc/debug/symbols.cc:413:35: error: no matching member function for call to 'insertDeclare'
intrinsic = symbols->builder->insertDeclare(ref, info, complex, before);
~~~~~~^
/usr/local/Cellar/llvm/HEAD/include/llvm/IR/DIBuilder.h:661:18: note: candidate function not viable: requires 5 arguments, but 4 were provided
Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
^
/usr/local/Cellar/llvm/HEAD/include/llvm/IR/DIBuilder.h:671:18: note: candidate function not viable: requires 5 arguments, but 4 were provided
Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
^
src/libponyc/debug/symbols.cc:416:35: error: no matching member function for call to 'insertDeclare'
intrinsic = symbols->builder->insertDeclare(ref, info, complex, end);
~~~~~~^
/usr/local/Cellar/llvm/HEAD/include/llvm/IR/DIBuilder.h:661:18: note: candidate function not viable: requires 5 arguments, but 4 were provided
Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
^
/usr/local/Cellar/llvm/HEAD/include/llvm/IR/DIBuilder.h:671:18: note: candidate function not viable: requires 5 arguments, but 4 were provided
Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
^
2 errors generated.
make: *** [build/release/obj/libponyc/debug/symbols.o] Error 1

It apprears you have not installed LLVM 3.6. Have you installed llvm36 as described in the readme?
There is a pull request for a homebrew installer that should be merged into master soon.

Sorry for reopening, I also have compiling errors, with Master and Release 0.1.2. LLVM 3.6 is installed:
$ llc-3.6 -version
LLVM (http://llvm.org/):
  LLVM version 3.6.0
  Optimized build with assertions.
  Built Mar 19 2015 (05:58:51).
  Default target: x86_64-apple-darwin14.3.0
  Host CPU: core-avx2

  Registered Targets:
    x86    - 32-bit X86: Pentium-Pro and above
    x86-64 - 64-bit X86: EM64T and AMD64

❯ make config=release
host.cc
src/libponyc/codegen/host.cc:64:40: error: too few arguments to function call, single argument 'Ctx' was not specified
  DIScope scope = DIScope(loc.getScope());
                          ~~~~~~~~~~~~ ^
/usr/local/Cellar/llvm/3.5.1/include/llvm/IR/DebugLoc.h:83:5: note: 'getScope' declared here
    MDNode *getScope(const LLVMContext &Ctx) const;
    ^
src/libponyc/codegen/host.cc:67:3: error: unknown type name 'MDLocation'; did you mean 'DILocation'?
  MDLocation* at = cast_or_null<MDLocation>(loc.getInlinedAt());
  ^~~~~~~~~~
  DILocation
/usr/local/Cellar/llvm/3.5.1/include/llvm/IR/DebugInfo.h:719:7: note: 'DILocation' declared here
class DILocation : public DIDescriptor {
      ^
src/libponyc/codegen/host.cc:67:33: error: unknown type name 'MDLocation'; did you mean 'DILocation'?
  MDLocation* at = cast_or_null<MDLocation>(loc.getInlinedAt());
                                ^~~~~~~~~~
                                DILocation
/usr/local/Cellar/llvm/3.5.1/include/llvm/IR/DebugInfo.h:719:7: note: 'DILocation' declared here
class DILocation : public DIDescriptor {
      ^
src/libponyc/codegen/host.cc:67:62: error: too few arguments to function call, single argument 'Ctx' was not specified
  MDLocation* at = cast_or_null<MDLocation>(loc.getInlinedAt());
                                            ~~~~~~~~~~~~~~~~ ^
/usr/local/Cellar/llvm/3.5.1/include/llvm/IR/DebugLoc.h:87:5: note: 'getInlinedAt' declared here
    MDNode *getInlinedAt(const LLVMContext &Ctx) const;
    ^
src/libponyc/codegen/host.cc:75:32: error: no matching function for call to 'cast_or_null'
    DIScope scope_at = DIScope(cast_or_null<MDNode>(at->getScope()));
                               ^~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/llvm/3.5.1/include/llvm/Support/Casting.h:247:1: note: candidate template ignored: could not match 'Y *' against 'llvm::DIScope'
cast_or_null(Y *Val) {
^
src/libponyc/codegen/host.cc:81:49: error: no member named 'getLine' in 'llvm::DILocation'
      scope_at.getFilename().str().c_str(), at->getLine(), at->getColumn(), s);
                                            ~~  ^
src/libponyc/codegen/host.cc:81:64: error: no member named 'getColumn' in 'llvm::DILocation'
      scope_at.getFilename().str().c_str(), at->getLine(), at->getColumn(), s);
                                                           ~~  ^
7 errors generated.
make: *** [build/release/obj/libponyc/codegen/host.o] Error 1

Hi,
You llc is indeed 3.6, but you appear to be trying to compile against 3.5.1.  Which won't work :)

D'oh, thanks.

No problem, the easy ones are the best ones! :) Please let me know if it still doesn't work for you.

Worked after brew uninstall llvm. I was under the impression the current llvm Homebrew formula is using LLVM 3.6, but wasn't.
I also created a trivial Formula as it seems the official Formula is not yet available in Homebrew (didn't see it merged to master).


Looks for files in /dist/ folder and not in /_public/

I have files in /_public/, they show up in the directory but I get a 404 on them. If I put them in /dist/ as well, it'll work. Is this a bug?
Nginx + debian

Did you have a look at the FAQ? I'm not familiar with nginx, but I know people have successfully used Bootstrap Listr with nginx.


Gramhagen/merge master patch

Description
addressing code review comments from #720
cleanup of sar_on_aml notebook, suggested change to readme algo list to move links to specific notebooks under the environments column (so we can showcase the same algo with different implementatation, i.e. LightGBM on Spark / CPU)
Checklist:

[x] My code follows the code style of this project, as detailed in our contribution guidelines.
[ ] I have added tests.
[ ] I have updated the documentation accordingly.

https://github.com/Microsoft/Recommenders/blob/staging/notebooks/run_notebook_on_azureml.ipynb used same text about AmlCompute. And I only noticed the PR is merged after a refresh, I will create a new one to fix both comment.


BSI Range-Encoding: PQL support for aggregate queries

Calls the internal function created in #622.
Sum(Bitmap, frame="f", field="age")
Average(Bitmap, frame="f", field="age")

Like TopN, the Bitmap acts as a filter when provided and is optional.
Returns an int (or possibly float in the case of average?)

Fixed via #778.


Https

Is there a way to implement HTTPS support? No certs needed really or anything advanced, just want to see https request urls.
Thanks!

This is something that wireshark knows how to do, but it's pretty complicated. If somebody wanted to take a crack at an implementation for node_pcap, I'd be eager to try it. Until then, I think you are stuck with one of the various mitm proxies out there.

@unixpickle @filipenf I am looking for the easiest way to resolve all hostnames for TCP/IP traffic. Is there built in functionality to do this or would I have to manually track DNS lookups myself?

@brannondorsey the easiest ( and more efficient ) way to do that is to grab all DNS responses for a .cap file.
However, this will leave gaps if the traffic is partially captured and the DNS resolution happened before the traffic capture started or if the clients connect directly to servers' ip addresses not their hostnames ( unusual, but possible )
You can also try to use reverse DNS to try to find out what is the name of this IP ( but this is a somewhat expensive operation and also is not precise because on IP may be associated with multiple host names )

@filipenf, thanks for the speedy reply! I was looking into reverse DNS as another method. I hadn't thought of the issue of multiple domains to each IP.
When on a LAN, is every DNS request (accept for loopback and hostnames on the LAN) sent through the Gateway? Or does the browser cache DNS results and possibly not expose them via Wifi?
I am trying to create a small network auditing script that tracks HTTP and HTTPS domain names visited by certain hosts. Either method mentioned above will give somewhat cloudy results as any asset loaded on a page will make another DNS request. Going to say, https://amazon.com, actually triggers ~20 hostname lookups. Is there any sensical method of separating hostnames visited by a browser from ones that are requested simply for assets?

Yes, you can do that. You just need to keep a hashmap of ip addresses => domain names so when you are parsing your .cap file, you can infer what are the hostnames for each ip packet. This can give you a pretty good idea of what is going on in your network. Of course it has some problems ( like I've mentioned before one IP address may be associated with multiple domain names ) but I think you can workaround them pretty easily.
If you need more details feel free to get in touch with private messages ( maybe this isn't the best to discuss it ;-) )


[11.x] Stringable and AsIterable* castables force instance when null

Why
Its hard (impossible) to define a generic SQL expression to default an json could to be an empty array.
A general pattern in laravel is to return null if the field is nullable and null, this is good for most cases but is confusing and requires more complicated code (see example below) when casting to a stringable or an iterable type.
Enhancement of Cast Classes with force feature
The cast classes, including AsArrayObject, AsCollection, AsEncryptedArrayObject, AsEncryptedCollection, AsEnumArrayObject, AsEnumCollection and AsStringable, have been updated with a new feature named force. It allows them to return a new instance of their objects when the value is null. This ensures that the returned values is more predictable and its easy to work with.
before
// 'options' => AsCollection::using(OptionCollection::class),

$model->options?->isEmpty() ?? true; // condition

if (! $model->options) {
    $model->options = new OptionCollection;
}

$model->options->push('whatever');

after
// 'options' => AsCollection::using(OptionCollection::class, force: true),
// or 'options' => AsCollection::force(OptionCollection::class),
// or 'options' => AsCollection::class.':'.OptionCollection::class.',force',

$model->options->isEmpty(); // condition

$model->options->push('whatever');

Type check is currently failing, would be cool if someone could help with it (or i will restore the original docblocks)

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If applicable, please consider releasing your code as a package so that the community can still take advantage of your contributions!


Panic in wgpu-hal

Nix dev environment on Debian 12:
user@debian:~/dev/harbor$ just run
RUST_LOG=harbor=debug,iced_wgpu=error,wgpu_core=error,info cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.53s
     Running `target/debug/harbor`
 INFO  winit::platform_impl::platform::x11::window > Guessed window scale factor: 1.5
 WARN  wgpu_hal::gles::egl                         > EGL_MESA_platform_surfaceless not available. Using default platform
thread 'main' panicked at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-hal-0.19.4/src/gles/egl.rs:789:88:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: Recipe `run` failed on line 8 with exit code 101

Is this on the latest commit? 9717d09d4c620081acc1d7d0daf1bd510443e4dc

Is this on the latest commit? 9717d09

Just confirmed, yes

I'm getting the same on ubuntu 24.04,  using X11.

It could be X11 then. The nix dependencies include wayland but more work needs to go into it to work on X. We'll work on this as we can. It's hard to target every environment and also make it easy to self build.
If you have enough developer dependencies installed on your local machine, it should be trivial to build it yourself outside of Nix. But that's very highly dependent on you solving your own developer environment.

I was able to get it running by installing this package.  https://github.com/nix-community/nixGL
Specifically I installed it by doing:
nix-channel --add https://github.com/nix-community/nixGL/archive/main.tar.gz nixgl && nix-channel --update
And then ran:
nixGL just run
I was able to figure that out by following this post https://discourse.nixos.org/t/egl-program-is-unusable-when-built-with-nix/5976 ,  I don't know enough about wgpu-hal, egl, or nix to know exactly what's going on but seems to work.

I was able to get it running by installing this package.  https://github.com/nix-community/nixGL
Specifically I installed it by doing:
nix-channel --add https://github.com/nix-community/nixGL/archive/main.tar.gz nixgl && nix-channel --update
And then ran:
nixGL just run
I was able to figure that out by following this post https://discourse.nixos.org/t/egl-program-is-unusable-when-built-with-nix/5976 ,  I don't know enough about wgpu-hal, egl, or nix to know exactly what's going on but seems to work.

Great find! Hopefully there's a way to put that straight into the nix flake directly.

nix develop
nix-channel --add https://github.com/nix-community/nixGL/archive/main.tar.gz nixgl && nix-channel --update
nix-env -iA nixgl.auto.nixGLDefault
nixGL just run

This sequence did it from me. thnx @echennells for the fix.


Add jitsi-universe as parent, remove hard coded versions

Signed-off-by: Etienne CHAMPETIER<EMAIL_ADDRESS>

I'm not keen on merging this. Thr pom comes from the upstream project and I'd try to keep changes to it to a minimum.
Additionally, the only reason we use a fork currently is because upstream hasn't released a version with our patch yet (but the patch has been accepted and committed).

They seem to be slow to release ...

'They' is Brian Wellington and he releases when there have been enough changes to make his effort on SourceForge worthwhile. He actively refuses to use a proper source layout, Maven (Central) or anything modern. The current Maven releases and pom are from me and Noa Resare at Spotify.

Thanks for the info, closing this PR


Allow overriding of default configured form_class

This is especially useful with bootstrap forms where you might want to switch to a form-inline layout even though the default is a form-horizontal.
e.g.
config.form_class = "form-horizontal" # configured default

simple_form_for @user, form_class: "form-inline"

I recognize that this was (somewhat) already proposed and closed in #657 and #639, but I feel like this new implementation is more straight forward, cleaner, and more discoverable without passing around non-standard html attributes. It's merely a config override.
Just throwing this out there.

I was surprised to see that there’s no link between this PR and the issue #1217. Well, now there is :-)


/usr/bin/env: node: No such file or directory

Hello,
I`m trying to integrate my Xiaomi Air Purifier with Domoticz. Followed the instructions to install miio device library and command line utility:
root@stf-pi:/usr/local# npm install --save miio npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=6.0.0"} (current: {"node":"0.10.29","npm":"1.4.21"}<EMAIL_ADDRESS>node_modules/miio ├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>root@stf-pi:/usr/local# ls bin  etc  games  include  lib  man  node_modules  sbin  share  src root@stf-pi:/usr/local# npm install -g miio npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=6.0.0"} (current: {"node":"0.10.29","npm":"1.4.21"}) /usr/local/bin/miio -> /usr/local/lib/node_modules/miio/cli/index.js<EMAIL_ADDRESS>/usr/local/lib/node_modules/miio ├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Not sure how to interpret this output. Unfortunately when trying to discover the device:
root@stf-pi:/usr/local# miio --discover --sync /usr/bin/env: node: No such file or directory
What am I missing? Unfortunately my linux knowledge is limited.

it sounds like you have an extremely old version of node installed. you should update it.

I did an apt-get update & upgrade, then npm update -g miio, but the results are te same

apt-get upgrade doesn’t get you a recent version of node if you’re running on an old unmaintained version of debian or ubuntu. node 0.10.29 is from 2014. If you don’t want to update your system to a new release, you should be able to get a newer node via launchpad ppa’s or something like that. It’s advisable to update your OS though, as use of miio implies it’s network connected and it’s a good idea to stay up to date with security updates on a linux system.

I run the latest version of Raspbian on RPi 3b, so I`m surprised that it was installing such an old version.
I ended up uninstalling nodejs and installing the latest version using:
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
apt-get install nodejs -y
Then installed miIO Device Library again. Everything works perfectly now.
Thanks @Bluebie for your tips!


Swapna/eliminate convert into reduce min

https://jira.devtools.intel.com/browse/CVS-28831

Split the convert elimination across 2 passes. 1. Original pass nop_elimination eliminates convert with destination_type same as element_type. 2. New pass convert_elimination for MASKRCNN use contains specific eliminations for MASKRCNN


Uncaught (in promise) DOMException

F´ Version
F' GDS 2.0

Affected Component
loader.js

Problem Description
On initial load or refresh of the page Chrome complains about the following error:

How to Reproduce

From Chrome dev tool setting enable Preserve Log
Hard Refresh GDS by pressing Shift and Refresh button
Observe Chrome error log in the dev tool

Expected Behavior
There should be no error when refreshing page

Root cause:

Chrome now disallows synchronous XHR during page dismissal when the page is being navigated away from or closed by the user. This involves the following events (when fired on the path of page dismissal): beforeunload, unload, pagehide, and visibilitychange.
Synchronous XHR is on the deprecation path. It hurts the end user experience.

See reference
The issue is the following:
https://github.com/fprime-community/fprime-gds/blob/733010ce30a478ed53b755173c9f46797271b4e5/src/fprime_gds/flask/static/js/loader.js#L137
The XMLHttpRequest third argument is async: bool. In the line above the async will be false when method is DELETE.
The destroy function is requesting a sync DELETE request (line 190 of loader.js) which is called from line 40 of gds.js during window.onbeforeunload:
https://github.com/fprime-community/fprime-gds/blob/733010ce30a478ed53b755173c9f46797271b4e5/src/fprime_gds/flask/static/js/loader.js#L186-L191
https://github.com/fprime-community/fprime-gds/blob/733010ce30a478ed53b755173c9f46797271b4e5/src/fprime_gds/flask/static/js/gds.js#L39-L41

Confirmed that in the current GDS setup the DELETE session is not fired. Chrome ignores synchronous calls at onbeforeunload event.
It seems there is no reliable way to inform the server when page is unloads.

Avoid unload and beforeunload
In the past, many websites have used the unload or beforeunload events to send analytics at the end of a session. However, this is extremely unreliable.

See MDN reference
Modern Browsers ignore synchronous calls on beforeunload event. So there is no point to keep the following:
https://github.com/fprime-community/fprime-gds/blob/733010ce30a478ed53b755173c9f46797271b4e5/src/fprime_gds/flask/static/js/loader.js#L137
So the above should be changed to:
xhttp.open(method, endpoint + "?_no_cache=" + random + "&session=" + _self.session, true);

There are two ways to delete the session:

One way to DELETE session is when Browser visibility is hidden:

document.addEventListener('visibilitychange', function logData() {
    if (document.visibilityState === 'hidden') {
        _loader.destroy();
    }
  });

The above will still not delete the session on unload, but it should be fine since the session ID will change after Browser refresh.

Creating a no-op loop for several seconds:

window.addEventListener('beforeunload', function (e) {
    _loader.destroy();
    let counter = 0;
    for (let i = 0; i < 1000000 ; i++){
        counter += 1;
    }
    return counter;
});

The above will fire beforeunload event.

Closing this, says it was merged.


Use CURIEs to link Germline to Repertoire/Rearrangement

Should resolve Task 3 in #157

link repertoire/rearrangement to germline. The link is currently at the rearrangement level but might want to reconsider this, maybe at the repertoire level with software processing and annotation.

See https://github.com/airr-community/airr-standards/issues/157#issuecomment-921872075 for discussion.

That task item is old, it's saying the germline database link is at the rearrangement level, but this is no longer true, it was put in DataProcessing awhile ago. Unless this is referring to something else...

For me this is addressing something else. The issue that this is capturing is formalizing that we will use CURIEs to refer to Germline objects, either Germline sets or Germline Genes - currently we have no formal indication as to what format fields like germline_set_id and germline_database take on and the formats we do have aren't really "computable". A generic string designation is "unsatisfactory" and CURIEs solve this problem 8-)
From https://github.com/airr-community/airr-standards/issues/157#issuecomment-921872075 (with some edits) I suggested we could use CURIE nomenclature for Germline IDs as follows:

In our current DataProcessing object, we have germline_database. This could either be changed to refer to a CURIE that points to a GermlineSet (e.g. germline_database = "OGRDB_GERMLINESET:42") rather than a string or to treat it like an ontology if we want to have a text description of the germline database used as well as have an identifier for it (e.g. germline_database.label = "OGRDB Germline, downloaded 2021-09-17" and germline_database.id = "OGRDB_GERMLINESET:42". Similarly, this could be used to provide a more concise description when an IMGT germline set is used (e.g. germline_database = "IMGT:201736-4"). Presumably even if we re-engineer DataProcessing, something similar would still exist. DataProcessing objects will need to refer to the GermlineSets that were used to perform the data processing...
subject.genotype already refers to GermlineSets, so no work needs to be done there to reference GermlineSet but we need to specify a more rigorous mechanism for specifying a germline_set_id.
If we wanted to go even further, we could add rearrangement fields that store gene IDs for VDJC calls. v_call = "IGHV1-1*01", v_call_id = "OGRDB_GENE:44". This of course could be derived from going back to the Repertoire and presumably looking up v_call in the germline_database stored in the DataProcessing object so would be redundant.

@williamdlees a question regarding connecting OGRDB Germline Sets to the AIRR Schema. I was just looking at OGRDB's germline sets, and was wondering if I understood how things were working.
On OGRDB the ID of the Germline Set is referenced in the URL as such: https://ogrdb.airr-community.org/germline_set/3
On the History tab for this germline set it says this is G00003.
If I wanted to refer to this Germline Set in the AIRR Schema how would I go about doing that? There seem to be two places where this might occur:
Genotype.documented_alleles.germline_set_ref
GermlineSet.germline_set_id
If we used the AIRR CURIE schema, we could have an OGRDB CURIEMap as follows:
  OGRDB_GERMLINESET:
    type: catalog
    default:
      map: OGRDB
      provider: OGRDB
    map:
      OGRDB:
        iri_prefix: "https://ogrdb.airr-community.org/germline_set/"

If I then set Genotype.documented_alleles.germline_set_ref = "OGRDB_GERMLINESET:3" then that CURIE would resolve to:
https://ogrdb.airr-community.org/germline_set/3
Now this is different than what you have in the AIRR Spec description, as the description for Genotype.documented_alleles.germline_set_ref says:
        germline_set_ref:
            type: string
            description: Unique identifier of the germline set and version, in standardized form (Repo:Label:Version)
            example: OGRDB:Human_IGH:2021.11
            x-airr:
                nullable: false

What are your thoughts on using the CURIE mechanism above to resolve this field? If you look at the versions tab on OGRDB for this Germline it has all the above information:
[BALB/c IGH](https://ogrdb.airr-community.org/germline_set/3)	Mouse	BALB/c	IGH	1	2022-02-28

Pasting this here as the mail reply didn't make it in to the thread
It’s probably best to get the set from the REST API  at https://ogrdb.airr-community.org/api/rather than the UI. Sorry, I could publish this a bit better, I will put some details on the Germline Sets page for a start.
The germline set will always have an identifier G followed by a number and the identifier will not change between versions.
From the API you’d retrieve the set as, for example, https://ogrdb.airr-community.org/api/germline/set/G00003/1 . It sounds as though this would map quite nicely – maybe OGRDB_GERMLINESET:G00003:1 ??
If that’s ok I can change the examples

Hi Brian,
It’s probably best to get the set from the REST API  at https://ogrdb.airr-community.org/api/rather than the UI. Sorry, I could publish this a bit better, I will put some details on the Germline Sets page for a start.
The germline set will always have an identifier G followed by a number and the identifier will not change between versions.
From the API you’d retrieve the set as, for example, https://ogrdb.airr-community.org/api/germline/set/G00003/1 . It sounds as though this would map quite nicely – maybe OGRDB_GERMLINESET:G00003:1 ??
If that’s ok I can change the examples
All the best
William
From: Brian Corrie @.>
Sent: 29 March 2022 20:50
To: airr-community/airr-standards @.>
Cc: William Lees @.>; Mention @.>
Subject: Re: [airr-community/airr-standards] Use CURIEs to link Germline to Repertoire/Rearrangement (#553)
@williamdlees https://github.com/williamdlees  a question regarding connecting OGRDB Germline Sets to the AIRR Schema. I was just looking at OGRDB's germline sets, and was wondering if I understood how things were working.
On OGRDB the ID of the Germline Set is referenced in the URL as such: https://ogrdb.airr-community.org/germline_set/3
On the History tab for this germline set it says this is G00003.
If I wanted to refer to this Germline Set in the AIRR Schema how would I go about doing that? There seem to be two places where this might occur:
Genotype.documented_alleles.germline_set_ref
GermlineSet.germline_set_id
If we used the AIRR CURIE schema, we could have an OGRDB CURIEMap as follows:
OGRDB_GERMLINESET:
type: catalog
default:
map: OGRDB
provider: OGRDB
map:
OGRDB:
iri_prefix: "https://ogrdb.airr-community.org/germline_set/"
If I then set Genotype.documented_alleles.germline_set_ref = "OGRDB_GERMLINESET:3" then that CURIE would resolve to:
https://ogrdb.airr-community.org/germline_set/3
Now this is different than what you have in the AIRR Spec description, as the description for Genotype.documented_alleles.germline_set_ref says:
    germline_set_ref:
        type: string
        description: Unique identifier of the germline set and version, in standardized form (Repo:Label:Version)
        example: OGRDB:Human_IGH:2021.11
        x-airr:
            nullable: false

What are your thoughts on using the CURIE mechanism above to resolve this field? If you look at the versions tab on OGRDB for this Germline it has all the above information:
BALB/c IGH Mouse   BALB/c  IGH     1        2022-02-28
—
Reply to this email directly, view it on GitHub https://github.com/airr-community/airr-standards/issues/553#issuecomment-1082310508 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXBI7OEVSVNNUM72HBPM2LVCNNIJANCNFSM5ER64TLQ .
You are receiving this because you were mentioned.Message ID: @.***>

@williamdlees has this been resolved? I am triaging AIRR v2.0 issues 8-)

Currently it doesn't look like germline_set_ref is a CURIE mappable entity as there are two levels to the reference (e.g. OGRDB:Human_IGH:2021.11) so maybe not. But if that is the case for v2.0 we should remove this issue from v2.0 and perhaps close it if that field can't be mapped with a CURIE.

See my note from 2022(!) in the thread. I am no expert in CURIES but if representing them in the way I suggest is compatible with the way you outline further up the thread, there’s no work involved, it’s very do-able.On 6 Feb 2024, at 20:53, Brian Corrie @.***> wrote:
Currently it doesn't look like germline_set_ref is a CURIE mappable entity as there are two levels to the reference (e.g. OGRDB:Human_IGH:2021.11) so maybe not. But if that is the case for v2.0 we should remove this issue from v2.0 and perhaps close it if that field can't be mapped with a CURIE.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were assigned.Message ID: @.***>

@williamdlees I am almost 100% sure that CURIEs only have a single IRI tag followed by a single identifier. So something like "OGRDB_GERMLINESET:G00003:1" mapping to "https://ogrdb.airr-community.org/api/germline/set/G00003/1" would not be valid CURIE processing/parsing.
Don't get me wrong, the ID "OGRDB_GERMLINESET:G00003:1" is easily parsed as an ID, but it does not fit the CURIE format. If that was a CURIE and the IRI tag "OGRDB_GERMLINESET" was mapped to "https://ogrdb.airr-community.org/api/germline/set/" then this would resolve to:
https://ogrdb.airr-community.org/api/germline/set/G00003:1
I think it is fine to have the ID as you have it defined if that fits your needs. It just isn't CURIE parseable, and it can't go into the CURIEMap object in the spec.
So we could consider this resolved as is. We have decided that CURIEs don't fit the needs of germline set IDs. Therefore we don't need to change your ID definition and we don't need to update the CURIEMap. I think that is the most simple path forward. This can always be revisited later...

And this is somewhat of an aside, but as part of the AKC work, the OGRDB API needs to be reviewed and updated to bring it more in compliance as well as add missing functionality. It might be more efficient to do all that together instead of piecemeal.
Nevertheless, my opinion is that germline_set_ref should be a CURIE mappable entity.

@williamdlees The relavant documentation can be found here:

CURIE: https://www.w3.org/TR/2010/NOTE-curie-20101216/#s_syntax
IRI: https://datatracker.ietf.org/doc/html/rfc3987#section-2.2

In a nutshell: You can have a : as part of the reference, but not of the prefix. To avoid potential confusion (and overly simplified parsing routines), it would be best to avoid having more then a single colon.  . and / should be save.

In a nutshell: You can have a : as part of the reference, but not of the prefix. To avoid potential confusion (and overly simplified parsing routines), it would be best to avoid having more then a single colon. . and / should be save.

@bussec is that correct? Would not '/' cause problems. CURIEs rely on IRIs and '/' is a special character in IRI space. If you have a '/' in the CURIE reference it would be interpreted as a '/' in the IRI and interpreted as an IRI path, no?
Now I suppose if you had OGRDB_GERMLINESET:G00003/1 and "OGRDB_GERMLINESET" was mapped to "https://ogrdb.airr-community.org/api/germline/set/" then this would resolve to an IRI as:
https://ogrdb.airr-community.org/api/germline/set/G00003/1
That is what @williamdlees is looking for, and it would work I suppose, but encoding IRI path in the CURIE reference doesn't seem to be how CURIEs were intended to be used???

It’s not a question of fitting my needs, the choice of : as a delimiter between the germline set and version was arbitrary. Is there a convention for that delimiter in the curie world

@williamdlees I think the question that I am unclear on is are there two name/ID spaces, each with their own set of identifiers ("germline set" and "version") or can there be one name/ID space ("versioned germline set"). With one name space you could:
OGRDB_GERMLINESET:G00003-1 with "OGRDB_GERMLINESET=https://ogrdb.airr-community.org/api/germline/set/"
Would give you: https://ogrdb.airr-community.org/api/germline/set/G00003-1
Or
OGRDB_GERMLINESET:G00003-1 with "OGRDB_GERMLINESET=https://ogrdb.airr-community.org/api/germline/set?"
Which would give you a get query: https://ogrdb.airr-community.org/api/germline/set?G00003-1
The query approach might be the better one, as then you can parse the ID in what ever way you want. You could encode whatever you wanted in the ID and the query would parse it and return the correct information for that ID.
Note if you needed both API interfaces, you could make it such that:
https://ogrdb.airr-community.org/api/germline/set?G00003-1
https://ogrdb.airr-community.org/api/germline/set/G00003/1
gave the same information, the first being the one that was used for CURIE resolution.

Thanks Brian. Sorry for the delay in replying, I have looked at this from time and failed to come to a decision on which approach to take, because it doesn’t make much odds from a coding point of view. I think the one you suggest is probably the cleanest:
OGRDB_GERMLINESET:G00003-1 with "OGRDB_GERMLINESET=https://ogrdb.airr-community.org/api/germline/set?"
Which would give you a get query: https://ogrdb.airr-community.org/api/germline/set?G00003-1
William
From: Brian Corrie @.>
Sent: Friday, February 9, 2024 5:21 PM
To: airr-community/airr-standards @.>
Cc: William Lees @.>; Mention @.>
Subject: Re: [airr-community/airr-standards] Use CURIEs to link Germline to Repertoire/Rearrangement (#553)
It’s not a question of fitting my needs, the choice of : as a delimiter between the germline set and version was arbitrary. Is there a convention for that delimiter in the curie world
@williamdlees https://github.com/williamdlees  I think the question that I am unclear on is are there two name/ID spaces, each with their own set of identifiers ("germline set" and "version") or can there be one name/ID space ("versioned germline set"). With one name space you could:
OGRDB_GERMLINESET:G00003-1 with "OGRDB_GERMLINESET=https://ogrdb.airr-community.org/api/germline/set/"
Would give you: https://ogrdb.airr-community.org/api/germline/set/G00003-1
Or
OGRDB_GERMLINESET:G00003-1 with "OGRDB_GERMLINESET=https://ogrdb.airr-community.org/api/germline/set?"
Which would give you a get query: https://ogrdb.airr-community.org/api/germline/set?G00003-1
The query approach might be the better one, as then you can parse the ID in what ever way you want. You could encode whatever you wanted in the ID and the query would parse it and return the correct information for that ID.
Note if you needed both API interfaces, you could make it such that:
https://ogrdb.airr-community.org/api/germline/set?G00003-1
https://ogrdb.airr-community.org/api/germline/set/G00003/1
gave the same information, the first being the one that was used for CURIE resolution.
—
Reply to this email directly, view it on GitHub https://github.com/airr-community/airr-standards/issues/553#issuecomment-1936303993 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXBI7LLV7UWIAOHC7BLUR3YSZLIXAVCNFSM5ER64TL2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJTGYZTAMZZHEZQ .
You are receiving this because you were mentioned.Message ID: @.***>

@bcorrie After some meditation on the sacred scripture of RFC3987 and the epiphany that their notation is indentation-sensitive, one correction and one comment to my previous statement:

Correction: RFC3987 does indeed allow colons in the irelative-ref, but not in the first segment (Page 7)
Comment: The slash / is a special character in so far as it separates segments of the combined path. However, this should not be relevant to the construction of an IRI from a CURIE (which was the original question), it only becomes relevant on the side of the resolving service.

@williamdlees I think that would work. I think all we would need to do is update the descriptions for the three instances of germline_set_ref in the spec, is that correct?

@williamdlees , can we remove this from the AIRR v2.0 milestone and move it to the AKC milestone? Do we need this functionality in the AIRR schema for v2.0? Do you think we can resolve questions about prefix and target uri?

I'm happy to work with whatever milestone makes sense to the group.
You may be aware that, with substantial input from Scott, we have drafted an implemented a revised API for ogrdb which is openapi3 compatible. Details here: https://ogrdb.airr-community.org/api_v2/swagger/.
I'm afraid I don't feel confident to draft a CURIE definition that will pass muster with the group, as the history on this thread shows, but if someone else can propose one that is satisfactory, and complies with our API schema, I am very happy to implement it in OGRDB.


Avatars do not work for ens domains with emoji characters

Right now, anyone who is trying to add an avatar to their ENS domain that includes a domain is spinning their wheels, paying gas fees to do something that cannot currently be done. Any help with this would be a major benefit to the ENS community. If it can't be done, ENS should add an alert to addresses featuring an Emoji informing the user that avatars will not work for ENS domains including Emojis. Thank you.

Hi there, thank you for the issue. I absolutely understand your concern. We are currently on this and will be updating our service as soon as possible to align with other ens normalization efforts.

Has this bug been solved? I just had a ticket with a user who successfully set the avatar on his emoji name:

women☕.eth [Metadata] [Background image]

Partially yes, but we are still not switched to the new normalization library, which will enable it to all valid emoji names pretty soon.


Anyone know if network Protection wil support Macs  in the future?

Hi Alle
Anyone know if network Protection wil support Macs  in the future?

@Kongcecil .Might be supported, Microsoft  already started concentrating to improve more features on Microsoft defender

Looking forward to more features in the OSX version, hopefully Microsoft have some news soon
Thanks.


Showing blank page after the build

Thank you for the code.
It works well on dev runs. But when the build is made, it shows a blank page.

Can you please tell me how I can solve this?

Hi @hafsalm, it should be an issue of configuration/package. Could you share your nuxt.config.ts and your package.json` file?

Hi @gurvancampion, Thank you for your reply.
Here is my nuxt.config.js. I believe I didn't touch this file.
import vuetify from 'vite-plugin-vuetify'
import type { ElectronOptions } from 'nuxt-electron'

// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  ssr: false,
  router: {
    options: {
      hashMode: true,
    },
  },
  vite: {
    server: {
      middlewareMode: false,
    },
  },
  app: {
    baseURL: './',
  },
  modules: [
    async (options, nuxt) => {
      // @ts-expect-error: remove ts error
      nuxt.hooks.hook('vite:extendConfig', config => config.plugins.push(
        vuetify(),
      ))
    },
    ['nuxt-electron', <ElectronOptions>{
      include: ['electron', 'server'],
    }],
  ],
  hooks: {
    // Remove aliases to only have one
    // https://github.com/nuxt/framework/issues/7277
    'prepare:types': function ({ tsConfig }) {
      const aliasesToRemoveFromAutocomplete = ['~~', '~~/*', '@', '@/*', '@@', '@@/*']
      for (const alias of aliasesToRemoveFromAutocomplete) {
        if (tsConfig.compilerOptions!.paths[alias])
          delete tsConfig.compilerOptions!.paths[alias]
      }
    },
  },
})

and here is my package.json. I have updated some dependencies versions to make it run dev.
{
  "name": "nuxt-electron-prisma-trpc",
  "version": "0.0.1",
  "private": true,
  "main": "dist-electron/electron/main.js",
  "scripts": {
    "postinstall": "prisma generate & nuxt prepare",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "build": "nuxt generate && electron-builder",
    "preview": "nuxt preview",
    "pack": "electron-builder",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  },
  "dependencies": {
    "@prisma/client": "4.7.1",
    "@trpc/client": "^10.4.3",
    "@trpc/server": "^10.4.3",
    "vite-electron-plugin": "^0.8.3",
    "vite-plugin-electron": "^0.15.4",
    "vuetify": "^3.0.6",
    "zod": "^3.19.1"
  },
  "devDependencies": {
    "@antfu/eslint-config": "^0.33.1",
    "electron": "^27.1.3",
    "electron-builder": "^24.9.1",
    "eslint": "^8.55.0",
    "nuxt": "^3.2.0",
    "nuxt-electron": "^0.4.0",
    "prisma": "^5.6.0",
    "typescript": "^5.3.2",
    "vite-plugin-electron-renderer": "^0.14.5",
    "vite-plugin-vuetify": "^1.0.2"
  },
  "prisma": {
    "schema": "server/prisma/schema.prisma"
  }
}

@hafsalm I updated the dependencies, could you try on the latest master branch?
If you encounter some errors during the installation or build step, try to do a clean installation by deleting your node_modules and pnpm-lock.yaml  and run a pnpm i


Input field is displayed when the size of the ketcher is changed

Steps to Reproduce

Change size of the ketcher
Check input field behind it.

Actual behavior
When I put a catcher in the frame of my application, I see an input field behind the ketcher.
Expected behavior
Input field should not be showed
Screenshots

@bodyangug! Thanks for reporting an issue, but it seems to be a duplicate of https://github.com/epam/ketcher/issues/1835
So, closing this as duplicate.


Add covariance estimators

Covariance isn't a distance function, as it can be negative. It however, is often used for similarity search over time-series and should be implemented in SimSIMD.

I would like to take this task!

Thanks, @amirzia! I think include/simsimd/probability.h is a good place for those 🤗


Upgrading to 0.3.3 error

From the console when clicking on the "preview" image to open the lightbox this error appears:
invariant.js:39 Uncaught Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's render method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).
The page seems to hang then I try clicking again and get this error:
ReactTransitionGroup.js:132 Uncaught TypeError: Cannot read property 'componentWillEnter' of undefined
see: https://github.com/neptunian/react-photo-gallery/issues/5

The version of React and React DOM I'm using is 0.14.8.  The user claims updating react-images to 0.4.x and updating react & react-dom to 15.x fixes it, so there seems to be compatibility issues.

@neptunian is this still an issue?

@jossmac  I ended up updating everything but probably.  Might want to be careful using the ^ in package.json and letting things auto update to minor versions?  I've started using ~

@neptunian might be time to up the major so we can properly follow semver?