Blended/Anti-Aliased edges on rectangle tool

I don't recall for sure if this is how the original mspaint tool worked, but in jspaint I'm seeing that the rectangle tool has a blended / anti-aliased edge.  I seem to recall the rectangle tool making a sharp edge.  I tried out the online emulator as per the contributing doc and see no blending in that version, it's got a sharp edge there. The polygon tool, ellipse and rounded rec tool don't have the same blending in jspaint that the rectangle tool has.
Would this be considered a bug?
I went ahead and "fixed" this locally

Looks like this happens in Firefox (117.0.1) but not Safari (latest), so maybe it's a bug on the Firefox side.
Here's the hack I used to have sharp edges in Firefox (and still Safari), if anyone finds themself in the same boat,
src/tools.js
845,846c845,851
< 					// @TODO: shouldn't that be ~~(stroke_size / 2)?
< 					ctx.strokeRect(x + stroke_size / 2, y + stroke_size / 2, w - stroke_size, h - stroke_size);
---
> 					ctx.save();
> 					ctx.fillStyle = ctx.strokeStyle;
> 					ctx.fillRect(x, y, stroke_size, h);
> 					ctx.fillRect(x+w-stroke_size, y, stroke_size, h);
> 					ctx.fillRect(x, y, w, stroke_size);
> 					ctx.fillRect(x, y+h-stroke_size, w, stroke_size);
> 					ctx.restore();

And here's a shot of the box tool in Firefox at each line width (with View -> Zoom -> Large Size selected), to see what I mean,

This is a bug due to some unknown changes in Firefox. I would pinpoint the changes with git bisect but Firefox apparently takes 30GB of disk space to compile from source code.
Your fix looks good, and I would accept a PR with your changes. Or I could commit it and give you credit in the commit message.
Alternatives considered:

Could use draw_polygon since a rectangle is a polygon, but getting the stroke lined up by its outside rather than its center would require offsetting it, and draw_polygon currently requires WebGL. I would rather reduce the need for WebGL, rather than expand it, since WebGL can crash.
The following works in Firefox 119.0, but not in Chrome, and I wouldn't be surprised if it broke in the future:const offset = Math.round(stroke_size / 2) + (stroke_size % 2 === 0 ? 0.5 : 0);
ctx.strokeRect(x + offset, y + offset, w - stroke_size, h - stroke_size);

It would probably be slightly faster, but they say premature optimization is the root of all evil.

Hi, thank you for your consideration and reply.  I'll put together a PR shortly.

My first PR, hope I've done it correctly.  Have a good day


MapperFunction Typescript return type inconsistency

Describe the bug
MapperFunction Typescript return type inconsistency
Package version
1.1.2
To Reproduce
N/A
Expected behavior
The documentation says MapTo's MappFunction returns a component, and yet the return type is void
Screenshots
MapperFunction return type of void
https://github.com/adobe/aem-react-editable-components/blob/d7d176e48a79aad303bfe94a420e8444c6bead1c/src/ComponentMapping.tsx#L90
Documentation clearly using the return value as non-void

Additional context
N/A

You are right, seems it does return the 'decorated' component. Seems we should change that type to something like
type MapperFunction<P extends MappedComponentProperties> = (component: ComponentType<P>, editConfig?: EditConfig<P>) => ComponentType<P>;

You are right, seems it does return the 'decorated' component. Seems we should change that type to something like
type MapperFunction<P extends MappedComponentProperties> = (component: ComponentType<P>, editConfig?: EditConfig<P>) => ComponentType<P>;

Internally tracked by CQ-4316490


Relative indirect pointer

Hey @jckarter, does this look reasonable?

Don't we already have RelativeIndirectablePointer?

@jckarter Sorry for the confusion, the second patch is unrelated. I need to use indirect pointers to refer to dispatch thunks in other modules.


add del method that calls finalise in css use forgets

Needs to be discussed with TREs and researchers whether this writes to a separate folder called 'autosaves' or some such

The problem with this is that some people may want to just prototype stuff first and not want to call finalise() at all?

Feedback from researchers was not to do this.


fix(sec): upgrade mysql:mysql-connector-java to 8.0.28

What happened？
There are 6 security vulnerabilities found in mysql:mysql-connector-java 5.1.35

CVE-2022-21363
CVE-2021-2471
CVE-2017-3523
CVE-2017-3586
CVE-2018-3258
CVE-2019-2692

What did I do？
Upgrade mysql:mysql-connector-java from 5.1.35 to 8.0.28 for vulnerability fix
What did you expect to happen？
Ideally, no insecure libs should be used.
The specification of the pull request
PR Specification from OSCS

https://github.com/seata/seata/pull/4926

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


Master - Details Editing / Parent Child

Hello, how can we

Link 2 grids, for e.g. CustomerGrid & OrdersGrid
How can we allow CRUD edits in both grids so that the edits are posted to their own tables

Render two grids (details one has to be ajax one), and use rowClicked event on master grid to reload the details one.
This can be done with your own javascript binding.

I like the backend view syntax and the simplicity of the auto render form the view. To extend that...

[ ] Any chance we can get functionality to load both grids from MVC5.Grid by specifying the FK key that links the grid.
[ ] Also, how can we perform CRUD, are these read only grids?

Nothing planned as it's more flexible to do it via rowClicked event, introducing FK would still require some kind of event binding like row click, focus or other kind select of seelction. And as with other "automated" things other people will pop out wanting to somehow disable it or change it to meet their requirements, which in turn would introduce even more configuration.
CRUD has to be performed by hand, I don't think that CRUD is a responsibility of the grid.


Record block execution time

Resolve #127.

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

Codecov Report

Merging #128 into master will decrease coverage by 0.73%.
The diff coverage is 69.04%.

@@            Coverage Diff             @@
##           master     #128      +/-   ##
==========================================
- Coverage   78.78%   78.04%   -0.74%
==========================================
  Files           5        5
  Lines         707      738      +31
==========================================
+ Hits          557      576      +19
- Misses        150      162      +12

Impacted Files
Coverage Δ

mlblocks/mlpipeline.py
85.75% <69.04%> (-2.48%)
: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 3808b65...444f301. Read the comment docs.


phpspec is echoed rather than run

After behat asks is you want to create a spec all I get is a dump of phpspec.
Using a windows machine if this applies. Doesn't matter if I specify the path of the .bat file or just phpspec itself it is just a dump of the file.

Ok I have sorted that issue. The phpspec path needs to be the bin inside the phpspec folder. But I don't see the phpSpec questions until after I have guessed the answer.
Also now I'm having and issue with phpspec rerunner. It says Could not open input file: bin/phpspec even though my phpspec.yml specifies otherwise.
# phpspec.yml
suites:
    main:
        namespace: App
        psr4_prefix: App
        src_path: app
        spec_path: tests
        rerunner:
            path: vendor/bin/phpspec
            commands: [describe, exemplify]
            config: phpspec.yml
extensions:
    - RMiller\BehatSpec\PhpSpecExtension

Did a var_dump() of $params from line 24 of PhpSpecRunExtension.php and it only contains the following
array(1) {
  'commands' =>
  array(2) {
    [0] =>
    string(8) "describe"
    [1] =>
    string(9) "exemplify"
  }
}

Even if I take commands out of the phpspec.yml I still get it in the var_dump()


Add a pause function for servo

In my application, I wish the servo signal would pause when I am not actuating it. The new function implements my needs.

I like this idea and had not realized you can free-rotate an (analog) servo by shutting off the pulse train.  However, I'm not sure about the implementation of adding a new pause method with a boolean state, since the position is not controllable upon restoration.
Instead, I added logic to the existing ServoPin::set() method so it accepts a C++ NAN.  This sets the duty cycle to zero, allowing for free rotation.   To restore, just call set() again with an actual position as such:
ServoPin myServo(21);   // create servo on pin=21
myServo.set(20);    // set position to 20 degrees
delay(5000);   // hold position for 5 seconds
myServo.set(NAN);  // allow free-rotation
delay(10000);  // delay 10 seconds
myServo.set(20);  // reset position to 20 degrees
while(1);

Code change is implemented in the 1.9.1 branch and will be part of next release.  Please feel free to test and let me know what you think.

Thank you for taking the time to review my pull request and providing an elegant solution. I appreciate your implementation, which is indeed more concise and efficient than my initial proposal.
Regarding the concern about how users might want to pause the servo, I agree that using a duty cycle of 0 is a reasonable approach. While it's possible to consider using -Inf and +Inf to represent 0 and 1 duty cycles, I believe that a single pause state with a 0 duty cycle should suffice for most use cases.
Allow me to provide some context about my work to better explain the motivation behind my pull request. My primary goal is to optimize energy consumption for the entire system. To achieve this, I employed a transistor and MOSFET to control the servo's power supply. However, I encountered an issue where abruptly restoring power to the servo while the control signal was still being sent resulted in a high voltage peak, potentially damaging the servo. This problem arises because the motor inside the servo is an inductor, and the servo's digital logic shares the same power supply (VM and VCC). Unfortunately, this is an inherent limitation of the servo's internal design, and there is little I can do to address it through external circuitry. I discovered this issue after losing five servos.
The solution I found is relatively simple: introduce a short latency between powering on the servo and providing the control signal. This allows the servo power to stabilize before receiving commands.
Additionally, I wanted to enable manual control of the device while it is powered off. In scenarios where power consumption is not a primary concern, using a 0 duty cycle proves to be a suitable solution.
Thank you once again for your valuable feedback and the improved implementation. I appreciate your efforts in maintaining and enhancing the HomeSpan library. The library is really useful and I use it to build smart devices to make my life much easier.

Really glad you are finding the library useful.  Given the above, can I close this PR?

Sure, please.


Bug Report: Error Handling Large CSV Fields in Splunk SDK

The bug I found and how to repair it
When developing a threat hunting application, I encountered a bug located at line 948 of splunklib\searchcommands\search_command.py. The relevant code snippet is as follows:
def _read_csv_records(self, ifile):
    reader = csv.reader(ifile, dialect=CsvDialect)

    try:
        fieldnames = next(reader)
    except StopIteration:
        return

