ReferenceError: XMLHttpRequest is not defined on SSR

ReferenceError: XMLHttpRequest is not defined
    at Object.ajax (/code/frontend/node_modules/i18next-xhr-backend/dist/commonjs/ajax.js:46:5)
    at /code/frontend/node_modules/i18next-xhr-backend/dist/commonjs/index.js:110:24
    at Array.forEach (<anonymous>)
    at Backend.create (/code/frontend/node_modules/i18next-xhr-backend/dist/commonjs/index.js:107:17)
    at /code/frontend/node_modules/i18next-chained-backend/dist/commonjs/index.js:92:25
    at Array.forEach (<anonymous>)
    at Backend.create (/code/frontend/node_modules/i18next-chained-backend/dist/commonjs/index.js:91:21)
    at Connector.saveMissing (/code/frontend/node_modules/i18next/dist/commonjs/BackendConnector.js:295:20)
    at send (/code/frontend/node_modules/i18next/dist/commonjs/Translator.js:195:37)
    at Translator.translate (/code/frontend/node_modules/i18next/dist/commonjs/Translator.js:210:13)
    at I18n.t (/code/frontend/node_modules/i18next/dist/commonjs/i18next.js:356:73)
    at Interpolate.fixedT [as t] (/code/frontend/node_modules/i18next/dist/commonjs/i18next.js:342:21)
    at Interpolate.render (/code/frontend/node_modules/react-i18next/dist/commonjs/Interpolate.js:58:25)
    at d (/code/frontend/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:28:211)
    at wa (/code/frontend/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:28:493)
    at a.render (/code/frontend/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:18)

i18n
    .use(Backend)
    .use(intervalPlural)
    .use(languageDetector)
    .use(reactI18nextModule)
    .init(
        {
            fallbackLng: false,
            saveMissing: true,
            appendNamespaceToCIMode: true,

            // allow keys to be phrases having `:`, `.`
            nsSeparator: false,
            keySeparator: false,

            // have a common namespace used around the full app
            ns: ['translations'],
            defaultNS: 'translations',

            debug: false,
            react: { wait: true },

            // Language detection
            detection: {
                // order and from where user language should be detected
                order: ['urlDetector', 'querystring', 'cookie', 'localStorage', 'navigator', 'htmlTag'],

                // keys or params to lookup language from
                lookupCookie: 'locale',
                lookupQuerystring: 'lng',
                lookupLocalStorage: 'i18nextLng',

                // cache user language on
                caches: ['localStorage', 'cookie'],
                excludeCacheFor: ['cimode'], // languages to not persist (cookie, localStorage)

                // optional expire and domain for set cookie
                // cookieMinutes: 10,
                // cookieDomain: 'myDomain',

                // optional htmlTag with lang attribute, the default is:
                // htmlTag: document.documentElement,
            },

            backend: {
                backends: [
                    XHR
                ],

                backendOptions: [
                    {
                        // path where resources get loaded from, or a function
                        loadPath: '/api/translations/{{lng}}/{{ns}}',

                        // path to post missing resources
                        addPath: '/api/translations/add/{{lng}}/{{ns}}',

                        // your backend server supports multiloading
                        // /locales/resources.json?lng=de+en&ns=ns1+ns2
                        allowMultiLoading: false, // set loadPath: '/locales/resources.json?lng={{lng}}&ns={{ns}}' to adapt to multiLoading

                        // allow cross domain requests
                        crossDomain: false,

                        // allow credentials on cross domain requests
                        withCredentials: false,
                    },
                ],
            },
        },
        error => {
            if (error) {
                logger.error(error);
            }
        }
    );

the xhr-backend is not "universal" you will need to use node-fs-backend on serverside to load translations from filesystem, see example:
nextjs: https://github.com/zeit/next.js/blob/canary/examples/with-react-i18next/server.js#L10
razzle: https://github.com/i18next/react-i18next/blob/master/example/razzle-ssr/src/server.js#L12

xhr-backend is not "universal"

@tavurth
All you have to do is to define another "ajax" (https://github.com/i18next/i18next-xhr-backend/blob/0ec7d848236c379a90017fff53640380a4d0d46c/src/index.js#L11)
I suggest axios.
Eg
import i18next from 'i18next';
import XHR from 'i18next-xhr-backend';
import axios from 'axios';

i18next
  .use(XHR)
  .init({
    backend: {
        ajax: axios
        ...
    }
  });

Now you have a universal backend plugin.

The main goal of the backend is to be small - no need to pull in an axios module. There is already plenty backends: https://www.i18next.com/overview/plugins-and-utils#backends
On node.js server you will use fs-backend anyway.
Creating a own backend is very simple by the way: https://www.i18next.com/misc/creating-own-plugins#backend
You might create one based on axios for your case and share it with the community?

I don't really see the point to pollute NPM more. This already do the trick perfectly for the ones who need a universal plugin.
https://github.com/i18next/i18next-xhr-backend/issues/281#issuecomment-416757169

can life with that...;) the only thing for sure is - i won't do it...

¯_(ツ)_/¯

It's actually worth recommending it for those already using Axios who don't want another dependency.

@Vadorequest hm...might rename it to i18next-xhr-access-module-that-uses-xhr-to-load-data-from-backend...but might live with the silly joke...

And what dependecy...this uses browser native XMLHttpRequest no axios or other big dependency for doing simple xhr

I meant, I prefer to use Axios that is already a dependency in my case, rather than using a custom backend or another backend that is universal, to avoid an extra dependency.
So, the point of all this is, it was a good thing @arsnl mentioned it, despite the fact you weren't too fond of it. 😉

I'm facing the same issue. Must I create a node backend? Is there any plug-in npm for gatsby.js?

@roooby There are several backends for node, like: https://github.com/i18next/i18next-node-fs-backend or https://github.com/i18next/i18next-node-remote-backend...
it depends... https://www.i18next.com/overview/plugins-and-utils#backends


nord's playbar has a very tiny hitbox that is hard to click on

Environment

Spotify Version: 1:<IP_ADDRESS>5-2
Spicetify Version: 2.36.4
Platform (WIN, MAC, LINUX): linux

Addons
[name1, name2] or [] if none

Extensions: []
Custom Apps: []
Snippets: []

Spicetify Config
Screenshot / File Upload

spicetify config-dir in terminal
config-xpui.ini

Theme Information

Export Of Comfy Settings: placeholder
Installed via Marketplace Or CLI: placeholder

Describe the bug
nord has a very tiny playbar and thats not the issue, the issue is that it has a very tiny hitbox which you cant click on near the bottom of the spotify window because it just cuts off
i suggest making its hitbox like with no additional features but leave it unchanged visually.
Screenshots

Please also provide devtools errors/debug messages if possible:

Spicetify enable-devtools
open devtools (ctrl+shift+i on windows)
enable verbose -> https://imgur.com/a/0NIAiuP
press ctrl + r to reload

the new clickable area


Virtualize ComboBox dropdown

GitHub Issue (If applicable): fixes #555

PR Type
What kind of change does this PR introduce?

Feature

Inherit CarouselPanel from VirtualizingPanel (for now borrows layouting logic from ItemsStackPanel)
Fixes to measure properly on iOS
Ensure selected item is always in view when dropdown opens

What is the current behavior?

ComboBox dropdown isn't virtualized. Extremely slow for large numbers of items.
What is the new behavior?

Now it's virtualized.
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tested code with current supported SDKs
[ ] Docs have been added/updated which fit documentation template. (for bug fixes / features)
[x] Unit Tests and/or UI Tests for the changes have been added (for bug fixes / features) (if applicable)
[ ] Wasm UI Tests are not showing unexpected any differences
[x] Contains NO breaking changes
[ ] Updated the Release Notes
[x] Associated with an issue (GitHub or internal)

Other information

Internal Issue (If applicable):

/azp run


Threshold from view to threshold

When using a threshold larger than the image height, then the image wont be loaded since it's considered outside the viewport.
In my opinion, everything from what is currently visible to the threshold should be considered in the viewport and thus be loaded. E.g. Using a threshold of 2000px should load all images from current pos to current pos + 2000; not only from current pos + 2000.

Try to understand what you wrote: "from current pos to current pos + 2000; not only from current pos + 2000"
You meant load all images before current pos as well? It might be a feature but not the default behavior.

Repo unmaintained sorry


Support non-embedded targets

Currently defmt only works in ELF targets, and requires a custom linker script. Is supporting non-embedded targets in the radar?

Targets that don't use ELF: Windows, iOS, MacOS
Targets that do use ELF, but modifying the linker script is not as practical: Linux, Android

I think the most portable way would be to not rely en ELF/linker tricks and have the proc macros hit flat files (or a sqlite DB?) to assign indexes to format strings.
This would be a big change, so if you don't want to do this because the only goal is supporting embedded devices, I understand :) I thought I'd open this issue to confirm.

This certainly sounds like a desirable feature and feasible if someone likes to contribute or fund it.

Is it possible to make defmt works on standard x86 linux? It fails to link with the custom linker script. If I don't use the custom linker script readelf still shows a section that contains my log strings. However when running defmt-print on the ELF it fails with: Error: .defmt data not found.

Is it possible to make defmt works on standard x86 linux?

No OS is supported at the moment; that's what this issue is about. What you are describing are the symptoms of several unimplemented things.

It fails to link with the custom linker script.

sounds about right. wouldn't know the exact reason off the top of my head but may be related to Linux binaries being relocatable. Firmware images use absolute addresses for everything (relocation=static in linker/compiler lingo). This ("format string 'interning'" is probably the hardest thing to fix / design / implement. More so on platforms that don't use the ELF format: macOS and Windows.

If I don't use the custom linker script readelf still shows a section that contains my log strings.

(interesting that they "survive" (are not discarded by the linker) the linking process)

However when running defmt-print on the ELF it fails with: Error: .defmt data not found.

without the custom linker script the log strings won't end in the right place so the .defmt linker section is not created hence the error message

The other thing that's missing is a transport crate for Linux and other OSes. That crate defines how the encoded/compressed defmt data is output (e.g. framing) and to where (e.g. stdout, a file, a named pipe, a socket, etc.). You would then pass this defmt data to defmt-print

Is there any hope of making it work by setting the right compiler flags so that the log strings are "at the right place"? I don't know much about linking so maybe I am missing the point

maybe? I'm familiar with the details of static linking but not the details of dynamic / relocatable linking so I can't answer that

With the following parameters linking succeed but the program segfault immediately.
I think the default defmt script might overwrite stuff.
  -C relocation-model=static  -C target-feature=+crt-static  -C link-arg=-Tdefmt.x

