Point latest engine docs to latest UCP & DTR docs

Proposed changes
User guides section was linking to previous versions of UCP 2.2 & DTR 2.4 documentation. Instead, it should link to the latest UCP & DTR docs to avoid confusion.

Deploy preview for docsdocker ready!
Built with commit<PHONE_NUMBER>16a1f6e1baad0debb057a3c1bfa3ca
https://deploy-preview-7478--docsdocker.netlify.com


The Scene API has to be remade.

The current Scene API is stuck between the modern way of creating nodes (Scene::CreateNode) and the old way (Node::SetParent), because neither of them is perfect.

How to handle nodes children with the modern way?
How to handle non-scene node parenting with the modern way?
How to handle scenes in the NDK (Nazara Development Kit)? I think the Scene API should not be a part of Nazara but a part of it's SDK, because a sound emitter should be able to be part of the scene as a node, same goes for a model and a physical object.

Which leads us to
4) How to handle models/sprite/text rendering in Nazara without scenes? Should we expose/impose the low-level API (i.e. render queues, culling and such)?
5) If so, why would one use Nazara without it's SDK?
I think we have to prepare Nazara for the beta before thinking of this.

What about the scene inheriting node, and Node having a AttachChild method
? To me it feels like the scene api should be part of nazara, not the sdk.
Le 25 janv. 2015 17:11, "Jérôme Leclercq"<EMAIL_ADDRESS>a
écrit :

The current Scene API is stuck between the modern way of creating nodes
(Scene::CreateNode) and the old way (Node::SetParent), because neither of
them is perfect.

How to handle nodes children with the modern way?
How to handle non-scene node parenting with the modern way?
How to handle scenes in the NDK (Nazara Development Kit)? I think the
Scene API should not be a part of Nazara but a part of it's SDK, because a
sound emitter should be able to be part of the scene as a node, same goes
for a model and a physical object.

Which leads us to
4) How to handle models/sprite/text rendering in Nazara without scenes?
Should we expose/impose the low-level API (i.e. render queues, culling and
such)?
5) If so, why would one use Nazara without it's SDK?
I think we have to prepare Nazara for the beta before thinking of this.
—
Reply to this email directly or view it on GitHub
https://github.com/DigitalPulseSoftware/NazaraEngine/issues/34.

I though of it, it only sloves the first problem, still no way of handling non-scene nodes.
I really feel like Nazara should be divided in two parts, the lower-level libraries (the current Nazara Engine) which would only gives algorithms without forcing any architecture, that would be the SDK which would complete Nazara as a "game engine", allowing you to create games very easily with a specified architecture, and tools.
The good thing is that the hardest part has already been made, now it's time to work on the SDK.

What's a non-scene node ?

Cameras, sound nodes, etc.

Ah allright I understand. Well, to me it's definitely scene nodes, except they are not related to rendering. What bothers you with that approach ?

NzScene : NazaraGraphics
NzSound : NazaraAudio
They don't know each other.
I'm starting to make a Entity Component System to replace the scenes, into the SDK, it should solve those problems.

This is currently being resolved in the NDK branch


Manual tick labels are wrong when some ticks are outside the data area

When the set value goes out of the display area, the position of the manual scale label shifts.
Example of this cookbook
https://swharden.com/scottplot/cookbooks/4.1.6-beta/category/advanced-axis-features/#manual-tick-labels

Thanks for pointing this out @ohru131! I think this issue was caused by https://github.com/ScottPlot/ScottPlot/commit/c3959a62e6221891332e46edd52186c115a13cfc#diff-7cd6b7e0052921f4f3505e06626b7bc81231f798c9bba395075ef9daf3a8b513


pkg/cors: add authorization into Access-Control-Allow-Headers

This helps browser to send auth-related request to etcd server when
cors flag is set.
fixes #3766
@robszumski @sym3tri Could you help to review this one?

LGTM, assuming it works.

@densetsunozero Would you like to check whether this works for your case?

LGTM

@sym3tri Thanks for reviewing! I would wait the response from @densetsunozero for one day before merging.

@yichengq It works now. Thanks!


NPE When Printing

I've built and rebuilt but continue to receive nullpointerexceptions in logs when trying to print:
java.lang.NullPointerException: Attempt to get length of null array
at com.brother.ptouch.sdk.Printer.tempFileDelete(Printer.java:766)
at com.brother.ptouch.sdk.Printer.finish(Printer.java:1756)
at com.brother.ptouch.sdk.Printer.getLabelInfo(Printer.java:1570)
at com.brother.ptouch.sdk.Printer.checkLabelInPrinter(Printer.java:1615)
at com.threescreens.cordova.plugin.brotherPrinter.BrotherPrinter$2.run(BrotherPrinter.java:209)
Debugging the application shows that this occurs when attempting to delete temp files.
Any ideas?

What branch and revision are you on?
Are you using the latest brother SDK or the older one?
Looks to me like that NPE is coming from within the SDK... but maybe something changed in recent versions and we need to update the BrotherPrinter.java module.

Thanks for writing back. And also, thank you for putting in the work to create this plugin. Great job!
I spent several hours digging into this since my post. I went as far as downloading, building and debugging the sample app that comes with the latest Brother SDK. After researching, it turns out that there were two key issues:

There needs to be an explicit permissions request before printing can be performed due to the fact that the libraries attempt to write a temporary file to the filesystem. I'm using ionic 3 and followed instructions outlined here: https://ionicframework.com/docs/native/android-permissions/

The second issue related to the label size. I had to update your BrotherPrinter.java code's "printViaSdk" method so as to remove deprecated methods and to include the proper label size for this QL720NW that I'm using. Thanks the sample app, trial and error led to the right size. Here's an excerpt. If you'd like, I can create a pull request
             myPrinterInfo.labelNameIndex = LabelInfo.QL700.valueOf("W62H100").ordinal();
             myPrinterInfo.isAutoCut = true;
             myPrinterInfo.isCutAtEnd = true;

I can think of a few other things that can be added to this plugin to enhance it, such as adding the ability to print a pdf, providing a printer selection capability, and providing a means of specifying paper size.
Again, thanks for your work on this!

In the latest update to the fork I'd created prior to the pull request, I've added the ability to print a pdf with the plugin. Really needed that function.

Isn't the PDF functionality exempt from the public SDK? I believe it was previously, anyway... and it required a non-distributable library. The one included with the SDK watermarked the PDFs, and was limited in other ways too, I believe.
I'm happy to support it, but we need to be careful in how we implement it, if these restrictions still exist.

I have a QL720NW here too, but I haven't worked with this plugin in well over a year or so. Previously the SDK supported a method to read the current label in the printer, and it was not necessary to hard-code it. Was there a regression there on Brother's part in the newer SDK? Or is there a problem in the current implementation of reading the label from the printer itself? It should not need to be hard coded...

My point is, I have the contact info for some people at Brother, and if there's a legitimate regression here, and the deprecated method is the one that reads the label from the printer... well... I'm going to give someone an ear-full. ;)

We could always build up a monstrosity of hard-coded configurations for each printer in a huge switch statement or something, but that really is horrible, and shouldn't be necessary. :(


No PSR-18 clients found. Make sure to install a package providing "psr/http-client-implementation"

Summary of problem or feature request
We've upgraded our Dev Elastic deployment to 8.4 and in the process of looking at whether our service implementation needs an update.
Looking through the documentation it appears not but I'm getting
Http\Discovery\Exception\NotFoundException: No PSR-18 clients found. Make sure to install a package providing "psr/http-client-implementation". Example: "php-http/guzzle7-adapter". in Http\Discovery\Psr18ClientDiscovery::find() (line 27 of /var/www/html/vendor/php-http/discovery/src/Psr18ClientDiscovery.php).
There seems to be no mention of this in the App Search docs. I even installed with dependencies.
Code snippet of problem
 protected function connect(): void {
    $elastic_client = new Client([
      'host' => $this->getApplicationHost(),
      'app-search' => [
        'token' => $this->getApiToken(),
      ],
    ]);

    $this->appSearch = $elastic_client->appSearch();
  }

System details

PHP Version 8.0
ES-PHP client version 8.4
Elasticsearch version 8.4

Take a look at this page and see if one of the following packages meets your needs. https://docs.php-http.org/en/latest/clients.html
I ran into this as well and I already have Guzzle6 installed as a required so I added "php-http/guzzle6-adapter" to my project and it got me past that error.

Thanks @chrisryan for the support. @M-Brico did you try the suggestion? Thanks.

Cheers. I added php-http/guzzle7-adapter in the end but shouldn't this be in the docs or as a dependency?

@M-Brico , @chrisryan I propose the PR #29 to fix issue related to the autodiscovery of HTTP client using Guzzle as default adapter.

Thanks @chrisryan for the feedback. My first intention was to give flexibility to the developers to use any PSR-18 client libraries. Of course, there some some edge cases but I think also the documentation and composer suggest can help on this.

@chrisryan I just sent PR #32 for adding a README section and also a suggest in composer.

@ezimuel Those updates make sense to me. Thank you for making them.


TSS-P Corolla: use torque lateral control

pid 69262f5e389c247d|2022-05-07--09-48-23
torque 69262f5e389c247d|2022-05-07--10-25-42
torque joint model 69262f5e389c247d|2022-05-09--08-02-57
pid joint model in progress
master commit ed41b14b55426fe4400e1a87ac7c4e9d4f031b40
https://github.com/ntegan1/openpilot/tree/tsspcorollatorque-patches/p2

We will fine tune the PI gains in the coming days and then start to bring cars over from there, so making a draft for now

@ntegan1 Can you rebase and get one more drive before and after on a common route? Then should be good to merge 🥳

@sshane getting another route now.
route is reversed between pid/torque since i'm going somewhere and switching to pid and then going back, hope that's ok.

Thanks for the updated routes! We've decided to wait until after release to merge this

You can keep this as a draft, or reopen when torque control is ready btw

no new routes cause banned for now


Cosmos DB connection string guide outdated

Screenshots are all outdated

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: c2533408-0a14-751c-fe81-701c68be1f21
Version Independent ID: 391dfe80-761d-f079-982a-85ea89767554
Content: Connect a MongoDB application to Azure Cosmos DB
Content Source: articles/cosmos-db/mongodb/connect-account.md
Service: cosmos-db
Sub-service: mongodb
GitHub Login: @gahl-levy
Microsoft Alias: gahllevy

@smolattack, these screenshots are outdated as the product group works on a new interface for credentials.
For now, we will remove the screenshots until the new interface is ready.


mat-drawer should come after mat-content in the DOM when position "end" is used for mode="side"