The bug arises due to the use of the Python csv package and the reader function. This leads to an error occurring during the processing of large amounts of data:
Error: field larger than field limit (131072)

After conducting a Google search, I found a solution on Stack Overflow (https://stackoverflow.com/questions/15063936/csv-error-field-larger-than-field-limit-131072). Implementing the following code snippet resolved the issue:
csv.field_size_limit(sys.maxsize)

Splunk:

Version: 9.1.2
OS: Redhat 8.5.0-20
Deployment: Cluster

SDK:

Version: 1.7.4
Language Runtime Version: Python 3.7
OS: Redhat 8.5.0-20

Additional context
Are there any risks or issues associated with my approach?

@Catsofsuffering Can you please provide the steps to reproduce this issue?

@Catsofsuffering Can you please provide the steps to reproduce this issue?

Due to our company's data security policy, I am unable to directly provide screenshots or logs to you. However, I can briefly describe the background and cause of this bug:
As mentioned earlier, I have developed an app that matches IOC threat intelligence, which requires sending a large amount of URL data to the corresponding API and then importing the returned results into Splunk. During this process, it seems that the error Error: field larger than field limit (131072) occurred because the returned data (approximately close to 1 billion events) exceeded the limit of the csv.reader.
Although only about 40,000 records are filtered on average in the end, this issue still occurs. I'm not sure if this is a bug or an area that needs optimization, so I would like to consult you teams. Thank you.


Unable to add Slashdot RSS feed

Steps to Reproduce

Open Capy Reader application
Swipe to activate the left menu, press on 'Add Feed'
Copy the following URL [https://rss.slashdot.org/Slashdot/slashdotMain] into text box
Hit the 'Add' button

Expected behavior
Expected feed to add properly, but instead get a message that feed/website is not found.
Screenshots or screen recording
No response
Device, Operating system, and app version
Moto G Play 2024, Android 13, Capy Reader 2024.08.1027

Oh gotcha, I didn't realize there were different standards/formats for RSS feeds. I actually added Distrowatch as a feed and it seemed to worked for me, but I didn't directly use the URL for the XML file, but just the following URL [https://distrowatch.com/] and it seemed to work.

@fac42 Fix is out in the latest dev release, 2024.08.1034-dev, which should hit Google Play later this week, and F-Droid whenever that builds next if you use either of those.
Let me know if you run into any issues with this feed. Thanks again for the bug ticket.


Why calculate the dependency set Ri and Ci per-layer in the hybrid dependency algorithm ?

hello, i' wondering why you manage hybrid dependency in per-layer level ?
in the alg 4, you calculate the DepCache set Ri and the DepComm set Ci for every layer. Is there any probability that a node u use DepCache in level i and use DepComm in level j simultaneously? Why not use a global set R and C in one machine?  Or i understand the alg 4 wrongly? Can you explain the idea to me :)

Does Vrep use to prevent same node from using different dependency policy ? If node u is in Vrep, tli(u) will be zero ?


Fix bug #3737 (exported JSX classes props not validated)

:+1:  verified with local build. correctly shows the errors now.

:+1:


[BrokenLinksH2] fixing broken links

Global effort to fix broken links
@wibjorn
The Content & Learning team is fixing broken links on docs.microsoft.com for the rest of H2. This effort will eliminate potential accessibility, security, and usability issues. This PR includes only link fixes and does not change other content. I’d very much appreciate your timely review and feedback on the link changes I’ve suggested. Thanks!

Docs Build status updates of commit 31b475d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/process-explorer.md
:bulb:Suggestion
View
Details

sysinternals/downloads/process-explorer.md

Line 66, Column 45: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/answers/topics/windows-sysinternals-procexp.html' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 883f4c4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/process-explorer.md
:bulb:Suggestion
View
Details

sysinternals/downloads/process-explorer.md

Line 66, Column 45: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/answers/topics/windows-sysinternals-procexp.html' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Fix/share url

Update graphqlbin API endpoint

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

Thanks for your first contribution! 🚀And fixing problem with sharing 👍


question: feature logic

I'm wondering how the feature logic is intended to work:
https://github.com/adenvt/nupolyon/blob/e3d10e2354ea190e657c0e5d84563de231850e13/src/module.ts#L32
As I understand it, the code currently retrieves all features that are not implemented in browsers which are marked as supported using browserslist and limits the polyfills returned to the matching features.
Now, if that's right, why would you do that?
Isn't the feature list meant to list only the features actually required by website's source, not every feature unsupported by supported browsers?
Example:
Let's say I wanted to support "firefox 116". npx polyfillist "firefox 116" returns:
HTMLInputElement.prototype.valueAsDate
es2023
setImmediate

Now, a browser that uses none of those features would request https://polyfill.io/v3/polyfill.min.js?features=HTMLInputElement.prototype.valueAsDate%2Ces2023%2CsetImmediate which results in 5kb (transferred 3kb).
Wouldn't it be better to expose features as a module option (detecting required features is surely a harder task to solve for now) so that module users can specify which features they use / polyfills they require?

@dargmuesli Yes, as you mention, this library actually for lazy people (like me 😆) who don't know what features i should to include.
If you know what features should be include, i recommended to use original library from polyfill.io.

Ok, so that logic is meant to load every polyfill for the browsers supported, thus limiting the features to the ones required for supported browsers only, but not to the features actually used. So older browsers are by that definition not meant to be supported at all, which could still be possible if required features were specified instead. Right?
Then would you think we could add that to the README?
And also: what do you think about adding the possibility to specify features (potentially disabling the "everything supported browsers" logic) as module options? Vs. directly using polyfill.io's api, that is.

@dargmuesli Almost correct, FYI, polyfill.io is service which load polyfill based on User-Agent. But when we want to use polyfill.io, we need to use some kind a preset which feature should be enable.
That way i created polyfillist. it take all features from polyfill.io, check the feature requirement, and return the feature name which possible required in current browserslist config target.
But cons of it is some features might be not used in project at all.
And feature which no browser has implemented (like setImmediately) will always included (older and newer browser).
I agree with manual features defined. But for now, i have no plan how to do it. Because it's an array, and config with array always come with 3 possible cases:

I want to add some item with it (default value + some items)
I want to remove some of it (default value - some items)
I want to completely change of it (custom items without default value)

Ok! I'd propose to keep the current behavior if no custom features property is given and use exactly what's given in the features property if set. Reason being that if someone sets their features they know exactly which ones they require, thus not needing to include all possibly required polyfills for the supported browsers.
That would also enable projects specifying required features to potentially support browsers even older than the ones defined as supported in the browserslist definition, I imagine.


E2E [sig-network] test failure: forbidden: User "...sonobuoy-serviceaccount" cannot get path "/metrics"

What steps did you take and what happened:
Running sonobuoy cli on kubernetes v1.10.4 for e2e tests with RBAC enabled results in a test failure as follows:
[Fail] [sig-network] Networking [It] should provide unchanging, static URL paths for kubernetes api services
/workspace/anago-v1.10.5-beta.0.53+32ac1c9073b132/src/k8s.io/kubernetes/_output/dockersized/go/src/k8s.io/kubernetes/test/e2e/network/networking.go:82
forbidden: User "system:servicesaccount:heptio-sonobuoy:sonobuoy-serviceaccount" cannot get path "/metrics""Forbidden"
What did you expect to happen:
The RBAC for sonobuoy-serviceaccount should give permission to get /metrics.
However the sonobuoy/pkg/templates/manifest.go (built into the client) is as follows

The apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
component: sonobuoy
name: sonobuoy-serviceaccount
rules:

apiGroups:

'*'
resources:
'*'
verbs:
'*'

Testing manually, we find that to get access to /metrics I must also include the nonResourceURLs clause, minimally as follows:

rules:

nonResourceURLs: ["/metrics"]
verbs: ["get"]

Anything else you would like to add:
Its a mystery to me why this bug has not been reported already.
Environment:

Sonobuoy version: 11.5
Kubernetes version: (use kubectl version): 10.4
Kubernetes installer & version: in-house based on kubeadm
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Sonobuoy tarball (which contains * below) sonobuoy_0.11.5_linux_amd64.tar.gz

This hasn't been reported because generally folks are just running the conformance e2es, but this is really good 👍 thanks for the report.


[FEATURE] Fixed tests in contact bundle

ack

but this tests need to be fixed @turbo-ele

@notsure since the importer was refactored by @turbo-ele it could be that this is the expected behaviour. Nevertheless @turbo-ele has to check it, and if necessary - fix it.


Prototype (though pretty stable) of a layer management system

It still has no layer deletion because that would probably break history. (Need to add a command for layer deletion and undo to not corrupt it)
Operations that used images to send elsewhere (canvas download, dream tools)  now use visible information as data. You can hide layers and do all of that. Select tool still only affects active layer. Renaming layers is by double-click on layer name (will probably do the same to resource manager at some point).
Merge layers also requires layer deletion, so not yet. Grouping shouldn't be too hard to implement, but will be quite a chore.
Added option to render canvases smoothly or pixelated to have more pixel-to-pixel control (looks terrible from afar).
Fix: Resolved some issues with clicking the eyedropper, and fixed resource persistence not keeping images for more than one page reload.
Optimization: A lot of the rendering of cursors is now done on an overlay canvas not tied to the dynamic layer system. We don't really need all those functionalities for cursors, and these cursors should not scale with the zoom (becoming pixelated); Some things are still there, but select and dream progress should also be migrated to the new overlay (uiCanvas and uiCtx).

omg dreams on new layers even sample other layers for coherence, this is delicious
i've immediately started thinking about using like difference  globalcompositeoperation for some kind of magical automatic identical-pixel-masks for new layers

After some more testing, it seems gradients indeed do work - the seam moves a bit, and seems less noticeable. Not really objective testing, but I seem to be consistently getting better results. But masks of a solid gray color do not seem to do much.
This is a first gradient-based tool, as suggested on https://github.com/zero01101/openOutpaint/discussions/28#discussion-4588449.
Sorry to @SMUsamaShah, seems my testing was not throughout enough.

see like yeah, why didn't my very old overmask with graidents tests work like this >:(

Fixed interrogate to use new layer system, added error handling and green marching ants to show it's doing something.

omg dreams on new layers even sample other layers for coherence, this is delicious
i've immediately started thinking about using like difference globalcompositeoperation for some kind of magical automatic identical-pixel-masks for new layers

Not sure what exactly is your plan, but its sounds exciting!

see like yeah, why didn't my very old overmask with graidents tests work like this >:(

Seems there are some kinda specific circumstances where gradients are actually useful. I think what we need to do is to implement each tool with gradients and check if they work or not for that purpose.
Took a bit to answer because most comments here were done in a hurry.

I'm thinking (for now my priority is full layer support) we could maybe implement a gradient profile tool instead of a simple slider checkbox. (could be handy for some interesting things going forward)
This element would be used to edit gradient stop sequences. A reference fpr such a tool would be the color curve editing tool in photoshop/gimp. As we are using only the linear gradient provided by the canvas context, we don't need to implement those smooth lines, just a simple zigzag line would be enough probably.

having even a minimally functional gradient editor is still a wild amount of powerful flexibility i'd say, and i'd also bet you're spot on regarding limited usefulness of gradients in specific use cases, particularly with the small pixel counts of how overmask is applied

Was just thinking... Wouldn't just a blur() filter for drawing image masks be enough for some initial testing of gradient on dream()?
We wouldn't have much of the cool gradient stop controls, but should be good enough for some basic testing.

Was just thinking... Wouldn't just a blur() filter for drawing image masks be enough for some initial testing of gradient on dream()?

see like i tried just setting the canvas filter to blur() in early overmask tests and it was catastrophic for coherence with existing imagery, but i'd bet on the fact that i applied it wildly incorrectly and it failing was my fault lol

One more thing, I feel this should be one of the last big architecture updates that messes up a lot of things.

lmao you stoppit <3 this stuff is absolutely fantastic and this app wouldn't be a fraction of what it is now without your work, and it's hugely appreciated :D

Was just thinking... Wouldn't just a blur() filter for drawing image masks be enough for some initial testing of gradient on dream()?

see like i tried just setting the canvas filter to blur() in early overmask tests and it was catastrophic for coherence with existing imagery, but i'd bet on the fact that i applied it wildly incorrectly and it failing was my fault lol

I mean, there is not much that can go wrong regarding applying blur() filters, so there shouldn't be anything that could really go wrong with that... Now that I think about it, the coherence problem was because of part of the black (transparent) areas being inside non-fully opaque masks, decreasing SD's capability of replacing black stripes. Maybe using shadow() could work better, to keep the full transparent areas, with some bleeding into the images.
Also, regarding

So I think this would be an interesting time to get some more hands in the project.

I spoke with a mod (u/SandCheezy) from the r/StableDiffusion Subreddit. It seems it would not be a problem to post about the project there again to show off what we have now after 20 days! But it's your project, so you decide what to do.

oh, on this, yeah, i had grand intentions of making an actually useful wiki with actual feature level documentation but then the whole Life Getting In The Way thing happened of course; i still plan to put that together this weekend fingers crossed

That would be great! We do have now quite an assortment of features and different tools that could be a bit overwhelming for new users.

lmao that's kind of ironically super-appreciated since i was sort of also thinking about reposting it over last weekend but then got cold feet thinking it'd be spammy, plus invokeAI sorta had all the momentum at the moment

Yeah, was kind of afraid of the same thing. And yes, InvokeAI was really in the spotlight for the week. Now i think the timing is okay. We could even try taking some inspiration in InvokeAI features maybe.

oh i beg to differ, i see the numbers ;)

Oh, contribution is not only numbers! And most of those probably are probably just moving stuff around to make it less monolythic.

working on readme updates right now since those are really stream-of-consciousness and kind of sarcastic :) otherwise as mentioned, thank you enormously!

