Add waterfall flow

It has been tested using nodejs and iotjs.
Tests have been also tested using NPM's async.
Code originally published at:
https://github.com/rzr/async-waterfall
Change-Id: I9081b03bdec36b8a70cdef79cfacc0b67159e24e
Signed-off-by: Philippe Coval<EMAIL_ADDRESS>

This could help for:
https://www.npmjs.com/package/generic-sensors-lite

Hi @SamDelgado, I guess you're busy on other projects.
Are you considering co maintenance of this module ?
Merging this PR, will help to get it supported by IoT.js too.
https://blogs.s-osg.org/tag/iot-js/

@rzr Thanks for checking out the repo. I have been busy with work and haven't gotten a chance to look at this PR until now. Is there is a specific reason the waterfall flow has to be a part of this library? I wanted this library to contain only the most essential async control flow functions, and waterfall is one that I have never needed to use, and seems pretty straight forward to implement on top of the series function. You have already created the aysnc-waterfall repo containing this functionality, so I don't really see the benefit of adding it to this library.

sorry I was not clear, I wanted to explain that iotjs community could async-lite as fallback to async (which is not supported)...

yea of course I can fork async-lite into async-lite-with-waterfall (and rebase on yours if needed), but for now  will probably use and publish async-waterfall and see where is goes, but IMHO, this "ship and forget" strategy will not scale, sorry for noise.

I have no intention of "shipping and forgetting" since I use this library in every one of my JS projects. I might rewrite it as an ES6 module at some point, but I don't intend on adding any new control flow functions, since I believe I already include all of the essential ones. If this library didn't include the series function and you submitted a PR containing it, I would have gladly merged it. I see no issue with the code in your PR, I just don't believe the functionality is needed in this library.

I was also talking for me to ship and forget "async-waterfall" , this is the case for many NPM packages owned by a single developer... this why I believe a new model should be proposed, but this is an other topic, not relevant to this PR.
Anyway I am OK with your point, I was looking for a async compatible module (that does not pull extra deps), while async-lite aims to provide a (essential) subset of async (maybe this could be mentioned in doc).
For reference, async-lite or async-waterfall will be used in:
https://github.com/TizenTeam/bmp085-sensor
Thanks again for sharing opinions.

For reference I published my own package as upstreaming waterfall function into async-lite was not desired:
https://github.com/rzr/iotjs-async/
https://www.npmjs.com/package/iotjs-async
Note this is not specific to iotjs as nodejs is also supported


RHash under TrustInSoft CI

Hi,
I initiated the configuration of RHash on the new tool TrustInSoft CI. It's a source code analyzer, which analyzes execution paths (usually unit tests in your repo) to detect Undefined Behaviors along the way. Coverage includes all the defects that sanitizers ASAN, UBSan and MSan find, plus a large number of other (usually subtle) defects.
So I've set up TrustInSoft CI on most test cases from librhash/test_hashes.c and also some tests cases extracted by hand from tests/test_rhash.sh. It has found several Undefined Behaviors on the tested execution paths. For each test, TrustInSoft CI stops the analysis on the first UB, so I went step-by-step: provided a fix for the first UB, reviewed the updated analysis results, provided a fix for the next UB, etc. This is the typical workflow, usually we iterate like this until all tests are green.
You can see all the steps here: https://ci.trust-in-soft.com/projects/jakub-zwolakowski/RHash
Below is a summary of suggested fixes (or workarounds, when I was not sure how to fix the UB properly) for the UBs that I've found. And some explanation.
Can you let me know if you find those results interesting?
UBs and fix / workaround

UB
Message
Problem
Fix

UB#1
Subtractions between pointers that may not point to the same allocated block in function 'rhash_init_multi' in file 'librhash/rhash.c' line 130.
(char*)(ptr) - (char*)0
FIXED

UB#2
Subtractions between pointers that may not point to the same allocated block in function 'calculate_crc_soft' in file 'librhash/crc32.c' line 38.
(msg - (unsigned char*)0))
FIXED

UB#3
Subtractions between pointers that may not point to the same allocated block in function 'rhash_swap_copy_str_to_u32' in file 'librhash/byte_order.c' line 77.
(char*)ptr - (char*)0
FIXED

UB#4
Invalid index in address-of operator in function 'rhash_init_multi' in file 'librhash/rhash.c' line 122.
flexible array member
FIXED

UB#5
Subtractions between pointers that may not point to the same allocated block in function 'rhash_gost12_update' in file 'librhash/gost12.c' line 820.
(const char*)(p) - (const char*)0
FIXED

UB#6
Uninitialized memory in function 'rhash_md5_final' in file 'librhash/md5.c' line 216.
uninitialized memory access
WORKAROUND

UB#7
Invalid pointer arithmetic in function 'get_basename' in file 'file.c' line 65.
computing a negative pointer
FIXED

UB#8
Invalid pointer arithmetic in function 'bt_bencode_pieces' in file 'librhash/torrent.c' line 365.
pointer arithmetic
FIXED

UB#9
Invalid memory access in function 'rhash_tiger_update' in file 'librhash/tiger.c' line 170.
invalid pointer as memcpy argument
FIXED

Failed tests
Test case test_all_known_strings on big-endian machdeps fails at EDON-R256 sub-case.
endianness handling?
NOT FIXED

Explanations
UBs

ptr - 0: UB#1, UB#2, UB#3, UB#5
Behavior of such subtractions actually undefined.
The standard-compliant way to do this is with a cast to uintptr_t.
Flexible Array Member: UB#4
This way of handling an array at the end of a struct is not standard-compliant, as in this case accesses to indices larger than 0 are, in fact, out of bound.
The standard-compliant way is using a Flexible Array Member.
Uninitialized memory: UB#6
There is uninitialized memory access.
I'm not sure what exactly is supposed to initialized this memory location, so as a workaround I've initialized it to zero directly after the allocation.
Minor pointer issues: UB#7, UB#8, UB#9
Some pointer arithmetic is slightly off (i.e. not standard-compliant) in two cases.
The third case is an invalid pointer passed to memcpy function (even if the size parameter is zero in all such cases it is still an UB to pass an invalid pointer).
Solutions to these are pretty trivial.

Failed tests
Tests 43 and 44 have no UB, but they fail (the results are wrong). Their little-endian versions (tests 41 and 42) succeed.
Upon closer inspection (Analyzer Log) we can see that these tests print:
failed: EDON-R256 ...

This is one of the last cases in test_all_known_strings, all the previous ones pass.
There are two options why this happens:

either I've misconfigured TIS-CI and it computes something with the wrong endianness in this particular case,
or there is an actual functional bug in the code which happens only when computing this particular case on a big-endian architecture.

As I did my best to make sure that the TIS-CI config is right (and managed to make all the other tests pass both on little-endian and big-endian architectures) I think that the second option may be worth investigating. Well, depending on how confident you are in your continuous testing for big-endian.

Hello,
thank you for the investigation. I will check you results, when I have time.
For now I've re-tested test_all_known_strings() on Big-Endian platforms, but could not reproduce the EDON-R problem. I've used cross-building by powerpc-linux-gnu-gcc and gcc-powerpc64-linux-gnu toolchains and tested under qemu. Please try to reproduce the test failure on any platform using unmodified librhash sources.

Hi @rhash,
Thank you for your feedback! And especially for retesting the EDON-R case! As you say that your cross-building test works well, I will recheck everything on my side to pinpoint what is going on here.
Would you like me to make separate PRs for all these issues that I found? It may be more convenient to discuss them one by one and decide if you want to merge my fixes or do something else.

Hello,
I see that similar UB# 1,UB#2,UB#3,UB#5 should be combined into one PR,
and UB#4, UB#6, UB#7, UB#8, UB#9 should be discussed in separate PRs.

All created PRs were processed.


No license

This libraryworks flawlessly and ways better than every other soloution I tried :)
However a missing license technically permits nobody to use, modify and distribute this masterpiece which is sad :(
If you don't want to restrict any use of this software and therefore added no license you could add something like Unlicense to make your intentions clear :)

Glad you like it! ADCTouch is now licensed under the MIT license, feel free to do with it as you like. Thanks for pointing it out :)

Thank you very much! :)


How to add a lock timeout to migrations?

We ran into a scenario recently where we had downtime for the following reason:

We had a long running transaction open
We had a migration that attempted to take an ACCESS EXCLUSIVE lock (happens for all ALTER TABLE commands)

This caused all queries to be queued behind the migration, which was waiting to get a lock.
We'd like to automatically set a lock timeout on migrations to avoid this problem in future. The command is:
SET lock_timeout TO '5s'
We could add this manually inside every migration we create but that is tedious and prone to people forgetting. Is there a way to use ecto to automatically execute this SQL at the start of every DDL transaction?

I see. Then we should find out a mechanism to make this possible. I have nothing from the top of my head. Suggestions are welcome.

How about configuring the lock timeout via Ecto config and adding a special case for this?

@josevalim it's not quite the same as having the timeout on Elixir side.
You can have a short "lock wait" timeout with an arbitrarily long migration. If you use an Elixir timeout it places a limit on the overall migration time.

@samphilipd not sure if we are talking about the same thing, but I was thinking about a timeout for each individual migration.

You mean a timeout inside of Elixir, right? This still will not accomplish the same goal.
A lock timeout is specifically about how long each statement will wait to get a lock. e.g. ALTER TABLE requires an ACCESS EXCLUSIVE lock, so a lock timeout of 5s will mean that this statement will wait up to 5s before taking that lock, otherwise the transaction will fail.
This is not the same as a timeout on the entire transaction. Since the transaction could have statements in it that take much longer than 5s to execute, and this is fine even with a 5s lock timeout.

@samphilipd oh, perfect, I see it now. Thanks for explaining! :+1:
I think the best way then is to have a before_change and after_change callback and you could do use MyApp.Migration that defines those automatically. Thoughts?

That would be perfect!

FWIW, lock timeouts are a good idea because of the way database lock queues work. If you have a long running transaction, the migration will wait for an ACCESS EXCLUSIVE lock until that transaction completes.
During the time it is waiting every other type of lock will get queued up behind it, including even SELECT statements.
This has caused production downtime for us on several occasions.

