Implement a Push REST API

We want a rest push api :)
Actually we probably want 2 apis.
One compatible with elastic's bulk api, and one specific to quickwit.
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html
Quickwit is append-only so the "verbs" (index/create) is meaningless for quickwit...
we want to treat both as a new document.
We also want to return an error if an unsupported operation is sent in the bulk API. (e.g delete)

@fulmicoton @fmassot

Right now I think a separate bulk API for Quickwit might not be needed as this could be done by the ingest API.
My reasoning is that we support append-only operation so there is no need to have the same API spec as elastic bulk API.
For the elastic bulk API, we want to specify how the source input should be structured for the operations: create, update and delete. right ?

Regarding certain error handling, it would have been nice to have RocksDB transactions available in the wrapper crate we are using :disappointed: .
I think we will have to undo when an error occurs (ugly).
There is WriteBatch but I am concerned about making a bunch of create_cf atomic which is not available on WriteBatch
There is a PR but not sure it's gonna land soon https://github.com/rust-rocksdb/rust-rocksdb/pull/565

For the elastic bulk API, we want to specify how the source input should be structured for the operations: create, update and
delete. right ?

Just return an error for update/delete, and treat both create and index like a create.

Regarding certain error handling, it would have been nice to have RocksDB transactions exposed from the wrapper crate we are using disappointed .
I think we will have to undo when an error occurs (ugly).
There is WriteBatch but I am concerned about making a bunch of create_cf atomic which is not available on WriteBatch
There is a PR but not sure it's gonna land soon https://github.com/rust-rocksdb/rust-rocksdb/pull/565

@evanxg852000 For the moment let's not add this complexity.
First, this is only a concert for the ES API. We have only one possible targetted in a single ingest call with the regular API.
Second, we need to progress on #1229 , but I suspect atomically creating  of cf is not much of a problem.
I suspect we can get away with:
The metastore is the single source of truth for the existence or the inexistence of an index.
cf are created and opened lazily upon the first ingestion after a restart.
On an elastic compatible bulk request, we first create or open all of the required cf, and then ingest with a WriteBatch.
One of the create_cf might fail but we don't care... This is not an effective "state".


Translate from audio output

Hi, I'm interested in using hear for Speech Recognition when I have a call via e.g. FaceTime, Microsoft Teams or Google Meet. Most of these apps already have a recognition feature, but mostly it's for English only.
Do you know if it's possible to use the audio output, instead of the audio input, as source for hear?

This would require a kernel extension, I'm afraid, so it's not going to happen. But of course it might be possible to support it via a pre-existing solution e.g. SoundFlower.

You can also do this using Rogue Amoeba's Loopback. I have it set up to create an audio device that loops back Zoom's audio output, which I can then set as the device for sound input in Apple's Sound preferences to get hear to transcribe what is being said on Zoom.


Updating this example to use the logstash-core gem, also adding a really minimal test.

The test is a placebo, but I think having at least something will encourage people to write them?
This plugin now use the logstash-core gem.

LGTM

LGTM, now the rspec code looks very nice to me.


show mobile vs. desktop percentage

this is a key metric that cities need to see as they decide how to serve residents; ideally show both as two lines on the traffic graph

I tried both line chart and area chart.
And as stacked and non-stacked.
Here is a first result:

They both have their problems.
I'm more in favor of the area stacked chart or any sort of stacked chart, so we can see the overall usage and the difference between mobile and desktop usage.
But I think we should narrow down the detail. (we now habe every other minute!!). I think every hour should be feasible enough.
As an example (from http://analytics.phila.gov)

This is what it looks like if we had every hour

and every other hour

Looks good! A few notes from the phone call:

The area charts look a little bit like they’re stack behind one another, let’s try a stacked bar chart instead.
Hourly looks much better than every minute. How would 15 minute increments look?
Two similar colors for mobile and web might continue to communicate overall traffic.

I choose two types of blue to reflect the CfA CI.
every 30 minutes would look like this:

(this one uses fake data)
hourly like that:

(this one real data)

:+1:! Per today’s phone call, you’ll be working on a design for the top of the dashboard using these charts. We’re going to go with the current black background, and categorize visitors into desktop vs. not-desktop.


Enhancement/gdstring as inline class

This transforms typealias GdString to inline class, to simplify use of Godot Strings.
This convert String arguments of icalls to GdString before passing them to godot, and then destroy them when not used anymore.

I've tested this locally, merging. I really want to send the 3D platformer PR :P


Allow value mapping at search time

Before this patch scoped_search allowed to define value mappings using the
complete_value, but these mappings were static. This patch introduces dynamic
value mapping which is resolved at search time, instead of at definition time.
This allows us to do searches like
scoped_search on: :id,
  value_translation: ->(value) { value == 'current' ? User.current.id : value },
  validator: ->(value) { value =~ /\d+/ || value == 'current' },
  special_values: %w(current)

Please note the validations are run on the not yet translated input as provided
by the user.

it all looks reasonable and I like the addition, just one questions, could validator automatically accept all special values? it will be easy to forgot I have to specify it there I think
also it would be great to update https://github.com/wvanbergen/scoped_search/wiki/Search-definition once this will get in or into release
I'll give it some testing once we resolve the validator question

That should be pretty easy to do, I'll look at that tomorrow

Or maybe even today :)

Works great! Thanks @adamruzicka, could you please update https://github.com/wvanbergen/scoped_search/wiki/Search-definition ?
Squashing and merging!


esbuild plugins

Absolutely love this jsbundling-rails approach. This may be related/redundant to #8.
What is the recommended approach if I wanted to use esbuild plugins?
I noticed that both rollup/webpack have config files that are added on install but not esbuild.

Yes, see #8. There's a straight path to adding your own node program that uses esbuild as an API. But esbuild doesn't have an official config file structure. Let's keep the chat in #8 👍


slickly designed mortality

Topic came up in #836 , related to #798
As we transition to a slick "frame" based design (abolishing the state/poststate distinction, etc.), we have the opportunity to rethink the way agents are born and die within simulations.
We will also have the opportunity to try to provide elegant and flexible options for modelers who are interested in different mortality models.
@mnwhite has a proposal in #836 which is that in simulation, "births" can happen at the start of a period, and "deaths" can happen at the end as a form of final shock. That's a possibility worth talking about, I think.

Thinking over the previous discussion, I have a couple points to add.
First, from the perspective of the model definition:

I think it would make sense for death to be a model variable any other, in the sense that it could be an exogenous shock or endogenous state. Why not?
That means it would be specified as part of a particular frame.
Where death has additional semantics beyond the normal ones is its particular relationship with the reward function.
We have not yet discussed how we attach reward functions to frames.

There are many open questions, I think, about how we implement the "magic solver" over problem defined as a sequence of frames.
On the simulation side, the death variable is important for modeling population aggregates. It may effect descriptive statistics of the population, or it may effect partial equilibria as an exogenous shock on each individual. I believe these are the easy cases. As they are relatively easy, I think it would be possible to support a wider range of birth/death models besides the fixed population model, which is motivated by a computer memory constraint but not a scientific modeling constraint.

An example of a variable mortality model is the additional role of simDeath in the ConsAggShockModel. In that model, wealth of the dead are redistributed to the living.
So the mortality model at least potentially operates at an 'aggregate' level, outside of an individual's MDP.

ping @alanlujan91 since he mentioned in a meeting an interest in something like this


Issue #134 fix

Added check for the existence of a key in the map. As far as I understand, Instagram Api now does not return the fields reel_mentions, story_hashtags, story_locations in the history response, when these arrays are empty. But I'm not sure that this always happens.
#134

Dude, unrelated, could you make a way to download all stories? I follow a big number of people and downloading them one by one is much time consuming. I wish I could help but I dont understand programing


Enable Swift Module Stability (Build Libraries for Distribution to “Yes” in the framework’s)

I am getting this error while using framework in IOS .
It seems Xcode swift compiler should have same version as framework.
Environment
Xcode : 12.5.1
Swift Compiler :  5.4.2
Compile Error
Failed to build module 'Berbix' from its module interface; the compiler that produced it, 'Apple Swift version 5.4 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)', may have used features that aren't supported by this compiler, 'Apple Swift version 5.4.2 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)'

@jnnnthnn Thanks for quick response . I will drop email and will also share my finds to resolve it soon .


Error on startup

Microsoft PowerToys version
0.65
Installation method
GitHub
Running as admin
Yes
Area(s) with issue?
PowerToys Run
Steps to reproduce
Its happend on Windows start
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response
LOGS
2022-12-21.txt

/dup https://github.com/microsoft/PowerToys/issues/18354


Added cleanup of unit-test reports from the workspace after test stage

Stale test-reports causing issue with PR builds.

retest this please

retest this please


Make mill.define.Module a trait to allow abstract/virtual module lazy vals to be traits rather than classes

The basic problem is that when Module was a class, and you had trait FooModule extends Module, Java reflection would not see that FooModule <: Module, and thus Reflect.reflectNestedObjects0[Module] which relies on java reflect would not detect def foo: FooModule as a module. This is because trait extends class is a Scala compiler concept, and does not exist in the JVM bytecode.
However, we do need Module to be a class, because we rely on implicit parameters to propagate context down the module tree. traits cannot take implicit parameters
The solution here is to make Module a trait, and make it inherit from a Module.BaseClass class that takes the implicit parameter and passes it to Module. Thus whenever we do reflection to find FooModule <: Module, it behaves expected, and we are still able to receive implicit parameters via Module.BaseClass
One side effect is that we need a way to mark things like JavaModule#zincWorker as not a child module. Previously, we skipped such modules during target resolution due to the buggy behavior above. Now, such modules get picked up, which is not what we want: in the common case, zincWorker is just a reference to the shared external module mill.scalalib.ZincWorkerModule, and is not a child module of each individual JavaModule. To do this, I introduce a mill.define.ModuleRef wrapper that simply provides a thin layer of indirection, letting us refer to the module via zincWorker() but blocking identification as a child-module since ModuleRef is not a sub-type of Module.
Tested via the mill.resolve.ResolveTests.overridenModule tests, which now pass when the abstract/overriden module is a trait, whereas previously they required that it be a class. Should also fix the flakiness we've been seeing in mill.resolve.ResolveTests.overridenModule.0.

This is binary-incompatible with 0.11.0-M9, but probably worth getting in before 0.11.0-final, since it fixes I believe the last edge case where someone would be forced to define a Module as a class


Large codebases with AssetGraph globals