Great work on the readme! Was thinking maybe a short quickstart should be higher up in the document, actually. A very basic "git pull then run the script and open localhost" kind of thing.

yeah, the readme is gonna go on a crash diet and get some serious "usability" changes  with the actual documentation wiki i promise i'm gonna make for people who don't speak my particular dialect of ADHD-addled sarcastic venom :D
i'll likely wait until the weekend-ish to repost to r/stablediffusion just off a basis of "i think that's when traffic is highest" lol, and i gotta admit to being pretty weak at self-promotion, but seriously the absolutely ridiculous amount of new features here warrants another call to attention i feel :D


KAFKA-10029; Don't update completedReceives when channels are closed to avoid ConcurrentModificationException

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

How about making a collection copy of completedReceives when traversing completedReceives?

@chia7712 I was tempted to do that initially, but that is not the pattern we use for everything else in Selector and it has always been this way (for several years), so adding tests to make sure we don't break it made more sense.

@rajinisivaram What's the implication of not removing the completed receive in doClose?

@ijuma By not updating completedReceives when the channel is closed, we retain a reference to the channel until the next poll(). In terms of receives themselves, there is no impact. Looking at the code again, it seems unnecessary to use KafkaChannel as the key for the receive map. Like all other maps in Selector that store poll state for the channel, we can use the channel id instead. Updated the code.

@rajinisivaram We also retain a reference to the NetworkReceive, which is probably a bigger deal, right?

This change is probably OK, but the way we call close while iterating over completedReceives seems a bit fragile. It would probably be safer to collect the items we need to close and close them in a separate iteration. What do you think @rajinisivaram?

One more thing, can we improve KafkaChannel.hashCode/equals to avoid unnecessary work? The calls to Objects.equals and Objects.hash seem pointless.

@ijuma Based on our discussion, I have added Selector#clearCompletedSends() and Selector#clearCompletedReceives() for SocketServer to clear buffers after they are processed. Also updated KafkaChannel. Can you review please? Thank you.

@ijuma Thanks for the review, have addressed the comments.

@ijuma @chia7712 Thanks for the reviews, merging to trunk and 2.5.


no implicit conversion of nil into String (TypeError)

It seems to be happening because it can't find the templates directory. It's an issue for me because the vipergen gem got installed in the<EMAIL_ADDRESS>directory and in order to find the template it is looking at  .rvm/gems/ruby-2.1.1/gems/vipergen-0.2.4/ but it doesn't exist.
This is the whole Stack Trace:
from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/vipergen-0.2.4/lib/vipergen/filemanager.rb:38:in `copy' 	from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/vipergen-0.2.4/lib/vipergen/generator.rb:20:in `generate_viper' 	from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/vipergen-0.2.4/lib/vipergen/viperthor.rb:12:in `generate' 	from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/thor-0.19.1/lib/thor/command.rb:27:in `run' 	from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command' 	from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch' 	from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/thor-0.19.1/lib/thor/base.rb:440:in `start' 	from /Users/fran/.rvm/gems/ruby-2.1.1@global/gems/vipergen-0.2.4/bin/vipergen:8:in `<top (required)>' 	from /Users/fran/.rvm/gems/ruby-2.1.1/bin/vipergen:23:in `load' 	from /Users/fran/.rvm/gems/ruby-2.1.1/bin/vipergen:23:in `<main>' 	from /Users/fran/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval' 	from /Users/fran/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'

@frowing , created a task to work on it. I'm a bit busy


NUMA support for Cascade Lake Processors

Was this tested by you for verification?

Was this tested by you for verification?

Yes this was tested. You can merge it.


[GHSA-86vq-8qhc-5rqw] Possible DoS attack when using URLValidator

Updates

References
Source code location

Comments
Add source code link and  patch links related to CVE-2016-8738.

Hi @sunSUNQ, https://github.com/apache/struts/commit/554b9dddb0fbd1e581ef577dd62a7c22955ad0f6 appears to be the commit most consistent with the problem and solution described in https://cwiki.apache.org/confluence/display/WW/S2-044. Thank you for your contribution!


[BACKPORT][v1.4.2] Improve the error handling of the backup failure

https://github.com/longhorn/longhorn/issues/5662

The PR is ready @innobead


Image tiles show only placeholder on Firefox

Oh what! I thought it was meant to be like that ;P


Invalid response when no notations is supplied

curl https://coli-conc.gbv.de/coli-ana/dev/analyze
[object Object]

I'm confused. First of all, if I try the same locally, I get a proper JSON response. Looking at the code, it seems like it was changed so that if no notation parameter is given, it does a member lookup (something that we removed from the interface some time ago), and if search is also not given (which is used by the lookup), it will just return the first X results from the database.
I don't know why it's different locally on my machine, and I also don't know if we still need the lookup functionality. What we could do is to only run the lookup if notation is empty and search is not empty.

I have not looked at the code but in any case we can fully remove member lookup.

curl https://coli-conc.gbv.de/coli-ana/dev/analyze will now return an empty array.


fix: update client error schema to support schema errors (box/box-openapi#467)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

4 of 10 (40.0%)  changed or added relevant lines in 1 file are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.03%) to 41.773%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/schemas/integrationMapping.generated.ts
4
10
40.0%

Files with Coverage Reduction
New Missed Lines
%

src/schemas/event.generated.ts
5
42.38%

Totals

Change from base Build<PHONE_NUMBER>4:
0.03%

Covered Lines:
13346

Relevant Lines:
24876

💛  - Coveralls


Regression: Change to API specs to use File System API.

At the start of December 2022, a lot of the definitions that were a part of the File System Access API were moved to the File System API.
The awesome part is that the File System API is supported on all major browsers! 😃 (Firefox not included)
You can see the PR here from the specs which shows a lot of deletions that are just because the specs were moved to the File System API specs.
https://github.com/WICG/file-system-access/pull/392
This sounds like a breaking change, but happily, this doesn't break any of the features in this wrapper, so we simply have to move the appropriate functionality at some point.

I have started to move parts of the existing definitions from this project to this new project:
https://github.com/KristofferStrube/Blazor.FileSystem


feat(pencil): Init

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


Update Composer dependencies (2023-12-21-00-10)

Visual regression test passed!
View the visual regression test report


Feature/new presets

New overall soundscape presets, fine-tuned to different scenarios. Note that (almost) all presets come in Mono and Stereo, where Stereo presets are the same as Mono but without the panning link.
This might make it easier for users to understand their choices, as discussed with Andrew F.

Changing the target merge branch from main to develop

