Refactoring of the dispatch logic to improve performance

NOTE: Still a work in progress, tests are not yet all updated so they fail.
This PR addresses the performance issues introduced by this other PR when one or more of the following is true:

Lots of workers (> 200)
Lots of user classes (> 25)
High spawn rate (> 100)

I completely refactored the UsersDispatcher. In fact, it is almost completely different from before and a lot simpler. I also ditched the distribution.py logic as I'm now using this great little library which allows for a nginx-like weighted round-robin dispatch of the users. Ramp-down is also now supported (i.e. stopping users at a given rate).
I've implemented most of the tests to validate this new implementation in test_dispatch.py, but I've not yet updated the runners module.
I'm still missing the logic to ensure that all workers run the expected users prior to beginning a ramp-up/down. I'll implement it in the next few days.
I implemented a small benchmark with the following config:

Ramp-up from 0 to 100 000 users
1000 workers
50 user classes with varying weights
5000 spawn rate

Each dispatch iteration takes around 130ms to compute which is very good. It's orders of magnitude faster than before. The performance is similar for the inverse scenario from 100 000 to 0 users.

I found two issues: (kind of minor, but I'll hold off on the merge for now)
Connecting a single worker and then shutting it down prints a message that locust will shut down, but it never happens:
locust -f demo.py -u 120 --master --expect-workers 2
[2021-07-12 13:33:05,825] lars-mbp.local/INFO/root: Waiting for workers to be ready, 0 of 2 connected
[2021-07-12 13:33:06,054] lars-mbp.local/INFO/locust.runners: Client 'lars-mbp.local_640ed5421ae94f4889c952b12cc63c8e' reported as ready. Currently 1 clients ready to swarm.
[2021-07-12 13:33:06,828] lars-mbp.local/INFO/root: Waiting for workers to be ready, 1 of 2 connected
...
[2021-07-12 13:33:19,871] lars-mbp.local/INFO/root: Waiting for workers to be ready, 1 of 2 connected
[2021-07-12 13:33:20,670] lars-mbp.local/INFO/locust.runners: Client 'lars-mbp.local_640ed5421ae94f4889c952b12cc63c8e' quit. Currently 0 clients connected.
[2021-07-12 13:33:20,671] lars-mbp.local/INFO/locust.runners: The last worker quit, stopping test.
[2021-07-12 13:33:20,872] lars-mbp.local/INFO/root: Waiting for workers to be ready, 0 of 2 connected

Eventually I shut down the master, and got a stacktrace:
...
[2021-07-12 13:34:42,129] lars-mbp.local/INFO/root: Waiting for workers to be ready, 0 of 2 connected
^CKeyboardInterrupt
2021-07-12T11:34:42Z
Traceback (most recent call last):
  File "/usr/local/bin/locust", line 33, in <module>
    sys.exit(load_entry_point('locust', 'console_scripts', 'locust')())
  File "/Users/lafp/git/locust/locust/main.py", line 323, in main
    time.sleep(1)
  File<EMAIL_ADDRESS>line 166, in sleep
    hub.wait(t)
  File "src/gevent/_hub_primitives.py", line 46, in gevent._gevent_c_hub_primitives.WaitOperationsGreenlet.wait
  File "src/gevent/_hub_primitives.py", line 55, in gevent._gevent_c_hub_primitives.WaitOperationsGreenlet.wait
  File "src/gevent/_waiter.py", line 154, in gevent._gevent_c_waiter.Waiter.get
  File "src/gevent/_greenlet_primitives.py", line 61, in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch
  File "src/gevent/_greenlet_primitives.py", line 61, in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch
  File "src/gevent/_greenlet_primitives.py", line 65, in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch
  File "src/gevent/_gevent_c_greenlet_primitives.pxd", line 35, in gevent._gevent_c_greenlet_primitives._greenlet_switch
KeyboardInterrupt

Lets discuss my proposed changes after merging.


How to get json in paython

I use bellow code but not get in json formate in paython like bellow command
youtube-dl -j url

ydl_opts = {
'dumpjson': True,
}
ydl = YoutubeDL(ydl_opts)
info  = ydl.extract_info(url, download=False)

Why ydl_opts dumpjson not working?
Please help me if and mistek in code then please give me correct code of python.
Thanks in advance.
I use latest youtube-dl version with django..

There is no such option dumpjson. Moreover you don't need any option if you get it as return value of extract_info that works fine.

Is extract_info return all avalible formate or only one?
If posible get all avalible formate then how to get all avalible formate?
May be my code return only one url.

Is extract_info return all avalible formate or only one?
If posible get all avalible formate then how to get all avalible formate?
May be my code return only one formate.

Is extract_info return all avalible formate or only one?

all

Okay thanks so much fot your help...

need some help:
i use django but only get one url when i use bellow code. how to get all url in loop with link?
please help me..
from django.shortcuts import render
from django.http import HttpResponse
from youtube_dl.version import version
from youtube_dl import YoutubeDL
def index(request):
url = 'https://www.youtube.com/watch?v=pvAsqPbz9Ro'
ydl = YoutubeDL()
info  = ydl.extract_info(url, download=False)
vurl = info['url']
vtitle = info['title']
ext = info['ext']
output = "<a href="+ vurl + "&title="+ vtitle +">Download - "+ ext + ""
return HttpResponse(output)

Check info['formats'] instead of info['url']


adding startTest()/stopTest() to high system limit tests

@njjc Could you review and merge when the final tests pass.  I'd like to get this into dev so that these changes will become part of the LDV test orgs (though I guess that won't change anything since they are all seeAllData false!)


Lowercase I in createBuiltinActions

Fixes #269
:heavy_check_mark: Checklist

[ ] Added tests for new functionality and regression tests for bug fixes
[ ] Screenshots of before and after attached (for UI changes)
[ ] Added or updated documentation (if applicable)

https://app.shortcut.com/larder/story/4763

I think you should bump the version as well. Otherwise README.md won't update npmjs.com.

@Xantier done


Captcha Tabindex not working

The tabindex for captcha is not working.
However if I change
    public $options = ['class' => 'form-control'];
tp
    public $options = ['class' => 'form-control'  ,'tabindex' => '3'];
in
/vendor/yiisoft/yii2/captcha/Captcha.php
the tabindex works.
Is this an error of Yii2?

echo $form->field($model, 'captcha')->widget(Captcha::className(), [
	'options' => ['class' => 'form-control', 'tabindex' => 3],
])->hint('Click on the image to retrieve a new verification code.');

Works fine for me.


[SUPPORT] Upgrade from 0.8.0 to 0.10.0 decreases Upsert performance

Describe the problem you faced
Recently, we upgraded our testing environment from Hudi 0.8.0 to Hudi 0.10.0, and after the upgrade we noticed that upsert jobs for some of our existing tables run much slower compared to how they ran in Hudi 0.8.0.
For our Hudi tables, we ran one bulk_insert job to ingest snapshot, and schedule an upsert job every 10 mins to ingest incremental updates after the completion of bulk_insert job.
To reproduce the issue, we ran upsert job on a table with the size around 1.8T. The job took in 11 tsv files (< 150 MB in total) containing both new records and updates.
In Hudi 0.8.0, the job took 8.5 mins to complete whereas in Hudi 0.10.0, the job took 19 mins. And we notice that the main difference seemed to come from the steps "Getting small files from partitions".
0.8.0

0.10.0

We also ran the same upsert job as a fresh table that has no pre-existing snapshot and incremental data, and the job in both 0.8.0 and 0.10.0 took around 8 mins to complete.
Based on the result, we speculate that in Hudi 0.10.0, the upsert performance somehow drops as more upsert jobs completed which make the size of the table grow, whereas in Hudi 0.8.0, we didn't notice such kind of performance degradation.
Environment Description

Hudi version : 0.10.0
Spark version : 2.4.7
Hive version : 2.3.7
Hadoop version : 2.10.1
Storage (HDFS/S3/GCS..) : S3
Running on Docker? (yes/no) : no
AWS EMR: 5.33.0, 1 master(r6g.16xlarge) with 20 cores(r6g.16xlarge)

Additional context
Spark configs:
--deploy-mode cluster
--executor-memory 43g
--driver-memory 43g
--executor-cores 6
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer
--conf spark.sql.hive.convertMetastoreParquet=false
--conf spark.hadoop.fs.s3.maxRetries=30
--conf spark.yarn.executor.memoryOverhead=5g

Hudi configs:
hoodie.consistency.check.enabled -> true
hoodie.datasource.write.table.type -> "COPY_ON_WRITE"
hoodie.datasource.write.keygenerator.class -> "org.apache.hudi.keygen.ComplexKeyGenerator"
hoodie.upsert.shuffle.parallelism -> 1500
hoodie.parquet.max.file.size -> 500 * 1024 * 1024
hoodie.datasource.write.operation -> "upsert"
hoodie.metadata.enable -> true
hoodie.metadata.validate -> true
hoodie.fail.on.timeline.archiving -> false
hoodie.clean.automatic -> true
hoodie.cleaner.commits.retained: 72
hoodie.keep.min.commits: 100
hoodie.keep.max.commits: 150

Please let me know if you need any more information, thanks.

Good morning,
We are experiencing the same issue with .10 and .9 (see UI below). Also using S3, but using AWS Glue not EMR. What stands out to me are the 3 consecutive 'Getting small files from partitions' stages that with 4, 20, 100 tasks respectively. The stages with 4 and 20 tasks obviously getting very poor parallelization. The identical behavior exists on my UI and ChiehFu's

Can this be tested with 0.11.0.SNAPSHOT to see if the issue still exists. Since 0.11 is going out soon there may be a window to catch and fix.

@rkkalluri where can we source the JAR file for 0.11.0.SNAPSHOT?

Clone https://github.com/apache/hudi and run mvn clean package -DskipTests -Dspark3.1.x
You should find the spark bundle under packaging/hundi-spark-bundle.
https://medium.com/@simpsons/apache-hudi-emr-set-up-1a10a5b67ce0 this blog should guide you to run a snapshot on EMR

@tjtoll what index type are you guys using, also is your data profile more upserts or appends and how much of the original data are you upserting.

