App key not needed anymore

Now that the spotify app key is not needed anymore, can that requirement be removed somehow?

Done, updated the login code so it's not needed anymore.
https://github.com/badfortrains/spotcontrol/commit/d5c6f7d53922db1b605aa5674839c44798c2e748
Fix based on: https://github.com/plietar/librespot/commit/4cca541339a5b722b6985dcc716fcbf9dc9e6b5f


Add robb edge drivers ROB_200-004-0, ROB_200-011-0, ROB_200-011-0

@lelandblue sorry for the circumstances. We have cleaned up the branch and will move the other drivers to another branch to keep them clean.

@greens commits squashed. Sorry for the delay ...

@greens commits squashed. Sorry for the delay ...

@greens commits squashed. Sorry for the delay ...

@zwave-mke I think we're waiting on UL to get back to us before the merge, but thanks for keeping this PR nice and tidy.


refact: Remove obsolete data clone

In the current implementation a new typed array is being instantiated on
every subData call using concat. This should be factored out by sending
the data as a transferable ArrayBuffer through postMessage, resulting
into a zero-copy transfer. For the time being, we can at least remove the
obsolete cloning of the array using concat.
@michaelobriena Is there a case in which this.data is nested (I couldn't come up with one, but I'm not sure)? If that's the case the proposed solution wouldn't work.

need to test this.  The comment in the code you removed seemed to denote this was a must have.  Will dig into it.

I'm assuming
Array.prototype.concat.apply(data, data)

was resulting into excessive growth of the call stack - therefore the chunks were introduced, but after all it's not necessary in the first place to clone the array since a new typed array is being created using data (which in turn results into the allocation of the underlying ArrayBuffer + DataView via the typed array).

@michaelobriena Do you see a reason why we should keep this?

Looks like you were right.  Ready to Merge

landed as 782be3d


Build a single jar to avoid uploading the wrong file

Moved the shaded artifact into the module root dir.


Distributed: provide a mechanism to resolve conflicts when the majority is not reached

In the case of 2 data centers (DC) with 3+3 nodes are running, you don't want a writeQuorum=4 to avoid the huge latency between DCs. In this case you could have the inconsistency between DC.
So we need a conflict resolution strategy also between nodes, and it has to be customizable.
This could be a possible interface:
resolveConflict(String server1, ORecord record1, String server2, ORecord record2);

This is already implemented and works in the auto-repair procedure. It's missing the calling from OStorage level.


fix: update GraphQL span name to follow semantic conventions

The semantic convention for GraphQL spans is specified here: https://opentelemetry.io/docs/specs/semconv/graphql/graphql-spans/. This will also resolve https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/560.

Where the names always wrong?
I will have to take a look at the spec but are there any expectations around backward compatibility like there is with HTTP or Messaging semantics?
cc: @rmosolgo

Hi @karmingc! Whew, this has been a journey! I appreciate your patience.
We brought these questions to the semantic conventions repo. After some discussion, the decision was to change the span name to be graphql.operation.type by default, and to allow instrumentation authors to add a configuration option to append graphql.operation.name to the span name if a user opts in.
With this in mind, are you interested in updating this PR to fit with the new semantic convention?
https://github.com/open-telemetry/semantic-conventions/pull/1389

Hi @karmingc! Whew, this has been a journey! I appreciate your patience.
We brought these questions to the semantic conventions repo. After some discussion, the decision was to change the span name to be graphql.operation.type by default, and to allow instrumentation authors to add a configuration option to append graphql.operation.name to the span name if a user opts in.
With this in mind, are you interested in updating this PR to fit with the new semantic convention? open-telemetry/semantic-conventions#1389

Hi, I haven't had the chance to comment/reply for a while given that I am no longer involved on Ruby-related applications at work. However, I'm still open to fixing these! I'll try to update in the upcoming weeks if possible.
If somebody needs this to be prioritized, feel free to pick it up as well.


where can i find spi_qspi_write_read function in source code？

Hello, we provide the templates of w25qxx interface in /interface. You can implement these functions according to your platform. In /project, we have implemented raspberrypi4b (SPI), stm32f407 (SPI), stm32f767 (spi&&qsi). These projects can help implement your interface.
你好，我们在/interface目录下提供了W25QXX接口的模板，您可以根据您的平台实现这些函数。在/project目录下，我们实现了raspberrypi4b(SPI),stm32f407(SPI),stm32f767(SPI&&QSI)，这些工程可以帮助实现您的接口。


Add append: true example for writing text

This page appears second in Google results for "append to file deno" but doesn't have an append example. Please feel free to close this pull request or make edits if you think append should be explained/added to this doc in a different way.

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


Basic password protection

When using list, you might want to supply a password to protect your directory or static site.
This is especially important when using now-serve to serve a staging environment that should not be reachable by every person on the internet.

@leo I'm working on a PR, should this be in the form of a micro-plugin or can I use http-auth?

This is a cool idea. Maybe with envs? HTTP_BASIC_USER and HTTP_BASIC_PASSWORD ?

Yeah, I thought the same. Or with a HTTP_BASIC_AUTH string: username:password or username:password_hash

@guidobouman are you still working on this? I was thinking about taking a stab at it, but I don't want to jump in if you're still planning to do it 😄

Have a go! I can assist if you're running into any issues.

Cool, thanks!

Implemented this as just more CLI flags. Let me know what you guys think.

https://github.com/zeit/list/pull/49

Hi, since the rewrite I can't see this option anywhere. Is it still possible to add a basic protection?

@paulintrognon Yes, but it seems like the only way now is to do it by yourself. See how here.


feature: UniqueIndex support

Basically, its sometimes very useful to use another unique name that is not the entityname to refer to an entity, be it a serialnumber, or maybe just a name of a character. Its Very helpful for syncing stuff across networks etc.
it would basically be very similar to the index already there, but in your example, it would be quite reversed. I am imagining an UX similar to this.
fn update_players(
  update_packet: ListOfUpdate, // would probably be in an event or smth idk
  mut transforms: Query<&mut Transform, UniqueIndex<Id>>,
) {
  for update  in &update_packet {
      transforms.get_unique(update.id).unwrap().move_player(update.transform);
  }
}

From your example, it sounds like you're asking for two things here:

You want an index that returns a single entity instead of a hash set, since you know your components are unique.
You want to be able to look up the id and get the components in a single step instead of asking the index for the Entity and passing that to a Query.

Is that accurate?