@wojtekmach @michalmuskala @zachdaniel @qcam what do you think about the solution I propose in my last comment? I am not a big fan of callbacks but since the callbacks are directly defined in the module that uses it, it should be fine.

I think it follows some preexisting standards like use MyApp.Schema, so it follows the principle of least surprise fairly well. I also see sam’s point about setting some kind of default, but I think ecto’s job on that front is pretty much done, since you can timeout individual operations via code and entire migrations via config. Timing out per lock is too granular to be a config in ecto.
Lots of words to say that I agree :) before_change might be too confusing of a name, since migrations can have a def change and people might think you’re talking about that. Maybe like before_operation or modeling them like exunit callbacks as setup.

I think before_migration is best actually. Just put it in the docs that its in the transaction with the migration and then its good to go.

Also, this sounds like a good thing for me to do! I can get started tomorrow, if that works!

+1 for callbacks in this particular case.

Would these callbacks be invoked for each change in migrations or per DDL statement, since there could be multiple statements in change?
If the latter is the case, would it be more flexible to introduce options in create, alter, and create_if_exists and conveniently avoid having callbacks in config (if I comprehended the thread correctly)?
options = [
  before_callback: before_fun
  after_callback: after_fun
]

table = table(:foo) do
  ...
end

create(table, options)

I am imagining two places:

After transaction BEGIN, before any statements
Before transaction COMMIT, after any statements

With this in mind, perhaps after_begin and before_commit might be better names.
I wonder if they should also raise in the case that DDL transactions are disabled?

I would like to keep it before_change and after_change because we don't need to make them transaction specific and it would still address your use case. We may need to introduce transaction specific ones... but I don't think that should be the starting point. If it makes any sense. That's also why I wanted something more specific than before_migration / after_migration, because if we introduce transaction specific ones, the ordering of it in regards to before_migration/after_migration wouldn't be clear.

So the transaction lock timeout needs to be set in every single transaction? Or before every statement? I thought we could just do it once at the beginning.

It needs to run inside each migration's transaction before we invoke change/up/down.

I think before_migration would be clearer then, to avoid people thinking that before_change doesnt fun when you move a migration from def change to def up/down. I don’t mind if others don’t think that would be a point of confusion though, it’s a small detail.

I have not. :) please go ahead.
José Valimwww.plataformatec.com.br
http://www.plataformatec.com.br/Founder and Director of R&D

Got it mostly done, just need to figure out how to test it. I'll wrap it up tomorrow.

So I started in on testing this, and I realized a sort of interesting/confusing aspect to it. Lets say you had a migration like:
defmodule MyMigration do
  def before_change() do
    execute "setup some stuff"
  end

  def after_change() do
    execute "tear down some stuff"
  end

  def change() do
    execute "do some stuff"
  end
end

The confusing part of this is that before_change and after_change would be adding no behavior to the down of the migration. If you wanted to do that, you'd have to use execute/2. Not really sure what I'm getting at here aside from the fact that it seems a bit weird to have these wrappers that read like they will wrap both the up and the down in sql, but in reality they don't.
Any thoughts? Is that confusion just in my head?

So if its called after_begin and before_commit would these callbacks not be run if the transaction is disabled? Since w/o a transaction there aren't explicit begin/end steps.

@zachdaniel yes, exactly.

I think that can work, we'll just want to make it clear then that if you do something like this:
defmodule MyMigration do
  @disable_ddl_transaction true

  def after_begin() do
    ...
  end
end

 def change() do
    ...
  end

that your callback is not run.
It won't be user friendly to raise now that we're doing this mixin style where they might do use MyApp.Migration. But silently not doing it may not be great also. Probably just something that is resolved with documentation.

Yeah, agreed with solving it with docs.

Closing in favor of the PR. @samphilipd, can you please take a look at #53 as well? Thanks.


Update Purview Workflow's SubmitUserRequests sample with bulk operations

Description
Update Purview Workflow's SubmitUserRequests sample with bulk operations
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


x1158 (client)—As TS (Katy) I want more information on the errors that appear on the file upload function for all registration pages

The manual block reg request has an "existing" boolean field to specify that the tissue external name is already in use and that's OK. The file block reg (pr on core) now accepts an additional "existingExternalNames" parameter listing external names that are known and accepted to be existing tissues.
How it already works with manual block reg:

User requests a registration
Core finds that some external names listed are already in use
Core sends a response to the client listing "clashes"
Client checks for clashes in the response
Client informs the user and offers to register them anyway (as existing tissues)
If the user accepts, the client sets the "existing" field inside the request and sends it back to the core

How it should work in file block reg:

User submits a block reg file
Core finds that some external names listed are already in use
Core sends a response to the client listing "clashes"
Required: Client checks for clashes in the response
Required: Client informs the user and offers to register them anyway
Required: If the user accepts, the client resends the file with an additional post parameter listing the known existing tissue names

NB The client should also check for clashes in other file registration modes, and at least report it as a problem to the user (matching the behaviour in manual registration).

@khelwood @sabrine33 Jasmine is asking if we can get an option to take you to the unrelease page to unrelease the labware that has previously been through STAN?

@sabrine33 is it possible for the link to take you to the unrelease page instead of just unreleasing it so we can update the last known section number for that block or will that information be taken from the file?

@KatyTudor, the link takes you to the unrelase page, with the pre-loading the labware, without unreleasing them, once on the unrelease page, the user can remove/add some labware, modify the section number..


Don't use integer divide when computing seconds

The earlier code was calling int/int -- which gave a truncated, integer result. Was that what we wanted? I'm presuming we mean to perform a floating point divide...

lgtm.
would love to see a simple test just showing that it's broken & fixed

https://github.com/rive-app/rive-ios/pull/159


Configure queues and queue bindings for rabbitmq from puppet

We are going to stop handling queue creation and binding in the consumer
processes, since it is too easy to mess up and leave a unintended binding
around.
Instead, we will configure everything in puppet and the consumer process
will error out if the queue it expects is missing.
This is the first step.
Next, we will modify the consumer gem and provide a way to remove
unwanted bindings via puppet (perhaps automatically).
We deliberately omit stagecraft and backdrop_write config, since they do
not use the consumer gem and are likely to change as the performance
platform exits alpha.
See https://trello.com/c/eP2CdnrC/590-fix-rabbitmq-queue-binding
@matmoore and @benhyland

Once we have a way to automatically remove the bindings, we should:

Make panopticon only listen to *.links
Remove the inconsistency between rummager *.links and email-alert-service *.major.# (the trailing #) - I believe there's no reason for them to be different.

Good comments Tijmen, I'll put them on the trello ticket for later.

The latest commits update this PR to include the classes to be used for manual removal of queues and bindings. I've done some manual testing in a local vm, but as usual I am not sure how best to automate testing of puppet - advice welcome.
This could be merged after review from @matmoore, @tijmenb, and infrastructure.

Nice, the stuff for purging queues & bindings looks quite straightforward to use now. Can you add something to the rummager/rabbitmq manifest to use the remove_bindings class on the duplicate binding of rummager_to_be_indexed, so that we ensure it gets removed from all environments as this gets rolled out?

I intended to actually do the extra binding removal in a separate PR. Happy to add it here if you prefer.

@benhyland either is fine with me :+1:

Thanks all for comments.
I've addressed bob's in the latest push.
I'll merge this on Mon unless anyone wants me to hold off.

@rjw1 are you okay with the changes here? Can we get a thumbs up from you on this one?

👍


Think about URLs

We want admins to assign "nice" URLs to specific parts of the site (i.e. specific nodes of the tree). For example, /lectures and /lectures/math should both be assignable. At the same time, we need a couple of internal URLs (e.g. for settings, ...). How do we assign URLs to those routes? I see a few possibilities:

(a) Like GitHub: reserve a list of special words and no top level tree entry can have those words as URL. On GitHub, no user can be called settings, as github.com/settings is a special path.

Pro: Nice URLs for both, user content and internal routes
Contra: Requires foresight to reserve a sufficient set of words for special routes. Reserving new strings after we released is a breaking change. And even with a major version bump, we would potentially disrupt users. And in general, we are pretty constraint once we decide for this solution.

(b) Prefix internal routes: either (b1) with a path segment like /tobira (resulting in /tobira/settings and /tobira/about) or (b2) with a single character like @ (resulting in /@settings and /@about).

Pro: Nice URLs for user content
Pro: We can add arbitrary internal routes later
Pro: user routes are less constraint compared to (a)
Contra: Not so nice internal paths

(c) Prefix for user content: like (b), but the other way around. Same Pros and Cons, but additional:

Note: links to user content are sent around more often than links to internal paths
Pro: least constraining for future development of this software
Cons: users are not constrained at all

We talked about this internally and decided for option (c) with single letter path segment prefixes (like Reddit). For example, /r/... for most user content (r for "realm"). So it's tobira.server/r/lectures/math for example. This also enables us to have shortlinks to videos like tobira.server/v/9d83n. We can use arbitrary internal links and the user is not restricted in their choice of top level url path.


Add [Javascript]

No code supported or this code not avaible

Yes pls add JS

This language is support via both NodeJS and Deno. If there is a request to add another runtime, please reopen.


hover trigger is offset to left

far right dock items are not interactive (maginiable )  onclick works but they wont maginfy when mouse is over. plus maginication  area of far left trigger maginification even when not directly over the dock items . it seems there is some kind of offset.
here is my file
<Dock width={400} magnification={2} magnifyDirection="up" debug={true} className="dock" backgroundClassName="dock-background">                 {["a", "b", "c", "d", "e"].map((item, index) => (                     <Dock.Item className="dock.item" key={index} onClick={() => console.log(item)}>                         <img src={${item}.png} />                     </Dock.Item>                 ))}             </Dock>
it works as expected if i set the width to 800 but its too big for me

after turning on the debug i can see there is an offset.... and to correct it, the width should be proportional to the content of the dock (total width of number of elements) . am not sure this is the intended behavior but in my case i have to increase the width if i add extra elements. kind of difficult for dynamic content (i am pulling dock elements from server)

i missed to add display: flex; on immediate parent element .. i think you should included it in the docs or you can just close this issues if it's that obvious


feat: customer groups page

What

new customer groups & customer group details pages
useQueryFilters hook
useSetSearchParams hook

TODO