Calls to TR, TRPAT etc.
{
  "rules": {
    "new-cap": [2, { capIsNew: false }] // capIsNew option disabled for compatibility
  }
}

Replaced by https://github.com/One-com/eslint-config-onelint/issues/5


[WIP] Add cdt.cloud blueprint icon and preload

We still need to provide the ICO and ICNS files in the respective
resolutions though. Also, in Ubuntu, the launcher icon doesn't
look nice.
https://github.com/eclipse-cdt-cloud/cdt-cloud-blueprint/issues/18

@sdirix Do you know how the ICO and ICNS files have been originally created? I only found very cumbersome manual ways of creating ICOs and very few options at all for ICNS.


Update Checkstyle Settings

This project has a pom with a checkstyle configuration that is very similar to Quilt's, and is likely superior. We should experiment with these settings and see if we uncover any checkstyle errors or warnings that we might have missed.

On looking through the checkstyle configuration file checkstyle.xml in both the projects, it looks like they're the same. Is there something specific we're investigating here?

See https://github.com/ripple/crypto-conditions/pull/32 for the changes that were made in the crypto-conditions project (specifically the regex's for excludes).


refactor software-device, sensor.h, streaming.h

Shouldn't be any functional changes.
Getting closer...
Tracked on [LRS-945]

Please resolve conflicts:
Conflicting files
src/calibrated-sensor.h

If there were any placed of new code I need to look at please say..

Nothing really. I just went thru myself: no functional changes...


OpenVPN matcher

Summary
This PR introduces an advanced OpenVPN matcher capable of:

matching any of the existing control channel security modes (plain, auth, crypt and crypt2);
matching based on a digest algorithm (auth mode);
matching based on a group key (auth and crypt modes);
matching based on a server key (crypt2 mode);
matching based on client keys (crypt2 mode);
matching both TCP and UDP connections.

These features allow Caddy to multiplex a plethora of diversely configured OpenVPN server instances on a single port. It is a unique OpenVPN routing solution that goes beyond what is offered by SSLH, Haproxy, Nginx, Traefik and OpenVPN internal port-sharing.
Sample config
{
	layer4 {
		:8843 {
			@plain openvpn {
				modes plain
			}
			route @plain {
				proxy localhost:1194
			}
			@auth_sha256 openvpn {
				modes auth
				auth_digest sha256
				group_key_direction normal
				group_key_file /etc/openvpn/ta.key
			}
			route @auth_sha256 {
				proxy localhost:1195
			}
			@auth_sha512 openvpn {
				modes auth
				auth_digest sha512
				group_key_direction inverse
				group_key_file /etc/openvpn/ta.key
			}
			route @auth_sha512 {
				proxy another.machine.local:1295
			}
			@crypt_key1 openvpn {
				modes crypt
				group_key_file /etc/openvpn/ta.key
			}
			route @crypt_key1 {
				proxy localhost:1196
			}
			@crypt_key2 openvpn {
				modes crypt
				group_key_file /etc/openvpn/ta2.key
			}
			route @crypt_key2 {
				proxy another.machine.local:1296
			}
			@crypt2_server openvpn {
				modes crypt2
				server_key_file /etc/openvpn/v2-server.key
			}
			route @crypt2_server {
				proxy localhost:1197
			}
			@crypt2_clients openvpn {
				modes crypt2
				client_key_file /etc/openvpn/v2-client1.key
				client_key_file /etc/openvpn/v2-client2.key
				client_key_file /etc/openvpn/v2-client3.key
			}
			route @crypt2_clients {
				proxy another.machine.local:1297
			}
			route {
				tls
				proxy localhost:8080
			}
		}
		udp/:8843 {
			@anymode openvpn {
				modes plain auth crypt crypt2
			}
			route @anymode {
				proxy udp/localhost:1199
			}
			route {
				echo
			}
		}
	}
}

Disclaimer

I have tested this matcher with OpenVPN Server 2.6.8 (Linux), OpenVPN Client 3.5.0 (Windows), Viscosity 1.10.2 (macOS). Please share details and your config should you encounter any issues.
As documented in the code, digest support (auth mode) is limited to a number of Golang's standard ones, i.e. some exotic algorithms like SM3 and Whirlpool are not (yet?) included. There is a special case of MD5+SHA1 which is implemented by this matcher but its HMACs don't match those of OpenVPN clients I tested.
OpenVPN has to renegotiate connections on Caddy restart. For UDP, after the last packet the client received from the server, up to 120 seconds (default renegotiation interval) may pass before a previously established connection goes live again. TCP connections are usually renegotiated much faster.

Wow, this is impressive!
Looks like this may require Go 1.22. That's OK if so, I just want to verify that is intentional.
I have not the ability to test this myself, but I am happy to merge this in for others to test, when you are ready. :100: Thank you!

Looks like this may require Go 1.22. That's OK if so, I just want to verify that is intentional.

It is slices.Concat that prevents compiling with Go 1.21. It is used in one place though, so I can rewrite it. I wouldn't call it intentional, but forward-looking - I don't know a reason for sticking to old versions here given the mainline code already requires Go 1.22.
By the way, what do you think of switching to Go 1.22/1.23 in caddy-l4 go.mod? I suppose we would also have to update checks then.

Ah, right, I forgot that 1.21 is 2 versions old now. Yeah, we can upgrade the Go versions in the tests and Go.mod to accommodate the slices package. :+1: Want to do that in this PR?

I've prepared https://github.com/mholt/caddy-l4/pull/253. I will rebase this PR once you approve and merge that dependencies upgrade.
I suggest we merge this PR only after https://github.com/mholt/caddy-l4/issues/247 is resolved (whether with https://github.com/mholt/caddy-l4/pull/249 that works fine for me or anything else). Otherwise the first users of this matcher won't be happy with their broken UDP-based OpenVPN tunnels.

@vnxme trying to figure out the different modes you made available, when i want all my openvpn traffic to be routed to <IP_ADDRESS> could i just use this config:
{
layer4 {
:443 {
@plain openvpn {
modes plain
}
route @plain {
proxy <IP_ADDRESS>:443
}
}
}
}
}

@Juoper Does it work if you don’t set modes at all (comment out this line)? If you use UDP, modify your listener accordingly. Besides, make sure you don’t serve any https websites on the same port - if you do, then you will need a listener_wrapper for TCP traffic (and disable QUIC if you also need UDP).

i serve https on the same port, could you assist me to tell me how i can implement a listener_wrapper

@Juoper The following config will likely satisfy your needs.
{
	servers {
		listener_wrappers {
			layer4 {
				@ovpn openvpn
				route @ovpn {
					# note that a listener wrapper will proxy only TCP connections
					# since the current listener_wrappers implementation ignores UDP
					proxy tcp/<IP_ADDRESS>:443
				}
			}
			tls
		}
	}
}

example.com {
	# your options
}

Thanks a lot, this is working now, maybe someone could add some example like this to the docs?

@Juoper The caddy-l4 module is very flexible, and it's barely possible to describe all the combinations of the matchers and handlers it includes. But feel free to submit a PR and/or add examples to the wiki.


Avoid cd ios && pod install && cd ../ call when building APK

Currently running yarn install or npm install will probably fail on linux machine due to missing pod command:
$ cd ios && pod install && cd ../ && npx jetify
/bin/sh: pod: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

due to pod install call at:
https://github.com/MohGovIL/hamagen-react-native/blob/a5e1d4db92fa2d197727f26f1f4ec37f40d3d0ea/package.json#L5-L6
The user may look into how to install this dep (cocoapods) on linux by:
Debian apt-get update; apt-get install -y --no-install-recommends ruby ruby-dev make gcc libcurl4 libc6-dev git; gem install cocoapods
but it's not needed when building APK (only when building IPA for IOS which require running on macosx)
fix:

Require/Run pod install command only when building IPA file, not when building APK.
Don't run the commands cd ios && pod install && cd ../ when building apk (The ios directory not needed to exists when building APK)

At the moment it's there as the development team is working on Mac.
But this issue is correct and we should wrap that command with a script to make sure it runs only on Mac.

we should wrap that command with a script to make sure it runs only on Mac.

No, it should run only when building ipa (ios app). it's more then useless (harmful) to run it when building apk (require more deps installed which decrease build-system security, wasted cpu cycles & bandwidth for nothing, etc...)


Fail throwing Error from custom rule

Closes #20
If you throw an Error from a custom rule is not reported, failing silently. I have used the error state in the absence of an exception state, but I'm not that familiar with the implementation as to define a new state because I'm not sure of the implications.

Changes done! :+1:

:+1: Thanks! I've quickly manually tested, and everything seems to be in order. I'll get this released asap.


source.fixAll.tslint has no effect

The extension page says to use the setting below to enforce format on save:
"editor.codeActionsOnSave": {
    "source.fixAll.tslint": true
}

This has no effect, however. tslint only formats on save if the key is source.fixAll, adding the .tslint to the end breaks it.
VS Code version 1.33.0-insider
Extension version 1.0.0

Are you sure? "source.fixAll.tslint" works  just fine in my testing.
Please provide more details about your environment if it isn't working

Yes, that setting didn't work for myself or a coworker. Making the change to remove .tslint fixed it for both of us.
I can provide any info you need, what would be helpful? We're both on Windows 10, both using extension version 1.0.0. I'm on VS Code 1.33.0-insider, coworker is on 1.32.3, both user setup.
I have tslint 5.14.0 installed globally, the project is using 5.13.1. I have TS 3.3.4 installed globally, project is using 3.2.4.

Same issue also for me, but only when upgrading to VSCode >= 1.33.
I have also added a shortcut for the autoFix, but nothing happens.
Key binding:
{
    "key": "shift+alt+d",
    "command": "editor.action.codeAction",
    "args": {
      "kind": "source.fixAll.tslint",
      "apply": "first"
    },
    "when": "textInputFocus && !editorReadonly"
  }

VSCode settings:
"[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
  },
  "editor.codeActionsOnSave": {
    "source.fixAll.tslint": true
  },

Works without any problem with VSCode 1.32.x

Can confirm that the following setting is not working with vs-code 1.33.1:
    "editor.codeActionsOnSave": {
        "source.fixAll": true
    }