That is indeed accurate. This would also be more performant than looping both query and the list of items to update. Generally I do this today by having some systems update a resource (intmap or btreemap usually), which keeps the component value as the key, and the entity as the value.
then I go the way of ```
let entity = resource.get(id);
components.get(entity);
in each system that works this way, I usually go with "nohash_hasher" IntMaps, or BTreeMaps as the depending on the nature of the unique id, or if i need them sorted sometimes since BTreeMap is ordered.

It seems this crate is trying to make things like this more ergonomic, so i thought maybe this would be a good crate for this.


Docs incorrect

In the docs you list that emptyUserAgentDeviceType defaults to phone and unknownUserAgentDeviceType defaults to desktop but looking at your code I see the opposite.
Not sure if you're ever going to work on this code again, but in case someone else wants to use it and gets into the same issue I had

You're right. Going to fix this


Make driver deadband less "trivial"

Make a new class to do driver deadband. Right now we have a very "trivial" implementation which has code that looks like this:
        if(Math.abs(curFwdRevCmd) < 0.1){
            curFwdRevCmd = 0;
        }

The deadband here is 0.1. This has an input-output relationship that has "jumps" as soon as we get outside the deadzone. We want to eliminate those jumps by changing the "slope" of the input-output relatinoship to account for the deadband. In pictures:

Addionally - while today's deadband is hardcoded to 0.1, we should make this adjustable, as it will depend on driver preference and joysticks

Eureka! The hard work has already been done! Use this: https://first.wpi.edu/wpilib/allwpilib/docs/release/java/edu/wpi/first/math/MathUtil.html#applyDeadband(double,double)


build:  Disable publish to all but (JVM, Android, KMP)

Overview
Only allow the publishing for:

JVM
Android
KMP

Only for these modules:

Apollo

Fixes #
Checklist
My PR contains...

[x] No code changes (changes to documentation, CI, metadata, etc.)
[ ] Bug fixes (non-breaking change which fixes an issue)
[ ] Improvements (misc. changes to existing features)
[ ] Features (non-breaking change which adds functionality)

My changes...

[ ] are breaking changes
[x] are not breaking changes
[ ] If yes to above: I have updated the documentation accordingly

Documentation

[x] My changes do not require a change to the project documentation
[ ] My changes require a change to the project documentation
[ ] If yes to above: I have updated the documentation accordingly

Tests

[ ] My changes can not or do not need to be tested
[x] My changes can and should be tested by unit and/or integration tests
[ ] If yes to above: I have added tests to cover my changes
[ ] If yes to above: I have taken care to cover edge cases in my tests

Code Coverage

Total Project Coverage
91.66%
:white_check_mark:


False positive type mapping mismatch: database can contain [json] but property expects [some covariant type]

So with #195 I'm now getting:

Property Entity\A::$field type mapping mismatch: database can contain array|bool|float|int|JsonSerializable|stdClass|string|null but property expects array|null.

for
/**
 * @ORM\Column(type="json", nullable=true)
 *
 * @var array<mixed>|null
 */
private array|null $field = null;

I don't see what causes the problem yet. I also failed to reproduce it in tests here.

This is actually expected. You correctly updated the definition - the database can contain all of these types when the JSON value is decoded to PHP value.

Oh daym! Thx.

Maybe we find the new change more annoying in practice and will decide to revert it. Let's wait for other reports.

You should probably use json_array instead.

That one is deprecated in favour of json IIRC. I'll adjust my private read/write methods for the json type fields.

Hello, I am struggling to fix the same error in my code:
class User implements UserInterface, PasswordAuthenticatedUserInterface
{
    /**
     * @ORM\Column(type="json")
     */
    private array $roles = [];

    /**
     * @see UserInterface
     */
    public function getRoles(): array
    {
        $roles = $this->roles;
        // guarantee every user at least has ROLE_USER
        $roles[] = 'ROLE_USER';

        return array_unique($roles);
    }

    public function setRoles(array $roles): void
    {
        $this->roles = $roles;
    }
}

When I add the @var array|bool|float|int|JsonSerializable|stdClass|string|null I get the following errors:
PHPDoc tag @var for property App\Entity\User::$roles with type
         array|bool|float|int|JsonSerializable|stdClass|string|null is not subtype of native type
         array.
  36     Property App\Entity\User::$roles type has no value type specified in iterable type array.
         💡 See: https://phpstan.org/blog/solving-phpstan-no-value-type-specified-in-iterable-type
  36     Property App\Entity\User::$roles type mapping mismatch: database can contain
         array|bool|float|int|JsonSerializable|stdClass|string|null but property expects array.

I don't see how to fix this :/

Is there a way to explicitly handle only arrays without disabling the rule?

I'm reverting the change, it proved to be too cumbersome without benefits. So next release of phpstan-doctrine will not report these errors, thanks.

Alright, I did something that makes the false-positives go away why still disallowing something that cannot be decoded as JSON: https://github.com/phpstan/phpstan-doctrine/commit/062fc75df9a393dc38a9722e0e8ab7036f5429ae

Thank you @ondrejmirtes it works! :)


Summary: Update deps, implement missing method, fix breaking tests

Changesets:

kine is using the latest v0.11.2; which has nats-embedded; possible better standalone option
Implement the new CurrentRevision in kine
Fix Watch method to match latest interface, fix tests
Unit tests passed

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Michael Leow seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Update image.ts

add top :0

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15268/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15268/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15268/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15268/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15268/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15268/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15268/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15268/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15268/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15268/merge/testResults/webgpuplaywright/index.html


fix(modules): Separate AngularFire services into modules

Modularizes internal shenanigans

Coverage decreased (-4.4%) to 90.0% when pulling 0cd6413774603c5cf9565aeab6aa5155a3ef025f on modulefire into 8a32f0cf65eb7f81511ce937329b3e80ea89db07 on master.

Coverage decreased (-4.4%) to 90.0% when pulling d399c054dca75a5c3af26bb83aa1ee120b17e9f3 on modulefire into 8a32f0cf65eb7f81511ce937329b3e80ea89db07 on master.

LGTM!

:goat:


Nightcode fails to run on OSX

I just installed Nightcode, but failed to get it to run. Here is the error message when calling Nightcode from the Terminal:
$ open -a Nightcode.app
LSOpenURLsWithRole() failed for the application /Applications/Nightcode.app with error -10810.

Nightcode Version
2.1.6 (as linked on the website)
OS Version
OS X 10.11.6 El Capitan
Java Version
$ java -version
java version "1.8.0_101"

$ javac -version
javac 1.8.0_101

Possibly Related
Stack Overflow: Opening .app on Mac OS X 10.8.5 results in error -10658

The jar version works flawlessly.

Not sure how to address this because I can't reproduce it. Your java version shouldn't matter since the app contains its own copy of the JRE. If anyone else has this issue please let me know here.

On Sierra, I cannot reproduce this either. Double clicking on the .app file or trying to see if any of those links ideas can help:

http://apple.stackexchange.com/questions/224003/lsopenurlswithrole-failed-for-the-application-applications-darktable-app-with
http://alvinalexander.com/scala/lsopenurlswithrole-failed-with-error-solution-mac-osx
http://apple.stackexchange.com/questions/181026/lsopenurlswithrole-failed-with-error-10810-cant-open-install-os-x-yosemite

Inspired by the first link, I ran opensnoop, but to be honest I am quite unfamiliar with dtrace especially concerning on OSX a combination Google doesn't know all about.
  UID  PID   COMM          FD PATH
  501  23747 Nightcode      3 /dev/dtracehelper
  501  23747 Nightcode      3 /Applications/Nightcode.app
  501  23747 Nightcode      3 /Applications/Nightcode.app/Contents
  501  23747 Nightcode      3 /Applications/Nightcode.app/Contents/Info.plist
  501  23747 Nightcode      3 /Applications/Nightcode.app/Contents/MacOS/Nightcode
  501  23747 Nightcode     -1 /usr/share/locale/en_US.utf8/LC_COLLATE
  501  23747 Nightcode      3 /Applications/Nightcode.app/Contents/MacOS/libpackager.dylib
  501  23747 Nightcode     -1 /etc/.mdns_debug
  501  23747 Nightcode      3 /etc/localtime

Not quite sure why there attempts to access files that don't exist. /etc/.mdns_debug seems especially weird. That said, lots of apps come with frameworks/libraries that try to load stuff, but fail gracefully.
I also got lots of lines like the following, but to be honest I don't know how to interpret it. Are OSX's dtrace scripts fragile?
dtrace: error on enabled probe ID 5 (ID 152: syscall::open:return): invalid user access in action #11 at DIF offset 24
dtrace: error on enabled probe ID 6 (ID 938: syscall::open_nocancel:return): invalid user access in action #11 at DIF offset 24

The second link mentioned missing jars and suggested looking at /var/log/system.log:
Nov 16 05:41:18 foggy Nightcode[23903]: Failed to find library:
Nov 16 05:41:18 foggy Nightcode[23903]: .:Failed to launch JVM
Nov 16 05:41:18 foggy com.apple.xpc.launchd[1] (com.apple.xpc.launchd.oneshot.0x10000017.Nightcode[23903]): Service exited with abnormal code: 1

I doubt it's a missing jar issue, because they are all specified in the project - I can build a functioning ueberjar without issues. Maybe it's the bundled JRE?
About the third link: I tried chmod +x and reinstalled from a freshly downloaded .dmg just, but no changes.

Unless someone looks at this and immediately knows what's up, we better stop here. Going down this rabbit hole eats too much time. I am happy running from the jar for now.
It's so unfortunate that computers are not handling state from the ground up in a Clojure or even Erlang fashion. 😢

The latest release bundles a newer version of the JVM so it may be worth trying again. I'll close for now, let me know if you think this may still be a bug on my end.

Same bug on El Capitan with v2.2.2

Gotcha, I'll re-open this then.

Info.plist references the plugins directory as 'plugins' -- all lower case. The actual directory is called 'PlugIns'. If you have a case sensitive file system, try creating a symlink from plugins to PlugIns. This solved the issue for me.
$APPDIR/plugins/Java

@allllan looks like you found the issue! That file is created by the javapackager tool, so I suppose that is the source of the bug.

I released 2.4.0 with JRE 9, and it looks like the Info.plist doesn't even mention plugins, so I am guessing it now works on case-sensitive file systems.


Adding Support for OCP4 and Maistra

On Istio 1.1 and OCP4, it is possible to the sidecar automatically via annotation on deployment files sidecar.istio.io/inject: "true".

Maistra Operator with Istio 1.1 (automatically install istio and control updates with CR modifications).

Added Kiali Traffic Generator for automatic traffic generator on Customer

Removed the Unknown problem on Kiali by removing Prometheus Scrape on istio-tutorial-ocp4 files.
(needs to be done on other files).

cc @rafabene

Why is there a specific deployment file for ocp4? Can't it be reused from the kubernetes folder?

Why Prometheys scrape was removed? How to get the application metrics?

Hi Rafael,
In regards to Prometheus, Istio has its own built in version of Prometheus. You can add the OpenShift one as well, but the problem is that it will show up as an unknown destination on Kiali.
Looking at the deployments, I don't see anything specific towards OCP4, so I'd expect that you can use these for Kubernetes as well.
Brian

So shouldn't we remove those deployment files? Although we have support for auto-injection, we like to show how manually inject the sidecar container.
Regarding to Prometheus, what is the recommended approach to collect the application metrics?

@rafabene
I just didn't want to mess up with existing ones.
I have added Red Hat Istio Tutorial for a Kiali Test Mesh Operator (it is tailored for Openshift4). I don't know if we can cross reference somehow or I can move these changes to existing files on the kubernetes folder.
Either way is good for me.
Are the application metrics so different from the container metrics on this context? Because on OCP4 you have metrics.
eg:

I know that Quarkus is "smaller, incredibly faster"  👍
maybe we can add another preference - without the istio sidecar to show the memory difference?
Best Regards,
Guilherme Baufaker Rêgo

I prefer to move the "changes" to the existing files (except the auto-injection). However, can you clarify what are those changes?

@Guilherme Baufaker Rego<EMAIL_ADDRESS>Let's discuss this via
BlueJeans?
On Tue, Jun 11, 2019 at 1:49 PM Guilherme Baufaker Rêgo <
<EMAIL_ADDRESS>wrote:

@rafabene https://github.com/rafabene
I just didn't want to mess up with existing ones.
I have added Red Hat Istio Tutorial for a Kiali Test Mesh Operator
https://github.com/kiali/kiali-test-mesh#red-hat-istio-tutorial (it is
tailored for Openshift4). I don't know if we can cross reference somehow or
I can move these changes to existing files on the kubernetes folder.
Either way is good for me.
Are the application metrics so different from the container metrics on
this context? Because on OCP4 you have metrics.
eg:
[image: Captura de Tela 2019-06-11 às 18 42 46]
https://user-images.githubusercontent.com/2313749/59290651-5797ac00-8c79-11e9-9756-f1087d56e553.png
I know that Quarkus is "smaller, incredibly faster" 👍
maybe we can add another preference - without the istio sidecar to show
the memory difference?
Best Regards,
Guilherme Baufaker Rêgo
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/redhat-developer-demos/istio-tutorial/pull/219?email_source=notifications&email_token=AAAHLM4THOF4YSH3LYABEADPZ7JSDA5CNFSM4HKW4EFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXNZDFY#issuecomment-500928919,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAHLMYQYYZXK6QJZ37ZNG3PZ7JSDANCNFSM4HKW4EFA
.

--
Rafael Benevides | Senior Product Manager
Director of Developer Experience
Follow me at Twitter: @rafabene https://twitter.com/rafabene
M: +1-407-401-3555
Register today at https://developers.redhat.com/

@rafabene  https://gist.github.com/brian-avery/6d655f99589eb0abb648f622635d8103
The differences here are:

images are precompiled so that the user can focus on the demo rather than figuring out to get an application compiled and accessible
prometheus ports are removed from annotations so that they don't show up as unknown destinations in Kiali. Envoy picks up metrics and sends them to the Istio built in Prometheus automatically. Custom metrics can also be added via the documentation here: https://istio.io/docs/tasks/telemetry/metrics/collecting-metrics/
An Istio gateway was added. Previously the docs were written around not using gateways, but avoiding them is an anitpattern in Istio and causes a lot of issues.
Not sure what the advantage of the change in initialDelaySeconds is. Perhaps it gets rid of the unknown source in Kiali from the readiness probe.

I've updated the tutorial to use pre-compiled images at quay.io. Can you update the PR to remove the yaml files for the microservices, please?

Sure.
I'll do it

We opted for maintaining the tutorial plain to Kubernetes (work in progress) and upstream Istio. So features that imply OCP or Maistra is for now discarded as they do not work in Minikube.


Adds the ability to generate a project using ES2015 template

Hi guys,
I added ES2015 support to the generator exactly as discussed in this issue
The generator detects whether it is running on a Node version that supports ES2015, and if it does, it will generate a project using the ES2015 templates. Otherwise, it will generate a project using the good old ES5 templates.
I also added two additional flags: --es5 and --es2015 - using one of them will force the generator to use one of these templates, regardless of the Node version.
The ES2015 support detection is provided using feature-detect-es6. I tested it a lot and it works flawlessly.
I tested it using the following Node versions, and it works as expected:

v0.10.48
v4.8.4
v6.11.4
v8.6.0

Please let me know if you want any changes, or if you have any feature suggestions or anything like that.

Looks like AppVeyor fails because of the changes I've made in README.md. That's weird. :/

This is awesome, thank you! I would really love to get it included in the 4.16 release I was working on before you made your PR, but I haven't released yet. I changed the PR to base on the 4.16 branch, but it looks like there are conflicts it would be great if you could help resolve.
Also, can you add tests for the new command line switches?

Sure

I'm closing this PR, since I created new one with the changes you requested.
Please refer to the new PR


Compiler bug

Hi, I think I found a compiler bug.  I think I've stripped down the code as much as I can (to the point where it doesn't make any sense :-), but let me know if you have any questions.
The first few error lines:
Bug: trying to downcast (Array(Int32) | Set(Int32)) <- Set(Int32) [4523484171] *raise<String>:NoReturn +139 [4527082713] *Crystal::CodeGenVisitor#downcast<Crystal::CodeGenVisitor, LLVM::Value, Crystal::Type+, Crystal::Type+, Bool>:LLVM::Value +3081
The code is below.
NUMBERS = (1..10).to_a
pair_combos = Set(Set(Int32)).new
NUMBERS.each_combination(2) { |pair| pair_combos.add(Set.new(pair)) }
triple_combos = Set(Set(Int32)).new
NUMBERS.each_combination(3) { |triple| triple_combos.add(Set.new(triple)) }

pair_combos.each do |pair|
  triple_combos.each do |triple|
    combo = pair.to_a + triple.to_a
    combo.each_combination(2) do |pair|
      break if true
    end
  end
end

@dkhofer I fixed your indentation. Did you know you can do crystal tool format to indent it for you?
Also, you can surround  the code with "crystal" (newline) and "" (newline) to get syntax highlighting.
I'll investigate

Thanks!  The code is formatted just fine on my laptop, I just didn't know how to paste it in to github and maintain the spacing.  :-)

Reduced:
def foo
  yield 1
end

x = true
foo do
  pp typeof(x)
  foo do |x|
    pp typeof(x)
    break
  end
end

Seems the compiler gets confused with the block argument being named the same as the local variable. It also happens with multiple block variables.
Workaround for you now, until I fix this: use another name for the block argument variable (pair, pair2 will work).
Thanks for reporting this! :-)

Oh jeez, I'm a little embarrassed that was the cause.  Well anyway, I had to rewrite the code for other reasons, so I'm all set, thanks!


RFC: Reformat FS subsystem to 100 characters per line

The PR re-formats VFS, FATFS and LittleFS driver to 100 characters per line to unify usage of the line length across sources, allowing to concatenate some of the source lines and improve code readability; the change also removes doubt whether using 100 characters would break source style.

@carles @nvlsianpu What do you think about such move? I have decided to propose the change because often people are reluctant to use 100 characters per line, in existing code, to avoid breaking style of the file. The change removes such doubt out of equation.

I'm ok with longer line lengths

I'm ok with longer line lengths

I know, everyone seems to be. I was rather asking what do you think of rewriting these files for that reason. You know, it might be considered pointless move by some.

IMO 100 characters per line is not a good idea, it would be better to reduce from 80 to 70 characters per line. Why is this ? Simple, most code will be studied and reviewed in a files changed view as part of a PR. In a split view 70 characters can be viewed next to each other without any word wrapping. Of course we could state that you need to look at the code in a unified view, this removes any advantages of the split view.
Take a look at the present PR, how much is disturbed by the word wrapping by github ?

I see no problem with having any new patch aligned to 100 character in file which is legacy aligned to 80 character.
I think rewriting code from 80 to 100 as a task is wasting of time, but you already did it. I Can accept that.
100 characters lines are allowed in zephyr-code since a while
As @Laczen mention some of use prefer to look at changes in split view. In that case longer lines are problematic especially if view is narrowed  somewhy.


expliot: don't run tests of cmd2 override

Description of changes
Fix build (https://hydra.nixos.org/build/186668401)

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 185730 run on x86_64-linux 1

1 package built:

expliot


[macOS] Use json to parse libraries version

Description
Brew outputs json as well so we can use jq rather than rely on our cut supply helper.
Related issue:
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run macos-10.15, macos-11, macos-12


conf: do not modify global runtimeconfig when merging

When we call mergeRuntimeConfig, the global RuntimeConfig gets
overwritten with the result of the merging, thus affecting the
subsequent delegates.
Do not modify the global RuntimeConfig and instead make a copy
when merging it
Also, if a value has been provided for CNIDeviceInfoFile in the
delegate's runtimeconfig, overwrite it to avoid possible name
colissions.
Signed-off-by: Adrian Moreno<EMAIL_ADDRESS>Signed-off-by: Billy McFall<EMAIL_ADDRESS>

@Billy99 PTAL

Pull Request Test Coverage Report for Build 552156930

15 of 24 (62.5%)  changed or added relevant lines in 1 file are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.1%) to 70.694%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/types/conf.go
15
24
62.5%

Files with Coverage Reduction
New Missed Lines
%

pkg/types/conf.go
1
75.0%

pkg/multus/multus.go
4
68.4%

Totals

Change from base Build 521026319:
-0.1%

Covered Lines:
1141

Relevant Lines:
1614

💛  - Coveralls

Thank you so much for the PR! I understand that we need the change.
BTW, could you please add unit-test in pkg/types/conf_test.go as well, to verify that mergeCNIRuntimeConfig does not overwrite runtimeConfig?

@s1061123 Please check out the extra check in the unit-test.


[don't-merge] Correct version in alert plugin and metadata

This patch correct the version for alert plugin notice
and metadata version availability

Do not merge until #706 is merged

This PR is ready to go new


Add ability to encode ProjectSpec to JSON

I first tried to implement spec generation, but as you mentioned, I needed to be able to serialize ProjectSpec. https://github.com/yonaskolb/XcodeGen/issues/9#issuecomment-368647138
I defined JSONDictionaryEncodable protocol like JSONObjectConvertible of JSONUtilities, and implemented it in ProjectSpec and related classes. I did not use Codable because some classes do not have a simple correspondence with the JSON structure.
I wrote a test that encodes ProjectSpec into JSON and decodes back and to test if they are equal. However, it may not be perfect because the tests do not cover all patterns and implementations are written by a lot of manual work.
fixes #123

@yonaskolb Thank you for your reviewing! I fixed them up. As you said, It would be nice to add the process of removing nil and empty arrays / dictionaries in the process of generating JSON for human reading.

@yonaskolb Thank you for your review! I rebased it and fix conflicts, added changelog.

Thanks @ryohey! Not sure how you want to follow this PR up and how it will be used (you mentioned project migration), but I think it would be useful having a parameter like Project.toDictionary(style: ProjectEncodingStyle) that does the empty array and dictionary removal
enum ProjectEncodingStyle {
  /// removes empty dictionaries and arrays
  case minimal
  case full
}

Feel free to do that here or in another PR. Perhaps would be better here

@yonaskolb Thanks! I received a pull-request from @AndreiVidrasco that adds feature to filter out empty values from dictionary. and we talked about this pr #545. So I merge this pr this time.
@AndreiVidrasco I would like you to make a pull-request that reflects this conversation https://github.com/yonaskolb/XcodeGen/pull/545#issuecomment-485240367


Docstrings and Documents

Descrx
Formalize docstring and support documentation format
Procedure

Find existing docstring standard compatible w/ cargo doc
Implement standard
Test HTML rendering
Find viable support document handling procedures
Embed links to source documents with code

AC
All software modules updated with descriptions and relevant source material

Consider documenting general repo architecture in README.md


✨ [REQUEST] Update Guacamole Client addon to Guacamole 1.5.5

Checked

[X] If a new addon, I have checked on  Google that such as addon doesn't already exists
[X] If a new feature, I have searched in the discussions & issues that it was not already covered

Which addon?
Guacamole Client
Is your feature request related to a problem? Please describe
Describe the solution you'd like
Update Guacamole Client addon to Guacamole 1.5.5, base image already updated:
2024-04-09 - Updated to Guacamole 1.5.5

I second this request, would be very much appreciated. Happy to help with testing if needed.

Hi, in theory auto updates are on Saturday ; it seems it didn't trigger I'll push it manually

Thanks, tested and works! I have a very simple setup with only one RDP connection though.

Thanks very much! Always my worry ;) there was a nightmare update with Mealie recently and I'm glad here it worked seamlessly!


Pre-emptive Auth with IT

https://jira.duraspace.org/browse/FCREPO-1761

It's nice to see that you're using vim, but please remove the src/main/java/org/fcrepo/client/.FcrepoHttpClientBuilder.java.swp file from this PR.

Working on merging the latest changes from master to resolve the conflict.

I had to add the joda-time dependency as ConnectionManagementTest was failing with NoSuchMethod even in the master branch.

@mohideen, if this is ready for re-review, please move the JIRA ticket to "Start Review":
https://jira.duraspace.org/browse/FCREPO-1761

Superseded by #9


Add: KissFFT

Hi Gilles,
I really like your library and FFT benchmark.
You miss one or two that I've used in the past
I mean KissFFT
https://github.com/itdaniher/kissfft
I am going to fork repo and get back with PR introducing KissFFT to your library.

Hey Pawel, happy to read you! It's been a while :)
I've voluntarily "missed" a lot of implementations because I don't want to overload FFTScarf with the billions FFT implementions we can find on the web.
Though if you think KissFFT has been or is used a lot, I'm happy to pull it.
Cheers,

:) yes, it's been a lot:)
Yes, more than those two would be a crowd.
KissFFT was in the past the only available fully open library and simple to put into e.g. embedded program.
I'll be back in day or two.


Supporting Cosine Learning Rate

Not sure whether you will support cosine learning rate?

This issue can be closed since the cosine lr schedule is implemented in the PR.


add pmd

For this check I'm adding PMD as a response indicating PD.  This indicates progressive metabolic disease, a response evaluated by PET-CT.

Things I didn't do:

Reference to this update and link to this PR in NEWS.md

Would have to rebase, will do in a separate PR

Should TUMETHOD be considered for a PMD response? What about a qualifier for PMD when RSCAT (if populated) does not include the string "RECIST 1.1"?
Is there any need to include RSCAT/RSSCAT as a returned variable?

I dont think these are necessary


Staking doc does not link to how to start a node

https://docs.nearprotocol.com/docs/validator/staking

A few additional tweak requests:
the line that says "stake for user ... with key" has old key format. It's better to update it so that key format matches to latest (e.g. ed25519:97JLghrxUQMaX2pcerVB5FNFu4qk8rx8J3fnWRyoEB7M)


Leds blinking on Kodi playback paused (OSMC / Vero4K+)

Hi everybody,
when pausing video playback within Kodi the LEDs and HUEs keep toggleing on and off (about every 3-5 seconds).
There is nothing in the log (using -v verbose output). Is there any setting that might cause this?
Is anybody else seeing this?
best regards
Anthrax

I think, I have almost the same problem like you on my raspberry 3B with DietPi (6.26).
When adjusting the volume or pausing while video playback in kodi, the screen as well as the lights are going on and off. Classic hyperion, which I used before, works without any problems.
Logs:
Okt 19 19:12:31 RPi hyperiond[1607]: [hyperiond V4L2:/dev/video0]  Signal lost
Okt 19 19:12:31 RPi hyperiond[1607]: [hyperiond V4L2:/dev/video0]  Signal detected
Okt 19 19:12:36 RPi hyperiond[1607]: [hyperiond V4L2:/dev/video0]  Signal lost
Okt 19 19:12:38 RPi hyperiond[1607]: [hyperiond V4L2:/dev/video0]  Signal detected
Okt 19 19:12:44 RPi hyperiond[1607]: [hyperiond V4L2:/dev/video0]  Signal lost

Might the grabber fail to read from stream/framebuffer because its not changing anymore or seams ended? And then retrys and fails again in a loop until the video is unpaused and therefore the stream is continued?
As you may gathered from my humble trying above - it's been a long long time since I coded myself ;-)
Anyways best regards,
Anthrax
PS: this thing is AWESOME an continues to improve... looking forward for the .ng final.

I will close this, if the problem occures, just reopen it.

@tpmodding I have the same issue with a new Vero 4K+ and the alpha.9 release (built from source).
I am using the AMLogic grabber.
When i pause playback in Kodi (and only then), my lights switch on an off in a ~10s interval (5s on, 5s off).
Under Remote Control -> Source Selection, i can see the "System: Platform Capture: (AmLogic)" source disappear and reappear (5s gone, 5s showing).
The slider under the "Component Control" stays enabled, same for the status on the dashboard.

@tpmodding I have the same issue with a new Vero 4K+ and the alpha.9 release (built from source).
I am using the AMLogic grabber.
When i pause playback in Kodi (and only then), my lights switch on an off in a ~10s interval (5s on, 5s off).
Under Remote Control -> Source Selection, i can see the "System: Platform Capture: (AmLogic)" source disappear and reappear (5s gone, 5s showing).
The slider under the "Component Control" stays enabled, same for the status on the dashboard.


KV auth models

closes #3349

@eden-ohana thanks for the models. Need to remember the global IAM implementation currently is based on the current auth service and this PR changes the service. Have a BaseUser (or any Base) is confusing - even in the same interface, there are versions which return base and accept non-base. It is common to use the same model and specify that in this case the identification is not use or not set if you wish to. But I'll like to know the rational of having this change - the auth models were supposed to address the storage system (internal), so I didn't expect to see any change from the external one.

The global IAM implementation is unchanged. Notice that the external auth API doesn't implement the auth.Service API that was changed, the APIAuthService who calls that external service implements it. So changes were made to that code to supports the new models, but changes to the external service are unnecessary at this point.
I can expand on the rational for having 3 types instead of the single type we have today. Up until now, we had a single model with an int as the ID that was created by postgres. Moving away from postgres and not having a way to create serial IDs, we decided on a random string for ID. So we need at least 2 models for each type, based on the ID type. To reduce code duplication I extracted all the common properties to a Base* struct and embedded it in the appropriate types. That's why we have 3. This is all temporary, once postgres is history we can return to a single type. The idea of passing the Base* models in the API is to make it clearer that the ID is created in the service, I think it's clearer that way but I can change that too.

@eden-ohana thanks for the models. Need to remember the global IAM implementation currently is based on the current auth service and this PR changes the service. Have a BaseUser (or any Base) is confusing - even in the same interface, there are versions which return base and accept non-base. It is common to use the same model and specify that in this case the identification is not use or not set if you wish to. But I'll like to know the rational of having this change - the auth models were supposed to address the storage system (internal), so I didn't expect to see any change from the external one.

The global IAM implementation is unchanged. Notice that the external auth API doesn't implement the auth.Service API that was changed, the APIAuthService who calls that external service implements it. So changes were made to that code to supports the new models, but changes to the external service are unnecessary at this point. I can expand on the rational for having 3 types instead of the single type we have today. Up until now, we had a single model with an int as the ID that was created by postgres. Moving away from postgres and not having a way to create serial IDs, we decided on a random string for ID. So we need at least 2 models for each type, based on the ID type. To reduce code duplication I extracted all the common properties to a Base* struct and embedded it in the appropriate types. That's why we have 3. This is all temporary, once postgres is history we can return to a single type. The idea of passing the Base* models in the API is to make it clearer that the ID is created in the service, I think it's clearer that way but I can change that too.

Thanks @itaiad200 for clarifying it to me.


Update portability-analyzer.md

Summary
Updated .NET portability analyzer doc to clarify some concepts, add more explanation (especially for how to interpret the report), and fixed some links.
Fixes #12985

Updated portability report images to replace previously out of date image. Also changed "New target" section to "Common target" and added more guidance about when to use which target. @mairaw and @marklio can you help to do the final review before merge?

@mairaw Thanks for all the feedbacks. Have the updates addressed all your concerns?

@Lxiamail Hi! Maira is on vacation. I left some feedback about issues I noticed.

@Thraka Do you have any other concern?

@Lxiamail the screenshots needed a gray border so the white areas don't blend in. I added that to each screenshot and committed that for you 😄
I'm going to merge it. Awesome job!


Morpho Aave V2 - MAINNET

Review Info

Description
Info

Subgraph Reviewed
https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/id/QmVCPdUKWrVvBFQ7wSwLNuVJ65SvfrWYHWAbkhc92D1Zno&tab=protocol

Schema Version
3.0.1

Subgraph Version
1.0.0

Methodology Version
1.0.0

Evidence Spreadsheet
https://docs.google.com/spreadsheets/d/1xD8ErqO8_gFnqA7y1Urg8y1tMNCw3N_P/edit?usp=sharing&ouid=104027705798814439445&rtpof=true&sd=true

Metric to Review
Revenue

Based on our calculations using data from the official website, the implied protocol side revenue is not zero. In fact, it should be around $4.3k based on the latest data.
There is a significant difference between the daily total revenue and the implied revenue, with a discrepancy of 452.99%.
For more detailed information, please refer to the "Support-Revenue" sheet.

As of May 10, 2023

Subgraph - Supply Side Revenue
Official Website - Supply Side Revenue
Absolute difference
Difference %

164,734.54
25,474.85
139,259.69
546.66%

Subgraph - Protocol Side Revenue
Official Website - Supply Side Revenue
Absolute difference
Difference %

0.00
4,315.11
-4,315.11
-100.00%

Subgraph - Daily Total Revenue
Official Website - Supply Side Revenue
Absolute difference
Difference %

164,734.54
29,789.96
134,944.59
452.99%

Refer to the sheet 'Protocol'

Please refer to the attached worksheet for more details.

@harsh9200 This is looking good! Just one thing:

stETH pool looks like it has about 10M off in TVL. Not the biggest deal and could be due to pricing, but there is this one spike that looks diff than the morpho UI that is somewhat suspect.


RPM dependency issue with latest agent v9.3.0

Agent Version
f5-openstack-agent-9.3.0-1.el7.noarch.rpm
Operating System
RHEL 7.3
OpenStack Release
RHEL OSP v9 (mitaka)
Description
SDK RPM fails to install due to dependency issue.
[root@isft502 9.3.0]# rpm -qa | grep six
python-six-1.9.0-2.el7.noarch
[root@isft502 9.3.0]# rpm -ivh f5-icontrol-rest-1.3.0-1.el7.noarch.rpm
Preparing...                          ################################# [100%]
package f5-icontrol-rest-1.3.0-1.noarch is already installed
[root@isft502 9.3.0]# rpm -ivh f5-sdk-2.3.1-1.el7.noarch.rpm
error: Failed dependencies:
f5-icontrol-rest<2.0.0 is needed by f5-sdk-2.3.1-1.noarch
f5-icontrol-rest>=1.3.0 is needed by f5-sdk-2.3.1-1.noarch
six<2.0.0 is needed by f5-sdk-2.3.1-1.noarch
six>=1.9.0 is needed by f5-sdk-2.3.1-1.noarch
Please fix RPM issue.  Thanks!

The "latest" documentation link references a version of the SDK rpm (v2.3.1) which is broken.
Using the "9.3.0" doc link references v2.2.2 of the SDK rpm which installs fine.
You may want to correct your documentation links.

@dciancio: we are producing a new f5-sdk package that you will be able to use. Stay tuned. Thanks very much.

@dciancio: If you need to get up and running right away, you can add the --nodeps option.  We see that you have the dependencies, as long as you still have python-six >= 1.9.0; <2.0.0 and the f5-icontrol-rest library still installed.
[root@5706a21df984 build]# rpm -i ./f5-sdk-2.2.2-1.el7.noarch.rpm
error: Failed dependencies:
	f5-icontrol-rest<2.0.0 is needed by f5-sdk-2.2.2-1.noarch
	f5-icontrol-rest>=1.3.0 is needed by f5-sdk-2.2.2-1.noarch
	python-six>=1.9.0 is needed by f5-sdk-2.2.2-1.noarch
	pytohn-six<2.0.0 is needed by f5-sdk-2.2.2-1.noarch
[root@5706a21df984 build]# ls
f5-sdk-2.2.2-1.el7.noarch.rpm
[root@5706a21df984 build]# rpm -i --nodeps ./f5-sdk-2.2.2-1.el7.noarch.rpm
[root@5706a21df984 build]#

As far as the issue, we do have automated tests that attempt to install the newly generated RPM in a docker instance that is running CentOS 7 natively (similar to the docker file that generates it).  This Docker file has the following settings:
# Dockerfile
FROM centos:7

RUN yum update -y && yum install git python-requests -y
RUN yum install -y python-six

COPY ./fetch_and_install_deps.py /

# ENTRYPOINT ["python", "-m", "pdb", "/fetch_and_install_deps.py", "/var/wdir"]
ENTRYPOINT ["python", "/fetch_and_install_deps.py", "/var/wdir"]
# by default, the following will be used for the last arg:
CMD ["/var/wdir/f5-sdk-dist/rpms/build/f5-sdk-*.el7.noarch.rpm"]

Just for your reference.  The script there finds the dependencies and installs them, then attempts the install on the RPM as a test.  Upon failure, it should stop our travis build as a failure.  That's the expectation, so now I'm trying to find out why that's not working.

So the RCA is in 2 parts:

The call to rpm -i <package> in the aforementioned script does not raise on a non-zero exit status

This would cause it to fail in Travis appropriately

The Requires: format that the RPM's spec file is expecting a different format

The format that exists is 'package>=version', but it should be 'package >= version, ' with the ', ' delimitation between requirements instead of just a space

As such, I've got a fix that I'm about to push up that will resolve this in the F5-SDK.

We need a new SDK release to fix and close this bug.

This was fixed with the release of 2.3.2 in the sdk and with the closure of this sdk issue:
https://github.com/F5Networks/f5-common-python/issues/1116

Closing because bug was fixed with release of sdk.
From @pjbreaux : I don’t know if this was referenced in any PR. So we can just close it outright since the releases are out the door. Let me know if that sounds good to you.


cannot use JSON.stringify inside DetectRTC load function ?

Hello,
For some reason I cannot use JSON.stringify inside the DetectRTC load function
I get a Uncaught TypeError: Illegal invocation error
connection.DetectRTC.load(function() {
console.log(JSON.stringify(connection.DetectRTC.videoInputDevices));
});
``
Any idea ? Thanks`