@rkkalluri thanks I should be able to get .11 tested out today. We are using the default bloom index (below is our entire config).  The table is right around 1 billion records and the upsert batch we've been benchmarking with is 800K records. Our average batch is 85% updates and 15% inserts. We are partitioned by source system (we have 75~ identical source systems) and a range partition (500K records per range) on the primary key of the table which is an autoincrementing integer. The record key is set to the same key that decides the range partition.
hudi_options = {
    'hoodie.table.name': hoodie_table_name,
    'hoodie.datasource.write.table.type': 'COPY_ON_WRITE',
    'hoodie.datasource.hive_sync.use_jdbc': 'false',
    'hoodie.datasource.hive_sync.mode': 'hms',
    'hoodie.datasource.write.recordkey.field': topics[topic_name]['record_key'],
    'hoodie.datasource.write.partitionpath.field': topics[topic_name]['partition_path'],
    'hoodie.datasource.write.keygenerator.class': 'org.apache.hudi.keygen.CustomKeyGenerator',
    'hoodie.datasource.write.precombine.field': 'ts_ms',
    'hoodie.datasource.hive_sync.database': args['TARGET_DATABASE'],
    'hoodie.parquet.outputtimestamptype' : 'TIMESTAMP_MICROS',
    'hoodie.datasource.hive_sync.enable': 'true',
    'hoodie.datasource.hive_sync.table': hoodie_table_name,
    'hoodie.datasource.hive_sync.auto_create_database': 'true',
    'hoodie.datasource.hive_sync.partition_fields': (re.sub(r':.+?,', ',', topics[topic_name]['partition_path'])).split(":")[0],
    'hoodie.datasource.write.hive_style_partitioning': 'true',
    'hoodie.datasource.hive_sync.partition_extractor_class': 'org.apache.hudi.hive.MultiPartKeysValueExtractor',
    'hoodie.deltastreamer.keygen.timebased.timestamp.type': 'SCALAR',
    'hoodie.deltastreamer.keygen.timebased.timestamp.scalar.time.unit': 'microseconds',
    'hoodie.deltastreamer.keygen.timebased.output.dateformat': 'yyyyMM',
    'hoodie.deltastreamer.keygen.timebased.timezone': 'UTC',
    'hoodie.datasource.hive_sync.skip_ro_suffix' : 'true',
    "hoodie.upsert.shuffle.parallelism" : 1500,
    "hoodie.insert.shuffle.parallelism" : 1500,
    "hoodie.finalize.write.parallelism" : 1500,
    "hoodie.bulkinsert.shuffle.parallelism" : 1500,
    'hoodie.parquet.compression.codec' : 'snappy'
}

@rkkalluri I'm actually around this issue now in 0.9 and 0.10. When I switched from using a timestamp type partition and removed my hoodie.copyonwrite.record.size.estimate parameter, these stages improved to similar to 0.8 performance.
Also, we were able to get .11 built but encountered some issues. We received hive sync errors (we use glue schema registry) on the small table we tried, just to see if it worked at all. We attempted to run it for a large table and ran into the same issue. We may not get time to take another crack at it as our sprint work is taking priority for the moment.

Thanks for the update @tjtoll , what was hoodie.copyonwrite.record.size.estimate  set to before you removed it and what partition type did you switch to from timestamp type. Can you post your new hudi_options here for anyone coming here in th future.

Sure @rkkalluri - and thank you again for your help and what you do the for the community.
I switched from a timestamp partition in yyyyMM format to a range partition on the record key. The record key on the table is autoincrementing so it lent itself well to range partitioning and still leveraging the bloom index.
BEFORE:
    hudiOptions = {
        'hoodie.table.name': hoodie_table_name,
        'hoodie.datasource.write.table.type': 'COPY_ON_WRITE',
        'hoodie.datasource.hive_sync.use_jdbc': 'false',
        'hoodie.datasource.hive_sync.mode': 'hms',
        'hoodie.datasource.write.recordkey.field': topics[topic_name]['record_key'],
        'hoodie.datasource.write.partitionpath.field': topics[topic_name]['partition_path'],
        'hoodie.datasource.write.keygenerator.class': 'org.apache.hudi.keygen.CustomKeyGenerator',
        'hoodie.datasource.write.precombine.field': 'ts_ms',
        'hoodie.datasource.hive_sync.database': args['TARGET_DATABASE'],
        'hoodie.parquet.outputtimestamptype' : 'TIMESTAMP_MICROS',
        'hoodie.datasource.hive_sync.enable': 'true',
        'hoodie.datasource.hive_sync.table': hoodie_table_name,
        'hoodie.datasource.hive_sync.auto_create_database': 'true',
        'hoodie.datasource.hive_sync.partition_fields': (re.sub(r':.+?,', ',', topics[topic_name]['partition_path'])).split(":")[0],
        'hoodie.datasource.write.hive_style_partitioning': 'true',
        'hoodie.datasource.hive_sync.partition_extractor_class': 'org.apache.hudi.hive.MultiPartKeysValueExtractor',
        'hoodie.deltastreamer.keygen.timebased.timestamp.type': 'SCALAR',
        'hoodie.deltastreamer.keygen.timebased.timestamp.scalar.time.unit': 'microseconds',
        'hoodie.deltastreamer.keygen.timebased.output.dateformat': 'yyyyMM',
        'hoodie.deltastreamer.keygen.timebased.timezone': 'UTC',
        'hoodie.copyonwrite.record.size.estimate' : 50,
        'hoodie.datasource.hive_sync.skip_ro_suffix' : 'true'
    }

AFTER:
        hudiOptions = {
            'hoodie.table.name': hoodie_table_name,
            'hoodie.datasource.write.table.type': 'COPY_ON_WRITE',
            'hoodie.datasource.hive_sync.use_jdbc': 'false',
            'hoodie.datasource.hive_sync.mode': 'hms',
            'hoodie.datasource.write.recordkey.field': topics[topic_name]['record_key'],
            'hoodie.datasource.write.partitionpath.field': topics[topic_name]['partition_path'],
            'hoodie.datasource.write.keygenerator.class': 'org.apache.hudi.keygen.CustomKeyGenerator',
            'hoodie.datasource.write.precombine.field': 'ts_ms',
            'hoodie.datasource.hive_sync.database': args['TARGET_DATABASE'],
            'hoodie.parquet.outputtimestamptype' : 'TIMESTAMP_MICROS',
            'hoodie.datasource.hive_sync.enable': 'true',
            'hoodie.datasource.hive_sync.table': hoodie_table_name,
            'hoodie.datasource.hive_sync.auto_create_database': 'true',
            'hoodie.datasource.hive_sync.partition_fields': (re.sub(r':.+?,', ',', topics[topic_name]['partition_path'])).split(":")[0],
            'hoodie.datasource.write.hive_style_partitioning': 'true',
            'hoodie.datasource.hive_sync.partition_extractor_class': 'org.apache.hudi.hive.MultiPartKeysValueExtractor',
            'hoodie.deltastreamer.keygen.timebased.timestamp.type': 'SCALAR',
            'hoodie.deltastreamer.keygen.timebased.timestamp.scalar.time.unit': 'microseconds',
            'hoodie.deltastreamer.keygen.timebased.output.dateformat': 'yyyyMM',
            'hoodie.deltastreamer.keygen.timebased.timezone': 'UTC',
            'hoodie.datasource.hive_sync.skip_ro_suffix' : 'true',
            'hoodie.parquet.compression.codec' : 'snappy'
        }

@tjtoll : I vaguely remember discussing a similar issue (4, 20, 100) in slack or somewhere. were you involved in any of it. did we have any fix around it ?

@nsivabalan we still see these behavior but I didn’t see this in slack. The stages in the Spark UI are more clear in versions after 0.9.0 but we are still using that version


fixed: button text not showing properly on hover

Description

Fixed the home page buttons text color which were not showing properly on hover

Related Issues

Closes #316

Screenshots / videos (if applicable)

https://github.com/user-attachments/assets/59fda461-3068-4cef-b0a2-624f1066540f

hey @coderKrysio please don't be discouraged, but you shouldn't do it like this. Below, I'll show you what you should avoid:

You created a Pull Request without assigning your issue, which is not the correct way to work on open source.
I apologize, but I need to close this PR for now.
Next time, please keep this in mind. I'm not trying to instruct you; I'm just trying to provide the correct steps to work on open source.

Thank you!


Add test for attaching aspect to a different element

Hey core team. I'm working on aspect support in the declarative connector framework @itwin/pcf. The aspect API gave me a hard time with my declarative synchronizer fir and I suspect @itwin/connector-framework is going to run into the same problems when it eventually supports aspects.
This may be the same problem as #3969: currently the aspect API doesn't give you a handle on the aspect you insert, and it's just gone forever in the iModel, because aspects don't have codes or provenance.
It seems like updateAspect fails when you change the Element navigation property of its argument, which has type RelatedElementProps. In the attached test, the backend seems to consider its updated argument a different aspect even though it has the same ECInstanceId.
I'm confused and will appreciate any insight. My workaround to this in pcf is just to delete and reinsert the aspect.

Sorry Paul the CI got upset with me when I didn't include one last time.

I think the premise "should be able to change the element to which an aspect attaches" is flawed. @swwilson-bsi does it make sense to talk about taking an existing aspect and relocating it to a different element?

Sorry Paul the CI got upset with me when I didn't include one last time.

No worries - you still gotta run rush change, just enter an empty string for changes uninteresting to end users.

I haven't had problems changing the navigation properties (e.g., Parent) of elements when using updateElement so I thought updateAspect would behave the same. But I don't understand the implementation of aspects so this is from the perspective of an API consumer.

The call to updateAspect threw a NotFound error, right? That is because the boats element does not have that aspect.
Continuing with Paul's point, an aspect is like an optional property of an element. An element has one or more aspects. Just as you don't "move" a property from one element to another, you don't "move" an aspect either.
It may be a little confusing because an ECRelationship is used to connect an aspect to its owning element. Note that the ElementOwnsUniqueUniqueAspect ECRelationship has "embedding" strength. (Ditto for ElementOwnsMultiAspects.) That means that an element aspect is conceptually part of the element that owns it.
An aspect's identity is best thought of as the ID of the owning element, plus the aspect's ECClassId. That is why insertAspect does not return the the internal ecinstanceid of the aspect. I think the BIS core docs could be a little clearer on that point.
At a mechanical level, I can understand why one might think of moving an aspect from one element to another. But there is no API for that. You'd have call deleteAspect on the harbor and then insertAspect on the boats.
A connector that updates aspects must look them up on the owning element by ECClassId. If the source repository has changed such that a certain BIS element should no long have a given aspect, then the connector must call deleteAspect, identifying that element. If some other BIS element should have a similar aspect, then the connect must call insertAspect, identifying that other element.
Do you think the BIS core docs should be expanded to make this clearer? Are we missing some overview docs? @diegoalexdiaz