@ExtraBB Are you sure that command isn't working? For me at least that does work, it only breaks when the inner key is "source.fixAll.tslint".

    "source.fixAll.tslint": true
  }```
Started working for me when I updated vscode to 1.33.1 from 1.32.3

I can confirm   "editor.codeActionsOnSave": {     "source.fixAll.tslint": true }
finally just worked for me too in settings.json in 1.33.1

Closing as other people are confirming this works in 1.33

I'm on the insiders build, 1.34.0-insider, it doesn't work here. I don't know if something would go into 1.33.1 that's not in 1.34.0-insider, but it doesn't work for me.

No idea why some people see this and others don't. I tested on windows with the current insiders and it works just fine
@vaindil What other extensions do you have installed? Do you see the tslint: fix all autofixable problems entry in the lightbulb menu?

@mjbvz I disabled all extensions except this one, it still doesn't work. That entry does appear in the lightbulb menu, and clicking it does work. It just doesn't fix on save if the entry is "source.fixAll.tslint": true.

I'll re-open this but someone that can repo this needs to investigate. The problem could in VS Code itself. You can build VS Code from source, install this extension, and put a breakpoint on this line to check what code actions are returned to be run on save:
https://github.com/microsoft/vscode/blob/0918dabba5d8ad2c64d5197669192c78ecb66267/src/vs/workbench/api/browser/mainThreadSaveParticipant.ts#L302

@mjbvz After much trouble I was able to debug VS Code from source (latest version of master). I installed the tslint extension via its .vsix file from the marketplace, but the extension doesn't work. Not sure how to continue.

I can append this with more details later, but until that: for me, this issue doesn't happen all the time, but I can sometimes get a file to a state where no tslint fixes are run. Here is one example:
import * as React from 'react'

import * as Something from '../../index'
import _ from 'lodash';

console.log(React, Something, _)

In this case (and with my configuration), following tslint errors are reported, by both VSCode and by running tslint in terminal:
Import sources within a group must be alphabetized. (ordered-imports)
  2 |
  3 | import * as Something from '../../index'
> 4 | import _ from 'lodash';
  5 |
  6 | console.log(React, Something, _)
  7 |

Imports from this module are not allowed in this group.  The expected groups (in order) are: libraries, parent directories, current directory. (ordered-imports)
  2 |
  3 | import * as Something from '../../index'
> 4 | import _ from 'lodash';
  5 |
  6 | console.log(React, Something, _)
  7 |

Delete `;` (prettier)
  2 |
  3 | import * as Something from '../../index'
> 4 | import _ from 'lodash';
    |                      ^
  5 |
  6 | console.log(React, Something, _)
  7 |

Calls to 'console.log' are not allowed. (no-console)
  4 | import _ from 'lodash';
  5 |
> 6 | console.log(React, Something, _)
  7 |

tslint manages to fix these errors (except no-console) from command line using --fix just fine. However, VSCode plugin cannot do anything.
Curiously, this can be fixed by removing the probihited semicolon – after removing it from source, rest of the fixes will be applied correctly upon saving.

"editor.codeActionsOnSave": { "source.fixAll.tslint": true } also works for me to fix everything on save.
VSCode version 1.33.1
Extension version 1.0.0
Mac OSX version 10.14.4
MacBook Pro (15-inch, 2018)
Installed from package.json:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

"editor.codeActionsOnSave": { "source.fixAll.tslint": true } doesn't works for me.
VSCode about:

Version: 1.33.1 (user setup)
Commit: 51b0b28134d51361cf996d2f0a1c698247aeabd8
Date: 2019-04-11T08:27:14.102Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17134

TSLint extension: v1.0.0

Can you test this again in the latest VS Code insiders build build. This may have been fixed by https://github.com/microsoft/vscode/commit/4875cc00d5b7302e87e9f339df3aa649f739951e

I don't know if this happened as of today (I haven't recently been working with any files needing corrections), but tslint format on save isn't working at all now, even with just source.fixAll.

Just updated extension to 1.1.0, it does not format on save anymore. It's okay, I can use my hands at least now ✋
VS Code:
Version: 1.34.0 (user setup)
Commit: a622c65b2c713c890fcf4fbf07cf34049d5fe758
Date: 2019-05-15T21:59:37.030Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.16299

For the record, mine no longer auto-fixed even as of 1.0.0, I just downgraded to check. Seems a VS Code update broke it.

I also confirm that after updating to v1.34, the autofix feature doesn't work anymore.
Version: 1.34.0 (user setup)
Commit: a622c65b2c713c890fcf4fbf07cf34049d5fe758
Date: 2019-05-15T21:59:37.030Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.18362

Opened a new issue #92 for format on save being completely broken, seems to be a different issue.

Seems broken on vs code 1.35

Should be fixed in 1.2.0 by  #96

I'm using version
1.36.1
2213894ea0415ee8c85c5eea0d0ff81ecc191529
x64
and can confirm it does not work.
tslint: 5.11.0,
typescript: 3.2.
Note: My tslint is local to project, not global.
Also there is no fixAll option under SOURCE VIEW...

For me, this worked:
"editor.codeActionsOnSave": {
    "source.fixAll": true,
    "source.organizeImports": true
}

{
  "editor.codeActionsOnSave": {
    "source.fixAll": true,
    "source.organizeImports": true
  },
  "typescript.format.enable": false   // <-- begins to work when I added this one
}

{
"editor.codeActionsOnSave": {
"source.fixAll.tslint": true,
"source.organizeImports": true
},
}
this worked for me fine.
But also sometimes it may take a while to affect it. Wait a little after save.

This is still working. vscode v1.56.2
When used with Typescript files and when doing ctrl + s to save the automatic correction does not work.
  "editor.codeActionsOnSave": {
    "source.fixAll": true
  },
```


Horizontal alignment - center

That's any way to align the item centralized in the horizontalAlignment ?

Unfortunately, I see no way to achieve this properly with the current approach that the library uses.
For detailed information, see → pull request "horizontalAlignment.center".


OCPBUGS-25345: sort errs to void flapping messages

/lgtm
/approve
please cherrypick.

/jira refresh

/jira refresh

/cherry-pick release-4.15

/jira refresh

/jira refresh


[6.x] Add newCollection() method to Collection class

This PR is in reference to issue #1813 on the laravel/issues board.
The issue states that when extending the base Collection class and overriding the constructor, any custom parameters do not get transferred to new instances of the Collection.
See example:
<?php

namespace App\Collections;

use Illuminate\Support\Collection;

class TestCollection extends Collection
{
    public $foo = null;

    public function __construct($items = [], $foo = null)
    {
        parent::__construct($items);

        $this->foo = $foo;
    }
}

When calling a method that returns a new instance of the TestCollection class, the $foo property is not carried and returns to null. The only way to then modify this property is through directly settings it, which would be a bit ugly.
With this new method, you can override it in your child classes and change the parameters accordingly.
public function newCollection($items = [], $foo = null)
{
	return new static($items, $foo);
}

The tests are still passing with this change and I can't imagine there are any issues with BC.

I don't see why you would ever want to add another parameter to the constructor of a collection.
The design example you've given can simple be inversed by creating a wrapper instead of extending.
class Test
{
    public function __construct(Collection $collection, $foo = null)
}

I don't see why you would ever want to add another parameter to the constructor of a collection.
The design example you've given can simple be inversed by creating a wrapper instead of extending.
class Test
{
    public function __construct(Collection $collection, $foo = null)
}

This would be useful in case you wanted to add custom Collection methods.

@koenhoeijmakers , also creating a wrapper would involve forwarding calls onto the Collection. Another example use case can be seen in the documentation itself, https://laravel.com/docs/6.x/eloquent-collections#custom-collections
You would now be able to pass the argument to your custom collection and ensure it is passed onto new instances.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


androidthings-peripherals: Broken link in documentation

First: It seems like issue submission is disabled for the androidthings-peripherals and androidthings-weatherstation repositories. Is this intended?
I found a broken link in the androidthings-peripherals codelab:
Step 10.: Link to the Simple PIO Blink project is broken. I think the right one is https://github.com/androidthings/sample-simplepio/tree/master/java/blink instead of https://github.com/androidthings/sample-simplepio/tree/master/blink

I don't think it's intentional if the codelab's bug link is to GitHub. I'll pass this along, thanks.

Both issues are now fixed.


Add an basic system information fetcher, an basic WebSocket in C and C++ and an Error handler for web pages in C

I have added an basic system information fetcher for different OS (Mobiles included) like the one in chrome where it displays your OS Information, also an basic WebSocket in C and C++ and also an error handler for web pages in C

Added an logger based on :
https://github.com/gosub-browser/gosub-engine/discussions/242

Add client side data based on:
https://github.com/gosub-browser/gosub-engine/discussions/243

Add an configuration store :
https://github.com/gosub-browser/gosub-engine/discussions/240

@AR-DEV-1 Thanks for your work, but we are a little bit confused on what it exactly is that you are committing? Gosub is a rust based browser engine, and it is not expected to have much (except for some bindings) to include C(++) code. There also seems to be a lot of things in here that we don't understand? What is a config_store? What is client_storage, logger, websocket etc?
Before continuing, it might be a good idea to join us on the zulip developer chat (chat.developer.gosub.io) and discus what it is you are building, and see if it's something we can use. It would be a waste if you continue your work when it is something we cannot merge into our engine.


Adding Braintree plugin makes Facebook login to stop working.

I am working on an app that has social login and I am using the flutter_facebook_login plugin. It works fine, until I add another plugin - flutter_braintree. If it's added, then the app does not return any result when calling facebookLogin.logIn['email']. This happens only on Android.
I guess it's something related to the flow - going out of the app, doing something, then returning a result (both Braintree and Facebook has this flow).
I guess Braintree overrides something that makes Facebook stop working.
Any ideas what could be wrong? I've read that it might be the onActivityResult function, but I am not aware of Android development and I am not sure. Any help will be very appreciated, thanks!

I have the same problem. It seems that you are right.
I tried to open the android version of my application, I changed the order of the plugin import in the GeneratedPluginRegistrant.java, I put the facebook login plugin before the braintree one and the login works.
Only problem to do that in the flutter app. The GeneratedPluginRegistrant.java keep getting generated by the pubspec.yaml that order the plugin in alphabetical order.

@scourgy I'm a bit in rush but I think I found a quick solution just go back to flutter_braintree: 0.5.3
Pay attention to remove the caret sign so it doesn't update to the version 0.5.3+1 that I think is the one that break the facebook login plugin

@nicolobozzato I've also found something like a fix.
In the braintree plugin onActivityResult there is a check in the beginning of the method that returns true.
Just change it to return false and now everything works correctly for all of the three plugins - braintree, facebook, google.

@scourgy the check at the beginning is the portion of code added with the last version 0.5.3+1.
https://github.com/Pikaju/FlutterBraintree/pull/13
I'm not sure it's meaningful to keep that version after deactivating the code they add