toJSON function seems causing the issue. Please try this instead:

Thank you very much! That works perfectly.


IllegalArgumentException reading Cache Entry

We see infrequent crashes (only reports for a fraction of users, could not reproduce locally) that seem to happen when okhttp loads a cached response:
Fatal Exception: java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no colon was found
       at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1325)
       at okhttp3.HttpUrl.get(HttpUrl.java:916)
       at okhttp3.Request$Builder.url(Request.java:165)
       at okhttp3.Cache$Entry.response(Cache.java:702)
       at okhttp3.Cache.get(Cache.java:211)
       at okhttp3.Cache$1.get(Cache.java:145)
       at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:54)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at // some Interceptor that simply adds a "User-Agent" header
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
       at okhttp3.RealCall$AsyncCall.execute(RealCall.java:147)
       at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
       at java.lang.Thread.run(Thread.java:764)

While reading the changelog I noticed:

Fix: Don't corrupt the response cache when a 304 (Not Modified) response overrides the stored "Content-Encoding" header.

could this be related to a corrupted cache? If yes do we need to wipe the cache or will that recover by itself?

OkHttp version is 3.11.0 and platform is Android

I'm also seeing this happen fairly frequently. We tried catching the IllegalArgumentException and logging it to Crashlytics as a non-fatal exception with the URL and there's nothing wrong with the URL formatting.
We're also using 3.11.0 as well:
    api 'com.squareup.okhttp3:okhttp:3.11.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'

