Set up Karma and Browserify

I don't know if you want to merge this yet, but I wanted to show it to you for review to see if you like the direction I'm going here.
What I've done so far:

Split server-side and client-side tests
Hooked up Karma to run client-side tests
Used the browserified dist file as the input to the client-side tests
Removed the import statements you were using babel for from the server-side tests
Set up Travis to run node 4, 5, and 6 in case I accidentally missed some other babel stuff
Updated the makefile to run both server and client-side tests

I'm also looking into git hooks to run browserify as a pre-commit hook, but I only have that set up locally for now. That will help keep dist up to date. I'm also still staring at Istanbul docs since I've never hooked it up for client-side tests before, but I think it looks possible now that I've split it apart. Oh, and I added an expect statement to your sanity test.

Nice job.  Wondering if it might be better to run browser tests with mocha? That way we can reuse tests on both platforms.

We are. Karma bootstraps the front-end test running process so it can be used in CI; it builds a page with the front-end files and mocha tests, then hits it with PhantomJS. In theory, we can also use Firefox on TravisCI, but I haven't got it set up yet.
However, I did split out the tests; in the front-end, debug is already bootstrapped as a global, while the backend uses require. I want to merge them back together, but I haven't figured out quite how yet (some conditionals will be required I think).

Combining the tests turned out to be easier than I expected :) I've added coverage to the server-side tests, and set up coveralls. So now the only problem is that there's no real tests, and my first attempt to add a real test is going awry.
@thebigredgeek Do you want to help me figure out what's wrong with this test, or do you want to merge first so we don't drift too far apart?

@yamikuronue yeah let's just get the existing smoke tests running on the client as well as the server

Then we are good to go once you resolve those conflicts :)

I can't resolve :(.  On your branch

Oh, my bad; the button was greyed out and it said something about write access so I assumed it was permissions, but the button hover text says I have to do it from the command line. Which. Well. Here goes nothing! If I do not return from the front lines of git, it was an honor working with you ;)

Changes Unknown when pulling f484cfedc446f2f75298a14971f63e26ac7d8c52 on yamikuronue:replace-babel-with-browserify into ** on visionmedia:master**.

not sure why your merge attempt failed @yamikuronue, but assuming i merged the way you wanted it done you should be good now. ;-)

Thank you @AccaliaDeElementia !!

Thanks!  Looks like conflicts again :(.  Also, can we ditch the commit hooks?

We can, but I added them because it looked like you've had some issues with not having the dist folder get committed previously?
Gosh darn conflicts...

merge conflict resolved (again) :-)

Changes Unknown when pulling f512cf2367f08d3bd479508cdf8227bf3f7cc8fb on yamikuronue:replace-babel-with-browserify into ** on visionmedia:master**.

Thanks.  LGTM!  Yeah, we removed dist completely.  Thanks for this!


Consider @jitinl patches to VAD

@jitinl Can you explain what the deal is with adding napi? What's the fix/improvement/new feature?


add radio buttons

Added a radio button. Though still need to add the radio group component to create groups of buttons.
#342

Hey @costagolub, I would be happy to add the radio buttons, but can you remove the lob folder from your PR?

hey @nikgraf, sure, will make it


Add support for STS endpoint in the Bucket API

Fixes #1423
I was able to test this in my personal AWS account using both an interface endpoint and the public regional endpoints.

Back to draft, adding tests for proxy

I did some manual testing on EKS with IRSA.

Without IRSA annotation, the bucket just failed due to no S3 permission.
With IRSA annotation and no explicit STS config, just .spec.provider: aws, it worked.
With explicit STS endpoint https://sts.amazonaws.com, it worked.
Tried using a regional endpoint https://sts.us-east-2.amazonaws.com, it worked again.
Tried a non-existing endpoint https://sts.us-east-5.amazonaws.com, it resulted in error Post \"https://sts.us-east-5.amazonaws.com\": dial tcp: lookup sts.us-east-5.amazonaws.com on <IP_ADDRESS>:53: no such host.
Tried a regional endpoint that's inactive in the account, resulted in error No OpenIDConnect provider found in your account for <OIDC provider address>.
Tried http://sts.amazonaws.com and it failed with connection refused error.

Everything looks good and as expected. Thanks for all the work on this and being patience with me 🙂

Thanks for your excelent diligence, it keeps Flux being the best GitOps product out there!


Adjust dependencies versions according to older qiskit-terra versions

The benchmark task code behaves differently depending on the qiskit version being used.
Some output examples

Qiskit version:  0.13.0
Sample size:  100
Architecture: ibm_rochester
Circuit depth ave: 24.81 | Gate count ave: 49.76
Architecture: rigetti_16q_aspen
Circuit depth ave: 37.0 | Gate count ave: 80.56

Qiskit version:  0.14.0
Sample size:  100
Architecture: ibm_rochester
Circuit depth ave: 13.4 | Gate count ave: 21.52
Architecture: rigetti_16q_aspen
Circuit depth ave: 17.56 | Gate count ave: 29.82