Thanks for bringing up the need for more clarity on the article about element-aspects, @swwilson-bsi. We'll improve it for the next round of enhancements for the BIS guide.

Closing as a misunderstanding, thank you all for helping me understand how aspects are identified in the backend. I especially appreciate the advice for implementing connectors from Sam. I do still think the private ID of bis:ElementMultiAspect should be exposed by the API.
I think Sam's linked section is clear. I didn't read it closely enough to realize that changing the Element navigation property identifies a different aspect.
It's the same situation for link-table relationships and updateInstance. Changing the source, target, or class identifies a different relationship.
So updateAspect and updateInstance are only for updating properties, not navigation properties.


Build fails with new fontawesome widgets

When I try to download and build an Academic site, I get an error that the about.html widget has an issue on line 46. That line works fine if I change it from $pack_prefix = "fa" to $pack_prefix := "fa".
Failed to add template "partials/widgets/about.html" in path  "partials/widgets/about.html":
template: partials/widgets/about.html:46: unexpected "=" in operand

While that change to line 46 lets hugo run, I don't think it's right. The fontawesome packs are still selected incorrectly. For example, hugo generates class="fab fab-github big-icon" instead of class="fab fa-github big-icon" (for some reason it's not redefining pack_prefix).
Am I doing this wrong, or is this a bug?
To replicate:
snap install hugo --edge
cd $HOME
git clone https://github.com/sourcethemes/academic-kickstart.git my_site
cd my_site
git submodule update --init --recursive
hugo serve
# Failed to add template "partials/widgets/about.html" in path  "partials/widgets/about.html":
# template: partials/widgets/about.html:46: unexpected "=" in operand

Versions of hugo tested, all on ubuntu 18.04:

0.48-DEV (edge snap)
0.41.1 (stable snap, changing the theme metadata to allow for versions <0.48)
0.40.1 (apt version)

I think the problem is not hugo or the theme. In my opinion it is the version of go.
Hugo is built with go 1.11 according to the release notes:

Hugo 0.48 is built with the brand new Go 1.11. On the technical side this means that Hugo now uses Go Modules for the build. The big new functional thing in Go 1.11 for Hugo is added support for variable overwrites.

I can not test it at the moment, but I am pretty sure that this is the problem.

@tfragner thank you. Does that mean we should use a specific version of go for building Hugo?

Yeah, you may be right
$ hugo env
Hugo Static Site Generator v0.48/extended linux/amd64 BuildDate: 2018-09-02T19:31:50+0200
GOOS="linux"
GOARCH="amd64"
GOVERSION="go1.10.3"
It is very weird that hugo still builds under 1.10, but some functionality is broken. It will take some time for distro maintainers to fix this.

Ubuntu 18.04 ships go 1.10 for example. Hugo is compiling without problems if 1.10 is used. In my Opinion Hugo should check the go version during compilation.
So at the moment you can possible use the Hugo packages provided on their homepage or install go 1.11 manually and compile Hugo yourself.

It sounds like a bug in hugo to me. It should check the go version and enable only supported functionality.

There was a problem in my custom code, everything works flawlessly with hugo compiled with go 1.11.


Mathjax rendering in answers

In a question, the units appear fine in the drop down menu, but once selected, the latex is displayed, e.g. $\units{m}$ and then the answer placed in the accordion bar appears as $\quantity{1.8}{m}$. If you refresh the page, the mathjax renders properly.
airzooka is an example of a numeric question to test this with.

Fixed in 38b0a88d280fbc92bc8886407ff1eac4e1895f76.


Add "has" filter to cases

First version solution to: https://github.com/equinor/fmu-sumo/issues/324
First version to implement:
Add "has" keyword to case filter: filter cases where the case has at least one child with the specified "has" values.
cases = sumo.cases

cases = cases.filter(has={"data.content": "seismic", "data.time.t0.label": "base", "data.time.t1.label": "monitor"})

# With asset filter
cases = cases.filter(has={"data.content": "seismic", "data.time.t0.label": "base", "data.time.t1.label": "monitor"}, asset="Drogon")

-> cases == all cases that has child data matching the "has" filter

The corresponding query, from Raymond:
{
"query": {
"bool": {
"must": [
{
"term": {
"data.content.keyword": {
"value": "seismic"
}
}
},
{
"term": {
"data.time.t0.label.keyword": {
"value": "base"
}
}
},
{
"term": {
"data.time.t1.label.keyword": {
"value": "monitor"
}
}
}
]
}
},
"_source": ["data.time"],
"aggs": {
"case": {
"composite": {
"sources": [
{
"cases": {
"terms": {
"field": "fmu.case.uuid.keyword"
}
}
}
],
"size": 1000
}
}
},
"size": 1,
"track_total_hits": true
}

Maybe the lower part of the query can be changed to only select/return the fmu.case.uuid values?


Replace __call with explicit method declarations

This commit will replace the __call magic with explicit method
declarations for faking any of the supported HTTP methods.
As a API, it's preferable for the API to be discoverable. Having
explicit method declarations help IDEs to list the class methods when
writing tests.

Hi @adbre - thank for sending these along. I'm a little torn on these PRs. My personal preference is always for less code. But, I can see where those programmers that choose to use an IDE might find this useful.
I also prefer not to use PHP Doc style comments. I much prefer the literate code style, and don't like the clutter of PHP Doc comments that slowly drift out of sync. So, let me think about including these in the project. I have a feeling I need to allow the community of users of this dictate the style, and not my own preferences for small code and literate documentation.

I actually agree with you.
However, I had two choices for making the IDE detect the get, post, pust (etc) methods.
Either slighly more code, replacing __call with explicit method implementations.
Or using php doc style with the @method annotation.
To me, that decision was a no-brainer.
But since PHP does not support type hinting for members, I don't see anyway around php doc style in that case (pull request #18).

Hi @adbre - If I added you as a contributor, would you be comfortable merging these and making a new release? Thanks!

Sure

Invite sent. Thank you and welcome! If you've got other suggestions, I'm all for it. It seems that this little library has been getting a fair bit of use lately.

Sorry for the delay, the notification somehow got lost in my mailbox so I was still "waiting" for the notification (my bad)...
Published release v0.9.4.


Feature/open planner

I'd like to merge feature/OpenPlanner into develop branch
Best Regards,

This PR has shifted to #662.


Replace ManagedType.getAttribute uses with wrapper that does proper error rerporting

There are a lot of places where we access an attribute by name on a managed type. Unfortunately, Hibernate does not report the correct managed type java class which makes the error message confusing.
Ideally, the wrapper will report the actual type and also provide additional support for specifying possible error reasons.

This is mostly done now


add funcionality to read a sql statement from a file, if path provided

@suyograo updated with statement_filepath

LGTM


Move value in put()

Hi,
While performing some benchmarks I noticed that inserted values are copied, which reduces insert performance. I'll create a pull request to move values into the cache.

@dermojo as I understand after your fix, the values will be copied anyway but during the function call, as it is not reference anymore but value. So you first pass a value and then move that copied value to the list.

@lamerman Sorry, I should have explained my change:
You're right, instead of copying the value inside the put function it is taken by-value, so the (potential) copy is moved to the call site of the function, which allows to prevent the copy in some cases, e.g. when the caller moves the value into the function or a temporary value is used.
Consider the following code (for a cache mapping an int to a string):
cache.put(5, "five");
Before the change, a temporary string is created, passed by value, and then copied into the cache. After the function returns, the temporary string is destroyed.
With the changed function, a temporary string is created, passed by value (no copy here), and then moved into the cache. So in this scenario, we're saving an unnecessary copy because the temporary object goes straight into the cache.
The same happens if the caller uses std::move:
cache.put(5, std::move(myValue));
It doesn't make a difference when the caller passes a reference to an existing object, because there still will be a copy, but in case of temporary/move the copy is avoided.

In my view, the interface now looks complicated. The user doesn't know that move happens internally unless he looks into the code.
Can we implement a separate method for rvalues that has explicit interface and it's clear what will happen there?

Moreover, a big problem is that for those who already use this library an update will cause additional move constructor involved. If you leave the PR as it is.

I understand, although I think adding another overload for put() that takes an rvalue makes the API more complicated than having a single by-value method (and may introduce ambiguity).
Without looking into the function body, you don't see what exactly happens, correct. Looking at the const-ref version, you know that the code will make it copy, because it has to. Taking the input by-value, the user can "hope" that a move is involved, there's no guarantee. But you make it clearer that a copy is made, which is currently somewhat "hidden" in the implementation and can't be prevented.
I'm not sure if I want to invest much time in this change (I don't need it, I just wanted to share a performance improvement). If you're worried about existing users of the code, feel free to reject the PR and leave the code as-is. That's fine with me. But I think the current version is the cleanest from an API point of view.

I agree with you that something should be done in this direction. Currently the only way if your class is heavy-weight is smart pointers. So it should be done.
But I cannot agree with the way you implement it in the PR. I need to think about it.


Updated value in column is not visible in a SELECT

Consider the following statements:
CREATE TABLE t0(c0 VARCHAR, c1 VARCHAR);
INSERT INTO t0(c0) VALUES(0), ('');
UPDATE t0 SET c1 = 1;
SELECT t0.c1 FROM t0; -- expected: {1}, actual: {''}

Unexpectedly, the updated value is not visible in the SELECT. When, for example, removing the WHERE clause, the expected values are printed (namely {1, 1}).
I found this based on the latest master commit (ed92e9c55), and can also reproduce it based on the latest fix branch (251c0aa44).

I can't seem to reproduce it as is, did you perhaps accidentally remove the WHERE clause from the example?

Yes, sorry! I've updated the bug report.

