Is this workflow still functional? I can't get it to work at all on Alfred 4, macOS Monterey

This Alfred workflow sounds really useful But I haven't been able to get it to work on Alfred 4, macOS Monterey on multiple occasions. See attached screenshot of its Alfred debugging info below (I'm a noob when its comes to web developer/coding tools so I don't know where to go from there)

Working now all good mate

I have no idea , Sorry. I just kept installing different versions of python on home brew and different releases of this workflow until it eventually worked.

I've now encountered the same problem and its completely non functional

Same doesn't seem to work for me. r/ briefly brings up the Browse reddit prompt before switching to 'Search Google'

bump, it's not working at all

Apple removed Python 2.x which lead to this plugin breaking as it was written in Python 2.X.  Hoping the author updates the code for Python 3...

Is it working with Alfred 5? Since Monterey now has python3?

I would also like to see this working for Alfred 5.

Me too!!

does not work with python 3
Code 1: Traceback (most recent call last):
  File "/Users/ashtonian/.sync/alfred/Alfred.alfredpreferences/workflows/user.workflow.2EF55EED-B8F9-4A57-AB42-7DEABF0331AB/reddit.py", line 35, in <module>
    from HTMLParser import HTMLParser
ModuleNotFoundError: No module named 'HTMLParser'

Script needs updating to work with python3, the core of this workflow in reddit.py doesn't need anything other than the htmlparser update to from html.parser import HTMLParser and then the info.plist command change to python3.
The issue is that this was built on a framework of sorts https://github.com/deanishe/alfred-workflow which is dead and forked https://github.com/NorthIsUp/alfred-workflow-py3. Not sure the status of the fork with alfred 5 or if its just a drop in.
Then there is this https://github.com/alfredapp/updated-third-party-python2-workflows#readme which apparently offers tweaked versions of the workflows that will work by reinstalling pyton2 via https://www.alfredapp.com/help/kb/install-dependencies/  which uses homebrew under the hood.

I ported this to Python 3 and Alfred 5
https://github.com/giovannicoppola/alfred-reddit/releases/latest


Add Empirical Software Engineering

https://github.com/dspinellis/awesome-msr
Data sets associated with empirical software engineering research that is conducted by mining software repositories and by using search-based software engineering methods
By submitting this pull request I confirm I've read and complied with the below requirements 🖖
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.
Requirements for your pull request

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Requirements for your Awesome list

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either fullwidth or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
WTFPL and Unlicense are not acceptable licenses.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Suggestions:

Provide a description in this list's entry
Fix the link in this PR
Add a License in a LICENSE file
Remove A /An from descriptions

[ ] Provide a description in this list's entry
[ ] Fix the link in this PR
[ ] Add a License in a LICENSE file
[ ] Remove A /An from descriptions

Sorry, missed that (somehow 🤷♂ ).

No problem! Then all issues are addressed.

Hey, sorry for the lack of response, please see #1363.

❯ awesome-lint https://github.com/dspinellis/awesome-msr
✖ Linting

  README.md:24:5
  ✖   1:16   Invalid badge source                                                      remark-lint:awesome/badge
  ✖  15:1    ToC item "Data Sets" does not match corresponding heading "Repositories"  remark-lint:awesome/toc
  ✖  20:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  20:45   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  21:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  21:76   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  22:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  22:56   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  23:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  23:31   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  24:3    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  24:5    Don’t pad link with inner spaces                                          remark-lint:no-inline-padding
  ✖  25:3    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  26:3    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  30:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  30:61   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  31:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  31:39   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  32:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  32:60   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  33:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  33:59   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  34:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  34:64   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  35:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  35:50   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  36:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  37:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  37:103  List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  38:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  38:120  List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  39:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  39:37   Text "Github" should be written as "GitHub"                               remark-lint:awesome/spell-check
  ✖  39:37   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  40:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  40:84   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  41:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  41:38   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  42:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  42:120  List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  43:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  43:62   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  44:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  44:45   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  45:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  46:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  47:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  47:125  List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  48:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  48:48   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  49:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  50:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  51:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  51:83   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  52:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  52:42   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  53:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  53:66   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  57:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  57:36   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  58:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  58:43   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  59:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  59:47   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  60:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  60:47   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  61:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  61:67   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  63:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  63:211  List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  64:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  64:53   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  65:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  65:52   List item description must end with proper punctuation                    remark-lint:awesome/list-item
  ✖  66:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style
  ✖  67:1    Marker style should be -                                                  remark-lint:unordered-list-marker-style

  76 errors

https://github.com/sindresorhus/awesome-lint

Can you fix the merge conflict?

Thank you for coming back to this. I fixed the merge conflict and shortened the title and the description.

Your list heading is completely different from the title you've used here.

Thank you for the swift response. I updated the list's heading to match the given title.

❯ awesome-lint https://github.com/dspinellis/awesome-msr
✖ Linting

[...]

https://github.com/sindresorhus/awesome-lint

Thank you for the pointer. Fixed and lint CI added to the project.

The list heading should be Awesome Empirical Software Engineering, not Awesome Empirical Software Engineering Resources.

You should not use my email in https://github.com/dspinellis/awesome-msr/blob/master/code-of-conduct.md

Good points. I corrected both identified issues.

Tweet: https://twitter.com/awesome__re/status/1126388832805330945


Markdown reader doesn't handle hard breaks