Bug
mat-drawer with position end , still adds the drawer before the content in the DOM. This is causing issues for me as I need expect the content to be ahead of drawer when using keyboard nav or using Virtual cursor.
What is the expected behavior?
mat-drawer should come after mat-content when position = end.
What is the current behavior?
mat-drawer is before mat-content when position = end.
What are the steps to reproduce?
StackBlitz starter: https://stackblitz.com/angular/yvlxndmxyod?file=src%2Fapp%2Fsidenav-autosize-example.ts
Just add position="end" attr to mat-drawer and verify  the DOM
What is the use-case or motivation for changing an existing behavior?
Accessibility as tab order does not make sense here. Visibily its after the left side content but structurally its not.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
v7.3.7
Is there anything else we should know?
Seems like https://github.com/angular/components/blob/09dc4594259cf1d6b34a5a0893c0bccaa132c319/src/material/sidenav/drawer-container.html#L4 is causing the issue. Probably position in the DOM should be determined by the "position" attribute ? Full Disclosure: I have not yet played around with the code yet to see if that would fix it and if its even possible to fix.
If there is a workaround that I am not probably missing that would be super helpful as well but I could not find anything.

Closing as a duplicate of https://github.com/angular/components/issues/15247.


Updating reference of the images

The reference was pointing to nsma. It was updated to eubr-atmosphere organization.

@nmsa , can you review it and close it?
The branch can be deleted after that.


Display saved templates in the dashboard

Feature Description
A user has requested a way to customize the default view for the Templates dashboard. Currently, the Templates dashboard loads all templates, but this feature request would allow a customized / filtered view of the templates on load.
Alternatives Considered

Additional Context

related support topic: https://wordpress.org/support/topic/remove-default-story-and-page-templates/

So the question is really to list saved page templates in the dashboard?
The dashboard only shows the default templates, not saved page templates.
Default templates are essentially full stories consisting of multiple pages, plus a description, etc.
On the other hand, custom saved templates are only really a single page, without any other information. Showing these in the dashboard would therefore require UX.
The support topic also mentions the editor.
I'd suggest mentioning to the user that once they select "Saved Templates" in the editor, that selection will persist the next time they load the editor:

I think knowing that should solve their request.

This user wants a way to either remove or hide the default templates from the templates dashboard, as well as any default page templates from the page templates panel.

Thanks for creating this issue.
The main purpose of this request is so editors stick as much as possible to a certain style guides, therefore we don't want to have any of the default story templates in the dashboard as well as removing the default page templates from the editor.

I'd suggest mentioning to the user that once they select "Saved Templates" in the editor, that selection will persist the next time they load the editor
What we are looking for is to not have the Default templates option at all.
I was looking for an option in the dashboard and editor settings that could be filtered to true or false, or maybe filter the list of the actual templates to exclude/include the desired ones.
I hope this clarifies it a bit more.

Thanks a lot, that definitely does clarify it!
It sounds like we might be able to achieve this using a custom (meta) capability and allow developers to grant access for the default templates via code. That'd allow disabling/hiding them completely. Does that work for your use case or would it need to be a UI setting?

@swissspidy Yes, that sounds good. Thanks!

@lucymtc ICYMI, this is how the default templates can now be disabled on the dashboard and in the editor:
function gh_10124_change_get_settings( array $settings ): array {
	$settings['canViewDefaultTemplates'] = false;

	return $settings;
}
add_filter( 'web_stories_editor_settings', 'gh_10124_change_get_settings' );
add_filter( 'web_stories_dashboard_settings', 'gh_10124_change_get_settings' );

Available since 1.17.0


Refactor port checking logic

Test Case

Tested-by: Xiaochen Wang<EMAIL_ADDRESS>Date: Mon Mar 18 20:36:02 CST 2019
hostname: e100069206110.zmf
pwd: /home/xiaochen.wxc/work/github/ngx_http_proxy_connect_module
cases: t
git log:

commit e88cf880a333a480dded849422df1e92466d10cf (HEAD -> for_pull_request, origin/for_pull_request)
Author: Xiaochen Wang<EMAIL_ADDRESS>Date:   Mon Mar 18 20:07:48 2019 +0800

    Refactor port checking logic

case result:

$ TEST_NGINX_BINARY=/home/xiaochen.wxc/work/github/nginx-1.15.9/objs/nginx prove -v -I /home/xiaochen.wxc/work/github/nginx-tests/lib t
t/http_proxy_connect.t ..........
+ test_enable_rewrite_phase: 1
+ DNS server: try to bind server port: 18085
+ DNS server: daemon pid: 20248
+ DNS server: working
ok 1 - 200 Connection Established
ok 2 - 200 Connection Established server name
ok 3 - 200 Connection Established server name
ok 4 - 200 Connection Established server name
ok 5 - 200 Connection Established not allowed port
ok 6 - Get method: proxy_pass
ok 7 - Get method: return 200
ok 8 - forbid CONNECT request without proxy_connect command enabled
ok 9 - set remote address
ok 10 - set local address and remote address
ok 11 - $connect_host, $connect_port, $connect_addr
ok 12 - dns resolver fail
ok 13 - skip proxy connect module without rewrite phase enabled
ok 14 - skip proxy connect module without rewrite phase enabled: if/return
ok 15 - 200 for default root directive without location {}
ok 16 - 404 for default root directive without location {}
+ DNS server: stop
1..16
ok 17 - no alerts
ok 18 - no sanitizer errors
All 16 subtests passed
t/http_proxy_connect_timeout.t ..
+ test_enable_rewrite_phase: 1
+ DNS server: try to bind server port: 18085
+ DNS server: daemon pid: 20282
+ DNS server: working
ok 1 - connect timed out: set $var # TODO # This case will pass, if connecting <IP_ADDRESS> timed out.
ok 2 - connect timed out log: get $var & status=504 # TODO # This case will pass, if connecting <IP_ADDRESS> timed out.
ok 3 - connect timed out log: get $var
ok 4 - connect/send/read timed out log: get $var
+ DNS server: stop
1..4
ok 5 - no alerts
ok 6 - no sanitizer errors
All 4 subtests passed
        (2 TODO tests unexpectedly succeeded)

Report-generated-by: http://wxc.oss.aliyuncs.com/dtest.sh

Test Case

Tested-by: Xiaochen Wang<EMAIL_ADDRESS>Date: Mon Mar 18 20:36:02 CST 2019
hostname: e100069206110.zmf
pwd: /home/xiaochen.wxc/work/github/ngx_http_proxy_connect_module
cases: t
git log:

commit e88cf880a333a480dded849422df1e92466d10cf (HEAD -> for_pull_request, origin/for_pull_request)
Author: Xiaochen Wang<EMAIL_ADDRESS>Date:   Mon Mar 18 20:07:48 2019 +0800

    Refactor port checking logic

case result:

$ TEST_NGINX_BINARY=/home/xiaochen.wxc/work/github/nginx-1.15.9/objs/nginx prove -v -I /home/xiaochen.wxc/work/github/nginx-tests/lib t
t/http_proxy_connect.t ..........
+ test_enable_rewrite_phase: 1
+ DNS server: try to bind server port: 18085
+ DNS server: daemon pid: 20248
+ DNS server: working
ok 1 - 200 Connection Established
ok 2 - 200 Connection Established server name
ok 3 - 200 Connection Established server name
ok 4 - 200 Connection Established server name
ok 5 - 200 Connection Established not allowed port
ok 6 - Get method: proxy_pass
ok 7 - Get method: return 200
ok 8 - forbid CONNECT request without proxy_connect command enabled
ok 9 - set remote address
ok 10 - set local address and remote address
ok 11 - $connect_host, $connect_port, $connect_addr
ok 12 - dns resolver fail
ok 13 - skip proxy connect module without rewrite phase enabled
ok 14 - skip proxy connect module without rewrite phase enabled: if/return
ok 15 - 200 for default root directive without location {}
ok 16 - 404 for default root directive without location {}
+ DNS server: stop
1..16
ok 17 - no alerts
ok 18 - no sanitizer errors
All 16 subtests passed
t/http_proxy_connect_timeout.t ..
+ test_enable_rewrite_phase: 1
+ DNS server: try to bind server port: 18085
+ DNS server: daemon pid: 20282
+ DNS server: working
ok 1 - connect timed out: set $var # TODO # This case will pass, if connecting <IP_ADDRESS> timed out.
ok 2 - connect timed out log: get $var & status=504 # TODO # This case will pass, if connecting <IP_ADDRESS> timed out.
ok 3 - connect timed out log: get $var
ok 4 - connect/send/read timed out log: get $var
+ DNS server: stop
1..4
ok 5 - no alerts
ok 6 - no sanitizer errors
All 4 subtests passed
        (2 TODO tests unexpectedly succeeded)

Report-generated-by: http://wxc.oss.aliyuncs.com/dtest.sh


Does not work on Opera Mini

On Opera Mini, the carousel pins to the last slide(s) and won't move. Swiping, clicking the indicator dots, & next / previous buttons don't work.

Are you getting any console errors?

Not sure how to check, sorry!

I think to get console info on opera mini you might have to get micro emulator.
Opera mini doesn't support certain events; so I wonder if it's related to that.

@leggomuhgreggo after looking at that list, does ANYTHING work on opera mini?

Opera mini is nuts. So, opera mini loads all page data through a proxy server that compresses it into a custom binary to increase speed (I think google is trying something similar, actually). What I didn't know is that something about the way they're doing it causes all these weird curtailments on JS execution.

When browsing the Web in Opera Mini mode, JavaScript is processed by the proxy server, and is merely rendered on the device. This limits interactivity. Scripts cannot be run in the background on the device. If a script is paused (on the server), the browser must communicate with the server to unpause it. JavaScript will only run for a couple of seconds on the Mini server before pausing, due to resource constraints.[53]

According to the documentation for Opera Mini 4, before the page is sent to the mobile device, its onLoad events are fired and all scripts are allowed a maximum of two seconds to execute. The setInterval and setTimeout functions are disabled, so scripts designed to wait a certain amount of time before executing will not execute at all.[54] After the scripts have finished or the timeout is reached, all scripts are stopped and the page is compressed and sent to the mobile device. Once on the device, only a handful of events are allowed to trigger scripts

@kenwheeler lol, didn't look into this enough when creating the ticket. I think that it's fine to close this, though defensively applying the plugin might be something worth looking into.


typo in the docs "Ready" instead of "read"

https://tzlaine.github.io/parser/doc/html/boost_parser__proposed_/this_library_s_relationship_to_boost_spirit.html says:

If you are familiar with Spirit 2 and/or Spirit X3, you may be interested in this section. If you are not, and you have not ready the tutorial for Boost.Parser yet, very little of this will make sense.

Should probably says "have not read".

Yup.  That's wrong.  Thanks!


Importing webpack config file giving unhelpful Webpack error

I'm attempting to import a webpack config file that's already working with our webpack server, but when building rsg-alt, it fails. Here is my config file:
const webpackConfigFile = require('./internals/webpack/webpack.dev.babel');

module.exports = {
	title: '$TITLE',
	reactDocgen: {
		files: ['app/components/*/index.js']
	},
	webpackConfig: webpackConfigFile
};