Added some more supercollider folks on this PR.
One question I have is if my studio is set to use an existing preset (ex: EchoHallPreset), what happens if we merge this in? Since EchoHallPreset is now deleted, will we automatically revert this to some known good preset or do we brick all audio completely?

Added some more supercollider folks on this PR.
One question I have is if my studio is set to use an existing preset (ex: EchoHallPreset), what happens if we merge this in? Since EchoHallPreset is now deleted, will we automatically revert this to some known good preset or do we brick all audio completely?

I was wondering the same thing. I don't think we brick all audio completely. Though we'd want to test to make sure that the web app handles the update gracefully. (One way I think we could do this is by making sure non-existent presets are treated as being equivalent to "Custom")

https://user-images.githubusercontent.com/51293620/184897964-32086877-7854-4ce5-8597-d538a67feb60.mp4

putting this on hold until finished testing and setting max parameters


fix(kujiraIBC): Added Axelar, Cosmoshub, and Gravitybridge info

We require these to be in alphabetical order, so 'kujira' must be chain 2 for all of these, since 'k' comes after 'g', 'a', and 'c'.

I literally just caught that, and the newest version should be corrected.


background-color is not longer transparent since v3.0.0 (related to bootstrap change)

Hello,
It seems background-color attribute is no longer transparent since v3.0.0, it breaks code highlight :
Before:

After :

The issue can be solved by using a custom css containing:
pre code {

  background-color: transparent;
}

It's not clear to me what the issue is or what your setup is. Please can you explain the steps to reproduce this on the example site?

Is use chroma to highlight code. Here is my website : https://github.com/anayrat/blog
When there is bloc code like : https://blog.anayrat.info/en/2017/11/26/postgresql---jsonb-and-statistics/
I noticed background was not transparent in code block. git bisect gave me this commit: 965a64ffaac4cd6a7a0724f0c6cc37464d24702d

Academic uses Highlight.js for highlighting and does not support any other highlighters such as Chroma, although other solutions may also work to an extent.


Icon Resize

Resizing the icon to be 256x256 from 500x500 which is convention.

Did we ever find out whether there are any implications to making it a .png instead of .ico?

I try not to mess with other people's PRs and such, but I did go ahead and change the base branch here after creating develop. Hope that's okay!


Add deserialisation code for Breadcrumb in React Native Android

This changeset implements a deserialiser for a breadcrumb message received in the Android Native Module.
The ReadableMapDeserializer interface has been changed to use a Map parameter rather than a ReadableMap as this is easier to test and also allows for us to pass a greater range of Map implementations.
Note: as Breadcrumb's constructor is package-private, we will need to update bugsnag-android to make this public before releasing.

We can alter the implementation to accept arbitrary metadata objects if desired pretty easily - I think it was Map<String, String> in the spec.


AspNetCore integration test example not working with HealthChecks

The examples given for the integration test work perfectly and I thank you for this.
However, I've been banging my head to get it to work with the frameworks healthcheck functionality. I want to use it to test my healthchecks endpoints.
var connectionstring = "";

builder.Services.AddHealthChecks()
    .AddTypeActivatedCheck<SqlHealthCheck>("SQL HealthCheck",
                args: new object[] {HealthCheckSeverityKeys.Critical, connectionstring},
                tags: new[] { "healthcheck" },
                failureStatus:Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Unhealthy);

var app = builder.Build();

app.MapHealthChecks("/health", new HealthCheckOptions
{
    ResponseWriter = HealthReportConverter.CustomResponseWriter,
    Predicate = (check) => check.Tags.Contains("healthcheck")
});

app.Run();

The healthchecks work perfactly, but whenever trying to test these using the basic http test I do get 503 service unavailable.

Sorry to gave bothered you with this.
Having a test with an unhealthy state makes the healthcheck endpoint return http 503 by default instead of http 200.


Train_loss and test_loss become NaN after using model.prune()

Hello,
I'm working on a multi-classification model and the result looks good. But when I train the model after using model.prune(), train_loss and test_loss become NaN easily even if I set lr and step very small. Could anyone please to solve out this problem? Thanks a lot!
Here's my code. I include a scheduler: torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=T_max, eta_min=eta_min)

I have the same problem. I also use KANs to do five classification tasks, but after I complete the first training stage and run model = model.prune(), I get nan in train loss and test loss in the second training stage. However, after I set update_grid=False in model.fit() function, the loss is not nan. I don't know why!!
The model I defined is:
model = KAN(width=[9,10,2], grid=3, k=3, seed=42, device=device)

And training code is:
results = model.fit(data, opt="LBFGS", metrics=(train_acc, test_acc), loss_fn=torch.nn.CrossEntropyLoss(), steps=50)

Any helpful information or ideas, please let me know! Thank you!

I have the same problem. I also use KANs to do five classification tasks, but after I complete the first training stage and run model = model.prune(), I get nan in train loss and test loss in the second training stage. However, after I set update_grid=False in model.fit() function, the loss is not nan. I don't know why!!
The model I defined is:
model = KAN(width=[9,10,2], grid=3, k=3, seed=42, device=device)

And training code is:
results = model.fit(data, opt="LBFGS", metrics=(train_acc, test_acc), loss_fn=torch.nn.CrossEntropyLoss(), steps=50)

Any helpful information or ideas, please let me know! Thank you!

Thanks for your reply! It really works！

@DonSteven might not be the best fix but I had the same problem, so I have reverted to pykan==0.2.2 (where this issue is no longer present) until resolved in the most updated version

Based on my very short experience working with the new version of pykan, I have noticed that the issue arises whenever disconnected nodes remain at the KAN's computation graph after pruning. The plot provided in your post appears to fall under this case. My workaround was to define a custom prune function, as follows:
def custom_prune(model, node_th=1e-2, edge_th=3e-2):
    # First prune edges
    model.prune_edge(edge_th, log_history=False)
    model.forward(model.cache_data)
    model.attribute()
    model.log_history('prune')
    # Then prune nodes
    model = model.prune_node(node_th, log_history=False)

    return model

# Example usage
model = custom_prune(model)

Essentially, all I've done is reverse the pruning of edges and pruning of nodes, ensuring that edges are pruned before nodes and not vice-versa, as in the original prune() implementation. This appears to fix the issue of NaNs post-pruning, although I'm not sure if it affects the training in some other, unexpected way.

@srigas this is an interesting observation! it's be awesome if ppl can confirm this for their cases!

I encountered the same problem and it worked with @srigas function and also when you change the order of node and edge pruning in the library function.
When using the standard .prune() function, it seems that the pruning changes are made in the mask (adding zeros) but not in the attribution score calculations (since they do not change when using the normal pruning function but the costume function). Also, if the .prune_edge() is not called no pruning is done at all even after calling .prune_node().
As I understood from the code the node pruning depends (only) on the edges and the functions are called in the wrong order?
(Also some things for the documentation prune_edge is not returning a new KAN its just updating the mask.)


first commit with working solution for deleting incomplete directory …

…BUT I AM NOT DONE
it is first commit to fix issue #176

if you are not done with it you can make the PR as draft check the option of big hreen button at the end of PR

thanks @nappex , it is converted to draft

and all tests passed, that is nice :-D


Want to use it for the ReID model embedding visualisation

I wanted to  visualise the ReID dataset, here is steps I wanted to implement,

I have csv file which contains the columnA as image_name and column B has the feature vector of [1, 512]   I wanted to visualise it
like I saw for the classification, similarity score should be cosine.

How I can do it, can I contribute in developing it

Hi @senhorinfinito,I apologize for the late response.
The both steps you need are implemented already:

To load a CSV file first ensure that embeddings are saved as they are expected by Spotlight, e.g.:

image,embedding
path/to/img.jpg,"[0.1, 0.2, 3.1415926535]"
https://path.to/img.jpg,"[0.2, 0.3, 0.4]"

(small (example)[https://renumics.com/data/mnist/mnist-tiny.csv] file). Both image paths and URLs are supported natively.
Now, you have two options to load your CSV file into Spotlight:

CLI:

spotlight path/to/dataset.csv

or Python/ipython/Jupyter Notebook:
import pandas as pd
from renumics import spotlight

df = pd.read_csv("path/to/dataset.csv")
spotlight.show(df)

Spotlight starts in a browser automatically. So if you see Similarity Map widget at the top-right corner filled with points, it is a sign that your embeddings are recognized correctly. At the click at a row you should see images in the bottom Inspector widget.

Now click at the gear icon in the Similarity Map widget to open the settings. In the Metric input, choose cosine (s. attached image).


brew cask install is very slow when installing large dmg

I'm using Homebrew Cask to install a 5G dmg. brew cask install takes almost 30min while installing from dmg directly (open then drag to /Applications) takes 10min

You need to give us more details for us to be able to help!
Please go through the bug report link to get a nice template of information we need.
Closing this issue, please open up a new one using the above link.
Thanks!


Story download half broken with 4.0.6

Got 3 accounts downloading data using the same procedure as follows:
python3 /home/blablabla/instaloader.py -l USER -p PASSWORD @USER --no-captions --fast-update --stories-only --filename-pattern={date} --no-profile-pic --no-metadata-json
Account 1 with 180 followees downloads stories fine.
Account 2 with 300 followees fails with following error, right at the start, after showing all followees:
...
Downloading stories
JSON Query to graphql/query: HTTP error code 431. [retrying; skip with ^C]
JSON Query to graphql/query: HTTP error code 431. [retrying; skip with ^C]
Download stories: JSON Query to graphql/query: HTTP error code 431.
Saved session to /tmp/.instaloader-USER/session-USER.
Errors occured:
Download stories: JSON Query to graphql/query: HTTP error code 431.
Sat Aug  4 23:07:11 WEST 2018
$
$
Account 2 with 3K followees fails with following error, right at the start, after showing all followees:
...
Downloading stories
JSON Query to graphql/query: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read)) [retrying; skip with ^C]
JSON Query to graphql/query: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read)) [retrying; skip with ^C]
Download stories: JSON Query to graphql/query: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
Saved session to /tmp/.instaloader-USER/session-USER.
Errors occured:
Download stories: JSON Query to graphql/query: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
$
$
$
Reverting back to 4.0.5, starts to download stories again, but ofc, a lot of stories are missed ( USER XXXX does not have any stories) wrongly.
I can provide more info/logs if required.
Keep up the GREAT work.