[x] use https://github.com/medusajs/medusa/pull/1113 for customers list on the details page (new ticket?)
[x] "lift" edit logic into a context component
[x] fix pagination component breaks if initially limit == 0 in the URL
[x] fix useSortBy hook causing infinite renders on query filter change

We generally don't want ifs without braces so have tried to suggest on all of the occurrences.
I believe we have curly: all in our eslint rules so would you mind double-checking that it is configured correctly :)

Switched my editor while working on the feature and eslint wasn't configured properly 😬 . Now should be OK.


Force rebag in relevant benchmarks

target branch: zeke-voter-bags-module
target PR: #9507
Update benchmarks for unbond, rebond, and bond_extra to force worst case VoterList::on_update to be called. Note, I don't make assertions about ordering because I thought it would be good to have the benchmarks also work for other SortedListProviders. Additionally since Bag & Node are private we can't make assertions about the internals of the list
In the future we should also consider updating benchmarks for

validate, chill/chill_other, withdraw_unbonded and for worst case on_remove
nominate for worst case `on_insert

cc @kianenigma

/benchmark runtime pallet pallet_staking

/benchmark runtime pallet pallet_staking

/benchmark runtime pallet pallet_staking

/benchmark runtime pallet pallet_staking


Index Error

IndexError                                Traceback (most recent call last)
 in
269 print ("""QUANTUM GENETIC ALGORITHM""")
270 input("Press Enter to continue...")
--> 271 Q_GA()
272 plot_Output()
 in Q_GA()
261       print("============== GENERATION: ",generation+1," =========================== ")
262       print()
--> 263       rotation()
264       mutation(0.01,0.001)
265       generation=generation+1
 in rotation()
177     for i in range(1,popSize):
178        for j in range(1,genomeLength):
--> 179            if fitness[i]<fitness[best_chrom[generation]]:
180              # if chromosome[i,j]==0 and chromosome[best_chrom[generation],j]==0:
181                if chromosome[i,j]==0 and chromosome[best_chrom[generation],j]==1:
IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) and integer or boolean arrays are valid indices

@agnibrainhack were you able to solve this ?
@ResearchCodesHub Thank you for sharing such an amazing code. Could you please assist me with this error?


[mongoose] missing some types

[x] connections on Mongoose (https://github.com/Automattic/mongoose/blob/9c487909a21a128dae8ed434cf3bd4630129d64e/lib/index.js#L37)
[x] disconnect on Mongoose (https://github.com/Automattic/mongoose/blob/9c487909a21a128dae8ed434cf3bd4630129d64e/lib/index.js#L280)
[x] ObjectId.isValid method on ObjectId (https://github.com/Automattic/mongoose/blob/67c465aac5c864c3004d11d49934605037c8f520/test/browser/types.objectid.test_.js#L79)

Closing this with the merging of #1473


Fixed empty tooltips on hover

Fixes #27.
If the denotation signature is empty, send an empty list of marked strings, not a list with an empty string. See https://github.com/scalameta/language-server/issues/27#issuecomment-343493411 for the explanation.

Thank you so much for catching that and for sending a patch.
However, I'm afraid this PR is not needed anymore, since I got #21 working, which doesn't use denotation anymore. Either way, we won't have empty boxes :-)

Oh, great! No problem, I'm closing this then 👍


Fix unit tests

Thanks for your contribution @vivekmore! Unfortunately, these changes are failing in Travis with:

Non-resolvable import POM: Failure to find io.github.jhipster:jhipster-dependencies:pom:3.0.2-SNAPSHOT in https://oss.sonatype.org/content/repositories/snapshots/ was cached in the local repository, resolution will not be reattempted until the update interval of sonatype-snapshots has elapsed or updates are forced @ line 106, column 25 -> [Help 2]

It's probably best to rely on a non-snapshot version of jhipster-dependencies.

Understood. However, I don't believe that has anything to do with the changes in this PR - I believe that is an existing failing e2e test case.
We can defer merging this PR until travis starts passing, but the only change I've made is to make the unit tests passing locally (and in travis)
Please let me know if I'm missing something.

It's probably best to rely on a non-snapshot version of jhipster-dependencies.

You are right, it seems the integration tests are being run on projects that are generated with generator-jhipster checked out from the master branch which currently generates projects with snapshot version of jhipster-dependencies in the pom.xml.
I did attempt to fix this by generating the projects with JHipster v4 (because I believe this generator currently is only compatible with projects built with JHipster >=4.13.3 <5), and doing this fixed the issue with snapshots but, the following seems to be the consistent root cause of travis build failures.

Creating Ionic app with command: ionic start ionic4j oktadeveloper/jhipster --no-interactive
(node:7563) ExperimentalWarning: The http2 module is an experimental API.
[ERROR] Unable to find starter template for oktadeveloper/jhipster
    If this is not a typo, please make sure it is a valid starter template
    within the starters repo: https://github.com/ionic-team/starters

events.js:137
throw er; // Unhandled 'error' event
^

Please advise and I'll be glad to help in any way I can.

@vivekmore I think it's best if we revisit your changes after we upgrade to Ionic 4. I plan on working on this next Tuesday, Barcelona time.

@vivekmore I'm not sure if this is still needed, but you might want to rebase your branch and resolve conflicts.

looks like there was a major overhaul (justifiably so)
I'll close this PR and re-submit if applicable


Throw exceptions from heartbeat to parent thread

The heartbeat process can fail. This causes its individual thread to
stop, but does not crash the entire process. The threading behavior of
heartbeat should be opaque to users of the library, so an exception
there should throw an exception to the host.
This specifically helps prevent issues where a lost socket is caught and
silenced in the heartbeat and prevents the entire client from crashing.
Addresses #17

I'll run against those repro steps.

$ stack exec faktory-example-consumer
Starting consumer loop
[ERROR]: No more input
faktory-example-consumer: Network.Socket.sendBuf: resource vanished (Broken pipe)
$ echo $?
1

Though one concern is forkFinally

The function is called with asynchronous exceptions masked.

I think I need to roll this on my own without the masking. Otherwise there is going to be some strange behavior with forever.

Would this logic be simpler if we just used async, spun off the heartbeat and the main logic processor into their own threads, and used waitAny on both Async values? That way if either thread dies we are good. AFAIK async does the Right Thing and dies on async exceptions too by default, and I don't think we have to worry about re-throwing to the parent if we have an exception in the heartbeat specifically.
This looks good to me as-is though, feel free to skip this suggestion.

Oh even better: spawn the heartbeat thread with async and then immediately call link so any exceptions in the heartbeat thread get sent to the current thread.

@jdreaver We originally used async for this, but it was causing high CPU when waiting.
After some forensics, catching SomeException here prevented the socket failure from surfacing anywhere, but the heartbeat.
https://github.com/frontrowed/faktory_worker_haskell/blob/master/library/Faktory/Worker.hs#L78-L81

The fix for the above is:

But this is also an issue, as it silences exceptions:
https://github.com/frontrowed/faktory_worker_haskell/blob/master/library/Faktory/Client.hs#L176-L179

Woops, code block meant for above:
runWorker :: FromJSON args => Settings -> Queue -> (args -> IO ()) -> IO ()
runWorker settings queue f = do
  workerId <- randomWorkerId
  client <- newClient settings $ Just workerId
  -- beatThreadId <- forkIOWithThrowToParent $ forever $ heartBeat client workerId

  forever (processorLoop client queue f)
    `catch` (\(_ex :: WorkerHalt) -> pure ())
    --`finally` (killThread beatThreadId >> closeClient client)

processorLoop :: FromJSON arg => Client -> Queue -> (arg -> IO ()) -> IO ()
processorLoop client queue f = do
  let
    processAndAck job =
      try (f $ jobArg job) >>= \case
        Left (ex :: SomeException) -> failJob client job $ T.pack $ show ex
        Right _ -> ackJob client job

  mJob <- fetchJob client queue

  case mJob of
    Just job ->
      processAndAck job `catch` \(ex :: WorkerHalt) -> throw ex
    Nothing -> threadDelaySeconds 1

I'm going to open a separate issue for these.


Send SDK frames

Description
Context https://github.com/getsentry/team-mobile/issues/129

Let's wait for this before doing the FE changes (hiding Sentry frames) and adding the detector for Dart/Flutter SDK as well.


Hass model areas

Breaking change

Proposed change

Fixes an issue in APIv2 where area is populated with the area id instead of the name (which I think is incorrect)
Adds area name to the new hass model api.
Type of change

[ ] Dependency upgrade
[x] Bugfix (non-breaking change which fixes an issue)
[x] New feature (which adds functionality to an existing integration)
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[x] The code change is tested and works locally.
[x] Local tests pass. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the [development checklist][dev-checklist]
[x] The code compiles without warnings (code quality chek)
[x] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

I really like this It is almost exactly what I had in mind for this.
Just the public API of IHaContext I would not like to depend on HassClient objects Lets discuss on Discord on how exactly to make the API

Cheers for the feedback @FrankBakkerNl any other suggestions let me know 👍

Thank you for the PR!


Pinterest Pin It

https://developers.pinterest.com/ios/

Hey Lee
Thank you for sending the link!
I use the build in library for Facebook and Twitter sharing.
I could maybe make a standalone extension for the Pinterest ios lib.


date not always parsed properly into month and year with PubMed

[x] I have verified in the Zotero addons screen that I have the latest release of BBT (https://github.com/retorquere/zotero-better-bibtex/releases/latest) and Zotero installed
[x] I am posting a single question, bug or feature request
[x] I have included a descriptive subject of the problem
[x] I am available for follow-up questions and testing
[x] If I am posting an export or key-generation related bug report, I have included an error-report by selecting the problematic reference(s), right-clicking, and submitting an BBT error report from that popup menu

Report ID = ZWCGLBL9-euc
The year field is not always properly formatted in citations downloaded from PubMed and used in latex documents. For some journals, the date is properly parsed into a month field and a year field and the rendered citation is correct. However, for other journals the year field contains both a numerical data, i.e. 05 01 for May 1, and the year. In this case, the 'year' in the formatted citation is incorrect as it contains both date and year. Not sure if this is a BBT issue or an issue with PubMed that BBT could somehow compensate for.
Here are some steps to illustrate the problem.
Step 1: Download pmid=29474540 from PubMed database. The corresponding BibTex entry created with BBT:
@article{Huntoon2018,
  title = {{{SPEG}}-Deficient Skeletal Muscles Exhibit Abnormal Triad and Defective Calcium Handling},
  volume = {27},
  issn = {1460-2083},
  doi = {10.1093/hmg/ddy068},
  language = {eng},
  number = {9},
  journal = {Hum. Mol. Genet.},
  author = {Huntoon, Virginia and Widrick, Jeffrey J. and Sanchez, Colline and Rosen, Samantha M. and Kutchukian, Candice and Cao, Siqi and Pierson, Christopher R. and Liu, Xiaoli and Perrella, Mark A. and Beggs, Alan H. and Jacquemond, Vincent and Agrawal, Pankaj B.},
  year = {05 01, 2018},
  pages = {1608-1617},
  file = {C:\\Users\\Jeffrey\\Desktop\\JJW\\my_Zotero\\storage\\DWZ8LUQN\\Huntoon et al. - 2018 - SPEG-deficient skeletal muscles exhibit abnormal t.pdf},
  pmid = {29474540},
  pmcid = {PMC5905626}
}

Note that the year field consists of the month and day (in this case May 1) and the year. Therefore, the year in the citation ends up being "05 01, 2018" instead of simply "2018" (formatted using pnas2009.bst):
Huntoon, V, Widrick, J. J, Sanchez, C, Rosen, S. M, Kutchukian, C, Cao, S, Pierson, C. R, Liu, X, Perrella, M. A, Beggs, A. H, Jacquemond, V, & Agrawal, P. B. (05 01, 2018) SPEG-deficient skeletal muscles exhibit abnormal triad and defective calcium handling. Hum. Mol. Genet. 27,
1608–1617.

Compare bibtex file created by BBT vs. jabref. Here is the same pubmid BibTex entry created with jabref (sans abstract):

@Article{Huntoon-2018,
  author       = {Huntoon, Virginia and Widrick, Jeffrey J. and Sanchez, Colline and Rosen, Samantha M. and Kutchukian, Candice and Cao, Siqi and Pierson, Christopher R. and Liu, Xiaoli and Perrella, Mark A. and Beggs, Alan H. and Jacquemond, Vincent and Agrawal, Pankaj B.},
  title        = {{SPEG}-deficient skeletal muscles exhibit abnormal triad and defective calcium handling},
  journal      = {Hum Mol Genet},
  year         = {2018},
  volume       = {27},
  pages        = {1608--1617},
  month        = may,
  issn         = {1460-2083},
  country      = {England},
  doi          = {10.1093/hmg/ddy068},
  file         = {:Huntoon-2018.pdf:PDF},
  issn-linking = {0964-6906},
  issue        = {9},
  nlm-id       = {9208958},
  owner        = {NLM},
  pii          = {4892302},
  pmc          = {PMC5905626},
  pmid         = {29474540},
  pubmodel     = {Print},
  pubstatus    = {ppublish},
  revised      = {2018-04-25},
  timestamp    = {2018-06-27},
}

Here the month and year are in separate fields and the bibtex entry formats properly:
Huntoon, V, Widrick, J.J, Sanchez, C, Rosen, S.M, Kutchukian, C, Cao, S, Pierson, C.R, Liu, X, Perrella, M. A, Beggs, A. H, Jacquemond, V, & Agrawal, P. B. (2018) SPEG-deficient skeletal muscles exhibit abnormal triad and defective calcium handling. Hum Mol Genet 27, 1608–1617.

This behavior does not occur in BBT for all journals indexed by PubMed. Download pmid=29518074. It is formatted correctly in my Zotero library, where the month and the year are parsed as separate fields (for some reason, the month field is not enclosed in brackets?):

@article{Bennett2018,
  title = {{{RNA}} Helicase, {{DDX27}} Regulates Skeletal Muscle Growth and Regeneration by Modulation of Translational Processes},
  volume = {14},
  issn = {1553-7404},
  doi = {10.1371/journal.pgen.1007226},
  language = {eng},
  number = {3},
  journal = {PLoS Genet.},
  author = {Bennett, Alexis H. and O'Donohue, Marie-Francoise and Gundry, Stacey R. and Chan, Aye T. and Widrick, Jeffrey and Draper, Isabelle and Chakraborty, Anirban and Zhou, Yi and Zon, Leonard I. and Gleizes, Pierre-Emmanuel and Beggs, Alan H. and Gupta, Vandana A.},
  month = mar,
  year = {2018},
  pages = {e1007226},
  file = {C:\\Users\\Jeffrey\\Desktop\\JJW\\my_Zotero\\storage\\QZE9JC5D\\Bennett et al. - 2018 - RNA helicase, DDX27 regulates skeletal muscle grow.pdf},
  pmid = {29518074},
  pmcid = {PMC5843160}
}

As expected, this gives proper reference, simply the year in the year field:
Bennett, A. H, O’Donohue, M.-F, Gundry, S. R, Chan, A. T, Widrick, J, Draper, I, Chakraborty, A, Zhou, Y, Zon, L. I, Gleizes, P.-E, Beggs, A. H, & Gupta, V. A. (2018) RNA helicase, DDX27 regulates skeletal muscle growth and regeneration by modulation of translational processes. PLoS Genet. 14, e1007226.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>70 ("fixes #1112")
Install in Zotero by downloading test build <IP_ADDRESS>70, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

Give 3270 a go.
Dates on PubMed are a bit of a mess; I have a date parser that tries to see if the date field sort of looks like a date and parses that into a proper date, and 3270 has a new pattern to match for this one.
The month field is not enclosed in brackets because it's a variable, not a text; bibtex knows mar is the 3rd months of the year and will translate that to the proper month-name depending on what locale you generate your bibliography for. This may usually be Mar in this day and age, but it could in principle be Mrt for me if I target something in Dutch.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>75 ("fixes #1112")
Install in Zotero by downloading test build <IP_ADDRESS>75, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".


Remove unused "easymock" dependency

Remove
            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>${easymock.version}</version>
                <scope>test</scope>
            </dependency>

dependency and use
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito-core.version}</version>
                <scope>test</scope>
            </dependency>

instead for mocking. Furthermore check if mocking dependencies are required in carbon kernel code at all. (if mocking is not required do not add any of the above dependencies)
The reason for replacing this dependency is since mockito is the library that is being approved by WSO2

This is fixed. No org.easymock dependencies in the carbon-kernel


⚠ Jenkins Plugins Artifactory has degraded performance

In 8758564, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1090 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 4ced11f after 32 minutes.


Add CODEOWNERS

Codecov Report

Merging #132 (b933a61) into main (c0b592e) will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #132      +/-   ##
==========================================
+ Coverage   97.90%   97.93%   +0.03%
==========================================
  Files          55       55
  Lines        6143     6143
==========================================
+ Hits         6014     6016       +2
+ Misses         96       95       -1
+ Partials       33       32       -1

Impacted Files
Coverage Δ

ethconnect/internal/events/eventstream.go
97.89% <0.00%> (+0.60%)
:arrow_up:

Continue to review full report at Codecov.

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


Parallel task now supports different child execution strategies

Hi all,
I've implemented an additional execution strategy for child tasks of the Parallel task.

The Resume strategy is the original method which restarts or runs each child every step.
The new strategy is called Join. Child tasks will run until success or failure but will not re-run until the parallel task has succeeded or failed.

I've set the default to the Resume strategy to maintain compatibility for everyone. I've also added until tests for the different combinations of strategy + policy.
Comments and feedback welcome :)

Looks good to me 👍
Any chance you implement a simple demo like Predators: Parallel vs. Sequence that visually shows the difference between Resume and Join?

I'll add a demo now.
Do you want me to squash the commits into a single commit before merging?

I'll add a demo now.

Great! Thanks a lot

Do you want me to squash the commits into a single commit before merging?

You don't have to

Demo added :)

Nice stuff, thanks. 👍

@tomcashman
BTW can you update Parallel wiki, please?

Yup I can update this evening.
On Sun, Jun 18, 2017 at 10:16 PM, davebaol<EMAIL_ADDRESS>wrote:

@tomcashman https://github.com/tomcashman
BTW can you update Parallel wiki
https://github.com/libgdx/gdx-ai/wiki/Behavior-Trees#parallel, please?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/libgdx/gdx-ai/pull/93#issuecomment-309300212, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABqiDMXzVu0WtwXQjmTJXMwguQ6K4Wj8ks5sFYWHgaJpZM4N80E5
.

--
Thomas Cashman
@tom_cashman https://twitter.com/tom_cashman
https://tomcashman.xyz


Fill lactapp 2024 gap

Between May23rd 2024 and October 25th 2024 we have 0 opinions, we are missing around 300 opinions. We will need a backscraper (current backscraper re-scrapes the whole site)
About the SSL error:
While testing, I have found that changing the scheme to http from https makes this scraper work when called from CL. There seems to be some misconfiguration with it's certificates, even Chrome complains

Sentry Issue: COURTLISTENER-81D
ConnectionResetError: [Errno 104] Connection reset by peer
(6 additional frame(s) were not displayed)
...
  File "urllib3/util/ssl_.py", line 469, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
  File "urllib3/util/ssl_.py", line 513, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
  File "ssl.py", line 1041, in _create
    self.do_handshake()
  File "ssl.py", line 1319, in do_handshake
    self._sslobj.do_handshake()

ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
(10 additional frame(s) were not displayed)
...
  File "urllib3/util/ssl_.py", line 469, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
  File "urllib3/util/ssl_.py", line 513, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
  File "ssl.py", line 1041, in _create
    self.do_handshake()
  File "ssl.py", line 1319, in do_handshake
    self._sslobj.do_handshake()

ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
(4 additional frame(s) were not displayed)
...
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 437, in handle
    self.parse_and_scrape_site(mod, options)
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 401, in parse_and_scrape_site
    self.scrape_court(site, options["full_crawl"])
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 301, in scrape_court
    self.ingest_a_case(
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 334, in ingest_a_case
    content = get_binary_content(item["download_urls"], site)
  File "cl/scrapers/utils.py", line 197, in get_binary_content
    r = s.get(

Command to fill the gap
manage.py cl_back_scrape_opinions --courts juriscraper.opinions.united_states.state.lactapp_1 --backscrape-start=2024/10/26 --backscrape-end=2024/06/23 --verbosity 3

DEBUG juriscraper.opinions.united_states.state.lactapp_1: Successfully crawled 379/423 opinions.


⚠ Bofrost.de has degraded performance

In 43e9774, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1007 ms

Resolved: Bofrost.de performance has improved in 588df18.


[iOS] sample download operation crashes

I created a simple cordova App from the sample code, without changing any of the sample JavaScript. The App crashes and exists when I press the download button. When I run it in Xcode an exception is thrown after the files have been dowloaded. Only the sync operation works as expected.

Forgot to update this one. This should be fixed now too along with Issue #76 . If you could give it another try.


Pull indexer state out into a struct. [phab:D1283]

Created by zarko at 2017-01-26 21:20:35:
No functional change intended. I didn't run clang-format
on this to make the diff as clear as possible. I'll follow
up with another diff that solely reformats.

fromberger accepted this revision at 2017-01-26 21:22:15

zarko closed via commit 2c795cfcfca814d762757469852b37a5afbca9b1 at 2017-01-26 21:23:46


Fix uniqueness constraint on terminology properties

Postgres treats NULLs as distinct by default, so multiple identical simple attribute values would produce duplicate rows in the DB

Why simple?

Since it corresponds to UMLS "simple attributes", as opposed to relationships with a target

Should the existing Coding_Property_idx index be removed?

Nope, it's still necessary to index relationship properties


encrypted youtube video fail to download

./youtube-dl AAbokV76tkU --verbose
Some video is start download fail around 3 days ago like the above example. It seems happen on encrypted signature's video. Is the encryption method changed from youtube? Attached below is the output of the above command.
/Mine/new/youtube-dl-master $ ./youtube-dl AAbokV76tkU --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['AAbokV76tkU', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2014.05.13
[debug] Python version 2.7.3 - Darwin-13.0.0-x86_64-i386-64bit
[debug] Proxy map: {}
[youtube] Setting language
[youtube] AAbokV76tkU: Downloading webpage
[youtube] AAbokV76tkU: Downloading video info webpage
[youtube] AAbokV76tkU: Extracting video information
[youtube] AAbokV76tkU: Encrypted signatures detected.
[youtube] encrypted signature length 86 (40.45), itag 22, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 43, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 18, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 5, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 36, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 17, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 137, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 248, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 136, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 247, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 135, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 244, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 245, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 246, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 134, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 243, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 133, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 242, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 160, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 140, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 83 (42.40), itag 171, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 137, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 248, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 136, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 247, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 135, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 244, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 245, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 246, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 134, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 243, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 133, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 242, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 160, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 140, html5 player en_US-vflzEDYyE
[youtube] encrypted signature length 86 (40.45), itag 171, html5 player en_US-vflzEDYyE
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1009, in process_info
success = dl(filename, info_dict)
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 985, in dl
return fd.download(name, info)
File "./youtube-dl/youtube_dl/downloader/common.py", line 291, in download
return self.real_download(filename, info_dict)
File "./youtube-dl/youtube_dl/downloader/http.py", line 58, in real_download
data = self.ydl.urlopen(request)
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1214, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 406, in open
response = meth(req, response)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 519, in http_response
'http', request, response, code, msg, hdrs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 444, in error
return self._call_chain(_args)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(_args)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 527, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden
Thanks

shouldn't this be closed?


PHP and Azure App Directory authentication

Implement a very basic login/authentication system in PHP using Azure App Directory.
App should have a single login button that when clicked, the user will be prompted to sign in using their Microsoft account.
Server should manage user sessions as well so that they don't need to authenticate every time the webpage is opened.
Tutorial Link:
https://katystech.blog/projects/php-azuread-oauth-login

Renamed to just Azure App Directory auth since we will likely not be using php.


error

ModuleNotFoundError: No module named 'win32api'

click the windows button
type cmd
run this command: pip install pywin32

My last message probably didn't help.
This error is affecting users of the newest version of Python (3.12). I'm pretty sure downgrading to Python 3.10.5 will let you use the script for now while I figure out what's going on.
You can download Python 3.10.5 here:
https://www.python.org/downloads/release/python-3105

This error is fixed in the newest version of the script (tested with Python 3.12) ! 🎉
Just make sure to install every Python module with `pip install -r requirements.txt".
Let me know is it working for you! 🙂