You are right, returning false makes more sense in this case. I will go ahead and fix this.

Should be fixed in flutter_braintree 0.5.3+2. Sorry for the inconvenience.


Usage of "use function" namespaced method breaks dependencies

https://github.com/danielstjules/Stringy/blob/master/tests/CreateTest.php#L5
The statement of use function ... is a feature which comes in PHP 5.6 (http://php.net/manual/en/language.namespaces.importing.php). Your composer.json file however, declares that this package is compatible with PHP 5.3+. This mistake causes my build scripts to break. Please either fix composer.json declaration, or don't use namespaced function calls. Thanks!

Oops, my mistake. The code mentioned is a unit test. My PHPUnit installation somehow included all vendor package tests in deployment as well, which led to running your tests in my non-PHP-5.6 environment. Closing this one.

Glad things work :)

I had the same issue when I ran composer update: http://stackoverflow.com/questions/33663378/how-to-revert-back-composer-update , I tried to remove the test folder but it still didn't work, rm -rf tests/. How can I fix it? Thanks!


Unify testing utilities in a shared local package sidekick_test

Fixes #114
The sidekick_test package is not intended to be published. It's just needed for testing and thus only added
as a local dev_dependency to the other sidekick packages.

💪


Rename

Pull Request Test Coverage Report for Build 541

135 of 146 (92.47%) changed or added relevant lines in 15 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.267%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/flashy/storage/StorageManager.java
23
24
95.83%

src/main/java/seedu/flashy/model/CardBank.java
6
7
85.71%

src/main/java/seedu/flashy/model/ModelManager.java
40
41
97.56%

src/main/java/seedu/flashy/model/UserPrefs.java
9
11
81.82%

src/main/java/seedu/flashy/MainApp.java
7
13
53.85%

Totals

Change from base Build 539:
0.0%

Covered Lines:
2272

Relevant Lines:
2574

💛  - Coveralls


Automatic discovery of service name and tags based on Kubernetes API

This PR adds sidecar support for automatic configuration of service name and tags, based on information fetched from Kubernetes API.
This function is enabled when an A8_KUBERNETES_POD_NAME environment variable is set for the sidecar (or --kubernetes_pod_name flag / kubernetes.pod_name YAML field).
The pod name is expected to be injected into the sidecar pod using Kubernetes Downward API, for example:
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  spec:
    containers:
      - name: proxy
        image: amalgam8/a8-sidecar:latest
        .
		.
		.
        env:
          - name: A8_KUBERNETES_POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name

Design-wise, a new siedcar/identity package is added, exposing an identity.Provider interface, which allows to query for the local service instance, which is constructed both from sidecar configuration as well as Kubernetes API, depending on configuration. The identity.Provider is then passed down to the proxy service manager, as well as to the registrator. Later on, the use of this interface can be extended to support dynamic changes to the identity (e.g., in Kubernetes, service(s) and labels can change during runtime).
~Note: this PR is still work-in-progress, and hasn't been tested at all, but feedback is welcome.~
Resolves #426.

If the sidecar agent knows that it is running in K8S environment, then why do we need a special env var telling the sidecar to pick up the service name from K8S ? IOW, we can let A8_SERVICE env var be an override, if the service name was not already set. (in simplest case, we can ignore A8_SERVICE env var).

We need the pod name to basically do anything useful - fetch the pod's labels, figure out the service...
The A8_SERVICE does act as an overide - if it's set, then this is the service name (tags) used. Otherwise, and if the pod name is given, then the auto configuration mechanism kicks in.

My question is can you automatically obtain the pod's name using the K8S API in code, instead of asking the user to provide the POD name via k8s downward API ? The latter seems like some unnecessary config that needs to be added.

rshriram commented an hour ago
My question is can you automatically obtain the pod's name using the K8S API in code, instead of asking the user to provide the POD name via k8s downward API ? The latter seems like some unnecessary config that needs to be added.

Unfortunately this is necessary. There's no well-defined way for a pod to obtain its name using k8s API.
In fact, this is by design:

It is sometimes useful for a container to have information about itself, but we want to be careful not to over-couple containers to Kubernetes. The downward API allows containers to consume information about themselves or the system and expose that information how they want it, without necessarily coupling to the Kubernetes client or REST API

A potential hack would be to query k8s API for all pods, and then exhaustively search a pod with the same IP. That may work, but is not much of a robust solution.
On the upside, the user is only required to add a static, one-time stanza to its pod YAML, as opposed to the previous A8_SERVICE which need to be kept in sync with the pod's service name and labels.

The "design" choice seems like a pain :). Now I understand the need for explicitly specifying the pod name.

Please update branch as its out of date with base.

Sidecar launches nginx with the A8_SERVICE env variable, afaik. Nginx does
not depend on the specific label. It just needs a string of the form
service:tags. It picks it up from the A8_SERVICE env variable. It's value
is used during logging in the amalgam8-access-logging.conf.
If the tags are not present, nginx complains, and logs the API call with
"serviceName:"  . While this may be fine, it's kind of awkward when
explaining the gremlin concepts in bookinfo-checklist.json or displaying
the results in table output. Actually it applies for all cli displays.
Hope this helps.
On Tue, Dec 20, 2016 at 1:22 PM Zvi Cahana<EMAIL_ADDRESS>wrote:

@zcahana commented on this pull request.

In examples/k8s-bookinfo.yaml
https://github.com/amalgam8/amalgam8/pull/448:

@@ -56,8 +56,10 @@ spec:

       value: http://$(CONTROLLER_SERVICE_HOST):$(CONTROLLER_SERVICE_PORT)

     - name: A8_DISCOVERY_BACKEND

       value: kubernetes

   - name: A8_SERVICE

     value: gateway:none

   - name: A8_KUBERNETES_POD_NAME

Are you saying that nginx has been launched with A8_SERVICE=:? Can you
provide some more debug info so I can recreate?
For the gateway, nginx should be launched with
A8_SERVICE=gateway:service=gateway, which is the k8s service implemented
by this pod, along with its pod labels. If there's any dependency in our
nginx code on the presence of a none tag, then that should be fixed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/amalgam8/amalgam8/pull/448, or mute the thread
https://github.com/notifications/unsubscribe-auth/AH0qd2VcpNGlUieJLRNhP2duPWce10sZks5rKBz3gaJpZM4LOTDt
.
--

~shriram

Take a look at the current files. They have already been modified to
reflect this change
On Wed, Dec 21, 2016 at 9:03 AM Zvi Cahana<EMAIL_ADDRESS>wrote:

@zcahana commented on this pull request.
In examples/k8s-bookinfo.yaml
https://github.com/amalgam8/amalgam8/pull/448:

@@ -56,8 +56,10 @@ spec:
value: http://$(CONTROLLER_SERVICE_HOST):$(CONTROLLER_SERVICE_PORT)
- name: A8_DISCOVERY_BACKEND
value: kubernetes

   - name: A8_SERVICE

     value: gateway:none

   - name: A8_KUBERNETES_POD_NAME

How should the gremlin JSONs look like? I'm not clear as to how these tags
are matched by Gremlin. Does it expect the service to contain exactly the
tags specified in the recipe? Or them and optionally others?
Note that other services, except the gateway, have additional tags now
(all Kubernetes labels are mapped to Amalgam8 tags). For example,
productpage's nginx is launched with
A8_SERVICE=productpage:service=productpage,version=v1.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/amalgam8/amalgam8/pull/448, or mute the thread
https://github.com/notifications/unsubscribe-auth/AH0qd1wa2PKUBlx3-QS8R6zxb3l_E7A-ks5rKTG3gaJpZM4LOTDt
.

--
~shriram

@zcahana have you tested this with the bookinfo demo (not the testing one but the main demo) to make sure that the Gremlin step works as expected ?
If yes, then we can merge this PR

Also, there are merge conflicts with master. Please fix.

@zcahana I fixed some merge conflicts in the docker files. The tests are failing though, even for docker case. PTAL. I fixed issues related to elasticsearch in your k8s files. So, it should be reproducible in local environment as well, hopefully.
Note: instead of removing the "none" version tag from gateway containers, I added a version=none.


Add contributing.md

Created a walk-through for getting started with the development environment for this repository. Main focus is on devcontainers and WSL2.

@ingunnjv @tordbb added you as reviewers as I got the "vibe" that you had trouble with the WSL2+docker setup. Hopefully you could run trough this guide and a) resolve any issues you have with development-environment and correct ambiguity.


Fix to allow join of eager loaded column based on a HasMany-relationship

Hi
I was having issues implementing column search for a column showing data from a eager loaded HasMany-relationship. Treating HasMany in the same way as HasOne fixed it for me as HasMany has the getForeignKey()-method as well.
See the issue i created: #732

Merged and released on v6.18.1. Thanks a lot! 👍

