Slow transpilation of ExcitationPreserving

Transpilation of ExcitationPreserving to basis gates u1, u2, u3, cx is extremely slow, so much that it just can't be used.
Here is code to demonstrate it:
from time import time
from qiskit.circuit.library import ExcitationPreserving
from qiskit import transpile, Aer

sim = Aer.get_backend('qasm_simulator')

list_nqubits = [6, 12, 16, 20, 24]
for nqubits in list_nqubits:
    reps = int(nqubits/2)
    print('ExcitationPreserving(num_qubits=', nqubits, \
          ', reps=', reps, ')', sep='')

    start = time()
    circ =  ExcitationPreserving(num_qubits=nqubits, reps=reps)
    print('Construction time:', time()-start, 'seconds')

    print('Number of instructions:', len(circ.data))

    start = time()
    transpile(circ, sim,
              basis_gates=['u1', 'u2', 'u3', 'cx'],
              optimization_level=0)
    print('Transpilation time:', time()-start, 'seconds')
    print('')

Output on my machine:
ExcitationPreserving(num_qubits=6, reps=3)
Construction time: 0.0012025833129882812 seconds
Number of instructions: 114
Transpilation time: 0.8360486030578613 seconds

ExcitationPreserving(num_qubits=12, reps=6)
Construction time: 0.0010845661163330078 seconds
Number of instructions: 876
Transpilation time: 15.953871726989746 seconds

ExcitationPreserving(num_qubits=16, reps=8)
Construction time: 0.0016622543334960938 seconds
Number of instructions: 2064
Transpilation time:<PHONE_NUMBER>9635925 seconds

ExcitationPreserving(num_qubits=20, reps=10)
Construction time: 0.0025093555450439453 seconds
Number of instructions: 4020
Transpilation time: 1177.0042042732239 seconds

ExcitationPreserving(num_qubits=24, reps=12)
Construction time: 0.00400996208190918 seconds
Number of instructions: 6936
Transpilation time: 3988.637136697769 seconds

Looking quickly, BasisTranslator is the slowest pass, with most of its time replacing the translated instructions. On my machine, the num_qubits=16 example with logging.basicConfig(level='INFO'):
INFO:qiskit.transpiler.runningpassmanager:Pass: UnrollCustomDefinitions - 8.49628 (ms)
INFO:qiskit.transpiler.passes.basis.basis_translator:Begin BasisTranslator from source basis {('ryy', 2), ('rxx', 2), ('rz', 1)} to target basis {'u2', 'u3', 'snapshot', 'delay', 'reset', 'barrier', 'measure', 'u1', 'cx'}.
INFO:qiskit.transpiler.passes.basis.basis_translator:Basis translation path search completed in 0.002s.
INFO:qiskit.transpiler.passes.basis.basis_translator:Basis translation paths composed in 0.016s.
INFO:qiskit.transpiler.passes.basis.basis_translator:Basis translation instructions replaced in 139.895s.
INFO:qiskit.transpiler.runningpassmanager:Pass: BasisTranslator -<PHONE_NUMBER>6 (ms)
INFO:qiskit.compiler.transpile:Total Transpile Time -<PHONE_NUMBER>7 (ms)

This is likely the same issue as described in https://github.com/Qiskit/qiskit-terra/issues/5174#issuecomment-713153710 , but seems exceptional in this case.

Note that this probably affects any user who wishes to run VQE on a device, with ExcitationPreserving variational form.

I looked into this issue a little further, and the runtime cost here appears to come from building the symbolic expression to track the global phase during transpilation.
For example, ExcitationPreserving(num_qubits=12, reps=6)and (num_qubits=24, reps=12) have 480 and 3624 parameters, and so after transpilation, end up with a symbolic expression like global phase: -0.5*θ[0] - 2.0*θ[100] - 2.0*θ[101] - 2.0*θ[102] - 2.0*θ[103] - 2.0*θ[104] - ... which currently takes a surprising amount of our time to build.

This looks to be a problem in how we're using sympy (possibly unrelated to #5174 ), in that building and summing large parameterized expressions in sympy is relatively quick (e.g. b = sum(sp.symbols(['x' + str(i) for i in range(1000)])) takes 6.4s on my machine) compared to the extremely slow transpile times seen here.
As a short term workaround, binding parameters prior to transpilation reduces the time considerably (down from almost 4000s to 21s for (num_qubits=24, reps=12) on my machine) but some further investigation is needed to resolve the core issue.

Does it make sense to allow ignoring the global phase in transpilation? @yaelbh I assume you want to execute the transpiled circuit and the global phase doesn't matter?

The global phase doesn't matter

Global phases don't matter only if you compute probabilities of the state. But if you use the circuit and do further processing, like controlling the entire circuit, it becomes a relative phase and does matter. Therefore I don't think we can just generally ignore it upon transpilation.


SOAP envelope 1.2 schema valid Fault response

Coverage decreased (-0.5%) to 94.519% when pulling be8f1a078391d3ee0eebafb529625bfb88735cfd on sigitas-stumbras:soap12fault into af93a6f45720431371ab3f23866d3ad3f2efae1b on vpulim:master.

please fix the build and keep coverage up with tests.

Is this good enough? The tests that are currently failing seemingly have nothing to do with the changes I've made.

ok.  once the build passes, i'll merge it.  can you look into that?

All green & commits squashed. All done now?

I'd like to bring your attention to this code branch https://github.com/vpulim/node-soap/blob/master/src/wsdl/index.ts#L504 where the fault management is using the wrong case in the tag names. Is it linked to the same SOAP version issue? I am unfamiliar with SOAP and my use case is windows wsman.

The PR was closed like this without merging. Can I reopen it and process it? @jsdevel

I think @sigitas-stumbras deleted forked repo.
I am happy to review it if you re-open the PR @sacru2red.


W1D3, tut 1 and 2, erroneous doc string

docstring of the init() method of the Net(nn.Module) class says:
"hidden_unit_nums: int
Number of units in the hidden layer"
suggested correction:
"hidden_unit_nums: list[int]
Number of units per hidden layer"
Class used in both tutorials.

@palec87 this issue refers to W1D3 of the deep learning course.


chore: Add type hints karapace.schema_reader

About this change - What it does

Add type hints to karapace.schema_reader. While doing this, discovered a few inconsistencies needing addressing to pass static type checking.
Replace type aliases with NewTypes.

Why this way
Increase type coverage.

BTW you removed only schema_reader from mypy override list. Can any of other modified files be removed from there?

Unfortunately no, but most of the files touched are already covered, I think it's only karapace/statsd.py that's not, and it had a few more errors to deal with.


Disallow Future date as birth date on sign-up page

While creating an account, future date can be selected as well as date of birth.
We can allow the max date as of today (on which account is being created)

Request to please assign under gssoc, thank you

Thanks for informing but you have raise 5 more major problem to contribute in this project which containing level 3

Hey @thestarsahil
I didn't get it. Do you mean I have to raise 5 more major problems?
Also, I was done with this fix. Was just waiting for this issue to be assigned so that I can push code and create PR.
Please suggest what can I do here, thanks

Hey @thestarsahil I didn't get it. Do you mean I have to raise 5 more major problems?
Also, I was done with this fix. Was just waiting for this issue to be assigned so that I can push code and create PR. Please suggest what can I do here, thanks

Yes ! I meant to say this year we are accepting PR with repeatedly contributor contributing towards with major problem
Not  just like raising only  single PR and then gone forever , instead we want contributor to work more often in one particular project and rasing more as contributor want !
That's oftern show the contribution and learning towards the open source
Thank you

Hi @thestarsahil,
I wanted to push the changes but it's failing with the message
My branch name was mahak-issue-614
Do i have to setup something on my github or will you allow some permission for me to be added as contributor

@thestarsahil please review this pull request #621


sourcemaps: always use forward slashes.

Fixes #964
I don't know if there's an upstream option to handle this, or if it's fixed on a newer upstream version, but this seems to work fine on Windows.
Tests might need to be adapted.

@jakubpawlowicz maybe this isn't the proper fix. Since you are more familiar than me with the codebase, can you have a look at fixing this please?
It also needs to be fixed in the cli.


When there is only one worker, and this worker is blocked and client continues to submit ,runnning jobs more than worker

When only one worker provides service, the worker is blocked. At this point, client continues to submit the job, runnning jobs more than worker!!!
Server status is as follows:
 gearadmin --status
ToUpper 7       7       1

worker.New(worker.OneByOne)
Solved the problem.


Port clashing when creating new multi-container pods

Workspace:
I am using Kubernetes based on this tutorial: https://blog.jetstack.io/blog/k8s-getting-started-part2/
Environment:
OS: NAME="Ubuntu" VERSION="16.04 LTS (Xenial Xerus)"
Docker version: 1.11.2
What happened:
I tried running a multicontainer pod based on a similar configuration file:
apiVersion: v1
kind: Pod
metadata:
name: database-app
spec:
containers:
-
name: database
image: database_image:latest
ports:
- containerPort: 8080
hostPort: 8083
-
name: app
image: app_image:latest
ports:
- containerPort: 8080
hostPort: 8082
I checked the logs for the second container and it said that the port 8080 was already in use. How could I run these two containers on the same pod?

not a kubernetes.io issue


command line failure when experiment name ends with a dot (Error: Command not found)

When the experiment name ends with one or several dots ("."), sacred fails to parse the commands (it removes as many letters from the command name as there are dots in the end of the experiment name).
For instance, the following code runs fine:
from sacred import Experiment

ex = Experiment('name_of_exp')

@ex.automain
def my_main():
    print('Hello world!')

But if I change the experiment name:
from sacred import Experiment

ex = Experiment('name_of_exp.')

@ex.automain
def my_main():
    print('Hello world!')

It returns:
Usage:
  test_sacred.py [(with UPDATE...)] [options]
  test_sacred.py help [COMMAND]
  test_sacred.py (-h | --help)
  test_sacred.py COMMAND [(with UPDATE...)] [options]