I had assume that the default linker script was always passed as a parameter. Looks like is it not. After adding it to .cargo/config my program compiles and runs, and defmt-print decode frames correctly.
[target.x86_64-unknown-linux-musl]
rustflags = [
  "-C", "target-feature=+crt-static",
  "-C", "relocation-model=static",
  "-C", "link-arg=-T/usr/x86_64-linux-musl/usr/lib/ldscripts/elf_x86_64.x",
  "-C", "link-arg=-Tdefmt.x"
]

[build]
target = "x86_64-unknown-linux-musl"

It seems to works fine without +crt-static but not without relocation-model=static. For both musl and glibc.

@DBLouis, very cool that you made it work! 🎉  What is your usecase that makes you want to use defmt over log?

Use case can be that there is a no_std lib that is primarily meant for embedded devices and it has bunch of defmt prints in there and you wanna use this lib also on x86.
It seems one way to do it is just to add different feature flags to the lib itself: https://github.com/embassy-rs/embassy/blob/master/embassy/src/fmt.rs

Use case can be that there is a no_std lib that is primarily meant for embedded devices and it has bunch of defmt prints in there and you wanna use this lib also on x86.

That would work, but I think the goal is to have binary logging on hosted targets, for things like embedded linux where there are storage limitations with normal logging.

Came across this while working on a defmt-serial target: https://github.com/gauteh/defmt-serial. Wrote an example for the host environment, works with: https://github.com/knurling-rs/defmt/issues/463#issuecomment-894677833:
❯ DEFMT_LOG=debug cargo run
   Compiling defmt-serial v0.1.0 (/home/gauteh/dev/embedded/defmt-serial)
   Compiling example-std v0.1.0 (/home/gauteh/dev/embedded/defmt-serial/example-std)
    Finished dev [unoptimized + debuginfo] target(s) in 0.54s
     Running `bash defmt-print-runner.sh target/x86_64-unknown-linux-musl/debug/example-std`
Hello, world!
Logging to info with defmt..
Good bye.
INFO  Hello defmt-world!
└─ example_std::main @ src/main.rs:28
DEBUG Now at: 0
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 1
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 2
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 3
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 4
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 5
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 6
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 7
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 8
└─ example_std::main @ src/main.rs:31
...
DEBUG Now at: 45
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 46
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 47
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 48
└─ example_std::main @ src/main.rs:31
DEBUG Now at: 49
└─ example_std::main @ src/main.rs:31
WARN  Done!
└─ example_std::main @ src/main.rs:34
^C
defmt-serial/example-std on  main via 🦀 v1.61.0-nightly

That is great to see @gauteh! Is there anything we can do to support non-embedded targets better?

If anyone is working on this, you might find the linker scripts and tooling in the google/pigweed/pw_tokeniser directory useful. It's all written in c++ but works for host/embedded-arm but uses similar mechanisms to what defmt uses. i.e. pw_tokeniser and defmt offer very similar functionality.