Non-fatal Exception: java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no colon was found
       at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1325)
       at okhttp3.HttpUrl.get(HttpUrl.java:916)
       at okhttp3.Request$Builder.url(Request.java:165)
       at okhttp3.Cache.okhttp3.Cache$Entry.response(Cache.java:2702)
       at okhttp3.Cache$1.get(Cache.java:145)
       at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:54)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at // our custom interceptor
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
       at okhttp3.RealCall.execute(RealCall.java:77)
       at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
       at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:91)
...

Changelog for 3.10.0:
https://github.com/square/okhttp/blob/master/CHANGELOG.md

I also was unable to find the issue/PR that reported/fixed this problem. So I can't say what exactly was fixed and what the problem was.
My assumption is that there are corrupted entries in the cache (introduced with an earlier version of okhttp).  And that okhttp crashes while reading these corrupted entries.

Yeah, looks like a corrupt cache.

Duplicate of https://github.com/square/okhttp/issues/3251

At the moment it does not recover gracefully.

thanks for the info, is it save to just delete all files in the caching dir? Or is there some better way to un-brick affected devices?

Yeah, that’ll work. Sigh.

anyone know how to gracefully handle the corrupted cache?
should I use interceptor to try catch the chain.proceed and force it to use network when it return IllegalArgumentException?