Using helm to deploy into Kubernetes  cluster, version does not match

Hi all,
I am using helm to deploy the fn into my  Kubernetes cluster but suffered a version miss-match, via https://github.com/fnproject/fn-helm;
how can I get the Right version? My Kubernetes version is 18 btw

Error: validation failed: [unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1", unable to recognize "": no matches for kind "Deployment" in version "apps/v1beta1"]


Add support for FUIArray and data source transformations

This is something that's been requested frequently (#93, #169). Two things I definitely want to add are map and sort. Not sure if we should add filter, since it may encourage people to download much more data than their app ever intends on displaying.
This most likely won't make it into the FirebaseUI 1.0.0 release.

Preliminary work on this can be found here.
Goals:

FirebaseArray and friends abstracted behind FIRCollection protocol, so consumers don't have to care about the details of their collections if they don't want to. Users will also be able to define their own FIRCollections.
Remove query observation from initialization of FIRCollections. This way initializers don't have side effects.
Change data sources' designated initializers to take FIRCollections. This way a data source can be initialized with a normal, sorted, or mapped array without concern over the details of the array. Decouples data sources from their storage dependencies. The current initializers can be kept around, but this is still a breaking change since people who subclass the data sources will have to override a different initializer. Data sources are now responsible for telling their collections to observe their respective queries.

Let's make sure we have a corresponding bug filed for Android as well.

+1
This sounds exactly what I'm looking for.
I'm wanting to display a tableView, however I'm unable to get exactly what I need form the firebase query, as its either not sorted or not filtered - I can't have them both on the query itself (a well known issue/feature of Firebase!).
I want to be able to create my own implementation of FUIArray, which I can sort and filter as needed. At the moment, I can't do this without also writing my own DataSource.
> "Two things I definitely want to add are map and sort. Not sure if we should add filter, since it may encourage people to download much more data than their app ever intends on displaying."
Please do implement filter as well as sort! I understand the concern regarding performance and the download size, however, at least in my case this isn't going to be an issue - I'm dealing with relatively small amounts of data.

@muirandy The PR is basically ready to be merged, we're just waiting on Android since we want to maintain feature parity between the two codebases. Even though filter is left unimplemented, FIRCollection is publicly available and you can conform your own filtered collection to it.

#186 has been merged. Release coming soon.

v2.0.0 has been released.

Just in case people need an NSFetchedResultsController type solution for the Firebase Realtime Database, I've just open sourced a library I've been working on for some time. I've been using this in a few of my production apps for some time now. And it includes support for diffing.
https://github.com/cgossain/FirebaseResultsController
I'd love to hear your thoughts.


look into gateway issues

why are gateways not sharing peers around?
why can nodes not automatically connect to bootstrap nodes?
... ?

Seems like the shareNodes rpc call only returns nodes which are marked as outbound

Nodes running on the testnet with updated gateway code are stable. Testing shows that non bootstrap nodes are being connected to if they have unpnp enabled or are otherwise publicly reachable.


Bundling dashboard with kube api proxy

Hi!
Great project! 😁🙌
I've created a proxy for the Kubernetes API to use with Azure AD: https://github.com/XenitAB/azad-kube-proxy
I've been thinking that I maybe should enable easy access to a dashboard together with the proxy but haven't decided how to do it yet.
An idea I just had was that I maybe can include your frontend in the proxy? Haven't exactly thought it through but maybe add the required endpoints (like OIDC) to my proxy and then add the frontend when building it.
But before doing anything like that, I wanted to ask if you would be OK with it?
Thanks!

What I've done so far is to include a git submodule to this repo, created a small script to run your Dockerfile to build the frontend and then copy the frontend to another directory as well as your LICENSE file.
The end user will be able to enable the dashboard by adding a flag when starting the proxy like this:
--dashboard=K8DASH
I will add some documentation in the future that will make it clear that the frontend is this project. My plan is to be able to add more frontends in the future if there are any.
If there are any issues with me doing this, please tell me and I'll remove or update accordingly.
Thanks!

That sounds like a great solution. Thanks for letting us know :)