Those two classes extend a base class:
if ($model instanceof HasOneOrMany) {

@ssipos90 good point, didn't notice that. Is it like that since Laravel 5.0? Can you send a PR to refactor it for proper credits on contributions? Thanks!

Since 4.x

No credits needed, you do it, please! :D


tech-insights: no longer works with Backstage v1.31.0

Plugin Name
tech-insights
📜 Description
The plugin no longer works with the latest (v1.31.0) version of Backstage.
👍 Expected behavior
Backstage should successfully start with the plugin installed.
👎 Actual Behavior with Screenshots
Backstage fails on the startup with the following error:
[1]       throw new Error(
[1]             ^
[1]
[1]
[1] Error: Service or extension point dependencies of plugin 'tech-insights' are missing for the following ref(s): serviceRef{core.tokenManager}

👟 Reproduction steps

Run yarn backstage-cli versions:bump to upgrade Backstage to the latest version.
Enable tech-insights plugin.
Run yarn dev to start Backstage

📃 Provide the context for the Bug.
That's likely related to the following change in v1.31.0:

19ff127: BREAKING: The deprecated identity and token manager services have been removed. This means that coreServices.identity and coreServices.tokenManager are gone, along with related types and utilities in other packages.

Adding the following to backend/src/index.ts as suggested int he Changelog helps:
import { ServerTokenManager, TokenManager } from '@backstage/backend-common';
import { createBackend } from '@backstage/backend-defaults';
import {
  coreServices,
  createServiceFactory,
  createServiceRef,
} from '@backstage/backend-plugin-api';

backend.add(
  createServiceFactory({
    service: createServiceRef<TokenManager>({ id: 'core.tokenManager' }),
    deps: {
      config: coreServices.rootConfig,
      logger: coreServices.rootLogger,
    },
    createRootContext({ config, logger }) {
      return ServerTokenManager.fromConfig(config, {
        logger,
        allowDisabledTokenManager: true,
      });
    },
    async factory(_deps, tokenManager) {
      return tokenManager;
    },
  }),
);

👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, but I'm happy to collaborate on a PR with someone else

I'll bring this up with the other maintainers at standup. In the meantime, I gave it a stab to move away from its usage of that service https://github.com/backstage/community-plugins/pull/1239


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2017

Questions ?
Please refer to the Backport tool documentation


migrate more backup action tests, remove obsolete test code

Signed-off-by: Steve Kriss<EMAIL_ADDRESS>Followup to #1545, moves over one additional test case and a test helper, and deletes a bunch of now-obsolete code from the old tests.

found a little more code that could be removed, added a new commit

Still 👍

@nrb PTAL when you get a chance

Yeah, please!


error 1007

Have you read the Tutorials?
yes
Have you read the FAQ and checked for duplicate open issues?
yes
What version of Shaka Player are you using?
3.2.2
Please ask your question
I am using cast application framework (CAF). Shaka-player shows error
[cast.framework.media.ShakaPlayer] category: 6 code: 6007
[cast.debug.CastDebugLogger] [Events_CORE] {"type":"ERROR","detailedErrorCode":201,"error":{"shakaErrorCode":6007,"shakaErrorData":[{"severity":2,"category ":1,"code":1007,"data":[{}],"handled":false}]}}
I read about error 6007 in the documentation.
Can you explain what causes error 1007?

You can see all error code definitions in our documentation.  For example:
https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html#value:1007
You can also look them up in this interface, which just forwards you to a URL like the one above:
https://error-code-lookup-dot-shaka-player-demo.appspot.com/
Does this help?

Thanks for the answer. I read in the documentation about the code 1007. There is a short description. I do not understand him. I would like a more detailed description.

LICENSE_REQUEST_FAILED
6007
number
The license request failed. This could be a timeout, a network failure, or a rejection by the server.

A license request failed.  There is another error embedded within to show you why:

RESPONSE_FILTER_ERROR
1007
number
A response filter threw an error.

Response filters are part of our networking system.  They are added by the application, and the application outside of Shaka Player is responsible for them.  If a filter throws an error, the request fails.
So here, your application had a response filter installed during a license request, and while trying to process the license response, the filter threw an error.
@alekzz, what method of CAF adds response filters at the level of Shaka?  Can you advise @obronov what they should look at in their application to track down this error?

@alekzz Here is my receiver.js
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const playbackConfig = new cast.framework.PlaybackConfig();

const ContentType = {
  DASH: 'application/dash+xml',
  HLS: 'application/x-mpegurl'
};
const mediaFormatID = {
  DASH: 2,
  HLS: 4
};

// Debug Logger
const castDebugLogger = cast.debug.CastDebugLogger.getInstance();
const LOG_TAG = 'MyAPP.LOG';

// Enable debug logger and show a 'DEBUG MODE' overlay at top left corner.
castDebugLogger.setEnabled(true);

// Set verbosity level for Core events.
castDebugLogger.loggerLevelByEvents = {
  'cast.framework.events.category.CORE': cast.framework.LoggerLevel.INFO,
  'cast.framework.events.EventType.MEDIA_STATUS': cast.framework.LoggerLevel.DEBUG
};

// Set verbosity level for custom tags.
castDebugLogger.loggerLevelByTags = {
    LOG_TAG: cast.framework.LoggerLevel.DEBUG,
};

playerManager.setMessageInterceptor(
  cast.framework.messages.MessageType.LOAD,
  request => {

    return new Promise((resolve, _reject) => {

      // Configure player to parse DASH content
      if (request.media.metadata.mediaFormatID == mediaFormatID.DASH) {
        request.media.contentUrl = request.media.contentUrl;
        request.media.contentType = ContentType.DASH;

        // Customize the license url for playback
        if (request.media.metadata.licenseUrl) {

          playbackConfig.licenseUrl = request.media.metadata.licenseUrl;
          playbackConfig.protectionSystem = cast.framework.ContentProtection.WIDEVINE;

          let token = request.media.metadata.token;
          let contentId = request.media.metadata.contentId;

          playbackConfig.licenseRequestHandler = requestInfo => {
            requestInfo.withCredentials = false;

            let body = {
                token: token,
                drm_info: Array.apply(null, new Uint8Array(requestInfo.content)),
                contentId: contentId
            };

            body = JSON.stringify(body);
            requestInfo.content = body;

            requestInfo.headers["Content-Type"] = "application/json";
          };
        }

      } else {
        request.media.contentType = ContentType.HLS;
        request.media.contentUrl = request.media.contentUrl;
        request.media.hlsSegmentFormat = cast.framework.messages.HlsSegmentFormat.FMP4;
        request.media.hlsVideoSegmentFormat = cast.framework.messages.HlsVideoSegmentFormat.FMP4;
      }

      // Add metadata
      let metadata = new cast.framework.messages.GenericMediaMetadata();

      metadata.title = request.media.metadata.title;
      metadata.subtitle = request.media.metadata.subtitle;

      request.media.metadata = metadata;

      resolve(request);
    });
  });

  context.start({playbackConfig: playbackConfig});

There are 3 handlers that are used by the Shaka response filters - PlaybackConfig#manifestHandler, PlaybackConfig#licenseHandler and PlaybackConfig#segmentHandler:
https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.PlaybackConfig#manifestHandler
https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.PlaybackConfig#licenseHandler
https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.PlaybackConfig#segmentHandler
I don't see any of those used in the code snippet below.
Another thing to mention - every time you change the playbackConfig object, you need to call PlayerManager#setPlaybackConfig https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.PlayerManager#setPlaybackConfig

@alekzz Thanks for the hint. Added the  playbackConfig.licenseHandler and the 6007 error was decided.
Now there is an error of 7000
[Cast.framework.media.shakaplayer] Category: 7 Code: 7000
The Call to Player.load () Was Interrupted by a Call to Player.unload () Or Another Call to Player.load ().
I obviously do not do Player.unload (). I launch only one video, i.e. multiple launch Player.load () does not occur.
Can you tell you another possible reason for the occurrence of an error of 7000?
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const playbackConfig = new cast.framework.PlaybackConfig();

const ContentType = {
  DASH: 'application/dash+xml',
  HLS: 'application/x-mpegurl'
};
const mediaFormatID = {
  DASH: 2,
  HLS: 4
};

// Debug Logger
const castDebugLogger = cast.debug.CastDebugLogger.getInstance();
const LOG_TAG = 'MyAPP.LOG';

// Enable debug logger and show a 'DEBUG MODE' overlay at top left corner.
castDebugLogger.setEnabled(true);

// Show debug overlay
// castDebugLogger.showDebugLogs(true);

// Set verbosity level for Core events.
castDebugLogger.loggerLevelByEvents = {
  'cast.framework.events.category.CORE': cast.framework.LoggerLevel.INFO,
  'cast.framework.events.EventType.MEDIA_STATUS': cast.framework.LoggerLevel.DEBUG
};

// Set verbosity level for custom tags.
castDebugLogger.loggerLevelByTags = {
    LOG_TAG: cast.framework.LoggerLevel.DEBUG,
};

playerManager.setMessageInterceptor(
  cast.framework.messages.MessageType.LOAD,
  request => {
    return new Promise((resolve, _reject) => {

      // Configure player to parse DASH content
      if (request.media.metadata.mediaFormatID == mediaFormatID.DASH) {
        request.media.contentUrl = request.media.contentUrl;
        request.media.contentType = ContentType.DASH;

        // Customize the license url for playback
        if (request.media.metadata.licenseUrl) {
          playbackConfig.licenseUrl = request.media.metadata.licenseUrl;
          playbackConfig.protectionSystem = cast.framework.ContentProtection.WIDEVINE;

          let token = request.media.metadata.token;
          let contentId = request.media.metadata.contentId;

          playbackConfig.licenseRequestHandler = requestInfo => {
            requestInfo.withCredentials = false;

            let body = {
                token: token,
                drm_info: Array.apply(null, new Uint8Array(requestInfo.content)),
                contentId: contentId
            };

            body = JSON.stringify(body);
            requestInfo.content = body;

            requestInfo.headers["Content-Type"] = "application/json";
          };
        }

      } else {
        request.media.contentType = ContentType.HLS;
        request.media.contentUrl = request.media.contentUrl;
        request.media.hlsSegmentFormat = cast.framework.messages.HlsSegmentFormat.FMP4;
        request.media.hlsVideoSegmentFormat = cast.framework.messages.HlsVideoSegmentFormat.FMP4;
      }

      castDebugLogger.warn(LOG_TAG, 'Playable URL:', request.media.contentUrl);

      // Add metadata
      let metadata = new cast.framework.messages.GenericMediaMetadata();

      metadata.title = request.media.metadata.title;
      metadata.subtitle = request.media.metadata.subtitle;

      request.media.metadata = metadata;

      resolve(request);

    });
  });

  playbackConfig.licenseHandler = data => {
    return new Promise((resolve, _reject) => {
      resolve(new Uint8Array(data));
    });
  };

  context.start({playbackConfig: playbackConfig});

It is noticed that one of the channels with drm starts up for me, but the video is not shown. Only audio works.
Other channels with drm do not work.
An error:
[Cast.framework.media.shakaplayer] Category: 7 Code: 7000
In the console, only mpd files are uploaded to the "network". Packages with video and audio do not come.
Can you suggest the reason for this behaviour?

I obviously do not do Player.unload (). I launch only one video, i.e. multiple launch Player.load () does not occur.
Can you tell you another possible reason for the occurrence of an error of 7000?

No, that should be the only reason.  It's a very simple error code.  It only fires from one place, load().  It can be triggered by an interruption from load(), unload(), detach(), or destroy().  I assume you aren't calling any of those?
Are your load() calls all handled by the Cast SDK through the LOAD message?  Or do you directly interact with a shaka.Player instance somewhere in your custom receiver app?

Are your load() calls all handled by the Cast SDK through the LOAD message?

I assume you aren't calling any of those?

I use only interceptor
playerManager.setMessageInterceptor(   cast.framework.messages.MessageType.LOAD

Are your load() calls all handled by the Cast SDK through the LOAD message?

Processed via Cast SDK

Please disregard the bot.  I've asked it not to close the issue.

Now only videos with the “avc1.4D401F” codec work for me. Videos with codecs “avc1.64001E”, “avc1.640020”, “avc1.4D4029” do not work. Due to the fact that google cast supports the "avc1.4D401F" codec, I want to replace the non-working codecs in the manifest with "avc1.4D401F".
From the google cast documentation:

manifestHandler
Handler to process manifest data. The handler is passed the manifest, and returns the modified manifest.

Therefore, in manifestHandler I replace the line with codecs.
playbackConfig.manifestHandler = data => {
 updateManifest = function(manifest) {
  return manifest.replace(/avc1.(\w*)/gi, 'avc1.4D401F');
 };
 const newManifest = updateManifest(data);
  return new Promise((resolve, _reject) => {
   resolve(newManifest);
  });
};

In the newManifest line, I see the changed codecs, but the new manifest is not applied. The data is loaded by reference to the old manifest.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const playbackConfig = new cast.framework.PlaybackConfig();

cast.framework.CastReceiverOptions.useLegacyDashSupport = true;

const ContentType = {
  DASH: 'application/dash+xml',
  HLS: 'application/x-mpegurl'
};
const mediaFormatID = {
  DASH: 2,
  HLS: 4
};

// Debug Logger
const castDebugLogger = cast.debug.CastDebugLogger.getInstance();
const LOG_TAG = 'MyAPP.LOG';

// Enable debug logger and show a 'DEBUG MODE' overlay at top left corner.
castDebugLogger.setEnabled(true);

// Show debug overlay
//castDebugLogger.showDebugLogs(true);

// Set verbosity level for Core events.
castDebugLogger.loggerLevelByEvents = {
  'cast.framework.events.category.CORE': cast.framework.LoggerLevel.INFO,
  'cast.framework.events.EventType.MEDIA_STATUS': cast.framework.LoggerLevel.DEBUG
};

// Set verbosity level for custom tags.
castDebugLogger.loggerLevelByTags = {
    LOG_TAG: cast.framework.LoggerLevel.DEBUG,
};

playerManager.setMessageInterceptor(
  cast.framework.messages.MessageType.LOAD,
  request => {
    return new Promise((resolve, _reject) => {

      // Configure player to parse DASH content
      if (request.media.metadata.mediaFormatID == mediaFormatID.DASH) {
        request.media.contentUrl = request.media.contentUrl;
        request.media.contentType = ContentType.DASH;

        // Customize the license url for playback
        if (request.media.metadata.licenseUrl) {
          playbackConfig.protectionSystem = cast.framework.ContentProtection.WIDEVINE;
          playbackConfig.licenseUrl = request.media.metadata.licenseUrl;

          let token = request.media.metadata.token;
          let contentId = request.media.metadata.contentId;

          playbackConfig.licenseRequestHandler = requestInfo => {
            let body = {
                token: token,
                drm_info: Array.apply(null, new Uint8Array(requestInfo.content)),
                contentId: contentId
            };

            body = JSON.stringify(body);
            requestInfo.content = body;

            requestInfo.headers["Content-Type"] = "application/json";
          };
        }

      } else {
        request.media.contentType = ContentType.HLS;
        request.media.contentUrl = request.media.contentUrl;
        request.media.hlsSegmentFormat = cast.framework.messages.HlsSegmentFormat.TS;
        request.media.hlsVideoSegmentFormat = cast.framework.messages.HlsVideoSegmentFormat.MPEG2_TS;
      }

      castDebugLogger.warn(LOG_TAG, 'Playable URL:', request.media.contentUrl);

      // Add metadata
      let metadata = new cast.framework.messages.GenericMediaMetadata();

      metadata.title = request.media.metadata.title;
      metadata.subtitle = request.media.metadata.subtitle;

      request.media.metadata = metadata;

      resolve(request);

    });
  });

  playbackConfig.licenseHandler = data => {
    return new Promise((resolve, _reject) => {
      resolve(new Uint8Array(data));
    });
  };

  playbackConfig.manifestHandler = data => {
    updateManifest = function(manifest) {
      return manifest.replace(/avc1.(\w*)/gi, 'avc1.4D401F');
    };

    const newManifest = updateManifest(data);

    return new Promise((resolve, _reject) => {
      resolve(newManifest);
    });
  };

  context.start({playbackConfig: playbackConfig});

We tested the shaka player separately and the video with all codecs works there.  Obviously a problem with google cast.

This is not true.  Codec support is a matter for the platform, not the player.  The Cast device likely does not actually support all of those various profiles of H264.

Now only videos with the “avc1.4D401F” codec work for me. Videos with codecs “avc1.64001E”, “avc1.640020”, “avc1.4D4029” do not work. Due to the fact that google cast supports the "avc1.4D401F" codec, I want to replace the non-working codecs in the manifest with "avc1.4D401F".

That is not a good idea.  Those codec strings convey real information to the platform about the profile of the codec used, and the hardware decoders may not support every profile, bitrate, framerate, etc.  If the platform says it does not support a specific codec string, you should trust it.  Changing the codec string to lie to the platform is only likely to get you decoder failures and performance problems that could have been avoided by the platform negotiation and filtering mechanisms already built into the player.


Cannot provision a multi-container docker environment using elastic beanstalk

Description
$ aws elasticbeanstalk create-environment --application-name "CryptoFights-Backend-Testing

" --environment-name "test123docker" --solution-stack-name "64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)"

An error occurred (InvalidParameterValue) when calling the CreateEnvironment operation: No Solution Stack named '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)' found.

Steps to reproduce
Try to provision a new elastic beanstalk environment using any of the multi-container docker solution stack names such as the one I have used above.
Observed result
$ aws elasticbeanstalk create-environment --application-name "CryptoFights-Backend-Testing" --environment-name "test123docker" --solution-stack-name "64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)" --debug
2021-03-16 20:58:43,617 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/2.1.30 Python/3.8.8 Linux/4.15.0-136-generic exe/x86_64.ubuntu.18
2021-03-16 20:58:43,617 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['elasticbeanstalk', 'create-environment', '--application-name', 'CryptoFights-Backend-Testing', '--environment-name', 'test123docker', '--solution-stack-name', '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)', '--debug']
2021-03-16 20:58:43,636 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_s3 at 0x7fda005d35e0>
2021-03-16 20:58:43,636 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_ddb at 0x7fda006f5790>
2021-03-16 20:58:43,636 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <bound method BasicCommand.add_command of <class 'awscli.customizations.configure.configure.ConfigureCommand'>>
2021-03-16 20:58:43,636 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function change_name at 0x7fda00720310>
2021-03-16 20:58:43,636 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function change_name at 0x7fda00728160>
2021-03-16 20:58:43,636 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function alias_opsworks_cm at 0x7fda00594040>
2021-03-16 20:58:43,637 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_history_commands at 0x7fda006c15e0>
2021-03-16 20:58:43,637 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <bound method BasicCommand.add_command of <class 'awscli.customizations.devcommands.CLIDevCommand'>>
2021-03-16 20:58:43,637 - MainThread - botocore.hooks - DEBUG - Event building-command-table.main: calling handler <function add_waiters at 0x7fda0058e280>
2021-03-16 20:58:43,637 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/local/aws-cli/v2/2.1.30/dist/awscli/data/cli.json
2021-03-16 20:58:43,644 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_types at 0x7fda005ec430>
2021-03-16 20:58:43,644 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function no_sign_request at 0x7fda005ecf70>
2021-03-16 20:58:43,644 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_verify_ssl at 0x7fda005ecee0>
2021-03-16 20:58:43,644 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_cli_read_timeout at 0x7fda005f00d0>
2021-03-16 20:58:43,644 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <function resolve_cli_connect_timeout at 0x7fda005f0040>
2021-03-16 20:58:43,645 - MainThread - botocore.hooks - DEBUG - Event top-level-args-parsed: calling handler <built-in method update of dict object at 0x7fda004a7880>
2021-03-16 20:58:43,645 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/2.1.30 Python/3.8.8 Linux/4.15.0-136-generic exe/x86_64.ubuntu.18 prompt/off
2021-03-16 20:58:43,645 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['elasticbeanstalk', 'create-environment', '--application-name', 'CryptoFights-Backend-Testing', '--environment-name', 'test123docker', '--solution-stack-name', '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)', '--debug']
2021-03-16 20:58:43,646 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_timestamp_parser at 0x7fda005d3c10>
2021-03-16 20:58:43,646 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function register_uri_param_handler at 0x7fda00f83a60>
2021-03-16 20:58:43,646 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_binary_formatter at 0x7fda004eeaf0>
2021-03-16 20:58:43,646 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function no_pager_handler at 0x7fda00f7dee0>
2021-03-16 20:58:43,646 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_assume_role_provider_cache at 0x7fda00f615e0>
2021-03-16 20:58:43,648 - MainThread - botocore.utils - DEBUG - IMDS ENDPOINT: http://<IP_ADDRESS>/
2021-03-16 20:58:43,651 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function attach_history_handler at 0x7fda006c14c0>
2021-03-16 20:58:43,652 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_json_file_cache at 0x7fda006ef5e0>
2021-03-16 20:58:43,670 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/local/aws-cli/v2/2.1.30/dist/botocore/data/elasticbeanstalk/2010-12-01/service-2.json
2021-03-16 20:58:43,692 - MainThread - botocore.hooks - DEBUG - Event building-command-table.elasticbeanstalk: calling handler <function add_waiters at 0x7fda0058e280>
2021-03-16 20:58:43,711 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/local/aws-cli/v2/2.1.30/dist/botocore/data/elasticbeanstalk/2010-12-01/waiters-2.json
2021-03-16 20:58:43,713 - MainThread - awscli.clidriver - DEBUG - OrderedDict([('application-name', <awscli.arguments.CLIArgument object at 0x7fda002e74c0>), ('environment-name', <awscli.arguments.CLIArgument object at 0x7fda002e7490>), ('group-name', <awscli.arguments.CLIArgument object at 0x7fda002e7520>), ('description', <awscli.arguments.CLIArgument object at 0x7fda002e7550>), ('cname-prefix', <awscli.arguments.CLIArgument object at 0x7fda002e7580>), ('tier', <awscli.arguments.CLIArgument object at 0x7fda002e75b0>), ('tags', <awscli.arguments.ListArgument object at 0x7fda002e75e0>), ('version-label', <awscli.arguments.CLIArgument object at 0x7fda002e7610>), ('template-name', <awscli.arguments.CLIArgument object at 0x7fda002e7640>), ('solution-stack-name', <awscli.arguments.CLIArgument object at 0x7fda002e7670>), ('platform-arn', <awscli.arguments.CLIArgument object at 0x7fda002e76a0>), ('option-settings', <awscli.arguments.ListArgument object at 0x7fda002e76d0>), ('options-to-remove', <awscli.arguments.ListArgument object at 0x7fda002e7700>), ('operations-role', <awscli.arguments.CLIArgument object at 0x7fda002e7730>)])
2021-03-16 20:58:43,713 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.elasticbeanstalk.create-environment: calling handler <function add_streaming_output_arg at 0x7fda005881f0>
2021-03-16 20:58:43,713 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.elasticbeanstalk.create-environment: calling handler <function add_cli_input_json at 0x7fda00f61e50>
2021-03-16 20:58:43,714 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.elasticbeanstalk.create-environment: calling handler <function add_cli_input_yaml at 0x7fda00eec160>
2021-03-16 20:58:43,714 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.elasticbeanstalk.create-environment: calling handler <function unify_paging_params at 0x7fda006f5dc0>
2021-03-16 20:58:43,736 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/local/aws-cli/v2/2.1.30/dist/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json
2021-03-16 20:58:43,737 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.elasticbeanstalk.create-environment: calling handler <function add_generate_skeleton at 0x7fda005e49d0>
2021-03-16 20:58:43,737 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.elasticbeanstalk.create-environment: calling handler <bound method OverrideRequiredArgsArgument.override_required_args of <awscli.customizations.cliinput.CliInputJSONArgument object at 0x7fda002e7880>>
2021-03-16 20:58:43,737 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.elasticbeanstalk.create-environment: calling handler <bound method OverrideRequiredArgsArgument.override_required_args of <awscli.customizations.cliinput.CliInputYAMLArgument object at 0x7fda002e78b0>>
2021-03-16 20:58:43,737 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.elasticbeanstalk.create-environment: calling handler <bound method GenerateCliSkeletonArgument.override_required_args of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fda002e7a00>>
2021-03-16 20:58:43,740 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.application-name: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,741 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.elasticbeanstalk.create-environment: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7fda00f2b5b0>
2021-03-16 20:58:43,741 - MainThread - awscli.arguments - DEBUG - Unpacked value of 'CryptoFights-Backend-Testing' for parameter "application_name": 'CryptoFights-Backend-Testing'
2021-03-16 20:58:43,741 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.environment-name: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,741 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.elasticbeanstalk.create-environment: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7fda00f2b5b0>
2021-03-16 20:58:43,741 - MainThread - awscli.arguments - DEBUG - Unpacked value of 'test123docker' for parameter "environment_name": 'test123docker'
2021-03-16 20:58:43,741 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.group-name: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,741 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.description: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,741 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.cname-prefix: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,741 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.tier: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,742 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.tags: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,742 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.version-label: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,742 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.template-name: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,742 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.solution-stack-name: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,742 - MainThread - botocore.hooks - DEBUG - Event process-cli-arg.elasticbeanstalk.create-environment: calling handler <awscli.argprocess.ParamShorthandParser object at 0x7fda00f2b5b0>
2021-03-16 20:58:43,742 - MainThread - awscli.arguments - DEBUG - Unpacked value of '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)' for parameter "solution_stack_name": '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)'
2021-03-16 20:58:43,742 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.platform-arn: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,742 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.option-settings: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.options-to-remove: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.operations-role: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.cli-input-json: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.cli-input-yaml: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.elasticbeanstalk.create-environment.generate-cli-skeleton: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fda004d6310>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event calling-command.elasticbeanstalk.create-environment: calling handler <bound method CliInputArgument.add_to_call_parameters of <awscli.customizations.cliinput.CliInputJSONArgument object at 0x7fda002e7880>>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event calling-command.elasticbeanstalk.create-environment: calling handler <bound method CliInputArgument.add_to_call_parameters of <awscli.customizations.cliinput.CliInputYAMLArgument object at 0x7fda002e78b0>>
2021-03-16 20:58:43,743 - MainThread - botocore.hooks - DEBUG - Event calling-command.elasticbeanstalk.create-environment: calling handler <bound method GenerateCliSkeletonArgument.generate_skeleton of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fda002e7a00>>
2021-03-16 20:58:43,744 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: env
2021-03-16 20:58:43,744 - MainThread - botocore.credentials - INFO - Found credentials in environment variables.
2021-03-16 20:58:43,745 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /usr/local/aws-cli/v2/2.1.30/dist/botocore/data/endpoints.json
2021-03-16 20:58:43,755 - MainThread - botocore.hooks - DEBUG - Event choose-service-name: calling handler <function handle_service_name_alias at 0x7fda02317af0>
2021-03-16 20:58:43,756 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.elastic-beanstalk: calling handler <function add_generate_presigned_url at 0x7fda02344ee0>
2021-03-16 20:58:43,759 - MainThread - botocore.endpoint - DEBUG - Setting elasticbeanstalk timeout as (60, 60)
2021-03-16 20:58:43,760 - MainThread - botocore.hooks - DEBUG - Event provide-client-params.elastic-beanstalk.CreateEnvironment: calling handler <function base64_decode_input_blobs at 0x7fda004f1280>
2021-03-16 20:58:43,761 - MainThread - botocore.hooks - DEBUG - Event before-parameter-build.elastic-beanstalk.CreateEnvironment: calling handler <function generate_idempotent_uuid at 0x7fda02338b80>
2021-03-16 20:58:43,761 - MainThread - botocore.hooks - DEBUG - Event before-call.elastic-beanstalk.CreateEnvironment: calling handler <function inject_api_version_header_if_needed at 0x7fda0233d430>
2021-03-16 20:58:43,761 - MainThread - botocore.endpoint - DEBUG - Making request for OperationModel(name=CreateEnvironment) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'aws-cli/2.1.30 Python/3.8.8 Linux/4.15.0-136-generic exe/x86_64.ubuntu.18 prompt/off command/elasticbeanstalk.create-environment'}, 'body': {'Action': 'CreateEnvironment', 'Version': '2010-12-01', 'ApplicationName': 'CryptoFights-Backend-Testing', 'EnvironmentName': 'test123docker', 'SolutionStackName': '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)'}, 'url': 'https://elasticbeanstalk.us-east-1.amazonaws.com/', 'context': {'client_region': 'us-east-1', 'client_config': <botocore.config.Config object at 0x7fda000c2430>, 'has_streaming_input': False, 'auth_type': None}}
2021-03-16 20:58:43,762 - MainThread - botocore.hooks - DEBUG - Event request-created.elastic-beanstalk.CreateEnvironment: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7fda000c24f0>>
2021-03-16 20:58:43,762 - MainThread - botocore.hooks - DEBUG - Event choose-signer.elastic-beanstalk.CreateEnvironment: calling handler <function set_operation_specific_signer at 0x7fda02338a60>
2021-03-16 20:58:43,762 - MainThread - botocore.auth - DEBUG - Calculating signature using v4 auth.
2021-03-16 20:58:43,762 - MainThread - botocore.auth - DEBUG - CanonicalRequest:
POST
/