Hello,
I saw this issue and since I don't see much work around it after 2 years I was wondering if there's a way to circumvent defmt logging all together?
Right now https://github.com/knurling-rs/defmt/issues/463#issuecomment-894677833 seems to be working for linux -gnu as well, the only problem I'm encountering is that doc tests started failing.
I'm using defmt_serial with an StdoutSerial impl from the std example.
note: /usr/bin/ld: /mnt/Disk/Projects/lechev.space/netbox/netbox-hardware/target/x86_64-unknown-linux-gnu/debug/deps/libnetbox_firmware-5b6d3b1c9ed15201.rlib(netbox_firmware-5b6d3b1c9ed15201.14bxe1s9urqapwuu.rcgu.o): relocation R_X86_64_32 against symbol `rust_eh_personality' can not be used when making a PIE object; recompile with -fPIE
          /usr/bin/ld: failed to set dynamic section sizes: bad value
          collect2: error: ld returned 1 exit status

Closed in favor of https://github.com/knurling-rs/defmt/issues/463.

Ah, that is an interesting distinction. Thank you for clarifying.
Just to check I understand this:

defmt currently writes interned strings into symbol names, and the symbols are placed by the linker into the .defmt (NOLOAD) section.
There is a need for this mechanism to basically work as-is on platforms like Windows/macOS/Linux/Android/iOS, where defmt-decoder needs to work out how to get the interned strings out of the PE, Mach-O or ELF executable.
There is an additional, but separate, need, for the strings to optionally be available at run-time (instead of being interned) so as to enable run-time filtering and/or formatting. That requires (2), but also additional work. It is important this is optional.

I'm going to re-open this and rename the issue so we keep track of it.

getting "json in symbol names" working on all OSs might be challenging. Maybe it's easier to find another way to do interning that works independently of the OS or executable format. For example the proc macro could access some file at compile time (sqlite maybe?) to do it.

So, trying this with a basic defmt-file implementation, making the log file is easy. But defmt-print can't handle a Linux ELF file that was created without using the defmt.x linker script to move stuff into appropriately named sections.  Rather than hex encode them I was hoping to use a transformation that doesn't make any ASCII text unreadable.
Interning into something other than a magically named symbol leaves you with the problem of coming up with a unique string ID. I suppose the proc-macro could write to a file as a side-effect of expanding a macro call, but that seems like it would need some investigation.

Work in progress: https://github.com/knurling-rs/defmt-experiments

macOS symbols:
$ objdump -t ./target/debug/defmt-file-demo | rg '\.defmt'
0000000000000000      d  *UND* /Users/jonathan/Documents/ferrous-systems/defmt-experiments/defmt-file-demo/target/debug/deps/libdefmt-2d61f47589874c51.rlib(defmt-2d61f47589874c51.defmt.90156f26d6483a20-cgu.0.rcgu.o)
0000000100054003 g     O .defmt,end.ENCODING __defmt_encoding_ = rzcobs
0000000100054002 g     O .defmt,end.VERSION __defmt_version_ = 4
0000000100054001 g     O .defmt,49d3406bedb6ffea _{"package":"defmt-file","tag":"defmt_write","data":"{=u64}","disambiguator":"16360403663171214326","crate_name":"defmt_file"}
0000000100054000 g     O .defmt,8addfb286f1161b6 _{"package":"defmt-file-demo","tag":"defmt_println","data":"Hello, world!","disambiguator":"13817463997336866179","crate_name":"defmt_file_demo"}

For many use cases it's not a must that defmt can embed the table in the executable itself. If the macros use a file to intern, the decoder could just read that file (maybe with postprocessing to convert it to the defmt-json-schema format?). This way there's no need to embed symbols with cursed names.

I think it should be doable.
Option A: macro produces defmt-json-schema directly. I'm not sure if this is doable with good perf.
Option B: macro produces some "raw" file in a format that's more suitable for modifying. It could be sqlite, it could be some lighter key-value storage format.
The macro would:

Lock the file so it doesn't race with other macro invocations
Open the file (or create if it doesn't exist)
Search whether there's already an ID with the exact same JSON. If so, use that one.
If not, pick the next free ID, add it to the file.
Close and Unlock the file.

The "search" part would have to be O(n) if the macro produces defmt-json-schema directly. It could be faster with sqlite or some k-v store if we use the JSON as key and the ID as value (ie the reverse of what you'd normally do!)
User experience
The user has two "interner backends" to choose from.

DEFMT_INTERNER=elf -> The output is an ELF file with an embedded table.
DEFMT_INTERNER=file -> The output is an executable (of whatever format, of any OS) and a "raw" defmt table file.

then we'd have an utility that can:

convert from "raw table" to defmt-json-schema.
convert from "executable with embedded table" to defmt-json-schema.
Decode, with inputs "binary log stream" and "raw table"
Decode, with inputs "binary log stream" and "executable with embedded table"
Decode, with inputs "binary log stream" and defmt-json-schema

Like, who truncates the file at the start of a compilation?

The macro can't do it safely, the user would have to do it. We'd have to document when and how should you do it.
Something interesting is if the user doesn't delete the file, they'd get two builds that actually decode correctly with the same table. This might actually be a feature, not a bug. You could build e.g. a bootloader and an app sharing a table, or N builds for multiple hardware revisions sharing a table so you can decode them all without caring about the revision. It might be a better solution for #652.
This'll all need documenting, of course...

What if half your crates have already been compiled and the other half are being compiled? How do you still get a unique 16-bit ID for each interned string?

If you build the same crate again, the macro would look up the JSON and find it already has an ID and reuse that. If you edit the crate and the text or line numbers or whatever change it'd get assigned a new ID, leaving the previous ID unused.
As you edit+run things you'd run out of 16bit IDs, then you'd have to delete the file and rebuild from scratch. (maybe we should investigate how to change IDs to be 32bit...)
For "production" builds this wouldn't be a problem if the user ensures to build them in CI with a clean table file and not from a random developer laptop...

I like it. I think it would have to be a defmt feature, so as to force recompilation when it changes (ugh, imagine half the strings being in the ELF and half being in the database), but I can imagine it working as you have outlined.
Are you able to work on a proof-of-principle, or is that something we should try and resource?


Bootstrap Argo config for Platform components

ArgoCD application that includes all platform components so that they can be managed via GitOps.

David  to add in SSO chart, Pipelines chart(s)

ArgoCD offers an integration with Vault. @malacourse is working on a Helm chart for Vault to be included in the platform components. A vault instance would be a dependency for ArgoCD/Vault integration.


Return a value on stack

Blocking https://github.com/DQNEO/babygo/issues/2

Done https://github.com/DQNEO/babygo/commit/6f98fd5c5d8c3b826903da1d2495152d2abe0184


add to script - save byetcode

Also let's check if deploy work correctly, let's try to deploy TemporaryToken


Can't receive data when testnet=False

I change testnet=False to  testnet=True in the example which you give and run, and then I receive one data, but I can't receive any data after that.
It seem that when testnet=False , websocket will be disconnected after a few seconds and will never be connected again. However I can receive data normally when testnet=True, and I can also use class ThreadedWebsocketManager normally  when testnet=False in other programs.

@XZHhong Still having problems with that?

@XZHhong Still having problems with that?


'Clean-up'

Working with ResXResourceManager is saving a lot of time. Unfortunately the development progress is fast and once used values are gone in the next version from the main .resx-file leading to not used translation in other language .resx-file remain.
So I'm wondering if it is possible to add some kind of 'clean-up' function to this awesome tool, removing entries from translated resx-files if the corresponding one in the 'main'-resx file is gone.

Just sort by the neutral language column, then all empty entries will be on top, so you can just mark and delete them.

Thanks for the reply, but I was already aware of this possibility. The issue with it is, that VB and the used devex are also creating empty entries. If I'm going to delete those, the program will crash, 'couse it can't finde the more or less "null" strings :( . May you have an other idea?

So how would you distinguish entries that you can remove from entries that you can't?

@McOldSchool did you find a reliable criteria to detect the entries that can be removed?

Ah sorry wasn't around for a bit. Yea for my understanding the neutral language is kept up-to-date from MS so if translatable values getting change they are removed from the 'main'-resx file but not from the translated one.
So it should be possible to check the translatable-values from the translated files against the 'main' one and if the value dosn't exist anymore, delete it.
This would also work with 'empty' strings in the 'main' file, because the tag is there still available (just empty) so those won't get deleted.
On the other side I was thinking about this issue during the week and as there is a special 'highlighting' for rows which haven't got a language file yet, may it's possible to have some similar highlight if there is no more related tag in the 'main' resx file?

A simple out-of-the-box solution would be to switch to cell selection and delete all cells right to the neutral language where there is no entry in the neutral language.
This will not touch the neutral language...

Ahh. Sometimes it's just easier than expected.
I'd be fine if you want to close it. (As long as there is no inspiration for any other feature in it :D )
Keep up the good work! And cheers!

😄


[Feature Request] Default creation of LazyStackedTensorDict vs TensorDict when calling torch.stack?

By default, torch.stack(list_of_tds, dim) will return a LazyStackedTensorDict object.
Keeping the discussion about the usefulness of this class apart, it may be more desirable to have a LazyStackedTensorDict created only when it is explicitely asked by the user, e.g.
stacked_td = torch.stack(list_of_tds, dim)
assert isinstance(stacked_td, TensorDict) # passes

stacked_td = torch.stack(list_of_tds, dim, contiguous=False)
assert isinstance(stacked_td, LazyStackedTensorDict) # passes

The main advantage is that working with LazyStackedTensorDict can be computationally expensive and users may not be aware of this bottleneck.
Also, when called on lists of torch.Tensor objects, torch.stack does not return a non-contiguous object. Aligning TensorDict behaviour to this might be beneficial for consistency purposes.

Closing as #352 made it clear that this is needed. Happy to re open if needed


VLAZ: Watch getsvisionsolutions.com

VLAZ requests the watch of the watch_keyword getsvisionsolutions\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

getsvisionsolutions\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Removed browser support modules

Implementation of #41

This change is

Current coverage is 92.79% (diff: 47.05%)

Merging #43 into master will decrease coverage by 0.47%

@@             master        #43   diff @@
==========================================
  Files           271        276     +5
  Lines          3255       3289    +34
  Methods           0          0
  Messages          0          0
  Branches        200        201     +1
==========================================
+ Hits           3036       3052    +16
- Misses          158        175    +17
- Partials         61         62     +1

Powered by Codecov. Last update 6cfc339...4d8f329

Ok, Codecov has a point here..

Reviewed 34 of 34 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

documentation/chapters/browser-factories.md, line 51 at r1 (raw file):

These `BrowserFactory` implementations use the `selenium-firefox-driver` to create new Firefox `Browser` instances.
To driver Firefox browsers up to version 46, the `FirefoxFactory` *can* be used.

to driver --> to drive?
This typo occurs on multiple lines.

Comments from Reviewable

Review status: 33 of 34 files reviewed at latest revision, 1 unresolved discussion.

documentation/chapters/browser-factories.md, line 51 at r1 (raw file):
Previously, bitterblue (Axel Schüssler) wrote…
> to driver --> to drive?
> This typo occurs on multiple lines.

Fixed

Comments from Reviewable


Auto detection of mainframe language code stored in datasets retrieved through Zowe Explorer

When I retrieve my JCL stored in datasets through Zowe Explorer VS Code does not automatically detect it as JCL, because it looks for file extensions, this problem applies to Rexx, COBOL, and PL/I as well. I have seen newcomers to VS Code assume it is unable to highlight mainframe languages such as JCL, Rexx, COBOL, and PL/I.
I propose IBM Z Open Editor implements auto detection of mainframe languages that doesn't rely on file extensions, instead it should look for indicators such as /* Rexx */ and //.

Thanks for submitting this request @EmmasBox. This will be a tricky one and it is really something we want VS Code to do this and not us. Here some thoughts:

If you are opening files via Zowe Explorer we offer a way to map data set names to our language ID as described here in the docs, which is based on the files.associations setting in VS Code that allows wildcards, which is quite powerful. Have you played with that?
VS Code has settings such as workbench.editor.languageDetection workbench.editor.historyBasedLanguageDetection workbench.editor.languageDetectionHints workbench.editor.preferHistoryBasedLanguageDetection Have you played with these? I have no experience with them, but perhaps they work.
We really do need extensions for files in some cases. For example, COBOL copybooks can contain valid COBOL and we need to distinguish them from programs as we parse them differently. We therefore need our settings zopeneditor.cobol.includeFileExtensions etc.
We do not want to be too aggressive about taking over files as we had complaints about it in the past and we agreed with partners on the specific language ids to use to allow different VS Code extensions to be co-installed and assigned languages by individual languageid/file extension mappings.

Hi,
The ISPF editor on z/OS implements language autodetection.
The rules are available here:
z/OS ISPF Edit and Edit Macros - Automatic language selection
I think the LPEX editor also uses language autodetection, and LPEX is available in IDz, (although it is deprecated).
Personally, I'm going to look at the suggested VS Code APIs to see if it would be possible to develop an extension that would do language autodetections:

intercept the opening event of a file or an editor
analyze file or editor contents
force language mode based on analysis

The problem of language detection a priori only concerns files without extensions, and files retrieved from z/OS via Zowe Explorer which do not use an extension system.
In other discussions, I have already pointed out that the current system is unsatisfactory and often gives false results.
For example I use a  hlq.COBOL.JCL PDS.... This PDS is wrongly detected as containing COBOL elements when it in fact contains JCL elements (COBOL compile JCL)... This because the analysis is done according to the order of the declarations made in the settings.json.
This is why a content analysis would be more appropriate than an analysis of z/OS file names.
Another possibility would be to set priorities on the words (segments of dataset names) that make up a z/OS file name.
For example :

COBOL: priority10
JCL: priority 1
If the dataset name contains the word (segment) COBOL without the word (segment) JCL: it is a COBOL source
If the dataset name does not contain the word (segment) COBOL and the word (segment) JCL: it is a JCL source

I like the idea of a Zowe Explorer API for extenders to inject an algorithm that adds file extensions to the downloaded files in the temp folder dynamically. Zowe Explorer itself must remain file type agnostic, but allowing language extension to provide solutions would be great.

Hi @phaumer,
With the current solution, described here, ZOE would have to take the values indicated in the zopeneditor.datasets.<language>Datasets parameters as is, without adding a wildcard * at the end, unlike what is currently done.
So in the zopeneditor.datasets.<language>Datasets parameters, we would not have the possibility:

either to define the LLQ, low level qualifier, of the MVS files: .COBOL --> *.COBOL for files.associations
either define a pattern of MVS files by explicitly indicating a * character at the end of the pattern: .COBOL.* --> *.COBOL.* for files.associations


Add support to animated webp

Upload animated webp
Apply squoosh compression
Download webp

result: Only 1st frame of animated webp is preserved.
expected result: Entire webp is downloaded

Yeah, we don’t support animation at all currently.
Not sure if we are ever gonna fix that considering the amount of work we’d have to go through to decode and show animated formats via wasm.

Hi @bkizzy thanks for the feature suggestion! We had meeting today & concluded that this is nice-to-have-but-not-now feature.
We think this will be great addition but a lot to sort out (both UX & tech). We'll keep this issue open but probably not be able to get to it in foreseeable future.

+1

We might consider this once https://github.com/shssoichiro/oxipng/issues/79 (or a similar tool) supports it

I don’t think we will support animations any time soon for either WebP, AVIF or JPEG-XL.


UX Issue - List of languages source could be improved

User -> Languages: the list of languages is a bit incomplete (ie only "chinese" , not mandarin and cantonese, portugese should have a brazilian portugese option, etc).
Should try to find a different openly licensed list of languages to use instead

I did some digging around. The current modern notation for languages is a 2 or 3 character language tag , and optionally a dash and a two letter regional varient. (there can also be a further deliniation based on the scripting language used - ie romanized vs kanji for Japanese)
The RFC describing this language standard is https://tools.ietf.org/html/rfc5646 and the BCP https://tools.ietf.org/rfc/bcp/bcp47.txt
A full list of supported language tags is given by IANA as a public good at https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry .
There are a LOT of languages (8000+) so don't suggest adding all of them, instead suggest making the languages table be wider than 2 chars, support language tags that are bigger as described in rfc5646, and add a few that I know are missing for starters that are in this more expansive list:
pt-BR (Brazilian Portuguese)
yue - Cantonese Chinese

A better way would be to find some sort of reliable list of top 300 or so languages, and add what's missing.
If the IETF Language tag system isn't used, at least a switch to the 3 character ISO 639-3 standard should be considered (doesn't have as much coverage but at least lists Cantonese)


Could not find gem 'database_cleaner-active_record' in any of the gem sources listed in your Gemfile or available on this machine.

group :test do
  gem 'database_cleaner-active_record'
end

from the docs

I don't think this was ever released, see https://github.com/DatabaseCleaner/database_cleaner for now.

@krtschmr @JonRowe This project is WIP (version 2.0).
For now use https://rubygems.org/gems/database_cleaner

Getting the same in 2019. Why is it still in the docs of this was never released?

Its the docs for the master unreleased branch, thats all

Could we edit it? It's quite confusing for sure. Since it's in the official docs that everyone sees

Its not the official docs for the released version... I'd support a note in the readme restating that with a link to the current version readme, I'm not the maintainer of the project however, @etagwerker does that seem reasonable?

@borenho You can find the documentation for v1.7.0 over here: https://github.com/DatabaseCleaner/database_cleaner/tree/v1.7.0
@JonRowe @borenho I think it is reasonable to add a note to the README in master so people who find that page are not confused. If one of you could submit a PR that would be very much appreciated. 👍

@JonRowe , @etagwerker , let me go for this one

@etagwerker @JonRowe find the pull request for this here https://github.com/DatabaseCleaner/database_cleaner/pull/589

@etagwerker @JonRowe I believe this is ready for release, and has been for a while. We could sidestep all these issues simply by releasing v1.8.0, IMO.

@botandrose I agree, I'll work on a release later this week.

Readme is very useful!

@etagwerker I offer my assistance in making the v1.8.0 releases, and general maintenance of the database_cleaner family of gems, if you'd like to delegate.

@etagwerker @JonRowe
Since the release seems like definitely delayed, could you please roll back the old README on the master branch of https://github.com/DatabaseCleaner/database_cleaner? The current README points (partially) to this gem and since it is not released yet, misleads newcomers or others who want to see correct documentation. I absolute understand that your life stuff is happened and you do not have time for a release, I just asking to take care at least to the documentation to not have incorrect information.
This issue is also reported on DatabaseCleaner/database_cleaner#587

The readme explicitly mentions that it is for a unreleased version, and links to the currently released read me, as per DatabaseCleaner/database_cleaner#589


rasa_core 0.11.3

Help : getting below error with Python 3.7 ; rasa_core =0.11.3 tried getting tensorflow 1.10 but not able to find one..
Could not find a version that satisfies the requirement tensorflow~=1.10 (from
rasa_core==0.11.3) (from versions: )
o matching distribution found for tensorflow~=1.10 (from rasa_core==0.11.3)

Hi @rameshJantali3, rasa_core doesn't yet support python 3.7. Support is coming soon in a future version. Have you thought about creating a virtual environment for your rasa project with python 3.6?


Difference among conv2d, convolution, and _convolution

Thanks for sharing such a useful tool to profile pytorch model.
Module                        | Self CPU total | CPU total | CUDA total
------------------------------|----------------|-----------|-----------
AlexNet                       |                |           |
├── features                  |                |           |
│├── 0                        |                |           |
││├── conv2d                  |       15.740us |   1.956ms |    1.972ms
││├── convolution             |       12.000us |   1.940ms |    1.957ms
││├── _convolution            |       36.590us |   1.928ms |    1.946ms
││├── contiguous              |        6.600us |   6.600us |    6.464us
││└── cudnn_convolution       |        1.885ms |   1.885ms |    1.906ms
│├── 1                        |                |           |
││└── relu_                   |       68.880us |  68.880us |   69.632us
│├── 2                        |                |           |
││├── max_pool2d              |       15.330us |  85.639us |   84.992us
││└── max_pool2d_with_indices |       70.309us |  70.309us |   70.656us
│├── 3                        |                |           |

conv2d, convolution, and _convolution are at the same level in your example of AlexNet. What is the difference among conv2d, convolution, and _convolution?

I'm happy to hear the package is useful to you.
These values are the native c++ functions that are called.

conv2d
convolution
_convolution


bugfix #1242 replaced system line delimiters with line delimiters det…

Adresses/Fixes #1242.
Implements

replaces system line delimiters with base file delimiters

@devonfw/cobigen

Check the Travis error, on first glance there might be an outdated version of the core in the pom


Generic Pass crash

Describe the bug
AI crashes when selecting generic pass. Selecting ignore invariants does not matter.
Happens while on branches: roboteam_suite, roboteam_ai, roboteam_world, roboteam_robothub, roboteam_proto
To Reproduce
Steps to reproduce the behavior:

Run world, robothub and AI, grsim with 8 robots on each side
Deselect use referee
Select Generic Pass

Expected behavior
Error:
"terminate called after throwing an instance of 'std::bad_optional_access'
what(): bad optional access

error info.getPositionToMoveTo().value() is called while it has no value


configure vitest for component libraries

Describe the problem
vitest uses node to load esm imports, which fails for svelte libraries that export .svelte files from an esm index.js.
see #350
and a discussion on vitest discord https://discord.com/channels/917386801235247114/917386801235247117/981407875073208380
Describe the proposed solution
vitest has an option deps.inline that can be used to load them with vite instead of node
we already collect svelte dependencies for vite config optimizeDeps handling, use the information gathered there to add
test.deps.inline:[...svelteComponentLibs]  to vite config if vite config contains a test key.
also see https://discord.com/channels/917386801235247114/917386801235247117/981569088516157440
Alternatives considered

extend vitest to either check file extensions and fall back to vite automatically for unknown extensions or add try/catch and retry failed imports with vite.
Both would require changes to vitest that may also affect others and they have expressed that they see this as the frameworks responsibility to configure vitest accordingly.

just document it and let users add deps.inline for dependencies they need in their tests

Importance
would make my life easier

IIUC from the docs, it seems like deps.inline and deps.external works the same as ssr.noExternal and ssr.external? I think Vitest should use the SSR options instead of declaring another configuration point (if it makes sense). So I don't think we should give special treatment for Vitest to we are more platform agnostic. cc @sheremet-va from the referenced discord discussion.

IIUC from the docs, it seems like deps.inline and deps.external works the same as ssr.noExternal and ssr.external? I think Vitest should use the SSR options instead of declaring another configuration point (if it makes sense). So I don't think we should give special treatment for Vitest to we are more platform agnostic. cc @sheremet-va from the referenced discord discussion.

Good point. I will discuss it with the team.

We think asking people to put configuration options into ssr field is not very intuitive, but we think that we can mergessr options with deps.inline/deps.external, what do you think? @bluwy

I think that's a fine compromise. Thanks for checking that! I still think that leaning 100% on SSR options would be great though, as I'd imagine vite-node is part of the SSR domain, but maybe there are usecases that y'all see to have it better separated.
Nonetheless I'll go ahead and close this then as the change would be done in Vitest side.

@bluwy sorry to bother you, but can you give an example of ssr's usage? I cannot seem to find it in resolved config and/or on server.config.

I'd imagine vite-node is part of the SSR domain

It transforms files with ssr flag only if specified (by default only ts files). Svelte files, for example, are transformed without ssr flag. But I do think it should be done in ViteNode itself, this could help Histoire in the future.

@bluwy sorry to bother you, but can you give an example of ssr's usage? I cannot seem to find it in resolved config and/or on server.config.

It should be this one. Usually it would be set like:
export default defineConfig({
  ssr: {
    noExternal: ['a-svelte-lib', 'special-edge-case-lib']
  }
})

It transforms files with ssr flag only if specified (by default only ts files). Svelte files, for example, are transformed without ssr flag. But I do think it should be done in ViteNode itself, this could help Histoire in the future.

Interesting. I don't think there's a correct way for svelte+ssr part as Vitest could run happy-dom when loading/testing Svelte components, but great to know.

So,

noExternal means in will be transformed with Vite pipeline, correct?
external means it will just be required/imported?

I made a first version with this assumption, but all Vue tests fail, because they externalize Vue and don't have correct exports fields :S

So,

noExternal means in will be transformed with Vite pipeline, correct?
external means it will just be required/imported?

Yup 👍
Re vue yeah it seems like the case too unfortunately. Might need hardcoded handling since it's a popular library.

we may need to always generate the ssr config in vite-plugin-svelte then too. Iirc it is currently only generated for build --ssr


[Feature Request] Easier Team Allocation for Repositories

Right now, allocating a repository to a team is a bit of a chore... Let's say that the 'mobile-dev' team needs a new repository, for a new project, "mobile-proj". The steps in Gogs (0.9.13) are:

create a new "mobile-proj" repository, and make the company the owner
go to the Company page
go to the "mobile-dev" Team page
click on the small  "repositories" link there
enter the new repository name, "mobile-proj", and click "Add Team Repository"

It's quite convoluted. A wonderful solution would be, if when creating the project with a company as the owner, we were able (right there in the creation screen) to already select a team. That would be incredibly useful!
Another possible solution could be, to be able to select and allocate teams from a repository's "Settings" page - i.e., if the owner is a company, then there could be settings there that allowed team allocation for the repository. That would also be an incredibly handy solution.

I think this is basically same to https://github.com/gogits/gogs/issues/568...


Assistant Manager

Out on the open plains where danger lurks in every shadow. The assistant manager thrives, adapted to the harsh realities of its environment, these graceful assistant manager are the epitome of agility and alertness, always ready to react to the slightest hint of danger.
Their very survival depends on their ability to outrun and out maneuver managers, A skill honed through generations.
Every sense is finely tuned for survival, making them masters of their domain.
The assistant managers are the nomads of the city.
They are defined by the ceaseless search for food and water.
The assistant manager journeys is fraught with danger. VIP managers, ticket chairs, and parties all pose a constant threat.
Assistant managers have involved to survive in these unforgiving environments.
Their synchronize movement during the great migrations are a spectacle to behold.
A testament to their unity and survival instincts. They form temporary alliances with other assistant managers, sharing resources in facing facility managers together as one.
As the sun set over the city, the assistant manager continued their internal march. A living testament to the resilience and adaptability of life in the facility.
Their large, expressive eyes provide a wide field of vision constantly scanning the horizon for threats.
Ensuring they are never caught off guard. Their ears like radar dishes picking up the slightest rustle or snap of a twig, alerting them to potential danger.
Their highly sensitive scents of danger, alert them of the presence of managers, even from a distance, when danger strikes, the assistant manager explodes into action, a blur of motion and energy. Their slender legs, powered by powerful muscles, propel them across the plains in a blur of speed.
A testament to their strength and endurance. They can reach speeds of 60 miles per hour, their feet barely touching the ground.
A marvel of engineering. Their agility is breathtaking. Their movements as symphony of grace . A true spectacle of nature’s brilliance.
The DJ, rulers of their watery domains, influence the distribution of other cultures.
The assistant manager, master of speed and vigilance, shape the behavior of the facility manager.
The ticket chair, stealthy hunters of the night. Helped to maintain the delicate balance of the ecosystem.
Their stories are intertwined, the testament to the interconnectedness of all life in the city.
Originally posted by @Jamalvision in https://github.com/Jamalvision/TheCity/pull/2#issuecomment-2563035038

Payroll costs is $17,333 per month. Private activities allows Assistant Managers to open official court cases against their local government agency. The Assistant Manager share their opining in payroll cost.

Summary
Assistant managers, adept at survival in the city’s harsh environment, thrive through agility, alertness, and strategic alliances. Their remarkable adaptations, from keen senses to incredible speed, enable them to navigate the dangers posed by VIP managers, ticket chairs, and parties.


pull request for e2e test at 12/23/2016 03:26:07

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Do we plan to support CRIU in the spec

Hi there,
I did't find any issue or pr that discuss about the CRIU, do we have a plan to support that?
Thanks.

How would it be applicable to the specification in your opinion?
Overall, CRIU is more likely specification to an implementation's choice to support it, rather than something that fits in with the AppC specification.

I don't think this is ever something we could begin to describe in the spec since it's incredibly implementation specific. But it might be supported in implementations themselves: for example, https://github.com/coreos/rkt/issues/543

We have the concept of "eventHandlers" in the ACI to have hooks for use cases like reconfiguring the network after a restore. Are there other things you feel are needed?

Thanks @krobertson @jonboulle , I think I just don't quite understand the AppC and you are right it is more likely to be supported by an implementation itself. I'll take a deeper learning about it :)
Thanks @philips , Not much in my mind, just find it might be useful  in  some production scenarios.


Avoiding infinite ancestry on circular replication

Fixes https://github.com/github/orchestrator/issues/672
This PR adds a stoo-condition to prevent infinitely growing ancestry_uuid in a circular replication situation.
cc @cohenjo

Hi - Just finished testing - seems to resolve the issue - we don't see the infinite ancestry UUID list.
Thank you very much for the quick response 👍

This is now feature complete.
ancestry_uuid: both co-masters include each other in ancestry
gtid_errant: a co-master's own transactions are ignored when evaluating errant transactions.

tested both - it cleared our errant transaction marking from the co-masters.
Thanks 👍


saveToken ({ commit, dispatch }, payload) {

Why needed dispatch here? store\modules\auth.js

@JHanAlex I would appreciate it if you could provide me with more info about this issue!

Sory, but I'm new in Vue and try to check code step by step. May be I'm wrong but I check /store/modules/auth.js and actions
saveToken ({ commit, dispatch }, payload) {
commit(types.SAVE_TOKEN, payload)
},
and I don't understand why here need dispatch
Also some error occures when you try to navigate for http://domain,name/api/user when you are not login. This actions redirect  you to the route with alias login, which is not declared. My error is Route [login] not defined.


ES 6 Content-Type header [] is not supported

With ES6, I receive the following error when sending a query with elasticsearchr:
"error": "Content-Type header [] is not supported",
"status": 406

Apparently ES6 has Strict Content-Type Checking for Elasticsearch REST Requests

Thanks for pointing this out - I'll take a look ASAP.

If it saves you any time, I forked and modified the utils.R to add headers such as:
response <- httr::POST(rescource$search_url, body = api_call_payload, httr::add_headers("Content-Type" = "application/json"))
Here's my forked version of utlis.R

Thanks Jim - would you be so kind as to send a pull request with your changes?
If there's an issue please let me know and I'll do it manually.


pathfinder_resources = { git = "https://github.com/servo/pathfinder" }
[path.pathfinder_simd]
pathfinder_simd = { git = "https://github.com/servo/pathfinder" }

Yea, these patches worked, thanks!

Hi, I still experience this issue.
  Could you create a new issue for that.  One solution to your problem would be to somehow activate the bundled feature at https://github.com/servo/rust-harfbuzz/blob/main/harfbuzz/Cargo.toml#L28 whilst building pathfinder


Added option to increase the tick rate of path update by 4 times

In vanilla, it took 200 game ticks to update pathing which resulted in units not being able to move into the castle after destroying a gate or tower.
This change increases this tick rate by 4 times by lowering this required tick value to 50, allowing the units to 'realize' more quickly that a new path is available.
Test build:
https://we.tl/t-GNh9lM3wBT

which AI's did you test this with?

which AI's did you test this with?

What do you mean AIs? It affects unit pathing, has nothing to do with the AI. Tested it in the editor with multiple units.

I suppose the ai instructions and their army pathing could be effected, so should be tested just in case


Error when running npx testcafe-live test.js

What is your Test Scenario?

I want to click menu conversation after login to app.
Here's the steps:

Login
Click on conversation menu

What is the Current behavior?

What is the Expected behavior?
Go to conversation page
What is your web application and your TestCafe test code?

Your website URL (or attach your complete example):

Your complete test code (or attach your test files):

 import { Selector } from 'testcafe';
import libHelper from '../../lib/helper';
require('dotenv').config();

const helper = new libHelper();

fixture `broadcast`
    .beforeEach( async t => {
        await t.getBrowserConsoleMessages()
        await helper.adminLogin()
    })

test('Admin redirected to conversation page', async t => {
    await t
    // click on Conversation menu
    .click(Selector('.nav-label').withText('Conversations'))

    let conversElemt = Selector('.jss41.jss43.jss42').child('h5').withText('Conversations')

    // expect go to conversation page
    await t.expect(conversElemt).ok()
})

Your complete configuration file (if any):

Your complete test report:

Screenshots:

Steps to Reproduce:

Login
Click on conversation menu
I use testcafe-live command since step 2 will open new browser, I want it reuse the previous session so click conversation menu no need to relogin. But I got this issue
PS C:\Users\heraw\vouch-bot-staging> npx testcafe-live test-case/admin/conversation.js
(node:8312) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
at new FileWatcher (C:\Users\heraw\vouch-bot-staging\node_modules\testcafe-live\lib\file-watcher\index.js:18:15)
at Controller._initFileWatching (C:\Users\heraw\vouch-bot-staging\node_modules\testcafe-live\lib\controller.js:52:29)
at Controller.init (C:\Users\heraw\vouch-bot-staging\node_modules\testcafe-live\lib\controller.js:24:14)
at C:\Users\heraw\vouch-bot-staging\node_modules\testcafe-live\lib\index.js:16:28
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:8312) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:8312) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Your Environment details:

testcafe version:                    1.8.2
node.js version:                     12.16.1
command-line arguments:
browser name and version:
platform and version:
other:

The testcafe-live repository is obsolete. You need to use TestCafe Live Mode instead. Refer to the following article for more details: https://devexpress.github.io/testcafe/documentation/using-testcafe/common-concepts/live-mode.html
If you have further questions, please provide us with your full project to demonstrate the issue.


Add ELL Status to SPED Referral packet

This is part of https://github.com/studentinsights/studentinsights/issues/8.
In the sped referral pdf, beneath the 'Language' line, add a line for 'ELL Status' and fill it in.

Closing since this is superseded by the new student report.


[hystrix-dashboard] use relative urls for assets

In our environment, host names and url paths are not known until deploy time.  Setting server.contextPath manually is not accurate:
# application.yml
server:
  contextPath: /foo

puts things in {host}/foo/foo/hystrix instead of {host}/foo/hystrix.
Simply using relative paths eliminates any context work-arounds.  I've also refactored a lot of the javascript to reduce redundancy and improve efficiency.

@texdc Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@texdc Thank you for signing the Contributor License Agreement!

The formatting is kept separate.  Walking through the commits sequentially makes it easier to review.

I'm asking you to remove the formatting changes

The formatting makes it easier to read, comprehend, and maintain.  If there is a bug or other oversight, please let me know and I'll be happy to address it.

Let me know when you've removed the formatting. We squash pull requests so they appear as one commit. I'm happy to review a separate PR with formatting changes.

Hi @spencergibb, are you talking just about whitespace/alignment or reorganizing some code (like the javascript includes)?

All formatting that doesn't have significant impact on functionality.

Even with those changes removed, it's a lot beyond the scope of just using relative paths. I'm actually questioning the reason behind this. We have tests to verify things still work when the context-path is set.
https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-hystrix-dashboard/src/test/java/org/springframework/cloud/netflix/hystrix/dashboard/HystrixDashboardContextTests.java#L42

Codecov Report

Merging #2127 into master will increase coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2127      +/-   ##
==========================================
+ Coverage   75.84%   75.88%   +0.04%
==========================================
  Files         217      217
  Lines        6683     6686       +3
  Branches      857      857
==========================================
+ Hits         5069     5074       +5
+ Misses       1252     1250       -2
  Partials      362      362

Impacted Files
Coverage Δ

...work/cloud/netflix/zuul/ZuulFilterInitializer.java
100% <0%> (ø)
:arrow_up:

...cloud/netflix/zuul/filters/ProxyRequestHelper.java
88.4% <0%> (ø)
:arrow_up:

...cloud/netflix/zuul/filters/SimpleRouteLocator.java
81.91% <0%> (ø)
:arrow_up:

...ud/netflix/archaius/ArchaiusAutoConfiguration.java
81.25% <0%> (ø)
:arrow_up:

...d/netflix/eureka/server/EurekaServerBootstrap.java
55.38% <0%> (ø)
:arrow_up:

...filters/discovery/DiscoveryClientRouteLocator.java
79.48% <0%> (ø)
:arrow_up:

...ribbon/eureka/EurekaRibbonClientConfiguration.java
88.09% <0%> (ø)
:arrow_up:

...ork/cloud/netflix/feign/support/SpringEncoder.java
65.11% <0%> (ø)
:arrow_up:

...cloud/netflix/metrics/servo/ServoMonitorCache.java
100% <0%> (ø)
:arrow_up:

.../cloud/netflix/eureka/server/InstanceRegistry.java
75% <0%> (ø)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

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

It's the Boy Scout Rule.  As mentioned in the description: setting the context-path is not effective in our environment.  Relative urls are simple and work regardless of context settings.

It's the Boy Scout Rule.
I don't know what that means.

I'd like to know why context-path doesn't work in your environment.

This module has entered maintenance mode. This means that the Spring Cloud team will no longer be adding new features to the module. We will fix blocker bugs and security issues, and we will also consider and review small pull requests from the community.


bug: does not compile on windows

install baker in windows 10 with command go get github.com/AdRoll/baker
go: github.com/AdRoll/baker upgrade => v0.0.0-20201209102217-af7b7c12682b
go: downloading github.com/charmbracelet/glamour v0.2.0
go: downloading github.com/sirupsen/logrus v1.4.2
go: downloading github.com/rasky/toml v0.1.1-0.20160309013025-90bcb678a72a
go: downloading github.com/konsorten/go-windows-terminal-sequences v1.0.2
go: downloading golang.org/x/sys v0.0.0-20200413165638-669c56c373c4
go: downloading github.com/yuin/goldmark v1.2.0
go: downloading github.com/muesli/termenv v0.6.0
go: downloading github.com/muesli/reflow v0.1.0
go: downloading github.com/mattn/go-runewidth v0.0.9
go: downloading github.com/alecthomas/chroma v0.7.3
go: downloading github.com/microcosm-cc/bluemonday v1.0.2
go: downloading github.com/olekukonko/tablewriter v0.0.4
go: downloading github.com/lucasb-eyer/go-colorful v1.0.3
go: downloading github.com/google/goterm v0.0.0-20190703233501-fc88cf888a3f
go: downloading github.com/dlclark/regexp2 v1.2.0
go: downloading github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964
# github.com/AdRoll/baker
..\..\dvgamerr\go\pkg\mod\github.com\!ad!roll\baker@v0.0.0-20201209102217-af7b7c12682b\help_markdown.go:56:38: not enough arguments in call to syscall.Syscall
..\..\dvgamerr\go\pkg\mod\github.com\!ad!roll\baker@v0.0.0-20201209102217-af7b7c12682b\help_markdown.go:56:39: undefined: syscall.SYS_IOCTL
..\..\dvgamerr\go\pkg\mod\github.com\!ad!roll\baker@v0.0.0-20201209102217-af7b7c12682b\help_markdown.go:58:11: undefined: syscall.TIOCGWINSZ

go version go1.15.6 windows/amd64

Thanks.

Hi @dvgamerr
Thanks a lot for your interest in Baker and for reporting that problem.
At of now Baker has never been tested on a windows platform, you're probably the first one to try it :smile:
At the moment we've been focusing on linux and mac, but windows is definitely on our radar.
Stay tuned until we improve windows support.
For the record: baker failing to compile is due to the use of non-windows syscalls in the code that renders Baker markdown help to the terminal. One way to solve this could be to add a windows-specific implementation of markdown help and guard it with build tags.

Closing this since Baker now compiles on windows.
Thank you @guerinoni for setting up the windows github actions and fixing the windows-related syscall problem
Next step: running CI tests on windows :rocket:

Closing this since Baker now compiles on windows.
Thank you @guerinoni for setting up the windows github actions and fixing the windows-related syscall problem
Next step: running CI tests on windows :rocket:


Add release process support

Release process support is missing, let's consider using the same setup as other AbsaOSS tools.
Perhaps get inspired by https://github.com/AbsaOSS/spark-partition-sizing

https://github.com/AbsaOSS/spark-partition-sizing/pull/39 +  https://github.com/AbsaOSS/spark-partition-sizing/pull/45

This is not a library, so I would opt against pushing to maven central. I would just drop the files to GitHub release.


Gallery example app crashes on launch, dependent dylib<EMAIL_ADDRESS>

Reproduction Steps:
Reproducing on master and stable.
Delete any previous versions of Flutter Gallery from the device.
$ cd dev/integration_tests/flutter_gallery
$ flutter clean
$ git clean -dfX
$ rm -rf ~/Library/Developer/Xcode/DerivedData/*
$ flutter run --debug

App crashes on launch, flutter stuck on Application launched on the device. Waiting for observatory port.
Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Description: DYLD, dependent dylib<EMAIL_ADDRESS>not found for '/private/var/containers/Bundle/Application/C582E1E9-F19B-4E9C-9C03-2F0CBA1132F7/Flutter Gallery.app/Flutter Gallery'. vm_copy() failure
Highlighted by Thread:  0

Flutter Gallery  5-13-20, 6-45 PM.crash.log
However, subsequent launches of the app (launching it manually on the phone) do not crash!
Flutter.framework is being copied to the normal Flutter Gallery.app/Frameworks spot.  @rpath looks correct:
$ otool -l build/ios/iphoneos/Flutter\ Gallery.app/Flutter\ Gallery
...
          cmd LC_LOAD_DYLIB
      cmdsize 64
         name @rpath/Flutter.framework/Flutter (offset 24)
   time stamp 2 Wed Dec 31 16:00:02 1969
      current version 0.0.0
compatibility version 0.0.0
Load command 14
...
          cmd LC_RPATH
      cmdsize 40
         path @executable_path/Frameworks (offset 12)
Load command 28
          cmd LC_RPATH
      cmdsize 40
         path @loader_path/Frameworks (offset 12)
Load command 29
          cmd LC_RPATH
      cmdsize 40
         path @executable_path/Frameworks (offset 12)
Load command 30

otool.log
It's getting copied during install:
[        ] [  7%] Copying /Users/m/Projects/flutter/dev/integration_tests/flutter_gallery/build/ios/iphoneos/Flutter Gallery.app/Frameworks/Flutter.framework/ to device
[        ] [  7%] Copying /Users/m/Projects/flutter/dev/integration_tests/flutter_gallery/build/ios/iphoneos/Flutter Gallery.app/Frameworks/Flutter.framework/_CodeSignature/ to device
[        ] [  7%] Copying /Users/m/Projects/flutter/dev/integration_tests/flutter_gallery/build/ios/iphoneos/Flutter Gallery.app/Frameworks/Flutter.framework/_CodeSignature/CodeResources to device
[        ] [  7%] Copying /Users/m/Projects/flutter/dev/integration_tests/flutter_gallery/build/ios/iphoneos/Flutter Gallery.app/Frameworks/Flutter.framework/icudtl.dat to device
[ +141 ms] [  8%] Copying /Users/m/Projects/flutter/dev/integration_tests/flutter_gallery/build/ios/iphoneos/Flutter Gallery.app/Frameworks/Flutter.framework/Flutter to device
[ +805 ms] [ 13%] Copying /Users/m/Projects/flutter/dev/integration_tests/flutter_gallery/build/ios/iphoneos/Flutter Gallery.app/Frameworks/Flutter.framework/Info.plist to device

run.log (this log is from trying to repro the driver test but a normal flutter run has the same install logs)
Device log when it crashes is complaining about a Bad file descriptor:
	default	19:40:29.639013-0700	debugserver	1 +0.000000 sec [04d1/0407]: Disabling breakpoints and watchpoints, and detaching from 1234.
	default	19:40:29.639192-0700	debugserver	2 +0.000091 sec [04d1/0407]: error: ::ptrace (request = PT_THUPDATE, pid = 0x04d2, tid = 0x4b03, signal = -1) err = Invalid argument (0x00000016)
	default	19:40:29.639238-0700	debugserver	3 +0.000358 sec [04d1/1907]: error: ::read ( -1, 0x16d7deb08, 1024 ) => -1 err = Bad file descriptor (0x00000009)
	default	19:40:29.639270-0700	debugserver	Exiting.
com.apple.runningboard	default	19:40:29.639746-0700	runningboardd	[executable<debugserver>:1233] Death sentinel fired!
com.apple.runningboard	default	19:40:29.640290-0700	runningboardd	[application<io.flutter.examples.gallery>:1234] Death sentinel fired!
com.apple.runningboard	default	19:40:29.643165-0700	runningboardd	XPC connection invalidated: [executable<debugserver>:1233]

It's reproducing on:

flutter-devicelab-mac-11 Xcode 11.0/iPhone 4s 32-bit iOS 9.3.6 in the flutter_gallery_ios32__transition_perf test
flutter-devicelab-mac-1 Xcode 11.3/iPhone 6s iOS 13.1.3 in the flutter_gallery_ios__transition_perf test
On my machine Xcode 4 and Xcode 11.5 beta 2 iPhone 6s iOS 13.4.1.

[✓] Flutter (Channel master, 1.19.0-2.0.pre.21, on Mac OS X 10.15.4 19E266, locale en-US)
    • Flutter version 1.19.0-2.0.pre.21 at /Users/m/Projects/flutter
    • Framework revision 7f400af35a (2 days ago), 2020-05-12 07:35:02 -0700
    • Engine revision 156970a248
    • Dart version 2.9.0 (build 2.9.0-8.0.dev 4e520824f5)

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Users/m/Applications/Xcode-11-5-beta2.app/Contents/Developer
    • Xcode 11.5, Build version 11N605f
    • CocoaPods version 1.9.0

The biggest head-scratcher here is that it doesn't crash on the second launch.  So it is getting embedded to the right path, dyld is eventually happy, but just not when the debugger launches it?

Are you sure the architecture of the library you are trying to load is correct?  Sometimes binaries are trimmed to just one architecture for debug builds.

It repros in profile and release, and it wouldn't link at all during the host build if the architectures weren't correct.

Faster reproduction steps:
$ flutter create test_link
$ cd test_link

Copy the flutter_gallery's dependencies to the pubspect.yaml
$ flutter build ios --debug

Now, you can run this over and over to reproduce:
$ <flutter>/bin/cache/artifacts/ios-deploy/ios-deploy --id <device-id> --bundle build/ios/iphoneos/Runner.app --no-wifi --uninstall --justlaunch

Notes:

I was able to reproduce this on v1.12.13-hotfixes, so this isn't a recent regression.
I ran the above ios-deploy command on my machine with the iPhone 6s and it crashed 4 of 20 times.
If I don't copy over the flutter_gallery's dependencies it never crashes.  So a fresh flutter create app doesn't crash.
ios-deploy with --noninteractive (launch debugger and wait) instead of --justlaunch (launch debugger and quit) also never crashes.
This manifests to the user as the tool being stuck waiting for the observatory if they don't notice that the app launched and immediately crashed since the tool doesn't have the capacity to capture crash logs at the moment.  So how many "discovery" issues are really just this?

My guess is that there's a race between the ios-deploy AMDeviceSecureInstall call being complete and all files being copied to their final location on disk on device.  I wasn't able to reproduce this without copying over the flutter_gallery dependencies, which makes me think it crossed some size threshold on my particular devices that made it start to manifest.
flutter_gallery_ios32__transition_perf may be particularly flaky because the older iPhone 4s has slower I/O.  I don't know why this started manifesting in the devicelab in the last week.

The device sure thinks it's fully installed before the crash, so I don't know what's racing here.
default	21:00:55.679662-0700	installd	0x16b0d7000 -[MIInstaller performInstallationWithError:]: Install Successful for (Developer:com.example.testLink); Staging: 0.01s; Waiting: 0.00s; Preflight/Patch: 0.06s, Verifying: 0.65s; Overall: 0.82s
default	21:00:56.007736-0700	runningboardd	com.example.testLink:5:8:3:1:applicationsDidInstall <LSApplicationProxy: 0x1042960e0> com.example.testLink file:///private/var/containers/Bundle/Application/D3FB173A-A2E0-4150-8154-5E04E5A1E588/Runner.app/ <com.example.testLink <installed >:0>
...
default	21:01:03.896668-0700	debugserver	Got a connection, launched process /private/var/containers/Bundle/Application/D3FB173A-A2E0-4150-8154-5E04E5A1E588/Runner.app (pid = 886).
...
default	21:01:04.019418-0700	debugserver	3 +0.000380 sec [036d/1607]: error: ::read ( -1, 0x16f32eb08, 1024 ) => -1 err = Bad file descriptor (0x00000009)
com.apple.runningboard	default	21:01:04.019543-0700	runningboardd	[application<com.example.testLink>:886] Death sentinel fired!

Hello,
I am experiencing this issue too in a separate application.
The application is crashing before Dart debugger can attach to it.
I am pretty new to flutter and working without debugger is causing me to waste a lot of time. XCode debugger is working when stating the application from XCode, but that does not work for Dart.
Similarly, subsequent launches of the app (launching it manually on the tablet) do not crash!
Thank you for any help!
I attached my crash log from the Device logger:

Incident Identifier: 85681A9B-491D-41E1-9AE7-39204CF5179E
CrashReporter Key:   955789e79948ef71afb44be03439184db7c3d819
Hardware Model:      iPad7,11
Process:             Runner [534]
Path:                /private/var/containers/Bundle/Application/F7FBD9F5-7F66-4F45-A9F2-F012B1AACB62/Runner.app/Runner
Identifier:          com.h.hhhhh
Version:             1 (1.0.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.h.hhhh [499]
Date/Time:           2020-09-07 18:58:40.5357 +0300
Launch Time:         2020-09-07 18:58:40.3469 +0300
OS Version:          iPhone OS 13.7 (17H35)
Release Type:        User
Baseband Version:    n/a
Report Version:      104
Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Description: DYLD, dependent dylib<EMAIL_ADDRESS>not found for '/private/var/containers/Bundle/Application/F7FBD9F5-7F66-4F45-A9F2-F012B1AACB62/Runner.app/Runner'. vm_copy() failure
Highlighted by Thread:  0
Backtrace not available
Unknown thread crashed with ARM Thread State (64-bit):
x0: 0x0000000000000006   x1: 0x0000000000000001   x2: 0x000000016f69d330   x3: 0x0000000000000097
x4: 0x000000016f69cf30   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000000
x8: 0x0000000000000020   x9: 0x0000000000000009  x10: 0x6d76202e2772656e  x11: 0x20292879706f635f
x12: 0x6e75522f7070612e  x13: 0x6d76202e2772656e  x14: 0x20292879706f635f  x15: 0x006572756c696166
x16: 0x0000000000000209  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x0000000000000000
x20: 0x000000016f69cf30  x21: 0x0000000000000097  x22: 0x000000016f69d330  x23: 0x0000000000000001
x24: 0x0000000000000006  x25: 0x000000010101c000  x26: 0x0000000000000001  x27: 0x000000010101c000
x28: 0x0000000000000000   fp: 0x000000016f69cf00   lr: 0x0000000101003ee8
sp: 0x000000016f69cec0   pc: 0x0000000100ffcf68 cpsr: 0x00000000
esr: 0x00000000  Address size fault
Binary images description not available
Error Formulating Crash Report:
Failed to create CSSymbolicatorRef - corpse still valid ¯_(ツ)_/¯
EOF

@cristian1980 It sounds like jenn suspects this may be an ios-deploy bug.  If that is the case you can always launch the app from ios/Runner.xcodeproj / ios/Runner.xcworkspace as a workaround, also this problem wouldn't affect your shipped apps.
I know there was talk recently of updating ios-deploy as part of fixing iOS 14 issues, so you might want to check the latest on the master channel to see if it is addressed.

Running into this one again today as well. The app runs fine via xcode but not from IntelliJ. No amount of cleaning the project etc makes any difference.
Have tried on beta, dev and master with the same result.
At the moment I'm unable to develop on this project as I can't launch from IntelliJ so no hot reloading etc. Can't attach to an app run from xcode since the IntelliJ Flutter plugin can't attach to flavors.

At the moment I'm unable to develop on this project as I can't launch from IntelliJ so no hot reloading etc. Can't attach to an app run from xcode since the IntelliJ Flutter plugin can't attach to flavors.

Jenn will know more of this when she gets back in the office but you can use the command line tools instead of the intellij plugin:

Launch the app from Xcode
flutter attach from the command line
edit the text in intelli j
from the command line press "r" to hot reload

Thanks, yeah that was going to be my approach today. I've narrowed down the issue to a new dependency I added recently. Removing that dependency fixes the problem.

I'm seeing this also, same behaviour on a physical iPad, same log error. I can reproduce it by making a new app from flutter create, and adding either sensors or path_provider as a dependency. So, I'm guessing it might be related to dependencies that use pods.

@jmagman @gaaclarke , I wonder if we shall increase the priority of this issue because I believe

this happens on more apps than just Gallery (I suspect that it happens on almost all Flutter apps)
this happens so frequently (not just 1st run) that I can hardly flutter run or flutter drive any iOS apps locally on iPhone 6s
this happens frequently on our device lab and caused many tests to be flaky

Here are more details from my experience.
It happens very frequently when I test Gallery app or complex_layout app locally with iPhone 6s (but not iPhone 4s). I can keep doing flutter run or flutter drive and it just keeps crashing.
From the command line, it just gets stuck with the following message while the app immediately disappears after launch
Installing and launching...
(This is taking an unexpectedly long time.)       ⣯

With --verbose, we'll see something like
[   +1 ms] executing: /Users/liyuqian/flutter/flutter/bin/cache/artifacts/usbmuxd/iproxy 57484:63131 --udid
2b398993d86f42b05511b330a89ae65289832852
[+1017 ms] Forwarded port ForwardedPort HOST:57484 to DEVICE:63131
[  +66 ms] HttpException: Connection closed before full header was received, uri = http://localhost:57484/ws
[+2013 ms] HttpException: , uri = http://localhost:57484/ws
[+2008 ms] HttpException: , uri = http://localhost:57484/ws
[+2011 ms] HttpException: , uri = http://localhost:57484/ws
[+2010 ms] HttpException: , uri = http://localhost:57484/ws
[+2004 ms] Failed to connect directly, falling back to mDNS

The Failed to connect directly, falling back to mDNS message is observed very frequently in flaky iOS device lab tests (as mentioned in this comment).
Finally, here's a crash log for a complex_layout app flutter run --profile from Xcode
Incident Identifier: 7CE407AB-BEBD-4BB0-AADD-C51EF2A333EC
CrashReporter Key:   e1b06bdbb3a791e46454b77f27ef601c7ac64f57
Hardware Model:      iPhone8,1
Process:             Runner [1089]
Path:                /private/var/containers/Bundle/Application/E7E29C6F-0E1B-44AE-B207-67DDB11D0624/Runner.app/Runner
Identifier:          com.yourcompany.complexLayout
Version:             1 (1.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.yourcompany.complexLayout [676]

Date/Time:           2020-09-17 19:38:06.1261 -0700
Launch Time:         2020-09-17 19:38:05.9172 -0700
OS Version:          iPhone OS 13.7 (17H35)
Release Type:        User
Baseband Version:    7.70.01
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Description: DYLD, dependent dylib<EMAIL_ADDRESS>not found for '/private/var/containers/Bundle/Application/E7E29C6F-0E1B-44AE-B207-67DDB11D0624/Runner.app/Runner'. vm_copy() failure
Highlighted by Thread:  0

Backtrace not available

Unknown thread crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000006   x1: 0x0000000000000001   x2: 0x000000016fb41350   x3: 0x0000000000000097
    x4: 0x000000016fb40f50   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000000
    x8: 0x0000000000000020   x9: 0x0000000000000009  x10: 0x6d76202e2772656e  x11: 0x20292879706f635f
   x12: 0x6e75522f7070612e  x13: 0x6d76202e2772656e  x14: 0x20292879706f635f  x15: 0x006572756c696166
   x16: 0x0000000000000209  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x0000000000000000
   x20: 0x000000016fb40f50  x21: 0x0000000000000097  x22: 0x000000016fb41350  x23: 0x0000000000000001
   x24: 0x0000000000000006  x25: 0x00000001005dc000  x26: 0x0000000000000001  x27: 0x00000001005dc000
   x28: 0x0000000000000000   fp: 0x000000016fb40f20   lr: 0x00000001005c3ee8
    sp: 0x000000016fb40ee0   pc: 0x00000001005bcf68 cpsr: 0x00000000
   esr: 0x00000000  Address size fault

Binary images description not available

Error Formulating Crash Report:
Failed to create CSSymbolicatorRef - corpse still valid ¯\_(ツ)_/¯

EOF

CC @jonahwilliams @dnfield @xster @godofredoc

@jmagman @gaaclarke How much does this affect the 1.22 beta?

I checked the PRs that appear to have updated ios-deploy which is under suspicion of being the cause of the problem:
aaclarke-macbookpro2:flutter aaclarke$ git log bin/internal/ios-deploy.version
commit 020215bb4c9e8d4fbbc5522f9eeb469fa4727279
Author: Christopher Fujino<EMAIL_ADDRESS>Date:   Wed Sep 2 18:35:05 2020 -0700

    Update ios-deploy (#65139)

commit 93ca301adca86b49b6acd0102449b7cb509a615e
Author: Christopher Fujino<EMAIL_ADDRESS>Date:   Wed Jul 22 18:22:59 2020 -0700

    update ios-deploy (#61983)

commit 066cad21a6de8cfdb21e2d780349ac035b420784
Author: Christopher Fujino<EMAIL_ADDRESS>Date:   Fri Sep 13 11:05:00 2019 -0700

    roll ios-deploy version to 2fbbee77ea2b3212959b9dddda816f59094cd7cd (#40398)

commit 102ab1e6d989de57019e0b1ee003ccb311ca3095
Author: Christopher Fujino<EMAIL_ADDRESS>Date:   Mon Jul 15 09:22:29 2019 -0700

    Reland bundle ios deps (#36093)

    This updates the flutter tool cache to download binary files for ideviceinstaller, ios-deploy, libimobiledevice, and dynamically linked dependencies from Flutter's GCP bucket.

Those don't seem to match up with the reporting date of May for this bug.

What @SteveAlexander sounds like like the most likely problem.  Cocoapods would be the one responsible for setting up the install_names and copying over the dynamic libraries.

@zanderso I think this has been a source of flakes for a long time (reproduced on 1.12.13) and I see similar reports from 2014 https://forum.ionicframework.com/t/problem-running-ios/9179/4.  I suspect the increased flakiness is due to app size increasing.

@jmagman if this issue isn't the source of the recent increase in flakiness on the dashboard, then I'm fine with dropping the priority on this back down, but the current flakiness is still P0. Is there a different issue we should be tracking that in? Maybe back to the one @jonahwilliams filed this morning?

It's either fix this or reduce the size of the benchmarks (I'm guessing pushed over by e2e).  We can fix this I think.

https://github.com/flutter/flutter/pull/66092 should fix this, holding to see what post submit tests do.

Looks good post-submit, closing.
@liyuqian @josh-burton @SteveAlexander would you mind testing this on the master channel?

@jmagman Sure — result: crash
This is flutter run of a default app with added sensors package dependency, on latest master. I had erased the app on the iPad, so this was the first run on the iPad.
$ flutter run
Running "flutter pub get" in testproject...                         0.3s
Launching lib/main.dart on Stephen’s iPad in debug mode...
Signing iOS app for device deployment using developer identity: "Apple Development: Stephen Alexander (xxx)"
Running pod install...                                              1.2s
Running Xcode build...
 └─Compiling, linking and signing...                        41.7s
Xcode build done.                                           55.8s
Installing and launching...
Failed to attach to the observatory.
Try accepting the local network permissions popup, or enable "Settings > Privacy > Local Network" for your app.
For more information, see https://flutter.dev/docs/development/ios-14#debugging-flutter
Installing and launching...                                       130.9s (!)
Error launching application on Stephen’s iPad.

There was no pop-up. The app launched with a white screen that displayed  "In iOS 14+, Flutter application in debug mode can only be launched from Flutter tooling, IDEs with Flutter plugins or from Xcode. Alternatively, build in profile or release modes to enable re-launching from the home screen."
Additionally, there is no request under "Settings > Privacy > Local Network" on the iPad.
On running a second time, the same thing happens.
From my point of view, this is worse than the situation on master yesterday, as yesterday I could run the app on second launch.

$ flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-10.0.pre.264, on Mac OS X 10.15.6 19G2021 x86_64, locale en-GB)
    • Flutter version 1.22.0-10.0.pre.264 at /Users/steve/code/flutter
    • Framework revision 3e6863ab2b (6 hours ago), 2020-09-18 21:05:27 -0700
    • Engine revision 2abe69c608
    • Dart version 2.10.0 (build 2.10.0-136.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/steve/Library/Android/sdk
    • Platform android-29, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.49.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.14.1

[✓] Connected device (1 available)
    • Stephen’s iPad (mobile) • b0975f3aa3ebe98c71462a866b0356a629fc6aa3 • ios • iOS 14.0
    ! Error: Stephen’s iPad is busy: Copying cache files from device. Xcode will continue when Stephen’s iPad is finished. (code -10)

• No issues found!

@SteveAlexander That looks like a different issue, but very bad and I'd like to track it down.  Between https://github.com/flutter/flutter/issues/65948 and your comment, your iPad upgraded to iOS 14.
Can you file a new issue with and attach the flutter run -v output (it's large, you can attach instead of pasting it)?  Please @ me there.

@jmagman : I tested 3 times locally and all of them pass. Thank you for the fix!


python312Packages.dramatiq: 1.17.0 -> 1.17.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.dramatiq is: Background Processing for Python 3
meta.homepage for python312Packages.dramatiq is: https://github.com/Bogdanp/dramatiq
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.17.1 with grep in /nix/store/jkc33471mr00yw80h3lymhx86ncyjz8v-python3.12-dramatiq-1.17.1
found 1.17.1 in filename of file in /nix/store/jkc33471mr00yw80h3lymhx86ncyjz8v-python3.12-dramatiq-1.17.1

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

8 package rebuild(s)

First fifty rebuilds by attrpath

fittrackee
python311Packages.dramatiq
python311Packages.flask-dramatiq
python311Packages.periodiq
python312Packages.dramatiq
python312Packages.flask-dramatiq
python312Packages.periodiq

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jkc33471mr00yw80h3lymhx86ncyjz8v-python3.12-dramatiq-1.17.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.dramatiq https://github.com/r-ryantm/nixpkgs/archive/09faeb11a60588900f3bb535e04e8a2c4cd69bf2.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/09faeb11a60588900f3bb535e04e8a2c4cd69bf2#python312Packages.dramatiq

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jkc33471mr00yw80h3lymhx86ncyjz8v-python3.12-dramatiq-1.17.1
ls -la /nix/store/jkc33471mr00yw80h3lymhx86ncyjz8v-python3.12-dramatiq-1.17.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 14 packages built:

fittrackee
fittrackee.dist
python311Packages.dramatiq
python311Packages.dramatiq.dist
python311Packages.flask-dramatiq
python311Packages.flask-dramatiq.dist
python311Packages.periodiq
python311Packages.periodiq.dist
python312Packages.dramatiq
python312Packages.dramatiq.dist
python312Packages.flask-dramatiq
python312Packages.flask-dramatiq.dist
python312Packages.periodiq
python312Packages.periodiq.dist

Maintainer pings
cc @traxys for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 351475 at 50b246d7 run on x86_64-linux 1

:white_check_mark: 7 packages built:

fittrackee
python311Packages.dramatiq
python311Packages.flask-dramatiq
python311Packages.periodiq
python312Packages.dramatiq
python312Packages.flask-dramatiq
python312Packages.periodiq


[fcl] Adds WalletConnect Adapter Package and support for client plugin services

In order to add support for WalletConnect and other client configured authentication services, FCL can use a service plugin registry or config to extend it's service methods. Client configured services, including extensions and plugins can be sent to Discovery for display and selection by the user.
import * as fcl from '@onflow/fcl'
import { initFclWc } from '@onflow/fcl-wc'

const { FclConnectServicePlugin, client } = await initFclWc({
  projectId: PROJECT_ID
})

fcl.pluginRegistry.add(FclConnectServicePlugin)

A Discovery Service Plugin should be an object consist of a name: String, type: String, discoveryServices: Array.
Each service needs a service definition of f_type: "Service" and a corresponding service strategy for the service definition's Method.
A Service strategy should return a function that returns a Promise that resolves to a PollingResponse.
name: "fcl-service-walletconnect",
type: "discovery-service",
dicoveryServices: [
    {
      definition: {
        f_type: "Service",
        f_vsn: "1.0.0",
        type: "authn",
        method: "WC/RPC",
        uid: "wc#authn",
        endpoint: "flow_authn",
        optIn: false,
        provider: {
          address: "WalletConnect",
          name: "WalletConnect",
          uid: null,
          icon: "https://avatars.githubusercontent.com/u/37784886",
          description: "WalletConnect Generic Provider",
          website: "https://walletconnect.com/",
          color: null,
          supportEmail: null,
        },
      },
      strategy: Promise,
    }

pluginRegistry.add will accept one or an array of plugins of type "discovery-service"

@JeffreyDoyle We need the topic id from an existing paired wallet. This topic is sent with the wallet connect request, to skip QR code.
I added it to a new field on the generated service -> provider.uid
This should work, but we also need each service generated to have a different address I think.


Uses new XDisplacement func to check X displacement

🦟 Bug fix
Fixes  https://github.com/gazebosim/gz-common/pull/393
Summary
Uses new XDisplacement func introduced in here to check XDisplacement.
Checklist

[X] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

@Ahcorde, reminder for the tag.

It requires this PR https://github.com/gazebosim/gz-common/pull/411

@luca-della-vedova Is this something we need for Harmonic?

@luca-della-vedova Is this something we need for Harmonic?

This is also a controversial change.
Without this change, we check only the root node for a "sufficient" displacement in X before we set the interpolate_x flag in the actor animation.
The purpose is to make sure that we don't end up in cases where we enable X interpolation yet there is a very small (or zero) range of x movement in the root node.
This function instead would return true if any of the nodes in the actor moves in X by a non negligible amount, which is probably always going to happen, for example if a standing person was to move its hand a bit that would already be above threshold and this would enable X interpolation.
However, when doing the actual interpolation we will still need a single value to divide by, and that value will be the X displacement of the root node (here).
For this reason I'm afraid this PR would end up actually creating issues since we will end up in that code path even when the root node has 0 (or very small) displacement, causing issues that could go from numerical instability (i.e. when dividing by very small values) all the way to division by zero, NaN propagation and exceptions being thrown down the line.
For this reason my recommendation would be not to merge this PR.

Thanks for the explanation @luca-della-vedova, even though I don't have enough context to fully understand it. I'll go ahead and close the PR.


Update CODEOWNERS org

Fix for org rename
PR checklist:

[ ] PR comment includes a reproducible test plan
[ ] Change has no security implications (otherwise ping the security team)

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


AdMobPro - phonegap PushPlugin incompatibility

Hi,
I opened the issue on the ionic project as I tested it within the Ionic envionement.
You can find all error messages and how to reproduct the error on issue #4049.

Check wiki: https://github.com/floatinghotpot/cordova-admob-pro/wiki/Difference-of-Plugin-IDs
See FAQ No. 3

Ok thank, I guess it is absolutey not the fault of your plugin. But as the PushPlugin repo seems dead I really on't what should I do.
I close the issue here.


[BUG] WithCalculatedFormulas not working

Prerequisites

[x] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[x] Able to reproduce the behaviour outside of your code, the problem is isolated to Laravel Excel.
[ ] Checked that your issue isn't already filed.
[ ] Checked if no PR was submitted that fixes this problem.
[X] Filled in the entire issue template

Versions

PHP version: 7.4
Laravel version: 7.0
Package version: 3.1

Description

Steps to Reproduce
Formula:  =RIGHT(C4,LEN(C4) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, C4&"0123456789")) +1)

Expected behavior:
Show calculate the value of calculated fields when using WithCalculatedFormulas

Actual behavior:
display formula as a string not calculated value

Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

namespace App;

use Maatwebsite\Excel\Concerns\ToArray;
use Maatwebsite\Excel\Concerns\WithCalculatedFormulas;

class ExcelUtils implements ToArray,WithCalculatedFormulas
{

    public function array(array $array)
    {
        return $array;
    }

}

The calculation might fail and fallback to the string value. I'm not sure if PhpSpreadsheet is able to calculate a more complicated formula like that, you should try to run a debugger (xdebug, dd() ) to see what happens

@patrickbrouwers  thanks for your replay
but where in code can I debug

Laravel-Excel/src/Cell.php:64


Merge from master

Attempting a merge from master into imodel02 and then going to create a true merge commit.
I'd like to automate this process so we don't need so many unnecessary merges.  I'll see if I can get to that this weekend.

Going to abandon... I don't like how many reviewers this requires...


feat(RingTheory.Binomial): Add BinomialRing instance for rational algebras.

This PR adds an instance of BinomialRing for the real numbers, which is useful if one wishes to prove the generalized binomial theorem and/or Chu-Vandermonde identity.

Your proof doesn't seem to use any special features of the reals besides the fact that k+1 is invertible for all natural numbers k.  This seems to suggest you can replace real numbers with something like {R : Type*} [AddCommMonoid R] [Module ℚ≥0 R] [Pow R ℕ].

@ScottCarnahan Thanks for the suggestion to generalize. I wasn't able to quite get my proof to work with [AddCommMonoid R] [Module ℚ≥0 R] [Pow R ℕ]. My latest commit requires R to be [CommRing R] [CharZero R] [IsLeftCancelMulZero R] [Algebra ℚ R] instead.

Thanks, this looks much simpler. I think that instead of a $\mathbb{Q}_{\ge 0}$ module we should however specify a $\mathbb{Q}$ module. With [Module ℚ≥0 R] we cannot synthesize a BinomialRing instance for the reals. For example def test := BinomialRing.multichoose (4:ℝ) 2 yields the error
failed to synthesize
  BinomialRing ℝ

Changing all instances of ℚ≥0 to ℚ fixes this.
Arguably, the real issue is that we lack a equivalent to NNReal.instModuleOfReal but for NNRat and Rat. What do you think?

This is curious.  I see the instance was removed from Mathlib.Algebra.Module.Basic in #11203.

By the way, if you don't want boldface text in the PR description, put a blank line between your text and the line with three dashes.

Great, thank you. I've committed your suggested version to the PR and am happy with waiting for Yaël's PR to fix synthesizing Module ℚ≥0 ℝ to come after this one.

Great, I've changed the section to Basic_Instances so I think this is ready to be merged now.

@ScottCarnahan, sorry for the ping, but does this need a maintainer merge comment to move into the merging queue? Or do I just need to wait for a maintainer to take a look?

Sorry I don't have permission to advance it here, but I can start a discussion on Zulip.  On an unrelated note, perhaps you should edit the PR description, e.g., change "real" to "NNRat" or "rational"

bors r+