shaka.Player.support is not a function

I did followings [in windows 7 OS]:

git clone https://github.com/google/shaka-player.git

put these in head  section:
<script src="third_party/closure/goog/base.js"></script>
 <script src="dist/deps.js"></script>
 <script src="shaka-player.uncompiled.js"></script>

put my app.js also

put video tag in index.html

start server

found following errors in console:
base.js:413 goog.require could not find: shaka.offline.DBEnginegoog.logToConsole_ @ base.js:413goog.require @ base.js:446(anonymous function) @ shaka-player.uncompiled.js:40
base.js:448 Uncaught Error: goog.require could not find: shaka.offline.DBEnginegoog.require @ base.js:448(anonymous function) @ shaka-player.uncompiled.js:40
mediakeys.js:52 Using native EME as-is.
promise.js:94 Using native Promises.
app.js:9 Uncaught TypeError: shaka.Player.support is not a function

no idea, is shaka code base is not stable. I got latest one.
Please give solution.

Have a look on it: https://github.com/google/shaka-player/issues/399
If you have a loon in demo folder you'll find a working example for 2.0.

still not clear....

did you check the load.js in the demo?

We recently changed the API and neglected to update the tutorials.  See #388 for the change.  We'll have the tutorial text fixed shortly.

The fix has been pushed to master.  If you build the tutorials from source (build/docs.py), you will see the corrected text.
Please note that the tutorial text on appspot corresponds to our most recent release, which does not include the changes to support().  Our next release, v2.0.0-beta3, will contain these changes.
Please let us know if you have any other questions.


Set the plugin view as the home page

Hello, I am working with wordpress and wp-mvc and I would like to know if it is possible or how can you establish a plugin view as wordpress home page.
Thank you

Plugin pages are bound to the /controller/action/id URL structure. However, there is nothing to stop you including a view in e.g. a short code that you define and use on the homepage.

