[Bug] properties for events to be generated do not seem to have an impact anymore

The properties that define which event get generated do not seem to have an impact anymore. All events seem to be captured regardless of the property. E.g. even though my config looks like below all events get captured (tested: insert, update, delete, truncate).
timescaledb.hypertables.excludes = []
timescaledb.hypertables.includes = ['public.event_table']
timescaledb.events.read = false
timescaledb.events.insert = false
timescaledb.events.update = false
timescaledb.events.delete = false
timescaledb.events.truncate = false
timescaledb.events.message = false
timescaledb.events.compression = false
timescaledb.events.decompression = false

postgresql.tables.excludes = []
postgresql.tables.includes = []
postgresql.events.read = false
postgresql.events.insert = false
postgresql.events.update = false
postgresql.events.delete = false
postgresql.events.truncate = false
postgresql.events.message = false

Versions:

postgresql: 14
timescaledb: 2.11.2
timescaledb-event-streamer: 0.10.0

Which version, 0.10.0? 🤔

I think it actually never worked 🤔

seems so. I also tested it with 0.9.2, same behaviour

Release finished. Thanks for the bug report 🙏

Nice, thanks for your work! :)


addSidebarContentPanel: Failed to find element with selector

This is the error I get when first loading a threadview, implementing the example code on this repo. subsequent visits to a thread view produce the same error, but the selector it is looking for is different with each thread
my implementation:
sdk.Conversations.registerThreadViewHandler(threadView => {
      console.log("InboxSDK.registerThreadthreadViewHandler");
      const el = document.createElement("div");
      el.innerHTML = 'Hello world!';

      threadView.addSidebarContentPanel({
        iconUrl: chrome.runtime.getURL('images/icon_48.png'),
        title: "This was created by InboxSDK",
        el
      })
    })

platform-implementation.js:80 Error logged: Error: Failed to find element with selector: .J-KU-Jz
    at r (platform-implementation.js:104)
    at e.value (platform-implementation.js:92)
    at new e (platform-implementation.js:92)
    at e.value (platform-implementation.js:93)
    at t.value (platform-implementation.js:110)
    at content-classes.js? [sm]:1006
    at i (platform-implementation.js:105)
    at e.value (platform-implementation.js:105)
    at e.value (platform-implementation.js:105)
    at eval (platform-implementation.js:108)
    at m (platform-implementation.js:42)
    at _.dispatch (platform-implementation.js:42)
    at Ue._emitValue (platform-implementation.js:42)
    at Ue._handleSubAny (platform-implementation.js:43)
    at Oe._$handleSubAny (platform-implementation.js:42)
    at m (platform-implementation.js:42)
    at Object._on (platform-implementation.js:42)
    at Object.onAny (platform-implementation.js:42)
    at Ue._addToCur (platform-implementation.js:43)
    at Ue._add (platform-implementation.js:43)
    at Ue._handleMain (platform-implementation.js:43)
    at Ue._$handleMain (platform-implementation.js:42)
    at m (platform-implementation.js:42)
    at _.dispatch (platform-implementation.js:42)
    at Object._emitValue (platform-implementation.js:42)
    at Object._handleValue (platform-implementation.js:42)
    at Object._handleAny (platform-implementation.js:42)
    at _$handleAny (platform-implementation.js:42)
    at m (platform-implementation.js:42)
    at _.dispatch (platform-implementation.js:42)
    at Object._emitValue (platform-implementation.js:42)
    at Object._handleValue (platform-implementation.js:42)
    at Object._handleAny (platform-implementation.js:42)
    at _$handleAny (platform-implementation.js:42)
    at m (platform-implementation.js:42)
    at _.dispatch (platform-implementation.js:42)
    at Object._emitValue (platform-implementation.js:42)
    at Object._handleValue (platform-implementation.js:42)
    at Object._handleAny (platform-implementation.js:42)
    at _$handleAny (platform-implementation.js:42)