Thanks :)

The problem was that when we had selections on tables with updates strings, the update_counter would not be incremented correctly, hence the scan would skip the updated data, and just look at the old state.

I've closed this issue since I've updated rigger8 with the fix, but @Mytherin might want to only close it only after being merged in the master branch :-).


feat(Storage): added retry logic recommended on AWS blog

See #91
I added the functionality recommended here by AWS to the tenacity library in this PR:
https://github.com/jd/tenacity/pull/70

The tricky thing is that it's really only 404 errors that are legit, everything else is a network error and they are not all IOErrors. Some of them are SSLErrors, some are DNS errors, and they all change based on the library used (boto vs gcloud). Maybe we should just make a narrow exception for 404s?

Hmm, I do think you're right and I want to add this 404 functionality, but I don't have time at the moment. It was causing me some problems before, but it isn't now. Could we make this an issue and I'll resolve it next time it's a problem? An initial attempt revealed that there might be an issue with reraising the original exceptions.

Rebased

retry=retry_if_exception_type(IOError) was only an example with IOErrors. The point is there are errors that should be retried and many that we shouldn't. See AWSS3.jl. We might need to wrap the exceptions inside the interfaces to delineate between retry-able errors and non-retry-able errors so we can handle it at the Facade level appropriately
see:
http://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html
http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
This should definitely be a requirement for this feature because inappropriate retries will waste a time. It will become an issue trying to debug in the future as well.
I think it's ok to merge if it's blocking something you need to run right now. if not, i would prefer to include it in this PR before it'll drop off the radar. Waiting up to 7 minutes(?) because i put in the wrong file name seems terribly inefficient especially for development purposes.

Fwiw, 7 retries means:
.25 + 0.5 + 1 + 2 +4 + 8 + 16 + 30 = 61.75 seconds of non-request waiting on average and 123.5 seconds maximum (~1 min and ~2 min respectively).

@william-silversmith  Revisit this and tell us when it's ready

On closer inspection, I forgot that the reason why the 404s weren't a problem is because we were returning "None" instead, so it never got raised and it avoided the problem. If you think that's the wrong approach, let's discuss, but I think that moots the objection.

I think we're talking about the same thing but attacking the problem from
different ends. What I'm suggesting isn't to blacklist 404 from retrying,
but to whitelist known retry conditions. Again, here is (AWS.jl)[github.com/
samoconnor/AWSS3.jl/blob/master/src/AWSS3.jl#L137] and (Amazon 503)[
docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html]. (should
probably retry on timeouts as well...)
The rationale is that there may be infinite error conditions and codes that
we don't know how to handle and we're going to waste our time retrying but
there are a subset that we definitely know we should retry.
On Jul 21, 2017 7:05 PM, "William Silversmith"<EMAIL_ADDRESS>wrote:

On closer inspection, I forgot that the reason why the 404s weren't a
problem is because we were returning "None" instead, so it never got raised
and it avoided the problem. If you think that's the wrong approach, let's
discuss, but I think that moots the objection.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/seung-lab/neuroglancer/pull/138#issuecomment-317132071,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABl3e84VKfL95ZIS1sn_Nrm5Mf_FXTw7ks5sQS7SgaJpZM4OEJzk
.

Hmm... I guess I don't really put much of a price on retrying, I care more that things that should work do work and if they are constantly failing I'll notice that when I check the logs. I think making a whitelist is potentially more costly in terms of queue reliability since I've seen so many different kinds of errors that were mainly network/DNS related (SSLError, Not Found, DNS, and others) and very few that weren't in practice. I wanted blanket coverage to protect against these things even if it was difficult to find a way to reference the error in code. I had trouble finding the originating library that contained the definition of a kind of SSLError iirc, it might have been embedded in Cython. Nonetheless, I wanted to retry.

Approving this with concerns since we can always fix this later.
To summarize, I believe the correct and safe thing to do is to identify the known retry conditions and only retry when we know it is safe (i.e. whitelist known errors for retry):

One task that requests one cutout may require over a thousand requests (1kx1kx300 volumes split into 64x64x64). Unnecessary errors can cascade to cause even more network congestion (7x retries of thousand+ requests) and may cause use to waste of lot of time (especially on on developer side).
Identifying the errors forces us to investigate and understand the error. This will help us identify any misconfigured items in our pipeline so we can avoid 1.

To this, @william-silversmith has responded that we should just blanket retry everything because:

retrying one request should only take 1 minute maximum and retry costs are not important enough to be considered.
There number of errors that can occur are too many to enumerate beyond 503 and timeout, stating that at our scale, AWS and GCP is not stable enough to handle that many requests without random unaccountable errors. Such errors he has seen have been dns resolution errors (which he solved by scaling out kube-dns), ssl handshake errors, host unreachable errors, and threading errors.


Consider the use of GitHub Actions to drive auto-updates

Following the work done in #10 .

Have make update-authorities be invoked once a day
Upon there being changes, commit and tag them (the updater script outputs the new tag)
Following successful commit and tag, push new version to Hex

All done except for the "push new version to Hex" part.
Too risky - not in the sense that "code might break" (we have CI for that), but rather in the sense of "we're putting too much trust in downloading this file with the CAs without even verifying a cryptographic signature."


Fix rst table syntax

The options were not displayed anymore on readthedocs.io nor on GitHub because of an error in the table declaration

Coverage remained the same at 82.381% when pulling 2bfd94c7a7307147de20e80849171e8de36d0aa6 on ebaratte:patch-1 into a2062c725847a44cd1bebd136914808302980155 on e-dard:master.

Coverage remained the same at 82.381% when pulling 2bfd94c7a7307147de20e80849171e8de36d0aa6 on ebaratte:patch-1 into a2062c725847a44cd1bebd136914808302980155 on e-dard:master.

Coverage remained the same at 82.381% when pulling 2bfd94c7a7307147de20e80849171e8de36d0aa6 on ebaratte:patch-1 into a2062c725847a44cd1bebd136914808302980155 on e-dard:master.


Cleanup

Unfortunately, we have to remove a variety of unmaintained, broken or unusable for now entries. If you have any arguments/suggestions regarding removal, please be free to add comments. I'm going to merge this in a couple of days.
refs #171

Here is a full list
https://github.com/BlaXpirit/crystal-dbus
https://github.com/DougEverly/daemonize.cr
https://github.com/MakeNowJust/crake
https://github.com/MakeNowJust/crystal-diff
https://github.com/Sija/serialport.cr
https://github.com/SuperPaintman/etag
https://github.com/TPei/observable
https://github.com/TyanNN/kemal-comments
https://github.com/adlerhsieh/lake
https://github.com/agatan/watchbird
https://github.com/akwiatkowski/ranger
https://github.com/aladagemre/chizge
https://github.com/askn/fikri
https://github.com/asterite/fast_sleep
https://github.com/azukiapp/crystal-chalk-box
https://github.com/bcardiff/crystal-routing
https://github.com/benoist/gelf-crystal
https://github.com/benoist/snappy-crystal
https://github.com/benoist/zeromq-crystal
https://github.com/chenkovsky/docopt.cr
https://github.com/chenkovsky/heap.cr
https://github.com/chenkovsky/nanomsg.cr
https://github.com/crystal-lang/crystal
https://github.com/datanoise/openssl.cr
https://github.com/david50407/csmli
https://github.com/davydovanton/AnyBar_cr
https://github.com/dkhofer/primes
https://github.com/f/lambda.cr
https://github.com/fg/gravatar.cr.git
https://github.com/fixcr/matchi
https://github.com/fridgerator/fantasy_football_nerd_api
https://github.com/generate-cr/generate
https://github.com/googya/pullword
https://github.com/greyblake/crystal-glosbe
https://github.com/greyblake/crystal-google_translate
https://github.com/greyblake/crystal-kiwi
https://github.com/jeromegn/bson.cr
https://github.com/jeromegn/docker.cr
https://github.com/johnjansen/text
https://github.com/jtomschroeder/crystalline
https://github.com/karupanerura/router-simple.cr
https://github.com/kofno/crystal_av
https://github.com/kostya/executable_path
https://github.com/krisleech/evented
https://github.com/kuende/kt
https://github.com/kyrylo/airbrake-crystal
https://github.com/lucasocon/openweather.cr
https://github.com/luislavena/beryl
https://github.com/manastech/crystal_brium
https://github.com/mosop/metaclass
https://github.com/pablotron/libmagic-crystal
https://github.com/pine/crystal-connpass
https://github.com/pine/crystal-qiita
https://github.com/pine/crystal-resque-client
https://github.com/porras/mock
https://github.com/puppetpies/crystal-libpcap
https://github.com/puppetpies/crystal-libtar
https://github.com/puppetpies/kemal-monetdb-test
https://github.com/raydf/smtp.cr
https://github.com/rhysd/crdoc
https://github.com/rosylilly/power_assert.cr
https://github.com/ruivieira/curses
https://github.com/samsheff/Bunny
https://github.com/sdogruyol/kemal-mysql
https://github.com/sdogruyol/kemal-pg-sample
https://github.com/sferik/soundcloud-crystal
https://github.com/sferik/twitter-crystal
https://github.com/spalladino/wit-crystal
https://github.com/timuckun/crystal-liblmdb
https://github.com/ucmsky/crystalforce
https://github.com/veelenga/shorturl.cr
https://github.com/veelenga/vicr.git
https://github.com/vjdhama/ambience
https://github.com/waj/crystal-newrelic
https://github.com/waterlink/crystal-mysql
https://twitter.com/shardscrystal

@luislavena beryl is a nice project. Personally, I would love to see updates on it. I think we can leave it in a list as it is going to be maintained in the nearest future 🤔  😏

I understand that crystalline has no support for a long time but as I know for now it's te only scientific li b for now (looking for help to solve this 😊) so as for me we should leave it here for some time. Also bson is the only one binding for bson (may be wrong)

@imdrasil I understand your point, but as for me, broken projects for a long time are almost useless. And more time they stay broken, harder to update them or reuse some code. Also:

removing from the list does not mean the project not available anymore
it can be added later again if it will start giving some profit

PS: I also liked bson project, so I created PR to support the latest Crystal... Will see how it goes. To do the same with Crystalline is much harder to me, so many errors 😢