This is somewhat related to #153, but the main issue I think is that with "too many" followees the request for their stories is too large (HTTP 431) for instagram's servers to handle. You ought to, rather than @user --stories-only,  use the :stories target, which will download all currently visible stories, without downloading the list of followees first.

Thanks @gituzzer for reporting, and @e5150 for fixing :stories!
I just released 4.0.7 with the :stories fix and a fix for this particular issue included (however, almost 4 hours after sunrise, time I needed for testing and fixing another bug).
The latter error, JSON Query to graphql/query: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read)) has already been reported in #134, I hope it is fixed as well.


Remove unused relation in Experiment Assignment Service

Improve Monitored-Decision-Point query by removing unnecessory relations.

@danoswaltCL @bcb37 you can also test this change and push it in release 5.1

I tried load-testing this quickly a couple times and surprisingly didn't see improved performance. Still I think this only makes sense to merge anyway?


Validate inputs for populations import

The current import populations functionality doesn't raise an error message if the wrong column names are supplied, and Mantis freezes.

Could you send me an example project and population csv for this? Mantis doesn't expect a header for this file, and should be throwing out any lines that it is unable to parse from the file. I just tried adding some bad lines to a population csv I have for a test project and couldn't get it to crash.

20200615_example_data.zip
Sure thing.

Load Point06 as an image set
Import Point06_segmentation_label as segmentation
Import Point06_info, or Point06_info_sementation, as a population, and Mantis freezes. If I import the correctly formatted file (Point06_info_lineage), it works great.

I think it could make sense to require properly named headers for the csv files. Could be easier than trying to figure out if the values are incorrect for a given column. I can guarantee people are going to find creative ways to incorrectly format the CSV file.

Awesome, thanks! That was super helpful. This should be fixed in the v1.1.0-v.10 release I just uploaded.
The problem was that file had thousands of 'populations'. When Mantis was trying to create thousands of populations in the main thread it would cause the UI to freeze. For now I've fixed it by asynchronously importing populations. Long term I'm planning to add a little pop up confirming that the user wants to import X populations from the selected file.
Haha, I think you're right about people finding creative ways to incorrectly format the CSV file. Hopefully asking the user to confirm the number of populations will help with that. I also added a ticket to chat with the team about requiring header names and a certain number of columns from the users.


Why does default explicitArray option is true?

I have to set explicitArray to false in options, it makes some inconvenient.

Because it breaks code that was written with the assumption that there is only one child element when trying to parse code which has multiple elements. With explicitArray true it will not break if the XML changes.


Updating to 1.5.0 makes lightning ignore LightningDataModule.val_dataloader in some cases

🐛 Bug
I have a training script that was working fine with 1.4.9. I have all the dataloaders (including val_dataloader) defined in my LightningDataModule.
After updating to 1.5.0 this happens:
NotImplementedError: `val_dataloader` must be implemented to be used with the Lightning Trainer

Also take a look at  #10341, looks like the 1.5.0 update broke the val_dataloader logic.
Unfortunately, I can't submit my training script.
Environment info

CUDA:
- GPU:
- available:         True
- version:           11.3
Packages:
- numpy:             1.21.1
- pyTorch_debug:     False
- pyTorch_version:   1.10.0+cu113
- pytorch-lightning: 1.5.0
- tqdm:              4.62.3
System:
- OS:                Linux
- architecture:
- 64bit
- ELF
- processor:
- python:            3.8.6
- version:           1 SMP PREEMPT Thu, 26 Aug 2021 19:14:36 +0000

Additional context
See #10341, looks like other people are having problems with the latest release too.

Sorry, This is weird interaction with pytest. Lightning has no issues.


Add function to compute AS_QUALapprox from LPL

I know we just hit this issue in v4 but it may be helpful for others if their gvcfs have the same missing data?

Maybe, but for now I think I feel more comfortable keeping it in gnomad_qc as v4 specific since that is what I tested on. I think I would want to do a bit more before making any claims of it being more general.


5.0+4.02.3 opam package seems broken for ocaml 4.02.3

Hi,
I tried to install ppx_tools.5.0+4.02.3 with opam (which is requiried by js_of_ocaml 2.8) and I got the following error.
#=== ERROR while installing ppx_tools.5.0+4.02.3 ==============================#
# opam-version 1.2.2
# os           linux
# command      make all
# path         /home/julien/.opam/4.02.3/build/ppx_tools.5.0+4.02.3
# compiler     4.02.3
# exit-code    2
# env-file     /home/julien/.opam/4.02.3/build/ppx_tools.5.0+4.02.3/ppx_tools-3392-a00279.env
# stdout-file  /home/julien/.opam/4.02.3/build/ppx_tools.5.0+4.02.3/ppx_tools-3392-a00279.out
# stderr-file  /home/julien/.opam/4.02.3/build/ppx_tools.5.0+4.02.3/ppx_tools-3392-a00279.err
### stdout ###
# ocamlc -bin-annot -w +A-4-17-44-45 -I +compiler-libs -safe-string -c ast_convenience.mli
# ocamlc -bin-annot -w +A-4-17-44-45 -I +compiler-libs -safe-string -c ast_convenience.ml
# ocamlc -bin-annot -w +A-4-17-44-45 -I +compiler-libs -safe-string -c ast_mapper_class.mli
# ocamlc -bin-annot -w +A-4-17-44-45 -I +compiler-libs -safe-string -c ast_mapper_class.ml
# Makefile:69 : la recette pour la cible « ast_mapper_class.cmo » a échouée
### stderr ###
# File "ast_mapper_class.ml", line 337, characters 6-17:
# Error: This variant pattern is expected to have type Parsetree.pattern_desc
#        The constructor Ppat_effect does not belong to type Parsetree.pattern_desc
# make: *** [ast_mapper_class.cmo] Erreur 2