Original error stack:
Error: Failed to find element with selector: .J-KU-Jz
    at r (https://www.inboxsdk.com/build/platform-implementation.js:104:24019)
    at e.value (https://www.inboxsdk.com/build/platform-implementation.js:92:30218)
    at new e (https://www.inboxsdk.com/build/platform-implementation.js:92:29058)
    at e.value (https://www.inboxsdk.com/build/platform-implementation.js:93:14291)
    at t.value (https://www.inboxsdk.com/build/platform-implementation.js:110:23036)
    at chrome-extension://cjjlddlimmfkolnhphnohilankffhfbo/build/content-classes.js:985:18
    at i (https://www.inboxsdk.com/build/platform-implementation.js:105:5662)
    at e.value (https://www.inboxsdk.com/build/platform-implementation.js:105:7168)
    at e.value (https://www.inboxsdk.com/build/platform-implementation.js:105:6749)
    at eval (https://www.inboxsdk.com/build/platform-implementation.js:108:22007)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1606)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Ue._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Ue._handleSubAny (https://www.inboxsdk.com/build/platform-implementation.js:43:3573)
    at Oe._$handleSubAny (https://www.inboxsdk.com/build/platform-implementation.js:42:11261)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at Object._on (https://www.inboxsdk.com/build/platform-implementation.js:42:19352)
    at Object.onAny (https://www.inboxsdk.com/build/platform-implementation.js:42:16812)
    at Ue._addToCur (https://www.inboxsdk.com/build/platform-implementation.js:43:2939)
    at Ue._add (https://www.inboxsdk.com/build/platform-implementation.js:43:2433)
    at Ue._handleMain (https://www.inboxsdk.com/build/platform-implementation.js:43:5849)
    at Ue._$handleMain (https://www.inboxsdk.com/build/platform-implementation.js:42:11936)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Object._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Object._handleValue (https://www.inboxsdk.com/build/platform-implementation.js:42:24408)
    at Object._handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:5036)
    at _$handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:4774)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Object._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Object._handleValue (https://www.inboxsdk.com/build/platform-implementation.js:42:24606)
    at Object._handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:5036)
    at _$handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:4774)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Object._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Object._handleValue (https://www.inboxsdk.com/build/platform-implementation.js:42:24408)
    at Object._handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:5036)
    at _$handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:4774)

Error logged from:
    at o (https://www.inboxsdk.com/build/platform-implementation.js:80:26966)
    at u (https://www.inboxsdk.com/build/platform-implementation.js:107:7631)
    at Function.value (https://www.inboxsdk.com/build/platform-implementation.js:107:13053)
    at i (https://www.inboxsdk.com/build/platform-implementation.js:105:5686)
    at e.value (https://www.inboxsdk.com/build/platform-implementation.js:105:7168)
    at e.value (https://www.inboxsdk.com/build/platform-implementation.js:105:6749)
    at eval (https://www.inboxsdk.com/build/platform-implementation.js:108:22007)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1606)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Ue._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Ue._handleSubAny (https://www.inboxsdk.com/build/platform-implementation.js:43:3573)
    at Oe._$handleSubAny (https://www.inboxsdk.com/build/platform-implementation.js:42:11261)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at Object._on (https://www.inboxsdk.com/build/platform-implementation.js:42:19352)
    at Object.onAny (https://www.inboxsdk.com/build/platform-implementation.js:42:16812)
    at Ue._addToCur (https://www.inboxsdk.com/build/platform-implementation.js:43:2939)
    at Ue._add (https://www.inboxsdk.com/build/platform-implementation.js:43:2433)
    at Ue._handleMain (https://www.inboxsdk.com/build/platform-implementation.js:43:5849)
    at Ue._$handleMain (https://www.inboxsdk.com/build/platform-implementation.js:42:11936)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Object._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Object._handleValue (https://www.inboxsdk.com/build/platform-implementation.js:42:24408)
    at Object._handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:5036)
    at _$handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:4774)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Object._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Object._handleValue (https://www.inboxsdk.com/build/platform-implementation.js:42:24606)
    at Object._handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:5036)
    at _$handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:4774)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)
    at Object._emitValue (https://www.inboxsdk.com/build/platform-implementation.js:42:16232)
    at Object._handleValue (https://www.inboxsdk.com/build/platform-implementation.js:42:24408)
    at Object._handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:5036)
    at _$handleAny (https://www.inboxsdk.com/build/platform-implementation.js:42:4774)
    at m (https://www.inboxsdk.com/build/platform-implementation.js:42:1573)
    at _.dispatch (https://www.inboxsdk.com/build/platform-implementation.js:42:15574)

Extension App Ids: [
  {
    "appId": "sdk_XXX"
  }
]
Sent by App: false
Session Id:<PHONE_NUMBER>329-0.4598097815510951
Extension Id: chrome-extension://cjjlddlimmfkolnhphnohilankffhfbo/
InboxSDK Loader Version: 0.7.24-1484787998857-c248fbb55be579d3
InboxSDK Implementation Version: 0.7.24-1525481997680-ebf8ca812763a37d
Is Using Sync API: false
Is Using Material Gmail UI: false

Do you still get this error? Gmail has been changing the sidebar a lot because of add-ons lately and we've been continuously updating since then, so it may have been fixed in the meantime. If not, I'm really interested in hearing about this. I'm going to mark the issue closed since I think it's very likely the problem has been fixed in the meantime, but don't hesitate to respond.

@Macil Still getting this error when we hit registerThreadViewHandler . Error details: {reason: "waiting for user account switcher", switcherHTML: Array(0)}


enh: Use the responses library to mock GPT response

When using the mock flag, use the responses library to mock the OpenAI response instead of needing to check the flag in the logic.py file

Closed by #85


"The code generator has deoptimised the styling of", with preset stating "compact: true"

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
When building Docusaurus (2, rc1)...
The log gets spammed with:
The code generator has deoptimised the styling of errors for large files.
This is odd, as the default babel.config.js gets applied:
module.exports = {
  presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};

The preset code I found, indicates that Docusaurus enforces:
compact: true
Which should mean the above error should never appear, yet it does?
Reproducible demo
No response
Steps to reproduce

Have big md files with lots of html code
Build docusaurus

Expected behavior
Afaik it should not throw this warning and compact big files as well
Actual behavior
Throws above warning
Your environment

Public source code:
Public site URL:
Docusaurus version used:
Environment name and version (e.g. Chrome 89, Node.js 16.4):
Operating system and version (e.g. Ubuntu 20.04.2 LTS):

Self-service

[X] I'd be willing to fix this bug myself.

This is working as expected—the code generator cannot possibly optimize huge files because it would require too much memory. Without a reproduction or the detailed error message I cannot tell you where the limit lies, but the limit is always there. There's nothing done specially by Docusaurus. We have huge files (the CHANGELOG.md) and the compiler is de-optimizing it as well. That's just part of the normal build toolchain.
Unless more information is provided about how that tangibly creates problems and more importantly how Docusaurus is actually involved in this process (remember we delegate a lot of the building process to external tools like Babel, Webpack, PostCSS, and Terser), I'm going to close this as wontfix.

(I see you are pointing to compact: true, but I'm pretty sure it's done by MDX, not Babel. Last time I investigated, MDX v1 has its own Babel tooling to transform the MD documents, and that one is tangential from our config.)

(I see you are pointing to compact: true, but I'm pretty sure it's done by MDX, not Babel. Last time I investigated, MDX v1 has its own Babel tooling to transform the MD documents, and that one is tangential from our config.)

Thank you, that explains why it states to be a babel error, yet that error is not possible with the preset given on the main babel instance.. :)

MDX is doing a lot of Babel stuff under the hood. This is removed in MDX v2. We'll hopefully be migrating to MDX v2 in Docusaurus v3 (see #4029), at which time we can re-experiment with large files.


Fix image overflow when media screen is too small

The awesome octocat image is lit' bit "rare" (in size)!
When the screen width is too small (e.g. view in mobile device), the image will overflow and makes the page scrollable. This should not happen.
To fix this, I make the img becomes max-width: 100%; when media screen is below 992px. 992px is Medium Devices Desktops in Bootstrap. Hopefully only 1 line of css for this break-point is not too rare.
p.s. Put the line in max-width: 480px is not enough. And, for medium devices, fixing a certain width for images may be too small. That's why I make it 100%.

FYI, I also make a pull request in pages-themes/slate.

👍  Thanks


Code format stopped working

From @Sampo123 on May 24, 2016 13:32

VSCode Version: 1.0.0
OS Version: Debian Jessie

Steps to Reproduce:
Really hard to say once again. Everything was fine for a week or so but then the code format just does nothing.  Also seems to start with random indentation time to times when for example { is added and enter pressed.
Only error I got from the developer console is this:
/usr/share/code/resources/app/node_modules/vscode-textmate/release/main.js:1232
Grammar is in an endless loop - case 1
I know that these reports without real "how to reproduce" are sometimes a bit useless but just reporting so that somebody could help or take a note.
Copied from original issue: Microsoft/vscode#6801

From @aeschli on May 24, 2016 14:29
With what languages are you see this?
When format stops working, are other features still doing fine? E.g. Code completion, hovers....

@Sampo123 can you reproduce the formatting problem locally. If so can you please do the following.

enable TS/JS logging via the setting:

{
	"typescript.tsserver.trace": "messages"
}

open the JS showing the behavior
Bring Output view to front
switch to channel typescript
format the file
attach the output to this issue.

From @Sampo123 on May 24, 2016 17:23
I'm using it with JavaScript. Intellisense and everything else are pretty much fine and even error checking works at normal level. Just the format stopped working. Only other noteworthy thing  is that VS Code seems to be bit off with indentation also at some points. Like when adding a curly bracket at the end of the line and then the cursor is between the curly brackets and I press enter it indents the bracket even though it kind of should not. But this does not seem to happen always.
Is the error message any related? Could there be some debug flag or something that I could enable and see some explanation why nothing is happening when I try to format the code?

From @aeschli on May 25, 2016 7:10
The error message is likely not related, but also very interesting. To find out more about it we would need the content of the file at that time.

From @OldrichDlouhy on May 25, 2016 10:33
I am getting the same issue with editing typescript ts and tsx files. Restarting the VS Code helps in some cases.
This is the text from the Output view:
Sending request: quickinfo (5255). Response expected: yes. Current queue length: 0
Response received: quickinfo (5255). Request took 26 ms. Success: false . Message: No content available.
Sending request: definition (5256). Response expected: yes. Current queue length: 0
Response received: definition (5256). Request took 27 ms. Success: false . Message: No content available.
Sending request: format (5257). Response expected: yes. Current queue length: 0
Response received: format (5257). Request took 4 ms. Success: false . Message: Error processing request. Debug Failure. False expression:

Actually I looks like the tsserver 'lost' the content of the file.

From @Sampo123 on May 25, 2016 7:54
Hey,
Thanks for your replies. I'll do that and get back to you this evening. I'm on other projects today so I'll need to do this when I get off so I'll try to get back to you later today, like in 7 hours or so :)

From @leegee on June 9, 2016 10:12
Format Code often stops working here, on JavaScript.
Version info attached (would be nice if that dialog had text that could be clipboarded).
Doesn't work at all on the Insiders build (at least yesterday): says the extension is out of date, so I no longer use Insiders.

From @Sampo123 on May 27, 2016 7:5
Same kind of behavior here as OldrichDlouhy said. It seems to have gone away for now. I'll get back when it comes back as it seems to be recurring problem.

@Sampo123 when you see the bahaviour could you please provide a trace as well to ensure it is the same root cause.

According to the trace this is a problem in the tsserver. Moving to the TS team.
@Sampo123 could you still provide the trace so that we can ensure your behaviour is caused by the same root cause

Please ping me if you need more details/testing [UTC+0200).

@leegee do you have a repro procedure / sample code that can help me find the source of the issue quickly? As this issue seems to be happening occasionally.

Sorry, not really, or I would have posted it.
I've just had another look using both Insiders and ...outsiders... and both work and don't work.
They both work when I open a directory with less content, and both fail on a directory with lots more content.
Whether or not that is the only difference, or even related, I do not know.
Both directories use a jsconfig.json like this:
{
	// See http://go.microsoft.com/fwlink/?LinkId=759670
	// for the documentation about the jsconfig.json format
	"compilerOptions": {
		"target": "es6"
	},
	"exclude": [
		"node_modules",
		"tmp",
		"temp",
        "src/bower_components",
        "gulp-tasks",
        "reports",
        ".git",
        "system-menu"
	]
}

The directory with less files, where code-formatting works, in is a sub-directory of the other directory, where code-formatting fails. Removing the sub-dirs config makes no difference to formatting.
Please let me know if there is something you'd like me to try.

When code formatting stops, IntelliSense also stops.

@leegee @Sampo123 Can you try using the nightly version of typescript with VSCode? Because recently we start to print the stack if the server crashes. And keep "typescript.tsserver.trace" as "messages" or "verbose", then if the issue occurs, paste the output panel content (would really help if it contains the stack trace info).
Also, did you see that happen when adding / removing files to the project folder? Or git switch branches that adds / removes files?

I had the same problem but it disapeared after I exclude node_modules dir in .vscode/settings.json and jsconfig.json.

@titonobre That case is be design, because otherwise too many .js files would be included in the project implicitly. A recent change added a default upper limit of 20 MB for the non-ts file size in a project for that case. In VSCode you should see a light bulb tip in the bottom left that hinting on excluding the node_modules folder.

I've always limited my code the correct way, I think.
I've not seen this bug for the past few days, but I'm a bit tied up in some
refactoring atm, but after than I will test a little more and report back.
On 19 June 2016 at 03:44, Zhengbo Li<EMAIL_ADDRESS>wrote:

@titonobre https://github.com/titonobre That case is be design, because
otherwise too many .js files would be included in the project implicitly. A
recent change added a default upper limit of 20 MB for the non-ts file size
in a project for that case. In VSCode you should see a light bulb tip in
the bottom left that hinting on excluding the node_modules folder.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/TypeScript/issues/9072#issuecomment-226976130,
or mute the thread
https://github.com/notifications/unsubscribe/AAfTMOglm5KovxRWq-o2emCcuZNkgp4wks5qNK0NgaJpZM4IyxrA
.

I am no longer having any issues with js formatting. Thank you!
On Mon, 20 Jun 2016, 11:41 Lee Goddard<EMAIL_ADDRESS>wrote:

I've always limited my code the correct way, I think.
I've not seen this bug for the past few days, but I'm a bit tied up in
some refactoring atm, but after than I will test a little more and report
back.
On 19 June 2016 at 03:44, Zhengbo Li<EMAIL_ADDRESS>wrote:

@titonobre https://github.com/titonobre That case is be design,
because otherwise too many .js files would be included in the project
implicitly. A recent change added a default upper limit of 20 MB for the
non-ts file size in a project for that case. In VSCode you should see a
light bulb tip in the bottom left that hinting on excluding the
node_modules folder.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/TypeScript/issues/9072#issuecomment-226976130,
or mute the thread
https://github.com/notifications/unsubscribe/AAfTMOglm5KovxRWq-o2emCcuZNkgp4wks5qNK0NgaJpZM4IyxrA
.

This looks fixed in latest. @Sampo123 please reopen if this issue still occurs.

I thought it was working, but should it not format the below?
$scope.enterPressed = function() {
if((!$scope.inputText) || ($scope.inputText.length === 0)) return;
var found = false;
for(var i = 0, length = $scope.mainMenuItems.length; i < length; ++i) {
var item = $scope.mainMenuItems[i];
if($scope.inputText.toLowerCase() === item.text.toLowerCase()) {
monitor.openMonitorById(item.value);
found = true;
break;
}
}
if(!found) {
monitor.openMonitor($scope.msg.openMonitor.toUpperCase(), $scope.inputText);
}
};

Hmmm. @leegee  This is what I got using your code:

I am using the same commit of VSCode as you, and I'm using the typescript version that comes with it as well.

What can I say?
How did you record the animation?
On Wed, 29 Jun 2016, 18:14 Zhengbo Li<EMAIL_ADDRESS>wrote:

Hmmm. @leegee https://github.com/leegee This is what I got using your
code:
[image: gif]
https://cloud.githubusercontent.com/assets/1171301/16461578/0e6b2784-3de2-11e6-93fb-c06ef6a82312.gif
I am using the same commit of VSCode as you, and I'm using the typescript
version that comes with it as well.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/TypeScript/issues/9072#issuecomment-229424274,
or mute the thread
https://github.com/notifications/unsubscribe/AAfTMAoTCIs3YpDfNCiX2tD_DMFMGKooks5qQqfogaJpZM4IyxrA
.

I used GifCam.
If you set the settings to
"typescript.tsserver.trace": "verbose"

Would you see exception & trace information in your output panel, TypeScript channel?


Review of all tutorials

This is looking amazing - both the presentation and the content. Everyone should use JuDoc.jl!
Here are some mostly minor comments, referenced by page:
https://alan-turing-institute.github.io/MLJTutorials/pub/getting-started/fit-and-predict.html

[ ] It looks like you lowered the SHOW_DEPTH for MLJType objects so that
models don't show their hyperparemeter values. Or something like
that. Personally I like to see this information. I suppose this is
to declutter the tutorial?, which I guess is okay.

[x] To inspect the fitresult the general user should use
fitted_params(tree) rather than tree.fitresult. The former is
meant to be a user-friendly named-tuple version of the learned
parameters, while fitresult may, as you know, contain other stuff,
like categorical value encoding.

https://alan-turing-institute.github.io/MLJTutorials/pub/getting-started/model-tuning.html

[x] The statement, "You can either manually specify an iterator over
values by using the values= keyword or, where appropriate, use the
lower and upper keywords which help define such an iterator between
bounds." might need tweaking. If the current machine type of the
hyperparameter is <:Real, then lower and upper bounds must be
specified. Specifying values instead is only for all other cases.

[x] typo: "Specifying a range of value" should be "values"

[x] "Such a model has nested hyperparameters in that the ensemble has
hyperparameters (e.g. the :bagging_fraction) and the atom has
hyperparameters (e.g. :n_subfeatures or :max_depth)." I think it's
helpful here for the user to realize they can see the nested
hyperparameters, either by allowing the standard show for the
model (see previous comment) or by calling params(model).

[x] "Evaluation is as usual: evaluate(pipe, X, height,        resampling=Holdout(), measure=rms) |> pprint" I don't think
the model version of evaluate ) has been mentioned in preceding
tutorials, only the machine
version, evaluate!.

https://alan-turing-institute.github.io/MLJTutorials/pub/getting-started/learning-networks.html

[x] "you can specify if it's a target" -> "you should specify if it's a target"

[ ] I guess exporting a learning network as a new model type is a WIP. I
think it is important to state up-front that, to make them re-usable
(new data, new models), a learing network is just the first step; a
stand-alone composite model type can be defined, via an "export"
procedure. I have copped a lot of slack because people thought
learning networks were the whole story of model composition. The
model type defined by @pipeline is an example of the kind of
object exporting a learning network produces (and is indeed defined
that way internally).

https://alan-turing-institute.github.io/MLJTutorials/pub/end-to-end/AMES.html

[x] typo: "and the reduce version via @load_reduced_ames" reduce -> reduced

[x] "computing the mean of predictions ": add "(the mean function can be applied to an distribution from Distributions.jl)"

[x] In the definition of MLJ.fit(model::KNNRidgeBlend, X, y) one
should now return fitresults(ŷ) instead of ŷ. This is to
address an issue with traces of the training data appearing in
the fitresult, which is no good for sensitive data
applications. It also arranges for the reports of each machine
in the network to be collated into the report of the new
composite model. Also, one should (can?) include verbosity
as an argument, as in MLJ.fit(model::WrappedRidgeII,   	verbosity::Integer, X, y). This part of the current manual
has a few typos which I have fixed in MLJ 0.5.1.

https://alan-turing-institute.github.io/MLJTutorials/pub/end-to-end/crabs-xgb.html

[x] the title of this page is wrong

[x] "It's a classification problem with the following classes:
unique(y) |> pprint": Strictly speaking the classes should be
retrieved with levels(y), as there could be levels without
instances in the supplied data. Not an issue here but it is an issue
in subsampling and best to train the user to use this
alternative. levels is a CategoricalArrays method.

[x] Finicky: some sentences don't start with a capital letter :-)

Ha awesome, thanks I'll run through this bit by bit.
One early comment is that the printing/displaying of cell results with JuDoc is still a bit experimental, so for instance  I use PrettyPrinting.jl for named tuples so that it shows nicely on the page, but for MLJModels I've not yet looked into a better displaying of it so that you can see  what's in it. Interesting what you mention with the SHOW_DEPTH, I actually did not modify it but maybe that would be the solution 🤔

Ok I believe I've addressed  all comments but two:

the display for MLJModels (this will need a bit of thinking and experimenting on my side)
the bit about exporting network, I'll wait until that's converged a bit and maybe you give me a rough example script that I can flesh out and add to the tutorials

Thanks a lot for going through everything!

Note that MLJBase already overloads show for named tuples to make them print nicely. I'm still waiting to be accused of type piracy:-)
On 22/10/2019, at 10:07 PM, Thibaut Lienart<EMAIL_ADDRESS>wrote:
Ha awesome, thanks I'll run through this bit by bit.
One early comment is that the printing/displaying of cell results with JuDoc is still a bit experimental, so for instance I use PrettyPrinting.jl for named tuples so that it shows nicely on the page, but for MLJModels I've not yet looked into a better displaying of it so that you can see what's in it. Interesting what you mention with the SHOW_DEPTH, I actually did not modify it but maybe that would be the solution 🤔
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/alan-turing-institute/MLJTutorials/issues/6?email_source=notifications&email_token=AHI2OYHTSVFOHRJFSZA66S3QP27GFA5CNFSM4JDIYGJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB5BG3A#issuecomment-544871276, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHI2OYBWTJE5TJKF5TC6FWTQP27GFANCNFSM4JDIYGJQ.

Dr. Anthony Blaom
Mathematician
and Data Scientist
Auckland

Yes well it's actually difficult to know which show method is called and how:
julia> @load KNNClassifier;
julia> knn = KNNClassifier()
knn = KNNClassifier @ 2…03
KNNClassifier(K = 5,
              algorithm = :kdtree,
              metric = Distances.Euclidean(0.0),
              leafsize = 10,
              reorder = true,
              weights = :uniform,) @ 2…03

this calls @show (I think)
julia> @show knn
knn = KNNClassifier @ 2…03
KNNClassifier(K = 5,
              algorithm = :kdtree,
              metric = Distances.Euclidean(0.0),
              leafsize = 10,
              reorder = true,
              weights = :uniform,) @ 2…03

But I don't want to use @show (which shows the name of the var among other things), I want to use show() however if you use show...
julia> show(knn)
KNNClassifier @ 2…03

same if you use Base.show, Main.show or even MLJ.show.
So there's something to work out there and I haven't yet.

julia> m = KNNRegressor();
julia> show(stdout, MIME("text/plain"), m)
KNNRegressor(K = 5,
             algorithm = :kdtree,
             metric = Distances.Euclidean(0.0),
             leafsize = 10,
             reorder = true,
             weights = :uniform,) @ 4…95

You can also do show(m, 1). Note that show(m) is not the REPL show, you need the MIME business to mimic the REPL. What show(m) gives is what appears when an object is nested - or something like that:
julia> m
KNNRegressor(K = 5,
             algorithm = :kdtree,
             metric = Distances.Euclidean(0.0),
             leafsize = 10,
             reorder = true,
             weights = :uniform,) @ 4…95

julia> [m, m]
2-element Array{KNNRegressor,1}:
 KNNRegressor @ 4…95
 KNNRegressor @ 4…95

I don't suggest display. When I used this elsewhere, the output was out of synch with show output  in notebooks. I don't really have a deep undertanding of this stuff.

yes the show with mime type is perfect, thanks!

ok the show is now fixed; there may  be improvements to be found there so that things are generally displayed a bit better (no horizontal overflow) but that's not urgent.
I'll close this and open an issue for the export network.


nodejs: Add a .pkgs attribute

Motivation for this change
In a personal flake of mine, I found the need to iterate all nodejs interpreters in nixpkgs, and also reference the nodePackages attribute that matches each interpreter. With nodejs.pkgs or nodejs_latest.pkgs it's easier to do so.
Things done
It shouldn't trigger rebuilds.. Let's see what ofborg says.

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Since I get no response of reviews from maintainers, and since this change doesn't trigger any rebuild and the diff is not too big, I feel confident to merge it. If anyone objects, this can be reverted.


Add an API to compare benchmark results

Clear and concise description of the problem
There is currently no way to compare benchmark results between different runs. For example, it's possible to change the implementation details without changing the benchmark, and there is no way to confirm that it didn't introduce any regressions except for manually making screenshots in the terminal.
Suggested solution
Provide a flag to vitest bench command (like --compare=./bench.json) to compare the current benchmark run with the previous one. We already support dumping the benchmark result in json via --reporter=json, so it can be reused for diffing.
Alternative
No response
Additional context
I think it should print results the same way we do now in a table, just compare it also with the previously stored results.
I think it might also be nice to store some information about the current machine (OS, cores, anything that can influence the result) in that benchmark and show it in the table.
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

What about https://codspeed.io or https://bencher.dev? I like how Bencher is calling it continuous benchmarking.

What about https://codspeed.io or https://bencher.dev? I like how Bencher is calling it continuous benchmarking.

These are all external tools and they are meant to be used in CI. Since we don't control what machine is running the benchmark, this issue is only about manual check on your own machine.

It's about iterating on the same function, not about catching regressions.

Sort of comparing performance between two branches? Would that be possible without JSON being written to disk?

Would that be possible without JSON being written to disk?

The idea I am describing in the issue is to use the result from the json reporter which dumps the values on the disk already.

Interesting idea!
Speaking of --compare flag, I rememberd this webpack plugin which has a similar idea and compares the bundle stats between the current run and baseline https://github.com/relative-ci/bundle-stats/tree/master/packages/webpack-plugin#bundlestatswebpackpluginoptions
It looks like their approach is that they require either baseline: true or BUNDLE_STATS_BASELINE=true to explicitly dump the current result as a baseline, then such baseline is automatically used to compare against for following runs since compare: true by default.

We already support benchmark json output. We decided to remove the samples from it and introduce a new API to tinybench that allows comparing results with the provided benchmark run without actually running the code.

Hello @sheremet-va
That's actually a great idea, I'm working on skott and especially on a pull request that is meant to compare skott's performances over time when running analysis on specific JS/TS projects.
The current way I'm implementing result comparison is by only using n and n-1 versions using git diff to witness the changes, but it would be great to have a complete history indeed and store more than one previous version. For that I tried codspeed but the CI just takes a while, I don't know if it's related to the free-tier or what but the job is taking more than 1h50 to complete while just using vitest bench API takes few minutes so it's not an option for me at all.

I think it might also be nice to store some information about the current machine (OS, cores, anything that can influence the result) in that benchmark and show it in the table.

To be honest my primary concern was to run in the CI to limit hardware-related variations, even though adding OS related information could be useful when running benchmarks from a local machine.
I feel like trying to diff a set of benchmarks add OS properties in the output might be confusing, you might want to do that at the filename level so that each OS combination can get its own diff?
Currently I'm re-writing the outputFile generated by vitest into something like result-node-18.x.json and I'm not mentioning the OS because this CI job is only running on ubuntu for now, even though it could become something like node-18-ubuntu.json. Also I found useful to add things like git hash and branch the benchmark was generated.
So at some point I was kind of wondering, should I create a vitest plugin and do something like codspeed but instead of storing the data on my private cloud, just emit the data files in a dedicated location and provide a way to compare them over time. But if you're willing to integrate that in the core, it might not be that relevant? What do you think?

To be honest my primary concern was to run in the CI to limit hardware-related variations, even though adding OS related information could be useful when running benchmarks from a local machine.

Adding OS-related information is just to give a clear message that the benchmark might be off because it was running on another machine, or even throw an error.

Currently I'm re-writing the outputFile generated by vitest into something like result-node-18.x.json and I'm not mentioning the OS because this CI job is only running on ubuntu for now, even though it could become something like node-18-ubuntu.json. Also I found useful to add things like git hash and branch the benchmark was generated.

How do you store the generated output in CI?

Adding OS-related information is just to give a clear message that the benchmark might be off because it was running on another machine, or even throw an error.

Yeah better have more information than not enough. Also I'm not sure how stable the GitHub Actions hardware is when not using custom pools, default pools might have agents with more or less cores, so variations can even happen there indeed.

How do you store the generated output in CI?

For now it's only a JSON file written and committed by the CI in my repo (at a specific location near-by the benchmark files themselves) but it could be more sophisticated.
Consequently for now I'm not storing the history of all benchmarks, I'm just overriding it each time a new PR runs with the new results, allowing me to do the diff between n and n-1 versions. But it could be great to keep track of all the benchmarks nonetheless to track big regressions/improvements over time, n and n-1 is a very small dataset

Assuming that the use case is mostly a local comparison, I made a prototype as a custom reporter:
https://stackblitz.com/edit/vitest-dev-vitest-mm6syc?file=vite.config.ts
# I used VITEST_BENCH_xxx env var for prototype

# save bench data on main branch
# --benchmark.outputFile=main.json
$ VITEST_BENCH_OUTPUT_FILE=main.json npx vitest bench --run
...

# suppose you switched a branch and compare against main
# --benchmark.compare=main.json
$ VITEST_BENCH_COMPARE=main.json npx vitest bench --run
...
 RUN  v1.4.0 /home/projects/vitest-dev-vitest-mm6syc

[... here current deafult reporter ....]
 ✓ test/basic.bench.ts (2) 2483ms
   ✓ sort (2) 2471ms
     name          hz      min      max     mean      p75      p99     p995     p999      rme  samples
   · normal   58.7590  13.7350  40.1650  17.0187  16.4350  40.1650  40.1650  40.1650  ±13.39%       30   fastest
   · reverse  10.6565  74.6000   115.93  93.8395   114.16   115.93   115.93   115.93  ±14.26%       10

[... custom compare reporter ....]
 [BENCH] Comparison
   current  : bench-default.json
   baseline : main.json

sort
  normal 58.759hz [baseline: 73.419hz] [change: 0.80x ⇓]
  reverse 10.656hz [baseline: 10.870hz] [change: 0.98x ⇓]

A few things I noticed:

isn't this technically a reporter feature? if so, having a flag only for this reporter seems unusual. But being able to quickly choose --compare from cli would be important, so I think it's fine to make this special flag.
currently json reporter somehow lacks bench filename (the data is only { suitename: BenchmarkResult[] }). So, to persist previous run, probably we can forget about current json reporter and start with better internal format. For this, we can also exclude gigantic samples because I don't think it's needed for comparison report.

FYI, I was also looking around prior arts and for example this one https://bheisler.github.io/criterion.rs/book/user_guide/command_line_options.html#baselines has three flags for comparison purpose:

--save-baseline: like --benchmark.outputFile
--baseline: like a proposed --compare
--load-baseline: this allows skipping running benchmark and loading existing result as a current run.

We decided to remove the samples from it and introduce a new API to tinybench that allows comparing results with the provided benchmark run without actually running the code.

@sheremet-va Can you elaborate this? I thought this is Vitest benchmark reporter feature, but you want to move this feature to tinybench?

Assuming that the use case is mostly a local comparison, I made a prototype as a custom reporter

If I remember correctly, the reporter already gets the result sorted - we can't do this in our own reporter because custom reporters would have to reimplement it.

Can you elaborate this? I thought this is Vitest benchmark reporter feature, but you want to move this feature to tinybench?

I wanted to make sure that tinybench supports providing results based on benchmarks that are not actually running.

isn't this technically a reporter feature? if so, having a flag only for this reporter seems unusual.

If this is a first-class feature, I think it is fine. We already expose some flags that are only relevant for reporters.

currently json reporter somehow lacks bench filename

We can change the format of json. Benchmark is an experimental feature and doesn't follow semver.

What you mean by "sorted'?

The result in the suite.result.benchmark is sorted based on the median result (fastest first). I expect previous benchmarks to appear in the same table sorted marked like bench (previous) or something.

It's a rough mockup, but it's possible to create a table like this:

@sheremet-va Is the direction okay or did you have something else in your mind?

Is the direction okay or did you have something else in your mind?

Yes, this is how I imagined it. I am not qualified enough to tell if it's better this way, so I would wait for more feedback.
What we can also do is reverse the table and duplicate the  column instead:
https://github.com/google/benchmark/blob/main/docs/tools.md#modes-of-operation
Also, maybe we should print two tables: the first is the same as we do now, and the second one has a difference in each field:


Async driver creation & retry mechanism for driver creation

Please see:
https://github.com/angular/protractor/issues/4110
Added a retry mechanism for driver creation.
For users who uses cloud providers such as Perfecto, Sauce labs, etc ... or for local usage.
There's 2 new configurations:

createBrowserAsync  - true / false, this option enable/disable async driver creation.
retryMechanismConf - enable/disable retry mechanism, set the number of retries and delay between each retry.

Using this 2 configuration the user will be able to make a retry in case driver creation failed.
Passed local tests (npm test)

Hey @NickTomlin ,
I made a pull request as you offered here.
I've passed travis-ci tests but circleci build failed.
Yet, when i run npm test locally (as i see, this is the test circleci run) i pass all the tests.
Can you help with this & code review, change code/doc if necessary?
Thanks!

@wswebcreation

We are re-doing the merging/pr process internally here so I may not be able to get to this for awhile. Thanks for the PR though!

Thank you so much for the effort you put into this. Unfortunately, the logic around createBrowser is frustratingly complex, and duplicating it with an async version is the opposite direction we'd like to take. We'd really like to refactor that specific part of the project, especially in light of the issues we've seen around forking and restarting browsers.
I think I see what you're trying to achieve, and it would be valuable.  Is there a way to achieve what you need by adding a hook to the plugin api, or maybe changing runner?
Sorry, I'm going to close this. But we'd welcome an implementation of this feature (providing the ability to configure retries for driver creation) that introduced less complexity and duplication. Simply making createBrowser async instead of having two versions would be an acceptable direction.

Tnx for the feedback @heathkit ,
We'll rethink this part.


add link to riot to welcome page

Do you have the link to hand?

https://riot.im/app/#/group/+swarmcity:matrix.org

Should be fixed


pointers for implementing the client

I'd like to try implementing a client, but I can't tell how much of the session code is going to work or needs to change. It looked almost as if a client API just needs to wrap the rest of the protocol / session code, but I figured I would ask first before digging too deep.

First of all, thanks for wanting to help out 👍
We definitely want to add client support in the near future, and I think this is a good time to discuss what needs to be done. The majority of the code shouldn't be affected, but there's some things that go into establishing a connection that are quite different between server and client.
The things that come to my mind right now are:

Support for client side crypto / handshaking

CHLO writing
Source-address-token handling
Cert validation
Key derivation / Diversification nonce handling
Probably some race-prone handling of different encryption levels

Improved handling of streams (even vs odd IDs), mostly in streams_map.go
HTTP, preferably as http.RoundTripper implementation, also have a look at http.Transport
API for client, maybe use this chance to improve the encapsulation of the network-related stuff into one interface
Ping frame sending (to keep the connection open)

Some of these things should be quite simple, but I think the crypto / handshaking part will take a bit more work since it's currently quite server-specific.
We're currently working through a "bugfix / performance milestone", but I can start having a look at some of the crypto & handshake things next week. Let me know if some of these or the other tasks sound feasible to you. For more detailed discussions, I would suggest opening issues for the individual tasks :)
Maybe a good starting point for hacking around a bit is our (quite cobbled-together) benchmark test, where we link up two sessions to talk to each other.

The missing client is the only thing that prevent me for using this package :smile:
I would be very happy to help on that part.

A client in 100% golang would be really interesting to me.
I do allot of gomobile stuff these days and am itching to try out using QUIC on mobile. With it being 100% golang it makes life easier with cross device suppot etc too.
The other thing is to try it out with Webrtc.

There's probably gonna be news on the client soon :)

:) THis is really going to get interesting...
I am wondering how your planning to handle FEC (Forward Error Correction).
I guess it uses the 10:1 ratio where it sends enough info to reconstruct
any missed packets ?
I was thinking about using a message bus ( like NATS) with my mobile apps
and servers. Ironically the message bus's job is to do store and forward,
which is another way of solving missed packets, but its about missed
messages and so at a higher level of the stack literally.
But it does get you thinking - with no reliance on a kernel the logical
stack you build becomes less tiered and formal.....
Anyway, if you have any info on FEC with golang love to read it.
I guess no one has tried to compile the current code wth gomobile ?
On Thu, Oct 13, 2016 at 12:29 PM Lucas Clemente<EMAIL_ADDRESS>wrote:

There's probably gonna be news on the client soon :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lucas-clemente/quic-go/issues/310#issuecomment-253476265,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALcacwlR2onOUNkohpkIjhLOmlUrT2kPks5qzggQgaJpZM4JxNqJ
.

Re FEC: That was removed from QUIC for now, see this explanation (and the link therein). If it's added back to QUIC at some point, we will look into supporting it.
Re gomobile: I don't think anybody has tried that yet. If you want, feel free to try it out and open issues if something doesn't work.
Also, let's keep the discussion here focussed on the client. If you have any other questions, just open a new issue :)

Any update on this? I'm also really looking for the client implementation of quic, so if there is any direction I could be pointed in to help with this, I would love to help.

Hi guys,
I've been working on a client implementation for the last couple of weeks (in the wip-client branch), sponsored by Protocol Labs.
At the moment, version negotiation, the crypto handshake for the client and simple GET requests should work, although there are still a lot of edge cases that I need to address. I think I'll make significant progress with this within the next two months.
I'll be very happy about real world feedback then!
Thanks,
Marten

i did not get a chance to run it on gomobile :( you knwo how it is.
But looking forward to playing with the client @marten-seemann

Hi everyone,
I just merged the wip-client branch into the master branch (see PR #399 for details). That means you can now start playing with the QUIC client! Have a look at the README for some basic instructions.
I'd advise against using this in production code, since I expect there to be a bunch of (hopefully only smaller) issues. Furthermore, I'm not giving any guarantees regarding the client API at this point, so please expect it to change without prior notice.
That being sad, I'm very happy about any feedback, bug reports and bug fixes. Please just open a new issue here (or send me a PR) if you think that you found something!

i just did a update but am getting
../h2quic/request_writer.go:64: undefined: httplex.PunycodeHostPort
anyone else ?

Have you tried updating all dependencies? go get -u github.com/lucas-clemente/quic-go

yes i did that.
I just fix it with

 go get -u golang.org/x/net

the readme advice did not do it for me:
go get -t did not work.

Thanks a lot for your work! Do you have any additional documentation about how to use quic.NewClient and quic.NewServer? I do not manage to establish a working communication...
https://godoc.org/github.com/lucas-clemente/quic-go

Assuming you want to speak HTTP, you can use the API provided by the h2quic package: https://godoc.org/github.com/lucas-clemente/quic-go/h2quic.
For some simple examples, check out the example directory.

Hi, and thanks so much for your work, guys! The QUIC client works for me @ https://github.com/pforemski/dingo/commit/e3f018df1fc377aba815af8817124c3a1949fa4a#diff-61906a9fecbd50a6152ff76633ea50f3
Do you have a quick advice on how can I separately control what the QUIC client sends in the SNI (Server Name Indication), in the HTTP/2 Host header, and the IP address it connects to? I need this for my project, where all these 3 parameters can be different. Thanks!

@marten-seemann I'm mostly interested by non-HTTP protocols :stuck_out_tongue:
I'll look h2quic, seems to contain a lot of interesting things, thanks!

@pforemski: Can you please write us a new issue for that? I was expecting to make some changes there anyway, but I haven't had time to think about the details yet.
@Lesterpig: Which protocol are you planning to use over QUIC?

@marten-seemann Home-made protocols, like sending raw protobuf messages (for more info check https://gitlab.com/SporeDB/sporedb/blob/master/myc/protocol/protocol.go)
I'm trying to use the Read/Write features provided by the streams, but in my case client.OpenStream(3) does not trigger server callback (probably because I'm not understanding go-quic's internals).

@Lesterpig: I'm not sure I'm understanding the problem. Specifically, I don't know which server callback you're referring to.
In general, client.OpenStream(3) should open a new utils.Stream (have a look at the interface defined there). You can then do a Stream.Write (a Stream is an io.Writer). This should trigger a QUIC packet to be packed and sent on the wire.
If that doesn't work, please open a new issue and I'll have a look at it.


Wording changes

Replacing some terms

@marcingrzejszczak do we even need this file checked in any longer?  I thought you said with the latest docs changes we didnt need it?  Maybe we need to keep it around for older branches?

Nope, the file can be deleted.

Many of the spring-cloud-* projects have a ghpages.sh file. Can we remove all of them?

Yes, let's leave only the one in spring-cloud-build.


Feature: Add GUI unit tests with pyautogui

Is your feature request related to a problem? Please describe.
It would be extremely useful to add GUI tests to verify that the software is working as intended.
Describe the solution you'd like
A way to solve this problem is to use pyautogui to enable autoclicks, and make GUI-tests with a robot that essentially performs the workflow pipeline that a human operator might do. This can at least be done to test whether any errors occur (by checking the log) when performing tests.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
A good resource on how to test Qt applications on headless machines (which is the case for GitHub Actions) can be seen here.

Made a PR that adds a simple GUI launch test to the CIs: https://github.com/raidionics/Raidionics/pull/57
However, further GUI tests should also be performed with pyautogui or similar.

GUI launch test has been added in ec0f85c5348c6505e053c8f66997882943d3638e.
However, there is missing a GUI-autoclick test which would be helpful to know of all relevant UI elements are working as intended.

@dbouget AFAIK, this has already been resolved in: PR https://github.com/raidionics/Raidionics/pull/64? So it can be closed? Or whats remaining?


Getting different parsed user agent on same machine

I have two python virtual environments that are installed on the same Mac.  And when I try to parse a user agent one virtual environment is giving a different answer than the other.  While the envs are not exactly the same I'm surprised to see these outputs.
One environment gives the following (attached requirements file r1)
In [1]: import user_agents

In [2]: user_agent_str = (
   ...:             "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 ("
   ...:             "KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
   ...:         )

In [3]: user_agents.parse(user_agent_str).device
Out[3]: Device(family='Other', brand=None, model=None)

The second environment gives (requirements file r2)
>>> import user_agents
>>> user_agent_str = (
...             "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 ("
...             "KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
...         )
>>> user_agents.parse(user_agent_str).device
Device(family='Mac', brand='Apple', model='Mac')
>>>

The two requirements files are attached for debugging.  Both python environments are running 3.7.4
requirements_files.zip

It is not python-user-agents that parses the string, but uap-python.
I think if you parse the string through it, you will see the difference in it for the two environments
from ua_parser import user_agent_parser
import pprint

user_agent_str = (
    ...
)

parsed_string = user_agent_parser.Parse(ua_string)
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(parsed_string)


View controller: Add API to retrieve a single visible component view

This new API is an alternative to returning all visible component views, and provides a much faster (pretty much O(1) complexity - if you disregard the length of the index path) way of looking up just a single component view.

@spotify/objc-dev

Current coverage is 92.62% (diff: 68.29%)

Merging #113 into master will decrease coverage by 0.24%

@@             master       #113   diff @@
==========================================
  Files            58         58
  Lines          4080       4121    +41
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3789       3817    +28
- Misses          291        304    +13
  Partials          0          0

Powered by Codecov. Last update 297e404...910434c

Sorry for the delay in reviewing, but why doesn't visibleViewForComponentOfType:indexPath: just do
- (nullable UIView *)visibleViewForComponentOfType:(HUBComponentType)componentType indexPath:(NSIndexPath *)indexPath
{
    return [self visibleComponentViewsForComponentType:componentType][indexPath];
}

Oh, for complexity reasons?

Sorry. I should have read the PR description!

👍

@cerihughes Yeah exactly, basically in the Spotify app, we're calling this as part of handling a gesture recognizer, so need to have close to O(1) complexity to not hog the main tread 😄


AMBARI-23063. "Stale Alerts" alert has to be re-done properly

Due bandwidth limitations while fixing 5K cluster we had to send alerts and status commands on change only. This caused issue to stale alerts Alert. This patch targets to re-do it in the following way:
a) along with heartbeat agent sends timestamps for alerts which did not run for "interval_seconds x stale_interval_multiplier"
b) if heartbeat is lost. Whole socket connection is dropped so the alerts are marked stale after "interval_seconds x stale_interval_multiplier" time by server since last HB.
c) Server (non-host) level alerts use the same logic as used by Stale Alert before.
How this was tested:

Some unit tests were added
Done e2e deploy and
a) broken some alerts to make sure they stale out
b) tested without broken alerts to make sure they don't stale out
c) broken server level alerts and made sure they stale out as well
d) dropped heartbeat thread. Which dropped connection and made sure alerts stale out.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/773/
Test FAILed.
Test FAILured.

The jenkins failure is not related to this. test_zeppelin_070.py failed there which was faiing in builds before. All agent side python tests and server java tests were successful.


wip: fix(driver/modern_bpf): fixed missing_definitions for ppc64le

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area driver-modern-bpf
/area tests
Does this PR require a change in the driver versions?
What this PR does / why we need it:
This PR tries to address multiple drivers_test failures on ppc64le.
Remaining failures (for modern bpf):
[  FAILED  ] 12 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.cloneX_child
[  FAILED  ] SyscallExit.creatX_success
[  FAILED  ] SyscallExit.forkX_child
[  FAILED  ] SyscallExit.getrlimitX_success
[  FAILED  ] SyscallExit.openX_success
[  FAILED  ] SyscallExit.openatX_success
[  FAILED  ] SyscallExit.openatX_create_success
[  FAILED  ] SyscallExit.prlimit64X_success
[  FAILED  ] SyscallExit.socketcall_sendmsgX_fail

Clone + fork related tests fail because of page faults
creatX_success, openX_success, openatX_success, openatX_create_success fail because of some weird thing happening while encoding/decoding dev parameter:

Expected equality of these values:
 *(T*)(m_event_params[m_current_param].valptr)
   Which is: 29
 param
   Which is: 37

prlimit64X_success, getrlimitX_success are failing because they return ENOSYS; they should be fixed by: https://github.com/falcosecurity/libs/pull/1737
socketcall_sendmsgX_fail yet to be investigated:

Expected equality of these values:
  size
    Which is: 80
  expected_size
    Which is: 40

Huge thanks to  @Andreagit97 for helping me debugging these weird issues!
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

Old bpf situation:
[  FAILED  ] 11 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.cloneX_child
[  FAILED  ] SyscallExit.creatX_success
[  FAILED  ] SyscallExit.forkX_child
[  FAILED  ] SyscallExit.getrlimitX_success
[  FAILED  ] SyscallExit.openX_success
[  FAILED  ] SyscallExit.openatX_success
[  FAILED  ] SyscallExit.openatX_create_success
[  FAILED  ] SyscallExit.prlimit64X_success

Same except for SyscallExit.socketcall_sendmsgX_fail.

Kmod failures:
[  FAILED  ] 11 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.cloneX_child
[  FAILED  ] SyscallExit.creatX_success
[  FAILED  ] SyscallExit.forkX_child
[  FAILED  ] SyscallExit.getrlimitX_success
[  FAILED  ] SyscallExit.openX_success
[  FAILED  ] SyscallExit.openatX_success
[  FAILED  ] SyscallExit.openatX_create_success
[  FAILED  ] SyscallExit.prlimit64X_success

After #1737 got merged, we are now at:
[  FAILED  ] 11 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.cloneX_child
[  FAILED  ] SyscallExit.creatX_success
[  FAILED  ] SyscallExit.forkX_child
[  FAILED  ] SyscallExit.openX_success
[  FAILED  ] SyscallExit.openatX_success
[  FAILED  ] SyscallExit.openatX_create_success
[  FAILED  ] SyscallExit.sendmsgX_fail
[  FAILED  ] SyscallExit.socketcall_sendmsgX_fail

Last 2 fails with same reason:
Expected equality of these values:
  size
    Which is: 80
  expected_size
    Which is: 40

only on modern BPF (only driver that does not skips checking parameters).

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Fixed socketcall and sendmsg tests; remaining:
[  FAILED  ] 9 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.cloneX_child
[  FAILED  ] SyscallExit.creatX_success
[  FAILED  ] SyscallExit.forkX_child
[  FAILED  ] SyscallExit.openX_success
[  FAILED  ] SyscallExit.openatX_success
[  FAILED  ] SyscallExit.openatX_create_success

Rebased on top of master.

Fixed all the open related tests; see #1805 for the encountered issue.
Remaining failures:
[  FAILED  ] 5 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.cloneX_child
[  FAILED  ] SyscallExit.forkX_child

Fixed all tests :rocket:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Rebased on top of master to fix conflicts.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,LucaGuerra]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


EOD to record for whole week

changed EOD script to lookup prices for the whole week (as yahoo stores a week worth of 5-min data) to be run by crontab on fridays. Not sure if this will work in practice, TODO a report on friday after markets close

This should close issue #10 not 22 as the name implies.


feat(synapse-interface): destination address

be93430ec4fa130f64fa874ce08d2e8302b288c9: synapse-interface preview link

Summary by CodeRabbit

New Features

Introduced a new component to display the destination address if it differs from the current address, enhancing user awareness during transactions.
Added a confirmation warning for verifying the destination address before transactions, improving security.
Enhanced input validation, error handling, and UI interactions for a smoother user experience.

Refactor

Refactored state management across several components for improved efficiency and readability.
Simplified the styling of input elements for a cleaner interface.
Adjusted the functionality of the bridge transaction button to better handle destination address validations.

Bug Fixes

Fixed issues related to transaction recipient filtering and date calculations, ensuring accuracy and reliability.

Style

Improved styling and components for better user interface interactions.

Chores

Updated and reorganized component structures and transitions for a more streamlined user experience.

fac847377cf2eda8109fdde3aa455c1e23caf11d: synapse-interface preview link
e310d8b172c0c63f556a305b05b75f38e06da1f7: synapse-interface preview link
dbf16fef7375271f1ecc97eda234aeef8b9e6a84: synapse-interface preview link
0d6a17bd6b15996dbeb3376d1875fc6ae327e404: synapse-interface preview link
9c7d22866b1f4390d6b7f4eece5b689c7990a9b5: synapse-interface preview link
86774e03dbf0646c4c15ea1a8d4d6fd07cd4b581: synapse-interface preview link
1d643b3fd771c49fb97ffd1ed02342602e0dcb56: synapse-interface preview link
86fd7f37bff91f03d7f1c964a080a0563eac2993: synapse-interface preview link
9f5303c54950b72aba06909d55f2591dcb3c74a4: synapse-interface preview link

@coderabbitai review

@bigboydiamonds for QAing this, just writing out scenarios/Qs we'll need to test
On wallet 1

User enters destination address
After txn completes, does destination address clear or stay same? If it's noticeably visible, then we can leave it the same (for users who want to do rapid fire bridging let's say)

User switches to wallet 2 or disconnects

Destination address definitely needs to clear

User is on bridge page, enters dest address, goes to swap page, comes back to bridge page

Address clears and they have to enter it again? Leaning toward clearing any time they visit the bridge page

Basically main goal of all this is we want to make sure that user sending doesn't inadvertently send to wrong destination address (meaning understanding state of where dest address sits & best way to clear it)

@coderabbitai pause


[KYUUBI #3371] [FEATURE] [AUTHZ] Support full checking all required access privileges

Why are the changes needed?

to close #3371
Adding an ranger plugin config for enabling full access privileges,  Authz checks all access privileges and throw exception with message of unsatisfied  privileges on different resources in alphabet order.
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

I would like to move a new session config "kyuubi.authz.enable.full.access.check" from spark local property setting to KyuubiConf. How to make it possible?

Codecov Report

Merging #3380 (854c0c3) into master (1989e4c) will decrease coverage by 0.03%.
The diff coverage is 81.57%.

:exclamation: Current head 854c0c3 differs from pull request most recent head a9d2bfc. Consider uploading reports for the commit a9d2bfc to get more accurate results

@@             Coverage Diff              @@
##             master    #3380      +/-   ##
============================================
- Coverage     51.51%   51.48%   -0.04%
  Complexity       13       13
============================================
  Files           479      479
  Lines         26574    26606      +32
  Branches       3711     3719       +8
============================================
+ Hits          13689    13697       +8
- Misses        11554    11564      +10
- Partials       1331     1345      +14

Impacted Files
Coverage Δ

.../plugin/spark/authz/ranger/RuleAuthorization.scala
77.92% <81.57%> (+4.58%)
:arrow_up:

.../kyuubi/server/mysql/constant/MySQLErrorCode.scala
13.84% <0.00%> (-6.16%)
:arrow_down:

...ache/kyuubi/server/mysql/MySQLCommandHandler.scala
76.13% <0.00%> (-3.41%)
:arrow_down:

...apache/kyuubi/engine/JpsApplicationOperation.scala
77.41% <0.00%> (-3.23%)
:arrow_down:

...ache/kyuubi/server/mysql/MySQLGenericPackets.scala
76.59% <0.00%> (-2.13%)
:arrow_down:

...rg/apache/kyuubi/ctl/cmd/log/LogBatchCommand.scala
78.00% <0.00%> (-2.00%)
:arrow_down:

...che/kyuubi/server/KyuubiTHttpFrontendService.scala
64.23% <0.00%> (-1.46%)
:arrow_down:

...ain/scala/org/apache/kyuubi/engine/EngineRef.scala
72.26% <0.00%> (-0.85%)
:arrow_down:

...yuubi/server/metadata/jdbc/JDBCMetadataStore.scala
89.27% <0.00%> (-0.70%)
:arrow_down:

...he/kyuubi/ha/client/etcd/EtcdDiscoveryClient.scala
67.50% <0.00%> (-0.63%)
:arrow_down:

... and 3 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

cc @yaooqinn
Code changes and added config doc are ready for review. Please have a check.

let us simply do
val requestArrays = requests.map { request =>
      val resource = request.getResource.asInstanceOf[AccessResource]
      resource.objectType match {
        case ObjectType.COLUMN if resource.getColumns.nonEmpty =>
          resource.getColumns.map { col =>
            val cr = AccessResource(COLUMN, resource.getDatabase, resource.getTable, col)
            AccessRequest(cr, ugi, opType, request.accessType).asInstanceOf[RangerAccessRequest]
          }
        case _ => Seq(request)
      }
    }

    if (SparkRangerAdminPlugin.authorizeInSingleRpc) {
      verify(requestArrays.flatten.asJava, auditHandler)
    } else {
      requestArrays.foreach(requests => verify(requests.asJava, auditHandler))
    }

... SparkRangerAdminPlugin.scala
  /**
   * For a Spark SQL query, it may contain 0 or more privilege objects to verify, e.g. a typical
   * JOIN operator may have two tables and their columns to verify.
   *
   * This configuration controls whether to verify the privilege objects in a single RPC call or
   * to verify them one by one.
   */
  val authorizeInSingleRpc: Boolean =
    getConfig.getBoolean(s"ranger.plugin.${getServiceType}.authorize.in.single.rpc", false)
}

thanks, merged to master


[Bug]:  Invalid Characters in Crop Recommendations

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
In the Crop Recommendations feature, the system currently allows input of invalid or incorrect characters. This results in incorrect or buggy behavior, potentially affecting the accuracy and performance of the recommendations.
Expected behavior
Only allow the numerical value.
The system should validate the input and prevent incorrect or invalid characters (such as numbers, special symbols) in crop names or other relevant fields.
It should show an error message prompting the user to correct the input before proceeding.
Add ScreenShots

On which device are you experiencing this bug?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

it  is giving suggestion or warning below the predict button...so..no worries..and we have clearly mentioned by using placeholders..


How to listen to events of calcite-maps

For example, I want to do something when I open/close the panel. Can you provide a demo?

Set id on panel div , then to add event listener on click of the div.  I get it by doing so.

I think you might be able to use the collapse-events to hook into the panels opening/closing.
These events fire when the show and hide method is called.  I think these might be the methods that fire when a panel is opened and closed, respectively.


Adding healthcheck to presto_cluster example

Feature description
It is requested a better healthcheck for Presto in the presto_cluster example. Similar to the one in presto_standalone.hcl#L44-L52.
Why is it needed?
For better coverage and make sure presto is healthy :health_worker:

hive-availability
minio-availability

Suggestion(s)/solution(s) [Optional]
Need to do something similar as the one in presto_standalone.hcl#L44-L52.
Think we need to create a proxy service that is continuously checking the Presto service for us.
Definition of done
When we have a simliar feature as the one in presto_standalone.hcl#L44-L52.
Checklist (after created issue)

[x] Added label(s)
[x] Added to project
[x] Added to milestone

@claesgill Can we unassign you atm?

@claesgill Can we unassign you atm?

Done!


Refactor: merge docker setup file into one dockerfile & one docker-compose.yml

Merge .dockerignore into toplevel one
Merge Dockerfiles into toplevel one
Simplify docker-compose.yml file
Remove nginx setting (no more used)
I'd like to discuss about this point. Are you okay with removing nginx setting? I understand that you want to detach client side from api server, but I found it rather cumbersome to setup in my local server env. What do you think? @danny-avila

have you tested it working without nginx? i've had issues without it. I will test your branch when i get the chance

have you tested it working without nginx? i've had issues without it. I will test your branch when i get the chance

Yes, indeed I use it daily.

any chance we can include both options in a separate dockerfile? i can simply write it in the readme

any chance we can include both options in a separate dockerfile? i can simply write it in the readme

Added nginx build recipe for docker and docker-compose file. If the user wants to use nginx, all they need to do is uncomment the client service in the docker-compose.yml file (also need to modify the api's exposed port, commented it also)


ChatGPT 4 vision - send image?

Describe the feature
Hi there,
is it already possible here to use the new chatgpt 4 vision that can interpret / analyse images? in the web is the default mode, not referring to the advanced data analysis.

Looking forward to the addition of image input for gpt-api  !!!!

you can use my fork:https://github.com/jobpassion/chatgpt-api ,add support for images and multimodal

你可以使用 my fork：https://github.com/jobpassion/chatgpt-api ，添加对图像和多模态的支持

would you add the support for api?

would you add the support for api?

Currently only images and multimodal are supported for UnofficialProxyAPI, and there are no plans to add support for ChatGPTAPI at the moment.

This project is undergoing a major revamp; closing out old issues as part of the prep process.
The chatgpt package is pretty outdated at this point. I recommend that you use the openai package or the openai-fetch package instead. They both have support for multimodal messages.


Wayback Machine

Please add a checkbox to automatically retrieve the URL of the latest functional Wayback Machine archive of the URL.  Ideally, there would be an interactive interface to walk through the page's archive history so as to visually verify the accuracy of the archive on Wayback before committing it to the wikitext preview on Wikipedia.  Sometimes, Wayback has simply archived an old error message or something.  But even filling in the metadata and loading the site is a help. Thank you.

Consider using Memento and its APIs -- archive.org and archive.is both speak their language.

Consider using IA Bot after every time you refill bare reference. https://tools.wmflabs.org/iabot

In my opinion this task can be declined, in the UNIX philosophy: use InternetArchiveBot for this purpose, let reFill focus on what it's goot at.

use InternetArchiveBot for this purpose

Link for convenience: https://meta.wikimedia.org/wiki/InternetArchiveBot


Client keep auto close

I using nanoHttpD to read a put request and parse a atom xml, my client will keep read a file and send the xml every 5 sec, but some how the client socket keep closing.
client code
 clientSocket = new Socket(Setting.HOST_ATOMSERVER, 4567);

    try {
        while (clientSocket.isConnected()) {
            output = new PrintStream(clientSocket.getOutputStream(), true);
            input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

            filereader = new BufferedReader(new InputStreamReader(new FileInputStream(csInputPath)));
            AtomFeed atomXML = new AtomFeed(filereader);

            // send header and body
            System.out.println("send");
            output.print(Setting.HTTP_RESPONSE_PUT + " /atom.xml " + Setting.HTTP_VERSION + Setting.CRLF + Setting.CRLF + atomXML.xmlString);
            String line;
            while ((line = input.readLine()) != null) {
                System.out.println(line);
                if (line.equals("Bye"))
                    break;
            }
            Thread.sleep(5000);
        }

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        output.flush();
        output.close();
        input.close();
    }

NanothttpD code
thread = new Thread(new Runnable() {
        @Override
        public void run() {
            do {
                try {
                    final Socket serverSocketAccept = serverSocket.accept();
                    serverSocketAccept.setSoTimeout(SOCKET_READ_TIMEOUT);
                    addClient(serverSocketAccept);
                    final InputStream inputStream = serverSocketAccept.getInputStream();
                    asyncRunner.exec(new Runnable() {
                        @Override
                        public void run() {
                            OutputStream outputStream = null;
                            try {
                                outputStream = serverSocketAccept.getOutputStream();
                                HTTP session = new HTTP(inputStream, outputStream, serverSocketAccept.getInetAddress(), rootDirs, INDEX_FILE_NAMES, MIME_TYPES);
                                while (!serverSocketAccept.isClosed()) {
                                    session.execute();
                                    System.out.println();
                                }
                            } catch (Exception e) {
                                if (!(e instanceof SocketException && "Atom Server Shutdown".equals(e.getMessage()))) {
                                    e.printStackTrace();
                                }
                            } finally {
                                safeClose(outputStream);
                                safeClose(inputStream);
                                safeClose(serverSocketAccept);
                                removeClient(serverSocketAccept);
                            }
                        }
                    });
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } while (!serverSocket.isClosed());
        }
    });

Is it due to the setSoTimeout(SOCKET_READ_TIMEOUT)?

I'm probably not understanding the problem here, but yes, SOCKET_READ_TIMEOUT is there to close the a connection if the server doesn't hear anything from a client in 5 seconds by default. It's there to prevent open sockets from adding up.
    /**
     * Maximum time to wait on Socket.getInputStream().read() (in milliseconds)
     * This is required as the Keep-Alive HTTP connections would otherwise block
     * the socket reading thread forever (or as long the browser is open).
     */
    public static final int SOCKET_READ_TIMEOUT = 5000;

(I.e: is there a bug here that I don't see?)

nope. my mistake.
Thanks
Benjamin Tan Yu Quan
90623032
On Sun, Aug 9, 2015 at 7:49 PM, elonen<EMAIL_ADDRESS>wrote:

(I.e: is there a bug here that I don't see?)
—
Reply to this email directly or view it on GitHub
https://github.com/NanoHttpd/nanohttpd/issues/170#issuecomment-129170520
.

Ok, thanks for clarification!


Using Controller in 360 Photo Tour

I am trying to use bloutooth controller for android to navigate in VR for hotspots. But controllers are not working. I have tried on different browsers( with gamepad flag enabled) and mobile devices
Is there something I am missing out?

Are you using a Google Daydream VR controller?

No my mobile is not daydream compatible, want to navigate in google cardboard and hence using controller like https://www.amazon.in/Bluetooth-Controller-Gamepad-Cardboard-discount/dp/B078KKBQKZ?tag=googinhydr18418-21&tag=googinkenshoo-21&ascsubtag=7c6d3587-60ea-4ee8-8e41-358b127a1e58

I am sure it could be achieved but you have to look at A-Frame and how to implement it.


"StandaloneCoroutine was cancelled"

ru: Вставляю диск в проигрыватель, а он назад выходит и пишет снизу StandaloneCoroutine was cancelled
en: I insert the disc into the player, and he goes back out and writes from the bottom StandaloneCoroutine was cancelled

Use the latest alpha versions:

https://modrinth.com/plugin/pv-addon-discs/version/1.1.3
https://modrinth.com/plugin/pv-addon-lavaplayer-lib/version/1.1.1

If you still have any issues, please open a new issue and provide server logs.


Added new RestAction operations for planned execution and async Request callback execution

This experiment will improve the JDA Requester system by adding a new Requester pool that will be used to execute request callbacks in an additional thread to counter possible deadlocks.
In addition I added new RestAction operations and documentation:

completeAfter(long, TimeUnit)
submitAfter(long, TimeUnit [, ScheduledExecutorService])
queueAfter(long, TimeUnit [, ScheduledExecutorService])
queueAfter(long, TimeUnit, Consumer<T> [, ScheduledExecutorService])
queueAfter(long, TimeUnit, Consumer<T>, Consumer<Throwable> [, ScheduledExecutorService])

More information on how these work can be found in the documentation.

Note: This can still be changed.

Before merge, I'd like to have a listing of all ThreadPools in JDA.
Lets have a discussion about whether or not we should consider merging them into a singular pool

A list of all executors:

File
Field
Type
Core Pool Size

AudioConnection
combinedAudioExecutor
SingleThreadScheduledExecutor
1

JDAImpl
pool
ScheduledExecutorService
2 (customizable)

RateLimiter
pool
ScheduledExecutorService
5

Requester
pool
CachedThreadPool
-

Besides the Executor in AudioConnection, are all pools dynamically expandable?
If they are, an argument could be made to combine all of the pools into one.

Ignoring the AudioConnection pool which focuses on one very time sensitive thing, the other 3 pools work with the idea of expanding and contracting based on usage. But more so than that, they all hold different things besides perhaps the JDAImpl pool. I feel like the JDAImpl pool can and should be combined with one of the other two pools (Requester/RateLimiter) as its only use is for things related to the other two.

@MinnDevelopment @Almighty-Alpaca thoughts?

I'm fine with this for now. We can always test if merging the audio pools has a negative impact and decide about them later.


Makefile: build broken on windows/cygwin

Hi I have an issue please ? I have tried to build syzkaller with cygwin (make) on windows 10 but I got these errors:
make: invalid option -- D
make: invalid option -- G
I have used this command to build syzkaller :
make fuzzer execprog stress TARGETOS=windows REV=git rev-parse HEAD cl executor\executor_windows.cc /EHsc -o bin\windows_amd64\syz-executor.exe -DGIT_REVISION="$REV" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib rpcrt4.lib Crypt32.lib imm32.lib Urlmon.lib Oleaut32.lib Winscard.lib Opengl32.lib Mpr.lib Ws2_32.lib Bcrypt.lib Ncrypt.lib Synchronization.lib Shell32.lib Rpcns4.lib Mswsock.lib  Mincore.lib  Msimg32.lib RpcRT4.lib Rpcrt4.lib lz32.lib
can you please help me to resolve this issue and build syzkaller ? And thank you !

Hi Mehdi,
I am not sure we have any active users on Windows.
I have vague memories that I did not use make on Windows at all and just built binaries manually, but I don't remember any other details.
If you figure out how to fix the Makefile, please send a Pull Request with the fix.
Thanks.

Okay sure !


Migrate content from MozillaWiki

At this moment there is lot of (obsolete?) content on MozillaWiki in the L10n space. I suggest we should somehow systematically go through all of that and either migrate it here (and update) or archive it (remove all links pointing there and delete).
Even if we want to utilize the MozillaWiki somehow, I would suggest to put down a list of all pages and review them one by one. @mozilla-l10n/pm-group what procedure do you suggest? I volunteer to help at least with mapping the content we have and some small triage of pages I would understand.

All the info there is obsolete. These days the MozillaWiki l10n section is only used to keep track of meeting agendas. To my knowledge, there are no maintainers for MozillaWiki, so I'm not sure who to contact about removing (or archiving) pages.

To my knowledge, there are no maintainers for MozillaWiki

I'm quite sure we have someone
https://wiki.mozilla.org/MozillaWiki:About#Who_owns_and_maintains_the_Mozilla_Wiki.3F

I'm not sure all this information is obsolete - many of the links there still link to relevant information. Some need to be updated partially (and some more than others), and other places need to be archived. I think that's the part that Michal said he could help with, as much as he understands.
What I don't know is where we'd end up putting this "still relevant information" and how we'd structure it. Maybe we're good enough just updating everything on the MozillaWiki - or we want to find a new place for it to live.

@gueroJeff, I think we should reach out to mhoye for both you and I to get permission to delete pages on wikimo.

Need to create a project for this in the repo, define milestones, and tie project issues to those milestones. I'll work on that this week and next.


New Dropbox API

Dropbox just reminded me that APIv1 is deprecated. Did you look into how difficult it might be to port this indispensable script?

I probably won't have time to work on this anytime soon, but API v1 will continue to work until June 28th, 2017.

I need this script too :-) Going to take a shot at updating it for the new API.

Just sent you https://github.com/clark800/dropbox-restore/pull/48 to mostly fix this, expect for the part that deletes files as appropriate -- but that should be easy to backport.

I added a note to the README for anyone interested in being the maintainer:
"I no longer use Dropbox so I can't maintain this script. If you would like to be the maintainer, you can create a pull request that updates to the latest API and I will grant you collaborator access so you can manage the project (if the pull request passes a code review). The pull request should preserve all the former functionality and update to the latest API and not make any other changes."


Stop unconditionally checking Verifiers

Background: #52
Currently the tuxedo executive checks the verifiers on all inputs of all transactions. We previously considered the notion of "eviction" which was a way for a transaction to consume a UTXO without its verifier being satisfied.
As I described in the comment on the background issue, I think a better approach is to make the notion of Verifier less fundamental in the tuxedo executive. Rather than always checking verifiers in the core, instead we never check verifiers there. Instead we generalize the notion of ConstraintChecker like we did in #41 so that there are three levels like follows.
/// The simplest and most common way to express transactions logic.
/// Verifiers are checked for you automatically.
/// Only the input data is passed along to the implementer.
/// The same one we've had from the beginning
trait SimpleConstraintChecker { /* --snip-- */ }

/// The more expressive but still reasonably safe way to express transaction logic.
/// Verifiers are checked for you automatically.
/// The entire UTXO including the already-checked Verifier are passed along to the implementer.
/// The one that was introduced in #41
trait ConstraintChecker { /* --snip-- */ }

/// The most expressive and dangerous way to express transaction logic.
/// Nothing is checked for you.
/// Implementers get the raw input data and do as they please.
/// Checking Verifiers is entirely optional.
/// This one is new and should be used sparingly.
/// If you want to write an eviction, this is the way to do it.
trait FullPowerConstraintChecker { /*--snip--*/ }

// Two blanket implementations instead of the one we currently have.

Updates thoughts. Still similar to above. Add an enum
/// An input can be consumed in two way. It can be redeemed normally (probably with some signature, or proof) or it
/// can be evicted. This enum is isomorphic to `Option<Vec<u8>>` but has more meaningful names
pub enum ConsumptionStrategy {
  /// The input is being consumed in the normal way with a signature or other proof provided by the spender.
  Redemption(Vec<u8>),
  /// The input is being forcefully evicted without satisfying its Verifier.
  Eviction,

Then change the input type:
pub struct Input {
    /// a reference to the output being consumed
    pub output_ref: OutputRef,
    // The method by which it is being consumed (eg by a signature)
    pub comsumption: ConsumptionStrategy,
}

Then in the case of the fully powerful constraint checker, the redeemed verifiers are still checked by core, and only information about which ones were evicted is passed along.
And finally, I'm not sure the middle level is actually necessary. The way sudo should work is by peeking at the utxo that holds the sudo key and providing a signature made by that key to the constraint checker. They way royalties should work is that they need to be claimed. Again the signature checking can happen at the constraint checker level.

Solved in #196


Please tell why:ValueError: path 'src/' cannot end with '/'

thank you
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2020年12月11日(星期五) 下午4:45
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [mseitzer/pytorch-fid] Please tell why:ValueError: path 'src/' cannot end with '/' (#56)
This is a problem under Windows. It was fixed with #55, but is not in the pypi package yet. You can install from Github in the meantime:
pip install git+https://github.com/mseitzer/pytorch-fid.git
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Maybe you can refer to the solution here：https://blog.csdn.net/woaichixiaodangao/article/details/108325973


How can I change time  picker to 24 hours？

I didn't find any option about 24-hour clock. Does the datetimepicker support it?

Hi, check at http://momentjs.com/docs/#/displaying/format/
As this is a simple usage question so will be closed and locked immediately


Support for SymbolicUtils.BasicSymbolic{Real}

I'm attempting to use DataInterpolations with a ModelingToolkitStandardLibrary.Blocks.TimeVaryingFunction in ModelingToolkit.  When I run structural_simplify it seems the derivative is needed.  I supply this as
f = LinearInterpolation(x, time)
Symbolics.derivative(::typeof(f), args::NTuple{1, Any}, ::Val{1}) = DataInterpolations.derivative(f, args[1])

@named system = System(false, f)
sys = structural_simplify(system)

However this gives:  ERROR: MethodError: no method matching derivative(::LinearInterpolation{Vector{Float64}, Vector{Float64}, true, Float64}, ::SymbolicUtils.BasicSymbolic{Real}, ::Int64)
I also get this error if I simply run
julia> f(Symbolics.unwrap(t))
ERROR: MethodError: no method matching (::LinearInterpolation{Vector{Float64}, Vector{Float64}, true, Float64})(::SymbolicUtils.BasicSymbolic{Real})

Seems DataInterpolations is not supporting some latest Symbolics features?

Handled.


WheelBot picture for the gallery?

@AndReGeist thank you for making the WheelBot an open source robot, it is awesome :smiley:
There aren't pictures in the github repo. Can include those from the project's website in the gallery? If you'd like let's add a picture there too.

@stephane-caron thank you for the kind words! It would be nice, if you could add fotos from the project's website to your gallery. Also checkout  the open robot iniative from my former colleagues at the MPI-IS, the documentation of their different robot builds is awe inspiring.

Thank you :smiley: I have updated the gallery and added the ODRI projects to the list.


Unable to load asset: "packages/khodrah_clean_arc/assets/images/base_images/splash.png".

static String getPackageName() {
return "my_package_name";
}
I tried to use image.asset but nothing happen
The asset does not exist or has empty data.

Do you have a demo project?

I guess you did something wrong here?
It's not necessary to change the core project because it also works as library.
Simply check our example: https://github.com/sibvisions/flutter_jvx.example

No Input, no interaction - no help.

I don't use the package
I just take the file of image loader

Demo project? Did you try the example?

Simply post your whole example, because we don't know what's your use case.
Image loading is no problem in the whole project, so we guess you do something different/unexpected.