With Crystalline - i've tried to fix and fixed everything except graph traversing: https://github.com/konovod/crystalline
Not doing PR as traversing still don't compiles - there is some problem with generic types of BFS\DFS iterators, trying to solve it.

@konovod Wow, nice job. Let me know if I need help with that

Well, i've got to point where compiler accepts traverse_spec.cr but crashes at codegen phase. Next step should be identifying minimal example and posting to crystal-lang as a bug (and possibly finding workaround). Maybe i'll try to do it in a week.
Given how fragile generics inheritance is, i'm surprised that library with such heavy use of generics gets so far.


[Feature request] apply styling to relationships with specific tag

Currently it's possible to style elements by tag under views:
views {
   style element.tag = #optional {
      color secondary
   }

   //NOT POSSIBLE
   style relationship.tag = #optional {
      line dotted
   }
}

I would appreciate if this can be done for relationship.tag as well. My use case is I'm using relationships to represent dataflows, and I would like to mark some flows as #optional, and draw them differently.
Thanks!

@mind6 what you can do right now:
```zig
include * -> * where kind is hostedOn with {
line dotted
}


Share should open in a new window or as a pop-up

@NSementelli can you provide more details on this request?
Share currently has a "pop-up" (modal window)

I mean once you actually click the share button on one of them. Do that in
a new window so you could share again on the other platform or make a
second version or something.
On Mon, Nov 21, 2022 at 3:01 PM Andrew Turner @.***>
wrote:

@NSementelli https://github.com/NSementelli can you provide more
details on this request?
Share currently has a "pop-up" (modal window)
[image: Image]
https://user-images.githubusercontent.com/1218/203147593-f51421e0-bef6-48a4-bfec-e0c16e268b94.png
—
Reply to this email directly, view it on GitHub
https://github.com/ajturner/dc-council/issues/1#issuecomment-1322576344,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AM7MNH3EF2NUM6KX45ZEUZTWJPIH3ANCNFSM6AAAAAASHAHINY
.
You are receiving this because you were mentioned.Message ID:
@.***>


[PROD] Validator votes for incorrect head

Describe the bug
May-11 05:36:27.033[]                ^[[34mdebug^[[39m: Signed attestation slot=3785280, index=56, head=0xc4d2ce80c7723b88d996303a7f37ba05050f7c775277818bc689e7e6724ec000, validatorIndex=270127

chain head of same slot comes right after that
May-11 05:36:27.379[]              ^[[36mverbose^[[39m: Found new chain head slot=3785280, head=0x73e7c00453bb8383a0104fd62bb0af1032c58edfef4fbe44f56dced48871de60, previouDuty=0x952fc43d681ed80ef2f4779a6c8e98a5f7ef2037406548885947b4add17d9d8b, currentDuty=0xc4d2ce80c7723b88d996303a7f37ba05050f7c775277818bc689e7e6724ec000

attestation was missed probably because its AttestationData is not the same to others
Expected behavior
Beacon node turns out to be very busy at that time, it reached beacon node 4s later
May-11 05:36:31.551[VMON]            ^[[34mdebug^[[39m: Local validator published unaggregated attestation validatorIndex=270127, slot=3785280, committeeIndex=56, subnet=56, sentPeers=25, delaySec=2.236999988555908

The i/o lag only happened at that time - the below shows 4s delay between signing time and publishing time
May-11 05:36:27.033[]                ^[[34mdebug^[[39m: Signed attestation slot=3785280, index=56, head=0xc4d2ce80c7723b88d996303a7f37ba05050f7c775277818bc689e7e6724ec000, validatorIndex=270127
...
May-11 05:36:31.566[]                 ^[[32minfo^[[39m: Published attestations slot=3785280, count=3

right now it takes <0.1s to publish attestation
May-11 07:33:59.526[]                debug: Signed attestation slot=3785868, index=56, head=0x53634b7587e2404a3c7c573908b749d9bcec5b7320e763f44e5a2e8c2505cf98, validatorIndex=270103
May-11 07:33:59.589[]                 info: Published attestations slot=3785868, count=2
May-11 07:34:59.506[]                debug: Signed attestation slot=3785873, index=3, head=0x7e7b2c388b85fe46e2ea810687182fecfb14f8161f92166dc6a86b36653892bd, validatorIndex=270120
May-11 07:34:59.570[]                 info: Published attestations slot=3785873, count=1


Issue with Custom Dialog [IMPORTANT]

════════ Exception caught by widgets library ═══════════════════════════════════
The following assertion was thrown building Builder(dirty, dependencies: [MediaQuery]):
Failed assertion: boolean expression must not be null

The relevant error-causing widget was
    MaterialApp
lib\…\global\app_widget.dart:13
When the exception was thrown, this was the stack
#0      setupCustomDialogUI.<anonymous closure>
package:split_it/…/utils/custom_dialog.dart:47
#1      DialogService.showCustomDialog.<anonymous closure>.<anonymous closure>
package:stacked_services/…/dialog/dialog_service.dart:145
#2      Builder.build
package:flutter/…/widgets/basic.dart:6998
#3      StatelessElement.build
package:flutter/…/widgets/framework.dart:4576
#4      ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4502
...
════════════════════════════════════════════════════════════════════════════════

The issue is with this piece of code, it says boolean expression must not be null. Which means the dialogRequest.showIconInMainButton does not have a default value so I have to add this when showing a dialog:
await dialogService.showCustomDialog(
      title: 'My custom dialog',
      description: 'This is my dialog description',
      mainButtonTitle: 'Confirm',
      // this argument is not required nor does it have a default value which makes it weird and it
      // makes an error, hope you got my point
      showIconInMainButton: true,
    );

This is not so obvious nor documented. So I hope you can add a default value for dialogRequest.showIconInMainButton.

@YazeedAlKhalaf, can you do a PR with this fix and turn more obvious the documentation to improve the library?

okay I will try

@YazeedAlKhalaf I would assume that if you don't supply a value you shouldn't try to access it. but i still gave all the booleans default values incase you try to access it and you didn't supply the value. will push update in a bit

Okay that’s great!
On Sun, 14 Jun 2020 at 10:39 AM Dane Mackier<EMAIL_ADDRESS>wrote:

@YazeedAlKhalaf https://github.com/YazeedAlKhalaf I would assume that
if you don't supply a value you shouldn't try to access it. but i still
gave all the booleans default values incase you try to access it and you
didn't supply the value. will push update in a bit
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FilledStacks/stacked/issues/67#issuecomment-643731113,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKALKCKIX2YBFCTGORMTUADRWR5BHANCNFSM4N4U7UMQ
.


Copper layers are re-filled on export

Hello,
In my use case I need to keep the filling of the copper as is.
When I export there is an automatic auto-fill for the copper layers that can cause to interrupt GND tracks.
Before Fabrication Toolkit export:

After Fabrication Toolkit export:

Can you unset/remove the filling option?
Or make that optional using a check button like the "Exclude DNP components"?

Thank you!

OS: Windows 10 Pro
Version: 22H2
KiCad Version: 7.0.10, release build
Fabrication Toolkit Version: 4.1.0

This feature was requested by the community.
I would be happy to accept a PR the toggle it with an option.


Add following configurations to all of the organization's repos

CODEOWNERS: defines the code owners for the Proton Designer repositories
CONTRIBUTING.md: provides guidance for contributing to Proton Designer projects
ISSUE_TEMPLATE: includes issue templates to help contributors create bug reports and feature requests that meet the organization's standards
PULL_REQUEST_TEMPLATE.md: provides a template for creating pull requests to Proton Designer repositories

@TechStudent10

¯\_(ツ)_/¯ CODEOWNERS isn't needed because I'm a one man team right now. Contributing Guidelines will come once people actually start contributing. PR templates feel unnecessary, but yeah issue templates are required right now. I'll do that later, however.

Should I close this issue?

No I'll leave it open


Check for usage

Add check usage install in lint-port

@autoantwort I removed the "Standard Usage Install" hint as usage can be installed in many ways, we only have to match file( ... usage with file\([^)]*usage regex with ignorecase

https://github.com/microsoft/vcpkg/blob/17030920aa97f2dc17a0bdc314344b5ca2807fdf/ports/blend2d/portfile.cmake#L56-L59
Hm this currently also triggers an error

Did this landed?


bump openlens helm to 3.11

this PR fixes the same issue here #6809 but with openlens instead

@gabriel-mirantis should I set it to 3.11.3? Or leave it to the same as lens which is 3.11 at moment?

@gabriel-mirantis should I set it to 3.11.3? Or leave it to the same as lens which is 3.11 at moment?

I would use the same version as lens

@ixrock


Make (Utc)DateTimes sortable

DateTime cannot implement PartialOrd by comparing Unix times since it won't be consistent with its PartialEq implementation.

Do you think a custom implementation of PartialEq for DateTime would be OK if it only compares the Unix times and time zones? The other fields are derived data, aren't they? (I guess I missing some finer parts like the handling of leap seconds or such.)

Yes, this PartialEq implementation is ok since the leap seconds are normalized and not preserved. But then we need to also compare the Unix times and time zones for the PartialOrd implementation (not just the Unix times) in order to have consistent implementations.


ion-select interface="popover" ignored

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

ion-select with interface popover shows an alert interface instead
Expected behavior:

show a popover without the ok and cancel buttons and without the title
Steps to reproduce:
http://plnkr.co/edit/OIWA4P?p=preview
Related code:
<ion-item>
     <ion-label>Gender</ion-label>
      <ion-select interface="popover">
        <ion-option value="f">Female</ion-option>
        <ion-option value="m">Male</ion-option>
      </ion-select>
    </ion-item>

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
global packages:

    @ionic/cli-utils : 1.3.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.3.0

local packages:

    @ionic/app-scripts              : 1.1.3
    @ionic/cli-plugin-cordova       : 1.3.0
    @ionic/cli-plugin-ionic-angular : 1.3.0
    Cordova Platforms               : android 6.2.3
    Ionic Framework                 : ionic-angular 2.1.0

System:

    Node       : v6.10.2
    OS         : Linux 4.4
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed

Hello, thanks for opening an issue with us! Would you be able to provide a plunker that demonstrates this issue? Thanks for using Ionic!

sure thing: http://plnkr.co/edit/OIWA4P?p=preview

@brugh Your plunker is using Ionic version 3.0.0. The popover interface was not implemented until 3.1.0, updating the plunker to use that version (at a minimum) works fine. Let us know if you see any issues on the latest Ionic version: 3.3.0. Thanks!

Hi, I updated my Ionic version from 2.0 to 3.12.1 and can't make the interface "popover" to work. If I create a new project it works.

10
20
50
100

@bollatialfredo Please run ionic info and make sure the following line has at least 3.1.0 by it:
Ionic Framework                 : ionic-angular 3.5.3

It sounds like you have updated the Ionic CLI (command line interface). If you are looking for how to upgrade the framework there are some steps in the changelog for each version: https://github.com/ionic-team/ionic/blob/master/CHANGELOG.md
There is some documentation here on the differences between the CLI and framework: http://ionicframework.com/docs/developer-resources/using-npm/
If you are still having issues please create a post on our forums for help upgrading. Thanks! 🙂

how to remove this yellow line?


Please remove the link to the Discover the URL for your organization using the Web API topic

This link is included here:

More information: Direct sign in and Discover the URL for your organization using the Web API

But that topic doesn't contain the list of regional data centers that an older version did:  https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/gg328127(v=crm.8)?redirectedfrom=MSDN
Also that is a list of regional discovery services, which have been deprecated. That list has no value for developers using the discovery service and that topic isn't the right place to have a reference list. It should be in the admin guide.
Also, the content today here is not satisfactory: https://docs.microsoft.com/en-us/power-platform/admin/new-datacenter-regions
There should be a simple table with the current list of regions rather than these copy/paste announcements of new regions.

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

ID: 029aa7d3-e3e1-f99a-3f71-e11e998cb543
Version Independent ID: 3d87af00-dcfd-697c-87df-3990a4cc8027
Content: Geo to geo migrations - Power Platform
Content Source: power-platform/admin/geo-to-geo-migrations.md
Service: power-platform
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@JimDaly
Thanks for the feedback. Changes made.


Fix/jackall3n fix using prop types

Deployed to https://beghp.github.io/gh-pages-rc-10- [ ] an issue linked to the PR

I checked it doesn't break anything (desktop).


Use proper atomics for ParILU(T) and ParIC(T)

I was always a bit surprised by the large discrepancy between OpenMP and GPU ParILU(T) convergence. Recently I found out why that is: GPUs don't have coherent L1 caches, so the current implementation of ParILU (without any memory fences that might cause L1 cache flushes) may read stale values instead of the latest values. This is not an issue on x86 CPUs, because they have a fully coherent cache hierarchy. By replacing the regular (weak) loads/stores by relaxed loads/stores, we get more up-to-date values.
In some preliminary experiments, this reduced the number of iterations to reach a threshold by at least a factor 2.
Before merging, I'll attach some benchmarks to evaluate the runtime impact of these changes.

I'm seeing a slight decrease in time-to-solution on the ani* matrices with BiCGStab and ParILUT (and an even slighter reduction with ParILU) due to the higher preconditioner quality, despite the runtime of the sweeps increasing by 1.05x (ParILUT) and 1.45x (ParILU).
On the largest problem (ani7), the time-to-solution is reduced from 11.6 s to 10.2s, mostly due to the reduced number of iterations (73 vs. 84).
So from my perspective, this PR is good to go :)


fix: clarify password change error [EE-3324]

PR is replaced by https://github.com/portainer/portainer/pull/7082


Fixes #26

Add useTryCatchForNulls defaulting to true to all public methods using GetExpressionForRule
Remove default value from private and protected methods to ensure useTryCatch is always set for BuildExpr
All tests passing.

Updated the code to have overloads instead of optional parameters.  Had a small issue when using inside a Select(x=>) with the optional parameter.


Fix bash-it preview

lib: preview: Load only bash-it.sh when previewing
lib: search: Increase delay in _bash-it-flash-term to 0.2 secs

Hi @gaelicWizard, seems like I bumped into a problem with bash-it preview. Please take a look!

I'm thinking of rewriting _bash-it-flash-term(). I'd like it to be a generic print-and-flash. (Right now, it assumes the term has been printed once already and expects the length passed in.)


Add preinstall script to update submodule

I had to add a preinstall script that would update the submodule after updating to the latest node/npm setup.

Sorry a little too quick on the draw for this. Need to investigate what is going on some more.

No worries, I think the inclusion of a preinstall script prevents node-gyp rebuild from running.


Support for line template

Team, great work on this -- I appreciate every single thing that could be automated.
We heavily rely on line templates as our log messages contain a number of fields that we usually don't want to see by default in the viewer. To make this provider really useful, I would be able to specify the default line template on a per-view basis, e.g.
resource "logdna_view" "complex_view" {
  name = "complex view"
  aps = ...
  categories = ...
  linetemplate = "[{{ status }}] {{ msg }} (runtime: {{ runtime }})"
}

@philippfrank great suggestion! that makes total sense
cc: @alfeng6

Still no update since 1.1.0?

Hey @gjanco,
I took a look at your API docs [1], and it appears this is a UI-only limitation—so it makes sense that the issue is still open.
Would you be able to connect with the appropriate PM to push this small feature request forward? It would make a significant difference in terms of efficiency. Here’s the situation: when working with long log lines in the viewer, manually typing field names into the template box every time is a hassle. It slows down the workflow and adds unnecessary friction. I use the viewer evey day and every second day it annoys me.
The request is simple: allow users to pre-define a template on the view resource and automatically pre-fill the UI’s template box with that value.
While having this available in Terraform would be ideal, I’d be happy just to see this feature added in any form.
Thanks for considering it!
[1] https://docs.mezmo.com/log-analysis-api#create-view

hey @philippfrank,
You can actually associate a custom line template with a view in our UI.  When editing a view, you should see a "Custom %line Template" option like this:

For more details, please see: https://docs.mezmo.com/docs/format-log-lines-with--custom-line-templates
Let me know if this helps.

@teriyakichild Thanks, this is great. We bootstrap all views via this TF provider but it looks like above field is either not yet supported or might not be exposed by your API. Is there a plan to support this? Is this repo actually still maintained? (I see that Mezmo started a new provider project under a different GitHub organization).


feat(kit): add InputMultiDate

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Refactoring
[ ] Build or CI related changes
[ ] Tests related changes
[ ] Documentation content changes

What is the current behavior?
Closes #3624
What is the new behavior?

Native input date

There is no field for input from the keyboard, this is like select, so the dropdown should open by clicking on the entire area, and not just the calendar icon
Cleaner in ios safari is broken

https://github.com/taiga-family/taiga-ui/assets/46284632/5c2c14c6-73dd-43fb-b747-42927c25d47f
Also, there are no native "input-date multiple". Selected value in data-picker in this case does not match the input value, it seems like a bug. Maybe we just drop the "native" variant? what do you think @splincode @waterplea @nsbarsukov ?

Native input date

There is no field for input from the keyboard, this is like select, so the dropdown should open by clicking on the entire area, and not just the calendar icon
Cleaner in ios safari is broken

https://github.com/taiga-family/taiga-ui/assets/46284632/5c2c14c6-73dd-43fb-b747-42927c25d47f
Also, there are no native "input-date multiple". Selected value in data-picker in this case does not match the input value, it seems like a bug. Maybe we just drop the "native" variant? what do you think @splincode @waterplea @nsbarsukov ?

Let's drop the native input for the first iteration and explore it in a separate issue, because there are also a11y concerns.

@waterplea @vladimirpotekhin hello, please review me


Fetch not working on localhost (Tried IP too.)

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
Yes
Environment
Environment:
OS:  Windows 10
Node:  9.4.0
Yarn:  1.3.2
npm:  5.6.0
Android Studio:  3.0.1
Packages: (wanted => installed)
react-native: 0.52.0
react: 16.2.0
Target Platform: Android 26
Issue Statement
API from local server doesnt't seems to be working, i have tried localhost:3000, <IP_ADDRESS>:3000, <LOCAL_IP>:3000 & <IP_ADDRESS>:3000 In Android Getting network request failed error.  Below is the code snippets im using for network request.
Note: I already added the Android Internet permission.
return fetch('http://<IP_ADDRESS>:3000/extension/auth')
        .then((response) => response.json())
        .then((responseJson) => {

            this.setState({
                isLoading: false,
                sem: responseJson
            });
        })
        .catch((error) => {
            console.error(error);
        });

The bug is still there.. Im using the latest version of RN.. Tested on Android 7.0 and Android 8.0..
7 is not working but 8 yes..

It's working
fetch('https://facebook.github.io/react-native/movies.json')
.then((response) => response.json())
.then((responseJson) => {
  //Alert.alert("my json" + responseJson.movies);
     AlertIOS.alert(
          "Get response",
          "Movies query-> " +JSON.stringify(responseJson.movies)
         )
})
.catch((error) => {
  console.error(error);
});

Works with the server not with the localhost

@srijishks You should try this solution: https://stackoverflow.com/questions/49206456/react-native-android-connect-backend-service-at-localhost

To me is not working:
fetch('https://facebook.github.io/react-native/movies.json')
.then((response) => response.json())
.then((responseJson) => {
//Alert.alert("my json" + responseJson.movies);
AlertIOS.alert(
"Get response",
"Movies query-> " +JSON.stringify(responseJson.movies)
)
})
.catch((error) => {
console.error(error);
});
Returns
Request Network Failed
If I use a IP example: http://<IP_ADDRESS>
this returns text of html ok.


[cmake] add option for OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE

This makes it easier to configure this option for testing on OTBR/RCP.

cc @jwhui Looking to enable this for reference builds in the test harness.

Thanks @suveshpratapa.
If the goal is to enable this for reference devices using a CMake flag, an alternative approach could be to change the default value for this config in src/config/network_diagnostic.h as follows:
#ifndef OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE
#define OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
#endif

This way, it's enabled by default when OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE is used.
I feel this would be simpler and would apply for any other reference device builds.
Thoughts?

That change sounds fine by me. Are you opposed to also exposing it as a cmake build option?

No. Both are fine for sure.


Constrained LR/SC Loops: prohibit CBO.CLEAN

Type of change: Software constraint.
Explanation:
It seems safer and easier to just prohibit CBO.CLEAN as well to an address covered by the LR/SC reservation, rather than think through all the corner cases and chicken modes that would need to be handled if it were allowed.

Yeah, I like this, since this matches with implementing CBO.CLEAN as CBO.FLUSH.

Incorporated the intent of this pull request (hopefully...) into the draft spec #34


Issue when building okx/ord

cargo build --release --feature=rollback does not working on my side.
It says that error: unexpected argument '--feature' found

The feature is integrated by default, you shouldn't need to setup any more features.


Adding new tags directly in tags field

Allow Editor users to add new tags in without leaving this page.

let us get #144 in first


Noise in stderr output

The open source test runner emits noise that is somewhat confusing and unrelated when running tests now.
This behavior seems to be introduced in  0f23272e83b600db16af0be599c5382cbfc8e2dd
Should something be filtering this out?
[----------] Global test environment tear-down
[==========] 9 tests from 1 test suite ran. (20728 ms total)
[  PASSED  ] 9 tests.

---- STDERR ----

Success {
    execution_kind: Local {
        digest: 3717414d07bf3af05fd72477183fa0fdf6d4195bada66f61f4156da03b5e657f:142,

        command: [
         < COMMAND HERE>
        ],
        env: {
            "GTEST_COLOR": "1",
            "GTEST_SHUFFLE": "1",
        },
    },
}

cc/ @themarwhal @stepancheg

Ouch. Added it yesterday was investigated tests we could not reproduce locally.
Our internal test executor does not show it when tests pass.
Let me think.

I think like in #271 the "right" answer might be making the open source test runner behave a bit more like the internal stuff. Should app/buck2_test_runner be also omitting stderr (and stdout?) when the test passes?  I'd expect that.

OK, I'll do it.

(Internal: D46531416)


Reusing database service object

Hi, i want to use Lokijs inside a service and want to reuse database object in some modules so i did this:
Box.Application.addService('db', function (application) {
	function db() {
		this.db = new loki('psi', {env: 'BROWSER'});
		this.users = this.db.addCollection('pagini',{ unique: ['id'] });
                this.load('url');
	}
	db.prototype = {
                load: function (url) {
               //loading database from server and insert to lokijs
                },
		search: function (q) {
			//perform query and return results
		}
	}
	var database = new db();
	return {
		create: function(options) {
		   return database;
		}
	};
});

i have a menu module that is loaded first that calls var db = context.getService('db').create(); and i can call db.search(....);
and in all my modules i have to do the same thing:
var db = context.getService('db').create();
var res = db.search(....);

and it works,... but somehow it seems wrong,
what is the best method to do this? maybe something like this, but also it seems a bit overkill:
var database;
	return {
		create: function(options) {
		   database  = new db();
		   return database;
		},
		database: function() {
			return database;
		}
	};

and i can call context.getService('db').create(); first time in my menu module and context.getService('db').database(); in others ...
Please help ...
P.S - Is it a bad practice to have multiple services, one for each functionality?  or should i just make one service and add all other methods inside return?
In other words is it bad to have
var service = context.getService('service1');
var otherservice = context.getService('service2');
var someotherservice = context.getService('service3');

or just
var service = context.getService('service1');
and then use
service.dosomething();
service.dosomethingelese();

any performance loss one way or the other?
Thanks

Preferably you just call getService once since, but it doesn't matter since services are basically singletons so you'll only create the object once.
preferably you do something like:
var dbService = context.getService('db');
var db = dbService.create();


can't find elm-make after upgrade to v19

How do we fix this (see the lower-right of my screen shot)?  I'm running elm 19 and already re-ran npm install -g elm-format

Same for me, but I'm running elm still in version 0.18.

Are you using vscode-elm? The extension you  are showing seems to be jackfranklin-elm? Not sure if that is updated to 0.19. Also - are you using this in a 0.19 project? If so, the extension should work as expected.

@andys8 - there is a bugfix coming in the next release for 0.18. In the meantime, you can change the elm-make setting to "elm-make" instead of "elm make"

@hakonrossebo Thanks for the workaround!

Fixed in 0.22.


chore: generate dogfooding test for long pathname during CI

Motivation
Fix #5793. It would still be cool to verify that things do work, but generating the file during CI ensures Windows contributors don't get unnecessarily hindered by the extra configuration needed.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Windows tests

👍 thanks ;)


Can you please share the dataset?

Hi, Can you please share the dataset.  I am not able to find edited wav files, How did you edit the raw data to files which are in edited_wav folder?
Also please provide the email if possible, I Have some more ideas to discuss on this.
Thank you!

list folder with the csv file not provided


How can i load a xlsx file downloaded by url from browser?

const wb2 = new ExcelJs.Workbook()

  const resp = await fetch(new Request("/file.xlsx"))

  const stream = resp.body!

  wb2.xlsx.read(stream).then(() => {
    const ws = wb2.getWorksheet(0)
    console.log(ws)
  })

it doesn't enter in the then callback, why?

Ok i found the solution thanks to #539 :
const wb2 = new ExcelJs.Workbook()

  const resp = await fetch(new Request("/public.xlsx", ))

  const input: any = wb2.xlsx.createInputStream()
  const buff = await resp.arrayBuffer()

  const buffer = Buffer.from(buff)
  const readStream = new Stream.PassThrough()
  readStream.end(buffer)
  readStream.pipe(input)

  input.on("done", () => {
    console.log(wb2.getWorksheet(1))
  })

Thanks @Rockson
Since createInputStream is deprecated this code works for me:
`const Excel = require('exceljs');
const stream = require('stream');
var workbook = new Excel.Workbook();
const resp = await fetch(new Request("assets/file.xlsx"));
const buff = await resp.arrayBuffer();
const buffer = Buffer.from(buff)
const readStream = new stream.PassThrough();
readStream.end(buffer);
const wb = await workbook.xlsx.read(readStream);`


Create magazine subscription component

Relates to #1251

magazine landing page (and magazine template) should always have a subscribe promotion in place at the bottom of the page (above the footer).

Figma design: https://www.figma.com/file/F2OnKFEoMwFaANMgeGRGqE/CMS?node-id=5977%3A90557

Title
Ingress
Action
Image
Background colour

Component should be configured in Sanity on the Magazine index page only, and be displayed with the same comment on the landing page and on each magazine article.

Acceptance criteria

[ ] Can edit the footer component in Sanity on the magazine index page
[ ] Footer component shows in the web on magazine index page
[ ] Footer component shows in the web on individual magazine articles
[ ] Can disable footer component for individual magazine articles in Sanity
[ ] Footer component does not show in the web for magazine articles that have footer component disabled

Hi @SvSven, looks very good! ✅ Just left a couple of suggestions for you.
I also think that the feature we discussed with Nick, about toggling on/off the footer component for specific magazine pages could be done together with this issue. What do you think?

I also think that the feature we discussed with Nick, about toggling on/off the footer component for specific magazine pages could be done together with this issue. What do you think?

Ah right, I had forgotten about that one. Good point.

Have added the option to hide the footer component on individual articles ✅

LGTM

@nicholas-haggerty @meols this is the shared component between the magazine landing page and the individual articles - and is ready for review

Approved good stuff.


Add vocabulary extension

Description
Search words on vocabulary.com
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi @2eha0 👋
Thanks for your contribution 🔥
How does this extension compare to the one we already have in our store?

@pernielsentikaer The original one doesn't have a detail page, so every time I need to check details, I have to open a browser. As you can see from the screenshots, I've now included the detail page here, which allows me to complete most of my inquiries without needing to leave Raycast :)

Having two extensions serving the same purpose doesn't make sense. It would be a nice enhancement to the one in the store by @DATADEER 🙂

Hi! As Per said, this would be a nice addition to an already existing extension.
I will be closing this PR due to that.
If you would like to discuss it further or need help with anything, feel free to contact us on our Slack community! https://raycast.com/community
Cheers!


Use tabs for “view your changes locally” in contributor guide

This is a Feature Request

What would you like to be added
Rewrite https://kubernetes.io/docs/contribute/intermediate/#view-your-changes-locally to put the two options (Hugo in a container / Hugo locally) in tabs.
Why is this needed
Low-priority enhancement to make the documentation easier to read.
/kind feature

/good-first-issue

Hi, I would like to work on this issue.

Hi, I would like to work on this issue.

@philipliberato sure, please feel free. Do you have any questions?

@sftim Hey I am new to open-source I would like to work on this issue.

@sftim I have added the features as requested and opened a pr request please review it.

/assign @simplytunde


Change names of booleans to use "is"

Update names of booleans to use a question like name, "isRequiresSession" to make them more Java-esque?
https://apiview.dev/Assemblies/Review/6af850ed7eb04843a6897afbe13cdd28

"isRequiresSession( )" isn't correct English. I suggest "isSessionRequired( )".
I kind of saw pattern like "doesRequireSession()" but not very often.


Simplify use std::io::{self};

I sometimes end up with this kind of dummy import lines:
use std::io::{self};

Maybe rustfmt could simplify it into:
use std::io;

?

@iago-lito This has come up before. My understanding is that there are semantic differences between use std::io::{self}; and use std::io;, so rustfmt can't safely make that change without potentially breaking your code. See #3568 and other linked issues.


Remove greenlet from Prefect project

Remove
https://github.com/Hongbo-Miao/hongbomiao.com/blob/00abd65d15f2fbdf661d80151121a0bf614f5acc/hm-prefect/pyproject.toml#L9-L9
Tracking at

~~https://github.com/PrefectHQ/prefect/issues/7978~~
https://github.com/python-poetry/poetry/issues/7249

Fixed in the future Poetry 1.4 based on https://github.com/python-poetry/poetry/pull/7175


AttributeError: payload_type

The *.pcap  file processed below is an RTP stream filtered out as the outbound and inbound SSRC streams of the AMR VOIP call. It is believed to be a valid AMR flow, but  getting the processing errors.
C=AMR:
root@garaz:/media/sf_05_VMs/tools/AMR-WB_extractor-master# python3 pcap_parser.py -i rtp-only.pcap -o amr-hiccups.3ga -c amr
WARNING: No route found for IPv6 destination :: (no default route?). This affects only IPv6
Number of packets read from pcap: 13456
Traceback (most recent call last):
File "pcap_parser.py", line 377, in
ptype = rtp.payload_type
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 199, in getattr
fld,v = self.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 1108, in getfield_and_val
raise AttributeError(attr)
AttributeError: payload_type
C=AMR-WB:
root@garaz:/media/sf_05_VMs/tools/AMR-WB_extractor-master# python3 pcap_parser.py -i rtp-only.pcap -o amr-hiccups.3ga -c amr-wb
WARNING: No route found for IPv6 destination :: (no default route?). This affects only IPv6
Number of packets read from pcap: 13456
Traceback (most recent call last):
File "pcap_parser.py", line 377, in
ptype = rtp.payload_type
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 199, in getattr
fld,v = self.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 1108, in getfield_and_val
raise AttributeError(attr)
AttributeError: payload_type
rtp-only.zip

This does not seem to be AMR or AMR-WB encoded inside RTP using IETF framing (RFC 4867).
If you have a trace that includes the SIP for the call setup, please attach to verify what codec and framing is negotiated.
If identities are sensitive (privacy reasons), then you can attach here  a picture of the body of the INVITE message and the response with the selected codec (180 / 200 / ...) blurring the identities. I only need to see payload negotiation info.

No problem to decode the amr-wb audio (attached).
audio.zip
I tested it on Kali Linux setup running python 3.9.7 and pipenv. I installed the latest versions of scapy and bitarray with:
pipenv install bitarray
pipenv install scapy

then executed:
python pcap_parser.py -i rtp-only.pcap -o audio.amr -c wb-amr -f ietf
The audio inside the audio.amr file is very clear when listening it with VLC.
I will close this close this issue if there are no further comments in the next few days.

Thank you for checking.
Probably my virtualized Ubuntu Linux and python3+bitarray+scapy taken from
its default repository are a bit old.
I'm still getting the same error, using the verified  syntax.
/L.
@.***:/media/sf_05_VMs/tools/AMR-WB_extractor-master# hostnamectl
Static hostname: garaz
Icon name: computer-vm
Chassis: vm
Machine ID: 62a1b9e0858d4dfe8f9e63dda31d89b0
Boot ID: c41157e689204c8f9e5f45da0f5c9309
Virtualization: oracle
Operating System: Ubuntu 18.04.1 LTS
Kernel: Linux 4.15.0-162-generic
Architecture: x86-64
..........
@.***:/media/sf_05_VMs/tools/AMR-WB_extractor-master# python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

...........
@.***:/media/sf_05_VMs/tools/AMR-WB_extractor-master# python3
pcap_parser.py -i rtp-only.pcap -o retry-2.amr -c amr-wb -f ietf
WARNING: No route found for IPv6 destination :: (no default route?). This
affects only IPv6
Number of packets read from pcap: 13456
Traceback (most recent call last):
File "pcap_parser.py", line 377, in
ptype = rtp.payload_type
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 199, in
getattr
fld,v = self.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in
getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in
getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 1108, in
getfield_and_val
raise AttributeError(attr)
AttributeError: payload_type
pi 10. 12. 2021 o 21:13 Juan Noguera @.***> napísal(a):

No problem to decode the amr-wb audio (attached).
audio.zip
https://github.com/Spinlogic/AMR-WB_extractor/files/7695191/audio.zip
I tested it on Kali Linux setup running python 3.9.7 and pipenv. I
installed the latest versions of scapy and bitarray with:
pipenv install bitarray
pipenv install scapy
then executed:
python pcap_parser.py -i rtp-only.pcap -o audio.amr -c wb-amr -f ietf
The audio inside the audio.amr file is very clear when listening it
with VLC.
I will close this close this issue if there are no further comments in the
next few days.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Spinlogic/AMR-WB_extractor/issues/1#issuecomment-991264043,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW2TI3TNGEGCSAOT7V2HJADUQJNNVANCNFSM5JT72FLA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hallo Juan again,
eventually,  I made it with the upgraded Ubuntu 20.04.3 LTS, python 3.8.10
and bitarray and scapy installed over the the pipenv.
Thank you for your inspiring advice.
Case can be closed, the utility works well.
BR / Libor
python pcap_parser.py -i rtp-only.pcap -o audio-2.amr -c amr-wb -f ietf
Number of packets read from pcap: 13456
Codec: amr-wb, Total: 13456 , Valid: 11341 , Bad: 0
(AMR-WB_extractor-master-_R-PxNON)
ut 14. 12. 2021 o 17:01 Rayball Nagangu @.***>
napísal(a):

Thank you for checking.
Probably my virtualized Ubuntu Linux and python3+bitarray+scapy taken from
its default repository are a bit old.
I'm still getting the same error, using the verified  syntax.
/L.
@.***:/media/sf_05_VMs/tools/AMR-WB_extractor-master# hostnamectl
Static hostname: garaz
Icon name: computer-vm
Chassis: vm
Machine ID: 62a1b9e0858d4dfe8f9e63dda31d89b0
Boot ID: c41157e689204c8f9e5f45da0f5c9309
Virtualization: oracle
Operating System: Ubuntu 18.04.1 LTS
Kernel: Linux 4.15.0-162-generic
Architecture: x86-64
..........
@.***:/media/sf_05_VMs/tools/AMR-WB_extractor-master# python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

...........
@.***:/media/sf_05_VMs/tools/AMR-WB_extractor-master# python3
pcap_parser.py -i rtp-only.pcap -o retry-2.amr -c amr-wb -f ietf
WARNING: No route found for IPv6 destination :: (no default route?). This
affects only IPv6
Number of packets read from pcap: 13456
Traceback (most recent call last):
File "pcap_parser.py", line 377, in
ptype = rtp.payload_type
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 199, in
getattr
fld,v = self.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in
getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 195, in
getfield_and_val
return self.payload.getfield_and_val(attr)
File "/usr/lib/python3/dist-packages/scapy/packet.py", line 1108, in
getfield_and_val
raise AttributeError(attr)
AttributeError: payload_type
pi 10. 12. 2021 o 21:13 Juan Noguera @.***>
napísal(a):

No problem to decode the amr-wb audio (attached).
audio.zip
https://github.com/Spinlogic/AMR-WB_extractor/files/7695191/audio.zip
I tested it on Kali Linux setup running python 3.9.7 and pipenv. I
installed the latest versions of scapy and bitarray with:
pipenv install bitarray
pipenv install scapy
then executed:
python pcap_parser.py -i rtp-only.pcap -o audio.amr -c wb-amr -f ietf
The audio inside the audio.amr file is very clear when listening it
with VLC.
I will close this close this issue if there are no further comments in
the next few days.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Spinlogic/AMR-WB_extractor/issues/1#issuecomment-991264043,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW2TI3TNGEGCSAOT7V2HJADUQJNNVANCNFSM5JT72FLA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


New Rule: Report on unkown nodes

Misspelled XML nodes/elements can lead to hard to track behavior. Tracking those unknown nodes is easy:
protected override void Register(ProjectFileAnalysisContext<MsBuildProject> context)
{
    Walk(context.File, context);
}

private void Walk(Node node, ProjectFileAnalysisContext<MsBuildProject> context)
{
    if (node is Unknown)
    {
        context.ReportDiagnostic(Descriptor, node, node.LocalName);
    }

    foreach (var child in node.Children)
    {
        Walk(child, context);
    }
}

reporting on a node that is similar to a known node (hence a spelling/casing error) is also doable, and would lead to a rule with - at least I think - a lot of added value.
Unfortunately, it is less straightforward to get a collection of supported nodes. A rule like this should allow to specify known elements, but still, without adding a lot of known nodes first, creating a rule like this would lead to a lot FP's. Any thoughts?

The "list" of known types is here: https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-project-file-schema-reference?view=vs-2022#msbuild-xsd-schema-definition-files
However, the possible values of OutputType are not defined. A few options are mentioned in the documentation.

I also found this list: https://learn.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-properties
But is this list long enough to report on all?  Or will users just be annoyed and disable the rule? (or even de-install the analyzers).

IsTestProject is already not among the lists, but is an uncommonly (on the scale of rare, uncommon, common) used node that is automatically inserted by the MsTest project template (and I believe it also has some interaction with Stryker.NET). We also use it for our test related analyzers

@CptWesley Any node we have an analyzer for is known by our system, so those don't have to be added anymore.


arch: arc: irq: bugs fix for fast irq in one register bank config

The stack pointer (SP) register points to the lowest-used address of
a downward-growing stack, so memory address [sp] is used, we can't
modify it.

In firq_no_switch case, we need to pop sp, which pushed before
_isr_demux function in firq_nest function.

Fixes #26663

@abrodkin at least regular IRQ part looks OK.
LGTM.


0.3.0 release

Codecov Report

Merging #32 into master will decrease coverage by 0.1%.
The diff coverage is 93.19%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
- Coverage   94.42%   94.32%   -0.11%
==========================================
  Files          33       33
  Lines        4755     4791      +36
==========================================
+ Hits         4490     4519      +29
- Misses        265      272       +7

Impacted Files
Coverage Δ

BezierKit/BezierKitTests/PathComponentTests.swift
100% <ø> (ø)
:arrow_up:

BezierKit/Library/CubicBezierCurve.swift
100% <100%> (ø)
:arrow_up:

BezierKit/Library/BoundingVolumeHierarchy.swift
100% <100%> (ø)
:arrow_up:

BezierKit/Library/AugmentedGraph.swift
97.84% <100%> (ø)
:arrow_up:

...Kit/BezierKitTests/QuadraticBezierCurveTests.swift
100% <100%> (ø)
:arrow_up:

BezierKit/BezierKitTests/BezierCurveTests.swift
100% <100%> (ø)
:arrow_up:

BezierKit/BezierKitTests/AugmentedGraphTests.swift
98.67% <100%> (ø)
:arrow_up:

BezierKit/Library/BezierCurve.swift
98.59% <100%> (ø)
:arrow_up:

...zierKit/BezierKitTests/CubicBezierCurveTests.swift
100% <100%> (ø)
:arrow_up:

BezierKit/Library/QuadraticBezierCurve.swift
100% <100%> (ø)
:arrow_up:

... and 14 more

Continue to review full report at Codecov.

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