I'm seeing something similar.
File "ast_mapper_class.ml", line 41, characters 40-41:
Error: this expression has type Parsetree.object_field list
but an expression was expected of type
('a * Parsetree.attributes * Parsetree.core_type) list

It's already fixed in master, but a release is needed.
ITMT hackaround: opam pin add ppx_tools https://github.com/ocaml-ppx/ppx_tools.git


enabling columns with the columnsButton doesnt work

Whenever i try to show or hide any column i get an error Uncaught TypeError: Cannot read property 'props' of undefined

It seems to be broken with the latest version, check this minimal codesandbox: https://codesandbox.io/s/focused-visvesvaraya-uiev4

looks like this here is the issue: https://github.com/material-table-core/core/commit/277459a0a3da79b94dc198bc830051e104b08377?branch=277459a0a3da79b94dc198bc830051e104b08377&diff=split&w=1#diff-03a5008fa690d71e0f9293401cbcf9e6551d38852b99a6a1dccd233217084602R182

That is actually the fix not the issue. This should be working.

It looks like when refactoring I left a this. on a functional component.
I have since removed that - this should be working now in v2.3.32. Would you mind giving that a shot and reporting back?

fixed with v2.3.32


Custom Routing / new Pages?!

Gitea version (or commit ref): v1.1.2
Git version: 2.11.0
Operating system: Ubuntu 17.04
Database (use [x]):

[ ] PostgreSQL
[X] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[X] Not relevant

Log gist: None

Description
Is there any way to create custom pages with the templating engine and custom routes?
Here in germany, we need at least two custom sites (imprint and privacy policy) and it would be great, if i could create this two sites in the custom directory.
The template files can already be created in custom/templates but how do i define the routing?
It looks like the routing is made in go files in the routers directory? That means i would have to edit the source files?
Screenshots
None

Probably this could be created adding new reserved name pages and something like Gitea wiki but editable only by admins


Add validation check for arrays of void type.

In the definition of an array
(https://www.khronos.org/registry/spir-v/specs/1.2/SPIRV.html#Array),
it specfically mentions that array elements have non-void type.  I've
added a check for that in this PR.
http://crbug.com/879016

You'll need to rebase to catch up to changes necessary to catch up with latest SPIRV-Headers.


Enhancements for WPF samples

Ahead of the 100.3 release, I've identified several quality and usability opportunities with the WPF samples.
This is a work-in-progress PR to track the effort to take advantage of some of these opportunities.

@fragmer I believe I've addressed all of your feedback (thank you!). Can you please re-review?

@fragmer Thanks for the very thorough review! :)


Compilation fails with GCC 5.1.0 on Arch Linux

What errors?

This is an upstream bug with SQLites noexcept detection, which assumes gcc 4.x series is the latest. I'll submit a fix tomorrow, but if you want to take a look, it just needs a change to line 50 of include/SQLiteCpp/Exception.h, to handle gcc 5.

I solved commenting that line:
Line 53 of MCServer/lib/SQLiteCpp/include/SQLiteCpp/Exception.h
#else
//#define noexcept    throw()
#endif


Checkpoint chaincode event listening

As an application developer
I want checkpoint capability for chaincode events
So that I can resume event listening following a connection error or application restart with minimal application code
Using checkpointing, event listening should resume after the last successfully processed event. No events should be missed and no duplicate events should be delivered.
Options for dealing with connection errors are to either:

transparently retry connection with transient failures not reported to the application code (as in the v2.2 Node and Java SDKs); or
Surface connection errors to the application so it can choose to reconnect by simply restarting event listening using the checkpointer.

For simplicity and to avoid obscuring persistent connection failures, the second approach might be preferred.
It might be possible to implement checkpointing as purely a wrapper API around the existing (non-checkpointing) event listening API. The advantage to this approach would be simplicity of the core eventing implementation. The disadvantage would be that the checkpoint implementation could not take advantage of information available only within the eventing implementation, such as visibility of the number of events contained within a given block.

Integrated vs wrapper implementation
A checkpointing solution tightly integrated into the existing event delivery turned out not to be practical, mainly due to the off-line signing flow. This serialises only the protobuf messages and loses and more transient information, such as a selected checkpointer, leaving no way to automatically recreate this when the request (along with signature) is reconstructed after the off-line signing takes place.
The approach currently favoured is a wrapper around the event iterator or channel.
Automatic checkpoint of events
The pull model used for event delivery (iterator / channel) provides good control of rate of message delivery and easier management of the eventing session but it means that the client API has no way of knowing whether a supplied event is successfully processed by the client application or whether a processing error occurs. The push model used in the legacy SDKs (observer pattern) returns control to the client API after the application event consumer function is invoked, so a non-error return can be safely assumed to mean the event was successfully processed.
One approach to allow events to be automatically checkpointed by the API would be to provide a push (observer pattern) API for event delivery when checkpointing is used, similar to the legacy SDKs and built on top of the pull (iterator / channel) API. This would allow automatic checkpointing but is a lot of additional complexity and API surface to support.
The alternative currently favoured is to require an explicit checkpoint call by the client application on successful event processing.

To allow resume of eventing with no missed or duplicate events, the checkpointing implementation needs to address two concerns:

Record the last successfully processed event (block number and transaction ID), with this information optionally stored persistently across application runs.
Ensure eventing resumes exactly after the last successfully processed event.

The ChaincodeEvents service already guarantees that events are delivered ordered by block number and position of the emitting transaction within the block so, during an event listening session, no events will be missed or duplicated.
Filtering out previously processed events at the client end presents different challenges depending on the implementation language. A better approach is to prevent the client from receiving previously processed events by adding an optional previous_transaction_id field to the ChaincodeEventsRequest protobuf message, and for the Gateway service to only deliver events following that transaction ID. The client only needs to include the correct start block number and last successfully processed transaction ID in the request, and does not need to do any filtering of previously processed events, significantly simplifying the client implementation.
Extending the ChaincodeEventsRequest protobuf message has the added advantage of retaining the previous_transaction_id during off-line signing flow.
The Checkpointer interface/implementation is only required to store the current block number and, if any transactions within that block have been processed, the last successfully processed transaction ID. There is no need to store all previously processed transaction IDs within a block. So the Checkpointer interface can become:
interface Checkpointer {
    checkpoint(blockNumber: bigint, transactionId?: string): Promise<void>;
    getBlockNumber(): bigint | undefined;
    getTransactionId(): string | undefined;
}

Record last processed event
The checkpoint() method must be called after each event is successfully processed. Implementation options include:

Client application explicitly calls checkpoint().
We provide a wrapper iterator or helper method providing a no-args checkpoint() method that checkpoints the last delivered event.
We provide a mechanism to register an event callback, which is invoked in each event and checkpoints that event when the callback successfully completes.

I suggest we start with the first option, as it requires little or no additional implementation in the client API and is still trivial for the client application to use.
Specify last processed event on resume
The client application must specify both the start block and (if one exists) last successfully processed transaction ID when resuming eventing after a transient connection failure or in a subsequent application run. Implementation options include:

Add a previousTransactionId chaincode eventing option, in addition to the existing startBlock option. It would be the client application's responsibility to pass both the start block number and previous transaction ID when resuming eventing.
Allow a checkpointer chaincode eventing option, which we would use to obtain the correct start block and previous transaction ID values. It would be the client application's responsibility to pass the checkpointer instance when resuming eventing.

The second option is slightly less work for the client application and no extra work in the client API implementation, so I think I would favour that approach.


RTCP field extraction parsing

Work in progress for field extraction but parse is good

[IMP] RTCP dissector


Creates option to use internal python VLM or external AVL

This way developers can run internal VLM for debug without having to use Windows or compile AVL on Linux.

Solves #38


add qhull and update matplotlib

Adding qhull seemed pretty easy.
Matplotlib - unfortunately - does not seem to work yet in Jupyterlite.
The error I am getting is:
LinkError: WebAssembly.instantiate(): Import #190 "env" "time": imported function does not match the expected type

often a missing -sWASM_BIGINT give erros like "imported function does not match the expected type" @wolfv

From version 3.9.0 Matplotlib switched to using meson, and I think more changes are required here for this. For example, there is no setupext.py any more, and it probably needs a meson cross-compilation file (as other meson-using packages do here). I have a WIP branch https://github.com/emscripten-forge/recipes/tree/matplotlib_3.9.0 that builds but fails the tests (probably because the build is wrong), and you are welcome to take any of that to use here.

Thanks @DerThorsten - with WASM_BIGINT it seems to work like a charm (for the two things I tested at least). Screenshot attached.

3D triangulation stuff also seems to work?!

3D triangulation stuff also seems to work?!

nice!
Is this ready for review/merging?

I think so! :)

Although I think it can be simplified some more ...

Ok, so I spent a little time on simplifications but it didn't completely pan out.
I tried to remove numpy and pybind11 from the build dependencies.
Instead we configure the location in the meson cross file.
But note: the cross-python package does some magic upon activation (it moves all headers and shared objects in the $BUILD_PREFIX). So the "final" location of the numpy include dir is still in the $BUILD_PREFIX).


chore: upgrade cordova android sdk 32

The cordova-plugin-qrscanner is breaking for me and Keno, when trying to build this on Android.


'useAndroidViewSurface' is deprecated and shouldn't be used.

In the main function,
void main() {
  if(Platform.isAndroid) {
    AndroidGoogleMapsFlutter.useAndroidViewSurface = true;
  }
  return runApp(MyApp());
}

AndroidGoogleMapsFlutter.useAndroidViwSurface = true is  deprecated,
What should I replace with?

You probably guessed that you can simply remove it. This was a way to toggle into a new render mode which should be stable and enabled by default by this point.


Test out NMI - Numba version

Along the lines of
@njit(cache=True)
    def compute_joint(img1, img2):
        stacked = 2 * img1.ravel() + img2.ravel()
        return np.bincount(stacked, minlength=4).reshape(2, 2)    @njit(cache=True)
    def entropy(counts, total):
        # Convert counts to probabilities
        p = counts / total
        # Only calculate for non-zero entries to avoid log(0)
        return -np.sum(p[p > 0] * np.log2(p[p > 0]))    @njit(cache=True)
    def normalized_mutual_information(img1, img2):
        joint_counts = compute_joint(img1, img2)
        total_pixels = 28*28        # Marginal counts
        c1 = np.sum(joint_counts, axis=1)
        c2 = np.sum(joint_counts, axis=0)        # Compute entropies directly from counts
        h1 = entropy(c1, total_pixels)
        h2 = entropy(c2, total_pixels)
        joint_entropy = entropy(joint_counts.flatten(), total_pixels)        mutual_info = h1 + h2 - joint_entropy
        return 2 * mutual_info / (h1 + h2)

is it faster/better in any meaningful way? Let's check ..

This turned out to be a dead end, closing


Common Errors Pages

User Story
As somebody potentially new to OpenAPI and giving it a try with a handy CLI/React tool, I would like it to be very forgiving if I open up invalid OpenAPI, completely unknown files, so that I can learn and get more experience with doing OpenAPI correctly.
Details
Error pages need to exist for when things go wrong:

Unknown File - When something is not OAS2/3 what do we do?

Not found - when any URL is called that is not an operation, model, article, or something else valid. Note that there's two paths to handle here: 1. The API description document itself cannot be fetched 2. the document could be fetched but the subpath doesn't exist.

Additional Information
Currently in API component we are checking for a specific shape of JSON object passed as document to API component:
  if (isOas3(apiDescriptionDocument)) {
    uriMap = computeOas3UriMap(apiDescriptionDocument);
    documentTags = apiDescriptionDocument.tags?.map(tag => tag.name) || [];
  } else if (isOas2(apiDescriptionDocument)) {
    uriMap = computeOas2UriMap(apiDescriptionDocument);
    documentTags = apiDescriptionDocument.tags?.map(tag => tag.name) || [];
  } else {
    console.error('Document type is unknown');
  }

If we are not supporting a given document, we are just bailing out with a console.error and a "loading screen":

Also, current design quirk, when theres an error the powered by Stoplight shows up at the top of the page.

I believe almost everything asked for here has been covered by previous PRs.

Unknown File: handled just fine, try https://elements-demo.stoplight.io/?spec=https://user-images.githubusercontent.com/67381/114146629-bc70cb80-990f-11eb-8b9c-64c5ae0d6f3b.png#/
Not Found:

spec not found: This isn't covered perfectly as it right now falls under the same path as an unknown file, I'll correct it soon.

path not found: Impossible. For stacked layout it obviously isn't a possibility, for a sidebar one (and StoplightProject) we redirect to the first ToC item if the current path is not pointing to a valid node.


chore: bdd-sbhg-1584515416 to 0.0.1

chore: Promote bdd-sbhg-1584515416 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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


bad pr 3

Changes

Bad changes

Motivation

Test danger rules

Verification steps

To do

hey!

peril, plz


feat: fix issues on blog page

Description
This PR fixes #1551
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@sudhanshutech please check. And the overflow you suggested, I wasn't able to reproduce them but I have fixed the issue of authors placement

Hi @ashutosh-rath02  ,
Thanks for your PR! I encourage you to share this in the Website Meeting tomorrow at 6:30 PM IST. Share your screen, and walk us through it. It's cool to take and share feedback. Check the Doc here to include this PR.
You're welcome at the meeting
Check to community calendar for more details of meetings at Layers.

@ashutosh-rath02

@sudhanshutech it seems overflow for medium screens is due to the navbar, I have fixed the overflow of smaller screens it was due to the images.

In that case @vishalvivekm @iArchitSharma @Yashsharma1911 will look over it

@sudhanshutech please check


Returning empty URL

Hello, I've had success with the program in the past until recently. I used to submit about 45 files at one go, but currently, it only works with only 2.
I did not change anything on my computer, and I've supplied the correct userid. I've checked with telnet that I can successfully connect to moss.stanford.edu at port 7690
Here is the error that returns:

Exception                                 Traceback (most recent call last)
 in
19
20 #Save report file
---> 21 m.saveWebPage(url, "report/7pm_report.html")
22
23 # Download whole report locally including code diff links
~\AppData\Local\Continuum\anaconda3\lib\site-packages\mosspy\moss.py in saveWebPage(self, url, path)
142     def saveWebPage(self, url, path):
143         if len(url) == 0:
--> 144             raise Exception("Empty url supplied")
145
146         response = urlopen(url)
Exception: Empty url supplied