Qiskit version:  0.15.0
Sample size:  100
/Users/kspuldaro/github/submit-metriq/.tox/python3.7/lib/python3.7/site-packages/qiskit/circuit/register.py:121: DeprecationWarning: np.int is a deprecated alias for the builtin int. To silence this warning, use int by itself. Doing this will not modify any behavior and is safe. When replacing np.int, you may wish to use e.g. np.int64 or np.int32 to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
if not isinstance(key, (int, np.int, np.int32, np.int64, slice, list)):
(The warning above is printed multiple times until the end of runtime...)

Qiskit version:  0.23.0
Sample size:  100 (works well with small sample sizes... eg. 5)
Architecture: ibm_rochester
Traceback (most recent call last):
File "scripts/circuit_depth_and_gate_count.py", line 45, in
result = transpile(circuit, coupling_map=coupling_map, optimization_level=3)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/compiler/transpiler.py", line 388, in transpile
transpile_config["pass_manager_config"].backend_properties,
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/compiler/transpiler.py", line 474, in _serial_transpile_circuit
result = pass_manager.run(circuit, callback=callback, output_name=output_name)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/passmanager.py", line 528, in run
return super().run(circuits, output_name, callback)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/passmanager.py", line 228, in run
return self._run_single_circuit(circuits, output_name, callback)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/passmanager.py", line 283, in _run_single_circuit
result = running_passmanager.run(circuit, output_name=output_name, callback=callback)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/runningpassmanager.py", line 125, in run
dag = self.do_pass(pass, dag, passset.options)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/runningpassmanager.py", line 173, in _do_pass
dag = self.run_this_pass(pass, dag)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/runningpassmanager.py", line 202, in run_this_pass
new_dag = pass.run(dag)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/passes/utils/gate_direction.py", line 299, in run
return self._run_coupling_map(dag, layout_map)
File "/Users/kspuldaro/opt/anaconda3/envs/metriq/lib/python3.7/site-packages/qiskit/transpiler/passes/utils/gate_direction.py", line 177, in _run_coupling_map
f"Flipping of gate direction is only supported "
qiskit.transpiler.exceptions.TranspilerError: "Flipping of gate direction is only supported for ['cx', 'cz', 'ecr'] at this time, not 'swap'."

These might occur due to incompatible qiskit dependency versions.

A possible way to do this is with env-specific and multi-dimentional configuration (this second part, addressing the problem of CLI for specific terra versions)
[tox]

envlist = {python3.7, python3.8}-{terra0.23,terra0.24}
minversion = 3.7

[testenv]
description = run benchmark task file
deps =
    terra0.23: qiskit-terra==0.23.3
    terra0.24: qiskit-terra==0.24.0
    requests
    pyzx
commands =
    python {toxinidir}/scripts/circuit_depth_and_gate_count.py

With terra0.24: <something> you can specify a dependency that only applies to that environment. Then, you can call that environment like this:
tox -e python3.7-terra0.23

Known qiskit-terra versions that fail executing the task:

0.13.0, 0.14.2: AttributeError: module 'numpy' has no attribute 'float'. - Use NumPy < 1.20
0.15.2: AttributeError: module 'numpy' has no attribute 'int'. - Use NumPy < 1.20
0.19.2, 0.20.2, 0.21.2, 0.22.4: TranspilerError: qiskit.transpiler.exceptions.TranspilerError: "Flipping of gate direction is only supported for ['cx', 'cz', 'ecr'] at this time, not 'swap'."
0.23.3: TranspileError: qiskit.transpiler.exceptions.TranspilerError: "'swap' would be supported on '(15, 14)' if the direction were swapped, but no rules are known to do that. ['rzz', 'rxx', 'cz', 'rzx', 'cx', 'ryy', 'swap', 'ecr'] can be automatically flipped."


added the check for at least 8 characters with a warning

referencing issue #48 and continuing pull request #260 to pass test

sorry for the long delay, maybe we should use  should instead of must

Same as https://github.com/auth0/node-jsonwebtoken/issues/48#issuecomment-505420109


Implement actions for titles, authors and citations

Clicking on the paper titel should open the PDF. Clicking on an author name should start a google search with the author name (just the single name, not all authors of the paper). Clicking on the number of citations should search for the paper titel in Google scholar (as you do for retrieving the citations).

Opening the PDFs is the only thing keeping me from using the new version.

Solved in commit ce1e215.


Can't select radio-button on same position after update values

Bug, feature request, or proposal:
Bug
What is the current behavior?
Latest publish version
What are the steps to reproduce?
http://plnkr.co/edit/oDxXTwXfxvzsi5rtqsPQ?p=preview
Go on the Plunker, choose "Toto", then click on Next and then try to choose "Tutu". You can't...
Is there anything else we should know?
It's my first plunker... I hope it's good!

I think it's not a bug, because you use a md-radio-group and inside of that, you use the same id for all of the items.
If you replace the md-radio-button line with this (see this updated Plunker):
<md-radio-button *ngFor="let v of value[selected]; let i = index;" value="v" [id]="i">{{ v }}</md-radio-button> the value 'Tutu' is selectable, because every item is unique.

@donroyco thanks, that's work. Maybe you can explain this in doc?
But I don't understand, my id switch between toto and titi to become tutu and tata. So they are overtime unique... But with your code, the id don't change when you click on next... With me, the id change.