Error: Command "my_main" not found. Available commands are: int_config, y_main, ve_config, int_dependencies, int_named_configs

(note the 'y_main' appearing instead of 'my_main').
And if I add two dots:
from sacred import Experiment

ex = Experiment('name_of_exp..')

@ex.automain
def my_main():
    print('Hello world!')

It returns:
Usage:
  test_sacred.py [(with UPDATE...)] [options]
  test_sacred.py help [COMMAND]
  test_sacred.py (-h | --help)
  test_sacred.py COMMAND [(with UPDATE...)] [options]
Error: Command "my_main" not found. Available commands are: int_config, _main, ve_config, int_dependencies, int_named_configs

(note the '_main' appearing instead of 'my_main').
And so on.
I got this bug when updating sacred from 0.7.4 to 0.8.1.

Definitely unintended. The intended usecase for dots is to nest ingredients. I.e. an ingredient called dataset.preprocessing would be nested as _config["dataset"]["preprocessing"] and be locally accessible from within the dataset ingredient. Trailing dots as above would yield empty nesting layers and should probably just be forbidden.


Added remove method, added a namespace to events for easy removal

I'm attempting to create an Ember.js add-on for dateDropper, however without a remove method to clean up, it keeps creating instances each time I navigate from one route to the other. I added a remove method which cleans up the dateDropper events on the input and window. I also remove the dateDropper instance from the HTML. I just branched the new 2.0 version, so this should be good to go. Please let me know if you need anything else from me.

For anyone looking for a quick remove method, simply remove the datedropper element:
$(".datedropper").remove();


fix(casify): fix casify to also return original task name

casify should also return original task name to avoid common user errors. For example, for task name
like e2e, it is not obvious to see that it converts to camelCase e2E and kebab-case e-2-e. This
avoids scripts must resolve to string error if user passes in the original task name over camelified
or kebabified task name

Fantastic! Thank you!

Whoops, forgot to regenerate the contributors table. I'll do that a little later. Thanks.

Hey @abhishekisnot,
I just fixed the contributors stuff (we had an issue with the version). Turns out that GitHub wont size down your image. Could you upload an avatar to your GitHub profile that'll fix it I think:

@kentcdodds Just updated github avatar. I think it looks good now.

Ah, so the avatar url is not changed everytime the user avatar changes. Good to know!

Looks much better! Thanks!

Thanks again for the contribution @abhishekisnot. I've added you as a collaborator. Feel free to continue filing pull requests as you feel the need :-)


edit the docs readme

made additions to readme inspired by replicated's readme. the purpose is to provide more docs explanations and guidance.
there are some open questions for discussion that need to be 🔨 gaveled:

do we have a naming convention for files? will they diff depending on the type of file (concept, reference, procedural)? Example content below from replicated:

The file name should always start with the feature type (such as dbt-cloud, ide, or job-scheduler). Depending on the content type, it typically also includes a secondary descriptor and a verb. Verbs are used when you are creating a task topic.

Because we author content using Markdown, you must add the `.md` the file extension to the file name.

If you are adding a new page to an existing feature category, follow the existing naming convention for that category.

**Example: Concept file**

`snapshots-backup-hooks.md`

**Example: Reference file**

`snapshots-backup-hooks.md`

**Example: Task file**

`releases-creating-customer.md`

**Example: Tutorial file**

`tutorial-ha-cluster-deploying.md`

what is the difference between alt text and lightbox src for images? Replicated use ![alt text](images/<image-name>.png) and mention Alt text is used with image syntax, is parsed by screen readers to support accessibility. With alt text, the user will hear the alt text spoken out loud by the screen reader/

Description & motivation

To-do before merge

Prerelease docs
If this change is related to functionality in a prerelease version of dbt (delete if not applicable):

[ ] I've added versioning components, as described in "Versioning Docs"
[ ] I've added a note to the prerelease version's Migration Guide

Checklist
If you added new pages (delete if not applicable):

[ ] The page has been added to website/sidebars.js
[ ] The new page has a unique filename

If you removed existing pages (delete if not applicable):

[ ] The page has been removed from website/sidebars.js
[ ] An entry has been added to _redirects
[ ] Run link testing to update the links that point to the deleted page

Posted in Slack:

