RDF resource checklist

Is it possible to check a RDF source with the Checklist service?
minim  = https://raw.githubusercontent.com/rajaram5/test/master/test_minim.ttl
purpose = ready-to-release

I think it should be possible as it is part of evaluating Annotation
presence, but not sure if you would need to wrap the source as an Research
Object or at least an oa:Annotation for the checklist to find the RDF
source..
Did you manage to start your own instance of the service? I don't think we
have a public instance online at the moment.
On 18 Oct 2016 4:35 pm, "Rajaram"<EMAIL_ADDRESS>wrote:

Is it possible to check an RDF source with the Checklist service?
minim = https://raw.githubusercontent.com/rajaram5/test/master/test_
minim.ttl
purpose = ready-to-release
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/wf4ever/ro-manager/issues/27, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPd5SWvSf1LQODFNmgJwyETdX4gUcTPks5q1Nk4gaJpZM4KZ3pB
.

Thank you for your reply stain. I didn't manage to start the service locally. Do you have a docker image for this service?


lit-html package with type="module" uses extensionless imports in /directive.d.ts causing typescript to fail.

Note the differences in<EMAIL_ADDRESS>vs<EMAIL_ADDRESS>the lit directive.d.ts specifies an extension.
the lit-html directive.d.ts does not, which causes the typescript transpiler to fail!
note<EMAIL_ADDRESS>specifies itself as "type": module which is why extensionless imports fail.

Interesting... we've apparently published lit-html/directive.d.ts without file extensions since 2.0.0. This happens because import lit-html.js without an extension in that file. This would normally cause errors, but the imports are type-only so they're elided from directive.js.
We can definitely fix that, but I'm curious why you're the only one reporting this problem? What toolchain are you using? Even though we have "type": "module" in our package.json, we don't export the .d.ts files since they're never imported via Node, which would enforce Node resolution. Given that we have many, many developers using Lit 2.0 in TypeScript, I wonder what's different here.