content-type:application/x-www-form-urlencoded; charset=utf-8
host:elasticbeanstalk.us-east-1.amazonaws.com
x-amz-date:20210317T015843Z

content-type;host;x-amz-date
790297dd86288d1bf739af1b6e8cb3cdb1782007c2a41a0247b99e44e68fcc82
2021-03-16 20:58:43,762 - MainThread - botocore.auth - DEBUG - StringToSign:
AWS4-HMAC-SHA256
20210317T015843Z
20210317/us-east-1/elasticbeanstalk/aws4_request
21a1bf2c780db40366300930e56d50a855b10f3a3eb6dd17362c7fb59b8702ca
2021-03-16 20:58:43,763 - MainThread - botocore.auth - DEBUG - Signature:
90f4563d0a68c4fd7394a8c20df67299eae20d1553e5583f11229d1335491c59
2021-03-16 20:58:43,763 - MainThread - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://elasticbeanstalk.us-east-1.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'aws-cli/2.1.30 Python/3.8.8 Linux/4.15.0-136-generic exe/x86_64.ubuntu.18 prompt/off command/elasticbeanstalk.create-environment', 'X-Amz-Date': b'20210317T015843Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIATL3QGG5VNW3Q3W65/20210317/us-east-1/elasticbeanstalk/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=90f4563d0a68c4fd7394a8c20df67299eae20d1553e5583f11229d1335491c59', 'Content-Length': '228'}>
2021-03-16 20:58:43,764 - MainThread - botocore.httpsession - DEBUG - Certificate path: /usr/local/aws-cli/v2/2.1.30/dist/botocore/cacert.pem
2021-03-16 20:58:43,764 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): elasticbeanstalk.us-east-1.amazonaws.com:443
2021-03-16 20:58:44,044 - MainThread - urllib3.connectionpool - DEBUG - https://elasticbeanstalk.us-east-1.amazonaws.com:443 "POST / HTTP/1.1" 400 386
2021-03-16 20:58:44,045 - MainThread - botocore.parsers - DEBUG - Response headers: {'Content-Type': 'text/xml', 'Date': 'Wed, 17 Mar 2021 01:58:43 GMT', 'x-amzn-RequestId': 'dc924728-4e1e-46fd-a836-5d3804604566', 'Content-Length': '386', 'Connection': 'keep-alive'}
2021-03-16 20:58:44,045 - MainThread - botocore.parsers - DEBUG - Response body:
b'<ErrorResponse xmlns="http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/">\n  <Error>\n    <Type>Sender</Type>\n    <Code>InvalidParameterValue</Code>\n    <Message>No Solution Stack named \'64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)\' found.</Message>\n  </Error>\n  <RequestId>dc924728-4e1e-46fd-a836-5d3804604566</RequestId>\n</ErrorResponse>\n'
2021-03-16 20:58:44,049 - MainThread - botocore.hooks - DEBUG - Event needs-retry.elastic-beanstalk.CreateEnvironment: calling handler <bound method RetryHandler.needs_retry of <botocore.retries.standard.RetryHandler object at 0x7fda000c2ee0>>
2021-03-16 20:58:44,050 - MainThread - botocore.retries.standard - DEBUG - Not retrying request.
2021-03-16 20:58:44,050 - MainThread - botocore.hooks - DEBUG - Event after-call.elastic-beanstalk.CreateEnvironment: calling handler <bound method RetryQuotaChecker.release_retry_quota of <botocore.retries.standard.RetryQuotaChecker object at 0x7fda000c2b20>>
2021-03-16 20:58:44,051 - MainThread - awscli.clidriver - DEBUG - Exception caught in main()
Traceback (most recent call last):
  File "awscli/clidriver.py", line 457, in main
  File "awscli/clidriver.py", line 586, in __call__
  File "awscli/clidriver.py", line 762, in __call__
  File "awscli/clidriver.py", line 893, in invoke
  File "awscli/clidriver.py", line 905, in _make_client_call
  File "botocore/client.py", line 249, in _api_call
  File "botocore/client.py", line 568, in _make_api_call
botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the CreateEnvironment operation: No Solution Stack named '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)' found.

An error occurred (InvalidParameterValue) when calling the CreateEnvironment operation: No Solution Stack named '64bit Amazon Linux 2018.03 v2.25.0 running Multi-container Docker 19.03.13-ce (Generic)' found.

Expected result
Should not get this error even if the actual environment does not get created as I am not specifying many other parms (such as instance details etc.)
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

OS: Ubuntu 18.04
EBCLI version: EB CLI 3.19.0 (Python 3.7.2)
AWS CLI version: aws-cli/2.1.30 Python/3.8.8 Linux/4.15.0-136-generic exe/x86_64.ubuntu.18 prompt/off

@ashishchandr70 thanks for reaching out. It seems like the Multicontainer Docker version you are trying to use is deprecated and no longer avaialble.
You can find the retired platform versions information here.
Elastic Beanstalk supported platforms list all currently supported EB platform versions.
Latest version for Multicontainer docker is Multicontainer Docker version 2.25.1.
aws elasticbeanstalk create-environment --application-name "CryptoFights-Backend-Testing" --environment-name "test123docker" --solution-stack-name "64bit Amazon Linux 2018.03 v2.25.1 running Multi-container Docker 19.03.13-ce (Generic)"

Closing this issue here. Feel free to reopen it if you have any questions. thanks!