What are the next steps on this?
We could move the new content into the Style guide and rename the content style guide? Ly suggested "Markdown and style guide" or we could call it a "Style and usage guide for docs.getdbt.com" (this would capture the file naming and folder structure content as well as markdown.) (edited


CORS rules fail if you don't specify all parameters

If you don't specify all fields(even though some of them are optional) for CORS rule structure, plan fails with:
 terraform plan -var-file main.tfvars -out plan

Error: Invalid value for module argument

  on main.tf line 125, in module "s3-dev":
 125:   cors_rules = [
 126:     {
 127:       allowed_origins = ["http://localhost/"]
 128:       allowed_methods = ["GET", "PUT", "POST"]
 129:       allowed_headers = ["Authorization", "x-amz-date", "x-amz-content-sha256", "content-type", "content-disposition"]
 130:       expose_headers  = ["ETag"]
 131:       max_age_seconds = 3000
 132:     },
 133:     {
 134:       allowed_origins = ["*"]
 135:       allowed_methods = ["GET"]
 136:       max_age_seconds = 3000
 137:     }
 138:   ]

The given value is not suitable for child module variable "cors_rules" defined
at ../../modules/s3/variables.tf:247,1-22: all list elements must have the
same type.

main.tf
locals {
  bucket_name = "s3-bucket-${random_pet.this.id}"
}

data "aws_canonical_user_id" "current" {}

resource "random_pet" "this" {
  length = 2
}

module "s3_bucket" {
  source = "../../"

  bucket        = local.bucket_name
  acl           = "private"
  force_destroy = true

  cors_rule = [
    {
      allowed_methods = ["PUT", "POST"]
      allowed_origins = ["https://modules.tf", "https://terraform-aws-modules.modules.tf"]
      allowed_headers = ["*"]
      expose_headers  = ["ETag"]
      max_age_seconds = 3000
      }, {
      allowed_methods = ["PUT"]
      allowed_origins = ["https://example.com"]
      allowed_headers = ["*"]
      max_age_seconds = 3000
    }
  ]
}

Obvious(a little bit ugly, though) solution would be specifying max_age_seconds as a list and using only the first element of it:
module/s3/main.tf
...
dynamic "cors_rule" {
    for_each = toset(var.cors_rules)
    content {
      allowed_methods = cors_rule.value.allowed_methods
      allowed_origins = cors_rule.value.allowed_origins
      allowed_headers = lookup(cors_rule.value, "allowed_headers", null)
      expose_headers  = lookup(cors_rule.value, "expose_headers", null)
      max_age_seconds = lookup(cors_rule.value, "max_age_seconds", null)[0]
    }
  }
...

main.tf
cors_rules = [
    {
      allowed_origins = ["https://prototype.mddxtap.com/"]
      allowed_methods = ["GET", "PUT", "POST"]
      allowed_headers = ["Authorization", "x-amz-date", "x-amz-content-sha256", "content-type", "content-disposition"]
      expose_headers  = ["ETag"]
      max_age_seconds = [3000]
    },
    {
      allowed_origins = ["*"]
      allowed_methods = ["GET"]
      max_age_seconds = [3000]
    }
  ]

Thanks for opening this issue. Fixed in v1.15.0.
Strange that a few hours ago there was a similar issue in this module - https://github.com/terraform-aws-modules/terraform-aws-s3-bucket/issues/45


feat!: add opcode for poseidon2 permutation

Related to issue: https://github.com/noir-lang/noir/issues/4037
The PR adds the opcode to ACIR and updates BB and Noir accordingly. Furthermore you can use it via a foreign function in the stdlib. This will generate the proper ACIR opcode but the solver will not be able to solve it and BB will skip it.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 301f0e6d and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,412
179,524
716,068

l1_rollup_calldata_gas
221,644
866,884
3,448,228

l1_rollup_execution_gas
314,063
984,556
3,667,817

l2_block_processing_time_in_ms
1,632 (+1%)
5,245 (+1%)
20,808 (+1%)

note_successful_decrypting_time_in_ms
287
845 (+1%)
3,030 (-5%)

note_trial_decrypting_time_in_ms
95.7 (-1%)
70.7 (+12%)
169 (+15%)

l2_block_building_time_in_ms
16,073
63,892
255,455

l2_block_rollup_simulation_time_in_ms
11,691
46,590
186,379

l2_block_public_tx_process_time_in_ms
4,348 (+1%)
17,215 (+1%)
68,781 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,809 (-1%)
30,667

note_history_successful_decrypting_time_in_ms
1,941 (-2%)
3,840 (-1%)

note_history_trial_decrypting_time_in_ms
118 (-20%)
232

node_database_size_in_bytes
3,515,363
3,547,444

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
213
44,681
25,561

private-kernel-ordering
165
43,753
14,809

base-rollup
1,197
128,338
881

root-rollup
78.6 (-1%)
4,088
677

private-kernel-inner
291
71,208
25,561

public-kernel-private-input
205
31,863
25,561

public-kernel-non-first-iteration
203
31,905
25,561

merge-rollup
7.62
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
128 leaves
64 leaves
512 leaves
1024 leaves
2048 leaves
8192 leaves

batch_insert_into_append_only_tree_16_depth_ms
12.0
18.4 (-1%)
13.6 (-10%)
19.3
23.5 (-7%)
67.5 (+2%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.9
17.5
23.0
31.6
47.0
143
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.622
0.647 (-2%)
0.547 (-11%)
0.542
0.478 (-1%)
0.445 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
N/A
N/A
N/A
83.9 (+2%)
51.6 (-1%)
253 (+2%)
478 (-1%)
915 (+1%)
3,562

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
N/A
N/A
N/A
159
96.0
543
1,055
2,079
8,223

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.484 (+3%)
0.498
0.439
0.437
0.430
0.426

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
N/A
N/A
N/A
118 (+1%)
62.0
372 (+2%)
764 (-1%)
1,430 (+1%)
5,617

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
N/A
N/A
N/A
197
104
691
1,363
2,707
10,771

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.503
0.504
0.477
0.483
0.474 (+1%)
0.472

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
67.5
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
94.1
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
0.598 (+1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,455
32,222

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
373
1,082

Metric
1 public data writes

tx_sequencer_processing_time_ms
535


"Couldn't gain access to game process!"

Hello,
I followed the steps to disable EAC and Nvidia steps. No matter whether I launch the game through the FPS unlocker or through steam, "Patch Game" remains grayed out and if I launch the game through the Unlocker tool, I get the warning "Couldn't gain access to game process!"

GPU is RTX 2070 super

Is your PC running in a restricted environment? Is tool running as administrator?


Allow a CombinedLoader as the training data in DDP

What does this PR do?
This PR allows to use a CombinedLoader as training data, and ensures that the right samplers are added when used in DDP
Fixes #11632
Does your PR introduce any breaking changes? If yes, please list them.
None that I'm aware of.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

also fixes: https://github.com/PyTorchLightning/pytorch-lightning/issues/11475?
also, would you mind updating the docs too: https://pytorch-lightning.readthedocs.io/en/latest/guides/data.html#return-multiple-dataloaders?

Can I have more reviews here please? @rohitgr7 @tchaton for example. Also, one testing pipeline timed out, I did not find a way of re-queuing it.

Can I have more reviews here please? @rohitgr7 @tchaton for example. Also, one testing pipeline timed out, I did not find a way of re-queuing it.

hey @ant0nsc, you can ignore the timeout. happens sometimes. will review this on Monday, although looks great. Just needs some more doc updates. Will push some commits if required.


Interlock

Hello,
Please find the ransomnote for Interlock:
Filename: !README!.txt
Sample: https://www.virustotal.com/gui/file/e86bb8361c436be94b0901e5b39db9b6666134f23cce1e5581421c2981405cb1
!README!.txt

Added. Thank you!


OAuth2ClientProperties is redundant

OAuth2ClientProperties is redundant - we can just use an instance of AuthorizationCodeResourceDetails.

@ryanjbaxter you will need to change your oauth2.sso properties (see commit log and docs)


Figure out the plots

Using this issue to discuss planning and scoping for refactored plots. This now includes #10.
Use cases

Dashboard or file shared each week to facilitate internal data review (with ID and CORVD) after initial run
Dashboard or file shared each week to help partners internal to CDC, but external to CFA visualize the results
Dashboard for comparison of estimates from different models (A/B testing)

Proposal: 1. and 2. are in scope here. 3. is out of scope for now, but will be addressed soon in a separate issue.
Requirements

Must run in the same container as the data transformation code?
Python (with matplotlib + seaborn ? or should we use streamlit or quarto for dashboarding ?)
Underlying data and generated plots must be stored in Azure Blob (.ext)
Must be able to display large numbers of plots without substantial lag
Output must be accessible from .ext and from the cdc domain so that we can interact with the results in the VAP, and share easily with non-CFA collaborators

Specific decisions we need to make

Choose a markdown toolkit / plotting library
Identify the set of plots we generate (see proposal below)
Decide how the output will be shared and accessed (options are - a. render and share a file; b. host the dashboard as a website; c. host the dashboard in DCIPHER)

KG: Dylan's team is doing some version of a. and it seems to be going well. I think b. may be overly complicated. c. would be a good option for the final outputs (use case 2), but will be tricky for initial review.

Decide whether we pre-render all the plots with each postprocessing run, or attempt to point to a specific set of outputs and render on demand
Can we support interactivity?

Proposed set of plots to generate
Instead of rendering .png images and saving them to blob, proposal to render all plots within a dashboard/report
For each job (disease-run):

Choropleth (five category)
Ordered line interval  (five category)
Diagnostic table (e.g. render existing diagnostic file as a table, or Damon's STF dashboard for inspiration)
These are not currently included in the anomaly report

For each location

A. Data/nowcast plot

Can we add interactivity here so that we can toggle on data snapshots and nowcasts from past weeks? This would help us do visual nowcast checking without having to generate separate right truncation plots.

B. Rt timeseries plot
C. Data completeness plot - we may want to edit the existing version of this now that Nate has explored the reporting metrics and understands better what to track
D. Log change plot - Do we use this enough to keep including it?D

For states with diagnostic flags indicating poor convergence (e.g. high Rhat or divergent transitions)

Traceplots and pairs plots for the parameters of interest
Diagnostic stats
Damon prototyped some things for STF that we might be able to modify

Appendix
A. Data/nowcast plot from existing report

B. Rt timeseries plot from existing report

C. Data completeness plot

D. Diff in log(confirm)

I would generally advocate for matplotlib (with seaborn on top where useful), as that's what I am most familiar with. However, I know @swo has had good experiences with Altair. @swo do you know what Altair's map plotting looks like?

I think we could probably use quarto and use either an html document header, or a dashboard. I think the main difference is that the HTML option would be similar to the anomaly report we use during data review at the moment, and the dashboard option requires a server to be running somewhere.
Both should allow us to mix and match whatever plotting libraries we like, matplotlib, plotly, altiar, etc. (Would be useful for making the data/nowcast plot interactive).
I'll continue planning and digging into how this will work; just wanted to put a few initial thoughts in.

I'm am all for Altair. It makes 80% of plots very easy and encourages me to not bother with the remaining 20%
Colored chloropleths are a cinch: https://altair-viz.github.io/altair-tutorial/notebooks/09-Geographic-plots.html#colored-choropleths

One potential issue I've found for using quarto inside an Azure Function is that the python quarto library requires the quarto binary to be installed separately. This is not necessarily possible in an Azure Function, as far as I know. If we moved to something like a Container Instance, this might be possible.
Other options might include:

Render all the necessary plots as files in the Function, and in some separate process, have quarto compile them into HTML/Dashboard.
Pivot from running in a Function to a Container Instance. (Sorry @amondal2)
Just do the data manipulation parts in a Function. Have something copy the necessary data to 1CDP, and host necessary dashboard(s) there.

Number 3. feels alluring, but I've also never worked in 1CDP, and don't know what would be necessary. Number 1. feels like the most doable at the moment, if not exactly what we originally hoped for.

I don't feel super strongly about Functions vs Container Instances, but I do think that the code that transforms and merges the raw model output should be separate from the code that generates the plots. Altair seems nice as we can install it via pip.

the code that transforms and merges the raw model output should be separate from the code that generates the plots

As in a different repo? Or a different file/folder? I think it would be useful to have the plotting code for use case 1 (Dashboard or file shared each week to facilitate internal data review (with ID and CORVD) after initial run) in this repo. Though a different python file for the plotting code would definitely be a good idea.

Per our earlier discussion, here is a description of the 1CDP idea I mentioned as well as some pros and cons:
Description: 1CDP (one common data platform) is backed by Palantir Foundry which handles tasks pertaining to data ingest, transform, visualization, and data/visual sharing. My idea was that each week after the running the models in Azure we could export the preliminary model post-processing data to 1CDP using the API (you can code an api to upload, update, and or download datasets on 1CDP via python or R) and build a dashboard within 1CDP. The dashboard would automatically refresh once the dataset has been updated. 1CDP dashboard options include Foundry-specific options such as Workshop (robust but complicated dashboarding application) but you can also host R shiny applications as well as python-based dashboards in the Code Workspace application within 1CDP.
Pros:

Interactive dashboards (r shiny, webR+cuarto, powerBI) require servers to host said application; 1CDP can act as a data integration platform and server to host dashboards on
We wouldn't have to distribute HTML files which take up storage space and have less features than a server-backed dashboards
1CDP allows for detailed permission controls for sharing internally and externally
Easy to upload  data to 1CDP (just few lines of code and an api token)
Dashboards in 1CDP could be used to generate data pertaining to the review process (such as what points we want to null out or what states we want to exclude)
Rest of CDC is angling to use 1CDP more, might make collaboration with other CDC teams easier

Cons:

Separate software- CFA doesn't seem to use 1CDP much so might require learning curve for users, especially for Foundry-specific applications
Would require API uploading and downloading data. Uploading to 1CDP should be fine, but it might cause headaches if we want to generate outputs within the dashboard and plug those back into the azure-backed pipeline
1CDP has robust permissions sharing options but at first it might take trial and error to make sure everyone has the right access permissions
Foundry restricts some python/R libraries as well as github repos. Would require customized permissions from a palantir engineer if we wanted to integrate github repo into the dashbaord


gpioioctl: Improve Registration

Fixes #62
GPIO Chips with labels pinctrl-* are sorted to register first. This is a kernel convention identifying a GPIO chip that has exported/user lines.
Handling for potential duplicate chips was added. The kernel is exporting gpiochip0, and symlinking it to gpiochip4 as well. This PR ensures a chip with the same name is not registered more than once.
Cleaned up some code duplication in the basic test.
If the registration code detects that a line is already registered, it attempts to make the line name unique by prefixing it with the chip name.
Tested on a Pi5, and a Pi Zero W.

@maruel Not sure why this is failing. It doesn't look like something I did...


[FEATURE] Node eviction

In case the user want to perform maintenance operation on a node, we should allow user to perform a node eviction to gracefully migrate all the VMs into other nodes.

https://kubevirt.io/api-reference/v0.39.0/definitions.html#_v1_virtualmachineinstancespec
EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain. |

Node eviction with graceful VM migration is already supported, u can test via set Hosts > Enable Maintainance Mode, but the following conditions are required:

the VM's volume must be healthy(depends on the Longhorn volume status)
Must have at least 4 nodes to support live migration

Tested in master-c13c2a35-head.

On 4 node cluster
Created multiple VMs from raw image template
Moved VMs to single host
Put Host into maintenance mode
Waited for VMs to migrate
Checked that host was fully in maintenance mode
Did health check on VMs


[DAILYMOTION] An extractor error has occurred

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.09.26. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.09.26

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
# local
➜  ~ youtube-dl -F https://www.dailymotion.com/video/x6udgbb --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-F', u'https://www.dailymotion.com/video/x6udgbb', u'--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.09.26
[debug] Python version 2.7.15 (CPython) - Darwin-17.7.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[dailymotion] x6udgbb: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 507, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/dailymotion.py", line 175, in _real_extract
    metadata = player['metadata']
KeyError: u'metadata'
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 520, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

# via ssh on a server
user@server:~$ youtube-dl -F https://www.dailymotion.com/video/x6udgbb --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-F', u'https://www.dailymotion.com/video/x6udgbb', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.09.26
[debug] Python version 2.7.3 (CPython) - Linux-3.13-0.bpo.1-amd64-x86_64-with-debian-7.8
[debug] exe versions: ffmpeg 2.5.3, ffprobe 2.5.3
[debug] Proxy map: {}
[dailymotion] x6udgbb: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 507, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/dailymotion.py", line 175, in _real_extract
    metadata = player['metadata']
KeyError: u'metadata'
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 792, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 520, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

https://www.dailymotion.com/player/metadata/video/:videoId?integration=inline&GK_PV5_NEON=1 metadata url here, you can fix.

Can confirm from Australian ip. Same extractor error as OP.

Confirm; US ip.

[root@server htdocs]# youtube-dl https://www.dailymotion.com/video/xv0l0w --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.dailymotion.com/video/xv0l0w', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.09.26
[debug] Python version 2.6.6 (CPython) - Linux-2.6.32-754.3.5.el6.x86_64-x86_64-with-centos-6.10-Final
[debug] exe versions: none
[debug] Proxy map: {}
[dailymotion] xv0l0w: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "./youtube-dl/youtube_dl/extractor/common.py", line 507, in extract
ie_result = self._real_extract(url)
File "./youtube-dl/youtube_dl/extractor/dailymotion.py", line 175, in _real_extract
metadata = player['metadata']
KeyError: u'metadata'
Traceback (most recent call last):
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 792, in extract_info
ie_result = ie.extract(url)
File "./youtube-dl/youtube_dl/extractor/common.py", line 520, in extract
raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Hi Mehmet its already fixed https://github.com/rg3/youtube-dl/pull/17706/commits/cbc4c5757d7db2618df55a495819a305d2f70a1b

I am not sure it is fixed. I just tried to download from dailymotion. It worked fine last week, but today I got
C:\Users\Peter\Downloads>youtube-dl https://www.dailymotion.com/video/x6u
[dailymotion] x6ui4y8: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError('metadata',))
e report this issue on https://yt-dl.org/bug . Make sure you are using th
t version; type  youtube-dl -U  to update. Be sure to call youtube-dl wit
-verbose flag and include its complete output.
C:\Users\Peter\Downloads>youtube-dl -v https://www.dailymotion.com/video/
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.dailymotion.com/video/x6ui
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2018.09.26
[debug] Python version 3.4.4 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: none
[debug] Proxy map: {}
[dailymotion] x6ui4y8: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError('metadata',))
e report this issue on https://yt-dl.org/bug . Make sure you are using th
t version; type  youtube-dl -U  to update. Be sure to call youtube-dl wit
-verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq3
ild\youtube_dl\extractor\common.py", line 507, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq3
ild\youtube_dl\extractor\dailymotion.py", line 175, in _real_extract
KeyError: 'metadata'
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq3
ild\youtube_dl\extractor\common.py", line 507, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq3
ild\youtube_dl\extractor\dailymotion.py", line 175, in _real_extract
KeyError: 'metadata'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq3
ild\youtube_dl\YoutubeDL.py", line 792, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq3
ild\youtube_dl\extractor\common.py", line 520, in extract
youtube_dl.utils.ExtractorError: An extractor error has occurred. (caused
Error('metadata',)); please report this issue on https://yt-dl.org/bug .
re you are using the latest version; type  youtube-dl -U  to update. Be s
call youtube-dl with the --verbose flag and include its complete output.

version 2018.09.26.
confirmed not working from US IP.
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--ignore-config', '-i', '--proxy', '', '--verbose', 'https://www.dailymotion.com/video/x4jivt1']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2018.09.26
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg N-90173-gfa0c9d69d3, ffprobe N-90173-gfa0c9d69d3
[debug] Proxy map: {}
[dailymotion] x4jivt1: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError('metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\extractor\common.py", line 507, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\extractor\dailymotion.py", line 175, in _real_extract
KeyError: 'metadata'
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\extractor\common.py", line 507, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\extractor\dailymotion.py", line 175, in _real_extract
KeyError: 'metadata'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\YoutubeDL.py", line 792, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpcaq35cl9\build\youtube_dl\extractor\common.py", line 520, in extract
youtube_dl.utils.ExtractorError: An extractor error has occurred. (caused by KeyError('metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

I fixed in my repo and I created a pull request but it hasn't merged yet. We hope it will be merged as soon as possible

Bug still present. UK
~/bin/youtube-dl --version
2018.09.26
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.dailymotion.com/video/x6uj3qj']
[debug] Encodings: locale ISO-8859-1, fs ISO-8859-1, out ISO-8859-1, pref ISO-8859-1
[debug] youtube-dl version 2018.09.26
[debug] Python version 2.7.14 (CPython) - Linux-4.4.0-109-generic-x86_64-with-debian-stretch-sid
[debug] exe versions: avconv 3.4.1-1, avprobe 3.4.1-1, ffmpeg 3.4.1-1, ffprobe 3.4.1-1
[debug] Proxy map: {}
[dailymotion] x6uj3qj: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/home/xuxo/bin/youtube-dl/youtube_dl/extractor/common.py", line 507, in extract
ie_result = self._real_extract(url)
File "/home/xuxo/bin/youtube-dl/youtube_dl/extractor/dailymotion.py", line 175, in _real_extract
metadata = player['metadata']
KeyError: u'metadata'
Traceback (most recent call last):
File "/home/xuxo/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 792, in extract_info
ie_result = ie.extract(url)
File "/home/xuxo/bin/youtube-dl/youtube_dl/extractor/common.py", line 520, in extract
raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'metadata',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.


Fixed issue 288: the filter passed to PurgeAllInstancesAsync is now used, instead of creating a new fitler.

the filter passed to PurgeAllInstancesAsync is now used, instead of creating a new fitler.

@jviau: I am new to contribute to this project, so I don't know the full process, but do I need to do something before someone reviews the pull request?


fix: Use correct path for devconfig override and app josnnet

What this PR does / why we need it:

JIRA ID: XX-XX

Notes for your reviewer:

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


Use go-control-plane/master instead of custom branch

There was some grpc update in go-control-plane and its incompatible with rest of Istio code base (some gogo vodoo). As a result, we are stuck with go-control-plane:revert-grpc-update branch. We need to do the proper fix ups and move to go-control-plane:master, so that we can start getting the updates from Envoy in Pilot.
cc @kyessenov (who did the gRPC update thing in go-control-plane) / @mandarjog .

Seems like we need a conversation on the project-level tasks. At some point we need to update all libraries, including kubernetes APIs. Should this belong to test & release group?
@hklai Thoughts?

Fixed by https://github.com/istio/istio/pull/8036


Deployment Boundary Not Working

The deployment boundary for my specified mdt  (Workflow Email Alert) is not showing

Thanks for letting me know about this. I was able to reproduce the issue and will investigate further.

Thanks for picking this up.


Add issues v2 with search & suggestions

Dependencies: N.A
What
Ability to search repositories and issues with suggested results (issues) on GitHub via the "Add issues" module on Polar.new & backer dashboard. We should use the same module across both.
Why

Current flow requires backer to switch from Polar to GitHub to get a specific issue link/reference
...It's also boring then as a result :-)
Better search/autocomplete creates a more effective, fun and polished experience

How
Should use the cmd+k style of searching and applying filters.

Single word? Search organizations & repositories.

Suggest 5 results during typing (with reasonable delay)
Arrow keys to navigate. Enter adds the org/repository as a filter.
Shows the top issues.
Typing searches amongst the issues.

Multiple words? Search issues directly vs. orgs/repos.

Design
TODO
Todo

[ ] Build the updated "Add issue" module
[ ] Implement on Polar.new
[ ] Implement in backer /feed

Decision log
Rate limiting & unauthenticated usage
Unless the backer is signed in to Polar, we'll have to use our Polar user and its rate limit. Automatic suggestions upon typing will significantly increase our rate limit consumption.
Decision: Design will include a signup upsell on Polar.new (where the issue would be) regardless of this. However, we can then in case of such an API error on our end prompt the user to either 1) signup or 2) provide a full URL/reference (as today).

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog :^)

Testing something here


How do you switch Propshaft back to dynamic mode in Development?

The docs say:

Precompilation in development
Propshaft uses a dynamic assets resolver in development mode. However, when you run assets:precompile locally Propshaft will then switch to a static assets resolver. Therefore, changes to assets will not be observed anymore and you will have to precompile the assets each time changes are made. This is different to Sprockets.

My question is:
How do I switch it back? It seems crazy that if you run rails assets:precompile one time you're screwed... 🙁

Just delete the public/assets folder. Or modify your bin/dev file do add this line before the foreman command:
rm public/assets/.manifest.json

I ran into this today as well - I couldn't figure out why my browser was seeing stale assets. Traced it back to my public/assets directory, then ultimately realized I must've ran assets:precompile just while playing around with Propshaft. Running rails assets:clobber is another way to "fix" the problem as the whole public/assets dir gets deleted.
Perhaps when precompiling assets when Rails.env.development? a warning message should be displayed that dynamic changes to assets will no longer be rendered until the manifest file is deleted?

@abevoelker Yup, adding a warning there is on the list of things to be done. I wouldn't reject a PR for it 😉


Add Firefox / Firefox WebDriver to all platforms

Tool information

Tool name: Firefox / Firefox WebDriver
Add or update? Add / Update
Desired version: Latest available
Approximate size: Small
If this is an add request:

Brief description of tool: Browser, needed to run selenium tests

Question, Bug, or Feature?:
Feature
Virtual environments affected

[x] macOS 10.15
[x] Ubuntu 16.04 LTS
[x] Ubuntu 18.04 LTS
[x] Windows Server 2016 R2
[x] Windows Server 2019

Can this tool be installed during the build?
Yes, but it would be great to preinstall it
Are you willing to submit a PR?
Yes :)

Changes were done and will be deployed with next image rollout (approximately a week)

I am closing the issue since Firefox and Firefox Driver were added to all images


Add capability for utilizing "DbFunctions"

I wanted this feature for quite some time. I want to utilize DbFunctions (e.g. Like) through specifications somehow. In production not rarely we need "Like" queries. It offers some quasi full-text search. Not applicable everywhere, but there are cases where it's quite useful.
The idea is to have the following usage. In specification, we should have the capability to define what we want to search for:
public class CustomerSpec : Specification<Customer>
{
	public CustomerSpec(string searchTerm)
	{
		Query.Search(x => x.Name, searchTerm)
			.Search(x => x.BIC, searchTerm);
	}
}

And once you have those information stored somehow, it should be utilized into something as below
dbContext.Customers.Where(x => EF.Functions.Like(x.Name, searchTerm) ||
                                EF.Functions.Like(x.BIC, searchTerm));

The way how DbFunctions are parsed internally in EF, makes it really tricky to implement this. Also, if you noticed, you should use the "x" of Where's Func argument (not just provide expression in Like), otherwise won't be parsed correctly. I tried to implement this, and it includes complete expression reconstruction, a lot of reflection.. and shortly said, I failed badly :)
I do believe someone can come up with much brighter idea, and you're more than welcome to do so.