Same error, cleaning the cache, after auth in the app. It crash on this error.

React Native 59+

We switched to a fresh caching directory for OkHttp, as suggested by @swankjesse. However this did not fix the problem for us. We still see this issue as our 3. most frequent crash. It also seem to hit users on average 2 times (affected sessions vs user ratio). So it seems to not corrupt the cache permanently.
The only thing that changed since a long time is that it today happened on my device while working on unrelated things. After the crash, the app started normally and all http/https requests were executed normally (I think it was triggering the same http requests as during the session that crashed). Interestingly, directly after the crash another log appeared (1ms after the logged exception that then killed the app):
2019-04-15 18:12:59.574 17009-17199/our.app E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
    Process: our.app, PID: 17009
    java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no colon was found
        at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1325)
        at okhttp3.HttpUrl.get(HttpUrl.java:916)
        at okhttp3.Request$Builder.url(Request.java:165)
        at okhttp3.Cache$Entry.response(Cache.java:702)
        at okhttp3.Cache.get(Cache.java:211)
        at okhttp3.Cache$1.get(Cache.java:145)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:54)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:213)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at // some Interceptor that simply adds a "User-Agent" header
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
        at okhttp3.RealCall$AsyncCall.execute(RealCall.java:147)
        at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)

2019-04-15 18:12:59.575 17009-17197/our.app E/sc: 6184 ms: Thing.that.attaches.a.rxjava.onErrorReturn.to.the.Single.from.retrofit.for.the.get.call.and.logs: error fetchSource https://some.server.tld/some/url?with=query with java.io.IOException: ID1ID2: actual 0x00000000 != expected 0x00001f8b
    java.io.IOException: ID1ID2: actual 0x00000000 != expected 0x00001f8b
        at okio.GzipSource.checkEqual(GzipSource.java:205)
        at okio.GzipSource.consumeHeader(GzipSource.java:120)
        at okio.GzipSource.read(GzipSource.java:73)
        at okio.RealBufferedSource.read(RealBufferedSource.java:47)
        at okio.ForwardingSource.read(ForwardingSource.java:35)
        at retrofit2.OkHttpCall$ExceptionCatchingRequestBody$1.read(OkHttpCall.java:290)
        at okio.RealBufferedSource.request(RealBufferedSource.java:68)
        at okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:418)
        at okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:402)
        at okhttp3.internal.Util.bomAwareCharset(Util.java:469)
        at okhttp3.ResponseBody$BomAwareReader.read(ResponseBody.java:256)
        at com.google.gson.stream.JsonReader.fillBuffer(JsonReader.java:1295)
        at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:1333)
        at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:549)
        at com.google.gson.stream.JsonReader.peek(JsonReader.java:425)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:205)
        at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:39)
        at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:27)
        at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:122)
        at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:217)
        at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:116)
        at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
        at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)