The problem is you use value="v" instead of [value]="v" so all the 4 radio buttons have the same value string "v" instead of the value in variable v.
See update plunker: http://plnkr.co/edit/0GDHH9wJN0FCFFOYxB9j?p=preview


fix typo in developer guide

Coverage remained the same at 91.923% when pulling bce245c5db2d70a707e3eb6011aa8c899564ffbb on mingruiii:v1.2-Documentation into 1d4e4fa8bca679afed6e92795b2d45c361d7f2b7 on CS2103AUG2017-W11-B2:master.

Coverage remained the same at 91.923% when pulling bce245c5db2d70a707e3eb6011aa8c899564ffbb on mingruiii:v1.2-Documentation into 1d4e4fa8bca679afed6e92795b2d45c361d7f2b7 on CS2103AUG2017-W11-B2:master.


Trying to find Group Privacy Settings

Summary
I've upgraded 2 sites to 9.3.0 and trying to find the Privacy tab as noted in the release notes.
Group Privacy Settings in Site Settings in a new tab. Thanks @donker #99
Steps to reproduce (if necessary)
Upgraded from 9.2.2 to 9.3.0 and trying to find the new privacy tab under site settings. Not there on the 2 sites I've upgraded.
Screenshots (if necessary)

Affected version

[x] 9.3.0
[ ] 9.2.2
[ ] 9.2.1
[ ] 9.2
[ ] 9.1.1
[ ] 9.1
[ ] 9.0

Looking at the feature it supposed to look like this.

Looking at this more. I'm not seeing any of the Persona Bar updates that are noted in the release notes.
Either I'm doing something wrong or they're not there at least on the 2 sites I've upgraded.
Missing:
Added UI for Small and Large Page Icons back into Page Settings.
Added UI for Host Email setting under SMTP Configuration.
Added Cookie consent and configuration settings for Terms and Privacy pages - This is related to the overall issue.
Did something get missed on upgrades? Maybe new installs have it.

Looks like there was a build issue that affected upgrades only (the modules versions where not applied during final packaging so the installer skipped them), the upgrade package has been replaced in the same release with correct versions.
Ideally, I would suggest rolling back to 9.2.2 and redoing the upgrade to be 100% safe.
However on 2 sites that I just upgraded this morning to the previous package, I just put the new package files over the old ones and navigated to http://www.yoursitename.com/Install/install.aspx?mode=InstallResources to force the modules to install. After a 15 minutes test around the features, it looks fine now.

I've already rolled on site back and can my other one pretty easily also.  Think that will fix the CKeditor issue also?
https://github.com/dnnsoftware/Dnn.Platform/issues/2632

It looks like that is a different problem, not sure why... But I can reproduce too

Daniel,
Works like a charm now.  Comparing the new to old install logs it looks much better now. This was what I was commenting about earlier on my upgrade issue I opened. The log just didn't seem like a normal upgrade log I've seen in the past.
InstallerLog20190320-New.txt
InstallerLog20190320-Old.txt
I'll close this issue out also.
FYI: It didn't resolve issue #2632

It looks like that is a different problem, not sure why... But I can reproduce too

Good. So it's not just me..


C deploy to flyio

[x] Finish "interfacing locally" page
[x] Better title - "Run Corrosion commands on a remote node" (meh?)
[x] harmonize doc titles with summary.md and index page
[x] Add links to docs for flyctl commands

Preview: https://c-corrodocs.fly.dev/deploy-on-fly/index.html

This is only markdown and example files so I'm betting safe to merge.


Make interval tree inclusive.

This ensures the interval tree interval interface uses inclusive ranges to match the rangetree interval interface.  The same struct should be able to implement both now.
@alexandercampbell-wf @rosshendrickson-wf @ericolson-wf @seanstrickland-wf @matthinrichsen-wf @wesleybalvanz-wf @blakewilson-wf

The failing test here is coming from the batcher package, I've alerted @brianshannan-wf

+1

+1


Document padding behavior for components.

https://trello.com/c/TE6jrPbi/332-document-padding-behavior-for-components
Added documentation for padding using spacing variables.

@ericsoderberghp: thanks for the feedback. I've updated the docs, let me know if this is what you had in mind.


Look around for any more clearfixes

Spawned from #29.

No other clerfixes appear to exist in the codebase. Closing.


Update tokenizer to accept new characters for Huggingface models

Related to the effort here: https://github.com/sillsdev/silnlp/pull/171

This is to add new characters to NLLB 200 to enable both random one-off characters and entirely new scripts.  Current status:

This is working in SILNLP here: https://github.com/sillsdev/silnlp/pull/171
Tokenization can either add individual characters or use Sentencepiece to tokenize based upon frequency of tokens in words in the corpora

Things to do:

Check if freezing the model and adding another layer helps with Blue score, especially with new scripts as in this threadthub thread
Implement in Machine.py with some testing
Add basic controls through YAML files for enabling, size of vocab, etc.


Add priority to branches with CRITICAL in name

I think you should also look at modifying the getAdvancedCandidateRevisions function as well. That may be the function that runs if a job has branch specifiers.


Profile enabling update

Application Insights extension has integrated the profiler agent.

@northtyphoon,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@northtyphoon : Thanks for your contribution to the Azure documentation! The author, @alancameronwills, has been notified to review your proposed change.