This feature is implemented. If users want this functionality I can prepare a PR here.
The implementation complexity is hidden, and clean usage is provided. If you define following specification:
public class CustomerSpec : Specification<Customer>
{
    public CustomerSpec(string searchTerm)
    {
        Query.Search(x => x.Name, searchTerm)
             .Search(x => x.Address, searchTerm);
    }
}

The evaluator will translate this automatically into
dbContext.Customers.Where(x => EF.Functions.Like(x.Name, searchTerm) ||
                                EF.Functions.Like(x.Address, searchTerm));

You can also provide separate/different search terms for each property. The Search expressions ultimately will be evaluated into OR conditions while building the query. If you need AND condition, you can provide additional paremeter SearchGroup to Search. The usage is as following:
public class CustomerSpec : Specification<Customer>
{
    public CustomerSpec(string searchTerm)
    {
        Query.Search(x => x.Name, searchTerm, 1)
             .Search(x => x.Address, searchTerm, 1);
             .Search(x => x.Phone, searchTerm, 2);
    }
}

The evaluator will translate this into
dbContext.Customers.Where(x => EF.Functions.Like(x.Name, searchTerm) ||
                                EF.Functions.Like(x.Address, searchTerm))
		   .Where(x => EF.Functions.Like(x.Phone, searchTerm));