I'm not sure if the two are related or not, however being only 1ms second apart it could be a good lead.

Another, maybe relevant thing, that happened shortly before the crash are a few reports from the okhttp3.logging.HttpLoggingInterceptor.Level.BASIC about requests being canceled:
2019-04-15 18:12:59.547 17009-17199/our.app V/sc: 6156 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.549 17009-17197/our.app V/sc: 6157 ms: --> GET https://some.server.tld/some-other/a/url
2019-04-15 18:12:59.550 17009-17197/our.app V/sc: 6159 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.552 17009-17199/our.app V/sc: 6161 ms: --> GET https://some.server.tld/some-other/b/url
2019-04-15 18:12:59.554 17009-17199/our.app V/sc: 6163 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.556 17009-17195/our.app V/sc: 6165 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.557 17009-17197/our.app V/sc: 6166 ms: --> GET https://some.server.tld/some-other/c/url
2019-04-15 18:12:59.558 17009-17197/our.app V/sc: 6167 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.559 17009-17199/our.app V/sc: 6168 ms: --> GET https://some.server.tld/some-other/d/url
2019-04-15 18:12:59.560 17009-17199/our.app V/sc: 6169 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.561 17009-17195/our.app V/sc: 6170 ms: --> GET https://some.server.tld/some-other/e/url
2019-04-15 18:12:59.562 17009-17195/our.app V/sc: 6171 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.562 17009-17197/our.app V/sc: 6171 ms: --> GET https://some.server.tld/some/url?with=query          // this is the one that will be reported
2019-04-15 18:12:59.565 17009-17199/our.app V/sc: 6174 ms: --> GET https://some.server.tld/some/similar-url?with=query
2019-04-15 18:12:59.567 17009-17202/our.app V/sc: 6176 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.568 17009-17199/our.app V/sc: 6177 ms: <-- HTTP FAILED: java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no colon was found
2019-04-15 18:12:59.569 17009-17200/our.app V/sc: 6178 ms: <-- HTTP FAILED: java.io.IOException: Canceled
2019-04-15 18:12:59.569 17009-17190/our.app V/sc: 6178 ms: <-- HTTP FAILED: java.io.IOException: Canceled

I know is been almost 1 year after this crash but I',m using 3.10.0 version, did you find a way to reproduce it?
Thanks in advance


Implement uncommitted GC logic for old repositories

design #4457

@eden-ohana @N-o-Z  I think this is done?


Morgan Gadgetorium Does Not React Prior to the Start of Game

Card
Morgan Gadgetorium
Describe the bug
With Post-A-Tron in the starting posse the react should occur when inventing.
To Reproduce
Steps to reproduce the behavior:

Do action '...'
Click on '....'
Start shootout '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Duplicate of issue #947


nixos/containers: Introduce several tweaks to systemd-nspawn from upstream systemd

nixos/containers: Introduce several tweaks to systemd-nspawn from upstream systemd

* Lets<EMAIL_ADDRESS>be activated by machines.target instead of
  multi-user.target

  According to the systemd manpages, all containers that are registered
  by machinectl, should be inside machines.target for easy stopping
  and starting container units altogether

* make sure<EMAIL_ADDRESS>and container.slice instances are
  actually located in machine.slice

  https://plus.google.com/112206451048767236518/posts/SYAueyXHeEX
  See original commit: https://github.com/NixOS/systemd/commit/45d383a3b8

* Enable Cgroup delegation for nixos-containers

  Delegate=yes should be set for container scopes where a systemd instance
  inside the container shall manage the hierarchies below its own cgroup
  and have access to all controllers.

  This is equivalent to enabling all accounting options on the systemd
  process inside the system container.  This means that systemd inside
  the container is responsible for managing Cgroup resources for
  unit files that enable accounting options inside.  Without this
  option, units that make use of cgroup features within system
  containers might misbehave

  See original commit: https://github.com/NixOS/systemd/commit/a931ad47a8

  from the manpage:
    Turns on delegation of further resource control partitioning to
    processes of the unit. Units where this is enabled may create and
    manage their own private subhierarchy of control groups below the
    control group of the unit itself. For unprivileged services (i.e.
    those using the User= setting) the unit's control group will be made
    accessible to the relevant user. When enabled the service manager
    will refrain from manipulating control groups or moving processes
    below the unit's control group, so that a clear concept of ownership
    is established: the control group tree above the unit's control
    group (i.e. towards the root control group) is owned and managed by
    the service manager of the host, while the control group tree below
    the unit's control group is owned and managed by the unit itself.
    Takes either a boolean argument or a list of control group
    controller names. If true, delegation is turned on, and all
    supported controllers are enabled for the unit, making them
    available to the unit's processes for management. If false,
    delegation is turned off entirely (and no additional controllers are
    enabled). If set to a list of controllers, delegation is turned on,
    and the specified controllers are enabled for the unit. Note that
    additional controllers than the ones specified might be made
    available as well, depending on configuration of the containing
    slice unit or other units contained in it. Note that assigning the
    empty string will enable delegation, but reset the list of
    controllers, all assignments prior to this will have no effect.
    Defaults to false.

    Note that controller delegation to less privileged code is only safe
    on the unified control group hierarchy. Accordingly, access to the
    specified controllers will not be granted to unprivileged services
    on the legacy hierarchy, even when requested.

    The following controller names may be specified: cpu, cpuacct, io,
    blkio, memory, devices, pids. Not all of these controllers are
    available on all kernels however, and some are specific to the
    unified hierarchy while others are specific to the legacy hierarchy.
    Also note that the kernel might support further controllers, which
    aren't covered here yet as delegation is either not supported at all
    for them or not defined cleanly.

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

 nix-build -I nixpkgs=.  ./nixos/tests/containers-tmpfs.nix

seems to fail
machine: output:
error: command `nixos-container run tmpfs -- mountpoint -q /var 2>/dev/null' did not succeed (exit code 1)
command `nixos-container run tmpfs -- mountpoint -q /var 2>/dev/null' did not succeed (exit code 1)
cleaning up
killing machine (pid 597)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
builder for '/nix/store/jc14mfzb7khf000fr8c9ipcp6pxjgw3y-vm-test-run-containers-tmpfs.drv' failed with exit code 255
error: build of '/nix/store/jc14mfzb7khf000fr8c9ipcp6pxjgw3y-vm-test-run-containers-tmpfs.drv' failed

Test fixed now.   However, I still don't get why  the systemd package does not include multi-user.target.wants/machines.target as according to the meson.build file, that file should be included in the systemd build artifacts.  Can someone with knowledge of the systemd packaging story have a look at this?