@justinfagnani I'm currently upgrading our complete package ecosystem to esm. I'm using the new node12 / nodenext module resolutions of typescript (see the options we use here: https://gitlab.com/gitzone/tsbuild/-/blob/master/ts/tsbuild.classes.compiler.ts)
Thus when simply transpiling esm packages that use lit as dependency I run into this problem. Normally people don't extend lit, but rather have it as dependency within a commonjs project. Neither the bundler nor TypeScript will throw in a CommonJS project.

I actually think the majority of our users are in JS module projects, not CommonJS. They might not be using node12 resolution yet though.

@justinfagnani true, that could be the case.


docs bounty: let's crowdfund the attic docs wrinting ( 100 usd is my personal pledge. )

Hi to the main dev! Can you find more time to document things in attic, if yoou received say 100 usd for say 5-10 hours of your time ?
100 usd is my personal pledge.
Anyone else ?
PS. I will pay first as soon as I get the dev's / devs' word for it.
PS2. Is there a need for a chipin ( google what is chipin) or some similar way of crowdfunding or we can just manage it in "manual" mode over paypal / bitcoin addreses ?

i think this issue could be closed, unless someone wants to setup more elaborate crowdfunding schemes (without the consent of the author, which would be unethical at best). there are various documentation efforts underway that just need review or little pushes and while i'd be happy to be paid for that work, it would seem totally unfair to be paid to document the work of someone else, which probably took a much longer time to implement.
here are various issues i could find:

#216
#155
#133
#78
#52
#45
#29
#28
#27

a lot of those are actually covered by the #155 pull request, but not all of them.

close?


Ensure that users cannot upload keys more than once per day

With the latest changes that Max is making to the server in response to EN framework 1.5, we need to ensure that keys cannot be uploaded more than once per day.
The user should not be notified to upload keys if they have already uploaded keys on that day.
The user should not see the re-upload screen if they have already uploaded keys on that day.

I did the following experiment:

uploaded an 8-digit code and uploaded my keys at 10:31pm mountain time, July 9
added some console logs to the calculateNeedsSubmission code
hard-coded const today = new Date(2020, 6, 10, 3);, which would be July 10, 3am mountain time
Observed the following logs:

lastSubmittedDay 2020-07-10T04:31:10.778Z
startOfDay(lastSubmittedDay) 2020-07-09T06:00:00.000Z (start of the day in my timezone)

and:
today 2020-07-10T09:00:00.000Z
startOfDay(today) 2020-07-10T06:00:00.000Z

observed the "upload your data" screen
upload keys again

So the daily "upload your data" logic follows the users timezone. But in this case it results in 2 uploads in the 1st UTC day. However, all subsequent UTC days should have only 1 upload.
So I think the fix here is to delay the first upload until we hit a new UTC day, i.e. wait 24 hours before we ask for the 2nd upload. Would you agree @maxneuvians?


IJCK R1C4

p. 2
I suggest adding to following block to this para:
"The original PrIMe was on an Amazon cloud server. Recently it was shifted to the computer center
of DLR Stuttgart. At the new location it is called "PrIMe 2.0" [https://prime.cki-know.org/]. This is
identical to the original PrIMe apart from technical changes due to the different computation
background. Professor Frenklach plans to develop further PrIMe (using name PrIMe 3.0) and this
version will be availabe at [http://primekinetics.org/].

Ref: https://github.com/pr-omethe-us/pyked-papers/issues/2#issuecomment-332318684
From Kyle:

We can mention the new location of PrIMe, but the new features are not documented or explained anywhere. And we certainly can't discuss any plans Frenklach may or may not have in our paper...

The old features ("on an Amazon cloud server") probably aren't documented and don't seem relevant either...


Nats.connect v2 credentials

Overloads the Nats.connect method by adding AuthHandler as an argument.
Addresses https://github.com/nats-io/nats.java/issues/321

It seems that the build fails with some config issue: iv undefined

@olicuzo Thanks for submitting this PR and improving the doc. I ran the tests with your changes and they pass with flying colors. (you don't have access to a certain key, which is why they failed for you)
@ColinSullivan1 The change looks good to me.


[rewrite] Infinite loop in m.prop.combine with invalid parameters

Description:
Passing a non-stream to m.prop.combine results in a nasty infinite loop that just keeps throwing:
Uncaught TypeError: Cannot read property 'state' of undefined

Steps to Reproduce:
m.prop.combine((prop1, badProp) => {
    ...
}, [m.prop('foo'), <anything else>]);

Working reproduction
Line 19: http://codepen.io/sdougbrown/pen/rrOWNY

Expected:
m.prop.combine should probably throw a more descriptive error and stop further execution.  This can only really happen by mistake, but it can be challenging to figure out what has gone wrong in some cases.
Actual:
∞

I agree that it should at least check its types to some degree. Silently
swallowing errors is one of the biggest issues people have with promises,
and we really shouldn't reproduce that here.
On Fri, Sep 9, 2016, 16:15 Doug Brown<EMAIL_ADDRESS>wrote:

Description:
Passing a non-stream to m.prop.combine results in a nasty infinite loop
that just keeps throwing:
Uncaught TypeError: Cannot read property 'state' of undefined
Steps to Reproduce:
m.prop.combine((prop1, badProp) => {
...
}, [m.prop('foo', ]);
Working reproduction
Line 19: http://codepen.io/sdougbrown/pen/rrOWNY
[image: screen shot 2016-09-09 at 4 11 20 pm]
https://cloud.githubusercontent.com/assets/2266707/18401440/73876a48-76a8-11e6-8578-a910d22256c0.png
[image: screen shot 2016-09-09 at 4 10 34 pm]
https://cloud.githubusercontent.com/assets/2266707/18401413/5a590928-76a8-11e6-8a11-8590987c06d6.png
Expected:
m.prop.combine should probably throw a more descriptive error and stop
further execution. This can only really happen by mistake, but it can be
challenging to figure out what has gone wrong in some cases.
Actual:
∞
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lhorie/mithril.js/issues/1307, or mute the thread
https://github.com/notifications/unsubscribe-auth/AERrBC96ZGTjWH-p92BZRQOVNR2seW_Bks5qob5IgaJpZM4J5axO
.

merged #1309


Add new curated content files: WhatIsVersionControl.md and HowToDoVersionControlWithGitInYourCseProject.md

Create curated content file, following style of HowToEnablePerformancePortabilityForCseApps.md

Done on PR #44 an ready to review.  If this does not need a review, then I can just merge.  Just give the word.

Given that @maherou accepted #44, this is now complete.


Actions using invalid properties or property types

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When analyzing some actions, such as check-artifacthub, yamlls complains that they are using invalid properties or invalid property types.
We need to double-check all the actions and remove non-valid statements as they could lead to potential misbehavior.
Also, we could reformat the actions by using prettier as we agreed.
Expected Behavior
No response
Steps To Reproduce

Open an action with an editor that supports yamlls
Check the warnings

Anything else?
No response

It would be cool to run yamlls against the PRs done to this repo


fix slowdowns when detaching

Use sync to flush writes before attempting to detach, work around the following errors:
hdiutil: detach: timeout for DiskArbitration expired
hdiutil: detach: drive not detached

On a project that uses dmgbuild, no more timeouts since switching to a version of dmgbuild containing this patch:

before: the timeout error occurred on 44 of the 119 workflow runs (36.97%)
after: no occurrence out of the 74 workflow runs

Thanks for the patch. Fixing this is very helpful for a lot of users, I think. :-)


Utilize NIOConcurrencyHelpers instead of builtin Locks.swift

This change would introduce new dependency NIO in LifeCycle target, but since the package already has SwiftNIO in dependencies, I see no harm in this. I really hate duplicate code :D

While I agree in principle that duplication is bad, we absolutely should not not go full "DRY at any cost!" on things.
There's a (hidden, and painful for our future selves) cost on depending on things just because they happen to have one or two types which would be useful. Don't get me wrong, duplicating the locks file is silly and painful but it's the right thing to do for such building block libraries as Lifecycle (and metrics, logging et al). There's a few reasons pulling a dependency one does not need is bad, but let's look at the easiest to observe one, binary size:
// .target(name: "SAMPLE", dependencies: ["Lifecycle"]),

//         .target(name: "Lifecycle", dependencies: ["Logging", "Metrics", "Backtrace"]),
-> % ls -lah .build/release/SAMPLE
-rwxr-xr-x  1 ktoso  staff   447K Jul 16 21:29 .build/release/SAMPLE

//        .target(name: "Lifecycle", dependencies: ["NIO", "Logging", "Metrics", "Backtrace"]),
-> % ls -lah .build/release/SAMPLE
-rwxr-xr-x  1 ktoso  staff   3.6M Jul 16 21:30 .build/release/SAMPLE

That's a pretty big difference for a dependency we're not really using! 😉 There's other, harder to "point at" problems including what if a runtime really wants to use Lifecycle but for whatever reason does not want NIO (sure, most apps end up depending on it, but should ALL systems present and future?), or other resource constrained envs; for Lifecycle to be universally adopted it must absolutely pull the least dependencies possible. Another reason that's more "human factor" than the others is that once NIO is in the Lifecycle module (which was on purpose explicitly designed to not depend on it) it is bound to happen that we'd accidentally depend in API or functionality on some NIO type, making it hard to remove when/if necessary. Changes in the NIOCompat package are expected, but why should a change in NIO force any change in a module that does not really use it.
So... that's a long winded (hopefully putting some light on the context in which this decision to not depend on NIO in this module was made) way of saying: no, I don't think we can or should depend on NIO in the Lifecycle module (the NIOCompat module is of course welcome and absolutely right to depend on it).
This does not change the fact that SPM will check out NIO when this library is depended on, but that's a different matter somewhat...

Well yeah, it's reasonable... But the problem is getting worse, and it's not blind DRY following — I'm seeing this Locks.swift file in at least three repositories (excluding NIO), and this class is far from perfection (compare local and NIOs). Can't we have an independent repo/package with locks then?

We have discussed this a few times and we are explicitly (in consultation with the core team) opting to not provide a a concurrency or locks package which would likely be replaced by future work inside the swift standard library itself.
Specifically, NIO atomics and low level concurrency things are going to be replaced with the standard: https://github.com/apple/swift-se-0282-experimental

Oh, I see.

Thanks for the PR and discussion though! :-)


Issue 666

feature: Adds link to export csv file from batch list page.

Hi @marodrig, you seem to have checked in ~90 unnecessary files, starting with /apis_v1/static -- could you please remove all of those files from your pull request? There is also templates/500.html which looks like a test file.


[PDI-18369] Converting Integer to Timestamp type using Select values step results in incorrect date

Rebased https://github.com/pentaho/pentaho-kettle/pull/7007 from @LeonardoCoelho71950 .
@ssamora

:white_check_mark: Build finished in 24m 27s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 4755, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


cant share screen

getting this error where the shareable link is supposed to be.
Error! getaddrinfo ENOTFOUND catlobby.maxogden.com catlobby.maxogden.com:80

ok, browsed the code a bit and i understand the lobby server is not working, so i ran my own cat-lobby on localhost:5005 .
now i dont get the error but there's no text generated in the share code textbox.
does anyone have this working ? would love to run it to get the feel of it. thanks!

ok made it run locally, answering myself for documentation
problems i encountered:

hosted lobby is not available, run your own lobby locally and change the code to go to localhost lobb
the address in the code that proxies rtcConfig url for cors purposes doesnt work, changed to crossorigin.me
you need to bundle the web viewer yourself with browserify and serve it over http , i added a bundle npm script to generate the bundle and a  web npm script to server remote.html on express.

the updated code is forked here: https://github.com/talarari/screencat.
to run it locally, run 3 terminals:

npm  run lobby  - to start your lobby server
npm start - to start the screencat electron app
npm run web -to start the webviewer

I have used your fork, also managed to make it run locally...
Do you have any idea why cat-lobby server is returning errors 404 when its running on some other machine?

hey,man:
I have used your fork, and run lobby locally,but it doesn't work
I see lobby server locally user https?
and when I ask the url http://localhost:5005/v1/:roomname/pings
this url not work !

@dackom I aslo meet this error
have u solve this error

No... I gave up on this...

Just give @talarari fork a try after running into issues with the original screencat repo (mostly related to catlobby.maxogden.com being down)  peer.js also references https://instant.io/rtcConfig which is no longer available, does anyone have a copy of rtcConfig used for screencat?
Thanks

@timypcr u can try this url "https://instant.io/_rtcConfig" this is get iceserver

does anything need to be modify with in the screencat code to get this RTCconfig working other than replacing the urls in peer.js?
Sent from my T-Mobile 4G LTE Device
-------- Original message --------From: 韩加华<EMAIL_ADDRESS>Date: 2/2/18  2:32 AM  (GMT-05:00) To: maxogden/screencat<EMAIL_ADDRESS>Cc: timypcr<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [maxogden/screencat] cant share screen (#59)
@timypcr u can try this url "https://instant.io/_rtcConfig" this is get iceserver
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/maxogden/screencat","title":"maxogden/screencat","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/maxogden/screencat"}},"updates":{"snippets":[{"icon":"PERSON","message":"@roy2651 in #59: @timypcr u can try this url "https://instant.io/_rtcConfig\" this is get iceserver"}],"action":{"name":"View Issue","url":"https://github.com/maxogden/screencat/issues/59#issuecomment-362508368"}}}

@timypcr first you modefiy catlobby server you can git clone https://github.com/maxogden/cat-lobby  work this repo in your localmachine ,modefiy remoteConfigUrl as https://instant.io/_rtcConfig in peer.js


Bump steampipe-plugin-sdk to v1.7.2

Hey @francois2metz , we recently released a new SDK version that includes some fixes when TableMapFunc is used in plugin.go (CHANGELOG for v1.7.2).
Please let me know if you have any questions, thanks!

Thanks !


feat(icon): add new icons

record-paused-light
record-paused-regular
record-paused-bold
record-paused-filled

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots:
Before (If applicable):

After:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Closing - this are not the icons which belong here.


Atmos can not recover from low pressure

Description
Not exactly sure what's going on here but several rounds now pressure is lost in sections of the station and its not possible to refill rooms from the network.
Observations of issues happened about same time as this merge: #22521
Reproduction

Loose some pressure in a room.
make sure network is getting enough air
check rooms that are not refilling.

Screenshots

Additional context
When setting to just one output vent the vent really struggles to put out any real change in pressure.

This might be worse than we think. From my testing I'm not seeing active/passive vents having ANY appreciable impact on the pressure in a previously spaced room. Nor does opening a canister have a lasting impact on the amount of gas in the room.
The overlay is showing the gas being added to the tile in one tick, then it magically vanishes the next tick. I see it being added to the environment meaning the problem isn't with the vents or canisters. The temperature of any gas you try adding is handled properly as well. Venting a liquid oxygen canister will absolutely tank the temperature. Venting gas into the room can also change the overall ratio of gases while somehow not significantly impacting the pressure.
Hell, I've had a 300kpa Oxygen miner sitting in a room for the past 5 minutes... ZERO real change in pressure.
@ElectroJr since you made #22521 maybe you can help out?

Workaround for this issue: have an admin run 'fixgridatmos' command.

Workaround for this issue: have an admin run 'fixgridatmos' command.

Better for people to be giving info than just running bandaids and stopping comms.

Better for people to be giving info than just running bandaids and stopping comms.

Agreed, but also having the tools to mitigate a round-impacting bug where the station will slowly suffocate is equally important.
I ran into this bug in both of my most recent rounds. In both instances, I observed distro RAPIDLY lose pressure immediately after a spacing. The first instance was from a rod hitting the station. The second instance appears to have been from the HoS office getting bombed. My only ideas are that it has something to do with the new immutability functionality, or changes to how air-tightness is determined from the refactor..

thought vents were supposed to automatically stop working when exposed to space to prevent distro from getting vented like this.

no its only when the pressure is low. without any bugs and healthy distro a small spacing will constantly suck distro out because the vent outdoes slow spaing

Its possible that #26441 will fix this, though I don't know for sure given that I haven't really managed to reproduce it

This is not longer a issue assuming Electro did enough atmos magic.


feat: Send "Authorization" header with requests to the backend

Add optional "authHeader" setting / "VRT_AUTH_HEADER" env variable. Its value will be sent with all requests to the backend. This allows the backend not to be publicly available.
Resolves issue #262.

Hello, I would like to propose my pull request to solve an issue #262 we are currently facing in our public library https://github.com/Typeform/embed
We have a VRT Dashboard deployed behind VPN. When running visual tests in VRT on private repos, we can use self-hosted runners that provide the access. However as far as I understand this option is not available for public repos.
I would like to run visual tests in VRT also in our public library that uses stock Github runners. I can supply the VRT_AUTH_HEADER via repo secret (see here). I need sdk-js to pick up the env variable and send it as Authorization to VRT dashboard.
Is this a viable solution?

@mathio thanks for contribution!
I would like to know more about the root cause
if the case is reasonable we could make Axios config as a part of constructor to allow add custom configs there

if the case is reasonable we could make Axios config as a part of constructor to allow add custom configs there

We use agent-cypress to run our tests. Since it explicitly passes the config object to the constructor I think this solution would be good.

Closing as a workaround suggested in #262 works for our use-case.


Gradle can't find Settings plugin passed as included build using the --included-build command line option

Current Behavior
I'm trying to pass a Settings plugin using the command line option --include-build. I see Gradle failing with:
* What went wrong:
Plugin [id: 'org.example.some-settings-plugin'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (plugin dependency must include a version number for this source)

It seems that Gradle isn't looking for builds passed using the --include-build option when resolving Settings plugins.
Expected Behavior
This works for Project plugins. The docs don't really mention that there's any restriction for Settings plugins. The section on composite builds treats both Settings and Project plugins together: https://docs.gradle.org/current/userguide/composite_builds.html. Given this and since --include-build works for Project plugins, it's reasonable to assume that it will work for Settings plugins as well.
Context (optional)
No response
Steps to Reproduce
I've attached an example: gradle-issue-with-include-build.zip
To reproduce: ./gradlew --include-build some-settings-plugin/
Gradle version
7.4.2, 8.3
Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for your interest in Gradle!
This feature request is in the backlog of the relevant team, but this area of Gradle is currently not in focus. It might take a while before it gets implemented.

See also this part of the documentation.

Most probably, yes.
See also:

https://github.com/gradle/gradle/issues/15614

FYI, I see that the user guide explicitly mentions usage of --include-build as a way of trying out a plugin: https://docs.gradle.org/current/userguide/testing_gradle_plugins.html#manual-tests


Strict ordering of groups

Right now, I think the default sorting behavior of groups could be improved.
What about following the order in each they were specified in the option?
For example, a specification --toc-group platform,group,kind could always render the platform groups first, then group ones and finally kind.
Inside a given section, if there is multiple different groups, I would use alphabetical order.
So,
--toc-group platform,group

Class1 @platform One
Class3 @group More
Class4 @group Going on
Class2 @platform Friend
Class5 @group More

Friend
  Class2
One
  Class1
Going on
  Class4
More
  Class3
  Class5

What do you think?

@maoueh Good idea. We can have a try if there is time...


放大缩小功能

Please check if the PR fulfills these requirements

[ ] It's submitted to right branch according to our branching model
[ ] It's right issue type on title
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[ ] It does not introduce a breaking change or has description for the breaking change

Description

Thank you for your contribution to TOAST UI product. 🎉 😘 ✨

@Dolov
Could you translate this issue to english?
I can't understand your language and your code change means.

我觉得 你写的不错, 基础放大缩小可以用, 再加个拖动完美了


Support for debug information

Support for debugging numba code in gdb (and other debuggers) using the LLVM DWARF debug info.

This is also tracked on the llvmlite side in https://github.com/numba/llvmlite/issues/10

@sklam can we close this since https://github.com/numba/numba/pull/2170 ?

Yes


Chart v2 extensions

Continue from https://github.com/kodadot/nft-gallery/pull/1110

item detail -- w/ zoom/pan - I'm thinking to add pre-made time frames. 7d/14d/1m where 7d could be the default
join it with https://github.com/kodadot/nft-gallery/issues/1121
continue to main-nuxt

What about this @rhaicode when you are mastering our charts engine? 👀


Performance metrics by month

This PR adds targets in the snakemake and targets pipelines for calculating the overall metrics by month and the metrics at each reach for each month.
See #193

@lekoenig  - do you mind looking over this PR?


Adding en-GB

To have an non-trivial example to test BCP47, see https://github.com/SAP/abap-file-formats/issues/582

consider adding a new repository instead of a branch?

Fine but data must be sorted to avoid diffs


Foundations revisited

https://formal-methods-mpi.github.io/Workshop.jl/stable/5_additional/extensive-foundations/
I have mixed feeling about this one because it appears as the first version of chapter 2 which was then decided to be made shorter for chapter 2.
A lot of the sentences are the same os it's a bit harder to see where the new information is.
Perhaps boiled this one down to the new stuff only? though I can see some value in reestablishing a previous fact, perhaps there is way that only what is needed to mention the new fact can be reformulated here.
Also, I guess there is an argument to be made to have the definition of each type of object ot be included in chapter 2, e.g. variable, function, vector, etc. it was ok for me not to have them when reading chapter 2 because I knew these definitions, but if there are needed, it is most likely when these objects are introduced the first time? or did you think it be overwhelming and easier to have a vague idea and intuition and read the definitions later?

@MalikaIhle thanks for the suggestions... this chapter is indeed the longer version of chapter 2. I think for most participants it is fine to have the short version without definitions as the "main" chapter in the workshop, because we expect the participants to have previous programming experience in R - so they should know what a variable, function, vector etc. is. But we decided to keep the longer version in case someone feels overwhelmed.
@moritzketzer @aaronpeikert I think we should decide what to do here...
I would suggest adding a link to the "extensive foundations" at the end of chapter 2, and maybe adding a disclaimer to "extensive foundations" that this is basically a longer version of ch. 2 in case this one was too fast?
@moritzketzer In any case, I would suggest reformulating "extensive foundations" a bit so there are no dublications of sentences / examples, because I guess this just feels dull for the participants.
What are your opinions on this?

I agree, we wanted to leave this in case we have participants that are overwhelmed by the next chapters and would be stuck without anything to do.
I think we should make it explicit, that people should try the next chapters and only do the extensive version if they are stuck and the chapters exceed their skill level.
@aaronpeikert what do you think? Leave in, link at the end of chapter 2 and reword?

Yes, I would do all of the above:

[ ] leave in
[ ] reword (just ask our good old friend GPT)
[ ] add disclaimer at beginning
[ ] add link at end of Chapter 2

@moritzketzer please make a PR for this.

I was wondering if it is better to leave what is identical without rephrasing, because it is easier to spot what a person already read, and if a person needs some basic training, redundancy and repetiton might also make learning easier for people who need it. if a person finds it too dull they should probably spend no time at all in the chapter?

Should be solved in PR #125, but for now we did not reword - we thought it may be okay now as we made it clear that this section is simply a longer version of the cheat sheet for participants that are completely overwhelmed by the normal workshop.


Cryptic error message when building using yarn

Describe the bug
Function build failed whith an unexplicit error message when yarn.lock is present.
Amplify CLI Version
4.29.1
To Reproduce
-Create a new function
-Use joined yarn.lock
-Try to push function
yarn.lock.txt
You should get this message error :
✖ An error occurred when pushing the resources to the cloud
,,
Error: ,,
at runPackageManager (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-nodejs-function-runtime-provider/src/utils/legacyBuild.ts:54:11)
at installDependencies (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-nodejs-function-runtime-provider/src/utils/legacyBuild.ts:38:3)
at Object.buildResource (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-nodejs-function-runtime-provider/src/utils/legacyBuild.ts:12:5)
at Object.build (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-nodejs-function-runtime-provider/src/index.ts:44:22)
at buildResource (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/build-resources.js:49:36)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async Promise.all (index 0)
at Object.run (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/lib/push-resources.js:46:5)
at async Promise.all (index 0)
at providersPush (/usr/local/lib/node_modules/@aws-amplify/cli/src/extensions/amplify-helpers/push-resources.ts:84:3)
An error occurred when pushing the function resource
Removing the yarn.lock solves the problem
Expected behavior
The function is build and pushed or amplify should print the yarn error.
Desktop (please complete the following information):

OS: Ubuntu 18.04.5 LTS
Node Version : Ubuntu 18.04.5 LTS
Yarn Version : 1.22.4

The error actually happened before the actual push, it happened during the function build phase.
Could you elaborate on what you did with the step -Use joined yarn.lock?
If you cd to the function's src folder amplify/backend/function/<function-resource-name>/src and run yarn, do you get an error? if so, what error do you get?
I marked the issue as enhancement because the error is due to client project's build failure, the CLI could probably print out more helpful information on the error.

When I run "yarn install" locally, I don't get any errors.
Step  -Use joined yarn.lock meant that I had used the attached yarn lock.


Use alias paths from app tsconfig.json instead of hardcoded values

Instead of hard-coding the alias paths in the build folder, we should probably read those values from the user tsconfig.json. Example

This is now possible due through custom webpack configurations


[Performance] Performance improvements for huge data sets

Performance looking pretty good for our medium-sized (23k row) test case, but tool will still be slow (possibly to the point of crashing) with big (>100k rows or so?) data sets with lots of nest combinations. Two things might help this renderer scale up:

Only draw rows when they are needed. Currently, all rows for a given nest are drawn whenever the nest or filter config is updated by the user. Most rows are then hidden (unless 'show all' is checked). It would almost definitely be faster to move from this show/hide approach to a draw/delete paradigm, where only the visible rows are on the DOM. Probably a medium to large update though.

Add numeric a maxRows parameter (default = 100000?)that warns the user whenever an action they take is going to put a huge number of rows on the page. Basically, whenever a click is going to add more than maxRows new rows to the table, a dialogue saying something like "This action will add 23138321 new rows to the table. This might take a while and/or crash your browser. You might want to filter your data or consider a different structure. Are you sure you want to proceed?" and make them click "yes" first.

I think that the first item above is relatively straightforward. We'd just have to add a process that would subset this.data.summarized to only include visible rows before drawing. And then add/remove rows as appropriate and then call the custom draw() function in addRowDisplayToggle


Issue with commiting with pre-commit enabled in the workspace

bump-my-version version: 0.21.1
Python version: 3.12.3
Operating System: MacOS

Description
When I have pre-commit enabled, if my cache is empty, pre-commit clones the hooks and tries to use them for the rest of committing moments. Since bump-my-version uses the classic git commit command, it will trigger pre-commit. That's why if I'm not connected to the internet or don't have access to those pre-commit hooks repositories, bumping my version would stop in the committing stage.  Ultimately, do git tag because git tag happens after git commit.
This is what it raises after a few minutes:
Failed to run ['git', 'commit', '-F', '/var/folders/w8/1ylgn1zn1ks8qrqyt1w32gjc0000gn/T/tmpex2iowly']: return code 1,     │
│ output: b''

Worth noting
Adding the --no-verify option when committing, won't trigger the pre-commit hooks.
git commit -m "..." --no-verify

You can add the --no-verify argument to the configuration

Nice! @coordt


[Publication]: Add tooltip for Publish to path on Publish request pop-up

EPAM AI DIAL chat version
0.12.0
How to reproduce
Steps:

User hover 3 dots on chat and select Publish option in context menu
On Publish request pop-up user change Publish to path : select folder with long name or nested folder structure
goes back to Publish request pop-up form and hover on Publish to text box

Actual result
Tooltip for path inside "Publish to" text bot is not displayed

Expected result
Add tooltip for Publish to path on Publish request pop-up
Confidential information

[X] I confirm that do not share any confidential information

verified on STG - fixed


Refactor tests to reduce repetition and use py.test over nose.

Nose has been deprecated for several years whereas py.test is still
under active development. As a result it is more accepted nowadays to
use py.test as the test runner.
This refactor also reduces much of the repetition in the tests and moves
to the functional style of testing favoured by py.test.

Ok I'll look at upping the coverage a bit today 😇

@joshfriend what is the crypto lib used? I have tests for that module but don't know what lib is being used.


Intellisense not working with commonjs package

I am attempting to consume a NPM module that has been built with babel into two build directories - one for es modules and the other for commonjs modules. The package.json 'main' property for the module points to the commonjs version, and it also has an additional 'module' property that points to the es module version.
"main": "./cjs/index.js",
"module": "./esm/index.js"

When I import the module into my project, Intellisense automatically chooses the commonjs version of the build i.e.
import { Button } from 'theirModule'

In this case, the index.js file in the root of the commonjs build re-exports a number of other exports from other files like so:
Object.defineProperty(exports, "__esModule", { value: true });

var _Button = require("./Button");

Obejct.keys(_Button).forEach(function (key) {
  if (key === "default" || key === "__esModule") return;
  Object.defineProperty(exports, key, {
    // ....
  })
});

For some reason Intellisense doesn't seem to work when I import like this... however if I point to the es module version it works as expected:
import { Button } from 'theirModule/esm'; // picks up index.js file

The only way I can make it work with the commonjs version is to import directly from the re-exported file:
import { Button } from 'theirModule/cjs/Button';

Am I doing something wrong? I have tried adding a jsconfig.json file but all the settings I have tried make no difference.

Yes, I don't think our IntelliSense will be able to make sense of the javascript in /cjs/index.js.
Moving upstream to see if TypeScript should use module from the package.json. Possible already tracked here: #21423

Yep, duplicates #21423


Regarding issue #65 - REST service with images

Quick follow-up question/issue on Restup …. Issue # 65 (https://github.com/tomkuijsten/restup/issues/65).
I agree 100% with steveegg.  And I’m trying to implement something with Restup along the lines of his comment:
GET /api/camera/{id}/snapshot - Current Live image
GET /api/camera/{id}/snapshot?time={datetime}&duraction={duration}
Can you please point me to an example of doing this?
I’ve been trying to send a stream, and have failed miserably.  Here is my code, but the stream doesn't make it to the client …
    public IAsyncOperation<IGetResponse> Get()
    {

        ReadyPhotoStream();

        return Task.FromResult<IGetResponse>(new GetResponse(
            GetResponse.ResponseStatus.OK,
            photoReceived)).AsAsyncOperation();

    }

    private async void ReadyPhotoStream()
    {
        photoFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Photos/photo.jpg"));
        photoStream = await photoFile.OpenReadAsync();
        photoReceived.ID = 999;
        photoReceived.PhotoStream = photoStream;
    }

Hi @alwendt4,
What is your intended use-case? Do you want to be able to embed it in a web page? Or do you want to use the get response in a different application? It looks like you wan to do the 2nd option.
Restup doesn't support sending non-primitive types to the client, you should've received a bad request on the client as a result of this because it's unable to serialise it.
You'll need to read the file into memory and send it down the stream as a byte array (see -> https://github.com/tomkuijsten/restup/blob/master/src/WebServer/File/StaticFileRouteHandler.cs#L81)
Hope this helps.

Hi Jark,

"What is your intended use-case?"  Answer:  Again, I am in complete agreement with steveegg from issue #65.  For brevity's sake, I will neither argue with you on the validity of the use-case, nor repeat parts from your conversation with him.  We agree to disagree, and that's as far as I'm going to go.  Please don't engage me in this topic/argument as I promise not to respond to it.  Respectfully, I think steveegg from issue #65 is right and you're wrong.  Please don't take that personally, and I wish to thank you for ultimately helping me solve my problem.

Read the file into memory and send it down the stream as a byte array.  Worked great ... your example wasn't very helpful to me, so in the spirit of trying to be helpful in return here is my code ...

As an introduction, I have a UWP headless application acting as the RESTful Web Service physically running on a Raspberry Pi 3.  And my client is my PC acting as a RESTful client using a .NET framework console application.
So here is how I got it to work ... with the server running, the client initiates a request to the server ...
    static async Task RunAsync()
    {
        client.BaseAddress = new Uri("http://<IP_ADDRESS>:8800/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new
             MediaTypeWithQualityHeaderValue("application/json"));

        try
        {
            Product product;

            // Get the product
            product = await GetProductAsync("api");
            ...
    static async Task<Product> GetProductAsync(string path)
    {
        Product product = null;
        HttpResponseMessage response = await client.GetAsync(path);
        if (response.IsSuccessStatusCode)
        {
            product = await response.Content.ReadAsAsync<Product>();
        }
        return product;
    }

... here is my Product class (a byte stream/array) as you said it needs to be ...
public class Product
{
public int ID { get; set; }
public byte[] ImageBytes;
}
... which leads into the server code (again, the image stored in a byte array/stream) ...
public sealed class PhotoReceived
{
    public int ID { get; set; }
    public byte[] ImageBytes { get; set; }
}

[RestController(InstanceCreationType.PerCall)]
public sealed class ParameterController
{
    StorageFile photoFile;
    IRandomAccessStream photoStream;
    PhotoReceived photoReceived = new PhotoReceived();

    [UriFormat("/")]
    public IAsyncOperation<IGetResponse> Get()
    {
        ReadyPhotoStream();

        return Task.FromResult<IGetResponse>(new GetResponse(
            GetResponse.ResponseStatus.OK,
            photoReceived)).AsAsyncOperation();
    }

    private async void ReadyPhotoStream()
    {
        photoFile = await StorageFile.GetFileFromApplicationUriAsync(
             new Uri("ms-appx:///Photos/photo.jpg"));
        photoStream = await photoFile.OpenReadAsync();
        photoReceived.ID = 999;
        var reader = new Windows.Storage.Streams.DataReader(photoStream.GetInputStreamAt(0));
        await reader.LoadAsync((uint)photoStream.Size);

        photoReceived.ImageBytes = new byte[photoStream.Size];

        reader.ReadBytes(photoReceived.ImageBytes);
    }

... finally, back to the client ... the GetProductAsync method in the RunAsync() method finishes, and I execute:
            ShowProduct(product);

... the ShowProduct method looks like this ...
    static async void ShowProduct(Product product)
    {
        Console.WriteLine($"ID: {product.ID}");

        System.Drawing.Image localImage;
        using (MemoryStream ImageStream = new System.IO.MemoryStream(product.ImageBytes))
        {
            localImage = System.Drawing.Image.FromStream(ImageStream);
            localImage.Save(@"C:\Users\mx8yqv\Pictures\test.jpg",
                 System.Drawing.Imaging.ImageFormat.Jpeg);
        }

    }

... Thanks again Jark for helping me get through this.  Your suggestion to use a byte array paid off well.  You can close the issue now, as my issue is resolve.  You have my gratitude of extraordinary magnitude.

Hi @alwendt4,
Glad you were able to figure it out.
Jark


US_WEST_2 hardcoded in cart service. Causes Control Planes EKS workshop (ACK) to error out.

https://github.com/aws-containers/retail-store-sample-app/blob/1870a3929819ac37a3b047fe59afa67e1b4ca686/src/cart/src/main/java/com/amazon/sample/carts/configuration/DynamoDBConfiguration.java#L46
This part of the workshop fails when I ran in ap-southeast-2.
$ kubectl -n carts logs carts-855f5cc5f7-wcxbs
[...]
***************************
APPLICATION FAILED TO START
***************************

Description:

An error occurred when accessing Amazon DynamoDB:

Credential should be scoped to a valid region.  (Service: DynamoDb, Status Code: 400, Request ID: xxx)

Action:

Check that the DynamoDB table has been created and your IAM credentials are configured with the appropriate access.

Confirmed hardcoding my region fixes the issue. I am not a java dev so not sure the correct way to fix it :)  AWS_REGION is available obvs.
https://www.eksworkshop.com/docs/automation/controlplanes/ack/configure-application

Hey @mattgillard thanks for raising this.
It looks like the ACK lab is mistakenly setting the DynamoDB endpoint when it shouldn't. I'll get the lab fixed up.

This has been resolved in the workshop.


Feature/aoaf 473 is registered

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found


A few small fixes for strict compiler settings.

Especially the fix in the header is important because it forces one to tone
down compile strictness if you want to include this header. Compiled with
gcc and added at least -Wextra -Werror -Wstrict-prototypes
-Wmissing-prototypes.

Thanks!  I haven't made an AUTHORS for this one yet but I will.  If you'd like to be included, do you have a preferred name?

I was slightly lazy when I created a pull request from the master branch of my fork, which made you merge more than I initially intended ... :worried: ... (not sure if you agree with the removing libm dependency). Unfortunately I made a mistake (compilation failure on visual studio in release mode) in commit d6eb388 which I fix here https://github.com/marcelmeulemans/json-builder/commit/3196323ab82d2592b6dd4798f8a8477f5b17676b
About the AUTHORS, up to you, just use my name.

I intended to merge them all 👍
Will merge the other commit too


Support for other template files

Since the JS and CSS are injected into the index.php, we don't easily know on runtime what the URL of the assets will be.
If I make a custom template, how can I utilize the build pipeline and have the asset urls injected here as well?

I ended up creating my own started build FYI.

@javierZippia  I will give you a high level overview of what I am doing. Its kind of a two step process and its not perfect.
I have a file watcher running that is looking for changes in the JS source and then outputting the build.
in functions.php im reading in the asset manifest file in order to include all of the built JS and CSS.
I have a socket running on the frontend that is connected to a socket in the build job. When a build is complete, the socket tells the front end to refresh the page.
It did what I needed it to but it could be optimized if I was using incremental builds and webpack devserver.


Need robustness to uncoerceable filter cutoffs in BV headers

I think a recent PR leads to problems with the BV importer if the header file has a string for the filter cutoff.
raw = mne.io.brainvision.read_raw_brainvision(fname)

Online software filter detected. Using software filter settings and ignoring hardware values
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-4-8884b0022b63> in <module>()
      1 fname = "/Users/jona/Downloads/odd_00.vhdr"
----> 2 raw, events = get_raw(fname)

<ipython-input-3-28df6c2be3b1> in get_raw(fname)
      3
      4 def get_raw(fname):
----> 5     with mne.io.brainvision.read_raw_brainvision(fname, montage=montage,
      6 #                                                 preload=True
      7                                                 ) as raw:

/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in read_raw_brainvision(vhdr_fname, montage, eog, misc, scale, preload, response_trig_shift, event_id, verbose)
    616                           misc=misc, scale=scale, preload=preload,
    617                           response_trig_shift=response_trig_shift,
--> 618                           event_id=event_id, verbose=verbose)

/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in __init__(self, vhdr_fname, montage, eog, misc, scale, preload, response_trig_shift, event_id, verbose)

/Users/jona/tools/mne-python/mne/utils.py in verbose(function, *args, **kwargs)
    691         with use_log_level(verbose_level):
    692             return function(*args, **kwargs)
--> 693     return function(*args, **kwargs)
    694
    695

/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in __init__(self, vhdr_fname, montage, eog, misc, scale, preload, response_trig_shift, event_id, verbose)
     80         vhdr_fname = os.path.abspath(vhdr_fname)
     81         info, fmt, self._order, mrk_fname, montage = _get_vhdr_info(
---> 82             vhdr_fname, eog, misc, scale, montage)
     83         events = _read_vmrk_events(mrk_fname, event_id, response_trig_shift)
     84         _check_update_montage(info, montage)

/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in _get_vhdr_info(vhdr_fname, eog, misc, scale, montage)
    498         else:
    499             if hp_s:
--> 500                 info['highpass'] = np.min(np.array(highpass, dtype=np.float))
    501                 info['highpass'] = 1. / info['highpass']
    502             else:

ValueError: could not convert string to float: 'Off'

The end of the .vhdr looks like this:
S o f t w a r e  F i l t e r s
==============================
#     Low Cutoff [s]   High Cutoff [Hz]   Notch [Hz]
...
63     Off              Off                Off
64     Off              Off                Off

(etc)
It worked with this file before.
I have previously worked on a similar issue, but it seems I wasn't thorough enough: #1834
@palday ?
I can in principle do this, but I'd rather work on my long list of outstanding issues.

Jepp, can do - can you post the entire header file so that I can include a test?

From: jona-sassenhagen<EMAIL_ADDRESS>Sent: Sep 8, 2016 00:18
To: mne-tools/mne-python
Cc: Phillip Alday; Mention
Subject: [mne-tools/mne-python] Need robustness to uncoerceable filter cutoffs in BV headers (#3571)
I think a recent PR leads to problems with the BV importer if the header file has a string for the filter cutoff.
raw = mne.io.brainvision.read_raw_brainvision(fname)
Online software filter detected. Using software filter settings and ignoring hardware values
ValueError                                Traceback (most recent call last)
 in ()
1 fname = "/Users/jona/Downloads/odd_00.vhdr"
----> 2 raw, events = get_raw(fname)
 in get_raw(fname)
3
4 def get_raw(fname):
----> 5     with mne.io.brainvision.read_raw_brainvision(fname, montage=montage,
6 #                                                 preload=True
7                                                 ) as raw:
/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in read_raw_brainvision(vhdr_fname, montage, eog, misc, scale, preload, response_trig_shift, event_id, verbose)
616                           misc=misc, scale=scale, preload=preload,
617                           response_trig_shift=response_trig_shift,
--> 618                           event_id=event_id, verbose=verbose)
/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in init(self, vhdr_fname, montage, eog, misc, scale, preload, response_trig_shift, event_id, verbose)
/Users/jona/tools/mne-python/mne/utils.py in verbose(function, *args, **kwargs)
691         with use_log_level(verbose_level):
692             return function(*args, **kwargs)
--> 693     return function(*args, **kwargs)
694
695
/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in init(self, vhdr_fname, montage, eog, misc, scale, preload, response_trig_shift, event_id, verbose)
80         vhdr_fname = os.path.abspath(vhdr_fname)
81         info, fmt, self._order, mrk_fname, montage = _get_vhdr_info(
---> 82             vhdr_fname, eog, misc, scale, montage)
83         events = _read_vmrk_events(mrk_fname, event_id, response_trig_shift)
84         _check_update_montage(info, montage)
/Users/jona/tools/mne-python/mne/io/brainvision/brainvision.py in _get_vhdr_info(vhdr_fname, eog, misc, scale, montage)
498         else:
499             if hp_s:
--> 500                 info['highpass'] = np.min(np.array(highpass, dtype=np.float))
501                 info['highpass'] = 1. / info['highpass']
502             else:
ValueError: could not convert string to float: 'Off'
The end of the .vhdr looks like this:
S o f t w a r e  F i l t e r s
Low Cutoff [s]   High Cutoff [Hz]   Notch [Hz]
...
63     Off              Off                Off
64     Off              Off                Off
(etc)
It worked with this file before.
I have previously worked on a similar issue, but it seems I wasn't thorough enough: #1834https://github.com/mne-tools/mne-python/pull/1834
@paldayhttps://github.com/palday ?
I can in principle do this, but I'd rather work on my long list of outstanding issues.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mne-tools/mne-python/issues/3571, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABmZ11bMuNQsn3yW8ULdJIQUzyPBVW7tks5qnzgWgaJpZM4J3aoX.

http://pastebin.com/gXdD7qss
This was from some kind of test run IIRC.

It worked previously because software filters were ignored -- if you had something similar in your hardware filters (some Off but some on), it would have failed there as well because Off was only handled in those cases where it was the sole value.


CLI seems to use only synchronous deploys even for sites that are over the "syncfileslimit" and this can lead to upload failures

- Do you want to request a feature or report a bug?
bug
- What is the current behavior?
currently, the CLI always attempts to deploy synchronously, which even for sites with only a few thousand files, can lead to 502 gateway errors during upload, and this causes deploys to fail.
- If the current behavior is a bug, please provide the steps to reproduce.
Try to deploy a site with 10k new files via CLI.  It may occasionally work, but often will not.  This has been reproduced with sites as small as 4500 files and as big as 60k files.  This happens even with high -p X values to set a large timeout.
The setting that was proposed to change that controls this:
https://github.com/netlify/js-client/blob/master/src/deploy/index.js#L25
does not seem to support being changed (or changes are ignored) as we've tried setting it to smaller numbers including 1 with the behavior not changing according to our internal logs AFAICT.
- What is the expected behavior?
Deployment works and is handled asynchronously on our servers to allow success no matter how large the site.
- Local Environment Information
Happens with v2.37.0 on linux
** Additional netlify-private context**
There was a long thread discussing this here in slack:  https://netlify.slack.com/archives/C0QFKKY2U/p1582742724079200 .  See especially comments from @rybit and @biilmann that we should consider having the CLI use "always async"

This has affected at least one enterprise and one pro customer:

https://netlify.zendesk.com/agent/tickets/18594 (enterprise)
https://netlify.zendesk.com/agent/tickets/20209 (Pro)

Thanks for reporting this @fool. It's in the backlog we'll take a look at this soon.

@ingride Can you please elaborate on the async property in createSiteDeploy API call. What does that mean exactly?

Seems like partially blocked on https://github.com/netlify/bitballoon/issues/5624

@RaeesBhatti - is #5624 supposed to be publicly viewable? If so, it might be a broken link (or it is for me at a minimum :)).
Thanks!

@stephencweiss That is an internal issue with out API engine. Please hold on this problem is on our priority list.

@RaeesBhatti No problem! As I noted in a related ticket -- I've got a workaround by setting a longer timeout... https://github.com/netlify/cli/issues/484#issuecomment-636211718

Is there any update to this issue? It seems the switching the timeout doesn't always work as a workaround

Hi @RaeesBhatti I've seen that you have a PR up to address this issue. This keeps being a massive pain for us since our builds have become super flaky, timing out 50% of the time. Do you have an ETA when that PR might be merged to resolve this issue?

@tbgse The primary blocker in way of fixing this issue is that I haven't been able to reproduce it yet. I've tested the solution in the PR above with 20k unique files of 10kb each. And the deployment happened without any issue.

It has recently come to light that the requests are actually failing with 502 Bad Gateway error at api.createSiteDeploy call.

Hi @RaeesBhatti what is the solution or the follow up after the closing of this issue?

@kalinchernev Please update to<EMAIL_ADDRESS>This should fix the problem. If it doesn't please let us know!

Ok, thanks, i have upgraded and will monitor behavior

@RaeesBhatti do you know if the `js-client will need to be updated as well since it has it's own deploy method?

Not sure!  If you're still seeing the problem with js-client, could you file an issue over there?  I would think it wasn't having the problem since I believe that's what we use internally and we haven't run into it, but I could be wrong, so if you are seeing it still let's get that issue filed so the team can debug.

We're continuing to have issues with the netlify deploy command running on<EMAIL_ADDRESS>Deploying to draft URL...
- Hashing files...
✔ Finished hashing 38507 files and 6 functions
- CDN diffing files...

It's been CDN diffing files... files for 20 minutes. Surely it doesn't take that long to generate file hashes and diff them with the CDN copy? Was there any consideration made to making the js-client always use async file uploads?

Re-opening this issue as there are still reports of this issue surfacing also in https://github.com/netlify/cli/issues/484#issuecomment-668507128

Closing as stale. Please re-open if needed


scylla_cluster: start with no_wait=False by default

This effectively reverts scylla_cluster: handle no_wait flag
since we need the default start to be safe and set no_wait=True
explicitly from tests that are proved to tolerate it.
Scylla start became faster since
scylladb/scylla@78d0cc4ab5ebd47f101ce78b79a30a48ee9f4b9b
and without this change, multi-node dtests tend to fail.
DTest: consistent_bootstrap_test.py::TestBootstrapConsistency::test_consistent_reads_after_bootstrap
(with --cassandra-dir)
Validating the debug log:
21:13:06,524 3398130 ccm                            DEBUG    cluster.py          :694  | test_consistent_reads_after_bootstrap: start_nodes: no_wait=False wait_for_binary_proto=True wait_other_notice=True force_wait_for_cluster_start=True
21:13:06,528 3398130 ccm                            DEBUG    cluster.py          :694  | test_consistent_reads_after_bootstrap: node1: Starting scylla: args=['/home/bhalevy/.dtest/dtest-_3m0rc17/test/node1/bin/scylla', '--options-file', '/home/bhalevy/.dtest/dtest-_3m0rc17/test/node1/conf/scylla.yaml', '--log-to-stdout', '1', '--api-address', '<IP_ADDRESS>', '--collectd-hostname', 'localhost.localdomain.node1', '--developer-mode', 'true', '--smp', '1', '--memory', '512M', '--default-log-level', 'info', '--collectd', '0', '--overprovisioned', '--prometheus-address', '<IP_ADDRESS>', '--unsafe-bypass-fsync', '1', '--kernel-page-cache', '1', '--max-networking-io-control-blocks', '1000'] wait_other_notice=True wait_for_binary_proto=True

Signed-off-by: Benny Halevy<EMAIL_ADDRESS>Refs and complements https://github.com/scylladb/scylla-dtest/pull/2490

Cc @nyh

@bhalevy we need to understand why this is needed... Do you need this fix even after your fix https://github.com/scylladb/scylla-dtest/pull/2490 was merged?
The point is, what this patch changes is to have ccm wait a bit longer between starting each node (it will wait until each node reaches "normal" state, not only "listening" state). But it doesn't change anything on what ccm or dtest waits for after the entire cluster is up. I suspect (but maybe my suspicious is wrong) that we don't need to sleep more between nodes - we just need to sleep more after the entire cluster is up before starting the actual test, and this is what your PR 2490 fixed. The question is whether this patch is needed as well.

@nyh I think that the rule of thumb should be to use safe defaults and to override them only where it safe, not to gamble and try unsafe defaults and see what breaks...
#2490 fixed more than waiting after the entire cluster is up, but rather it fixed the implicit defaults for wait_for_binary_proto and wait_other_notice when they aren't specified by the caller.
no_wait=True should be used when the test starts a node asynchronously without waiting for anything.
Typically the test then calls something like node.watch_log_for or some other way to poll the node's state and determine when it has reached a state that the test can proceed.  It's not about performance.


js promise execute result is wrong

second try in pic below, code not changed,but result is different,and also wrong

Thank you for reporting. I can reproduce this and am curious to know what is causing this.


Added PIMS and Dods identifiers for Persons

there's some discussion to be had about whether all of these external identifiers should be abstracted out but this is fine for now imo


Reimplement withPayload with savepoints

I think this is how it used to work. I don't have a monad to make it easy but I can inline the logic.

It did not previously work this way. Or not how I would like. I think it should be like:
withPayload = do
  sp <- savePoint
  Payload {..} <- dequeuePayload

    let updateStateOnFailure = do
          restoreSavePoint sp
          setEnqueueWithCount pId (pAttempts + 1)
          when (pAttempts >= retryCount) $ setFailed pId

    liftIO (try $ f pValue) >>= \case
      Left  (e :: SomeException) -> updateStateOnFailure >> liftIO (throwIO e)
      Right x -> pure x

withPayload = do
  sp <- savePoint
  Payload {..} <- dequeuePayload
  liftIO (try $ f pValue) >>= \case
    Left  (e :: SomeException) -> do
       restoreSavePoint sp
       setEnqueueWithCount pId (pAttempts + 1)
       when (pAttempts >= retryCount) $ setFailed pId
       liftIO (throwIO e)
    Right x -> pure x

I should remove the IO version of dequeue and make withPayload called withDequeue and it should take in a retry limit and number to dequeue. I should document that it is all or nothing.

This is harder than I thought. I need tight coupling between committing the transaction and exception throwing. I think this means this should only exit in the IO api which is a simplification I like.


"cannot open db" while running MNIST.ipynb

The db could be found by code in cell 2,
"lmdb test db found!
Looks like you ran this before, so we need to cleanup those old files...
training data folder:/home/henry/caffe2_notebooks/tutorial data/mnist
workspace root folder:/home/henry/caffe2_notebooks/tutorial files/tutorial_mnist"
But got code run error in cell14,
"RuntimeError: [enforce fail at db.h:206] db_. Cannot open db: /home/henry/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb of type lmdb Error from operator: ..."

Just in order to be sure, do you get the message
lmdb test db found!
Looks like you ran this before, so we need to cleanup those old files...
training data folder:/home/henry/caffe2_notebooks/tutorial data/mnist
workspace root folder:/home/henry/caffe2_notebooks/tutorial files/tutorial_mnist"

or
lmdb train db found!  <--- Is this one missing in your case?
lmdb test db found!
Looks like you ran this before, so we need to cleanup those old files...
training data folder:/home/henry/caffe2_notebooks/tutorial data/mnist
workspace root folder:/home/henry/caffe2_notebooks/tutorial files/tutorial_mnist"

Further, have you manually checked that each of the two folders contain lmdb files?

thanks really so much for your response, the issue is killing me.
I did get the "lmdb train db found!"
And I had manually checked each of th two folders, the lmdb files are there.
20180315.1520.zip

@SteveCruz Steve, I uploaded the .ipynb file in zip, and uploaded the screen shots, can you please take a look of them and pull me out of the issue? I am using ubuntu-16.04.3-desktop-amd64 in Oracle VM VirtualBox, can't it cause the problem?

I downloaded your script and tested it on my Ubuntu machine. I changed
data_uint8, label = brew.db_input(
        model,
        blobs_out=["data_uint8", "label"],
        batch_size=batch_size,
        db=db,
        db_type=db_type,
    )

to
data_uint8, label = model.TensorProtosDBInput(
        [],
        ["data_uint8", "label"],
        batch_size=batch_size,
        db=db,
        db_type=db_type,
    )

because I do not have the latest version of Caffe2 on my machine. However, after the change, the script worked perfectly fine for me. Can you try to implement the same changes?
Further, does your VM has read access to the location where your MNIST LMDB is stored?

I implemented the code change, but still got the same error. I double checked the read access to the location, it should work. I even tried "sudo ipython notebook" to ensure the access work, but got the same error again. I pasted the screen shot of the LMDB files in last response to you, can you do me a favour to check the sizes of them are same to yours? I unzipped them from the zip file, it should be good, but just want to ensure there is no format error of them or I downloaded the wrong one.
Thanks again for your kind support! @SteveCruz

Here is a screen shot of my LMDB files:

totally same, hmm, quite strange, :(
I will take a try on ubuntu-17.10.1-desktop-amd64 tomorrow. what's version of your ubuntu? @SteveCruz, thanks!

I use Ubuntu version 16.04.
I am sorry that I could not help to solve your problem!

@SteveCruz np, thanks so much indeed! I suppose it may be caused by the C++ code not being well compiled. As the python codes I debuged looks good.

Can you give your lmdb and protobuf versions? As well as PYTHONPATH and LD_LIBRARY_PATH ? It seems like you're not using Anaconda, are you using virtualenv or virtualenvwrapper?

I have the same problem as you.And it confused me much time.I hope someone could help me solve it

@pjh5 I followed Caffe2 install on Ubuntu with "Build From Source", https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=compile
lmdb version is:

protobuf version is:

PYTHONPATH and LD_LIBRARY_PATH is:

I don't remember I use Anaconda, virtualenv or virtualenvwrapper.

@pjh5 forgot to thank you for addressing the issue. I noticed I used sudo to run ipython notebook, but missed setting of PYTHONPATH and LD_LIBRARY_PATH for root, I added, but still same error.

@pjh5 I can give my ubuntu access if you would like to take a look there. if you want, please leave your email here, I will send hostname/port and id/password to you via email. Thanks!

@henryguyu does the file /usr/local/lib/libcaffe2.so and the directory /usr/local/lib/python2.7/site-packages/caffe2 both exist?
Is which python /usr/bin/python or /usr/local/bin/python?
Your PYTHONPATH should not have two colons : in a row, and shouldn't have /home/henry/caffe2/build in it either. It probably doesn't need /usr/local to be in it either.
LD_LIBRARY_PATH should not have trailing or leading colons.

@pjh5 /usr/local/lib/libcaffe2.so exists. /usr/local/lib/python2.7/site-packages/caffe2 does not exist, nothing under folder site-packages.

I fixed the colon issue, but got the same error again. I even tried to remove PYTHONPATH and LD_LIBRARY_PATH, but the error was same, interesting. Are PYTHONPATH and LD_LIBRARY_PATH useless?

@pjh5 from the runtime error trace log, it invoked:

@henryguyu can you paste that output as text or replace all of the '\n' characters with new lines?

Note: @miaoshuyu is also getting this on "caffe2+anaconda3+cmake3+vs2017"

@pjh5 just copied it as below, without format, sorry
RuntimeError: [enforce fail at db.h:206] db_. Cannot open db: /home/henry/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb of type lmdb Error from operator:
output: "dbreader_/home/henry/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb" name: "" type: "CreateDB" arg { name: "db_type" s: "lmdb" } arg { name: "db" s: "/home/henry/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb" } debug_info: "  File "", line 1, in \n  File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/kernelapp.py", line 469, in main\n    app.start()\n  File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/kernelapp.py", line 459, in start\n    ioloop.IOLoop.instance().start()\n  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/ioloop.py", line 162, in start\n    super(ZMQIOLoop, self).start()\n  File "/usr/lib/python2.7/dist-packages/tornado/ioloop.py", line 866, in start\n    handler_func(fd_obj, events)\n  File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper\n    return fn(*args, **kwargs)\n  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events\n    self._handle_recv()\n  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv\n    self._run_callback(callback, msg)\n  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback\n    callback(*args, **kwargs)\n  File "/usr/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper\n    return fn(*args, **kwargs)\n  File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/ipkernel.py", line 281, in dispatcher\n    return self.dispatch_shell(stream, msg)\n  File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/ipkernel.py", line 245, in dispatch_shell\n    handler(stream, idents, msg)\n  File "/usr/lib/python2.7/dist-packages/IPython/kernel/zmq/ipkernel.py", line 389, in execute_request\n    shell.run_cell(code, store_history=store_history, silent=silent)\n  File "/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2741, in run_cell\n    interactivity=interactivity, compiler=compiler)\n  File "/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2827, in run_ast_nodes\n    if self.run_code(code):\n  File "/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py", line 2883, in run_code\n    exec(code_obj, self.user_global_ns, self.user_ns)\n  File "", line 6, in \n    db_type='lmdb')\n  File "", line 8, in AddInput\n    db_type=db_type,\n  File "/usr/local/lib/python2.7/dist-packages/caffe2/python/model_helper.py", line 452, in TensorProtosDBInput\n    self, blob_out, batch_size, db, db_type, **kwargs)\n  File "/usr/local/lib/python2.7/dist-packages/caffe2/python/helpers/db_input.py", line 29, in db_input\n    db_type=db_type,\n  File "/usr/local/lib/python2.7/dist-packages/caffe2/python/core.py", line 2047, in \n    op_type, *args, **kwargs)\n  File "/usr/local/lib/python2.7/dist-packages/caffe2/python/core.py", line 2024, in _CreateAndAddToSelf\n    op = CreateOperator(op_type, inputs, outputs, **kwargs)\n"

@pjh5 by debug, the script failed at invoking below function

and the variable of args is:
<type 'tuple'>: ('\n\x10mnist_train_init\x12\xfa\n\x12Odbreader_/home/henry/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb\x1a\x00"\x08CreateDB*\x0f\n\x07db_type"\x04lmdb*L\n\x02db"F/home/henry/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdbR\xbb\t  File "/home/henry/eclipse/plugins/org.python.pydev.core_<IP_ADDRESS>803171248/pysrc/pydevd.py", line 1621, in \n    main()\n  File "/home/henry/eclipse/plugins/org.python.pydev.core_<IP_ADDRESS>803171248/pysrc/pydevd.py", line 1615, in main\n    globals = debugger.run(setup['file'], None, None, is_module)\n  File "/home/henry/eclipse/plugins/org.python.pydev.core_<IP_ADDRESS>803171248/pysrc/pydevd.py", line 1022, in run\n    pydev_imports.execfile(file, globals, locals)  # execute the script\n  File "/home/henry/eclipse-workspace/20180319.1857/caffe2/MNIST.py", line 319, in \n    db_type='lmdb')\n  File "/home/henry/eclipse-workspace/20180319.1857/caffe2/MNIST.py", line 144, in AddInput\n    db_type=db_type...

is there  way to let the function give more error information? It just threw an exception but with little usefule information.

@pjh5 btw, I can run Basic demo under /caffe2/python/tutorials successfully. I think the only difference is the lmdb, right?

@henryguyu see #2439 for why Caffe2 is on pytorch now.

does anyone have coped with this problem? I am also facing this bug and i do not find a solution, though i have tried all the methods above.

@lingeo what is
which python
which pip
which conda
python -c 'import sys; print(sys.path)'
python -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())'
pip freeze | grep db
conda list db

@pjh5 I'm also faced with the same problem.
My terminal output is
<hostname>:~$ which python
/home/squall/anaconda3/bin/python
<hostname>:~$ which pip
/home/squall/anaconda3/bin/pip
<hostname>:~$ which conda
/home/squall/anaconda3/bin/conda
<hostname>:~$ python -c 'import sys; print(sys.path)'
['', '/home/squall/anaconda3/lib/python36.zip', '/home/squall/anaconda3/lib/python3.6', '/home/squall/anaconda3/lib/python3.6/lib-dynload', '/home/squall/anaconda3/lib/python3.6/site-packages', '/home/squall/anaconda3/lib/python3.6/site-packages/mp18_project_skeleton-0.1-py3.6.egg', '/home/squall/anaconda3/lib/python3.6/site-packages/ujson-1.35-py3.6-linux-x86_64.egg', '/home/squall/anaconda3/lib/python3.6/site-packages/opencv_python-<IP_ADDRESS>-py3.6-linux-x86_64.egg', '/home/squall/anaconda3/lib/python3.6/site-packages/coloredlogs-9.0-py3.6.egg', '/home/squall/anaconda3/lib/python3.6/site-packages/humanfriendly-4.10-py3.6.egg', '/home/squall/anaconda3/lib/python3.6/site-packages/torchvision-0.2.0-py3.6.egg']
<hostname>:~$ python -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())'
/home/squall/anaconda3/lib/python3.6/site-packages
<hostname>:~$ pip freeze | grep db
lmdb==0.94
pyodbc==4.0.22
<hostname>:~$ conda list db
# packages in environment at /home/squall/anaconda3:
#
# Name                    Version                   Build  Channel
dbus                      1.12.2               hc3f9b76_1
lmdb                      0.94                      <pip>
pyodbc                    4.0.22           py36hf484d3e_0
unixodbc                  2.3.4                hc36303a_1

Could you give me some suggestions? Thanks in advance!

@krumo how did you install Caffe2?

@pjh5 I installed caffe2 through Anaconda's pre-built binaries, with GPU support.

@pjh5 I also installed caffe2 through Anaconda2's pre-build binaries, with cuda 9, cudnn7, and i test the function of creating lmdb files by caffe successfully.

I've got the same problem - pre-built binaries on Anaconda3 with cuda 9, cudnn7.
Interesting side note, I also couldn't import lmdb when trying the CIFAR10 tutorial.
conda install lmdb did not solve this problem.
I had to use pip install lmdb instead.
I was able to create the lmdb databse entries, but when it came to running everything went wrong and I got the same error message.


[bugfix](jdbc catalog)fix catalog connections not released

Proposed changes
Issue Number: close #27263
refer to https://github.com/alibaba/druid/wiki/连接泄漏监测

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

#27263

Why adding this, this may impact the performance

Yes, a user wants to set up this test, so the connection pool configuration needs to be provided to the user, should we put the connection pool configuration into the catalog properties?

#28300


Fixing #2372 (Using sumary instead of xmldoc on signature requests)

This pr fixes #2372.
It uses the xml summary instead of the whole xmldoc if a summary exists, if it does not, it falls back to the whole documentation.

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

thanks. Can you add a test for this?

Sorry, I forget to ping you back, but I did add a test.

Replaced by #2392


Add pid of stream "creator" and "owner"

I am proposing we add, in ImageStruct.h, two fields that stores the pid for the process that creates the stream and the pid that owns the stream. Note that there is already a creation time.
This will allow tracking who creates streams. The own pid enables a "purge pid streams" function where all streams owned by a process are destroyed. A purge-all function would destroy all streams for which the owner is no longer running.
Initially, creator and own pid would be both set to the pid that creates the stream. ownership can then be transferred.
Setting own_pid to 1 (the init process) will ensure the stream is immune from the purge-PID operation.
IMAGESTRUCT_VERSION will be incremented.

If one of the write-PID entries is still active, the stream would be immune from purge. A stream would be destroyed by a purge operation only if (1) its owner is dead, and (2) all of the writers on the stream are dead.

implemented in IMAGESTRUCT_VERSION v1.0


Text Speed is instant after first expires 1.4.5

Don't know if I'm missing something but I can't seem to find anything online or in the documentation about this
Everything past the first text event seems to no longer scroll the text but displays in instantly as if speed was set to 0 regardless of what the theme speed or custom line speed I set is. The first text event seems to work normally.
I have just started with dialogic so I'm not sure if I'm missing something obvious.
Edit: it appears It behaves as I expect it should when I create a blank project and install just dialogic, perhaps it's a project setting thing?

Leaving this


Add ability to take plain text file as input

It would be nice if the script took a guess at what the input file type was based on the extension, and was able to handle plain text files. Other than determining where chapter breaks might be so as to cut this up into small enough chunks for Coqui-TTS, this should be pretty easy to implement.

You're right, that would be handy, but this is a script for ePub files .. i created an ePub file from a normal text by using Libre Office (on Linux) and exporting to ePub, simple.

You are correct that the original intent was to handle epub files, but I've realized I also have some very long articles from the web that I would like to have turned into audiobooks, so being able to throw a .txt file at it would be pretty nice.


getFlattenedFields does not correctly handle alias for grouped expressions

[ ] Feature
[x] Bug

Description
SELECT AccountId, MAX(Account.CreatedDate) AcctCreatedDate
FROM Contact
GROUP BY AccountId

Actual:
['AccountId', 'Account.CreatedDate']
Expected:
['AccountId', 'AcctCreatedDate']
Salesforce Query Result
{
  "attributes": {
    "type": "AggregateResult"
  },
  "AccountId": "0016g00000ETu0MAAT",
  "AcctCreatedDate": "2020-02-28T03:00:31.000+0000"
}

resolved by 92bd9e17593eec3e08d784996a67a4e05a0b5f51

resolved by 92bd9e17593eec3e08d784996a67a4e05a0b5f51


Add std.range.tail

Forum thread:
<EMAIL_ADDRESS>Differences from Andrei's suggestion:

Returns Range, not TakeExactly!Range - the end of the resulting range is always the same as the input so this checks out and is a useful artifact.
Supports non-forward ranges when hasLength.
Rejects infinite ranges.

I thought tail was clever so I named it that, but I'll happily change it to the originally proposed advanceWithin if people want that.

@MetaLang, I missed your comment, but the answer is probably: checking both for empty and comparing length with n is probably more work than necessary in most cases. It is assuming that empty is not significantly cheaper than length. Also, most calls are probably on non-empty ranges? BTW, I've found that deleting a comment can really confuse email users!

Yes, I realized this just after I posted the comment so I deleted it.

LGTM.
I like tail better than advanceWithin; instantly makes sense to posix users.

The idea behind TakeExactly is to provide extra information to the user. The length of the result is already computed so it's more informative to make it part of the result. Otherwise that information is lost.

The current implementation is cute, but is it any different from the following?
immutable length = range.walkLength; // note: O(1) when range has length
auto tail = range.drop(n > length? length - n : 0); // note: O(1) when range has slicing

Other than that, LGTM.

Fixed.
Reimplementing this in user code requires at least one variable which makes it tedious for range composition, so even if the implementation offers no significant advantage in terms of performance or range capabilities (both input and output), I think it's worth having. However, I think the current branch for !hasLength!Range in the current implementation might offer some marginal improvement in edge cases (for one it's not limited by size_t unlike drop) and it's nice and short, so I think it's probably fine as-is.

I think I should add a path for bidirectional ranges with length.
What about bidirectional ranges without length, though? Should we assume the beginning of the tail is closer to the end than the beginning?

Should we assume the beginning of the tail is closer to the end than the beginning?

I'd say that that's a pretty safe assumption.

When n is more or less constant, the beginning of the tail moves proportionally closer to the end of the range as the number of elements in the range grows. That's pretty good for iterating from the back.
If n is calculated with the length of the range, we can experience the opposite, which is not good. However, this is probably a mistaken use of tail - stuff like drop should be used instead.
When n is not constant but calculated unrelated to the length of the range, then it cannot be known whether iterating from the front or iterating from the back is better.
So I guess iterating from the back is the slightly better choice overall.

Erm, iterating from the back is not readily possible. Not sure what I was thinking.

Erm, iterating from the back is not readily possible. Not sure what I was thinking.

If you add the ability to make n a template argument you could.

How so?

You could allocate a static array as a buffer ElementType!Range[n] buff for what ever you get off the end.

E[n] buffer;
auto remainder = range.retro.take(n).copy(buffer[].retro);
auto result = buffer[remainder.length .. $];

Whether or not this is appropriate for a standard library function aside, I think it's inappropriate for tail for a number of reasons, primarily because the return type would have to work like only and carry all its elements in-place, which is fundamentally different from what tail does now.

@quickfur @andralex This looks good to go from people's comments.

ping @andralex
Is this OK to merge? Are the objections you raised about using TakeExactly still blocking this PR, or the explanation is good enough?

Oh, I forgot to mention that the implementation does use takeExactly now. I think there are benefits to either side.
I haven't linked this to an issue report yet.

would a manual changelog entry be preferable?

I think so

Auto-merge toggled on

For symmetry I truly feel that front() now should have an extra size argument aswell. What do you say?

@nordlow, what do you mean? The front version of tail(n) is take(n).

@nordlow that won't work. Some ranges define front property-style, with a getter and setter overloads.

@andralex Ok.


findDOMNode was called on an unmounted component

We're using react-visibilty-sensor to animate pictures on our home page, and we use https://sentry.io to monitor errors on client side.
We've got multiple reports on the following issue: "Invariant Violation: findDOMNode was called on an unmounted component"
This happens in visibility-sensor.js, there:
  /**
   * Check if the element is within the visible viewport
   */
  check: function () {
    var el = ReactDOM.findDOMNode(this);
    var rect;
    var containmentRect;

(on Chrome mobile 56.0.2924)
I can't reproduce on my computer, but looks related to the tabs "Je suis propriétaire / Je suis acquéreur".
What I understand from your code is that at the end there's no real issue, because if you can't find the node you do nothing. But that warning is a bit annoying.
I presume the issue comes from a last check() call by "debounceCheck", because you don't clear the setTimeout l.21 on stopWatching

Thanks for the report @vcarel - I'll have a go at reproducing, I think you're on the right track about the cause.

Yup, found the bug as well, will push a fix asap

Same issues, May I know when the fix is going to be merged?


SSDT ERROR

https://github.com/5T33Z0/OC-Little-Translated/blob/main/04_Fixing_Sleep_and_Wake_Issues/060D_Instant_Wake_Fix/i_Common_060D_Patch/SSDT-XPRW.dsl
"""
If (_OSI ("Darwin")){
"""
it must stand after the Method in this case.
Use standard GPRW or UPRW SSDT.
SSDT-GPRW.dsl.zip
SSDT-UPRW.dsl.zip

https://github.com/5T33Z0/OC-Little-Translated/blob/main/04_Fixing_Sleep_and_Wake_Issues/060D_Instant_Wake_Fix/i_Common_060D_Patch/SSDT-PRW0.dsl.
SSDT-PRW0 correction

Added
"" "
Scope ()
"" "

Thanks, I'll add the scope. It has been working fine without it on my Laptop for months now, though.

https://github.com/5T33Z0/OC-Little-Translated/blob/main/04_Fixing_Sleep_and_Wake_Issues/060D_Instant_Wake_Fix/i_Common_060D_Patch/SSDT-XPRW.dsl
""" If (_OSI ("Darwin")){ """
it must stand after the Method in this case.
Use standard GPRW or UPRW SSDT.
SSDT-GPRW.dsl.zip
SSDT-UPRW.dsl.zip

Do you mean, like this:
DefinitionBlock("", "SSDT", 2, "5T33Z0", "XPRW", 0)
{
    External (XPRW, MethodObj)

Method (GPRW, 2)
    {
        If (_OSI ("Darwin"))
        {
            If (0x6d == Arg0) { Return (Package() { 0x6d, 0, }) }
            If (0x0d == Arg0) { Return (Package() { 0x0d, 0, }) }
            Return (XPRW (Arg0, Arg1))
        }

Method (UPRW, 2)
    {
        If (_OSI ("Darwin"))
        {
            If (0x6d == Arg0) { Return (Package() { 0x6d, 0, }) }
            If (0x0d == Arg0) { Return (Package() { 0x0d, 0, }) }
            Return (XPRW (Arg0, Arg1))
        }
    }
  }
}

Thanks, I'll add the scope. It has been working fine without it on my Laptop for months now, though.

That you say is correct, see example SSDT-XOSI does not have Scope, so it is automatically inserted under (), which is the primary Scope.

So I have changed it for no reason now…
After the changes in SSDT-XPRW I get a warning now: "Not all Control paths return a value"
Is that a problem?

Use this file , do not change this is already okay, the 2 SSDTs are independent it is right to make them available individually
SSDT-GPRW.dsl.zip
SSDT-UPRW.dsl.zip


Purchase Module expecting more variables

Version of react-native-iap
"react-native-iap": "^4.0.0-rc9",
Version of react-native
60
Platforms you faced the error (IOS or Android or both?)
Android and Ios
Expected behavior
Purchase module opens and confirms purchase
Actual behavior
app crashes expecting more variables
Tested environment (Emulator? Real Device?)
Real device
Steps to reproduce the behavior
npm install "react-native-iap": "^4.0.0-rc9", build project
refer to issue
https://github.com/dooboolab/react-native-iap/issues/760
and take steps.
While invoking the function

It throws this error

Please give me steps to pass the bug.

rc9 ~ rc11 aren't recommended to use since there were some bugs during deploying. Please try other versions.


Jest 15.0 upgrade guide should mention moduleFileExtensions

The guide https://facebook.github.io/jest/blog/2016/09/01/jest-15.html is very helpful when upgrading to Jest 15.0.
However, we used quite some time debugging to figure out why our tests where not being found when we converted:
-  "testPathDirs": [
-    "./src"
-  ],
-  "testFileExtensions": [
-    "js",
-    "ts",
-    "tsx"
-  ]
+  "testPathDir": "<rootDir>/src/"
+  "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(js|ts|tsx|json|node)$",

Turns out we also needed "moduleFileExtensions": ["ts", "tsx", "js"] to include ts/tsx-files.
Consider adding it to the guide, and also consider adding it to the config-parsing errors for old configs.

thanks @LasseNisted. Would you mind sending us a PR that updates the blog post? And potentially a second one that updates the error message? It should be in this file: https://github.com/facebook/jest/blob/master/packages/jest-config/src/normalize.js

I'm gonna close this out due to inactivity. We updated the docs for this and will soon drop these messages (probably in Jest 17 or so).