And here's the error when runing rsg:
{
    "name": "rsg/rsg-lib",
    "hostname": "MacBook-Pro-2.local",
    "pid": 67971,
    "level": 50,
    "err": {
        "message": "request.replace is not a function",
        "name": "TypeError",
        "stack": "TypeError: request.replace is not a function
		    at $PATH/node_modules/rsg-alt/node_modules/webpack/lib/NormalModuleFactory.js:72:27
		    at $PATH/node_modules/rsg-alt/node_modules/webpack/lib/NormalModuleFactory.js:28:4
		    at handleExternal ($PATH/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js:25:32)
		    at $PATH/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js:81:24
		    at handleExternals ($PATH/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js:78:5)
		    at ExternalModuleFactoryPlugin.<anonymous> ($PATH/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js:79:5)
		    at $PATH/node_modules/rsg-alt/node_modules/webpack/lib/NormalModuleFactory.js:159:3
		    at NormalModuleFactory.applyPluginsAsyncWaterfall ($PATH/node_modules/tapable/lib/Tapable.js:75:69)
		    at NormalModuleFactory.create ($PATH/node_modules/rsg-alt/node_modules/webpack/lib/NormalModuleFactory.js:144:8)
		    at $PATH/node_modules/rsg-alt/node_modules/webpack/lib/Compilation.js:214:11
		    at $PATH/node_modules/async/lib/async.js:181:20
		    at Object.async.forEachOf.async.eachOf ($PATH/node_modules/async/lib/async.js:233:13)
		    at Object.async.forEach.async.each ($PATH/node_modules/async/lib/async.js:209:22)
		    at Compilation.addModuleDependencies ($PATH/node_modules/rsg-alt/node_modules/webpack/lib/Compilation.js:185:8)
		    at Compilation.processModuleDependencies ($PATH/node_modules/rsg-alt/node_modules/webpack/lib/Compilation.js:170:7)
		    at Compilation.moduleReady ($PATH/node_modules/rsg-alt/node_modules/webpack/lib/Compilation.js:412:9)"
    },
    "msg": "request.replace is not a function",
    "time": "2016-07-07T20:37:30.911Z",
    "v": 0
}

Checking online, there's not much information about this error. The common theme is that the config object's structure is not what webpack expects.
Now, my first guess was that my project's webpack version was higher than rsg-alt's (it is), so perhaps there was an update to the webpack config object structure. However I updated the webpack version locally and (after a few unrelated issues), the same error emerges.
Has anyone encountered this before? Or, have any ideas on how to find what about my config file rsg's webpack setup doesn't like?

It's unfortunately hard to say without knowing what your webpack config looks like. You're also welcome to submit a pr to update the webpack items

@i-a-n check this https://www.garysieling.com/blog/fixing-webpack-error-typeerror-request-replace-not-function

Thanks for the reply! I'll try to find where the mismatch is coming from and if there's a fix I can apply to the webpack setup here I'll submit a PR.
If it's okay with you I'd like to leave this issue open for a few days in case anyone else has encountered it. I'll close it when I get it working one way or the other. Thanks!

Bunyan certainly isn't helping, as it's outputting what would normally be legible errors and a stack trace as a JSON object in a big string.

I'm okay with removing bunyan in favor of debug instead

Since there doesn't seem to be a configuration for RSG's logging, what benefit would a logger like bunyan or debug provide over the native console methods?

Because some build systems will want logging in specific formats, like json

I've got the exactly the same issue, with the same stack trace. Any news on this?

None, but always open to PRs for it

Ok, i will be happy to contribute, however the error doesn't tell much, so I'll try to remove each loader/plugin one by one to see if I can find the cause of it