Note to self:
Apparently the nixos systemd module only copies files from ${pkgs.systemd}/example/systemd/* but  there are also files in ${pkgs.systemd}/share/factory/etc/systemd/* whic hare currently ignored by the systemd nixos module.    We should consider exposing those as well...
Systemd makes a distinction between .wants files in /usr/lib  *Dependencies that are not disable-able) and
.wants files in /etc  (Dependencies that should allow disablement by an administrator).   In NixOS we do not really distinguish between the two, as /nix/store is immutable and we can't disable units without chaning the  NixOS config anyway.
TODO

[ ] We should simply change the systemd module such that we can add files from that other directory as well

CC @Mic92

Will do

Done: https://github.com/NixOS/ofborg/pull/256

I still don't get why the systemd package does not include multi-user.target.wants/machines.target

The wants from units are ignored. Try doing this:
systemd.targets.machines.wantedBy = [ "multi-user.target" ];
That should do the trick.

Ah yes this is because our activation script needs this information as well.

@peterhoeg  yes I do that now. Thanks! Albeit the other way around. (Multi-user.wants = machines.target).   The result being identical in terms of semancis.

@GrahamcOfBorg test containers-imperative containers-tmpfs

Success on x86_64-linux (full log)
Attempted: tests.containers-imperative, tests.containers-tmpfs
Partial log (click to expand)
syncing
machine: running command: sync
machine: exit status 0
test script finished in 33.49s
cleaning up
killing machine (pid 597)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/q3qz8y6kmb71k93yfn1rp23wjjgc80bl-vm-test-run-containers-imperative
/nix/store/yai1q0ns4haaarwqwv0gdfvjl5ay8m21-vm-test-run-containers-tmpfs

Success on aarch64-linux (full log)
Attempted: tests.containers-imperative, tests.containers-tmpfs
Partial log (click to expand)
syncing
machine: running command: sync
machine: exit status 0
test script finished in 94.18s
cleaning up
killing machine (pid 631)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/m7qs9avpnqyb63l6zgrjc54xxybgdmhj-vm-test-run-containers-imperative
/nix/store/s81397i1zg3y2r2f9cd95ra258s98gqh-vm-test-run-containers-tmpfs

@GrahamCOfBorg test containers-bridge containers-extra_veth containers-hosts containers-ipv4 containers-ipv6 containers-macvlans containers-physical_interfaces containers-portforward containers-reloadable containers-restart_networking

Success on x86_64-linux (full log)
Attempted: tests.containers-bridge, tests.containers-extra_veth, tests.containers-hosts, tests.containers-ipv4, tests.containers-ipv6, tests.containers-macvlans, tests.containers-physical_interfaces, tests.containers-restart_networking
The following builds were skipped because they don't evaluate on x86_64-linux: tests.containers-portforward, tests.containers-reloadable
Partial log (click to expand)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/0gpjb3gwc254wknw2zp1mpijnd9blfx6-vm-test-run-containers-bridge
/nix/store/9knf9gai1agqkn2lpw2jr8bdxmdc58xv-vm-test-run-containers-bridge
/nix/store/wy74p6y1w22kccpv5f04r5bja1ykkmxq-vm-test-run-containers-hosts
/nix/store/brph1km9kdlvc66cdb0gghwb1iz83qmm-vm-test-run-containers-ipv4
/nix/store/alab36bvskqchz4z9n9njgyn5wxbzfqm-vm-test-run-containers-ipv6
/nix/store/881if2g4321ww87hdabn4xfsl85af0gy-vm-test-run-containers-macvlans
/nix/store/ariaa0c97967lz4lymjyxvw8j8931xhi-vm-test-run-containers-physical_interfaces
/nix/store/4wh3lc39gb2mvdyrpsvik3ra22zvh5lv-vm-test-run-containers-restart_networking

Success on aarch64-linux (full log)
Attempted: tests.containers-bridge, tests.containers-extra_veth, tests.containers-hosts, tests.containers-ipv4, tests.containers-ipv6, tests.containers-macvlans, tests.containers-physical_interfaces, tests.containers-restart_networking
The following builds were skipped because they don't evaluate on aarch64-linux: tests.containers-portforward, tests.containers-reloadable
Partial log (click to expand)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/rrp13j1h522ql20zf2pjk1fnw2fs4iyy-vm-test-run-containers-bridge
/nix/store/xw58ddc89phcmajb1r3vijnglmymclrg-vm-test-run-containers-bridge
/nix/store/22awk9ivdsg2psknyd27clj4vkn3s1af-vm-test-run-containers-hosts
/nix/store/fq2l4ssf5mc5kazf006vwn7dc0z23jzq-vm-test-run-containers-ipv4
/nix/store/szfrjjn15zmgv2j90378vv5fdw0ijzgq-vm-test-run-containers-ipv6
/nix/store/zi4dj1x1djgwjp4iy61klczzlif1qxhb-vm-test-run-containers-macvlans
/nix/store/cqffmqwxcvi6f88rkanlhrkzsdyk1dhx-vm-test-run-containers-physical_interfaces
/nix/store/cwm3d79d1j31dxcb6fxi0fyqlf09m7z7-vm-test-run-containers-restart_networking

Tests look good to me. The two tests that didn't 'evaluate' are not in release.nix.    Do you think this is ready for merge @Mic92 ?


eos: fids vs inodes

Hey, we are currently playing with eos on the edge branch and got a little confused regarding the usage of inodes vs. fids.
The EOSClient interface defines both GetFileInfoByInode and GetFileInfoByFXID methods for statting files and directories but while the binary client implements both versions only the inode version is implemented in the grpc client and the fxid one isn't actually being used anywhere.
We are wondering about the reasons and the implications of that. EOS itself seems to be a little bit confusing in that regard as well, e.g. directories can be statted using the inode but not using the fid unless the fid is used as the pid in the identifier, some commands (e.g. the attr one) do not allow addressing entities by their inode but only fids, etc.
We are also wondering about the uniqueness of ids and inodes, are they guaranteed to not be reused by the filesystem? And what happens in scenarios like restoring a backup, would it be possible to set either of them to the initial value?
@labkode @gmgigi96 Can one of you shed some light onto this?
\cc @butonic

Another related question just came up: the inode entry in list responses seems to be always set to 0 for both files and directories. We are using the gitlab-registry.cern.ch/dss/eos/eos-all:5.0.31 image referenced by https://gitlab.cern.ch/eos/eos-charts/-/tree/master/server.
Do you know if that's supposed to work?

After some more research I understand that the inode is derived from the fid using a legacy or a new encoding.
There are still a few remaining question though:

Are file ids/inodes guaranteed to be unique or are the eventually gonna be reused?
Can file ids/inodes be restored e.g. when restoring a backup?
The grpc API always seems to return 0 as the inode, is that a known issue?
Is there any reason not to use the fid (or fxid) instead of the inode in reva? That seems to be the more direct way and avoid some of the aforementioned obstacles.

Hi @aduffeck,
EOS have two namespaces, one for files and one for directories.
Each of these namespaces starts with 0, 1, .... so numbers clash, that's why you need to use fid for files and pid for parents. As this is a bit cumberstone, the inode field was introduced, so it shifts the directory namespace by some bits so  the inode field can be used both for files and directories without adding extra logic in the clients.
I can talk for the eos binary interface because I wrote it. The EOS inode field is what ownCloud expects as a file ID.
Please note that the ownCloud fileid for files is not the EOS inode of the file, but the EOS inode of the version folder of the file .sys.v#.myfile. The reason is that many applications (sync client) will overwrite the existing file and a new file is created (new inode), therefore invalidating previous shares, public links, etc ...
Pointing to the version folder we avoid that as we derefernce to the latest version available of the file.
Let me know if you need more information.
Regarding GRPC @gmgigi96 is off until early next year to clarify this part, however I will focus on the eosbinary one as it's the one used in production at CERN (not the GRPC one, still experimental).

Thank you @labkode, that explains a lot of things already.
I'll try to figure out why I don't get the inodes from the grpc API meanwhile.

Hi @aduffeck, which the version of EOS you are using?

Hey @gmgigi96, we are deploying eos using the helm chart from https://gitlab.cern.ch/eos/eos-charts, the version it uses currently is 5.0.31.
Please note that we had to switch back to the binary client for now unfortunately as the GRPC server seems to be a little too experimental. But in case you are curious about the changes we made to the grpc client while working with it in our branch you can find the commits here.


VS Test Agent Deployment Unhandled Exception...PSInvalidOperationException

Hi,
I suspect it might be related to our current TFS '15' RC1 with tasks from 1.0.35 and/or being offline.
Since everytime I try to let the task update the test agent for me, I run into this:
2016-10-27T12:57:32.3277152Z DistributedTests: Path to script that installs test agent on remote machine: C:\Agent_work_tasks\DeployVisualStudioTestAgent_52a38a6a-1517-41d7-96cc-73ee0c60d2b6\1.0.35\TestAgentInstall.ps1
...
...
2016-10-27T12:57:37.4339032Z DistributedTests: Starting to download testagent
2016-10-27T12:57:37.4495915Z
2016-10-27T12:57:37.4495915Z Unhandled Exception: System.Management.Automation.PSInvalidOperationException: The WriteObject and WriteError methods cannot be called from outside the overrides of the BeginProcessing, ProcessRecord, and EndProcessing methods, and they can only be called from within the same thread. Validate that the cmdlet makes these calls correctly, or contact Microsoft Customer Support Services.
2016-10-27T12:57:37.4495915Z    at System.Management.Automation.MshCommandRuntime.ThrowIfWriteNotPermitted(Boolean needsToWriteToPipeline)
2016-10-27T12:57:37.4495915Z    at System.Management.Automation.MshCommandRuntime.WriteHelper_ShouldWrite(ActionPreference preference, ContinueStatus lastContinueStatus)
2016-10-27T12:57:37.4495915Z    at System.Management.Automation.MshCommandRuntime.WriteWarning(WarningRecord record, Boolean overrideInquire)
2016-10-27T12:57:37.4495915Z    at System.Management.Automation.Cmdlet.WriteWarning(String text)
2016-10-27T12:57:37.4495915Z    at Microsoft.TeamFoundation.DistributedTask.Task.DistributedTestAutomation.Logger.WriteWarning(String message)
2016-10-27T12:57:37.4495915Z    at Microsoft.TeamFoundation.DistributedTask.Task.DistributedTestAutomation.TestAgentDownloader.wc_DownloadFileCompleted(Object sender, AsyncCompletedEventArgs e)
2016-10-27T12:57:37.4495915Z    at System.Net.WebClient.OnDownloadFileCompleted(AsyncCompletedEventArgs e)
2016-10-27T12:57:37.4495915Z    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
2016-10-27T12:57:37.4495915Z    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
2016-10-27T12:57:37.4495915Z    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
2016-10-27T12:57:37.4495915Z    at System.Threading.ThreadPoolWorkQueue.Dispatch()
2016-10-27T13:17:29.5095307Z ##[error]LegacyVSTSPowerShellHost.exe completed with return code: -532462766.
2016-10-27T13:17:29.5095307Z ##[section]Finishing: Deploy TestAgent on $(TargetTestMachines)
2016-10-27T13:17:29.5095307Z ##[section]Starting: Post Job Cleanup
2016-10-27T13:17:29.5252328Z ##[section]Finishing: Post Job Cleanup
2016-10-27T13:17:29.5252328Z ##[section]Finishing: Build
As a workaround I grab the test agent from here, I have to manually install this on the computer/client that will run coded UI tests. Then I go to the task and untick the "Update Test Agent" option in the task. When I do this I don't get the error and my run functional test task runs. I ran into more problems though...
But if I want the task to do the updating for me, what am I doing wrong?
I have the build logs in case anyone wants to check on them, was thinking about e-mailing them. I can also give more specifics on my tasks.
Thanks in advance!

I think there is a problem in downloading the test agent from internet on build machine. Because of which we try to log the problem and that fails (writing error message is a bug). But the root cause is downloading the test agent fails. is this you own build agent or hosted build agent?

Also if you can run the scenario with system.debug = true and share the logs it might help.

@acesiddhu ,Ok I'll need a few days to do it with debug on. It is my own build agent.
Can I send the logs somewhere?

devops_tools AT microsoft.com

I sent the logs!

@Gimpan Can you try with the latest Agent and see if it's still happening. In the mean time, we will investigate with your logs. thanks for help

I just received a reply:
Your message couldn't be delivered to multiple recipients.
The groups only accept messages from people in their organization or on their allowed senders list, and your email address isn't on the lists.
I tried to send to: devops_tools AT microsoft.com, @ ofc.

We got the logs. Checking them now

@Gimpan is it still happening with latest agent?

I think we have found the problem but another issue arises. I did not have a chance to try with latest agents or updates.
Problem was the client was missing some updates, leading to insufficient requirements. But after that was fixed the task successfully downloaded an agent we provided through our shared network. It installed the agent and the client automatically rebooted. The task failed to continue afterwards.

We've installed the latest release, TFS 2017 released a week ago. So I thought I could try this again. I downloaded the latest vstfs_testagent.exe from the link provided by the task and put it on a local share. On the deploy task I provided the path the the testagent and ran the build. It successfully copied and deployed it.
So I guess for On-Prem you have to provide the testagent yourself. This makes sense but given the error message I get it mislead me to think something else was the problem.
I got new logs from the successful deploy if you are still interested. Otherwise I think we can close this issue.

Thanks @Gimpan for confirming. Even for on prem the task will try to download the test agent iself. if for some reason there is no internet connection you need to give test agent path. I agree the error message is misleading. We will fix that. Will close the issue for now


Making docs more lightweight

Some points:

I'm not happy with how the docs are currently recompiled manually and uploaded to a different repository. I'd prefer to use a single repository instead.

I also like the minimalistic style of e.g. meshio (and many others) where everything necessary is in a single markdown README file rendered by GitHub. We probably cannot go that far due to the complexity of scikit-fem, but I'd still prefer minimalism.

I have started to also dislike Sphinx (for examples and tutorials) which has always felt a bit clumsy, not being very portable and requiring too much effort to maintain.

My proposition:

Let's remove the examples from Sphinx doc and go back to the more relaxed "one file with docstring comments" per example; supposed to be read from Github directly and links from README.md (e.g. via the web view https://github.com/kinnala/scikit-fem/blob/master/docs/examples/ex02.py). These can be run in the test suite as it is currently done.

For step-by-step tutorials, I'll recreate them as Jupyter Notebooks which are also nicely rendered by Github (e.g. https://github.com/bokeh/bokeh-notebooks/blob/master/tutorial/06 - Linking and Interactions.ipynb) OR as simple markdown files. Whichever is more straightforward to integrate to the test suite.

Keep the Sphinx documentation for the purpose of evolving it into a top class API documentation.

If the top README.md gets too long (and maybe slow to load because of too many embedded images? I don't know) there's no barrier to adding more Markdown pages linked to from there. No need to worry about that for now though.
I do like the idea of keeping the documentation closer to the source and so more synchronized, yes.

One thing that would be missed from Sphinx RsT is LaTeX, at least at first, but then it occurs to me that having to do without LaTeX might actually be a good thing, a continuous and immediate motivation for bettering the API. The new-style forms are a good step here; with those, one needs LaTeX less: grad(u) is nearly as good as ∇ u.


Improving thread crash logic

This introduces 3 changes to the behavior revolving around fixing thread-crashes (i.e. density or energy drops to a negative value). For the uninitiated, the default behavior in a thread-crash, when DENSITY_FLOOR isn't defined, is to call Average_Cell_All_Fields, which overrides the values in the crashed cell with the values from the neighboring cells.
The 3 changes include:

A major synchronization bugfix:

we moved the call to Average_Cell_All_Fields from the Update_Conserved_Variables_3D kernel to the newly created PostUpdate_Conserved_Correct_Crashed_3D kernel. We always launch PostUpdate_Conserved_Correct_Crashed_3D after Update_Conserved_Variables_3D
Previously, we could be averaging the values of neighboring cells while they were in the middle of an update.
This was producing large spikes in Energy (1000 times larger than a supernova) in our simulations. This fix seemed to fix a little more than I was expecting (I still need to finish examining that).

A minor bugfix:

Previously Average_Cell_All_Fields always looked for neighbors, regardless of where the central cell was located on a grid. So if you were at the edge of the active zone, you might include the values of cells in the ghost-zone. This was problematic when dealing with a crashed-cell at the hydro update when the ghost zones had not been updated yet (it's unclear if this commonly happened).
Care was taken to maintain existing behavior in Average_Slow_Cells, which could apply Average_Cell_All_Fields to a slow-cell at identified at any location on the grid (in the ghost zone or active zone).[^1] My change also happens

A minor improvement:

Previously the Average_Cell_All_Fields would ignore any neighboring cells with a non-positive density or pressure.
This PR extends the behavior to also ignore any cells that would be considered a "slow" cell and will need to be separately averaged. (When the AVERAGE_SLOW_CELLS macro isn't defined, no cell is considered a "slow" cell)

The implementation of the third change got a little hairy. In principle I think it's a good design choice (especially for reducing ifdef statements). But, with the benefit of hindsight, maybe I should have done something simpler. Definitely open to feedback on this point!
[^1]: In this case we continue for a cell on the edge of the active zone, we will include cells in the ghost zone in the average. As I write this out, I'm not totally sure the ghost zones are refreshed between the invocation of the Hydro-Solver and the call to Average_Slow_Cells. That is something to followup on!

pre-commit.ci autofix


Usage with Node.js streams

I see that https://github.com/antoniomuso/lz4-napi/issues/106 is closed as completed; however, the API does not expose any Transform or other stream helpers.
Do you have lz4-napi with Node.js stream usage examples?
Cheers.

Hi slvrtrn, currently, there isn't streams support; I don't remember why I closed the issue, I think by mistake.
This is a good feature.

Thanks for the response @antoniomuso
We'd be happy to use lz4-napi (and LZ4 compression in general) in our Node.js client https://github.com/ClickHouse/clickhouse-js, but we are blocked by a lack of streaming support

I am sorry for it; I don't know when I will integrate this feature, and I don't have time to do it at the moment.

But your contribution is welcome if you want to implement it by yourself.

Currently, it cannot be implemented due to the lack of the Stream in napi-rs. We should wait: https://github.com/napi-rs/napi-rs/issues/1493


PR for APEX dashboard and log-sources

I have added the logsource as a zip file to import easily via OCI console. let me know if this has to be in xml format only and in this case please provide instructions to import them back

@kgvarun

@kgvarun

@kgvarun @karthicgit any issue with the pull request? I would like publish it to push the use case into APEX community. Thanks


Disable zsh file globbing when running pip

Certain pip install commands which involve square brackets such as pip install requests[security]  or pip install -e .[testing] fails with the following error: zsh: no matches found:
This patch disables globbing for the pip command, and makes the pip command works for such cases.

:+1: Great PR!

Thanks @mcornella
Happy to help ☺

@mcornella This PR broke the use of pip in virtual environments. This alias overrides the virtualenv's pip and uses the systemwide pip. It also prevents one from seeing which pip is being used, because which pip spits out pip is aliased to 'noglob pip'.
While the intentions were good, this PR should be reverted and quotes should be used to avoid globbing.

It also prevents one from seeing which pip is being used, because which pip spits out pip is aliased to 'noglob pip'.

You can bypass that by using which -a pip or command -v pip. While I agree that using quotes is enough, I'd like to keep the change if it's possible.

This PR broke the use of pip in virtual environments.

I'm not very familiar with pip and virtualenv*, how does this break it exactly?

Can't seem to reproduce the behavior. Probably was my mistake.
Still, if this user doesn't like the default shell behavior, they should put the alias in their own personal .zshrc, and not force counterintuitive command preferences on others. And now since I don't want zsh autoupdates messing with my own personal reversion of this commit, I'll have to turn off autoupdates :(

If you feel this is too confusing or it messes with your workflow I can consider reverting this. The thing is that we don't have usage statistics so I can't say if people use that more or less.
It's also a common pattern to alias commands with noglob, for instance the git alias has it. And people often complain more about the no matches found error than of not finding where a command is coming from (which is can be bypassed with the commands I wrote in the previous comment).
So I'll wait to see if someone else finds this change annoying. In the meantime you can add unalias pip at the end of your zshrc file. There's not much else I can do I'm afraid.

Does this same behavior apply to pip3? I.e.:
which -a pip
returns:
pip: aliased to noglob pip /some_path/bin/pip
whereas:
which -a pip3
returns:
/some_path/bin/pip3 /usr/local/bin/pip3 /usr/local/bin/pip3
In other words, it appears that pip3 does not get this same 'noglob' alias as does pip, which makes scripting inconsistent?

It doesn't apply that to pip3 no, would you be willing to submit a PR?


Determine how to set the site title tag dynamically from the settings collection

For SEO, the site title is currently configured from a variable set in /lib/_config/_config.js. Determine how to set the site SEO settings from the Settings collection, rather than hard-coding them into a file.

It turns out that we can set the site title when the template is rendered. That way we have access to the settings collection, etc.  We can also set the page title from within layouts, but individual templates may be easier to maintain, since the layout title code may clash with individual templates.


Hosting codebox

I dont want to be running it as npm module.

I was able to simply run it with:
node bin/codebox.js

So that i can deploy it in the cloud easier.

How do i add users and get past that login screen if its hosted in a linux box in the cloud?

https://github.com/CodeboxIDE/codebox/blob/master/bin/codebox.js It tells you. It takes arguments for username:password list


Requesting analyzer report from cortex with thehive4py

I'm in the process of setting up a system that automatically exports mails from an outlook mailbox, creates a case with observables and automatically analyzes them.
Now after analyzing these observables I'd like to request the report the analyzer generated but I'm not quite getting there.
I tried using this simple function that looks like this:
def get_analyzer_report(self, job_id):

    req = self.url + "/api/connector/cortex/job/{}".format(job_id)

    try:
        return requests.post(req, headers={'Content-Type': 'application/json'}, proxies=self.proxies, auth=self.auth, verify=self.cert, data=json.dumps({}))
    except requests.exception.RequestException as e:
        raise AlertException("Couldnt get report of case")

Now if I run this on an existing job I get the following error.
`ERROR :: {'type': 'NotFoundError', 'message': '/api/connector/cortex/job/case_id not found'}

Anyone any idea what I might be doing wrong?


fix instances where the number of {} placeholders in the logger message doesn't match the number of other arguments to the logging call

found a number of instances where the number of {} placeholders in the logger message doesn't match the number of other arguments to the logging call.
for example...
_segmentLogger.error("Illegal state {}" + _state.toString());

should be...
_segmentLogger.error("Illegal state {}", _state.toString());

wondering if this should be captured by Checkstyle rules
for example String.format("{}, {}", arg1, arg2, arg3) will be captured by checkstyle rule that the arg count mismatch.