I like it but am  unsure about the searchGroup implementation. Why is it intuitive that Name and Address, belonging to group 1, are OR'd together while Phone is ANDed with them since it's a different group? I'm not sure I have a better syntax but we should think about it more perhaps.
Possible options:

OrGroup, AndGroup (still might be confusing - are the groups OR'd or their contents?)
AnyGroup, AllGroup (LINQ-like)

The actual numbers don't hold any importance. Whatever number, it just has to be the same within the group. Then, any group will OR within itself. I added this in the last minute, so it might not be the best syntax. Anyhow, we need some identifier for groups.
This is how it is evaluated afterward:
foreach (var searchCriteria in specification.SearchCriterias.GroupBy(x => x.SearchGroup))
{
    var criterias = searchCriteria.Select(x => (x.Selector, x.SearchTerm));
    query = query.Search(criterias);
}

The Search method is an extension I wrote for IQueryable, which does the actual job.
public static class SearchExtension
{
    public static IQueryable<T> Search<T>(this IQueryable<T> source, IEnumerable<(Expression<Func<T, string>> selector, string searchTerm)> criterias)
    {
        Expression? expr = null;
        var parameter = Expression.Parameter(typeof(T), "x");

        foreach (var criteria in criterias)
        {
            if (criteria.selector == null || string.IsNullOrEmpty(criteria.searchTerm))
                continue;

            var functions = Expression.Property(null, typeof(EF).GetProperty(nameof(EF.Functions)));
            var like = typeof(DbFunctionsExtensions).GetMethod(nameof(DbFunctionsExtensions.Like), new Type[] { functions.Type, typeof(string), typeof(string) });

            var propertySelector = ParameterReplacerVisitor.Replace(criteria.selector, criteria.selector.Parameters[0], parameter);

            var likeExpression = Expression.Call(
                                    null,
                                    like,
                                    functions,
                                    (propertySelector as LambdaExpression)?.Body,
                                    Expression.Constant("%" + criteria.searchTerm + "%"));

            expr = expr == null ? (Expression)likeExpression : Expression.OrElse(expr, likeExpression);
        }

        return expr == null
            ? source
            : source.Where(Expression.Lambda<Func<T, bool>>(expr, parameter));
    }
}

You will need the parameter replacer as well.
internal class ParameterReplacerVisitor : ExpressionVisitor
{
    private Expression newExpression;
    private ParameterExpression oldParameter;

    private ParameterReplacerVisitor(ParameterExpression oldParameter, Expression newExpression)
    {
        this.oldParameter = oldParameter;
        this.newExpression = newExpression;
    }

    internal static Expression Replace(Expression expression, ParameterExpression oldParameter, Expression newExpression)
    {
        return new ParameterReplacerVisitor(oldParameter, newExpression).Visit(expression);
    }

    protected override Expression VisitParameter(ParameterExpression p)
    {
        if (p == this.oldParameter)
        {
            return this.newExpression;
        }
        else
        {
            return p;
        }
    }
}

Ok, @ardalis pointed out something to me, and I had to crosscheck this.
In the previous EF versions, if you wanted to query some substring in a given column, and if you do it in the following way
var result = await dbContext.Customers
                            .Where(x => x.Address.Contains("mer2"))
                            .ToListAsync();

then, the EF was not able to translate this correctly, and the search was done in memory after the data has been retrieved from DB. But, in EF Core 3, it seems this behaviour is changed, and EF can evaluate much more complex expressions now. So, the expression will be translated into the following SQL query
exec sp_executesql N'SELECT [c].[Id], [c].[Address], [c].[Email], [c].[Name]
FROM [Customer] AS [c]
WHERE (@__filter_Address_0 = N'''') OR (CHARINDEX(@__filter_Address_0, [c].[Address]) > 0)'
,N'@__filter_Address_0 nvarchar(4000)',@__filter_Address_0=N'mer2'

On the other hand, if you utilize the EF DbFunctions, this is what you get
var result = await dbContext.Customers
                            .Where(x => EF.Functions.Like(x.Name, "mer2"))
                            .ToListAsync();

SELECT [c].[Id], [c].[Address], [c].[Email], [c].[Name]
FROM [Customer] AS [c]
WHERE [c].[Address] LIKE N'%mer2%'

As a conclusion, if you want to query a substring, then you might use "Contains" as well. The new Search feature seems redundant after EF Core 3 :). Actually, performace wise, I'm not sure which SQL query is more efficient, we have to cross check that.

So should we leave in the Search or roll it back and just rely on .Contains? Do we need to do some perf analysis to know for sure?

Actualy, they produce quite different results.

Where(x => x.Address.Contains(temp)) - translates into CHARINDEX in SQL
Where(x => EF.Functions.Like(x.Address, "%temp%")) - translates into LIKE in SQL

If we wanna find something by substring, then indeed these functionalities will overlap. But, that's where the similarities end.
LIKE is much powerful than CHARINDEX, and offers some complex pattern matching. For an instance we can search for all strings which first character is A,B,C,D [A-D]%.
Since we already have it, I'd say let's keep it. If you have a reason why not, we can rollback.
PS. I have done this analysis in the past, can't remember exactly the details (should have blogged). At one point Contains() failed me and I stopped using it completely. I'm not sure if it was EF version related, or something more specific. The type of the columns, varchar vs nvarchar? Unicode characters? or maybe something with SQL collations?

Ok, sounds good.

Done.


Branding / Logotype

Recruitment Pitch

The following was written by @whit537, not @bryanveloso.
Shields is an effort to standardize metadata badges across open-source projects. See the README for an overview. From a technical standpoint, we have a number of implementations that are now collected under the badges GitHub organization, and we're hashing out how to proceed.
On this ticket we are working on the brand identity for Shields (and trying to figure out how open-source design is supposed to work :sheep:). Our proposed process is:

Get a bunch of mocks on the table.
Discuss mocks in light of our project definition.
Select a single design direction.
Iterate from there to completion.

If you'd like to participate, please post mocks as inline images in comments to this ticket.
Thanks! :-)

Original Description
from @bryanveloso
Took a shot at this. A bit abstract, but I believe it gets the point across:

Funny enough this design has never matched better than now:

@bryanveloso Did you keep the source files around for this?

@bryanveloso If you've got these files around, hit me up!


Feature/finishing

In this milestone:
Final touches, I made the project asynchronous and added style and personal touch.

Could please run npm install? I have checked with my partners and the project is running just fine in their local machines.
If you can, please reply to my messages on slack. Thanks


Change seg_config key from "color" to "hue"

This is getting a bit nitpicky, but for those first learning this codebase, hsv space may be a new concept and sticking to keys that match the array dimension may be more intuitive.

Not sure what you referring to here. What do you mean by array dimension?

I'm going to close this issue. I was under the impression that utils.generate_color_contours operated only on the hue channel. However, after closer inspection, I see that we are converting back to RGB space to process, so no need to do this.


Added support for content-based detection of text files

@ritiek Any news on this? We can remove the FIFO to tempfile hack, too, if you want. I just remembered that I could always have done a =(...) substitution. But the part where I’ve added support for content detection (as opposed to just rejecting anything that doesn’t end in txt) is essential to get that to work.

@ritiek has stepped aside as maintainer. He still helps occasionally. As of now we aren't accepting v2 contributions.
I've seen you help out quiet often on v2. Whitty don't you hop annoyed for v3. V3 is simpler to modify too.
I'd love someone like you willing on v3.

@Mikhail Zex commented on Oct 7, 2020, 2:50 PM GMT+3:30:

@ritiek has stepped aside as maintainer. He still helps occasionally. As of now we aren't accepting v2 contributions.
I've seen you help out quiet often on v2. Whitty don't you hop annoyed for v3. V3 is simpler to modify too.
I'd love someone like you willing on v3.

Thanks. I am quite satisfied with v3, but if I find some useful thing to contribute I'll come by.


Grouping behaviour is hard to discover and understand

This is (my paraphrasing of) feedback from @rade, @squaremo and @awh.
Comments generally include "thats really cool" but "I didn't know to click that small button to make that happen" and "it took a minute for me to figure out what it was doing".

Actually, without you explaining what it was doing I would never have figured it out.

Applications   Containers    Hosts
by name        by image

Current topos collection object is:
{
    "name": "Applications",
    "url": "/api/topology/applications",
    "grouped_url": "/api/topology/applications-grouped",
    "stats": {
      "node_count": 12,
      "nonpseudo_node_count": 10,
      "edge_count": 13
    }
  }

I propose to nest sub-topologies:
{
    "name": "Applications",
    "url": "/api/topology/applications",
    "stats": {
      "node_count": 12,
      "nonpseudo_node_count": 10,
      "edge_count": 13
    }
    "sub_topologies": [
       {
           "name": "by name"
           "url": "/api/topology/applications-by-name"
       }
   ]
}

FYI, the UI logic uses the last part of the url as the topology ID, e.g. id(/api/topology/applications-by-name) -> applications-by-name so it would be helpful if we can keep this prefix structure.

Fixed via #222


Release 0.98.7

Did this one by reverting breaking changes rather than cherry picking the changes we want over 0.98.6, since that seems safest given the number of changes we do want from master. /cc @bdash @tgoyne

The diff from 0.98.6 looks reasonable to me.

CocoaPods job failure is due to a v0.98.7 tag not existing yet.
[!] Error installing Realm
 -> Realm (0.98.7)
    - WARN  | url: The URL (https://realm.io/docs/objc/0.98.7) is not reachable.
    - ERROR | [iOS] unknown: Encountered an unknown error ([!] /usr/local/bin/git clone https://github.com/realm/realm-cocoa.git /var/folders/np/5y4sgt8x3r13sk7x0n31z_3m0000gn/T/d20160413-13633-1gu378n --single-branch --depth 1 --branch v0.98.7

Cloning into '/var/folders/np/5y4sgt8x3r13sk7x0n31z_3m0000gn/T/d20160413-13633-1gu378n'...
warning: Could not find remote branch v0.98.7 to clone.
fatal: Remote branch v0.98.7 not found in upstream origin
) during validation.

Analyzed 1 podspec.

[!] The spec did not pass validation, due to 1 error and 1 warning.

Disabling the podspec lint step makes the verify-cocoapods job pass for me locally.

Do the changes related to designated initializers break source compatibility with v0.98.6?

No, see the discussion in https://github.com/realm/realm-cocoa/pull/3305#issuecomment-199411883

👍

0.98.7 released: https://github.com/realm/realm-cocoa/releases/tag/v0.98.7


Erase everything once genome loaded inside html (4.3 only)

export godot to playground
load playground
load any genome (I used essential essence)
See that everything include 3D indicator erased

https://github.com/user-attachments/assets/1473f3a2-d8de-4b4a-beb4-73c6bdde0f4e

holding this as its 4.3 related, which we are not using right now. However we should check this once we are preparing to update


CatalogApi: update entity functionality

an api that could update entity
Feature Suggestion
update catalog entity over CatalogApi, current interface doesn't support this, refer to CatalogApi definition:

I am not sure if we could update catalog entity over api call(remove and add a new one again ?), maybe I lost something. But from CatalogApi interface, it only supports get, add, delete without update. Are there any special reasons that we don't supply update?
Possible Implementation
Context

So the catalog is built in a way that you only really register Locations, and these Entities are produced by the Locations.  If we were to add the ability to be able to mutate these Entities in an API, I think it's get really complex, because then you have the source of truth (these yaml files), and then some state that you've set in the API and merging that state can become really tricky.
We really just recommend updating the source of truth files to reflect what you want in the CatalogApi. Is there some particular use case that this doesn't work for you?

So the catalog is built in a way that you only really register Locations, and these Entities are produced by the Locations. If we were to add the ability to be able to mutate these Entities in an API, I think it's get really complex, because then you have the source of truth (these yaml files), and then some state that you've set in the API and merging that state can become really tricky.
We really just recommend updating the source of truth files to reflect what you want in the CatalogApi. Is there some particular use case that this doesn't work for you?

Now no, thank you for your explanation. My initial thought conflict with the design. This issue could be closed.


Docs: Example "Two-level menu with toggle" not working

Thanks very much for providing this as open source! 👍
Summary
I tried to setup the example Two-level menu with toggle in a Codepen, but I get
TypeError: Cannot read properties of null (reading 'addEventListener')
    at _baseMenu.js:881:25

Error results from .dom.link:
 _handleFocus() {
    this.elements.menuItems.forEach((menuItem, index) => {
      menuItem.dom.link.addEventListener("focus", () => {

I already changed this line from docs
const menu = new AccessibleMenu.Bootstrap5DisclosureMenu({

to
const menu = new AccessibleMenuBootstrap5.Bootstrap5DisclosureMenu({

initialize it correctly.
I load the bootstrap css  and the following js in codepen:
https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.3/js/bootstrap.min.js
<EMAIL_ADDRESS>
Live: Codepen Live
Editor: Codepen Editor
Is there something I missed? I'm not familiar with dom.link of elements?
Thanks in advance!

This sounds like a case of me copy pasting examples from the other projects and not actually checking to make sure they work.
I'll double check all the examples to make sure they are accurate.

@mandrasch I have a PR open with example fixes. I've tested them and it looks good. If you have time do you want to give them a try as well? I'm hoping this will resolve the issue (it was 100% the case that I just copy pasted the examples from the base project and never updated them for Bootstrap).
This also was the case for the BS4 one as well, so we have 2 fixes coming out!

Thanks very much! 👍  I'll have a look (today or within next few days)

Things I had to change:

For https://github.com/NickDJM/accessible-menu-bootstrap-4/blob/fix-examples/docs/basics/single-level-menu.md, I changed new command and query selector in JS:

const menu = new AccessibleMenuBootstrap4.Bootstrap4DisclosureMenu({

Changed the selector, it was set to menu:
  menuElement: document.querySelector("#main-nav .navbar-nav"),

For https://github.com/NickDJM/accessible-menu-bootstrap-4/blob/fix-examples/docs/basics/single-level-menu-with-toggle.md I changed the init as well:

const menu = new AccessibleMenuBootstrap4.Bootstrap4DisclosureMenu({

For https://github.com/NickDJM/accessible-menu-bootstrap-4/blob/fix-examples/docs/basics/two-level-menu-with-toggle.md changed this as well:

const menu = new AccessibleMenuBootstrap4.Bootstrap4Menubar({

Added navbar-light and bg-light class to main-navs in all examples for bs styling:

<nav id="main-nav-single-level" aria-label="Main" class="navbar navbar-light bg-light">

Noticed that there is the dropdown icon in text and the dropdown-toggle css (:after) from bs

Haven't had a chance to look at this yet- been super busy. I should have some free time tonight though.

@mandrasch Updated the fix-examples branch with the all changes above (excluding 4 since that's just colour changes).
Are you planning on keeping hose examples up? If so, we can link to them in the docs.

@NickDJM Yes sure, I can keep this repo up. :)
Just removed dropdown html icons as well.

Examples has been updated and merged.


Update sample app to show more common routing patterns and add functional tests for it

The current sample shows some obscure usage of routing. It should instead show typical patterns and extensibility. And then add functional tests to it.

Can go over it with me or @rynowak if anything isn't clear.

Things to include:

MapRoute with a middleware
Map[Verb] with a delegate
Route handler that prints route values


feat: mapping column widths for chart conversion

when a column does not have type or has auto type, set that column to be the old table column width if provided

I don't think this is the way to handle conversion. You need to have the logic as part of the importProperties and exportProperties of the ext object.


Why is the speed of downloading not consistent?

When using a browser (or any HTTP) download or watching a video on youtube, I notice the download is very consistent... mostly peaking at the bandwidth. However, when I use youtube-dl to grab a video, it shows a very clear roof-tiling pattern; it goes up and when it reaches peak there is a sheer drop to almost zero... after which the speed starts to raise again and repeating this process.
> youtube-dl --version
2019.09.28

Why close this without some possible explaination? What other information is needed to make an assesment?

Not seeing this using using Aria2 (on Windows) as an external downloader:
PS> choco install aria2
PS> youtube-dl --external-downloader aria2c --external-downloader-args "-j 12 -s 12 -x 12 -k 5M" https://www.youtube.com/watch?v=7IvmzEuVkSY

Bother to read new issue template and provide all requested info.


ci: deploy integration TK for develop cluster

Pull request description
Deploy Stage Testkube to Develop cluster
Checklist (choose whats happened)

[ ] breaking change! (describe)
[x] tested locally
[ ] tested on cluster
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

Breaking changes

Changes

Fixes

@tkonieczny can you please check if namespaces are passed correctly to tests commands?


fix: Add support for filter on rpc

What kind of change does this PR introduce?
Currently filters such as eq or neq are not supported on rpc() call within this package. If we take a look at postgrest-js, it is supported.
This is because rpc() on postgrest-js returns PostgrestFilterBuilder where as rpc() on postgrest-dart returns PostgrestTransformBuilder, which does not have the methods for filters.
What is the current behavior?
rpc() returns PostgrestTransformBuilder, which does not have the methods for filters.
What is the new behavior?
rpc() returns PostgrestFilterBuilder, which does not have the methods for filters.
Additional context
I added one test that is the same as the one found in supabase-js.
@phamhieu I was wondering if there was a specific reason why rpc() on postgrest-dart returns PostgrestTransformBuilder and not PostgrestFilterBuilder like postgrest-js, but do you have any additional context here?

Let me bump up the version number now. I also want Pham to take a look at this just in case there was a special reason why postgrest-dart was designed this way!

Thanks! Let me bump up the version number now. I also want Pham to take a look at this just in case there was a special reason why postgrest-dart was designed this way!

I missed that part when starting this lib.
Great work put it in thanks @dshukertjr


Testing for computational issues

Original report (archived issue) by Brian Bingham (Bitbucket: brian_bingham).

With 1.1 we are allowing teams a pretty hefty set of cameras and two lidars.  We also added some buoyancy elements that may soak up some more compute cycles.  We should generate some example configurations and worlds to serve as worst case examples to evaluate the ability for VRX to run in real-time on our stated systems specs: https://osrf-migration.github.io/vrx-gh-pages/#!/osrf/vrx/wiki/system_requirements

@bsb808 and @caguero Since it has been a couple of years now, I propose to outsource this task to the community. I will close it for now, and we can reopen it if we receive any reports that VRX is not running properly using the specs we provided.


fixing linting failure, updating golang and go mod

Checking this with snyk results in:
✔ Tested /Users/gcase/Documents/code/go/github.com/asecurityteam/cisco-ise-log-parser-go for known issues, no vulnerable paths found.


Any event triggered to catch the disconnect events of connected FtpClient?

I'm using hosted service (IHostedService) to keep the connection always open in order to avoid connection overhead.
(e.g. call FtpClient.Connect at StartAsync method only and FtpClient.Disconnect at StopAsync)
And the FTP operations are done in the same connection during the application lifetime.
Is there any event fired if the FTP server disconnects or gets down? So, I could try to reconnect periodically to get the connection back alive.

No event at present. You can try to implement it by checking in the stream classes, which implement the actual socket to the server.


getEpisodeCount error while scanning for new series

What TMM version are you using?
tmm_3.0-SNAPSHOT_bf170ff_win
release, pre-release, nightly, or directly from GitHub/branch?
NIGHTLY
What is the actual behaviour?
I use a fresh tmm3 installation and scan for series over network shares and i got these error everytime.

What is the expected behaviour?
no error dialog
Steps to reproduce:
do setup dialog and add a series folder via smb and click finish
Additional
Have you attached the Logfile from the day it happened?
org.jdesktop.beansbinding.PropertyResolutionException: Exception invoking method public int org.tinymediamanager.core.tvshow.TvShowList.getEpisodeCount() on org.tinymediamanager.core.tvshow.TvShowList@29741173 	at org.jdesktop.beansbinding.BeanProperty.invokeMethod(BeanProperty.java:626) 	at org.jdesktop.beansbinding.BeanProperty.read(BeanProperty.java:660) 	at org.jdesktop.beansbinding.BeanProperty.getProperty(BeanProperty.java:677) 	at org.jdesktop.beansbinding.BeanProperty.access$1900(BeanProperty.java:173) 	at org.jdesktop.beansbinding.BeanProperty$SourceEntry.updateCachedValue(BeanProperty.java:1048) 	at org.jdesktop.beansbinding.BeanProperty$SourceEntry.cachedValueChanged(BeanProperty.java:1076) 	at org.jdesktop.beansbinding.BeanProperty$SourceEntry.propertyValueChanged(BeanProperty.java:1123) 	at org.jdesktop.beansbinding.BeanProperty$SourceEntry.propertyChange(BeanProperty.java:1128) 	at java.desktop/java.beans.PropertyChangeSupport.fire(Unknown Source) 	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) 	at java.desktop/javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(Unknown Source) 	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) 	at org.tinymediamanager.core.AbstractModelObject.firePropertyChange(AbstractModelObject.java:96) 	at org.tinymediamanager.core.tvshow.TvShowList.lambda$new$0(TvShowList.java:116) 	at java.desktop/java.beans.PropertyChangeSupport.fire(Unknown Source) 	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) 	at java.desktop/javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(Unknown Source) 	at java.desktop/javax.swing.event.SwingPropertyChangeSupport$1.run(Unknown Source) 	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source) 	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source) 	at java.desktop/java.awt.EventQueue.access$500(Unknown Source) 	at java.desktop/java.awt.EventQueue$3.run(Unknown Source) 	at java.desktop/java.awt.EventQueue$3.run(Unknown Source) 	at java.base/java.security.AccessController.doPrivileged(Native Method) 	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) 	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source) 	at java.base/java.security.AccessController.doPrivileged(Native Method) 	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source) 	at java.desktop/java.awt.Dialog.show(Unknown Source) 	at java.desktop/java.awt.Component.show(Unknown Source) 	at java.desktop/java.awt.Component.setVisible(Unknown Source) 	at java.desktop/java.awt.Window.setVisible(Unknown Source) 	at java.desktop/java.awt.Dialog.setVisible(Unknown Source) 	at org.tinymediamanager.ui.dialogs.TmmDialog.setVisible(TmmDialog.java:240) 	at org.tinymediamanager.ui.dialogs.MessageDialog.showExceptionWindow(MessageDialog.java:124) 	at org.tinymediamanager.Log4jBackstop.uncaughtException(Log4jBackstop.java:43) 	at java.base/java.lang.ThreadGroup.uncaughtException(Unknown Source) 	at java.base/java.lang.ThreadGroup.uncaughtException(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.processException(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source) 	at java.base/java.security.AccessController.doPrivileged(Native Method) 	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source) 	at java.desktop/java.awt.Dialog.show(Unknown Source) 	at java.desktop/java.awt.Component.show(Unknown Source) 	at java.desktop/java.awt.Component.setVisible(Unknown Source) 	at java.desktop/java.awt.Window.setVisible(Unknown Source) 	at java.desktop/java.awt.Dialog.setVisible(Unknown Source) 	at org.tinymediamanager.ui.dialogs.TmmDialog.setVisible(TmmDialog.java:240) 	at org.tinymediamanager.ui.dialogs.MessageDialog.showExceptionWindow(MessageDialog.java:124) 	at org.tinymediamanager.Log4jBackstop.uncaughtException(Log4jBackstop.java:43) 	at java.base/java.lang.ThreadGroup.uncaughtException(Unknown Source) 	at java.base/java.lang.ThreadGroup.uncaughtException(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.processException(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source) 	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source) 	at java.base/java.security.AccessController.doPrivileged(Native Method) 	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source) 	at java.desktop/java.awt.Dialog.show(Unknown Source) 	at java.desktop/java.awt.Component.show(Unknown Source) 	at java.desktop/java.awt.Component.setVisible(Unknown Source) 	at java.desktop/java.awt.Window.setVisible(Unknown Source) 	at java.desktop/java.awt.Dialog.setVisible(Unknown Source) 	at org.tinymediamanager.ui.dialogs.TmmDialog.setVisible(TmmDialog.java:240) 	at org.tinymediamanager.ui.dialogs.MessageDialog.showExceptionWindow(MessageDialog.java:124) 	at org.tinymediamanager.Log4jBackstop.uncaughtException(Log4jBackstop.java:43) 	at java.base/java.lang.ThreadGroup.uncaughtException(Unknown Source) 	at java.base/java.lang.ThreadGroup.uncaughtException(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.processException(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) 	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.reflect.InvocationTargetException 	at jdk.internal.reflect.GeneratedMethodAccessor54.invoke(Unknown Source) 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 	at java.base/java.lang.reflect.Method.invoke(Unknown Source) 	at org.jdesktop.beansbinding.BeanProperty.invokeMethod(BeanProperty.java:617) 	... 88 more Caused by: java.util.ConcurrentModificationException 	at java.base/java.util.AbstractList$Itr.checkForComodification(Unknown Source) 	at java.base/java.util.AbstractList$Itr.next(Unknown Source) 	at org.tinymediamanager.core.tvshow.TvShowList.getEpisodeCount(TvShowList.java:257) 	... 92 more
Your Operating system? (win/mac/linux? version?)
Windows 10 x64

this issue is solved with the next build (in a few minutes)


Ability to set voice with Web Speech API in webSpeechPonyfillFactory

Can we have an updated webSpeechPonyfillFactoryto allow us to set lang, pitch, voice, etc?
I am using example  https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/06.f.hybrid-speech however I am using WebSpeechAPI for speechSynthesis as well

@corinagum can you take a look at this?

@pradeeprajendran you should use SSML to set the lang, pitch, rate, and volume. You can refer to this Speech Synthesis Markup Language article on how to set it up. You should pass it as speak property to the activity sent from the bot.
For voice, you can refer to this select voice sample.


feature: default subcommand when no arguments provided

Hello, I have enhanced the library with an interesting function.
Let's create an example of a command with subcommands.
#[poise::command(prefix_command, slash_command, subcommands("show", "edit"))]
pub async fn configuration(ctx: Context<'_>) -> Result<(), Error> {
   // Before this change, when no arguments were given, this code was executed.
}

#[poise::command(prefix_command, slash_command)]
pub async fn show(ctx: Context<'_>) -> Result<(), Error> {
   // ...
}

#[poise::command(prefix_command, slash_command)]
pub async fn edit(ctx: Context<'_>) -> Result<(), Error> {
   // ...
}

But I created a simple parameter in poise::command proc macro.
From now, you can use default_subcommand parameter. No more repeating code!
default_subcommand sets the default subcommand; when no subcommand is given, the default subcommand will be run
Example:
#[poise::command(prefix_command, slash_command, subcommands("show", "edit"), default_subcommand = "show")]
pub async fn configuration(ctx: Context<'_>) -> Result<(), Error> {
   // After this change, the code will NEVER be executed.
   // You only need to return Ok because of type checking.
   Ok(())
}

#[poise::command(prefix_command, slash_command)]
pub async fn show(ctx: Context<'_>) -> Result<(), Error> {
   // From now it it the default subcommand.
   // It will be fired in these e.g. cases:
   // .configuration
   // .configuration show
}

#[poise::command(prefix_command, slash_command)]
pub async fn edit(ctx: Context<'_>) -> Result<(), Error> {
   // ...
}

I think this would be a great feature, you won't have to repeat your code.
I've tested a few cases and everything works fine, although I would recommend checking my code more thoroughly for possible errors/shortcomings before accepting the PR.
Errors that I have implemented:
- #[poise::command(slash_command, subcommands("a", "b"), default_subcommand = "a")]
-                 ^^ WRONG! `prefix_command` is NOT added here; default_subcommand ISN'T SUPPORTED
-                 "`default_subcommand` is supported only in `prefix_command`, however you didn't enabled prefix_command"

- #[poise::command(prefix_command, default_subcommand = "a")]
-                                  ^^ WRONG! You specified `default_subcommand` without specifying `subcommands`.

+ Also, type check for `default_subcommand` is implemented, so you can't simply pass anything like `default_subcommand = someinvalidliteral`. This will return an proc macro error.

Feel free to edit my code, it may be not perfect.

Hmm I wonder if the additional API surface and maintenance is worth it.
You can already do this:
#[poise::command(prefix_command, slash_command, subcommands("show", "edit"))]
pub async fn configuration(ctx: Context<'_>) -> Result<(), Error> {
   show_impl().await;
}

async fn show_impl(ctx: Context<'_>) -> Result<(), Error> {
   // ...
}

#[poise::command(prefix_command, slash_command)]
pub async fn show(ctx: Context<'_>) -> Result<(), Error> {
   show_impl().await
}

#[poise::command(prefix_command, slash_command)]
pub async fn edit(ctx: Context<'_>) -> Result<(), Error> {
   // ...
}


Merge branch 'master' of github.com:trikset/trik-studio into redesign

Download:
Environment: MINGW=C:\Qt\Tools\mingw530_32, QTDIR=C:\Qt\5.11\mingw53_32, QT=5.11
trik-studio-redesign_qt5.11.zip
Environment: MINGW=C:\Qt\Tools\mingw492_32, QTDIR=C:\Qt\5.6\mingw49_32, QT=5.6
trik-studio-redesign_qt5.6.zip


redis: basic integration test for redis_proxy

added a basic integration test for redis_proxy that sends
a basic request and response between "client" and "server",
and another that sends an invalid request (and receives the
appropriate error in response)

plumbed bazel size option through envoy_cc_test() definition
(optional, default is "medium" as per bazel specification) so tests
can avoid timeout warnings; redis_proxy test set to size "small"

Signed-off-by: Mitch Sukalski<EMAIL_ADDRESS>For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Description:
added a basic integration test for redis_proxy that sends
a basic request and response between "client" and "server",
and another that sends an invalid request (and receives the
appropriate error in response)
Risk Level: low
Testing: new integration test
Docs Changes: none
Release Notes: none
[Optional Fixes #Issue]
[Optional Deprecated:]

@maximebedard, @HenryYYang, @FAYiEKcbD0XFqF2QK2E4viAHg8rMm2VbjYKdjTg, and @mattklein123 here's the basic redis integration test, as promised.

Tested locally with the problematic branch:
$ git checkout msukalski/redis-integration-test
$ bazel test //test/integration:redis_proxy_integration_test
# ...
INFO: Build completed successfully, 1984 total actions
//test/integration:redis_proxy_integration_test                          PASSED in 0.5s
$ git merge redis-prefixed-key-routing-take-2 # original branch + fix
$ bazel test //test/integration:redis_proxy_integration_test
# ...
INFO: Build completed successfully, 166 total actions
//test/integration:redis_proxy_integration_test                          PASSED in 0.5s
$ git revert 41d9b4dd0de4cf1c6d4d2cdf12da8998dbddad03 # commit that fixes the segfault we had last week
# ...
INFO: Build completed, 1 test FAILED, 2 total actions
//test/integration:redis_proxy_integration_test                          FAILED in 0.3s

@HenryYYang @FAYiEKcbD0XFqF2QK2E4viAHg8rMm2VbjYKdjTg please take first pass.

Just a though, maybe it's better to not take a dependency on the encoder and decoder in the integration test.  If we use the raw request/response strings here, we can catch the bugs in the encoder/decoder also.

Just a though, maybe it's better to not take a dependency on the encoder and decoder in the integration test. If we use the raw request/response strings here, we can catch the bugs in the encoder/decoder also.

+1, I think given how simple the text protocol is might be worth doing it this way.

+1 on Henry's comment. I would prefer to keep this as stripped down as possible and treat our redis code as a black box.

@mattklein123 , @FAYiEKcbD0XFqF2QK2E4viAHg8rMm2VbjYKdjTg , and @HenryYYang -- the test is now stripped down.


All the data is lost after update from disk 2.0 to disk 2.1

Right after the LittleFS update from version 2.4 to 2.9.1 it has written in debug:
lfs.c:4475:debug: Found older minor version v2.0 < v2.1
lfs.c:4549:debug: Found pending gstate 0x000002000000000000000000
lfs.c:4857:debug: Rewriting superblock {0x1, 0x0}

And everything was ok, then after a lot of reboots, once the reboot happened during a write operation, it has written again:
lfs.c:4475:debug: Found older minor version v2.0 < v2.1
lfs.c:4549:debug: Found pending gstate 0x000002000000000000000000
lfs.c:4857:debug: Rewriting superblock {0x1, 0x0}

and the FS is totally clean after that.

Does "Expanding superblock" occur in your log at all during this? If so #953 may be related (currently unsolved).
What is most likely happening is something is corrupting one of the superblocks, causing littlefs to find/mount the older superblock.
It's unlikely this is actually related to the commit that changes the version, most likely other state is rolling back as well.
It would be very useful if you're able to reproduce this with a small example somehow.

Also what is your config? block_size, block_count, block_cycles, etc? This is useful for looking for patterns with other bug reports.

No, there was no "Expanding superblock" message in the debug log. The only messages I have reported above. 3 right after the update, and the same 3 after one of a lot of reboots.
Steps to reproduce:

Run version 2.4 "lfs_format" and create directory structure
Update to version 2.9.1
Load the FS with a lot of operations creating/removing files and folders (not in root dir, see the "activity" below):
Reboot the board in a loop
Usually in less than 10 tries it shows that 3 debug messages again and the FS is clean after that.

The activity:
Actually, it is "log" system, which writes up to 10 files 40kB size each, in "/log/[timestamp].log" files, when 10 files are written, it renames/moves them into "/log/archives/[number]/[timestamp].log" files, the number is incremented.
And it continues to write the new ones into the "/log/[timestamp].log".
Once per 30sec, it checks "lfs_fs_size", and if there is less than 1MB free left on the FS, it removes the oldest "/log/archives/[number]/[timestamp].log".
When the oldest folder "/log/archives/[number]" is empty it is also removed.
Test is running when FS is full, so entire set of writing functions is in use.
The config:
  .read_size        = 1,
  .prog_size        = 1,
  .block_size       = 4kB,
  .block_count      = 2000 (8MB),
  .block_cycles     = 100,
  .cache_size       = 256,
  .lookahead_size   = block_count/8,
  .name_max         = 24,
  .file_max         = 0,
  .attr_max         = 0,
  .metadata_max     = 0

All the new fields in 2.9.1 were set to 0.

Metadata is not used.


How to use node-gyp with header *.hpp and source *.cpp files?

Hi everyone,
I am wondering how to use nbind (and therefore node-gyp!) having a C++ code structured in header files (ending with .hpp) and source files (ending with .cpp).
One major question is, how to let node-gyp know, when or how to use my header file?
My second question is where to put the nbind stuff:
The class declaration is in my hpp file:
#include
#include
class Greeter {
public:
static void sayHello(std::string name);
};
The implementation in my cpp file:
#include "hello.hpp"
static void sayHello(std::string name) {
std::cout<< "Hello, "<< name << "!\n";
}
#include "nbind/nbind.h"
NBIND_CLASS(Greeter) {
method(sayHello);
}
Does it make sense to bind a class here? Or how to I bind a class which was declared in the header file....
All the best.

how to let node-gyp know, when or how to use my header file?

You add the .cpp to the 'sources' section of your binding.gyp.  You can optionally also add the .hpp; node-gyp will deduce its presence automatically most of the time but being explicit won't hurt.
Questions about nbind should be directed to that project.


Per-view option: force_https

Hi, Thank you for great library!
Is there a way to change 'force_https' option per view?
Because I am using GAE and GAE's cron cannot handle HTTPS so I would like to exclude some endpoints.

@valueshimoda interesting! Do you think you could sent a pull request to add this? If not, I can do it at a later date.

@jonparrott I tried to add force_https option like frame_options. But app.before_request(self._force_https) was executed first and I could turn force_https flag off before that. I missed something but I could not figure it out :( So could you please do it?

Done in 011fe58466ea361e368ac4631b7b15d6ae800ffc

@jonparrott Thank you very much! I just noticed that print is added and it seems debug print.
_update_local_options
decorator