Sorry about that :(

@fenos Sorry I don't have much help to give: I narrowed down that the error only happened after I included my app.js as an entry in the config file. My app.js has like five hundred other things it does, none of which were relevant to rsg-alt, so instead of finding which one broke everything, I just duplicated my webpack config and removed everything that wasn't relevant to building a style guide. So I have a special webpack config file now just for rsg-alt which isn't perfect, but at least it works.
Good luck.

Thanks for looking into it, @i-a-n. Was your entry being set as an array or an object?

@theogravity Array. It looked something like this, I believe:
entry: [
		'eventsource-polyfill',
		'webpack-hot-middleware/client',
		path.join(process.cwd(), 'app/app.js')
	],

I seem to recall that just removing the last item fixed the problem. But I can't quite remember because this was almost three weeks ago and that might as well have been three years ago in developer-time.

I think that might be the problem. If you look at the rsg entry prop, it's not an array:
https://github.com/theogravity/react-styleguide-generator-alt/blob/master/lib/rsg.js#L325
https://webpack.github.io/docs/configuration.html
According to the webpack docs, either is valid. Unsure right now what the right fix would be - using an array vs object has different use cases depending on the project. Open to suggestions.

@theogravity yes! that what exactly the issue, to fix that i did as following (it should work either with object or array as entry value)
var entry = [];
if (Array.isArray(this.opts.webpackConfig.entry)) {
  entry = this.opts.webpackConfig.entry;
  delete this.opts.webpackConfig.entry;
}

return deepmerge({
    entry: {
      app: [path.resolve(__dirname, '../app/index.js')].concat(self.opts.dev ? [
        'webpack-hot-middleware/client'
      ] : []).concat(entry)
    },

What do you think?

How would it work if the incoming config was an object? Is it necessary to delete entry from the user's webpack config?

Would not deepmerge take care of merging the object into entry?

touche, you are correct

Thanks everyone!!


Add possibility to use override functionality to

It is a bit simple. There is no check that the override dictionary contains valid information, but I don't know the internals enough to make a good judgement of what should it be checking for.

Thanks! It's a good first step. I took the liberty of fixing the lint errors and also adding functionality to use override in to_api() too (where it currently simply merges override with the template).
Should add tests for this at some point :)


Fix null disposal bug in all samples

Link to relevant issue
This pull request resolves #122
Description of changes
Fixes a bug where all sample extensions (except for notepad and weather-webview) were failing to properly dispose of webview panel resources when closed.

Note: I originally used the following syntax to fix this bug (which works):
this._panel.onDidDispose(this.dispose, this, this._disposables);

but then ultimately opted to use a different syntax that follows the conventions found in the official vscode webview sample:
this._panel.onDidDispose(() => this.dispose(), null, this._disposables);

Also massive thank you again @mainIdal and @kahlkevin for calling this out/contributing to a fix –– it has been deeply appreciated 😊


Issue/710 settings path

Fixes issue #710

Codecov Report

Merging #1134 into develop will decrease coverage by 0.05%.
The diff coverage is 60%.

@@             Coverage Diff             @@
##           develop    #1134      +/-   ##
===========================================
- Coverage    95.82%   95.76%   -0.06%
===========================================
  Files           49       49
  Lines         3520     3522       +2
===========================================
  Hits          3373     3373
- Misses         147      149       +2

Impacted Files
Coverage Δ

isort/main.py
83.8% <60%> (-0.81%)
:arrow_down:

Continue to review full report at Codecov.

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


Newsletter - November 2nd

https://docs.google.com/document/d/1sRez-kki99HWwP6XhoumYAko9U5QS79Brfp2PNYSkGY/edit#
Is the google draft doc
@kitblake @plantether would be awesome if you had sometime today to review the wording and add any ideas you have.
Test email will go out today too so we can review that

@patrick727 Google says I need permission, so I requested access. Can you check?
Weird, usually an edit link works.

ah sorry @kitblake I just saw this. I thought i had permissions set

I've updated the access rights. Anyone who's member of Google Group<EMAIL_ADDRESS>can edit. The rest can only insert comments.
Like that people have to be logged in to edit and we can see who changed the doc.


Delete: Error message not specific enough

Invalid name: Only alphanumeric characters are allowed, and it should not be blank.
Maybe need to identify which error is it?

Rebut:
It's okay, because the user will already see how to fix the error.
It's already specific.


List Multipart Uploads not supported?

I'm using s3Client.listMultipartUploads to check for existing multipart uploads, but it always returns an empty list in getMultipartUploads. After a quick look in FileStoreController it seems that this is not supported, right? It would be great if this could be added, I might also try to submit a PR for this.

Sure, a PR would be very much appreciated 👍


1 frame every 8 seconds bug

Describe the bug
This bug slows the game down to 1 frame every 8-14 seconds. I have tested this with and without specifically Rimthreaded, and this error only appears with rimthreaded.
To Reproduce
Download the save I put into this bug report so you can load the save in question.
Make sure the mods that are on  the save are activated and in the same order.
Load.
As soon as you load, you should be greeted with the error that I was experiencing.
Error Log
Player.log
Mod List
Mods.txt
I understand that quite a lot of mods on this list are incompatible, but this is a save made before adding rimthreaded. Cat told me to upload regardless.
Screenshots
I forgot to take a screenshot for this issue, but it has several messages regarding advanced power generators. You'll find the messages of the debug menu in the player.log file sent.

Torann.ARimworldOfMagic seems to be the cause of the errors. try to reproduce this issue with the newest RT version. and if it happens again try with only RimThreaded & a rimworld of magic


sync signalr test scenarios

Syncing existing SignalR test scenarios from ADO repo.

Validation errors are due to wrong swagger detection logic, I am fixing it.
/cc @changlong-liu for awareness if want to try SDK gen in newer API version and more examples coveraged

/azp run

/azp run


check if an editor is open

Attempting to toggle the Spellcheck when editor isn't open throws up an error, this simple fix fixes that.

Sorry it took so long to merge this - I had a few issues with the core extension I hope are largely resolved now.  Thanks!

@seanmcbreen , no worries


No warnings or failed cis benchmarks

What steps did you take and what happened:
I get different results for CIS benchmarks when I use kube-bench and the trivy operator.
When I run the built-in scanner of the trivy-operator for cis benchmarks I don't get failed checks. All 116 checks are successful, although I know that one or the other should at least throw a warning.
Prometheus output via Servicemonitor
trivy_cluster_compliance{container="trivy-operator", description="CIS Kubernetes Benchmarks", endpoint="metrics",  job="trivy-operator", service="trivy-operator", status="Pass", title="CIS Kubernetes Benchmarks v1.23"} 116

Also in the clustercompliance resource I can see that no checks fail:
kubectl clustercompliancereports cis -o yaml

When I run the kube-bench job in the same cluster and context, I get the expected warnings and errors for the cis benchmarks.
kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml
kubectl kube-bench-<id> -f

What did you expect to happen:
I expect to get the same warnings and errors for the CIS benchmarks. Regardless of which scanner I use for this.
HELM Values:
resources:
  limits:
    cpu: 150m
    memory: 100M
trivy:
  ignoreUnfixed: true
  mode: ClientServer
operator:
  configAuditScannerEnabled: false
  vulnerabilityScannerReportTTL: "86400s"
  vulnerabilityScannerScanOnlyCurrentRevisions: true
  rbacAssessmentScannerEnabled: false
  infraAssessmentScannerEnabled: false
  exposedSecretScannerEnabled: false
compliance:
  reportType: all
  # for test purposes currently set every minute
  cron: "* * * * *"
serviceMonitor:
  enabled: true

Environment:

Trivy-Operator (HELM Cart version): 0.14.1
Trivy-Operator (Image version):ghcr.io/aquasecurity/trivy-operator:0.14.1
Kubernetes version: v1.23.7
OS: Linux

@yanehi when you getting the report with the following command , do you see fail test or warn ?
kubectl clustercompliancereports cis -o yaml

Hi @chen-keinan I am in the same team as @yanehi. Unfortunately we do not.

Hi @chen-keinan I am in the same team as @yanehi. Unfortunately we do not.

why you expect for it to threw warning ?

Not sure if I understand you correctly. According to the results of kube-bench we have ~10 checks in the CIS scan that are not passing. Shouldn't the trivy operator detect the same results?
Checks with same IDs as in the kube-bench CIS scan are shown as passing when performed by the operator.

Checks with same IDs as in the kube-bench CIS scan are shown as passing when performed by the operator.

checks that are failing or you get warning ?

I see that infraAssessmentScannerEnabled has been disabled , it should be true , compliance reports are produced from infra assessment checks

@chen-keinan
This is the summary of the kube-bench job:
== Summary policies ==
0 checks PASS
0 checks FAIL
30 checks WARN
0 checks INFO

== Summary total ==
21 checks PASS
4 checks FAIL
35 checks WARN
0 checks INFO

One of the failing checks is:
[FAIL] 2.2 Ensure that the --client-cert-auth argument is set to true (Automated)

The same check passes in the report generated by trivy-operator:
    - id: "2.2"
      name: Ensure that the --client-cert-auth argument is set to true
      severity: CRITICAL
      totalFail: 0

this is the CIS scan summary of the trivy-operator:
status:
  summary:
    passCount: 116

If I am not mistaken we had infraAssessmentScannerEnabled set to true at some point. But it caused no difference.

@tibuntu do you mind perform another test with  infraAssessmentScannerEnabled=true ?  it will not work without it.
also you could check the clusterInfraAssessmentReport produce data.

Sure thing!
I've updated the relevant Helm values:
      operator:
        configAuditScannerEnabled: false
        vulnerabilityScannerReportTTL: "86400s"
        vulnerabilityScannerScanOnlyCurrentRevisions: true
        rbacAssessmentScannerEnabled: false
        infraAssessmentScannerEnabled: true
        exposedSecretScannerEnabled: false
      compliance:
        reportType: all
        cron: "* * * * *"

CIS result is unchanged:
  summary:
    passCount: 116
  updateTimestamp: "2023-06-18T08:11:00Z"

I have seen the node-collector-* pods when testing the functionality on Friday, however this time no such pod was created. But I can see that the operator has started the related worker:
{"level":"info","ts":"2023-06-18T08:09:36Z","msg":"Starting workers","controller":"infraassessmentreport","controllerGroup":"aquasecurity.github.io","controllerKind":"InfraAssessmentReport","worker count":1}

Btw. the Kubernetes version initially reported by @yanehi is not correct. The cluster we are using to test the functionality was recently updated to v1.25.6

ClusterInfraAssessmentReport

what is the output of this command :
kubectl get clusterinfraassessmentreport -o wide

For some reason it simply doesn't exist:
> kubectl get clusterinfraassessmentreport -o wide
No resources found

> kubectl get clusterinfraassessmentreport
No resources found

same for the infraassesmentreport
> kubectl get infraassessmentreport -A
No resources found

Just to provide as much details as possible, these are all environment variables set on the trivy-operator deployment:
        - name: OPERATOR_NAMESPACE
          value: security
        - name: OPERATOR_TARGET_NAMESPACES
        - name: OPERATOR_EXCLUDE_NAMESPACES
          value: kube-system,kube-public,kube-node-lease,ingress-nginx
        - name: OPERATOR_TARGET_WORKLOADS
          value: pod,replicaset,replicationcontroller,statefulset,daemonset,cronjob,job
        - name: OPERATOR_SERVICE_ACCOUNT
          value: trivy-operator
        - name: OPERATOR_LOG_DEV_MODE
          value: "false"
        - name: OPERATOR_SCAN_JOB_TTL
        - name: OPERATOR_SCAN_JOB_TIMEOUT
          value: 5m
        - name: OPERATOR_CONCURRENT_SCAN_JOBS_LIMIT
          value: "10"
        - name: OPERATOR_CONCURRENT_NODE_COLLECTOR_LIMIT
          value: "1"
        - name: OPERATOR_SCAN_JOB_RETRY_AFTER
          value: 30s
        - name: OPERATOR_BATCH_DELETE_LIMIT
          value: "10"
        - name: OPERATOR_BATCH_DELETE_DELAY
          value: 10s
        - name: OPERATOR_METRICS_BIND_ADDRESS
          value: :8080
        - name: OPERATOR_METRICS_FINDINGS_ENABLED
          value: "true"
        - name: OPERATOR_METRICS_VULN_ID_ENABLED
          value: "false"
        - name: OPERATOR_HEALTH_PROBE_BIND_ADDRESS
          value: :9090
        - name: OPERATOR_VULNERABILITY_SCANNER_ENABLED
          value: "true"
        - name: OPERATOR_VULNERABILITY_SCANNER_SCAN_ONLY_CURRENT_REVISIONS
          value: "true"
        - name: OPERATOR_SCANNER_REPORT_TTL
          value: 24h
        - name: OPERATOR_CONFIG_AUDIT_SCANNER_ENABLED
          value: "false"
        - name: OPERATOR_RBAC_ASSESSMENT_SCANNER_ENABLED
          value: "false"
        - name: OPERATOR_INFRA_ASSESSMENT_SCANNER_ENABLED
          value: "true"
        - name: OPERATOR_CONFIG_AUDIT_SCANNER_SCAN_ONLY_CURRENT_REVISIONS
          value: "true"
        - name: OPERATOR_EXPOSED_SECRET_SCANNER_ENABLED
          value: "false"
        - name: OPERATOR_METRICS_EXPOSED_SECRET_INFO_ENABLED
          value: "false"
        - name: OPERATOR_WEBHOOK_BROADCAST_URL
        - name: OPERATOR_WEBHOOK_BROADCAST_TIMEOUT
          value: 30s
        - name: OPERATOR_SEND_DELETED_REPORTS
          value: "false"
        - name: OPERATOR_PRIVATE_REGISTRY_SCAN_SECRETS_NAMES
          value: '{}'
        - name: OPERATOR_ACCESS_GLOBAL_SECRETS_SERVICE_ACCOUNTS
          value: "true"
        - name: OPERATOR_BUILT_IN_TRIVY_SERVER
          value: "false"
        - name: TRIVY_SERVER_HEALTH_CHECK_CACHE_EXPIRATION
          value: 10h
        - name: OPERATOR_MERGE_RBAC_FINDING_WITH_CONFIG_AUDIT
          value: "false"
        - name: OPERATOR_CLUSTER_COMPLIANCE_ENABLED
          value: "true"

additional variables from the trivy-operator ConfigMap:
  compliance.failEntriesLimit: "10"
  node.collector.imageRef: ghcr.io/aquasecurity/node-collector:0.0.6
  nodeCollector.volumeMounts: '[{"mountPath":"/var/lib/etcd","name":"var-lib-etcd","readOnly":true},{"mountPath":"/var/lib/kubelet","name":"var-lib-kubelet","readOnly":true},{"mountPath":"/var/lib/kube-scheduler","name":"var-lib-kube-scheduler","readOnly":true},{"mountPath":"/var/lib/kube-controller-manager","name":"var-lib-kube-controller-manager","readOnly":true},{"mountPath":"/etc/systemd","name":"etc-systemd","readOnly":true},{"mountPath":"/lib/systemd/","name":"lib-systemd","readOnly":true},{"mountPath":"/etc/kubernetes","name":"etc-kubernetes","readOnly":true},{"mountPath":"/etc/cni/net.d/","name":"etc-cni-netd","readOnly":true}]'
  nodeCollector.volumes: '[{"hostPath":{"path":"/var/lib/etcd"},"name":"var-lib-etcd"},{"hostPath":{"path":"/var/lib/kubelet"},"name":"var-lib-kubelet"},{"hostPath":{"path":"/var/lib/kube-scheduler"},"name":"var-lib-kube-scheduler"},{"hostPath":{"path":"/var/lib/kube-controller-manager"},"name":"var-lib-kube-controller-manager"},{"hostPath":{"path":"/etc/systemd"},"name":"etc-systemd"},{"hostPath":{"path":"/lib/systemd"},"name":"lib-systemd"},{"hostPath":{"path":"/etc/kubernetes"},"name":"etc-kubernetes"},{"hostPath":{"path":"/etc/cni/net.d/"},"name":"etc-cni-netd"}]'
  report.recordFailedChecksOnly: "true"
  scanJob.compressLogs: "true"
  scanJob.podTemplateContainerSecurityContext: '{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"privileged":false,"readOnlyRootFilesystem":true}'
  vulnerabilityReports.scanner: Trivy

For some reason it simply doesn't exist:
> kubectl get clusterinfraassessmentreport -o wide
No resources found

> kubectl get clusterinfraassessmentreport
No resources found

same for the infraassesmentreport
> kubectl get infraassessmentreport -A
No resources found

you should have something, it explain why compliance report do no show infra data
btw: are you running on managed cluster (cloud) or on prem?
I suggest to do another simple test , perform the following , lets clean up env and start fresh

uninstall trivy-operator via helm
delete all CRD

kubectl delete crd vulnerabilityreports.aquasecurity.github.io
kubectl delete crd exposedsecretreports.aquasecurity.github.io
kubectl delete crd configauditreports.aquasecurity.github.io
kubectl delete crd clusterconfigauditreports.aquasecurity.github.io
kubectl delete crd rbacassessmentreports.aquasecurity.github.io
kubectl delete crd infraassessmentreports.aquasecurity.github.io
kubectl delete crd clusterrbacassessmentreports.aquasecurity.github.io
kubectl delete crd clustercompliancereports.aquasecurity.github.io
kubectl delete crd clusterinfraassessmentreports.aquasecurity.github.io
kubectl delete crd clusterconfigauditreports.aquasecurity.github.io
``
3. install operator with default values

That was a good idea it seems :)

Deleted the current trivy-operator release via ArgoCD
Removed all CRDs

customresourcedefinition.apiextensions.k8s.io "vulnerabilityreports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "exposedsecretreports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "configauditreports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "clusterconfigauditreports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "rbacassessmentreports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "infraassessmentreports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "clusterrbacassessmentreports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "clustercompliancereports.aquasecurity.github.io" deleted
customresourcedefinition.apiextensions.k8s.io "clusterinfraassessmentreports.aquasecurity.github.io" deleted
Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "clusterconfigauditreports.aquasecurity.github.io" not found

Installed the operator manually via helm

helm install trivy-operator --namespace security aqua/trivy-operator --version 0.14.1

Now several node-collector-* pods showed up, e.g.: node-collector-8b6cf59b6-zx46z
I see lots of infraAssesmentReports:
> kubectl get infraassessmentreport -A
NAMESPACE     NAME                                                         SCANNER   AGE
kube-system   cronjob-backup-etcd                                          Trivy     91s
kube-system   pod-kube-apiserver-k8s-cp-01.test.bit.adacor.host            Trivy     105s
kube-system   pod-kube-apiserver-k8s-cp-02.test.bit.adacor.host            Trivy     2m14s
kube-system   pod-kube-apiserver-k8s-cp-03.test.bit.adacor.host            Trivy     2m6s
kube-system   pod-kube-controller-manager-k8s-cp-01.test.bit.adacor.host   Trivy     95s
kube-system   pod-kube-controller-manager-k8s-cp-02.test.bit.adacor.host   Trivy     101s
kube-system   pod-kube-controller-manager-k8s-cp-03.test.bit.adacor.host   Trivy     2m20s
kube-system   pod-kube-scheduler-k8s-cp-01.test.bit.adacor.host            Trivy     91s
kube-system   pod-kube-scheduler-k8s-cp-02.test.bit.adacor.host            Trivy     115s
kube-system   pod-kube-scheduler-k8s-cp-03.test.bit.adacor.host            Trivy     110s
kube-system   service-kube-prometheus-stack-kube-scheduler                 Trivy     95s

same for clusterinfraassessmentreports:
> k get clusterinfraassessmentreports.aquasecurity.github.io -A
NAME                                      SCANNER   AGE
node-k8s-cp-01.<redact>       Trivy     86s
node-k8s-cp-02.<redact>       Trivy     2m33s
node-k8s-cp-03.<redact>       Trivy     2m9s
node-k8s-worker-01.<redact>   Trivy     102s
node-k8s-worker-02.<redact>   Trivy     2m27s
node-k8s-worker-03.<redact>   Trivy     119s

And best thing is, the CIS scan has proper results:
status:
  summary:
    failCount: 36
    passCount: 80

I am going to check if there is any difference on the trivy-operator deployment / configmaps / secrets that I can find that explains the different behaviour.

Ok so here is the final result.
I kept deleting the Helm-Release via ArgoCD, also always deleted the CRDs, and then re-deployed with several, adapted values.
Got it working now with the following values:
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
        excludeNamespaces: "kube-system,kube-public,kube-node-lease,ingress-nginx"
        trivy:
          ignoreUnfixed: true
          serverURL: https://some-url
          mode: ClientServer
        operator:
          configAuditScannerEnabled: true
          vulnerabilityScannerReportTTL: "86400s"
          vulnerabilityScannerScanOnlyCurrentRevisions: true
          rbacAssessmentScannerEnabled: false
          infraAssessmentScannerEnabled: true
          exposedSecretScannerEnabled: false
        compliance:
          reportType: all
          cron: "* * * * *"
        serviceMonitor:
          enabled: true

Setting configAuditScannerEnabled: false was the key factor here.
I am unsure if the current documentation reflects that requirement for proper clustercompliancereports?
Anyways, big thanks for your help and fast replies!

@tibuntu thanks for your update, I'll make sure docs are updated accordingly

Yes, thank you!

Closing following to confirmation from @yanehi


Hey I want to know how to get the plots in the ipython console

Issue Report Checklist

[ ] Searched the issues page for similar reports
[ ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[ ] Restarted Spyder
[ ] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
What steps reproduce the problem?

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Versions

Spyder version:
Python version:
Qt version:
PyQt version:
Operating System name/version:

Dependencies

PASTE DEPENDENCIES HERE

@ajaykumar-br Find the "plots" pane(the tab beside the "Files" and "variable explorer"). In the "plots" pane there is an options menu (a square button with three horizontal lines). In that menu uncheck "mute inline plotting".
@jnsebgosselin What are your thoughts about making a separate "graphics backend" for the plots pane, like a "plots pane" backend. Currently when users pick "inline" they don't actually get "inline" plots like the name would suggest.  We can still keep the "mute" option in the plots pane to show both.

@jnsebgosselin What are your thoughts about making a separate "graphics backend" for the plots pane, like a "plots pane" backend. Currently when users pick "inline" they don't actually get "inline" plots like the name would suggest. We can still keep the "mute" option in the plots pane to show both.

Maybe this option should be moved to the IPython console instead. We could also add the option in the preferences at Preferences > IPython console > Inline backend

Give the importance of switching between Inline and Automatic, I think we should add a new entry to the Plots options menu to control that (the IPython console one is already too crowded).

Give the importance of switching between Inline and Automatic, I think we should add a new entry to the Plots options menu to control that (the IPython console one is already too crowded).

Unless I'm missing a resent change, I still need to restart the kernel to change between the switching between "inline" and  "Automatic". Having a quick access feature in the plots tab that requires a kernel restart could be pretty confusing.
One possible change to the preferences dialogue to simplify the choice would be to have a radio button choice between having "interactive plots in a separate window" and "image plots thin the plots pane or console" the interactive plots would activate the selection for a backend and the image plots option would activate the image settings(which only apply to the inline backend if I'm not mistaken).
Excuse my horrible mock up:

understood the working


Docker Compose based one-click playground

Close #83
Services:

Zookeeper
ClickHouse Cluster(2 replica * 2 shards)
MinIO
MySQL
Hive Metastore
Kyuubi and Spark, include ClickHouse Spark Runtime Jar and Iceberg Spark Runtime Jar

@yaooqinn @ulysses-you @yanghua @cfmcgrady @SteNicholas
I propose to provide a similar docker compose-based playground in Kyuubi project, and we can discussion based on this one, any suggestion is welcome.

Could you please also apply the following changes:
diff --git docker/build-image.sh docker/build-image.sh
index 6ec7c82..edd9d84 100755
--- docker/build-image.sh
+++ docker/build-image.sh
@@ -36,11 +36,26 @@ SCALA_BINARY_VERSION=2.12
 SPARK_VERSION=3.2.1
 SPARK_BINARY_VERSION=3.2

+
+ARCH=$(uname -m)
+if test $ARCH = "x86_64"; then
+       BASE_IMAGE="ubuntu"
+       JDK_ARCH="amd64"
+elif test $ARCH = "aarch64"; then
+       BASE_IMAGE="arm64v8/ubuntu"
+       JDK_ARCH="arm64"
+else
+       echo "Unsupported architecture: $ARCH"
+       exit 1
+fi
+
 docker build \
   --build-arg UBUNTU_MIRROR=${UBUNTU_MIRROR} \
   --build-arg APACHE_MIRROR=${APACHE_MIRROR} \
   --build-arg MAVEN_MIRROR=${MAVEN_MIRROR} \
   --build-arg PROJECT_VERSION=${PROJECT_VERSION} \
+  --build-arg BASE_IMAGE=${BASE_IMAGE} \
+  --build-arg JDK_ARCH=${JDK_ARCH} \
   --file "${SELF_DIR}/image/scc-base.Dockerfile" \
   --tag scc-base:${PROJECT_VERSION} \
   "${SELF_DIR}/image" $@
diff --git docker/image/scc-base.Dockerfile docker/image/scc-base.Dockerfile
index 70dfc9a..1c722c0 100644
--- docker/image/scc-base.Dockerfile
+++ docker/image/scc-base.Dockerfile
@@ -10,14 +10,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.

-FROM ubuntu:20.04
+ARG BASE_IMAGE
+
+FROM $BASE_IMAGE:20.04
 MAINTAINER Cheng<EMAIL_ADDRESS>
 ARG UBUNTU_MIRROR
+ARG JDK_ARCH

 ENV LC_ALL=C.UTF-8
 ENV DEBIAN_FRONTEND=noninteractive
-ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-$JDK_ARCH

 RUN sed -i "s/archive.ubuntu.com/${UBUNTU_MIRROR}/g" /etc/apt/sources.list && \
     sed -i "s/security.ubuntu.com/${UBUNTU_MIRROR}/g" /etc/apt/sources.list && \

Let me merge this one first, and we you can send PR directly later @martin-g


[ feature ] Option to "lock" ( active ) bypass/mute buttons, for each node/group.

When we build our own workflows, we know which nodes we can mute/bypass, and it's very useful.
But if we want to share our workflows with less experienced users, it may be confusing for them.
The GUI, it's literally filled with dozens of buttons that could break the workflow.
So we could have a right click option, to "lock" the mute/bypass button.

I think this would work better if the "locked" state it's allways an "active" state, so:

If a button it's in a "muted/bypass" stated, the right-click Controller option would be to "enable", instead of "locking.
If a button it's locked, and we mute/bypass that group/node, in the graph, it would be unlocked automatically in the Controller.

For consistency, we could use one of the other "circle" icons, for the "locked" state.

We could also have all groups locked by default.
And when we unlock a button, the "play" icon could be blue ( similar to the blue "pin" icon, or the ComfyUI accent color ).
The "locked state" icon would still be white.
If we use the "circle-on" icon for that, we could have a ( deafult ) look that's similar to the ComfyUI nodes.
And this way, we can highlight the icons/groups that are "active", but can be safely toggled.

rgthree has a very usefull function for running only a certain group. I use it all the time, it would be great to have that in the controller, is that what you mean?

rgthree has a very usefull function for running only a certain group. I use it all the time, it would be great to have that in the controller, is that what you mean?

@yovsac This request is to add an option to block bypass/mute buttons in controller windows.
About the running button, you can open a feature request for that: https://github.com/chrisgoringe/cg-controller/issues/new

rgthree has a very usefull function for running only a certain group. I use it all the time, it would be great to have that in the controller, is that what you mean?

@yovsac This request is to add an option to block bypass/mute buttons in controller windows.
About the running button, you can open a new feature request for that: https://github.com/chrisgoringe/cg-controller/issues/new

In the Controller we have a single button to "mute/bypas", for each group/node.
The white "play" icon, just means the group/node it's in an "active" state ( that's not mutted or bypassed ).
The problem is that many nodes don't need to be muted or bypassed, and this can break workflows.
( e.g. we can mute a Load Lora node, but not the Load Checkpoint node ).
This feature would allow to "lock" the "mute/bypas" button, in nodes like the Load checkpoint node.
And instead of the "play" icon, we could have the another icon like this:
mockup:

original:

rgthree has a very usefull function for running only a certain group. I use it all the time, it would be great to have that in the controller, is that what you mean?

@yovsac This request is to add an option to block bypass/mute buttons in controller windows. About the running button, you can open a new feature request for that: https://github.com/chrisgoringe/cg-controller/issues/new

Great, thank you!

I'm also closing this one, for the sake of simplicity.
We would be adding a switch ... for the switch !

We now have good support for multiple switch nodes.
I think it would make more sense to have these switches in the workflow, and add them to the Controller.


Using damask package

Damask job is updated, with the help of damask python package.

now, most of the inputs are created with the help of damask python interface itself
new damask tutorial notebook is added.
the damask workflow is separated from other workflows, since the package has some conflicts with fenics package.

Now a damask job is simply created via:
job = pr.create.DAMASK('job_name')
job.material = job.create.material( <a set of dictionaries and damask objects>)
job.loading = job.create.loading(<a set of dictionaries>)
job.grid = job.create.grid(damask.method, arguments to the method)
job.run()

after the job is run:
job.output.damask loads the results from damask hdf5 file.

Currently, the damask notebook fails, since in the environment fenics package is missing. The error refers to loading fenics in the toolkit.py.
I have tried to separate fenics and damask environment, but it seems the separation is not a perfect solution :(

Please note that self._executable_activate() is not used, since the pyiron resources is not compatible with the name of the input files.

@muh-hassani nice! I haven't looked at the code, but the UI is very nicely pyironized. Ok, I actually did just go peek at the source code 😝 I see that everything under job.create actually winds up being staticmethod and doesn't need the job as an arg at all. I would suggest then to take a look at pyiron_continuum/toolkit.py (added with the Schroedinger stuff, if it's not in this branch just merge in master) and stick material, grid, etc. as tools. I.e. job.material = pr.damask.Material(*args, **kwargs), job.grid = pr.damask.Grid(*args, **kwargs), etc. I like this because (1) we very rarely job.create elsewhere, and (2) I want to push the toolkit syntax 😉
Note: right now I'm maintaining capitalization when the toolkit is returning a class to instantiate, but I'm open to changes. For intstance, I notice that your grid factory has both an instantiator and a method. We could go for pr.damask.grid.Grid and pr.damask.grid. via_voronoi_tessellation, but I'm open to other ideas too.

pr.continuum.damask...

@liamhuber, thanks for your comments. I will try to apply them this evening.

@liamhuber, thanks for your comments. I will try to apply them this evening.

👍 From what I saw your existing code is already super cleanly structured, so it should be very nearly a pure slide such that your existing factories live on a toolkit.

I have made two possibile routes to create the damask inputs:

pr.create.DAMASK.material()
or
pr.continuum.damask.Material()

Both results in the same object.

@liamhuber, although I used the ImportAlarm for importing fenics and all the relevant packages, still the copy_doc decorator caused error. For now, I have commented them out. I hope we can find some other solution.

@liamhuber, although I used the ImportAlarm for importing fenics and all the relevant packages, still the copy_doc decorator caused error. For now, I have commented them out. I hope we can find some other solution.

Right, I guess it's angry when it wants the docs and they're not there. Having fenics truly be optional trumps giving the fenics code good documentation. @pmrv do you have any immediate insight into why this fails this way? I want to fix it, but it's not super high priority.

@pmrv, @liamhuber  I have an issue. The unittests and integration test fail, when Project is being imported from pyiron_continuum. It complains about importing damask, where we have already used ImportAlarm. I am confused since the notebooks pass similar tests! Do you have any idea?

@pmrv, @liamhuber I have an issue. The unittests and integration test fail, when Project is being imported from pyiron_continuum. It complains about importing damask, where we have already used ImportAlarm. I am confused since the notebooks pass similar tests! Do you have any idea?

Nope, no idea 😞 I've got back to back meetings today so I won't have any chance to try it out myself until at least tomorrow. I am happy to keep plugging away at it, and definitely want updates if you figure it out on your end, but just that you have a sense of timescale for help from my end 👍

I have made the job.output a bit richer with average stress  and strain tensors, as well von Mises stress/strain. A plotting function for stress-strain curve is added.


Optimize

Is your feature request related to a problem? Please describe.
Each job execution costs O(n) because it copies the array.
Describe the solution you'd like
Add an increase-key functionality to the heap module
In scheduler instead of extracting the min element and inserting it back in, increase the key of the head of the heap to the new invocation time.

resolved by #8


Keras optional Input with default value

System information

TensorFlow version (you are using): 2.3.rc0
Are you willing to contribute it (Yes/No): yes

Describe the feature and the current behavior/state.
For one of my models i have multiple inputs with some of them only used at inference time and with a default value to 1 during training.
To support that i currently create two models with the functional api, one with those optional inputs and one connected to a constant but it's quite complex to put in place.
Will this change the current api? How?
We could add a new parameter to Input(default_value=) we would need to pass the shape and type as well and make sure the default matches the condition.
It exists in Tensorflow here: https://www.tensorflow.org/api_docs/python/tf/compat/v1/placeholder_with_default
Who will benefit with this feature?
Users with models with a large number of inputs with some features not used during either inference or training.
Any Other info.

@tanguycdls
Do you have any use case that requires the feature you are interested in? Please feel free to submit a PR if you have use cases that supports that feature.Thanks!

@tanguycdls
Do you have any use case that requires the feature you are interested in? Please feel free to submit a PR if you have use cases that supports that feature.Thanks!

Hi Thanks for your response.
My use case is for an embedding with https://www.tensorflow.org/api_docs/python/tf/nn/safe_embedding_lookup_sparse that we implemented as a Keras layer taking a ragged input.
During training all the weights are set to 1 so we dont even feed them to the function while at inference we want to control the weight of each contribution so we feed it also with a ragged of same shape (same len of len).
class Embedd(tf.keras.layers.Embedding):
    def __init__(self, input_dim, output_dim, combiner='sum', **kwargs):
        self.output_dim = output_dim
        self.combiner = combiner
        super().__init__(input_dim, output_dim, **kwargs)

    def get_config(self):
        config = super().get_config()
        return {**config, 'combiner': self.combiner}

    def call(self, inputs):
        out = list(inp.to_sparse() for inp in inputs)
        if len(out) == 1:
          sparse_ids, weight = out[0], None
        else:
          sparse_ids, weight = out
        return tf.nn.safe_embedding_lookup_sparse(self.embeddings,
                                                  sparse_ids=sparse_ids,
                                                  sparse_weights=weight,
                                                  combiner=self.combiner)

    def build(self, inputs):
        super().build(inputs[0])

    def compute_output_shape(self, input_shape):
        batch_size = input_shape[0][0]
        return tf.TensorShape((batch_size, self.output_dim))

I would be happy to do a PR however i have no idea how i could do that without two distinct functional models!

+1 to this feature request. This is a very important feature. It is common to see feature missing when we feed data to the model for both training and inference. We prefer setting the default value of a input tensor inside the model not outside, and now with Keras API we need to either setting up default value in our dataset parser, or use some very tricky workarounds such as always take in sparse inputs and convert to dense to set up default value.

TF 1.x has this feature, it's very useful for end-to-end production.

I found out about tf.OptionalSpec: https://www.tensorflow.org/api_docs/python/tf/OptionalSpec that could work for that usage. But I dont think it's currently compatible with Keras.

Hello everyone,
I'm still unable to set a default value to any layers in keras/ tensorflow.
For production purpose, I find it more convenient to save these features' default value directly in the model. In this way, there is one source of truth during inference (that is defined when the model is built/ trained).
Is this issue planned ?
Thank you and have a good day :)

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.

Hey ! This issue is quite old but maybe it can help:
here is a way to handle NaN value directly in a keras model:
class DefaultValueLayer(keras.layers.Layer):
    """
    Keras Layer subclass that applies a default value. It only works on float features
    """
    def __init__(self, default_value: float, name: str):
        super(DefaultValueLayer, self).__init__(name=name)
        self.default_value = default_value

    def call(self, inputs, *args, **kwargs):
        """
        Check if NaN are present and replace them with the default value

        :param inputs: input tensor
        :return: input tensor freed from NaN
        """

        return tf.where(
            condition=tf.math.is_nan(inputs),
            x=tf.multiply(
                tf.ones_like(inputs),
                self.default_value
            ),
            y=inputs,
            name=f"{self.name}_where"
        )


write support for uncompressed metablocks

ToDo:

[ ] Use metablock reader to set up metablocks in tests.

ref: #126


Create a footer black-11

One need to make this component using HTML and Tailwind CSS. I would suggest to use Tailwind Playgrounds to make things faster and quicker.
Here is a reference to the component.

After building the component please raise a PR with a screenshot of the component and add the component in Footer/footer-black11.html.
If you need to use any icon please use it from Hero Icons
Good luck.

Can you assign me @rupsha014

@AmitDeka go ahead
Congrats 🎉, your PR got merged. To be eligible for the swags from ClueLess. Follow this steps.

Star this repository. ⭐
SignIn / SignUp in [ClueLess Website](https://www.clueless.tech/) .
Go to profile section from the top right hand corner.

Comment your profile URL under this comment tagging the person who merged your PR.

That’s it. Follow the leaderboard !
And don’t forget to share your achievement with your friends.


Advice needed: Extend request callback with fixed action

Use case:
Whenever a user actions on a permission request, I need to send analytics. Rather than implementing this in every callback in my code, I tried to subclass Permission and override request to do that automatically. Basically:
class PermissionWithAnalytics: Permission {
    override func request(_ callback: @escaping Permission.Callback) {
        super.request { [weak self] (status: PermissionStatus) in
            self?.recordAnalytics(status: status)

            // Call the client callback normally.
            callback(status)
        }
    }

    private func recordAnalytics(status: PermissionStatus) {
        let granted = (status == .authorized)
        switch self.type {
        case .camera: // (send analytics)
        // etc
    }
}

And then when I need to request a permission, I go
PermissionWithAnalytics.camera.request { status in
    // other callback code
}

(Note that this is a minimal example; I use many different permission types in many places, and would really prefer not to paste the same analytics code in every single callback.)
However, I'm stuck on initializing instances of Permission using my subclass type. Obviously, this part doesn't work: PermissionWithAnalytics.camera. It returns a Permission instance, not a PermissionWithAnalytics, because camera is a var on Permission. But I can't override camera since it's (1) a static var, not a class var, and (2)  there are no publicly exposed initializers.
Any advice would be greatly appreciated.

@phlippieb
How about utilize Extension?
extension Permission {
    func requestWithAnalytics(_ callback: @escaping Permission.Callback) {
        request { [weak self] (status: PermissionStatus) in
            self?.recordAnalytics(status: status)

            // Call the client callback normally.
            callback(status)
        }
    }

    private func recordAnalytics(status: PermissionStatus) {
        let granted = (status == .authorized)
        switch self.type {
        case .camera: // (send analytics)
            // etc
        }
    }
}

Permission.camera.requestWithAnalytics { status in
    // other callback code
}

Of course! Brilliant. Thanks :)


[BUG] Wrong priority range in network configuration

Describe the bug
When adding a NetworkSecurityGroupRule for an Batch Pool's network configuration the priority has to be between 150 and 3500 (inclusive). According to my tests this is correct and also documented correctly: https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.batch.protocol.models.networksecuritygrouprule.priority?view=azure-dotnet#Microsoft_Azure_Batch_Protocol_Models_NetworkSecurityGroupRule_Priority .
However in the API documentation for virtual networks the range is 100-4096 (https://docs.microsoft.com/en-us/rest/api/virtualnetwork/networksecuritygroups/createorupdate#securityrule). Shouldn't these ranges be the same?
Code Snippet
CloudPool pool = Client.PoolOperations.CreatePool(
	poolId: poolId,
	targetDedicatedComputeNodes: PoolNodeCount,
	virtualMachineSize: vmSize,
	virtualMachineConfiguration: CreateVirtualMachineConfiguration(CreateImageReference()));

pool.NetworkConfiguration = new NetworkConfiguration
{
	EndpointConfiguration = new PoolEndpointConfiguration(new InboundNatPool[]
	{
		new InboundNatPool("RDP", InboundEndpointProtocol.Tcp, 3389, 7500, 8000, new NetworkSecurityGroupRule[]
		{
			new NetworkSecurityGroupRule(120, NetworkSecurityGroupRuleAccess.Allow, "*")
		})
	})
};

try
{
	pool.Commit();
}
catch (Exception ex)
{
	if (ex.InnerException is Microsoft.Azure.Batch.Protocol.Models.BatchErrorException bex)
	{
		var myex = bex.Body.Values[2].Value;
		 Console.WriteLine(myex);
	}
	throw ex;
}

Here "myex" contains the error.

Expected behavior
I expect the priority ranges to be the same in both repos.
Setup (please complete the following information):

OS: Windows 10
IDE : Visual Studio
Microsoft.Azure.Batch, Version=<IP_ADDRESS>,

Additional context
I got forwarded to this repo from: https://github.com/MicrosoftDocs/azure-docs/issues/42798
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x ] Bug Description Added
[x ] Repro Steps Added
[x ] Setup information Added

@microbecode The priority levels of 100-149 are reserved for Batch usage hence the different lower-bound. We believe the upper-bound is simply out-of-date and that the true upper bound is 4096. We will look to have this updated for the next release of the SDK.


feat: add playwright and example test

Add Playwright Support
What I did

ran npm init playwright@latest
updated their example test to fit this repository

How you can test what I did

install all the dependencies npm i
run npm run build
run npm run e2e

What I'd like help on fixing:

currently its required to run npm run build before running tests, it'd be nice during development to be able to rely on the vite server

notes:
I also notice that with the vite dev server and the electron process, the two run somewhat independenly and in certain senarios either by closing the vite dev server or the electron app, one of the processes doesn't gracefully shutdown which can be a bit of an annoyance during development.

I will try to solve the problem of automatically running npm run build before running test.

  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build && electron-builder",
    "preview": "vite preview",
-  "e2e": "npx playwright test"
+   "pree2e": "vite build",
+   "e2e": "playwright test"
  },

@caoxiemeihao the issue with suggested pree2e is now, if I want to change something, I can't use the vite dev server to update my code, I have to continously re-run npm run e2e versus using something like https://www.npmjs.com/package/@deploysentinel/playwright-watch to re-run my code changes automatically during development.


Include example of how to integrate with routify

This is a very cool project template, very easy to get running. Thanks for putting it together and sharing it!
For those of us that struggle a bit with how to configure and setup things it would be great if you could include an example of how to integrate routify into the template. When I tried the most straight forward way from the routify docs I ended up with a "Error: UMD and IIFE output formats are not supported for code-splitting builds." error.

I've been thinking about putting together a full blown framework for this, with components, routing, and the like out of the box. That would likely be a better à candidate for your suggestion
The reason I left out any sort of routing libs is because I wanted this to be as bare bones of a template as possible. I'll close this for now, and if I get around to the framework l'll keep you in the loop.

@viblo I have finally found the time to release the v2 of this template, this has routify built in to the template as the default (but easily changed!).

Thanks! Only had the chance to try briefly so far, but seems to work well.
Let me also add that I think you have made a good job with the Readme, very helpful 🥇


How can i set font family ?

I want to use custom font, How can i set my font family ?

Have the same issue Please Solve this issue

Have the same issue Please Solve this issue

This thread has been closed since there has not been any recent activity. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.


Sort lists differently

This would be particularly handy for categories. They seem to be sorted by the alphabet, but sorting by downloads might be what we should default to?
And then giving the user the option to change the sorting.

Even the popular page is sorted by alphabet, which is weird.

Even the popular page is sorted by alphabet, which is weird.

Turns out the frontend sorted it again :/


ios crash [AppsFlyerLib setDeepLinkAndResolve:withHandlerType:]

ios during use，crash this line AppsFlyerLib setDeepLinkAndResolve:withHandlerType.

Hi @AndrewLiu2021,
Thank you for reaching out to us!
To provide optimal support, we would kindly ask you to submit a support ticket to<EMAIL_ADDRESS>When submitting the ticket, please specify your AppsFlyer sign-up (account) email, app ID, full stack trace, reproduction steps, code snippets, logs, the links you used, and any additional relevant information.


Tooltips point to an incorrect definition

Shared Program: https://code.world/haskell#PzVlsrPr2r_CQLbAflh8H4w
Description
If you hover over the Cw.translated in line 10, you will see that it points to the definition of translated in line 9, but that is not the correct definition for Cw.translated
The problem is that the tooltips are looking only at the name of the function and ignoring the module part.

This is a known limitation, for new.  I believe @devanshbatra04 is hoping to work on fixing this as part of Summer of Code this summer.

It looks like it's worth disabling help tooltips in haskell-mode, for the same reason that we disable autocomplete.  It's just too incomplete to be useful, and support for the full Haskell language is spotty.

This is a known limitation, for now. I believe @devanshbatra04 is hoping to work on fixing this as part of Summer of Code this summer.

Yes, we should have a strategy in place once a parser is in place #863
Should I look into a parser/lexer as well for the time?

@devanshbatra04 To be clear, we're still waiting on decisions on Summer of Code.  That will be released May 6.  So I don't know whether the project is even accepted yet.
Whether it's your summer of code project or not, though, yeah we definitely need more parsing.  It's a tricky problem, because we really need all three of (a) indentation-aware parsing, (b) superb error recovery, and (c) preferably, an incremental algorithm to fit into CodeMirror's structure because parsing gets mixed into syntax highlighting.  That's a difficult combination.
This also isn't just about parsing.  There's name resolution here, too.  Ideally, when hovering over a function, you'd recognize that the function argument shadows imported symbols of the same name, for example.  That's not easy.

@devanshbatra04 To be clear, we're still waiting on decisions on Summer of Code. That will be released May 6. So I don't know whether the project is even accepted yet.

I do understand that. I just had a look at the PR and saw there were a bunch of other parsers being discussed (moo, parsimmon, chevrotain) so I thought I should chip in a bit as this seemed crucial.

There's name resolution here, too. Ideally, when hovering over a function, you'd recognize that the function argument shadows imported symbols of the same name, for example.

Yes, I am clear on this front. It does seem to depend on getting the parsed symbol names for arguments and functions first.

#1175 is a special case of this.  The general case is harder, though, since top-level symbols can also be shadowed by variables with smaller scope, and I have no idea how to solve that one without reinventing GHC in the browser.


Feature Request: Notes and search

Hi!
Thanks for the great tool.
It seems like it has big potential. Would be great to have ability to add notes to tasks and search through them.

Yes, metadata in general would be useful (start time, end time etc).


Contact photo not expanding when clicked

The feature: In a conversation, you can click in a contact to invoke "Contact Info" view
Then you can click on the contact photo so it expands showing its full sized version.
The problem: After calling the "Contact Info" view and then clicking in the contact image. The expanded photo doesn't show up at all if you are using this theme.
######Tested on Firefox 63.0.3 (64-bit)

Hi!
That is quite weird. I've tested it in a variety of browsers (various Chromium-based browsers, Waterfox 56, Firefox 60 ESR, Firefox 61 and Firefox 64) but the profile image always shows up as it should.
What's the current version of WhatsApp that you're running? You can check it in settings -> help menu on web.whatsapp.com. Other than that, try to load any image from media section since they use the same markup to check whether that works or not.

This is really weird because I just checked it again and it indeed worked as expected. I'm using WhatsApp version 0.3.1649.
I haven't checked the version at the time of writing this issue so I don't know if it had any updates. Anyways I am sorry to waste your time.
Kudos for your work on the themes! They're great.

The version is the same as when the "stickers" update came out. Even I had some random glitches before when sending emojis, changing profile image or even opening the info/starred/archive panes.
No worries, I'm glad that this is sorted out. Thanks for the kind words! :blush:


GUI DNS Resolver configuration and unbound.conf, issue when using aliases

When using aliases no config seems to be generated, more info:
https://forum.opnsense.org/index.php?action=post;topic=1729.0

duplicates https://github.com/opnsense/core/issues/627


Implementation of query_stats function

This PR implements the query_stats function, introducing query language functionality to the statsframe. This enhancement allows end users to perform queries based on data within the statsframe.
Summary of Changes
To achieve this, extensive modifications were necessary. Specifically, all existing stats functions now return a list of output column names. This adjustment was essential to support the caching functionality required for the query_stats function.
Further Explanation
When the query_stats function is called with the squash flag enabled, nodes are sometimes merged into one. This creates two primary issues:

A mismatch between the expected number of nodes in the performance data and the statsframe.
Invalid data within the statsframe, as some nodes have been merged and their values aggregated.

To address these issues, the statsframe needs to be recalculated after a squash operation. To facilitate this recalculation, I added a caching mechanism. This mechanism records the most recent stats operations and stores them in statsframe_ops_cache. These cached operations are then reapplied on a new statsframe.
By implementing this caching functionality, we ensure that the statsframe remains consistent and accurate after squash operations, enabling reliable query results.
Important Notice
For the methods in this PR to work in the future, we must ensure a standard across all stats function such that they must return a list of output column names. This is an integral aspect of the caching mechanism.

Codecov Report
Attention: Patch coverage is 95.69892% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 80.56%. Comparing base (9c53fd9) to head (d51de55).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #157      +/-   ##
===========================================
+ Coverage    80.15%   80.56%   +0.40%
===========================================
  Files           52       53       +1
  Lines         3442     3535      +93
===========================================
+ Hits          2759     2848      +89
- Misses         683      687       +4

Files
Coverage Δ

thicket/tests/test_query_stats.py
98.48% <98.48%> (ø)

thicket/thicket.py
86.66% <88.88%> (+0.12%)
:arrow_up:

Codecov Report
Attention: Patch coverage is 95.69892% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 80.56%. Comparing base (9c53fd9) to head (d51de55).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #157      +/-   ##
===========================================
+ Coverage    80.15%   80.56%   +0.40%
===========================================
  Files           52       53       +1
  Lines         3442     3535      +93
===========================================
+ Hits          2759     2848      +89
- Misses         683      687       +4

Files
Coverage Δ

thicket/tests/test_query_stats.py
98.48% <98.48%> (ø)

thicket/thicket.py
86.66% <88.88%> (+0.12%)
:arrow_up:

@Yejashi Do we have docs/examples (tutorial?) to go with this PR?
@Yejashi @ilumsden Any further thoughts on how we could enforce that the future functions use the decorator?  Example of using this with a different decorator (e.g., profiling the functions)?

@pearce8 , in terms of documentation, there really isn't any meaningful difference on how the stats functions are called. All that's really changed from the user end of things is that the stats functions now return a list of output columns. This is already indicated in the docstrings and but not in the thicket documentation website. A concise sentence could accomplish this task.
In terms of queries, i think we should add a small section in the query portion of the tutorials indicating that the query language can now be used on the statsframe, albeit with a slight difference.

@pearce8 I mentioned this on Slack in more detail, but this branch shows an example of using Befikir's cache decorator with other decorators: https://github.com/TauferLab/thicket/tree/memray_decorator_example


Feature autofetch comments

Fetch comments with 3s interval
Review Checklist

[ ] All changes are described in the PR description
[ ] New feature and breaking changes have documentation
[ ] New endpoints have API tests
[ ] New frontend features have Enzyme tests
[ ] No unnecessary or debugging code
[ ] Questionable code is clearly marked with comments
[ ] Manually tested with latest Firefox, Safari and Chrome

frontend tests?


Fix regression on multi-gpu due to PR#997

PR#997 caused memory access fault for HCC due to hipMemcpy to a device in a different root complex when running PyTorch mGPU.
This patch restores behavior for HCC as before PR#997 therefore fixes the regression.

@yxsamliu To be clear, this PR resolves side effects caused by #997, which caused SWDEV-185566- Illegal instruction error while running TensorFlow,caffe2,rocblas,hipblas,rocprim,MIOpen Tests.
This PR doesn't resolve, SWDEV-183320- memory access fault. SWDEV-183320 was resolved by different PRs as mentioned in the tickets comments.


VMware stack updated versions

Correct versions are:
| Software              |    Version   |
| vCenter             |    6.7 U3o  |
| ESXi                  |    6.7 P05 |
| vSAN                  |   6.7 P05   |
| HCX                   |    4.1       |

@AnejaAmit : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Implementing site indexing and static site search

Using Hugo to index the site into a JSON file, then Vue.js components to filter and search across the JSON ultra fast to get a dropdown of pages that contain your search query in their title, content, or link.

See demo video in Target TTS Slack

could clean up the

LGTM 🐬


Do not update parentCollection if the child object has not been modified

fixes issue #22

I also updated the tests so they can be started with latest version of Meteor

ping @StorytellerCZ , I just fixed conflicts and verified tests :)
Thanks

We'll have to figure out what is going on with the tests here.

I fixed the github CI tests in my last commit. Here is the link of the run in my repo
https://github.com/vparpoil/denormalize/actions/runs/6487213049

@vparpoil so it looks like we have to drop support form Meteor 1?

I indeed dropped the testing with Meteor 1. Since v2 was published in January 2021, I don't see the benefits of keeping those tests. What would be the arguments in favor of keeping tests for Meteor 1 ?


Allow customizing playbackRates

Hello, it would be nice to allow customization of playbackRates. For example, now you can't choose 0.25x as playbackRate.
YouTube for example allows multiple playback rates, 0.25x, 0.5x, 0.75x, 1x, 1.25x, 1.5x, 1.75x, 2x.
Instead of the current static ones. By setting defaults we can make this fully compatible with older configurations.

#560
در تاریخ سه‌شنبه ۳ ژانویهٔ ۲۰۲۳، ۱۹:۱۶ fpfcarvalho <
@.***> نوشت:

Closed #560 https://github.com/fluid-player/fluid-player/issues/560 as
completed via #561 https://github.com/fluid-player/fluid-player/pull/561
.
—
Reply to this email directly, view it on GitHub
https://github.com/fluid-player/fluid-player/issues/560#event-8143989546,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4TGHCBZIZKHAXRYGTL53MDWQRCW7ANCNFSM4X6FWKQA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
com>


FIX phpunit tests in php8

PHP8 won't allow passing an interface (StoreInterface) to createMock().  Instead we need to mock class.
https://travis-ci.com/github/silverstripe/silverstripe-mfa/jobs/471512031

I produced a fix for the root cause of this issue in sminnee/phpunit-mock-objects, but it hasn't been merged yet due to an issue with Xdebug in the CI 😢
I've just restarted the build in the other PR to see if one of the recent Xdebug patches has fixed the problem - if not, we can merge this in the meantime.

I produced a fix for the root cause of this issue in sminnee/phpunit-mock-objects, but it hasn't been merged yet due to an issue with Xdebug in the CI 😢
I've just restarted the build in the other PR to see if one of the recent Xdebug patches has fixed the problem - if not, we can merge this in the meantime.


Docker SSH Forward not working

runs-on: ubuntu-22.04
env:
  ACTIONS_ALLOW_UNSECURE_COMMANDS: true
steps:
  - uses: actions/checkout@v2
  - uses<EMAIL_ADDRESS>    with:
      ssh-private-key: ${{ secrets.private-key }}
  - name: Build docker image
     run: docker compose build --ssh default

Hello I try to forward the SSH Key (multiple deploy keys ${{ secrets.private-key }}) to my docker compose build command where inside it does a PHP composer install and fetches private github repositories but without success. It says:

Cloning into bare repository '/root/.cache/composer/vcs/git-github.com-.....
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Does anyone face the same issue ? I tried from version 0.5.4 and up.
Btw it works locally on my mac.

I had to enable buildkit with the DOCKER_BUILDKIT=1 environment variable. That was for pure docker without docker-compose though, so not sure if it applies.

Does not work either with: DOCKER_BUILDKIT=1 docker build --ssh default . I get the same error.

Are you trying to use GitHub Deploy Keys during the Docker build process?
If so, does https://github.com/webfactory/ssh-agent/issues/78 or the recently merged https://github.com/webfactory/ssh-agent/pull/133 help?
If yes, any suggestions what should be added to the README?

@mpdude Yes I use Github Deploy Keys but the version 0.7.0 did not fix the problem on my side.

Not sure if it might help, but does your Dockerfile has these lines?
RUN mkdir ~/.ssh
RUN ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
RUN --mount=type=ssh <command to install dependencies>

@mpdude This is how I mount the ssh into the docker build process and this is working fine on my local machine using mac os 12.6 but not in the CI using multiple deploy keys. When running composer install outside the docker container so basically in the CI than it also works but that's not what I want.
@d3li0n Yes I have it in my Dockerfile which btw is being used as the base image.
ONBUILD RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
ONBUILD RUN --mount=type=ssh composer install

you will need to copy SSH and Git config files into the build stage to make deployment key mappings work. Please see the README.
However I just notice that the section mentions a specific Docker build action, which you don't use. The problem/solution probably is the same.

@j-riebe Since you wrote #133 and have a good understanding of the problem:
Do you think we could write the README section in a more general way (i.e. for Docker, not a specific action supporting it)?

As a side note, personally I'd avoid using ssh-keyscan regularly, especially in automated builds. It blindly accepts whatever keys it is being presented at that moment, defeating the whole purpose of key-based host authentication.
Grab and verify the GH host keys once from their website/blog, and directly put it into your Dockerfile. The keys hardly ever change.

@mpdude @j-riebe What about dev environment. Since I am using the same Dockerfile for dev, ci and production servers, this forces me to create an empty root-config folder in the repository right ? Because otherwise when running docker in my local machine it would simply break as the Dockerfile has the COPY instruction. This works maybe fine for the CI but not for the other environments. Is there a way to avoid this root-config folder ?

Hey @doctenahasib,
I'd recommend using different Dockerfiles for your dev environment and the production build/ci process (à la "do one thing and do it well").
Your dev setup would most likely contain additional dev dependencies anyway that need to be handled separately. So you most likely end up building conditional statements into your Dockerfile or just use separate ones.

As your error description is not pretty verbose, could you try to turn off host key validation during the actual install?
RUN --mount=type=ssh GIT_SSH_COMMAND="ssh -v -o StrictHostKeyChecking=no" <INSTALL COMMAND>

Just to make sure, that at least the keys are and settings are configured correctly.
I remember, that our build tool had some issues with the tweaked hostnames (although this should theoretically use the modified .known_hosts created by the ssh-agent action).
Be aware that using this setting in production also has good chances of "defeating the whole purpose of key-based host authentication".

@doctenahasib Those two lines
#9 1.714 debug1: Offering public key: https://github.com/*** ED25519 SHA256:*** agent
#9 1.714 debug1: Server accepts key: https://github.com/*** ED25519 SHA256:*** agent

seam to me, as if the wrong key was used.
I guess the *** are those parts that you masked, so you'd be able to do the following:
Check if the key that was "accepted" there is in fact the deploy key for the repo (masked too in line 1?).
If thats not the case (which is very likely) your workflow didn't copy the ssh-agent configuration from the runner (error source 1) into the correct place inside your container (error source 2).
In general this problem looks exactly like mentioned in the docs - the first known key might not be the right one.
BTW: Did you already try to use the docker/build-push-action?

And is the workflow at the top exactly what you are using or did you also "mask" some (very essential 😉) parts?
If thats the case, you forgot to copy the git and ssh config to your checked out repo.
- name: Prepare git and ssh config for build context run: | mkdir root-config cp -r ~/.gitconfig ~/.ssh root-config/

If you don't do that, it doesn't matter what you do, Docker just won't know the files -> see docs regarding docker-build-push + Deploy keys for details.

And is the workflow at the top exactly what you are using or did you also "mask" some (very essential 😉) parts?
If thats the case, you forgot to copy the git and ssh config to your checked out repo.
- name: Prepare git and ssh config for build context run: | mkdir root-config cp -r ~/.gitconfig ~/.ssh root-config/

If you don't do that, it doesn't matter what you do, Docker just won't know that the files exist -> see docs regarding docker-build-push + Deploy keys for details.

#145

@j-riebe Thanks for your help. Finally I was able to make it work by doing simply this:
CI workflow file
- name: Prepare git and ssh config for build context
  run: |
    cp -r ~/.gitconfig ~/.ssh root-config/
    sed 's|/home/runner|/root|g' -i.bak root-config/.ssh/config

Dockerfile
ONBUILD RUN mkdir -p -m 0600 ~/.ssh
ONBUILD COPY root-config /root/
ONBUILD RUN ssh-keyscan github.com >> ~/.ssh/known_hosts

I have created an empty root-config folder in my repo because in this way it works for both dev and ci environment. So basically it's copying an empty root-config folder on dev because I do not have deploy keys on my local machine but it's 1 ssh key which has access to all the private repositories. (The problem does not exist in dev with one ssh key).

@j-riebe thank you for the extensive support I was not able to provide!
@doctenahasib how could we improve the documentation, what would have helped you?

@mpdude See PR #145 for an update of the docs

@mpdude This applies only to multiple deploy keys as with one ssh key there is no issue. I would go with @j-riebe proposition. IMO only thing missing is specifying on how we should copy the root-config in the Dockerfile.


Vue Source file is visible on production

After running npm run build in vue-cli webpack version, we can see vue source file in chrome source tab under webpack:// dir

That's because the production build includes source Maps by default:
https://github.com/vuejs-templates/webpack/blob/develop/template/config/index.js#L14
Either deactivate that option or don't serve the sourcemap files that you find in the /dist folder.

Thank you


How to handle vote points when cards are merged

In retrospectives, you actually do the clustering before voting. So this might be not a real issue. To get 100% sure about it, it wouldn't hurt to investigate a bit about this.

currently not a big issue, since merging should happen before voting. Closing for now.