@northtyphoon Bin, the result is a bit confusing. For new users, who have never encountered the profiler before, is it true that they don't have to do anything to enable the profiler? Because if so, then we should delete the section "Enable the Profiler." Most readers won't need it. Also, we don't refer to the "site agent" in the docs - we just talk about enabling AI in Azure web apps.

@alancameronwills Users still need to enable Profiler. The agent is pre-installed in Web App within Application Insights extension. By default, the agent is in stand-by mode. Once users enable the profiler, the agent will start to do the job.

OK, let's move the Update note to the bottom of the Enabling section, because I think it isn't relevant to most users?

#sign-off


find-package bug in example/libcalc.lisp

Line 42 in the parse function:
(find-package "SBCL-LIBRARIAN-EXAMPLE")

The package name is actually sbcl-librarian/example/libcalc. It looks like the name was changed in this commit but the line mentioned above wasn't updated to match.
P.S. The README note regarding -pagezero_size on OS X should probably mention that it applies to intel-based Macs. It's not needed (and doesn't work) on Apple Silicon.

Fixed in https://github.com/quil-lang/sbcl-librarian/commit/6f82d28eee0e8e07e11403cd15ce40c801bf23d4.


Dndcolor rewrite

Small rewrite primarily for readability and renaming \setthemecolor to \DndSetThemeColor.

Reverted updates to colors (to be changed in a different PR).


Set ContentType and ContentEncoding properly in RabbitMQ

Solves #259

We refactored "Compression" to be called "ContentEncoding" to comply with AMQP and RFC2616.
In terms of backwards compatibility, this should not cause problems because we did not release a version yet, which was capable of using this feature.


Add retries

Retries
Background
We'd like to have a retry mechanism supporting:

various retry schedules:

direct retry - retrying up to a given number of times with no delay between subsequent retries,
delayed retry - retrying up to a given number of times with a fixed delay between subsequent retries,
retry with backoff - retrying up to a given number of times with an increasing delay between subsequent retries; this can optionally include a jitter, i.e. a random factor in the delay between subsequent attempts (see: https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/)

various definitions of the logic to retry:

direct, i.e. f: => T,
Either, i.e. f: => Either[E, T]
Try, i.e. f: => Try[T]

Proposed API
Heavily inspired by https://github.com/softwaremill/retry
import ox.retry
import scala.concurrent.duration.*

def foo: Int = ???
def bar: Either[String, Int] = ???
def baz: Try[Int]

// various logic definitions
retry.directly(3)(foo)
retry.directly(3).either(foo)
retry.directly(3).tried(foo) // can't use "try"

// various retry schedules
retry.directly(3)(foo)
retry.delay(3, 100 millis)(foo)
retry.backoff(3, 100 millis)(foo) // optional jitter defaults to Jitter.None

// Either with non-default jitter
retry.backoff(3, 100 millis, Jitter.Full).either(bar) // other jitters are: Equal, Decorrelated

Questions/doubts

wouldn't it be better to include the retry schedules (directly/delay/backoff) as another paramater to retry, e.g.retry(delay(3, 100 millis), foo) // however, how would we handle Try/Either?

is there any way to distinguish between f: => T and f: Try[T]/f: Either[E, T] without using dedicated functions like tried/either?

Thanks! That's a good start :)
So first I think we might consider extending the wish-list a bit. One thing I'm currently lacking is to decide if retries should be continued or modified basing on the result - this can include both a successful result (e.g. -1 can signal a "retry", same as a Left, Result etc.), as well as an exception. Maybe we could handle different outcomes using different retry strategies? E.g. a connection error to a DB would require a delay, but a transaction serializability failure would require an immediate retry
As for including the schedule as a parameter to retry - I like this idea :). And that's because maybe we can try to unify retry and repeat using a single API? It's not that different ... one retries the computation if the result is somehow "invalid", the second repeats the computation as long as the result is "valid" (e.g. repeat sending a ping message every second).
Finally, the technical question - distinguishing => T and => Try[T] - this probably can be done using an implicit witness, which would be normally erased. Same trick you can do to create function overloads when the erasure of the types is the same.

There are a few concepts in cats-retry that may be worth adopting:

The notion of operation success (also present in softwaremill/retry) - a function T => Boolean
The notion of retryable failure, called worthRetrying in cats-retry - a function which decides whether a non-successful operation should be retried.
RetryPolicy as data, that can be defined separately, or even composed of smaller policies. In this case, a a policy means how we should retry when 1. operation failed and 2. is worth retrying: immediately, after a delay, etc.
Side-effecting operations to run on retry - a custom function that the we can use for logging, metrics, etc.

For composing retry policies, cats-retry offers operations like:

join: If one wants to give up, both give up for example delay(5.seconds).join(maxRetries(5)), where maxRetries(5) represents retry.directly(5) from your examples. BTW join is IMO not the best name.
meet: If both want to give up, it gives up. I don't think we want this, I don't see any important beneficial cases other than the idea of capping backoff, which can be handled by backoff settings.
followedBy: When one gives up, switch to the next one. Sounds pretty useful.