You have closed the issue, have you found the solution already?

Yes, MOSS was returning too many items. I fixed it by changing the parameters in self.options

Awesome! Can you share which options worked for you, so that we have a record here.

Sure!
self.options = {             "l": "c",             "m": 4,             "d": 0,             "x": 0,             "c": "",             "n": 50         }
I think what made a difference is the m parameter. As quoted by the official documentation,

The -m option sets the maximum number of times a given passage may appear before it is ignored.  A passage of code that appears in many programs is probably legitimate sharing and not the result of plagiarism.  With -m N, any passage appearing in more than N programs is treated as if it appeared in a base file (i.e., it is never reported).  Option -m can be used to control moss' sensitivity.  With -m 2, moss reports only passages that appear in exactly two programs.  If one expects many very similar solutions (e.g., the short first assignments typical of introductory programming courses) then using -m 3 or -m 4 is a good way to eliminate all but truly unusual matches between programs while still being able to detect 3-way or 4-way plagiarism.  With -m 1000000 (or any very large number), moss reports all matches, no matter how often they appear.  The -m setting is most useful for large assignments where one also a base file expected to hold all legitimately shared code.  The default for -m is 10.

An in-depth explanation of the options are explained here, http://moss.stanford.edu/general/scripts/mossnet

Excellent! Thank a lot for your sharing the information.


Implement Debug for some structures

NetworkConfiguration, TransportConfig, NodeKeyConfig and Secret.
Needs a new release of the rust-libp2p crate. This PR is just a
reminder.

Thanks!


Bumped autochrome_junk_drawer to manifest v3

It now uses declarativeNetRequestWithHostAccess which 'statically'
modifies requests with rules (useragent_tag_$COLOR.json) depending on
the theme currently loaded.
It also needs the management permission in order to determine which
profile/theme is currently being used.
As manifest v2 will stop working during 2023, it seems to me as a good time to upgrade.

Can you provide a link to details of manifest v2 being deprecated for documentation purposes? This looks like a change that I should merge sooner rather than later, any documentation is appreciated.

Hello, here is the link : https://developer.chrome.com/docs/extensions/mv3/mv2-sunset/.
Its deprecation has been a bit postponed. It seems than in early 2024 (the date is still under review), extensions using the v2 manifest will stop working.

I should also note that I had to had a new custom header x-autochrome-tag. The new API does not allow modifying headers (only, add, delete and set). So I "set" the User-Agent with a fixed version of chrome and added the new header.
If a breaking change has to happened, both headers should be present for some time I think.


storybook: Add devtools exchange to storybook plugin

About
Add feature to dynamically import @urql/devtools and include the exchange in the storybook decorator if it exists.
Where to start

Check out how we create a client for storybook fixtures here
Visit the urql devtools exchange README for how to add the exchange to an Urql client

Notes
Shoutout to @kiraarghy for the suggestion

@andyrichardson quick note 😅 I suppose this is a change suggestion but there isn't enough details in here for someone to pick this up. It's ok if there's already someone (like yourself or someone else) that you'll assign to this, but given that it's tagged as "good first issue" it'll probably need more instructions, e.g. by following the RFC template.

@kitten sure thing I'll update it

Published in<EMAIL_ADDRESS>

Doppeeeeee


Spike/update model configuration

Description

All existing model configuration objects/code have been moved into "legacy" objects and endpoints for this transition, to allow for a seamless light switch without a long running hard to maintain branch
New model configuration class
New model configuration services, repositories
External services that use model configs will be updated to use new legacy endpoints:
https://github.com/DARPA-ASKEM/askem-beaker/pull/136
https://github.com/DARPA-ASKEM/sciml-service/pull/178
https://github.com/DARPA-ASKEM/pyciemss-service/pull/89

Resolves #(issue)

Might be cause its late on a Friday, I checked this branch out and have been having troubles creating a new ModelConfiguration (the new one).  Perhaps we can chat Monday?


Allow multiple acme entrypoints

What does this PR do?
This adds the setting under entryPoint.name.tls useAcme = true to use the acme obtained certificates for that entrypoint. It re-assigns the entryPoints certificate store to the same one used for acme. The specified entrypoint should be use to obtain the cert and any additional entrypoints tagged with this setting can use the certs also.
Motivation
I use acme to obtain a wildcard certificate for my domain. I expose a small handful of services to the internet for which I want valid certs. I also use another entrypoint to expose many other services on another entrypoint internally. I want to be able to use the same wildcard certificate on the internal entrpoint.
More

[X] Added/updated tests
[X] Added/updated documentation

This addresses issue https://github.com/containous/traefik/issues/2710

@ldez is there anything that we can do to get this merged? I am really missing this in order to allow Traefik to work for both internal and external services (running on different ports, one which is exposed to the internet, and the other is only available in the internal network).
Let me know if I can be of any help.

is there anything that we can do to get this merged?

@snowzach @Morl99 A rebase at this point is pretty much required.  Lots of conflicts.  That will at least make the reviewer less daunting.