Thanks Palak. I did not realize that v2.25.0 was no longer in use. I have moved over to v2.25.1 and was able to create an environment from aws-cli.


If the groups mutable array is emptied at some point before cellForRowAt...

...IndexPath is called, this can cause a crash.
Intermittently I've come across a crash when taking photos with the camera using this library, and Crashlytics reports this as being an NSRange Exception: Index 0 beyond bounds for empty array as seen below. I've found this a tough nut to crack in terms of reproducibility, but I can say that it only seems to happen when taking a photo. Also, this was mentioned in a side-comment on https://github.com/uzysjung/UzysAssetsPickerController/issues/20.

This was quite puzzling to me as normally cellForRowAtIndexPath: isn't called when the data source array is empty, so I figured there was some issue where perhaps the groups property on the UzysGroupPickerView was altered without updating the tableview.
In going through the code briefly in an attempt to track down the issue, my understanding is that the UzysAssetsPickerController has a UzysGroupPickerView property that it initializes with the groups mutable array property in the picker controller's view did load process, and there are a few places in which the picker controller updates the groups property on itself without updating the groups property on the groupPicker.
My observations seemed to be the opposite of what I was expecting when I hypothesized the issue, so I figured because you have a better understanding of how this all works perhaps you might know what the issue may be.
Either way this seemingly superfluous check to ensure that the groups count is greater than 0 before attempting to obtain an objectAtIndex: in the groups property of the picker view should at least prevent this crash in the short-term until the deeper cause is determined. Let me know what you think.

Thanks mamaral.

Is it fixed?


Fatal error handling memory limit increase

When an Out of Memory Fatal error occurs the $reservedMemory allocated is not enough when the memory limit is hit due to a large DB query (both Sentry and BugSnag were unable to report many of our out of memory errors until we increased this value). If you don't think the default should be updated, then it should at least be user-configurable as it's very important that memory limit errors not go unnoticed/unreported.  Thanks!

Please send this to the 6.x branch. :)

There's no way we can go as high as 5MB out of the box, though, tbh. That's more than some people's apps will use...

then it should at least be user-configurable as it's very important that memory limit errors not go unnoticed/unreported.

It is user configurable. You can choose which bootstrappers are run in your own app. :)


Destructing

Hi, i have a question regarding destructing, will this new assignments work while destructing? this can be very handy for example 😄 :
const { a ??= "value" } = someVariable.
Current default assign while destructing only checks for undefined so nullish check can help a lot

I remember this was discussed before and could be a follow-on proposal.


Add *Gui.Ascii to enable ASCII line art

If *Gui.Ascii is true then use ASCII instead of unicode to draw the interface. Using ASCII is more portable.

Seems good to me. But we should modify code to change Ascii always when we met the problem.

Current gocui release does not support wide chars (v0.4 will do). So, for the moment, I feel that gocui users should be the ones setting  the value of *Gui.Ascii, based on the logic that better fits their needs.


Word wrapping on data-subtext if the text is too long

Same problem herein v1.13.1, when adding subtext that is really long, the dropdown menu becomes too wide and the text does not wrap when exceeding the selector's width. I've tried to set data-width attribute, but that doesn't affect the dropdown menu. Spent several hours to implement a hack to get this fixed, but nothing seems to work so far.

Fixed (but it's a hack):
.bootstrap-select .dropdown-menu {
	width: 100%;
}

.bootstrap-select .dropdown-menu li small {
	white-space: normal;
}

Fixed (but it's a hack):
.bootstrap-select .dropdown-menu {
	width: 100%;
}

.bootstrap-select .dropdown-menu li small {
	white-space: normal;
}

if fix by this way, data-size not working

Hey, sorry for opening an old issue @caseyjhol, can you assist me on how to use v1.13.18 with

white-space or any other way to cut long text in <option>
without extra space at the bottom

white-space: normal; seems to work for v1.12, however it does add extra space in v1.13.18 when opening the menu.

Thanks in advance 😃
Configuration
Most basic dropdown configuration
$element.addClass('selectpicker').selectpicker({
    container: 'body'
});

with the custom rule for the white-space
.bootstrap-select .dropdown-item {
    white-space: normal;
}

which affects the dropdown height

References
I went through all options, there isn't any to "handle" the algorithm for the Height of .dropdown-menu
https://developer.snapappointments.com/bootstrap-select/options/

upvoting for @Bogatinov request


Version isn't being correctly set for tigerbeetle version

See https://github.com/tigerbeetle/tigerbeetle/pull/1043.

oups, that's me!
https://github.com/tigerbeetle/tigerbeetle/blob/e5e732444d7a1593445655de42063f4c5cc64d2b/src/shell.zig#L195
will fix!


Any tips on how to run on a card with 11gb VRAM

I'm trying to run the model on my RTX 2080ti, but so far I haven't been able to succeed.
The video memory consumption is too high and when running with the standard workflow settings (loading the model on bf16) I get a crash and the message "Allocation on device".
But if I enable the fp16 mode and model dtype fp8_e4m3fn then the model loads without crashes, but during the execution of the PyramidFlow Sampler block, the memory consumption is just crazy. This goes beyond the video card memory and Shared GPU Memory starts working and the processing time tends to infinity.
I read that others run the model with less memory consumption, so I think maybe I'm doing something wrong?
I have already deleted and re-downloaded ComfyUI portable and the required nodes, but the result has not changed.

It's very close to what it needs, maybe you have some other software take up VRAM in Windows? With my large monitor and having browser up with many tabs etc. Windows can take 1-3GB VRAM on it's own.

No, my standard system video memory consumption is 0.6 - 0.9Gb, so before launching ComfyUI I close any software or utilities that can affect video memory consumption.

That's odd then, with fp8 it's not even taking 10GB for me... I'm on torch 2.4.1 cu124, not sure what else could affect it.

“2080ti doesn’t support BF16, so I can only use FP16, but FP16 throws NaN errors. I tried running it with FP8, but the memory usage is outrageous. Even with 22GB of VRAM, it still runs out of memory.”

“2080ti doesn’t support BF16, so I can only use FP16, but FP16 throws NaN errors. I tried running it with FP8, but the memory usage is outrageous. Even with 22GB of VRAM, it still runs out of memory.”

Yeah the same. If I run in fp16 I get the error "nan in latents" in the "PyramidFlow Sampler" block, and with fp8 the memory consumption is simply outrageous.
I'm not sure if "CPU offloading" is implemented in these nodes (I just couldn't find any setting with a similar name), but by analogy with CogVideoX, it could help launch the model on video cards with a smaller amount of VRAM.
Although CogVideoX also didn't launch for me without "CPU offloading" enabled on the standard model. But the GGUF version launched without "CPU offloading" enabled.
I hope that @kijai will add the "CPU offloading" setting (if it's not already implemented) and GGUF support when the model appears, I'm sure that the community will soon release a GGUF version of PyramidFlow.

I'm on torch 2.4.1 cu124

I have the same version, so unfortunately this is apparently not the reason.

“2080ti doesn’t support BF16, so I can only use FP16, but FP16 throws NaN errors. I tried running it with FP8, but the memory usage is outrageous. Even with 22GB of VRAM, it still runs out of memory.”

Yeah the same. If I run in fp16 I get the error "nan in latents" in the "PyramidFlow Sampler" block, and with fp8 the memory consumption is simply outrageous.
I'm not sure if "CPU offloading" is implemented in these nodes (I just couldn't find any setting with a similar name), but by analogy with CogVideoX, it could help launch the model on video cards with a smaller amount of VRAM. Although CogVideoX also didn't launch for me without "CPU offloading" enabled on the standard model. But the GGUF version launched without "CPU offloading" enabled.
I hope that @kijai will add the "CPU offloading" setting (if it's not already implemented) and GGUF support when the model appears, I'm sure that the community will soon release a GGUF version of PyramidFlow.

CPU offloading was the first thing I added, before it was in the main code, it's enabled by default and to disable it you'd have to enable the "keep_model_loaded" option. It just means moving the text encoder (and VAE) to CPU (which means RAM) after the prompt (or input image) has been encoded. Also to offload the main model before decoding so that it has all available VRAM as well.
This issue seems more about the dtype, it's an issue known in the original repo and tracked here:
https://github.com/jy0205/Pyramid-Flow/issues/25
Currently it just doesn't seem to support fp16.

Yes, I also noticed that in fp32 everything works fine, but it still doesn't fit in 11gb, damn NVIDIA, why couldn't they add another damn gigabyte to the top card of the 20 series :)
Generation starts, but the generation speed is of course terrible, apparently this is because Shared GPU Memory is used.

Looks like I can only wait for the GGUF version :(

i'll test it on RTX 3060 12GB

miniflux should solve this in addition to the sequential_cpu_offloading