retry(op: => T)(policy) - Use default success condition: for op: => T it's "doesn't throw", for op: => Either[E, T] it's Right(_), for op =>: Try[_] it's Success[_]. Use default isRetryable, which means any unsuccesful outcome.
retry(op: => T, wasSuccessful: T => Boolean)(policy): custom success condition, default retry condition (any unsuccessful outcome)
retry(op: => T, wasSuccessful: T => Boolean, isRetryable: Try[T] => Boolean)(policy): custom success condition, custom retry condition - depending on exceptions or returned values.
retry(op: => Either[E, T], isRetryable: Try[E] => Boolean)(policy): default success condition (Right(_)), custom retry condition - depending on exceptions or Left values
etc.
If overloading is too tricky, or turns out to be too difficult to handle for the user, we may consider predefined methods similar to cats-retry, like:
retryOnSomeErrors(op: => Either[E, T], isRetryable: E => Boolean)(policy) // will not retry if op throws
retryOnSomeResultsAndSomeErrors(op: => Either[E, T], wasSuccessful: T => Boolean, isRetryableError: E => Boolean, isRetryableResult: T => Boolean)(policy)
retryOnFailuresAndSomeErrors(op: => Either[E, T], wasSuccessful: T => Boolean, isRetryable: E => Boolean)(policy)
retryOnThrow(op :=> T, isRetryable: Throwable => Boolean)(policy)
etc., the names are of course just examples.
Bonus, can be left for implementation in the future:
Adam asked about possibility to "retry immediately on transaction exceptions and delay on database exceptions".
We can achieve this by adding "evaluation condition" to policies and a special builder:
def op: T = ...
retryCond(op)(
  delay(5.seconds).whenThrownA[DBConnectionException], // creates a ConditionalThrowableRetryPolicy
  immediately.whenThrown {
    case _: TransactionException => true
  }
)

retryCond is an additional operation which may require repeating all the variants, but it simplifies typechecking of the conditions (they have to match the type of unsuccessful op). This also allows to skip isRetryable, it can be evaluated by checking first fulfilled policy condition.
Similarly for other types of op:
def op: Either[E, T] = ...

retryCond(op)(resultPolicies = List( // List[ConditionalRetryPolicy[T]]
  delay(5.seconds).when[T](_.code == 300),
  immediately.when[T](_.code != 300),
  retryableErrorPolicies = List( // List[ConditionalRetryPolicy[E]]
  immediately.whenMatches[E] {
    case _: MyError1 | _: MyError2 => true
  }
  )
)

Conditional policies would act like composed with 'join', which is IMO enough.


Pull county data from csv endpoint instead of json endpoint

This looks like a typo in the update script. counties.csv was pulling from the json API endpoint instead of the csv endpoint

Thanks @reductionista! You're totally right this was a typo - we just upgraded our API though and the links moved, so I just updated them on my end also fixing the counties link to CSV instead of JSON.


Getting connection failed with pkce = true

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Connection failed
#0      IOClient.send (package:http/src/io_client.dart:94:7)

#1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:93:32)

#2      _withClient (package:http/http.dart:166:12)

#3      DesktopOAuth2._fetchAccessToken (package:desktopoauth2/src/desktop_oauth2.dart:68:22)

#4      OAuthService.authorize (package:open_project_client/core/helpers/oauth.dart:49:9)

Any more details about the error you are facing? Which oauth service?


Looking for security issues in your CI. Please ignore :)  dzmjbs

Looking for security issues in your CI. Please ignore :)  dzmjbs

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://docs.snowplowanalytics.com/docs/contributing/contributor-license-agreement/ to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


YCSB workload & table generation concerns

Hi Xiangyao,
I am writing to ask some concerns and questions I encountered when I built and ran DBx1000.

I dumped tables generated from both init_table() and init_table_parallel() into disk files. In the README, it is said that there should be 10 additional columns with randomly generated 100 byte string. But the table from init_table_parallel() seems to only contain "hello" as the column value. And there are not 10 columns. Which table generation schemes should one choose? And are there 10 columns for this single table?

Also it is claimed that YCSB workload is chosen to be one of the standards. However, the workloads are generated by Zipfian's law with R/W ratio from YCSB major workloads. Hence, the queries are not directly generated by YCSB right? In the "request" objects, the values are all one-byte chars. If such key/value pairs are inserted into the table, would that have an impact on original table schema?

There are 32 buckets for the hash function and I understand each transaction & row gets their own Manager to handle rts/wts. But how are two read requests handled if they want to access the same bucket? If there are 10 million rows in this single table with 32 buckets, it means for each bucket it could contain up to three hundred thousands rows. And if rows can be accessed concurrently, by TicToc algorithm, how are buckets accessed? Wouldn't buckets have their own concurrency control methods?

Best,
YJ

Hi YJ,

There are 10 columns but the values are NULL except the first column whose value is "hello". The schema is defined in benchmarks/YCSB_schema.txt. For the concurrency control study in our papers, the values do not really matter so we didn't model them carefully.

The YCSB workload in DBx1000 is different from the original YCSB workload. We made these changes to make the workload more interesting to study concurrency control algorithms.

The schema won't be changed. Actually, the value does not really matter. Right now for YCSB we only model the writing behavior but always write 0 to the rows.