Unfortunately, this only helps use-cases where you use wildcard certs, where DNS integration is required.
I (I'm a nobody, I have no say here) would much rather see a solution that permits the second (et. al.) TLS endpoint to ALSO use ACME via HTTP-01 Challenges on the designated http endpoint.

Unfortunately, this only helps use-cases where you use wildcard certs, where DNS integration is required.
I (I'm a nobody, I have no say here) would much rather see a solution that permits the second (et. al.) TLS endpoint to ALSO use ACME via HTTP-01 Challenges on the designated http endpoint.

I must say that this would be very valuable, so not "unfortunately" for me 🙂
Its perfectly fine that it requires DNS challenge.

Thank you for this PR.
Sorry for the late answer.
V2.0 uses the routers to configure tls and certificates, and as routers can be linked to multiple port, it will be possible to have the same let’s encrypt certificate on multiple ports.

What is the release schedule on v2.0?


Am I right to assume that I cannot get data for multiple librarys with one api call?

http://api.jsdelivr.com/v1/jsdelivr/libraries?name=jquery&fields=mainfile,name fields works with comma.
http://api.jsdelivr.com/v1/jsdelivr/libraries?name=jquery,bootstrap&fields=mainfile,name however, this fails.
or can I do it differently without getting all the libs at once? If not that may be a idea for v2

Yes you cant do that with v1, but its a great idea for v2.

This is now present in v2 beta

I'm guessing v2 is not live yet?

Its not. You can test it here https://jsdelivr-api.herokuapp.com/v2/jsdelivr/libraries


Consistently use camelcase/snakecase in aztec.nr

Rust inherited the convention from C++ of using CamelCase for types and snake_case for everything else.
Presumably, aztec.nr should inherit this convention as well.
Task:

Take all existing camelCase methods, variable names, and other non-type symbols and rename to snake_case. I think types are all currently correctly CamelCase.

Considerations:

Consider getting the PR in at a quieter time and alerting other aztec.nr devs to pull to prevent too many conflicts.

We should follow Noir/Rust naming conventions, not C++.


Numpy version required in setup.py does not match requirements.txt

Specifically, requirements.txt requires numpy>=1.15,<1.16 whereas setup.py requires numpy>=1.15.0. This means that pip install imgaug will install the latest version of numpy which is greater than 1.16. As noted in issue https://github.com/aleju/imgaug/issues/235, there is a compatibility issue with latest numpy/scikit-image.
It looks like a fix is coming to make compatible with numpy>=1.16 in PR https://github.com/aleju/imgaug/pull/267. Until then, should setup.py also require numpy>=1.15,<1.16?
I can submit a PR to fix this if necessary.

numpy 1.16 was only disallowed because of the compatibility issues between numpy and scikit-image. These are afaik fixed now, which is why PR #267 is going to reactivate it again. It will likely be merged today.

#267 is now merged, so requirements.txt and setup.py should match again. Thanks for pointing this out, I had completely forgotten about setup.py.

Thanks for the update.


Make "Marketplace" menu item focusable via keyboard

Makes the Marketplace link in the dropdown accessible via the up and down arrows on the keyboard.
Video
https://user-images.githubusercontent.com/73734376/140486207-de4a5790-86ab-492d-9ba6-0d14f2e4834a.mp4

Thank you @ProProgrammer2504!


Thread::wait_to_finish throws error when called on a joined/returned thread

Godot version
4.0 master
System information
Win 10, AMD Radeon RX 590
Issue description
I have a thread to handle UPNP stuff which blocks when called.
When the thread is done, it signals. The main thread awaits this signal, and then calls wait_to_finish -- this throws an error about not being able to join a thread from itself. This means it's being cleaned up already like expected -- yet there is also a warning saying we must call wait_to_finish or it won't be properly cleaned up.
I have solved this problem with my personal fork of Godot by changing Thread and everything in the engine that uses it to use normal naming conventions (wait_to_finish becomes join, like everything else is named), and providing detach. I also moved the "cleanup" code, of which there was none (why was that warning even there?), to the destructor, making the class no longer require the warning about calling wait_to_finish, and also bringing it more in line with what most people expect out of a thread.
My only concern is.... I don't know what I'm doing when it comes to GitHub -- do I make a pull request? The fact that I changed the name of a method that's in.... some 45 files if my text editor didn't lie... means I doubt this will make it in to 4.0, if ever. But there's definitely a problem here, even if my code isn't the solution.
Steps to reproduce
Create a thread; don't call wait_to_finish on it. Warning appears that seems needless.
Create a thread and await a signal saying it's done. After the await, call wait_to_finish. Note it throws an error.
Minimal reproduction project
test_case_thread.zip
Open the example.tscn scene and run it with F6. Note the warning about not having called wait_to_finish and also the error about trying to call join on itself.
NOTE: I tried to keep it exactly accurate to what went wrong so it still does do a UPNP discover -- this is not part of the problem, merely there to be the same timed external event.

Not sure whether it's a bug, or intended behaviour for threads. Maybe some of @godotengine/core devs may say better.

Pretty sure it's a bug as there's no way to use threads without a warning/error.
Also, with all the talk about Godot becoming AAA compatible (see https://godotengine.org/article/whats-missing-in-godot-for-aaa/ ).... the change to C++ standard threads is backwards from what they're wanting. Huge performance losses on Windows -- each mutex lock/unlock has to jump ring levels to the kernel and back. Critical Sections can be used as a drop in replacement and they often do not have to jump to the kernel.
Design by committee is always challenging, but we should never backpedal, imo.

The thing is that when you do await discover_done the function will be resumed by the thread that emitted the signal. So the wait_to_finish() call will happen on the thread, which triggers the can't wait to finish on itself error (which means it never really waited). Such error will end the _ready() call/resume, which then will clean up the stack, freeing the Thread object that was created locally, thus triggering the warning (thread destroyed without call to wait_to_finish()). It seems to me everything is working as intended.
You can solve this by emitting the signal in a deferred call, since that will be queued and then called from the main thread. The issue is that there is no emit_deferred() (which I think would an welcome addition), so you need to do something like emit_signal.call_deferred(discover_done.get_name(), true) (the get_name() here just to avoid strings and typos).
For me the only "solution" to this would be adding an emit_deffered() method to Signal to be easier to use on this case.

Thank you for providing a way to work around my issue.. but I still feel this can be more elegantly solved by just allowing detach to be called on the internal thread object and changing the logic on thread destruct internally as I've done in my personal fork of Godot.. but I'm totally unfamiliar with GitHub and the whole process. (Note I also renamed "wait_to_finish" to "join" to better match... everything else... but I did so without talking to anyone, so I closed the pull request -- I don't know if I even did that correctly or not)
I've been kind of upset about the whole issue -- I love Godot, but having dug into the source here and finding they threw out OS-specific, perfectly good, and more performant code in favor of black-box magic voodoo provided by the C++ standard library when Juan just started mentioning things needing fixed for AAA usage... There's some mixed signals here. Is the engine getting more performant or easier to write? You cannot have both.

While it's sad that std::mutex is not backed by Windows' critical section objects, if you can prove actual performance issues as a result of that, please open a proposal so we re-evaluate the matter. In scripting you are not ayway expected to squeeze the processor at such a low level. Godot also has SpinLock internally, used where it matters.
Regarding the mechanics of threads (self-destruction), naming of methods, etc., you can as well open as proposal. Probably you're not alone in believing wait_to_finish() is a needlessly non-standard name.
Now, I believe @vnen's reply addresses this sufficiently as not a bug.

I'll write up a separate proposal for the Windows threading stuff; I shouldn't have mentioned it at all here just because it was related to threads... it seems to have distracted from the actual issue.
I personally feel the current Thread implementation can exhibit undefined behavior as it detaches a thread during the deconstruct. This seems fine for an unjoined thread, but a thread deconstructing from a join is already gone -- a detach at this point is likely in error. It also states you must call wait_to_finish, which is not true -- it detaches when deconstructing. These two things IMO are bugs and the reason for this report, a proposal for my changes, and (an attempt at a) pull request to at least partially fix it.
Though, I am now seeing that detached threads are technically supported as it currently stands -- if the destructor is called it detaches -- but I was under the impression it's best to call detach early, not right before/during destruct, though this may be fine and defined behavior (I'm not sure) and thus only half as big of a bug as I thought originally. Still, don't detach when not joinable even if detach doesn't get added to the script side (an if check in the destructor would solve it), though I really feel it should be up to the end-user/dev to call detach/join depending on their needs, not for detach to automagically get called behind the scenes.
Again, sorry for bringing the OS specific stuff up in this; that's not what this bug report is about -- warnings, errors, and lack of detach is all this is about.

Detaching happens to try to avoid a crash as much as possible. If the thread has not been joined, the C++ runtime is free to crash the program. That's why the user is warned they should join (wait_to_finish()). Detaching is not done for supporting fire-and-forget thread dynamics in Godot (which, on the other hand, would require much more than that).


Support hierarchies with cyclical dependencies

sealed trait Parent
case class A(b: B) extends Parent
case class B(foo: String) extends Parent

This may go wrong depending on which (random? alphabetical?) order the subclasses are detected because the macro then generates code containing a forward reference. I'm not sure how easy this is to fix. I know the Play JSON macro has a mechanism for warning of such cases (i.e. it fails if it can't find an implicit JSON format in scope), one idea would be to take into account the order of declaration of the subclasses in code by doing a tree traversal and sort the subclasses discovered at compile-time according to that order (but I don't know how easy that is, I have only a limited experience with macros). Or another approach could be to do a topological sort on the subclasses should they reference symbols that are also subclasses of the trait.

In general you can implement this example like this:
sealed trait Parent
case class A(b: B) extends Parent
case class B(foo: String) extends Parent

object Parent {
  implicit val bJson: JSON[B] = deriveJSON[B]
  implicit val parentJson: JSON[Parent] = deriveJSON[Parent]
}

println(toJSON(A(B("hello")): Parent))

it will print:
{"b":{"foo":"hello"},"type":"A"}

It works, because ToJSON/FromJSON and JSON type classes are invariant and  deriveJSON[Parent] generates serializer only for type Parent. This also mean, that deriveJSON[Parent] will not work for toJSON(A(...)) or toJSON(B(...)). That's why you also need another serializer for B.
That said both of these scenarios:
sealed trait Parent
case class A(b: Option[B]) extends Parent
case class B(a: Option[A]) extends Parent

and
sealed trait Parent
case class A(b: Parent) extends Parent
case class B(A: String) extends Parent

are not supported at the moment.  Do you think that one/both of these scenarios are also in the scope of this issue?


Support for dbengine

Attempting to enable Netdata's new dbengine memory mode fails with the following error RRD_MEMORY_MODE_DBENGINE is not supported in this platform. Based on a little digging here https://github.com/netdata/netdata/ and here https://docs.netdata.cloud/packaging/installer/#one-line-installation i think your image may be missing a few new netdata dependencies. Possibly libuv, liblz4, Judy, and openssl

@titpetric

Hello! The best way to get this in would be to submit a PR adding the dependencies, or to explain better how you're encountering the failure (ie, a way to replicate). I am using netdata in production currently, but configured differently, so I'm not hitting your limitation.
Extending the issue with more information / way to reproduce would be appreciated.

Yes sorry for being light on the information. I believe this issue can be reproduced by adding
memory mode = dbengine
to the [global] section of netdata.conf.
If things were working correctly this would enable the new database engine memory mode for netdata. Instead netdata will refuse to start. I can provide the whole docker log is neccissary but i believe that relevant line is
2019-08-20 20:57:39: netdata FATAL : MAIN :RRD_MEMORY_MODE_DBENGINE is not supported in this platform. # : No such file or directory
According to the links i posted in my first comment this seems to be indicative of missing dependencies.

PR merged, need to verify the build(s) sometime and will close this issue when done. Might take a while before I get to that tho. If it works for you, just close it :) Thanks.

Thanks for getting this merged. Everything appears to be working fine in with the DBEngine memory mode.


Replace all uses of var with const/let

var is a complex way to define variables, with complexities
around dynamic scope, hoisting, etc. Modern JS prefers
lexically scoped const (the default) and let (for variables
that get reassigned).
This PR just moves all uses of var to const or let as
appropriate.
Ref: https://github.com/jupyterhub/binderhub/issues/1373

This should be merged before https://github.com/jupyterhub/binderhub/pull/1377

https://janakachathuranga.medium.com/why-we-use-const-and-avoid-var-3528ee550fb4

Thanks @yuvipanda !!! Nice work on this!


Skip cloud cred check if it is not changed

A cluster owner should be able to edit a cluster without changing the
cloud credential. Therefore, if the edit isn't changing the cloud
credential, then Rancher shouldn't validate that the user has access to
the cloud credential.
After this change, Rancher validates that the user has access to the
cloud credential only if they are trying to update it.
Issue:
https://github.com/rancher/rancher/issues/35413

@cmurphy You are correct about how the UI handles this. However, when making a request through the API directly (using the "API UI") then the whole object is set with the request. This addresses that scenario.


[Feature Request] Show enum information in GraphQL schema explorer

Insomnia Version: 7.0.1
Operating System: Ubuntu 18.04

Details
I noticed that the GraphQL schema explorer does not list the available values on enums.
An introspection query like the following will give the information about the given enum:
{
  __type(name: "SomeFancyEnum") {
    enumValues {
      name
      description
      isDeprecated
      deprecationReason
    }
  }
}

For me, using HotChocolate for .Net Core, the above returns something like:
{
  "data": {
    "__type": {
      "enumValues": [
        {
          "name": "REINDEER",
          "description": "Sleigh propulsion system",
          "isDeprecated": false,
          "deprecationReason": null
        },
        {
          "name": "SANTA",
          "description": "Flag a thing as being Santa",
          "isDeprecated": false,
          "deprecationReason": null
        },
        {
          "name": "SATAN",
          "description": "Flag a thing as being Santa",
          "isDeprecated": true,
          "deprecationReason": "Ooops.. typo"
        }
      ]
    }
  }
}

I was going to open an issue to ask for this feature!
In GraphQL there is a enum type which is a list of allowed values.
In many GraphiQL interfaces, the documentation shows all the allowed values that an enum can take. This is very useful for the users of the GraphQL API so they can see which values they can use when they are using the API

Ah yes, I just forgot to implement docs for enum types. Should be an easy addition! 👍

I've also noticed that enum types docs aren't shown too!

How's this?

Thank you for this @gschier. It is a very nice addition :)


Paste As Comment - one space after //

When I use "Paste As Comment", comment lines are inserted

with zero offset from the start of each line - that's not really annoying, couple Tab presses or "Format Document" and it's fixed. Albeit taking the offset from the cursor position might make sense;
with no space between // and each line of inserted text. This is not very readable for text. I see no way fix this in a few clicks without extra tools and so it is rather annoying. StyleCop has the rule SA1005 and a fix, but that's a 3rd party tool that is not always used.

When I want to paste something as a comment - it is always a plain text so I think it makes sense to make it more readable by default, without the need for additional tools and steps to fix the formatting.

indenting from the cursor position can be a little tricky (and tabs/spaces...) but the standard format normally does the right thing
yep, it would be nicer to have a single space after the //