I know it's bit late, but maybe someone else will look for it.
In public controller (ie. products_controller.php) I created method list()
`public function list() {
$this->view_rendered = true;
    // Params are shortcode atts
    $params = $this->params;

    $this->process_params_for_search();
    $collection = $this->model->paginate( $params );
    $this->set( 'objects', $collection['objects'] );

    if ( $params['pagination'] ) {
        // Set pagination
        $this->pagination = sempai_shop_get_pagination_args( array(
            'total'             => $collection['total_pages'],
            'current'           => $collection['page'],
        ) );

        unset( $collection['objects'] );
        $this->pagination = array_merge( $collection, $this->pagination );
    }

    $response = $this->render_to_string( 'products/index' );

    return $response;

}`
And then I create shortcode and use MvcDispatcher to return rendered shortcode content.
`add_shortcode( 'products', products_shortcode' );
function products_shortcode( $atts ) {
$atts = shortcode_atts( array(
'controller'	=> 'products',
'action'		=> 'list',
'page'		=> get_query_var( 'page', 1 ),
'per_page'	=> get_option( 'posts_per_page' ),
'pagination'	=> false,
), $atts, 'products' );
return MvcDispatcher::dispatch( $atts );

}`
Hope you find it helpfull 😊


Improve efficiency by regexing chunks

As opposed to splitting logs and diffs a word a line (and then comparison), store entire outputs and then follow with comparisons.
Also, this will allow a more expressive search

Added in e38f


[FLOC-3670] Define acceptance testing jobs more broadly

Fixes https://clusterhq.atlassian.net/browse/FLOC-3670
Maybe also puts less load on cloud providers to run our acceptance tests since it cuts the number of jobs from 9 to 3.

Code looks great, looking at the jenkins-multijob it looks like there are fewer acceptance tests running now.
For reviewing this further I decided to think the advantages and disadvantages of doing this change:
Good:

Less load on cloud providers (de-sharding reduces number of clusters brought up), which might decrease flakiness.

We did this on Buildbot and it helped with RequestLimitExceeded errors.
We have seen RequestLimitExceeded errors on Jenkins. (Similar things we think on Rackspace)

1 Less thing that you have to remember if you are trying to add an acceptance test suite.

Bad:

Decreasing sharding makes the unit of retry more course.

As in, if we had 3 tests each which would fail 1/2 times you probably could get them all green with just a few presses of retry. Now we have 1 test that fails 7/8 of the time, might be more painful.
So long as our failure rates are low this is less of an issue.

Decreases sharding which might increase full test time.

Sorting by last duration, we see runs of endtoend taking 29min, 27min, 26min, and 24min. These are the tests that take the longest in the suite, so this change has potential to increase total test time.
Going to master, clicking on all of the current endtoend tests and then clicking on trends and then sorting by duration we can approximate how long these tests are currently taking. For passing test runs it looks like in general the average and median runtimes are much closer to 20-24 (just eyeballing like 10 different pages). Lets say this could add 5 minutes to test times if we had perfect parallelism.

I don't think we have perfect parallelism, in fact I think we might have more than 5 minutes of scheduling delay right now because we have so many jobs running. I might re-visit the trends of these tests after we submit to verify we aren't making things take too long.
Even if it did take 5 minutes longer, if this reduces overall flakiness it probably still is a benefit.
All told I think the good probably outweighs the bad. Certainly enough to try it.
Given that you're only failing test was run_lint, and this doesn't change any python I think I'm just going to merge this for you.
Thanks.


Ethernet HAL driver definitions

I did some comparisons between the new STM32H7RS HAL Driver V1.1.0 and STM32H7xx HAL Driver V1.11.4 and I found this:
File stm32h7rsxx_hal_eth.h
#define HAL_ETH_STATE_BUSY                 0x00000023U    /*!< an internal process is ongoing             */
#define HAL_ETH_STATE_STARTED              0x00000023U    /*!< an internal process is started             */

File stm32h7xx_hal_eth.h
#define HAL_ETH_STATE_BUSY                 0x00000020U    /*!< an internal process is ongoing             */
#define HAL_ETH_STATE_STARTED              0x00000040U    /*!< an internal process is started             */

https://github.com/STMicroelectronics/stm32h7xx-hal-driver/commit/cf89fa21345bcf6e5d0a44e34d31d043f2ab3b7f

Hello @carlo-dev-git,
Thank you for your report. The issue with identical values for HAL gState definitions will be addressed and fixed to align with the STM32H7xx HAL Driver.
ST Internal Reference: 198159
With Regards,

Thank you ASEHSTM.
I think the stm32h7rsxx_hal_eth.c file should be checked as well.
See aa891057c66d15f81ae01b2115cd96d079e6bc94

Yes, that has been considered.
Thank you.
With Regards,

Fixed in commit: https://github.com/STMicroelectronics/stm32h7rsxx-hal-driver/commit/7ca2e07ca21bc66b53654e845b4c85c884343b60


Internal server errors with growth related parameters

These two parameters are giving me 500 internal server errors just now.
@talumbau @MattHJensen

A quick update, I don't see any error popping up so far (dropq or taxcalc), but will it be a problem if the cdf_bin_table and pdf_bin_table here are empty? @talumbau

@Amy-Xu @martinholmer I can reproduce and will be pushing a fix this morning.

resolved via https://github.com/OpenSourcePolicyCenter/webapp-public/commit/bea7cdd9d134f1645aef2e38a601e4350e2cfaf4


Generate and run local jobfile using parallel, includes logging

My first try at a local executor.
Idea here is to allow cluster integrated codes (a la magetbrain) to run locally on a system with a minimal amount of modification. Added logging in for fun.
Dependencies in this system are obviously handled by the fact that the calling pipeline will probably call in the same order as the dependency generation.
Thoughts?

This will have a merge conflict with the job-counting PR since they touch the same lines.

Fixed merge conflict, logdir configuration coming.

Alright, I've added logdir support and merged error and stdout for all the methods so there's a single logfile.

I was trying to figure out how to construct the logfile dir from the working directory command but I've been unsuccessful at making argparse do that. Instead I use the os.cwd bit, but they can currently get out of sync.

Thought: can/should argparse reject command-line options which are invalid for local mode?

Thanks Gabe. This looks good.

Dependencies in this system are obviously handled by the fact that the calling pipeline will probably call in the same order as the dependency generation.

Yeah, I don't think we should handle dependencies too deeply. Ultimately if pipelines are getting complex perhaps people can turn to using nipype.

I was trying to figure out how to construct the logfile dir from the working directory command but I've been unsuccessful at making argparse do that.

The os.cwd thing seems fine to me.

Thought: can/should argparse reject command-line options which are invalid for local mode?

I don't think so. If anything, we can put a note in the help for options that don't work in local mode, or if we want to be really kind, run a check in verbose mode and print some warnings. I don't think it's a priority though.

The os.cwd thing seems fine to me.

What I mean is that I wanted the help log directory to depend on the working dir input, but since they're both argparsed, I can't dynamically change them. The os.cwd is fine for most cases anyways.

Yeah, I got you, I just don't think it's that big of a deal (but I could be wrong about that). It looks like it could be done with a custom action if we really need it: http://stackoverflow.com/questions/20048048/argparse-default-option-based-on-another-option
Alternatively, we "cheat" and do this:
parser.add_argument("--logdir", action="store", default="{workdir}/logs")
...
logdir = args.logdir.format(workdir=jobs_workdir)

Right, I saw that custom actions thing and though "too much work for this"
Not sure I get the cheat.

The cheat is that the default will show up in the help as literally "{workdir}/logs", which isn't very friendly but it will work. I think we'd be fine as long as the help explains that with something something like, "{workdir} refers to the working directory defined by the -w option".

Ah.
I'm okay with that :)


Query_UsageByScope return type is incorrectly defined

About this operation:
https://github.com/Azure/azure-rest-api-specs/blob/d8e61eccaaa0f9ddeb95dfed0a6dcebe06dbbc3b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json#L153
The return type QueryResult does not represent the actual JSON payload. Example of JSON payload from a customer:
{
	"id": "subscriptions/00000000-0000-0000-0000-0000000000/providers/Microsoft.CostManagement/query/0ba0616a-88fb-4b07-ba2b-c32fa43f73da",
	"name": "0ba0616a-88fb-4b07-ba2b-c32fa43f73da",
	"type": "Microsoft.CostManagement/query",
	"location": null,
	"sku": null,
	"eTag": null,
	"properties": {
		"nextLink": null,
		"columns": [{
			"name": "UsageDate",
			"type": "Number"
		}, {
			"name": "Currency",
			"type": "String"
		}],
		"rows": [
			[20190601, "USD"],
			[20190602, "USD"],
			[20190603, "USD"],
			[20190604, "USD"],
			[20190605, "USD"],
			[20190606, "USD"],
			[20190607, "USD"],
			[20190608, "USD"],
			[20190609, "USD"],
			[20190610, "USD"],
			[20190611, "USD"],
			[20190612, "USD"],
			[20190613, "USD"],
			[20190614, "USD"],
			[20190615, "USD"],
			[20190616, "USD"],
			[20190617, "USD"],
			[20190618, "USD"],
			[20190619, "USD"],
			[20190620, "USD"],
			[20190621, "USD"],
			[20190622, "USD"],
			[20190623, "USD"],
			[20190624, "USD"]
		]
	}
}

QueryResult does not match this definition. The Swagger indeed says that the root node is a value node of type array, which is incorrect. I believe this error was made to fit the x-ms-pageable extension, but actually this option is not appplicable here since the list is not at the root. Also, examples have been modified to fit the Swagger, and does not represent the truth of the server.
I would do in order to fix it:

Fix all the examples to be the actual server output and don't touch them anymore
Remove the x-ms-pageable extension
Fix QueryResult to describe properly the server (i.e. until CI passes on the examples)

Side note: being that the JSON returned does not follow ARM guideline, I would strongly encourage to have qn QPI review with ARM team (but out of the scope of this issue).

@Imazuel this is fixed in the swagger. Hence closing this item.


Show spelling suggestion in symbol/property name not found error messages

Still need to implement quick fix code action, which will come with a separate PR.

Codecov Report

Merging #615 into master will increase coverage by 0.08%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #615      +/-   ##
==========================================
+ Coverage   94.97%   95.05%   +0.08%
==========================================
  Files         235      237       +2
  Lines        9101     9208     +107