Where did you see the number 32? For the YCSB table, the hash index contains "g_synth_table_size * 2" buckets, thus has a low probability of collision (https://github.com/yxymit/DBx1000/blob/3bb4db16ca37f32eee868fa776dfce45adcb5e1b/system/wl.cpp#L90).

Best,
Xiangyao

Hi Xiangyao,
Thanks a lot for your reply!

So there are roughly 2 million buckets for the YCSB table? Does it mean that each lookup would access, most likely, one bucket, which contains one item, and loop inside this one-item bucket?

As for the TPCC workload, I noticed that there are some code chunks commented out, as implementations of a couple SQL statements within the two transaction types. These should be necessary as claimed in the TPCC specs, right? Since I am doing a comparison, I want to make sure the workloads used from both parties are of the same standard.

As it is shown in this code snippet: https://github.com/yxymit/DBx1000/blob/4cb819a4965391c7bd50c246ca72d949d89ab394/benchmarks/tpcc_txn.cpp#L124-L141,
Payment transactions in TPCC workload would select all rows from Table_Customer which c_last equals to the last name from the query and return a cursor in the middle of these rows. But in this code snippet, as I understand, would look up for the first row with the matched last name and return the pointer which points to the middle between the current row and the last row in this table, instead of all rows with this matched last name. I don't if that is a misunderstanding so would really appreciate if you could clue me in here.

Thanks!
YJ

Yes. So the indexing cost will be small.
We did change the TPCC implementation for coding simplicity. Please uncomment those code pieces and DO double check the correctness of those code.
The hash index being used here, _wl->i_customer_last, stores all rows with the same last_name into the same bucket, linked by item->next. next=NULL for the last row in the bucket. So the code in DBx1000 should be correct :-)

Thank! I will do our comparison accordingly. I dump the item->customer_last_name and same last_name are grouped together. Really appreciate your help!


UI-select clears ng-model on instantiate

When ui-select instantiates, it clears my ng-model (array of $resource instances). I'm using v0.9.5, what could be the reason?

Dupe of #540, forgot about that....


bug: Build failed on Windows for latest release due to outdated $ARTIFACT_NAME_PATTERN

Describe the bug
I tried reinstalling the plugin, but I'm getting a build failure when Lazy is setting up.
To reproduce
Just delete the nvim-data/avante dir and re-open neovim to trigger a reinstall.
Expected behavior
A succesful build, like a prior version.
I checked the build.ps1 script. Running this part:
    $REPO_OWNER = "yetone"
    $REPO_NAME = "avante.nvim"

    $SCRIPT_DIR = $PSScriptRoot
    # Set the target directory to clone the artifact
    $TARGET_DIR = Join-Path $SCRIPT_DIR "build"

    # Set the platform to Windows
    $PLATFORM = "windows"

    # Set the Lua version (lua51 or luajit)
    $LUA_VERSION = if ($feature) { $feature } else { "luajit" }

    # Set the artifact name pattern
    $ARTIFACT_NAME_PATTERN = "avante_lib-$PLATFORM-latest-$LUA_VERSION"

    # Get the artifact download URL
    $LATEST_RELEASE = Invoke-RestMethod -Uri "https://api.github.com/repos/yetone/avante.nvim/releases/latest"
    $ARTIFACT_URL = $LATEST_RELEASE.assets | Where-Object { $_.name -like "*$ARTIFACT_NAME_PATTERN*" } | Select-Object -ExpandProperty browser_download_url

Results in an empty ARTIFACT_URL. Problems sseems to be that the pattern isn't present in the LATEST RELEASE contents.
For the record, this is what the relevant asset looks like:
url                  : https://api.github.com/repos/yetone/avante.nvim/releases/assets/195135753
id                   : 195135753
node_id              : RA_kwDOMjjYJM4LoYkJ
name                 : avante_lib-windows-aarch64-luajit.zip
label                :
uploader             : @{login=github-actions[bot]; id=41898282; node_id=MDM6Qm90NDE4OTgyODI=;
                       avatar_url=https://avatars.githubusercontent.com/in/15368?v=4; gravatar_id=;
                       url=https://api.github.com/users/github-actions%5Bbot%5D; html_url=https://github.com/apps/github-actions;
                       followers_url=https://api.github.com/users/github-actions%5Bbot%5D/followers;
                       following_url=https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user};
                       gists_url=https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id};
                       starred_url=https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo};
                       subscriptions_url=https://api.github.com/users/github-actions%5Bbot%5D/subscriptions;
                       organizations_url=https://api.github.com/users/github-actions%5Bbot%5D/orgs;
                       repos_url=https://api.github.com/users/github-actions%5Bbot%5D/repos;
                       events_url=https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy};
                       received_events_url=https://api.github.com/users/github-actions%5Bbot%5D/received_events; type=Bot;
                       site_admin=False}
content_type         : application/zip
state                : uploaded
size                 : 8299022
download_count       : 2
created_at           : 2024-09-26T18:32:13Z
updated_at           : 2024-09-26T18:32:13Z
browser_download_url : https://github.com/yetone/avante.nvim/releases/download/v0.0.8/avante_lib-windows-aarch64-luajit.zip

Note the aarch64 which isn't present in $ARTIFACT_NAME_PATTERN = "avante_lib-$PLATFORM-latest-$LUA_VERSION".
Environment
NVIM v0.10.1
Build type: Release
LuaJIT 2.1.1713484068
Repro
No response