Markdown has a syntax for specifying hard line breaks by ending the line with a \. This is ignored by the internal markdown reader and they come out in the output. (See also #413.)
Additionally there is a Pandoc flavored extension to markdown that begins poetry formatted blocks (i.e. respect line breaks and initial spaces) with a |. That  format is likewise ignored.

I didn't know about that poetry formatted blocks before. :+1:
It's a pity that these useful tricks from pandoc are not portable to other markdown dialects and causes glitches, e.g. this leaking backshlashes at GitHub,

@severak I'm pretty sure your use of backslashes in that particular case is actually wrong. You're combining a two-space thing on empty lines with a backslash and I don't think they make any sense together. Pandoc figures out to do something, but it's document logic is also alien magic compared to most. As long as you're going with something only Pandoc can parse properly it would bake a lot more sense to use the block level syntax:
# Title

| Lines of
| Poetry here
|
| Second stanza
| Over the rainbow

There's a bunch of different things here:

Hard line breaks

Markdown does have a standard syntax: two trailing spaces at the end of a line.

This syntax is actually supported by lunamark (the parsing Library used in our internal native markdown support)... but it wasn't properly handled (mapped) in our custom internal reader :eyes:
markdown.sile now correctly handles it.

Pandoc-extended Markdown has a alternative syntax - i.e. an extension - for, indeed "specifying hard line breaks by ending the line with a \". This is the escaped_line_breaks extension, which Pandoc enables by default).

It wasn't supported by lunamark, but my PR just got accepted... Yay!
... and obviously my markdown.sile handles it too.

Line blocks (Pandoc's line_blocks extension, which are indeed interesting for typesetting addresses, etc. ... and poetry!

These weren't supported by lunamark, but again, my PR for them just got accepted too... Yay!
... and again markdown.sile leverages them, with extra provisions for poetry in mind.

In other terms, it seems to me that this 4-year old issue could be closed.
I'll comment later at some point in #1336 regarding the whole progress of the markdown.sile package (I still have a few things under the hood), but as far as line breaks and line blocks go, for fairly good parity with Pandoc, this is it!
(As can be seen there, markdown.sile also includes, besides the "native" rendering engine, a way to use Pandoc's JSON AST, where obviously all these features are also supported too)

Closed via #1610.


TS compiler to throw hands in the air about no explicit returns when {} are used in the lambda

TS compiler to throw hands in the air about no explicit returns when {} are used in the lambda
TypeScript Version:  2.3.5
Code
const filtered = this.state.emailAddressesViewList.findIndex((email: EmailAddressViewModel) => {
    (email.EmailAddress === emailAddress);
});

Expected behavior:
Want to return the index of the element in the array
Actual behavior:
It was always returning -1
Solution
Worked with either of these though, just would be nice to throw an error of some sort if possible
const filtered = this.state.emailAddressesViewList.findIndex((email: EmailAddressViewModel) =>
     (email.EmailAddress === emailAddress)
);

const filtered = this.state.emailAddressesViewList.findIndex((email: EmailAddressViewModel) => {
     return (email.EmailAddress === emailAddress)
});

Should be flagged as error under --noImplicitReturns.

@pmonty Could you share a complete example? I correctly get an error using [].findIndex, so I'm wondering if this.state.emailAddressesViewList is not a regular array.

this.state.emailAddressesViewList is an Array of EmailAddressViewModel which is just
    export class EmailAddressViewModel {
        DisplayName: string;
        EmailAddress: string;
        isList: boolean;

        constructor(name: string, emailAddress: string, isList: boolean) {
            this.DisplayName = name;
            this.EmailAddress = emailAddress;
            this.isList = isList;
        }

        public getFriendlyLabel(): string {
            return this.DisplayName === "" ? this.EmailAddress : this.DisplayName;
        }
    }

        private isEmailInEmailList(emailAddress: string): number {
            const filtered = this.state.emailAddressesViewList.findIndex((email: EmailAddressViewModel) => {
               (email.EmailAddress === emailAddress)
            });

            return filtered;
        }

@pmonty When I try that out I see an error:
export class EmailAddressViewModel {
	DisplayName: string;
	EmailAddress: string;
	isList: boolean;

	constructor(name: string, emailAddress: string, isList: boolean) {
		this.DisplayName = name;
		this.EmailAddress = emailAddress;
		this.isList = isList;
	}

	public getFriendlyLabel(): string {
		return this.DisplayName === "" ? this.EmailAddress : this.DisplayName;
	}
}

class Foo {
	state: { emailAddressesViewList: EmailAddressViewModel[] }

	private isEmailInEmailList(emailAddress: string): number {
		const filtered = this.state.emailAddressesViewList.findIndex((email: EmailAddressViewModel) => {
		   (email.EmailAddress === emailAddress)
		});

		return filtered;
	}
}

src/a.ts(21,64): error TS2345: Argument of type '(email: EmailAddressViewModel) => void' is not assignable to parameter of type '(value: EmailAddressViewModel, index: number, obj: EmailAddressViewModel[]) => boolean'.
  Type 'void' is not assignable to type 'boolean'.


Episode Idea: kube-ingress-aws-controller

its like my secret weapon in AWS when it comes to:

ssl offloading
ingress (skipper, comes bundled in)
many more
handling dns entries (when external dns is installed)

see: https://github.com/zalando-incubator/kube-ingress-aws-controller

cc @szandala

would love to see this.


[Tools] Testing Behaviors of Each Pass

This PR attempts to add a shell script that applies each of the defined passes to a given file and tries to find a pattern of interest. This was developed in attempts to understand issue #574.

Recommendations

Use the shellcheck on the script and fix the errors reported by it.
Add the header used in the flag-compare.sh script to the top of the file: https://github.com/cucapra/calyx/blob/master/tools/flag-compare.sh#L6
Give "$1" and "$2" meaningful names at the start of the file right under the documentation for them and use those names instead of $1.
Rename the file to test-passes.sh (note the - instead of _).
Add documentation for the script in the debugging tips section of the documentation: https://capra.cs.cornell.edu/docs/calyx/debug/debug.html#reducing-test-files

@yn224 this PR is getting stale. What needs to be done to either (1) merge it, or (2) close it?

@yn224 this PR is getting stale. What needs to be done to either (1) merge it, or (2) close it?

Sorry. Since the idea is embedded in PR #625,this PR can be closed.


I used the .perfectScrollbar(); with a class that have a lot of divs

that div sometimes doesnt need to scroll and have no info, but even in that case appear the scroll

I'm afraid it's too difficult to look into the issue with such a simple and general explanation. Can you provide any example page or jsfiddle? They would help me a lot to find out the reason.
Thanks.

I think he wants to hide the scrollbar when the content inside is emty.

That's right @noherczeg,

all divs have the same class, but in first div there is no content and even has the scrollbar, what should i do to hide de scroll bar in the first div without broke the rest

If I'm not mistaken there actually is some text below the top scrolling area. I can certainly see the top of some text there. That's why it's there imho.

nop, there is nothing in first item, look

and appears the scroll bar, in second one there is more info and the scroll bar is good, in first one is not

Have you tried the scrollYMarginOffset option? Are there any  tags at the end of the text? Or any leftover whitespaces? If not then it might be some sort of css problem in your code imho :-/

nope, there is nothing, and the problem is not that has an empty scroll, the problem is the scrollbar, it appears but the info is static, just appear the bar, there is no scroll

anyone???

Was not sure if you sent me the email. I've got nothing. If you did, can you send me again?
<EMAIL_ADDRESS>

you got the url on your inbox! i just send it

I think I've found the reason. The containers have padding and your page is using the old version of the plugin, so you should specify includePadding option. Please use .perfectScrollbar({includePadding: true}) instead of .perfectScrollbar().
I've tried with console and it works well, so please tell me if it works for you too.

I'll try it and i let u know what happened, thanks bud!

i think it does not work
$('.tpl-paquete-contenido-principal, .taxonomy-term-description').perfectScrollbar({
suppressScrollX: true,
maxScrollbarLength: 120,
includePadding: true
});

i think it does not work
$('.tpl-paquete-contenido-principal, .taxonomy-term-description').perfectScrollbar({
suppressScrollX: true,
maxScrollbarLength: 120,
includePadding: true
});

u can help me please with the last perfect-scrollbar.js i dont know how to upgrade mine without broke everything, and i didnt install it in drupal...

It works, perfect!!! thanks for helping and time you guys!


[🐞] SSR Redirect (from Action) with Query Parameter doesn't work properly.

Which component is affected?
Qwik City (routing)
Describe the bug
When a user tries to submit a publicly visible form I redirect him to the login page from my globalAction/formAction using throw ctx.redirect(302, '/login?redirect=/ambulance)after inspecting the response header of my action I found that the redirect URL changed to something more client friendly (maybe for SPA navigation) to:Location:
/login/q-data.json?redirect=/ambulancebut the URL bar of the browser doesn't include theredirectquery parameter, If look into the URL bar I can only seelocalhost/login(I expected it to belocalhost/login?redirect=/ambulance).  and also the useLocation() hook doesn't contain the searchParams value for redirect`.
This bug only happens when I use SSR redirect,
If I do the redirection via client-side navigator (useNavigate and navigate('/login?redirect=/ambulance)) then everything works, but I want to support no-javascript clients also.
Reproduction
https://github.com/iamriajul/qwik-app-experiment/tree/master/src/routes
Steps to reproduce
I've attached a reproducible demo, you just run the project normally and then visit /my-form.
I've created two routes for this bug reproduction:

/my-form
/my-login
To demonstrate the issues.

System Info
System:
    OS: macOS 13.5.1
    CPU: (16) x64 ********* 8-Core Processor
    Memory: 266.00 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 16.20.2 - ~/.nvm/versions/node/v16.20.2/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 8.19.4 - ~/.nvm/versions/node/v16.20.2/bin/npm
    pnpm: 8.9.2 - ~/.nvm/versions/node/v16.20.2/bin/pnpm
  Browsers:
    Chrome: 116.0.5845.110
    Edge: 118.0.2088.61
    Safari: 16.6
  npmPackages:
    @builder.io/qwik: ^1.2.12 => 1.2.12
    @builder.io/qwik-city: ^1.2.12 => 1.2.12
    @builder.io/vite-plugin-macro: ~0.0.7 => 0.0.7
    undici: 5.22.1 => 5.22.1
    vite: 4.4.7 => 4.4.7

Additional Information
No response

After submitting the Form with Not Logged In Status. You can notice that the routeLoader$ is properly catching my redirect=/my-form param properly, but the client-side routing (useLocation) doesn't.


Migrate xbuild to msbuild

With the release of Mono 5, xbuild has been deprecated in favor of msbuild (Further details here). Luckily, the syntax is exactly the same, so updating just a matter of changing every reference of xbuild to msbuild.

@joshua-anderson @akoeplinger @nterry Opinions, please?

We can't do it this way since it'd break on older Mono versions where msbuild isn't available, we need to make it conditional on Mono >= 5.0.
You can look at is_mono_after_4_4 for an example of such a check

Added checks to see if the mono version is greater than 5, and added tests to ensure that everything works

@BanzaiMan I have a few other changes that I'd like to get in either today or tomorrow, I guess this doesn't need to be deployed right away and can be tested together :)

Awesome, thanks 😄

Just checking in to see the progress on this, all of my builds have been failing for a while because of this 🙁

bump

@TOTBWF sorry for the delay, I forgot about this :( Rebased it in #1261.
btw. you shouldn't have been blocked by this since it only applies when the solution key in .travis.yml is specified which is just a shortcut for
script:
  - msbuild /p:Configuration=Release your_solution.sln


Content Range - put_range step has wrong implementation

https://github.com/wojtekmach/req/blob/v0.3.11/lib/req/steps.ex#L416
the docs say that put_range/1 sets the "content-range" header. It actually, sets the "range" header as seen from code above.
Either the docs need to change or the put_range/1.
Willing to raise a PR.

https://github.com/wojtekmach/req/blob/v0.3.11/lib/req/steps.ex#L420
Additionally, bytes=0-3/100 is not the syntax followed in content-range header.
it is bytes 0-3/100 (notice, no =)
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range#examples

Good find. The client sets "range" and the server responds with "content-range". Please send a PR!

Sorry, I only now was able to see this on the computer. Both the code and the docs are correct. The docs say we set "range" header. You saw "content-range" in the docs but that was from the response.

Oh. that part skipped from my eyes as well!
On a different note, I wrote a custom Req.Step where I set content-range in request, instead of range. That worked! So I assumed that we need to set content-range here too.
Maybe both range and content-range in request work.

Yes you can set any header and servers most likely ignore the ones they don’t know about.


Document Txid being displayed backwards

Fix #958

Might be worth adding a line to the effect of "the entire Bitcoin ecosystem serializes these hashes this way, it's not within our power to fix".
Just "historical reasons" sounds like it might invite people to try to fix it within this project.

Agreed. Changed to:

For compatibility with the rest of the existing Bitcoin infrastructure and historical and current versions of the Bitcoin Core software itself, this and other sha256d::Hash types, are serialized in reverse byte order when converted to a hex string via std::fmt::Display trait operations. See hashes::Hash::DISPLAY_BACKWARD for more details.

I hope it convey what you wanted the express.

This looks much better, thanks!


Other: set minimum deployment version for macOS to 11.0 (Big Sur).

Other: set minimum deployment version for macOS to 11.0 (Big Sur).

Actually not needed. can be set from the calling exe being linked using CGO_CFLAGS="-mmacosx-version-min=11.0"


Fixes and small improvements in menu items commands

Fix problem with Command-Y shortcut
Fix greyed out "Reload Page" command
Simplify behavior of "Activity window" menu item
Rearrange some items present in the "View" menu

I propose to change the full-screen configuration to "auxiliary window" and the spaces configuration to "move to active space" in IB. I think it makes sense for both windows to stay together. I don't think full-screen mode is all that useful for this window.

Same behavior should probably apply to Downloads and InfoWindow.


Array methods yield improper type resolution on resolved Promise<Array<imported type>>

try flow link
import Foo from './foo';

function genFoos(): Promise<Array<Foo>> {}

async function doSomething() {
  const foos = await genFoos();
  foos.forEach();
}

foos on the last line resolves to Array<Foo> | Promise.  Seems to be related to the import (not a missing import since the actual import in my code resolves fine).
My editor started complaining at me with the above code when I typed .forEach(), saying that foos was resolving to Array<Foo> | Promise and that Promise.forEach isn't valid.  As soon as you add a function in the forEach, e.g. foos.forEach(n => n), it properly resolves foos to Array<Foo> again.
I'm not sure if this is a case where invalid code is making flow behave oddly (since foos.forEach() would throw), but regardless I think it should behave properly since many editors will run incomplete code through flow.

Correction: This issue isn't isolated to .forEach() being called without a function, but I can't seem to reproduce it easily with try flow since it seems to require an import to a valid file.  I just made a simple file with:
export default class Foo {}

and changed the .forEach() to .forEach(a => a.foo())

These issues are likely fixed a long time ago since types-first


FastSerialization throws generic Exception on error

When an EventPipeEventSource is created with a stream, sometimes FastSerialization can run into error when the target process stops sending data and EventPipeEventSource tries to read off the stream and fails.
This then throws a plain Exception instance, which is rather unfortunate because it makes it hard on the consumer side to catch just this kind of exception and force a catch-all clause.

@sywhang can you share a call stack for this please?

This isn't exactly the same example (this one is from creating an EventPipeEventSource from a truncated nettrace file) but it shares a similar call stack:
Error: Exception EventPipe conversion: System.Exception: Read past end of stream.
   at FastSerialization.IOStreamStreamReader.Fill(Int32 minimum)
   at FastSerialization.MemoryStreamReader.ReadByte()
   at FastSerialization.Deserializer.ReadObject()
   at Microsoft.Diagnostics.Tracing.EventPipeEventSource.Process()
   at Microsoft.Diagnostics.Tracing.Etlx.TraceLog.CopyRawEvents(TraceEventDispatcher rawEvents, IStreamWriter writer)
   at Microsoft.Diagnostics.Tracing.Etlx.TraceLog.<>c__DisplayClass118_0.<FastSerialization.IFastSerializable.ToStream>b__0()
   at FastSerialization.DeferedRegion.Write(Serializer serializer, Action toStream)
   at Microsoft.Diagnostics.Tracing.Etlx.TraceLog.FastSerialization.IFastSerializable.ToStream(Serializer serializer)
   at FastSerialization.Serializer.WriteObjectData(IFastSerializable obj, Tags beginTag)
   at FastSerialization.Serializer.WriteObjectRef(IFastSerializable obj, Boolean defered)
   at FastSerialization.Serializer..ctor(IStreamWriter writer, IFastSerializable entryObject)
   at Microsoft.Diagnostics.Tracing.Etlx.TraceLog.CreateFromEventPipeEventSources(TraceEventDispatcher source, String etlxFilePath, TraceLogOptions options)
   at Microsoft.Diagnostics.Tracing.Etlx.TraceLog.CreateFromEventPipeDataFile(String filePath, String etlxFilePath, TraceLogOptions options)

This comes from https://github.com/microsoft/perfview/blob/9a743d94f4a188a7821c67c68ce75989e8535149/src/FastSerialization/StreamReaderWriter.cs#L817.
We certainly have the ability to change this if we want to, and I don't think we have a big compat burden here.  That said, the streaming case is interesting, because I would expect that until the connection is terminated, that attempting to read a byte off of the stream could fail in the normal course of business if a byte hasn't been sent.  I'm wondering if in the stream case, we need to either block and try again, or return some sort of response that tells the client to try again.
What do you think?

I'm wondering if in the stream case, we need to either block and try again, or return some sort of response that tells the client to try again.

I think we could just throw an exception and the client can decide whether it wants to retry on such error.
On a side note, do we have a timeout for the read when we're in the streaming case?


Remove and shelve outdated Utah School Board District data from Open SGID (remain in AGOL as shelved)

Summary

Internal Dataset Name: SGID.POLITICAL.UtahSchoolBoardDistricts2015
External Dataset Name: Utah School Board Districts 2015
ArcGIS Online Url: Utah School Board Districts 2015

A short summary of the situation.
This school board data/district is no longer active. As of Jan 2023, we are now using the latest districts and this one need to be removed from Open Data but made available in AGOL under the 'shelved' tag. Also, we should rename the item names in AGOL to be more descriptive and to better match our current naming convention for this layer. The remaining should be as follows:

Utah School Board Districts 2012 to 2022

Also, see this somewhat related porter issue in which we are deprecating the School Board District named 2012.
Migration Guide
This dataset has been replaced by Utah School Board Districts 2022 to 2032.
At this point, we should be migrating applications and users away from this outdated layer and onto the latest data.
Let's do a soft delete before we do a hard delete (aka: remove from Open Data) because of the many systems and users that were/are potentially using this data.
Action items

Assign a person who should complete the task by replacing name with their github @name.
Check [x] the box when the task is completed and add the date of completion.
~Strike~ out all items that do not apply.

Soft Delete
The purpose of the soft delete is to ensure that all of our users and applications have gracefully migrated off of the dataset. Soft deletes will remain in effect for 14 days. During this time, we will have the ability to restore the dataset to its original SGID offering(s). After these 14 days, the item is then ready for a hard delete.
Note: If this dataset is being replaced, then wait until the new data is publicly available before completing these steps:

[x] Remove "Authoritative" tag from AGOL (@gregbunce, completed: 2023/01/27)
[x] Add "Shelved" tag to AGOL item (@gregbunce, completed: 2023/01/27)
[x] Update the ArcGIS Online description, informing users how this layer was used in the past (@gregbunce, completed: 2023/01/27)
[x] Unshare item from Open Data (@gregbunce, completed: 2023/01/27)
[x] Rename the AGOL layer if needed (@gregbunce, completed: 2023/01/27)
[x] Udate the SGID Index row with the agol item URL now that is shelved and note that it has been shelved in the description column (@gregbunce, completed: 2023/01/27)

[x] Change Authoritative field to null in SGID.META.AGOLItems. Allow to persist through one run of Auditor - currently, Auditor runs daily at 5:00am (@gregbunce, completed: 2023/01/27)

[ ] After one successful run of Auditor, remove the row from the SGID.META.AGOLItems table. This will trigger the removal of this item in Open SGID (@gregbunce, completed: 2022/00/00)

Shelve/Static
Choose one based on situation.

[x] Move existing AGOL item to AGRC_Shelved AGOL folder (shelving an item already in AGOL) (@gregbunce, completed: 2023/01/27)

Add record to table.

[x] Add record to AGOLItems_shelved table in ArcGIS Online  with shelved or static in the CATEGORY field (@gregbunce, completed: 2023/01/27)

Hard Delete
Hard deletes are final. It is recommended to complete the soft delete process before moving on to these steps. If you decide to skip the soft delete, note that you will need to incorporate some of those steps here.

[ ] Manually remove data from the Internal SGID (@gregbunce, completed: 2022/00/00)
[ ] Remove ArcGIS Online item: (@gregbunce, completed: 2022/00/00)

Shelve the data by copying the row from SGID.META.AGOLItems to the AGOLItems_shelved table in AGOL and changing the AGOL_ITEM_ID field in SGID.META.AGOLItems to shelved or some other note.

[ ] Remove Farm from AGOL connection (name, completed: 2022/00/00)
[ ] Update relevant gis.utah.gov data pages (@gregbunce, completed: 2022/00/00)
[ ] Add this porter url to the Deprecated field of the Stewardship record (@gregbunce, completed: 2022/00/00)
[ ] Update SGID.META.AGOLItems table (@gregbunce, completed: 2022/00/00)

cut and paste row to AGOLItems_shelved table if shelving (see below)
set the AGOL_ITEM_ID field to hosted by <agency> for Farm from AGOL
set the AGOL_ITEM_ID field to exclude from AGOL to not publish to ArcGIS Online

[ ] Remove row from SGID.META.ChangeDetection (name, completed: 2022/00/00)
[ ] Remove data from forklift hashing and receiving (name, completed: 2022/00/00)
[ ] Remove row from data/hashed/changedetection.gdb/TableHashes (name, completed: 2022/00/00)

:robot: Automation validation

Assign yourself or someone to check the item by replacing name with their github @name.
Check [x] the box and add the date of verification 2020/01/01 when the task is verified.
~Strike~ out all items that do not apply.

[ ] Remove data from Open SGID (@gregbunceon 2022/00/00)
[ ] sgid-index (@steveoh on 2022/00/00)
[ ] Auditor sets appropriate shelved/static/Deprecated information (@jacobdadams on 2022/00/00)

Are there service dependencies

Does an application depend on this data?
Possibly, we need to investigate further.

Are clients querying this data with the WebAPI?
At this point, the answer should be no.  But, we need to verify that.

Notification

[ ] Twitter (@steveoh)

Group Task Assignments

Check [x] the box when you have assigned all the tasks relevant to your group.

[ ] Data Team (@gregbunce)
[ ] Dev Team (@steveoh)
[ ] Cadastre Team (@rkelson)

/remind me to finish shelving on 2/10/2023

@jacobdadams if you get a min, please look over my actions above (in the soft delete and shelve/static sections) to make sure I'm jiving with your processes.  i don't want to blow anything up (but, it could be fun!).

Everything looks good, but the Auditor logs are telling me I missed a step with the soft delete- it doesn't like having the item id in both tables. @gregbunce, are you ok if I remove the itemid from the main meta table?

thanks for making sure all the wires are connected under the hood.  sure, you can remove the itemid from the meta table.  thanks.  this layer was my dry run (aka template) on how to proceed with the other political district layers so, should I remove the itemid when moving ahead with the other layers  (us cong; state senate; state house)?  The workflow is pretty much identical to this one.

Great, I've got the itemid removed from the meta table and I'll do a manual run of auditor once I get the conda environment set up.
And yeah, I think this works great moving forward. Let's just make sure we remove the itemid from the meta table once we put it in the shelved table.

Great, that works.  also, i added you to the task of removing the row from the meta table.  I'm not sure the timing you'd like on that, so i figured i'll assign that one to you.  feel free to remove it whenever you see it necessary (my workflow does not require that row there).

We may want to double check with @steveoh on that- I feel like that table gets used for the clouddb stuff that loads items to the Open SGID.

I believe as soon as you remove that row from the meta table that the table will be removed from the OpenSGID. I don't see any issues with this as from the description that appears to be what we want to do. Since we are putting this on the shelf, we only need to make sure the agol item isn't removed and everything else should be removed.

bumping the removal date in Internal db to 2/15/2022

conductor results for tasks - 219

check
status

@gregbunce has completed 10 out of 14 tasks
:no_entry:

@steveoh has completed 0 out of 3 tasks
:no_entry:

@jacobdadams has completed 0 out of 1 tasks
:no_entry:

@rkelson has completed 0 out of 1 tasks
:no_entry:

conductor results for tasks - 219

check
status

gregbunce has completed 14 out of 14 tasks
:+1:

@steveoh has completed 0 out of 6 tasks
:no_entry:

@jacobdadams has completed 0 out of 1 tasks
:no_entry:

@nathankota has completed 0 out of 1 tasks
:no_entry:

@rkelson has completed 0 out of 1 tasks
:no_entry:

conductor results for tasks - 219

check
status

gregbunce has completed 14 out of 14 tasks
:+1:

@steveoh has completed 0 out of 6 tasks
:no_entry:

@jacobdadams has completed 0 out of 1 tasks
:no_entry:

@nathankota has completed 0 out of 1 tasks
:no_entry:

@rkelson has completed 0 out of 1 tasks
:no_entry:

My validation tasks look good.

conductor results for tasks - 219

check
status

gregbunce has completed 14 out of 14 tasks
:+1:

steveoh has completed 6 out of 6 tasks
:+1:

jacobdadams has completed 1 out of 1 tasks
:+1:

@nathankota has completed 0 out of 1 tasks
:no_entry:

@rkelson has completed 0 out of 1 tasks
:no_entry:

conductor results for POLITICAL.UtahSchoolBoardDistricts2015

check
status

internal sgid
:+1:

meta table
:+1:

stewardship
:no_entry: There are multiple items with this name on rows 517, 517. Please remove the duplicates.


Segmentation fault

When I try to execute any statement against a SQLServer since a Debian (wheesy), the following message is thrown and the statement is not executed:
Segmentation fault

Probably is caused by the driver but I'm not sure.

That would be... very weird. I can't imagine how the tedious library could cause the node.js binary to segfault, as we don't provide any binary component.
Can you provide us with more information (which node.js version, tedious version, any stack trace?). Did you try any other Node.JS or iojs versions? Do you have a reproducible test case?

Ohh , It only occurs from a virtual-machine (virtual box) with NAT connection... Possibly my VM have error or misconfigurations; In any case, you may close this issue.
Thank you for you early answer.
Best Regards,

@juanmiguelRuaDev for future reference, you can always close your own issues.


Need ability to set nuxt app base url based on express mountpoint

Is it possible to have router.base be a dynamic value, rather than hard-coded into config?
In my case, I am using express to run the nuxt app on multiple mountpoints (actually a dynamic slug mountpoint):
app.use('/:slug', slugMiddleware, nuxt.render)

So base needs to change to the value of :slug, but it appears that doing so is almost impossible.
router.base needs to be updated, as does the <base href="...">. Doing so in the nuxt app by looking at req.params.slug only works on server side, and not client.
I have tried the following with no luck:
function slugRouter(req, res) {
  // build a dynamic router
  const config = Object.assign({}, nuxtConfig)
  config.router.base = `${req.params.slug || ''}/`
  const nuxt = new Nuxt(config)
  nuxt.render(req, res)
}
app.user('/:slug', slugMiddleware, slugRouter)

And I would rather not have :slug as part of the nuxt app by ading a top /_slug directory in pages, as I need to be able to have a PWA for each individual slug, rather than the whole site.
Each slug is a unique customer.

I've also tried setting the baseURL in the store, and used the head() callback to set bas: { href: slug }` in both the default layout and in pages, but after inspecing the resulting HTML, teh base tag is not present.  It appears that nuxt overrides this somewhere.

Anyone have an idea for this at all?
Could the router.base be changed to accept a function that is passed the context?  Which I could then use to:

if isServer inspect the req.baseUrl (the express router mountpoint), and return a specific base URL based on the request, and also set this value in the store
if isClient, grab the base URL from the store.

When on the server side, each request coming in could have a different base URL
I've tried doing something similar by setting base in the head() callback of the layout, but it never appears in the rendered DOM

Update
I have successfully found a way to handle having a nuxt.js app mounted on a dynamic path in express (although with a few caveats).  It is slightly "hacky", but works for my project.  I';ll post my solution here in case others may need help:
I have done the following in the store:
export const mutations = {
  SET_BASEURL (state, base) {
    state.baseUrl = base
  }
}
export const actions = {
  nuxtServerInit ({ commit }, { req, app }) {
    // check req.baseUrl mount point and set it in the store
    constr base = req.baseUrl || '/'
    commit('SET_BASEURL', base)
    app.router.options.base = `${base}/`
    app.router.history.base = base
  },
  nuxtClientInit ({ commit, state }, { app }) {
    // Custom action, which needs a plugin to run on client only
    const base = state.baseUrl || '/'
    app.router.options.base = `${base}/`
    app.router.history.base = base
  }
}

and the following plugin (nuxt-client-init.js):
export default async (ctx) => {
  await ctx.store.dispatch('nuxtClientInit', ctx)
}

And the following in nuxt.config.js
  plugins: [
    { src: '~/plugins/nuxt-client-init.js', ssr: false }
  ],

in my express app:
function _nuxtCheck(req, res, next) {
  if (req.baseUrl === '_nuxt' || req.baseUrl === '__webpack') {
    next('router')
  } else {
    next()
  }
}

const nuxtRtr = express.Router()
nuxtRtr.use('/api', api)
nuxtRtr.use('/', nuxt.render)

slugRtr = express.router()
slugRtr.use('/:slug', _nuxtCheck, nuxtRtr)

// THis handle the slug mounted app
app.use('/', slugRtr)

// This handles requests for /_nuxt and /__webpack
app.use('/', nuxt.render)

The caveat with this is that <base href="/slug"> never gets set in the SSR rendered document, so all _nuxt and /__webpack client requests are not prepended with the /:slug base URL (which is OK as we can use publicPath setting in nuxt.config.js to point to a CDN domain, as all mounted apps use the same codebase.
Also, since base is not set in the nuxt app, the official axios module will not work corectly without the base set.  You will need to prepend $store.state.baseUrl to all of your /api requests.


Scan with NFC and show RuuviTag info / add new sensor

Description:
When app in foreground (any page), and NFC is enabled by user in device
Touch sensor with NFC
Show info popup in app

If sensor not added yet, show Add button

Name (show default Ruuvi XXXX name)
Unique ID
MAC
Firmware version

copy to clipboard feature in unique ID and MAC

If sensor already added, move user to full image view

Show info popup on full image view page

copy to clipboard feature in unique ID and MAC

@andreevdenis
I see that we don't have any feedback for copy to clipboard status on this popup and also on the sensor settings info.
Let's fix it showing Copied! text when text was copied, would it be difficult to implement?
Also, let's center those buttons at bottom of the popup.

More info, looks like the copy text not appearing is related to S10+ with OS12

@andreevdenis
I remember we had limitation to implement sensor details popup to show on sensor page when user is moved to sensor card via NFC scan. Is there any way around this? Some users would benefit from seeing MAC and unique ID on the sensor card page.

@markoaamunkajo @laurijamsa
What if we show dialog in both cases: for new and existing sensors? If sensor already exist we will show button "Go to sensor card" instead of "Add sensor".  Going to sensor and then show dialog will be trickier.
There will be no dialog from add sensor screen for now, we can add it after rewriting to Compose.

Sounds good to me

QA passed


[Enhancement]use poco to replace curl in aws sdk as http client

Why I'm doing:
we know performance of curl is awful from many places.
What I'm doing:
use poco replace curl in aws sdk as http client.
Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

Documentation PRs only:
If you are submitting a PR that adds or changes English documentation and have not
included Chinese documentation, then you can check the box to request GPT to translate the
English doc to Chinese. Please ensure to uncheck the Do not translate box if translation is needed.
The workflow will generate a new PR with the Chinese translation after this PR is merged.

[ ] Yes, translate English markdown files with GPT
[x] Do not translate

@zombee0 You need to split this PR into at least two PRs. One is to introduce the new thirdparty library poco and then followed by another PR to use this new library. Because in this way, the docker image will be updated after the first PR is merged, and all other developers can use the new docker image.

Do we have a bench result for this replacement?

from many info sources, it's useful,
and from my rough test, the stack of aws sdk is only half of original,
also, i will have a report, before this pr merged.


Can't seem to get it to work

Hey I'm getting the following error:
ERROR in /Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (14,16): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (63,79): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (133,45): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (629,22): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (718,16): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (723,22): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (728,26): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (770,16): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (775,21): Cannot find name 'JQuery'.
/Users/kiranrandhawa/Desktop/playground/ArtificialLab/node_modules/golden-layout/index.d.ts (780,21): Cannot find name 'JQuery'.
ERROR in ./src/app/app.module.ts
Module not found: Error: Can't resolve '@angular/common/common' in '/Users/kiranrandhawa/Desktop/playground/ArtificialLab/src/app'
@ ./src/app/app.module.ts 17:0-54
@ ./src/main.ts
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
I just can't get this to work.

managed to get this working in the end. Needed to include JQuery and Golden layout to my app module.


Question about data splitting

Hi, authors. First, thank you for your good work.
I have problem to reproduce the original results, it seems that we need your training, validation, test dataset list because of the randomness of each computers is different.
Could you provide your data list?
Thanks!

Hi! Thank you for expressing interest in our work. I'm sorry for not getting back to you sooner. I have uploaded the data list and our model weights, you can directly test them on the datasets.


Iterables subclassing does not work properly with mypy

At the present point, we can subclass BaseIterable class into more specific List of objects, such as Iterables of Documents or Samples. However when we subclass these, we may want to extend their cached and lazy representation too. See for instance adding "to_df" methods to CachedDocuments.
This is achieved by re-implementing the properties lazyType and cachedType, see here. If this work when the code runs, this does not comply with mypy. In fact,
docs: CachedDocuments = CachedDocuments([Document("my-id", dict())])

reveal_type(docs.map(lambda x: x))  # LazyIterable while it should be LazyDocuments`

In order to do this, re-handling of generics and typing for Iterable should be reviewed and changed

Uhm, I wonder if this problem could not be solved by a simple overload of the problematic methods in the child class...

Not really. This requires overloading "all" methods of BaseIterable (map, filter, take, etc) to better specify the output type. Avoiding this is the reason why we factored out the lazyType and cacheType to be used within the method of BaseIterable.
The solution I'm working on is based on making the BaseIterable generic with respect to three classes:

The type of elements it includes
the cached iterable type
the lazy iterable type

Actually, I was thinking about overloading these methods in the child classes, not in BaseIterable, according to the types required by the child class.

But again, this requires to redefine all the methods, doesn't it? I'm about to open a PR by today to explain a bit better what I mean

For sake of clarity, I'll try to be more specific, hoping this will clarify the issue and the approach taken in the PR. I'll apply this only to map, but this can be easily extended to the other methods of BaseIterable.
As of today, the implemantion of map in BaseIterable is
def map(self, f: Callable[[T], T_co]) -> "LazyIterable[T_co]":
    def generator():
        for item in self:
            yield f(item)

    return self.__lazyType__(IterGenerator(generator))

where self.__lazyType__  is
@property
def __lazyType__(self) -> "Type[LazyIterable]":
    return LazyIterable

When we subclass other special iterable, such as Documents, we only redefine the __lazyType__ property, while all other methods (such as map) are inherited, e.g.
class Documents(BaseIterable[Document]):
    @property
    def __lazyType__(self) -> "Type[LazyDocuments]":
        return LazyDocuments

While this works at runtime
docs: CachedDocuments = CachedDocuments([Document("my-id", dict())])

type(docs.map(lambda x: x))  #LazyDocuments as expected

the typing is not quite right
reveal_type(docs.map(lambda x: x))  # LazyIterable

due to the fact that the signature of map is indeed
def map(self, f: Callable[[T], T_co]) -> "LazyIterable[T_co]"

I don't think that overloading map in the Documents class is a feasible option (as it would actually mean overloading all methods of BaseIterable...). The solution that can be found in the PR, achieve the desired result using generics and defining the BaseIterable as follows:
class BaseIterable(Generics[T, L]):
    def map(self, f: Callable[[T], T_co]) -> L: ...

When subclassing Documents we then specify both types:
class Documents(BaseIterable[Documents, LazyDocuments]):
    ...

Hope this clarifies the need and the proposed implementation.

Ok, now I got it. But still, this requires implementing three more private classes to handle the typing. Is this really less "code expensive" than overloading the methods where needed?

It is surely more general and bug free: what if we were to add a method to the BaseIterable class (e.g. reduce, collect, etc)? What if you forgot to overload one of the methods of BaseIterable, while extending a class?
Honestly, I don't believe overloading methods would be a robust and reliable solution, but I'd love to hear also @nromeoarena opinion

I prefer the Enrico's solution, we have already discuss on it, the use of Generics makes code more robust and type safe (that I consider very important item), and in an elegant way (from my point of view).

The robustness does not come from overloading but from type checking: if one forgets to overload any given method the type checker should highlight it (after all, the fact that the type-checker raises some issues in case of not-overloaded methods is the whole point of this issue, isn't it?).


v4 examples, empty navbars.

Despite #17532 being marked as resolved and closed, visiting https://v4-alpha.getbootstrap.com/examples/navbar-top-fixed/ gives a navbar containing nothing but the toggler:

Collapsed content

Toggleable via the navbar brand.

        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-header" aria-controls="navbar-header" aria-expanded="false" aria-label="Toggle navigation"></button>

The parent documentation page features a screenshot of a navbar containing many different items but here is what I get:

The collapsed content is the same color as the background too:

It appears I forgot to push my examples PR that fixes this. I'll push that in the morning.

Any idea when website is updated?

@gpakosz the website is only updated when there is a release.


OptimismJ Weekly Meeting #1

Meeting Info

Sep 14th, 2024, 20:00 UTC+8
Duration: 60 minutes
Meeting link
Anyone can comment on the agenda where they would like this to be discussed.

Agenda

Dev/Issue progress

Hildr supported granite hardfork, and already commit PR.
Op-besu supported granite hardfork.
CL spec learn. CL modules which will accord spec to implement:

beacon chain
forkchoice process
P2P network
validator
beacon api
node api


Move saving of hosts file to after all ports are forwarded

This fixes #74

@rmja Thank you for working on this. I can take a deeper look at it this coming weekend. I have some things to contemplate. Some people would like kubefwd to monitor connections and re-connect on pod failures, which would mean removing and adding new entries through the duration of the run. In other circumstances, some people on my team do not want to wait till all forwards have completed before they can start accessing services that have begun their forward (we have some namespaces with  hundreds of services.) There is another ticket asking for a feature to monitor a namespace and forward any new services. These conditions all make the case for keeping isolated writes to /etc/hosts. I am hoping that I can think of a workable compromise.

Year, I can see the conflict. How about assigning IP's and writing the hosts file up front, and then actually map the services afterwards?

@rmja I am going to merge this and test a few adjustments. I need to work on #75 which is somewhat related in that kubefwd does not reload the state of /etc/hosts before removing entries and saving, therefore saving over any entries added by other processes while kubefwd is sunning.

In relase 1.9.1
I split the difference. The initial write to `/etc/hosts/' happens after all the forwards have completed (per your PR) however I need to reload and save when exiting each routine to fix #75.
Thank you for your contribution!


Delete 2021-11-18_zarr.yaml

We are ready to close this job since we have already gotten enough applicants. I wasn't sure if this was the correct way to remove it so please let me know if I need to do something different.

Thanks, Nicole. The correct way to remove a job from the main board is to change the expires tag.

Got it. I'll do that.


Determine what Node Sass Binding to download?

Hello I am behind a corporate proxy and now need to manually download node-sass to install it.
How do I determine what binding I need?
My node-sass version is 4.11.0 and I use windows 10 64bit.
When I click on releases there are many to choose from but which is the correct one?
I know it have to start with win32-x64-??_binding.pdb
?? What number do I have to choose from here.
Best regards

This table lists all the Module Versions https://nodejs.org/en/download/releases/


[Feature] ca_file for Kibana Connection

Is your feature request related to a problem? Please describe.
We use a custom CA to generate our certificates. In the elasticsearch and fleet blocks, we can provide a custom ca cert file for validating the server certificate but for Kibana, there is no such thing.
Describe the solution you'd like
We would like to have an option similar to ca_file in elasticsearch or ca_certs in Fleet connection.
Describe alternatives you've considered
Currently, we use insecure=true to make the connection work but this is not a good solution.

@jacobmw that should be fixed by https://github.com/elastic/terraform-provider-elasticstack/pull/585.


[build] error: Promise rejection: Error: ENOENT: no such file or directory, open...

Installed using $ bower install --save monkick/audio-player on my app directory.

bower audio-player#*        not-cached https://github.com/monkick/audio-player.git#*
bower audio-player#*           resolve https://github.com/monkick/audio-player.git#*
bower audio-player#*          download https://github.com/monkick/audio-player/archive/v1.0.0.tar.gz
bower audio-player#*           extract archive.tar.gz
bower audio-player#*          resolved https://github.com/monkick/audio-player.git#1.0.0
bower audio-player#^1.0.0      install audio-player#1.0.0
audio-player#1.0.0 bower_components\audio-player
└── polymer#2.2.0

Imported it at header <link rel="import" href="../bower_components/audio-player/audio-player.html">
Added the audio-player custom tag in body.
All ok.
When tried to build my project got the error:
error:   Promise rejection: Error: ENOENT: no such file or directory, open 'D:\REL\rel.thorp\bower_components\audio-player\bower_components\polymer\polymer-element.html' error:   Error: ENOENT: no such file or directory, open 'D:\REL\rel.thorp\bower_components\audio-player\bower_components\polymer\polymer-element.html'     at Error (native)
Temporary fixed the path in the audio-player.html
Just saw that the file is correct here on github: https://github.com/monkick/audio-player/blob/master/audio-player.html
Cheers!
REL

@rainerlopez
Thank you for using. And I'm sorry that I had some bug.
I'm fixed it. So, please try again v1.0.5 (latest version)

Do not be sorry at all !
Great job @monkick
I'll test and keep on track, ok.
Cheers!
REL


Installation failed with icu-config error on Mac OS X 10.8

在 Mac OS X 10.8 執行以下指令時：
phpbrew install php-5.4.x +default

出現以下錯誤：
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.

解決方法：
brew install icu4c
brew link icu4c

Warning: icu4c is keg-only and must be linked with --force
Note that doing so can interfere with building software.

That's awesome.
It's exactly what I was looking for It worked as a treat after battling a whole day thank dude.


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
9475b9f -> 2bb5809

github.com/IBM/platform-services-go-sdk
require
patch
v0.54.0 -> v0.54.1

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.25.0 -> v1.25.3

Release Notes

IBM/platform-services-go-sdk (github.com/IBM/platform-services-go-sdk)
v0.54.1
Compare Source
Bug Fixes

Global Tagging: regenerate service using latest API definition (#289) (b44bea3)

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.25.3
Compare Source
Bug Fixes

deps: update module golang.org/x/crypto to v0.16.0 (#706) (a18a1d9)

v1.25.2
Compare Source
Bug Fixes

deps: update gomod (#705) (0c9e048)

v1.25.1
Compare Source
Bug Fixes

deps: update gomod (#704) (b5574c4)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: .gitmodules
temporary-error

/run pipeline

:tada: This PR is included in version 1.17.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add some tests

Codecov Report

Merging #10 (f97337a) into main (7f44767) will increase coverage by 54.31%.
The diff coverage is 59.40%.

@@            Coverage Diff             @@
##            main      #10       +/-   ##
==========================================
+ Coverage   6.79%   61.11%   +54.31%
==========================================
  Files         19        8       -11
  Lines       1162      805      -357
==========================================
+ Hits          79      492      +413
+ Misses      1083      313      -770

Impacted Files
Coverage Δ

src/napari_spatialdata/_utils.py
27.73% <27.73%> (ø)

src/napari_spatialdata/_widgets.py
59.00% <59.00%> (ø)

...rc/napari_spatialdata/_constants/_pkg_constants.py
78.26% <66.66%> (ø)

src/napari_spatialdata/_model.py
70.12% <70.12%> (ø)

src/napari_spatialdata/_view.py
75.83% <75.83%> (ø)

src/napari_spatialdata/__init__.py
77.77% <77.77%> (ø)

src/napari_spatialdata/_constants/_constants.py
100.00% <100.00%> (ø)

src/napari_spatialdata/_constants/_utils.py
65.90% <100.00%> (ø)

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 b49b33c...f97337a. Read the comment docs.


How to back to previous page in webview when we press back button mobile?

Hi is any way to back previous page with press hardware backbutton android or ios?

sorry for my bad, i found way in google from this link https://stackoverflow.com/questions/59062672/how-can-i-make-the-back-button-close-flutter-webview-plugin-app-on-android


Update uielement_transformtovisual_799251735.md

Removing duplicate text that was probably a copy/paste error.

Hi @jwmsft - can you take a quick look at this change? thanks.

#sign-off


Removed Bluebird mapSeries usage

refs https://github.com/TryGhost/Ghost/issues/14882

we're working on removing Bluebird and there are a few places where we can switch it to native for-loops (if we don't need the result), or the sequence function from @tryghost/promise

Closing as this isn't exactly working right now


AndroidBuild failed with an exception

Environment

react-native info output:

Executing tasks: [:gradle-plugin:clean, :app:clean, :react-native-async-storage_async-storage:clean, :react-native-blob-util:clean, :react-native-community_geolocation:clean, :react-native-community_slider:clean, :react-native-config:clean, :react-native-gesture-handler:clean, :react-native-html-to-pdf:clean, :react-native-image-picker:clean, :react-native-localize:clean, :react-native-maps:clean, :react-native-safe-area-context:clean, :react-native-screens:clean, :react-native-streetview:clean, :react-native-svg:clean, :react-native-vector-icons:clean, :react-native-view-shot:clean, :gradle-plugin:react-native-gradle-plugin:clean, :gradle-plugin:settings-plugin:clean, :gradle-plugin:shared:clean, :gradle-plugin:shared-testutil:clean, :gradle-plugin:assemble, :gradle-plugin:testClasses, :app:assembleDebug, :app:assembleDebugUnitTest, :app:assembleDebugAndroidTest, :react-native-async-storage_async-storage:assembleDebug, :react-native-async-storage_async-storage:assembleDebugUnitTest, :react-native-async-storage_async-storage:assembleDebugAndroidTest, :react-native-blob-util:assembleDebug, :react-native-blob-util:assembleDebugUnitTest, :react-native-blob-util:assembleDebugAndroidTest, :react-native-community_geolocation:assembleDebug, :react-native-community_geolocation:assembleDebugUnitTest, :react-native-community_geolocation:assembleDebugAndroidTest, :react-native-community_slider:assembleDebug, :react-native-community_slider:assembleDebugUnitTest, :react-native-community_slider:assembleDebugAndroidTest, :react-native-config:assembleDebug, :react-native-config:assembleDebugUnitTest, :react-native-config:assembleDebugAndroidTest, :react-native-gesture-handler:assembleDebug, :react-native-gesture-handler:assembleDebugUnitTest, :react-native-gesture-handler:assembleDebugAndroidTest, :react-native-html-to-pdf:assembleDebug, :react-native-html-to-pdf:assembleDebugUnitTest, :react-native-html-to-pdf:assembleDebugAndroidTest, :react-native-image-picker:assembleDebug, :react-native-image-picker:assembleDebugUnitTest, :react-native-image-picker:assembleDebugAndroidTest, :react-native-localize:assembleDebug, :react-native-localize:assembleDebugUnitTest, :react-native-localize:assembleDebugAndroidTest, :react-native-maps:assembleDebug, :react-native-maps:assembleDebugUnitTest, :react-native-maps:assembleDebugAndroidTest, :react-native-safe-area-context:assembleDebug, :react-native-safe-area-context:assembleDebugUnitTest, :react-native-safe-area-context:assembleDebugAndroidTest, :react-native-screens:assembleDebug, :react-native-screens:assembleDebugUnitTest, :react-native-screens:assembleDebugAndroidTest, :react-native-streetview:assembleDebug, :react-native-streetview:assembleDebugUnitTest, :react-native-streetview:assembleDebugAndroidTest, :react-native-svg:assembleDebug, :react-native-svg:assembleDebugUnitTest, :react-native-svg:assembleDebugAndroidTest, :react-native-vector-icons:assembleDebug, :react-native-vector-icons:assembleDebugUnitTest, :react-native-vector-icons:assembleDebugAndroidTest, :react-native-view-shot:assembleDebug, :react-native-view-shot:assembleDebugUnitTest, :react-native-view-shot:assembleDebugAndroidTest, :gradle-plugin:react-native-gradle-plugin:assemble, :gradle-plugin:react-native-gradle-plugin:testClasses, :gradle-plugin:settings-plugin:assemble, :gradle-plugin:settings-plugin:testClasses, :gradle-plugin:shared:assemble, :gradle-plugin:shared:testClasses, :gradle-plugin:shared-testutil:assemble, :gradle-plugin:shared-testutil:testClasses] in project /Users/alfaiz/Development/landstage-2/android

Invalid Java installation found at '/Users/alfaiz/Library/Java/JavaVirtualMachines/corretto-1.8.0_382/Contents/Home' (IntelliJ IDEA). It will be re-checked in the next build. This might have performance impact if it keeps failing. Run the 'javaToolchains' task for more details.
> Task :gradle-plugin:react-native-gradle-plugin:checkKotlinGradlePluginConfigurationErrors
> Task :gradle-plugin:shared:checkKotlinGradlePluginConfigurationErrors
> Task :gradle-plugin:shared:compileKotlin UP-TO-DATE
> Task :gradle-plugin:shared:compileJava NO-SOURCE
> Task :gradle-plugin:shared:processResources NO-SOURCE
> Task :gradle-plugin:shared:classes UP-TO-DATE
> Task :gradle-plugin:shared:jar UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:compileKotlin UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:compileJava NO-SOURCE
> Task :gradle-plugin:react-native-gradle-plugin:pluginDescriptors UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:processResources UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:classes UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:jar UP-TO-DATE

> Configure project :
Invalid Java installation found at '/Users/alfaiz/Library/Java/JavaVirtualMachines/corretto-1.8.0_362/Contents/Home' (IntelliJ IDEA). It will be re-checked in the next build. This might have performance impact if it keeps failing. Run the 'javaToolchains' task for more details.

> Configure project :app
AGPBI: {"kind":"warning","text":"The option setting 'android.defaults.buildfeatures.buildconfig=true' is deprecated.\nThe current default is 'false'.\nIt will be removed in version 9.0 of the Android Gradle plugin.\nYou can resolve this warning in Android Studio via `Refactor` > `Migrate BuildConfig to Gradle Build Files`","sources":[{}]}
Reading env from: .env

> Configure project :react-native-reanimated
Android gradle plugin: 8.5.0
Gradle: 8.7

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
   > Could not find any matches for com.facebook.react:react-native:+ as no versions of com.facebook.react:react-native are available.
     Required by:
         project :app
         project :app > project :react-native-community_slider

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 8s
8 actionable tasks: 2 executed, 6 up-to-date

are you using the new architecture?

Yes

which version of react & react-native are you using?

react-native-cli: 2.0.1
react-native: 0.75.3

Description

Add this dependancy in package.json
build for android.

"@react-native-community/slider": "^4.5.1",

Reproducible Demo

Hello @AlfaizTenup!
For this issue I think I will need the repro as I'm not able to reproduce this issue locally using my setup.
Please provide me with a link to the repo reproducing this issue so I can clone it and investigate.

Closing as there's no author's feedback and no interest from community.


'NVActivityIndicatorViewable' is deprecated

I run example but it is showing NVActivityIndicatorViewable is deprecated.
Please take a look into screenshots.

I wonder if there is something of upgrade guide since all my ViewControllers have 'NVActivityIndicatorViewable' and I also use the messages which I don't think is available on version 5

use this
pod 'NVActivityIndicatorView', :git => 'https://github.com/ninjaprox/NVActivityIndicatorView.git', :tag => '4.8.0'

Sorry for all inconvenience. Although NVActivityIndicatorViewable is marked as deprecated as per in the release note, it's still useable, just bare with warnings. If you wish to use NVActivityIndicatorViewable, please use the following instead:
pod 'NVActivityIndicatorView/Extended'

Close in favor of #315

It should be open again, as after changing pod 'NVActivityIndicatorView/Extended' still giving deprecated issue on pod 'NVActivityIndicatorViewable'. Any fix upto now?

@rizwan3395 Any fix upto now??


parallel docker push of the same image to different registries doesn't work

When running docker push in parallel the behaviour seems to be to not push one layer more than once, which makes sense if we are pushing all the images to the same registry. For situations when we have multiple registries for high availability the parallel push doesn’t work and we need to do each push command separately, slowing down the CI process.
Closed issues checked before opening this one:
Parallelize Push and Pull
Can't push multiple images to same repo in parallel
docker push is not parallel

BUG REPORT INFORMATION
Output of docker version:
docker version
Client:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Wed Apr 27 00:34:42 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Wed Apr 27 00:34:42 2016
 OS/Arch:      linux/amd64

Output of docker info:
docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 13
Server Version: 1.11.1
Storage Driver: devicemapper
 Pool Name: docker-202:1-1619906-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 541 MB
 Data Space Total: 107.4 GB
 Data Space Available: 5.021 GB
 Metadata Space Used: 1.122 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-12-01)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: host bridge null
Kernel Version: 3.10.0-327.13.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.26 GiB
Name: ip-1-1-1-1
ID: 2NUJ:2XG2:XIVN:UQBX:MRSU:OA63:VGB6:SOHS:RAXF:QC3J:B4AC:5G3O
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Additional environment details (AWS, VirtualBox, physical, etc.):
Running on AWS EC2 instance launched using AMI: CentOS 7 (x86_64) with Updates HVM
Running the registries using the docker image: registry:2.3.0
Steps to reproduce the issue:
docker pull centos
docker tag centos docker-registry-us-east-1-management.domain-name.com/centos:latest
docker tag centos docker-registry-us-west-2-management.domain-name.com/centos:latest
docker tag centos docker-registry-eu-west-1-management.domain-name.com/centos:latest
# Run the push commands listed bellow in parallel:
docker push docker-registry-us-east-1-management.domain-name.com/centos:latest
docker push docker-registry-us-west-2-management.domain-name.com/centos:latest
docker push docker-registry-eu-west-1-management.domain-name.com/centos:latest

Describe the results you received:
One of the push commands succeeds but the other two fail:
docker push docker-registry-eu-west-1-management.domain-name.com/centos
The push refers to a repository [docker-registry-eu-west-1-management.domain-name.com/centos]
5f70bf18a086: Layer already exists
17a992d2fac2: Pushed
latest: digest: sha256:1a97702f27a63cfeda3f317ee22ef8b20d0f2eb01ee8a3068fe39cf2dd04b4ac size: 1125

docker push docker-registry-us-west-2-management.domain-name.com/centos
The push refers to a repository [docker-registry-us-west-2-management.domain-name.com/centos]
5f70bf18a086: Mounted from ubuntu
17a992d2fac2: Pushed
errors:
manifest blob unknown: blob unknown to registry
manifest blob unknown: blob unknown to registry
manifest blob unknown: blob unknown to registry
manifest blob unknown: blob unknown to registry

Running the command separately works fine:
docker push docker-registry-us-west-2-management.domain-name.com/centos
The push refers to a repository [docker-registry-us-west-2-management.domain-name.com/centos]
5f70bf18a086: Layer already exists
17a992d2fac2: Layer already exists
latest: digest: sha256:1a97702f27a63cfeda3f317ee22ef8b20d0f2eb01ee8a3068fe39cf2dd04b4ac size: 1125

Logs from the failed push:
May 20 10:46:20 ip-1-1-1-1 docker: time="2016-05-20T10:46:20.918607499Z" level=warning msg="failed to upload schema2 manifest: errors:\ndigest invalid\nmanifest blob unknown: blob unknown to registry\ndigest invalid\nmanifest blob unknown: blob unknown to registry\ndigest invalid\nmanifest blob unknown: blob unknown to registry\ndigest invalid\nmanifest blob unknown: blob unknown to registry\ndigest invalid\nmanifest blob unknown: blob unknown to registry\ndigest invalid\nmanifest blob unknown: blob unknown to registry\ndigest invalid\nmanifest blob unknown: blob unknown to registry\ndigest invalid\nmanifest blob unknown: blob unknown to registry\n - falling back to schema1"
May 20 10:46:20 ip-1-1-1-1 docker: 2016/05/20 10:46:20 http: panic serving @: could not find ':' in digest:
May 20 10:46:20 ip-1-1-1-1 docker: goroutine 4559 [running]:
May 20 10:46:20 ip-1-1-1-1 docker: net/http.(*conn).serve.func1(0xc820b9f340, 0x7f6d4f6be658, 0xc820028278)
May 20 10:46:20 ip-1-1-1-1 docker: /usr/local/go/src/net/http/server.go:1287 +0xb5
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/distribution/digest.Digest.sepIndex(0x0, 0x0, 0x130c)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/vendor/src/github.com/docker/distribution/digest/digest.go:135 +0xda
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/distribution/digest.Digest.Hex(0x0, 0x0, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/vendor/src/github.com/docker/distribution/digest/digest.go:124 +0x37
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/distribution/manifest/schema1.(*configManifestBuilder).Build(0xc820fe1900, 0x7f6d4f656598, 0xc8212b6bc0, 0x0, 0x0, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/vendor/src/github.com/docker/distribution/manifest/schema1/config_builder.go:137 +0x55b
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/distribution.manifestFromBuilder(0x7f6d4f655e18, 0xc8212b6bc0, 0x7f6d484548b8, 0xc820fe1900, 0xc821b2e180, 0x8, 0x8, 0x0, 0x0, 0x0, ...)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/distribution/push_v2.go:210 +0x18e
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/distribution.(*v2Pusher).pushV2Tag(0xc821436380, 0x7f6d4f655e18, 0xc8212b6bc0, 0x7f6d4f5d1b50, 0xc821268600, 0xc8219f0e60, 0x47, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/distribution/push_v2.go:170 +0x1421
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/distribution.(*v2Pusher).pushV2Repository(0xc821436380, 0x7f6d4f655e18, 0xc8212b6bc0, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/distribution/push_v2.go:85 +0x301
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/distribution.(*v2Pusher).Push(0xc821436380, 0x7f6d4f655e18, 0xc8212b6bc0, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/distribution/push_v2.go:70 +0x37e
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/distribution.Push(0x7f6d4f655e18, 0xc8212b6bc0, 0x7f6d4f5d1ba0, 0xc821268600, 0xc821902750, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/distribution/push.go:138 +0xc0e
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/daemon.(*Daemon).PushImage(0xc820596600, 0x7f6d4f5d1ba0, 0xc821268600, 0xc821293ce0, 0xc820012cc0, 0x7f6d4f655b58, 0xc8212b6b80, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/daemon/daemon.go:1070 +0x440
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/api/server/router/local.(*router).postImagesPush(0xc8209e00e0, 0x7f6d4f5d18d8, 0xc821293cb0, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260, 0xc821293b90, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/api/server/router/local/image.go:238 +0xa77
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/api/server/router/local.(*router).(github.com/docker/docker/api/server/router/local.postImagesPush)-fm(0x7f6d4f5d18d8, 0xc821293cb0, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260, 0xc821293b90, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/api/server/router/local/local.go:102 +0x74
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/api/server.versionMiddleware.func1(0x7f6d4f5d18d8, 0xc821293cb0, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260, 0xc821293b90, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/api/server/middleware.go:155 +0x83a
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/api/server.(*Server).corsMiddleware.func1(0x7f6d4f6be068, 0xc82006d440, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260, 0xc821293b90, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/api/server/middleware.go:134 +0xfa
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/api/server.(*Server).userAgentMiddleware.func1(0x7f6d4f6be068, 0xc82006d440, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260, 0xc821293b90, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/api/server/middleware.go:117 +0x4be
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/api/server.(*Server).makeHTTPHandler.func1(0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/api/server/server.go:169 +0x2ad
May 20 10:46:20 ip-1-1-1-1 docker: net/http.HandlerFunc.ServeHTTP(0xc820b085e0, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260)
May 20 10:46:20 ip-1-1-1-1 docker: /usr/local/go/src/net/http/server.go:1422 +0x3a
May 20 10:46:20 ip-1-1-1-1 docker: github.com/gorilla/mux.(*Router).ServeHTTP(0xc820969360, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/vendor/src/github.com/gorilla/mux/mux.go:98 +0x29e
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/api/server.(*routerSwapper).ServeHTTP(0xc820b8f000, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/api/server/router_swapper.go:29 +0x72
May 20 10:46:20 ip-1-1-1-1 docker: net/http.serverHandler.ServeHTTP(0xc820068960, 0x7f6d4f5d17a8, 0xc820b9f3f0, 0xc821031260)
May 20 10:46:20 ip-1-1-1-1 docker: /usr/local/go/src/net/http/server.go:1862 +0x19e
May 20 10:46:20 ip-1-1-1-1 docker: net/http.(*conn).serve(0xc820b9f340)
May 20 10:46:20 ip-1-1-1-1 docker: /usr/local/go/src/net/http/server.go:1361 +0xbee
May 20 10:46:20 ip-1-1-1-1 docker: created by net/http.(*Server).Serve
May 20 10:46:20 ip-1-1-1-1 docker: /usr/local/go/src/net/http/server.go:1910 +0x3f6

Describe the results you expected:
When the client validates if a layer is already being sent it should take into account the registry url, as different URLs would require the send to still happend.
Additional information you deem important (e.g. issue happens only occasionally):
Issue happens whenever we have images with a few or all the layers the same and we try to push them in parallel to different registries.

Thanks for the clear report!
ping @aaronlehmann ptal

Hi @lauraglasu - thanks for the detailed report.
I was looking at the trace in the logs you included, and found something puzzling. The line numbers don't seem to match up with the source code for Docker 1.11.1. For example, these two lines:
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/distribution.manifestFromBuilder(0x7f6d4f655e18, 0xc8212b6bc0, 0x7f6d484548b8, 0xc820fe1900, 0xc821b2e180, 0x8, 0x8, 0x0, 0x0, 0x0, ...)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/distribution/push_v2.go:210 +0x18e
May 20 10:46:20 ip-1-1-1-1 docker: github.com/docker/docker/distribution.(*v2Pusher).pushV2Tag(0xc821436380, 0x7f6d4f655e18, 0xc8212b6bc0, 0x7f6d4f5d1b50, 0xc821268600, 0xc8219f0e60, 0x47, 0x0, 0x0)
May 20 10:46:20 ip-1-1-1-1 docker: /root/rpmbuild/BUILD/docker-engine/.gopath/src/github.com/docker/docker/distribution/push_v2.go:170 +0x1421

imply that the call to manifestFromBuilder happens on line 170 of push_v2.go, but in the source for 1.11.1, this line is something different. I took a look at a few previous versions, and found that all Docker 1.10.x releases match up with the line numbers in your trace.
The output of docker version in your report shows you are running 1.11.1, so is it possible that there's a mismatch between this version information and the Docker version that produced the trace? Or maybe your build of Docker is patched in some way that deviates from the official sources?
If it turns out you are running Docker 1.10.0 - 1.10.2, then this looks like a bug with exactly the same symptoms that was fixed in 1.10.3 by #20831.

@aaronlehmann thanks for checking this out. The node that was running this had docker version 1.10.2 on my first attempt of parallel docker push. I guess the trace is from that run and I terminated the node so can't check for a later log. After that first failed run I updated the docker-engine package. With docker version 1.11.1 I got the error:
errors:
manifest blob unknown: blob unknown to registry

Please ignore the trace from my report

@aaronlehmann any other questions or news on this?

@lauraglasu: Apologies for the long delay. I haven't forgotten about this one, but between recent travel and some other projects that have been demanding my attention, I haven't found a moment to look into it yet. I'll try to take a look today.

@lauraglasu: I was about to reproduce the problem and I have a fix for it ready to go. I'll open a PR shortly to make sure this is fixed in Docker 1.12. Thanks again for the report.

Opened #23712.


Add scalaV to specify the version of scala

Nice one - would it make more sense to use scalaVersion in Global := scalaV, ?

Both approaches can work.
To use scalaVersion in Global := scalaV is more intuitive.
But there were always some problems about the Scopes in history,
so I prefer the tedious way.

Cool, makes sense. I merged your change as is anyway. Thanks a lot!


add 5m timeout to captive portal

This prevents a device which is rebooting when there is no WiFi available, from sitting in captive portal mode indefinitely.
The Rack32 needs to continue booting and allow processing of events in failover mode if the network or MQTT is down.
Ideally we would periodically try to reconnect to WiFi once the captive portal expires, if there are WiFi creds saved, but I am not sure how easy this is to do with the WifiManager lib.

I would prefer an implementation as we have with the Panel FW where we are rebooting until WiFi is available. This is the only way to get out of the mentioned scenario to recover the Wifi connection after power drop.
Failover would not be possible in this case, but I don't think that user who have invested into a failover system like KNX will use wifi for the rack mounted controller.

I have updated this in line with your comments @moinmoin-sh - can you review and approve if you are happy with it now?


Numeric literals starting with 0 cause an error

More specifically,
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

There's two options here:

Remove leading 0s from all numbers before evaluating or
Push the 0s as separate items and then push the number. E.g. 0100 pushes 0 then 100

Option 1 is the easiest, because it's just a simple strip operation. Option 2 is the golfiest though, because there are sometimes situations where you want to push 0 and then a number, and this method removes the need for a space after the 0.

Thanks, I'll fix this later today.

I've added this code into the numbers bit, just testing to see if it works:
            while string[0] == 0:
                stack.push(string[0])
                try:
                    string = string[1:]
                except:
                    break

That seems to work now (I chose the second option):
Code: 00100Ś
Flags:

Output
[100, 0, 0]

I'll close this issue now.


create xsection with that is not constant?

How could we create a cross-section that is not constant, for example, that has vias every 10um?
something like this

I could use something like this too
I tried something quick, do you know why I could be getting the extra path on top?

Here's the new function:
`@cell
def extrude_segments(
p: Path,
cross_sections = None,
segment_lengths = None,
layer: Optional[LayerSpec] = None,
simplify: Optional[float] = None,
shear_angle_start: Optional[float] = None,
shear_angle_end: Optional[float] = None,
) -> Component:
"""Returns Component extruding a Path with multiple cross_sections.
Like extrude, but splits the path in segments of length segment_lengths, each associated with a cross_section in cross_sections.

Args:
    (See extrude)
    cross_sections: list of CrossSectionSpec
    segment_lengths: list of segment lengths

"""
from shapely.ops import substring
from shapely.geometry import LineString

c = Component()

path_linestr = LineString(p.points)
cumul_dist = 0
completed = False
while not completed:
    for segment_length, cross_section in zip(segment_lengths, cross_sections):
        if not completed:
            if cumul_dist + segment_length > p.length():
                end_dist = p.length() - cumul_dist
                completed = True
            else:
                end_dist = cumul_dist + segment_length
            subpath_str = substring(path_linestr, start_dist=cumul_dist, end_dist=end_dist)
            subpath = Path(path=subpath_str.coords)
            c << extrude(subpath, cross_section=cross_section, simplify=simplify)
            cumul_dist += segment_length

return c`

Here's the call:
`    import gdsfactory as gf
points = np.array([(20, 10), (40, 10), (20, 40), (50, 40), (50, 20), (70, 20)])
P = gf.path.smooth(
    points=points,
    radius=2,
    bend=gf.path.euler,  # Alternatively, use pp.arc
    use_eff=False,
)

# Add a few "sections" to the cross-section
x = gf.CrossSection(
    width=0.5, offset=1, layer=(2, 0), port_names=("in", "out")
)
x2 = gf.CrossSection(
    width=0.5, offset=0.5, layer=(1, 0), port_names=("in", "out")
)
x3 = gf.CrossSection(
    width=0.5, offset=-0.5, layer=(1, 0), port_names=("in", "out")
)

c = gf.path.extrude_segments(P, cross_sections=[x,x2,x3], segment_lengths=[1.0, 0.5, 0.75])
c.show(show_ports=True)`

Thanks @simbilod for picking this up! Regarding the draft solution: I tried patching it into my local branch for use in a larger design, but found it to be rather slow. Would it be possible to cache and reuse the extruded geometry for straight segments somehow?
Rough metrics for my test:

Three long wires with ~1500 segments each
Three distinct CrossSections with at most two Sections each
Total runtime: ~13 seconds

with the new all-angle router, you should be able to do this with a custom connector + bend
https://gdsfactory.github.io/gdsfactory/notebooks/042_non-manhattan-router.html#Bends-and-connectors
i.e. if you just make the connector extend the existing auto-taper connector + add an array of vias at the desired spacing, I think it should be much faster

The solution to #1959 is adjacent to this, but not identical. It allows placing components along a path, but those components have no awareness of the path curvature.

agreed, i'll mark this issue as completed
https://gdsfactory.github.io/gdsfactory/notebooks/03_Path_CrossSection.html#option-2-arbitrary-cross-section
if there are any other cases we can create a new issue