==========================================
+ Hits         8644     8753     +109
+ Misses        457      455       -2

Flag
Coverage Δ

#dotnet
95.05% <100.00%> (+0.08%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ore.UnitTests/Text/TextCoordinateConverterTests.cs
100.00% <ø> (ø)

...IntegrationTests/TypeSystem/TypeValidationTests.cs
99.55% <100.00%> (+0.03%)
:arrow_up:

src/Bicep.Core.UnitTests/Text/SpellCheckerTests.cs
100.00% <100.00%> (ø)

src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs
100.00% <100.00%> (ø)

...cep.Core/SemanticModel/FunctionWildcardOverload.cs
100.00% <100.00%> (ø)

src/Bicep.Core/SemanticModel/NameBindingVisitor.cs
96.82% <100.00%> (+0.59%)
:arrow_up:

src/Bicep.Core/SemanticModel/NamespaceSymbol.cs
95.00% <100.00%> (ø)

...Core/SemanticModel/Namespaces/AzNamespaceSymbol.cs
100.00% <100.00%> (ø)

src/Bicep.Core/Text/SpellChecker.cs
100.00% <100.00%> (ø)

src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs
99.65% <100.00%> (+<0.01%)
:arrow_up:

... and 17 more


Eager loading doesn't work for related data, lazy - does

What could be the misconfiguration of hasMany relation, if it works only with lazy loading?
SomeObject model has relation declared as following:
public function getImages()
{
    return $this->hasMany(Image::className(), ['metadata.obj_id' => '_id']);
}

Code in controller:
$data = SomeObject::find()->with('images')->where(['state' => 'active'])->one();
var_dump($data->images); // Array ( )
$data = SomeObject::find()->where(['state' => 'active'])->one();
var_dump($data->images); // Array ( [0] => app\models\Image Object ( and so on

The roots of the problem are going to getModelKey method of yii2\db\ActiveRelationTrait, where dots in field names break everything. At the same time, hasMany method doesn't provide another solution.

Pull request

https://github.com/yiisoft/yii2-mongodb/issues/51

@Lisio what's the reason pull request was closed?

It was replaced with pull request #53, where I removed unnecessary brackets.

Migrated to https://github.com/yiisoft/yii2/issues/11489


Migrate docker-compose.prod.yml to compose2

Because of lack of support for docker-compose ver2, docker-compose.prod.yml was ported back to version 1 in https://github.com/SpisTresci/SpisTresci/pull/11.
Right now there is open ticket in https://github.com/jwilder/nginx-proxy/issues/304 for that. When this ticket will be resolved, migration to compose2 should be performed.
FYI:
docker-compose.yml (for development) is left in version 2. There is no reason to downgrade it also to version 1.

https://github.com/SpisTresci/SpisTresci/pull/27


Zipkin tracing no longer sets X-B3-ParentSpanID

Issue
Prior to commit fa255ae022323db12782a83bc02d1f3d13411685 the Zipkin middleware set the X-B3-ParentSpanId header variable. In the current code this is no longer the case.
The original code did not have explicit tests for this, which is how it probably slipped through.
Context
According to the CF documentation, if both the X-B3-TraceId and X-B3-SpanId headers are set, then a new X-B3-SpanId header will be generated and X-B3-ParentSpanId header will be set to the original SpanId.
This feature allows developers to trace the application call chain for a given trace, so it can be surprisingly useful in complex microservice architectures.
Steps to Reproduce

Push a "service" application (zipkin-svc, say)
Push a "main" application that will call the first one (zipkin-main, say)
Call the "main" application
Examine the headers for each

Here are the test apps I used to reproduce this issue:
Gemfile
source 'https://rubygems.org'

gem 'sinatra'
gem 'httparty'
gem 'json'

Service application
require 'sinatra/base'
require 'json'

class App < Sinatra::Base
  get '/' do
    {
      app: 'zipkin-svc',
      headers: {
        'X-B3-TraceID' => request.env['HTTP_X_B3_TRACEID'],
        'X-B3-SpanID' => request.env['HTTP_X_B3_SPANID'],
        'X-B3-ParentID' => request.env['HTTP_X_B3_PARENTID'],
      }
    }.to_json
  end
end

run App.new

Main application
require 'sinatra/base'
require 'httparty'
require 'json'

abort 'SERVICE_URL not specifed' unless ENV['SERVICE_URL']

class App < Sinatra::Base
  get '/' do
    headers = {
      'X-B3-TraceId' => request.env['HTTP_X_B3_TRACEID'],
      'X-B3-SpanId' => request.env['HTTP_X_B3_SPANID'],
    }
    rv = HTTParty.get(ENV['SERVICE_URL'], headers: headers)
    svc_result = JSON.parse(rv.body)
    {
      app: 'zipkin-main',
      headers: headers,
      service: svc_result,
    }.to_json
  end
end

run App.new

Expected result
The "service" headers should be populated as in the example below (X-B3-SpanID is different from the trace id and X-B3-ParentID is set to the "main" span id):
{
  "app": "zipkin-main",
  "headers": {
    "X-B3-TraceId": "7b867f8d3433b203",
    "X-B3-SpanId": "7b867f8d3433b203"
  },
  "service": {
    "app": "zipkin-svc",
    "headers": {
      "X-B3-TraceID": "7b867f8d3433b203",
      "X-B3-SpanID": "abcdefg123456678",
      "X-B3-ParentID": "7b867f8d3433b203"
    }
  }
}

The logged headers should match this expectation as well.
Current result
The "service" headers are identical to the "main" ones and X-B3-ParentID is not set.
{
  "app": "zipkin-main",
  "headers": {
    "X-B3-TraceId": "7b867f8d3433b203",
    "X-B3-SpanId": "7b867f8d3433b203"
  },
  "service": {
    "app": "zipkin-svc",
    "headers": {
      "X-B3-TraceID": "7b867f8d3433b203",
      "X-B3-SpanID": "7b867f8d3433b203",
      "X-B3-ParentID": null
    }
  }
}

The logged headers reflect the above.
Possible Fix
The original code looks fairly sane, so I'm happy to create a PR that rolls the functionality forward if desired.

Hello, this change was intentional. Please see https://github.com/cloudfoundry/routing-release/issues/110 for the reasoning.

It seems a shame to remove useful functionality. So, should the CF documentation be changed to match the current behaviour, then?

Hello @jblackman
I you found the previous behavior useful, please add your comments in cloudfoundry/routing-release#110.
We do intend to fix the documentation.

Comment added. Many thanks for the update!


Remove AndroidManifest.xml defaults

These defaults might clash with a including project and cause lint errors unless the API client include tools:replace="allowBackup,supportsRtl" within their AndroidManifest.xml

Thank you!


speeding up the webpage

Downsample the tree further to reduce data being transmitted.
Reduce the frequency plots to be static. NOT the last 120 days.

Most of the memory used by the page are taken up by SVG elements (the trees and the interactive RTT plot):

Resolved with PR #345


Restored app not showing the changed names for default accounts

Default Checking, Savings, and Test Account name change is not visible when the app is restored.
If default account names are shown as default names after the app is restored. If a default account name was changed the changed name is not visible in the restored app.
non-default account name and description changes are visible in the restored app, this only applies to default Checking, Savings, and Test Account name and description.

@cakesoft-swati  Let's not change this now as its a minor residual issue. I don't want to change the core functionalities at this late stage.
FYI @antuz123 @Arpanjainson

@cakesoft-swati  Let's not change this now as its a minor residual issue. I don't want to change the core functionalities at this late stage.
FYI @antuz123 @Arpanjainson

@cakesoft-swati @Arpanjainson

@cakesoft-swati @Arpanjainson

-Verified this issue on dev app v1.4.2(202)
-Now the restored app is showing the changed names for default accounts.

-Verified this issue on dev app v1.4.2(202)
-Now the restored app is showing the changed names for default accounts.


depth

Hi @aqeelanwar,
You are using depth estimation only to simulate reward. Why didn't you decide to use it for choosing action? You could than base reward on change of distance.
Regards,

Hello,
There are plenty of ways the reward function can be shaped. You can use that.


delete_branch_on_merge  doesn't stay as true

I'm having issue with setting delete_branch_on_merge = true. It looks like it keeps getting reset back to false in the next run.
Terraform Version
Terraform v0.12.24
+ provider.github v2.8.0

Affected Resource(s)

github_repository

Terraform Configuration Files
resource "github_repository" "my_repo" {
  name                   = "my_repo"
  description            = "My Repo"
  default_branch         = "master"
  private                = true
  delete_branch_on_merge = true
}

Terraform Plan Output
  # github_repository.my_repo will be updated in-place
  ~ resource "github_repository" "my_repo" {
        allow_merge_commit     = true
        allow_rebase_merge     = true
        allow_squash_merge     = true
        archived               = false
        auto_init              = false
        default_branch         = "master"
      ~ delete_branch_on_merge = false -> true
        description            = "My Repo"
        etag                   = "<SOME_HASH>"
        full_name              = "<some-org>/my_repo"
        git_clone_url          = "git://github.com/<some-org>/my_repo.git"
        has_downloads          = false
        has_issues             = false
        has_projects           = false
        has_wiki               = false
        html_url               = "https://github.com/<some-org>/my-repo"
        http_clone_url         = "https://github.com/<some-org>/my-repo.git"
        id                     = "my_repo"
        is_template            = false
        name                   = "my_repo"
        node_id                = "<SOME_HASH>"
        private                = true
        ssh_clone_url          = "git@github.com:<some-org>/my-repo.git"
        svn_url                = "https://github.com/<some-org>/mh-repo"
        topics                 = []
    }

Expected Behavior
delete_branch_on_merge will be set to true and stays as true
Actual Behavior
      ~ delete_branch_on_merge = false -> true

This line keeps showing up in my plan, and the attribute is never set to true.
Steps to Reproduce

Create a .hcl file like mentioned above (Note: not sure if it is related, but the repo was terraform import earlier)
Run terraform plan and then terraform apply

I'm not able to reproduce this, either with a newly created repo from Terraform or with an imported repo. Same Terraform version and GitHub Provider version. Are you able to share a specific way to reproduce? Including what kind of initial settings to give the manually created repo and such.

My attempt linked above was also unsuccessful:
$  while true; do sleep 1; terraform apply -auto-approve   -var "organization=${GITHUB_ORG}"   -var "github_token=${GITHUB_TOKEN}"; done
github_repository.delete_branch_on_merge: Refreshing state... [id=delete_branch_on_merge]

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Outputs:

repository = {
  "allow_merge_commit" = true
  "allow_rebase_merge" = true
  "allow_squash_merge" = true
  "archived" = false
  "default_branch" = "master"
  "delete_branch_on_merge" = true
  "description" = "A repository with delete-branch-on-merge configured"
  "etag" = "W/\"2952d2e5bb9de037e253a2b1e5427391\""
  "full_name" = "terraformtesting/delete_branch_on_merge"
  "git_clone_url" = "git://github.com/terraformtesting/delete_branch_on_merge.git"
  "has_downloads" = false
  "has_issues" = false
  "has_projects" = false
  "has_wiki" = false
  "homepage_url" = ""
  "html_url" = "https://github.com/terraformtesting/delete_branch_on_merge"
  "http_clone_url" = "https://github.com/terraformtesting/delete_branch_on_merge.git"
  "id" = "delete_branch_on_merge"
  "is_template" = false
  "name" = "delete_branch_on_merge"
  "node_id" = "MDEwOlJlcG9zaXRvcnkyNjgwOTk3OTI="
  "private" = true
  "ssh_clone_url" = "git@github.com:terraformtesting/delete_branch_on_merge.git"
  "svn_url" = "https://github.com/terraformtesting/delete_branch_on_merge"
  "template" = []
  "topics" = []
}
github_repository.delete_branch_on_merge: Refreshing state... [id=delete_branch_on_merge]

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Outputs:

repository = {
  "allow_merge_commit" = true
  "allow_rebase_merge" = true
  "allow_squash_merge" = true
  "archived" = false
  "default_branch" = "master"
  "delete_branch_on_merge" = true
  "description" = "A repository with delete-branch-on-merge configured"
  "etag" = "W/\"c960bd0e68b2cac128cb53510e38fe09\""
  "full_name" = "terraformtesting/delete_branch_on_merge"
  "git_clone_url" = "git://github.com/terraformtesting/delete_branch_on_merge.git"
  "has_downloads" = false
  "has_issues" = false
  "has_projects" = false
  "has_wiki" = false
  "homepage_url" = ""
  "html_url" = "https://github.com/terraformtesting/delete_branch_on_merge"
  "http_clone_url" = "https://github.com/terraformtesting/delete_branch_on_merge.git"
  "id" = "delete_branch_on_merge"
  "is_template" = false
  "name" = "delete_branch_on_merge"
  "node_id" = "MDEwOlJlcG9zaXRvcnkyNjgwOTk3OTI="
  "private" = true
  "ssh_clone_url" = "git@github.com:terraformtesting/delete_branch_on_merge.git"
  "svn_url" = "https://github.com/terraformtesting/delete_branch_on_merge"
  "template" = []
  "topics" = []
}
github_repository.delete_branch_on_merge: Refreshing state... [id=delete_branch_on_merge]

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

This is odd... I was able to reproduce this all the time yesterday, but now I cannot reproduce it either.
I'm going to close this issue now, and sorry about the false alarm.
Thanks again!

No worries.  If it happens again try adding a TF_LOG=DEBUG ... ahead of the terraform invocation as the added output may help.

Seeing this as well using 2.8.1.


[Bug]: When implementing custom injected wallet, it doesn't reconnect on refresh and doesn't logout

Current Behavior
Web3Auth with OpenLogin implementation

Login with custom injected wallet
Refresh browser
Error You do not have any wallets installed that app support

const injectedGoogle = injectedModule({
custom: [Google] //Web3Auth Google Provider
})

Expected Behavior
When refreshing browser, connect({autoselect: }) keep login or reconnect like other wallets

I appreciate your help
Thanks
Steps To Reproduce
No response
What package is effected by this issue?
@web3-onboard/react
Is this a build or a runtime issue?
Runtime
Package Version
2.4.0
Node Version
16
What browsers are you seeing the problem on?
Chrome, Safari
Relevant log output
No response
Anything else?
Injected wallet implementation similar to current web3auth provider (@web3-onboard/web3auth) but using core not modal
Sanity Check

[X] If this is a build issue, I have included my build config. If this is a runtime issue, I have included reproduction steps and/or a Minimal, Reproducible Example.

Hey @faillacec can you please provide some more detailed code to reproduce this?

Hey @aaronbarnardsound how are you doing? Yes
I implemented this custom injected wallet (From Web3Auth)
`import type {
Chain,
EIP1193Provider,
ProviderAccounts,
} from "@web3-onboard/common";
import { web3AuthKey } from "../config";
const Google = {
label: "Google",
injectedNamespace: 'ethereum',
checkProviderIdentity: ({ provider }) => !!provider,
getIcon: async () => "/icons/google-logo.png",
getInterface: async ({ EventEmitter, chains }) => {
const { Web3AuthCore } = await import("@web3auth/core");
const { OpenloginAdapter } = await import("@web3auth/openlogin-adapter");
const { WALLET_ADAPTERS, CHAIN_NAMESPACES } = await import("@web3auth/base");
		const { createEIP1193Provider, ProviderRpcError, ProviderRpcErrorCode } =
			await import("@web3-onboard/common");

		const emitter = new EventEmitter();
		let [currentChain] = chains;

        const getChainConfig = ({
            rpcUrl,
            namespace,
            id,
            token,
            label
          }: Chain) => ({
            chainConfig: {
              ticker: token,
              tickerName: label,
              chainId: id,
              rpcTarget: rpcUrl,
              chainNamespace:
                namespace === 'evm'
                  ? CHAIN_NAMESPACES.EIP155
                  : CHAIN_NAMESPACES.OTHER
            }
          })

        const web3authCoreOptions = {
            clientId: web3AuthKey,
            ...getChainConfig(currentChain)
        }
		let web3authInstance = new Web3AuthCore(web3authCoreOptions);

		let openloginAdapterInstance = new OpenloginAdapter({
			loginSettings: {
				loginProvider: "google",
			},
		});

		web3authInstance.configureAdapter(openloginAdapterInstance);

		await web3authInstance.init();

        let provider: EIP1193Provider;

        let web3authProvider = await web3authInstance.connectTo(WALLET_ADAPTERS.OPENLOGIN, {
            mfaLevel: "default", // Pass on the mfa level of your choice: default, optional, mandatory, none
            loginProvider: "google", // Pass on the login provider of your choice: google, facebook, discord, twitch, twitter, github, linkedin, apple, etc.
        });

		function patchProvider(): EIP1193Provider {
			const patchedProvider = createEIP1193Provider(web3authProvider, {
                eth_selectAccounts: null,
				eth_requestAccounts: async ({ baseRequest }) => {
					try {
						const accounts = await baseRequest({
							method: "eth_accounts",
						});

						return accounts as ProviderAccounts;
					} catch (error) {
						console.error(error);
						throw new ProviderRpcError({
							code: ProviderRpcErrorCode.ACCOUNT_ACCESS_REJECTED,
							message: "Account access rejected",
						});
					}
				},
				wallet_switchEthereumChain: async ({ params }) => {
                    const chain = chains.find(({ id }) => id === params[0].chainId)
                    if (!chain) throw new Error('Chain must be set before switching')
                    currentChain = chain

                    // re-instantiate instance with new network
                    web3authInstance = new Web3AuthCore({
                      ...web3authCoreOptions,
                      ...getChainConfig(currentChain)
                    })

                    await web3authInstance.init();

                    web3authProvider = await web3authInstance.connectTo(WALLET_ADAPTERS.OPENLOGIN, {
                        mfaLevel: "default", // Pass on the mfa level of your choice: default, optional, mandatory, none
                        loginProvider: "google", // Pass on the login provider of your choice: google, facebook, discord, twitch, twitter, github, linkedin, apple, etc.
                    });

                    emitter.emit('chainChanged', currentChain.id)

                    patchProvider()

                    return null
                  }
			})

			if (!provider) {
				patchedProvider.on = emitter.on.bind(emitter);
				patchedProvider.disconnect = () => web3authInstance?.logout();

				return patchedProvider;
			} else {
				provider.request = patchedProvider.request.bind(patchedProvider);

				// @ts-ignore - bind old methods for backwards compat
				provider.send = patchedProvider.send.bind(patchedProvider);

				// @ts-ignore - bind old methods for backwards compat
				provider.sendAsync = patchedProvider.sendAsync.bind(patchedProvider);

				return provider;
			}
		}

		provider = patchProvider();

		return {
			provider,
			instance: web3authInstance,
		};
	},
	// A list of platforms that this wallet supports
	platforms: ['all'],

}
export default Google;
`
And added this to onboardInit
`const injectedGoogle = injectedModule({
custom: [Google]
})
const wallets = [web3auth, magic, walletConnect, coinbaseWalletSdk, injectedModule(), injectedGoogle];
const web3Onboard = init({
wallets,
chains,
appMetadata: {
name: "App",
icon: 'App Icon',
description: "App"
},
i18n: {
en: i18nWeb3OnBoardEN,
es: i18nWeb3OnBoardES
}
})
`
And this code seems to work ok when login. injected option appear in modal as google and i can login, but when page is refreshed session doesn't persist or when I tried to logout
When refresh i call this method passing the walletConnected that was saved in local storage (this works for others wallets) but not with custom. I pass here 'Google'  the same name as label of custom login wallet
connect({autoSelect: walletConnected})
And to logout I use
disconnect(wallet)
this work for others wallets too

const wallets = [web3auth, magic, walletConnect, coinbaseWalletSdk, injectedModule(), injectedGoogle];
That line might be causing issues as you are passing the injected module in twice. Try this instead:

const wallets = [web3auth, magic, walletConnect, coinbaseWalletSdk, injectedGoogle];
If that does not work, if you could link to a repo with this basic reproduction, then I can pull it down and take a look.

@faillacec wanted to check in and see if your issue has been resolved? Thanks!

@faillacec friendly 😄 ping on the above. We will close this issue at the end of the week if no response

Hi @Adamj1232 yes i could solve the problem, with a custom module instead of injected, and some changes in the code.
Thanks for your time.

@faillacec great to hear!  thank you!