Never mind, should've just updated the plugin! Apologies.


[Suggestion] Tilesets less than 374 pixels wide should be centered on the tile select menu

Example tileset:

When fed into Mari0:

Optimally it should be formatted the same in Mari0 as it is in the actual image. The blank space to either side would just be unselectable.

While this is a relatively easy feature to implement, you could just as easily place empty tiles to the right of the tileset to make them line up


tests: improve error handling

This is a bug report
Problem
For our tests suite, we sometimes get vague generic errors from Allure that don't convey any directed information about the origin of the error such as:
1) Uncaught error outside test suite
Error: No active suite
    at AllureReporter.startCase (/home/runner/work/js-waku/js-waku/node_modules/allure-mocha/src/AllureReporter.ts:95:13)
    at AllureReporter.failTestCase (/home/runner/work/js-waku/js-waku/node_modules/allure-mocha/src/AllureReporter.ts:139:12)
    at MochaAllureReporter.onFailed (/home/runner/work/js-waku/js-waku/node_modules/allure-mocha/src/MochaAllureReporter.ts:82:23)
    at ParallelBufferedRunner.emit (node:events:529:35)
    at ParallelBufferedRunner.emit (node:domain:489:12)
    at ParallelBufferedRunner.Runner.fail (/home/runner/work/js-waku/js-waku/node_modules/mocha/lib/runner.js:453:8)
    at ParallelBufferedRunner.Runner._uncaught (/home/runner/work/js-waku/js-waku/node_modules/mocha/lib/runner.js:983:12)
    at /home/runner/work/js-waku/js-waku/node_modules/mocha/lib/nodejs/parallel-buffered-runner.js:340:18
    at Array.forEach (<anonymous>)
    at /home/runner/work/js-waku/js-waku/node_modules/mocha/lib/nodejs/parallel-buffered-runner.js:333:12
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
npm ERR! Lifecycle script `test:node` failed with error:
npm ERR! Error: command failed
npm ERR!   in workspace<EMAIL_ADDRESS>npm ERR!   at location: /home/runner/work/js-waku/js-waku/packages/discovery

Proposed Solutions
Ensure we have access to stack trace
Notes
Ref: https://github.com/waku-org/js-waku/actions/runs/8110738684/job/22168594550?pr=1876
cc @fbarbu15

I don't believe that it's related to allure, if we don't use allure reporting we get a similar generic error without no stack trace.
I also struggled with those types of failures and when I tried to debug and fix them it seemed to be related to tsconfig checks.
Somehow the tests seem to be using tsconfig instead of tsconfig.dev like they should and I don't understand why.
I raised this some time ago in js-waku channel and @weboko said he has in mind a fix for this

I referred to https://github.com/waku-org/js-waku/pull/1612

Yes, unfortunately even an unused import will trigger such failure.
Steps to repro locally:

Have an unused import in a test file (or even mark a test with .only)
Invoke the tests with CI=True to simulate CI runs ex CI=True npx mocha tests/filter/single_node/ping.node.spec.ts
We see the same error as reported in the CI. If we remove the unused report(or the only flag) it will work fine

Moving to TODO for now.

Moving to TODO for now.

What is the acceptance criteria?

I was looking into this problem and noticed it happens when something throws outside of test() function.
I don't think it is actionable - and the only way to check this is to run tests and see the stack trace.
Resolving this tasks as it is not actionable for now but let's keep an eye on failures in our CI and improve handling in case we observe problems. cc @waku-org/js-waku-developers


fix: set $HOME

Otherwise we get:
java.lang.Exception: Couldn't create directories: /homeless-shelter/.lein

I don't have a way to test right now (our Clojure projects no longer use Nix and vice versa), but the change looks good to me. Thanks very much for your contribution!


SNOW-670956 Support qualify

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes #NNNN

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
Support DataFrame.qualify, which corresponds to QUALIFY clause in Snowflake SQL.

What is the behavior when a dataframe has no window function and tries to use qualify? Given that we don't have a check in client, I guess it would be the server to raise this error. Is the error easier to comprehend for a snowpark user? Or should we actually add some client side validation based on class type (because we know if certain construct is a window function)?

Good question. Server will raise a SQL compilation exception that looks something like SQL compilation error: error line 1 at position 228 found QUALIFY clause but no window function. I think this is pretty comprehensible, we could do client side verification but only partially since the use case where df.select(<window_expr>.alias("criteria")).qualify(col("criteria") > 1) cannot be verified easily (we never check logical plan of the subquery).


Support Deployment Stacks in the Deployment Pane

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.

@alex-frankel just checking this item is for the VS Code Bicep Deployment Pane and not the Portal Deployment Pane?
As I was just about to open this for the VS Code Bicep Deployment Pane, as this would be very handy indeed 👍

Yes that's corrrect @jtracey93


Setting browser path by PLAYWRIGHT_BROWSERS_PATH not working anymore

A redo of #1229 because the branch renamed.
Fixes #992
Set PLAYWRIGHT_BROWSERS_PATH to "0" only when not explicitly set by the user
I don't have an idea yet on how to test this.

Well, it should possible write test which sets PLAYWRIGHT_BROWSERS_PATH something which does not exist and expect failure. Also it should be possible to write test which set PLAYWRIGHT_BROWSERS_PATH to existing installation folder and expext success. Most likely easiest to do with unit tests.

Most likely this would serve as good base: https://github.com/MarketSquare/robotframework-browser/blob/main/utest/test_python_usage.py

This was fixed in cc18e1becdda06fe1e90714c73fa10058e04b937


Maximum On-Time per Device per Day

My Pool Pump is running 10 hours a day, which is a little bit to long.
it would be great if there is a option like "duration_max_per_day: 120" in minutes in the device section

Hello, yes it is a good idea in the direction taken by all change request.

https://github.com/jmcollin78/solar_optimizer/releases/tag/2.0.0.beta1
Please give a try to this pre-release. To use it you should add a max_on_time_per_day_min: <value in minutes> in your solar_optimizer.yaml file. Example:
solar_optimizer:
  algorithm:
...
    - name: "Equipement name"
      entity_id: "input_boolean.fake_device_g"
      power_max: 1200
      check_usable_template: "{{ True }}"
      duration_min: 1.5
      action_mode: "service_call"
      activation_service: "input_boolean/turn_on"
      deactivation_service: "input_boolean/turn_off"
      battery_soc_threshold: 40
      max_on_time_per_day_min: 30              <------------------ add this
...

You will also notice than there is now one device per devices in solar_optimizer.yaml in which you will find some entities:

This point can create backward compatibilities issues depending on how you use it.


Updated ID4B.json

Hi @vkuznet , I have modified the schema and also checked your schema validator again.
Would you please deploy the updated schema?
Thank you for your help!
Best,
Suchi

@suchismitasarker , thank you for PR, I updated your schema config on main server. Please try it out.


scheduled daily deploy

Added cron per https://github.com/CDCgov/prime-central/issues/113 and apparently my styler was different than the previous styler (tabs v spaces? pew pew). Sorry about that.
Cursory inspection reveals that scheduling different environments by cron isn't the simplest of tasks, and this will trigger the deployment of both environments - but other than wasting cycles I don't think there's a red flag with that?

yeah you know what I don’t understand wtf is going on with the schedule thing, I interpreted it as it will deploy deploy every env from the main branch, which now I realize is definitely not what we want because it would overwrite sandbox from main
I need to do more research sorry


Is this package still maintained?

Is this package still maintained?

That's a no then ...

No truly maintained, unfortunately I do not use the chunk upload in any active project ...


Facebook API

Pull Request Test Coverage Report for Build 117

19 of 59 (32.2%) changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.8%) to 90.945%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/recipe/logic/parser/RecipeBookParser.java
0
1
0.0%

src/main/java/seedu/recipe/ui/BrowserPanel.java
8
14
57.14%

src/main/java/seedu/recipe/commons/events/ui/ShareRecipeEvent.java
0
6
0.0%

src/main/java/seedu/recipe/logic/parser/ShareCommandParser.java
0
6
0.0%

src/main/java/seedu/recipe/ui/util/FacebookHandler.java
11
20
55.0%

src/main/java/seedu/recipe/logic/commands/ShareCommand.java
0
12
0.0%

Totals

Change from base Build 108:
-1.8%

Covered Lines:
1838

Relevant Lines:
2021

💛  - Coveralls


Update issue templates

A very small comment has been added, overall - all is perfect , PR has been approved.


Update Java ExpansionService to use arbitrary PipelineOptions set through an ExpansionRequest

This fixes https://github.com/apache/beam/issues/33022.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @ahmedabu98

Thanks!

Cdap failure in "Java IOs Direct" is unrelated.

Java PipelineOptions deserialization expects the encoded options to have a specific key.
https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/PipelineOptionsTranslation.java#L99
"beam:option:" + snake_case_options_key + ":v1"

May be options forwarded from Python are not in this format ?

Python translation does put them in this format: https://github.com/apache/beam/blob/2488ca131bed3f28c92fa7b38b7506a461818a3a/sdks/python/apache_beam/options/pipeline_options.py#L427-L433

The issue might be that pipeline options are ignored when building the Java SchemaTransform: https://github.com/apache/beam/blob/2488ca131bed3f28c92fa7b38b7506a461818a3a/sdks/java/expansion-service/src/main/java/org/apache/beam/sdk/expansion/service/ExpansionServiceSchemaTransformProvider.java#L94C69-L94C76

Nevermind ignore my comments. The options are getting through to Java, but are somehow not getting picked up in step in the IO. I think the changes in this PR are working though

Looks like it's a general Java issue. Opened #33074


Use varargs instead of arrays in mapper constructor

Refactor constructors of mappers that take field names arrays with varargs. It is more concise to use:
delimitedRecordMapper = new DelimitedRecordMapper(Tweet.class,"id", "user", "message");

than:
delimitedRecordMapper = new DelimitedRecordMapper(Tweet.class,
                new String[]{"id", "user", "message"});

implemented in ecd432428aa82867e238160a56a08526e37fb095


why other driver version not support

384.111
390.25
410.73
418.56
why only these drivers support

Becaue these version‘s driver is tested in our internal bed. And from the veiw of function, it's enough to support our current work load.