flow.response.replace(old, new[, maxreplace]) no longer works in version 0.17 / 0.18

Steps to reproduce the problem:
 regex1 = r'\d+\#\d+\#\d+\#\d+\#(\d+)\#\d+\#\d+\#\d+\#\d+\#'
 re.compile(regex1)
 flow.response.replace(regex1, r'444#5555#66#77#\1#0#0#0#0#', 10)

What is the expected behavior?
flow.response.replace(regex1, r'444#5555#66#77#\1#0#0#0#0#', **10**)
The 10 used should be Max Count or Max Replace
What went wrong?
In  flow.response.replace(old, new[, maxreplace])
is no longer working, all my older scripts are now broken; this used to work fine.
Any other comments? What have you tried so far?
I have tried changing my replace to a variable, changing the long regex and replace with something very small and simple.
Work Great on my other servers that run MITMProxy 0.15 and i think 0.16 was working too.
*When i updated to 0.17 or 0.18 it then no longer works and my scripts are broken.

Mitmproxy Version:  0.17 and 0.18
Operating System:  Ubuntu 14.04 and 16.04

I think the problem is not with replace, but in your script. The syntax has changed a bit.
import re

# Notice that the context parameter is no longer needed
def response(flow):
    flow.response.replace("this", "that")

I've tested that this works with latest code from master!

@dufferzafar
Thank you for the reply,
Sorry, but that did not help :(
Thank you for letting me know that it is no longer needed, but this did not allow;
flow.response.replace("this", "that", COUNT) to work.
the normal replace works, but the "COUNT" Does not; this is my issue with version 0.17 and 0.18

on all the older version eg. 0.15 and 0.16; COUNT works great!

for example, there are a 100 Zip codes and you only want to change the first one; it would be something like:
flow.response.replace("[0-9]{5}", "12345", 1) = Replace the First Occurrence of a 5 digit number.
Now Only flow.response.replace("[0-9]{5}", "12345") Works; Replacing ALL 5 digit numbers.
This is my issue, I hope this help explain it better... :)
Thank you again.

We'd be happy to accept a PR that reintroduces the count argument. Other than that, response.content = response.content.replace("foo","bar") may just be what you are looking for anyways.

@mhils
Thank you for your reply.
I would love to add a Personal Request to reintroduce the COUNT argument.
I was not sure if this is/was a BUG or if it was taken out, changed for some reason; No idea why this would be removed.
I was thinking of using re.sub() or some other python commands to have it's MAX COUNT function work within the .py script, but was not able to succeed.
For now I'm stuck using Version 0.16, but hopefully down the line I could use the latest Versions.
I'm open to other suggestion or examples on a workaround for Replace the FIRST Occurrence of a Regex in the BODY of a Response.
Thank you all.


Added a note that gc might try to pull missing .dir cache files

Fixes #1075
Changes as per observations in https://github.com/iterative/dvc.org/issues/1075#issuecomment-643669420

Thanks : 🙏


Updating build. Cleaner test script

I think each adapter should run composer update and then run the tests. That will make sure we have proper dependencies.
What do you think?

We will ensure we have the proper dependencies by just running the tests, no? Thats a lot of extra build time. Especially if we have the issue (like we do right now) when parallel isn't able to install, and all the tests have to be ran synchronously.

Current coverage is 88.39%

Branch #15 has no coverage reports uploaded yet.

No diff could be generated. No reports for master found.

Powered by Codecov. Updated on successful CI builds.

I do not think it will be a lot extra build time. Say that we can run the tests in parallel, then it would only be like a minute longer.

(PR squashed)

(PR squashed)


onColumnVisibilityChange behaves strange when clicked the show menu column showAll or hideAll button

material-react-table version
v2.12.1
react & react-dom versions
v18.2.0
Describe the bug and the steps to reproduce it
I want to save the user-defined visible columns in my server, hence every time changing the visibility change I want to make an API call. So I used a state variable to keep track of these changes. When changing a specific column, the updater parameter sends all the column names and their visibility status. All works well when it is being handled by the material react table.
However, when managed with a state, for N columns updated function is called N times with each column changes. For example, given an initial state as
{'name'; true, 'age'; true, 'salary': true}
The function is called 3 times with these parameters for HIDE_ALL:
{'name'; false, 'age'; true, 'salary': true}
{'name'; true, 'age'; false, 'salary': true}
{'name'; true, 'age'; true, 'salary': false}

And end up with only the last property hidden.
The expected parameter would be one call with the following object
{'name'; false, 'age'; false, 'salary': false}
Minimal, Reproducible Example - (Optional, but Recommended)
Here is an example using custom states.
https://stackblitz.com/edit/github-afi8ma?file=src%2FTS.tsx
Here is an example without using custom states.
https://stackblitz.com/github/KevinVandy/material-react-table/tree/v2/apps/material-react-table-docs/examples/external-toolbar/sandbox?file=src%2FTS.tsx
Screenshots or Videos (Optional)

Do you intend to try to help solve this bug with your own PR?
Maybe, I'll investigate and start debugging
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

I've had this issue too, and it's due to how react batches state updates, it works well if you pass the prev from the setColumnVisibility to the updater function like this
 setColumnVisibility((prev) => updater instanceof Function ? updater(prev) : updater)

Yeah, looks like there is nothing we can patch here in MRT, just have to recommend the ^above fix.

For the scenario where the "Hide all" button is clicked, the columns are toggled like this:
const handleToggleAllColumns = (value?: boolean) => {
    getAllLeafColumns()
      .filter((col) => col.columnDef.enableHiding !== false)
      .forEach((col) => col.toggleVisibility(value));
  };

I think it should be using table.toggleAllColumnsVisible which triggers a single state update, rather than above which triggers multiple state updates for each column.

If that API respects the enable hiding column def option the same way, then sure.

It appears to respect it.
`
table.toggleAllColumnsVisible = value => {
value = value ?? !table.getIsAllColumnsVisible()
  table.setColumnVisibility(
    table.getAllLeafColumns().reduce(
      (obj, column) => ({
        ...obj,
        [column.id]: !value ? !column.getCanHide?.() : value,
      }),
      {}
    )
  )
}

// getCanHide called when attempting to hide a column
column.getCanHide = () => {
  return (
    (column.columnDef.enableHiding ?? true) &&
    (table.options.enableHiding ?? true)
  )
}

`


add utteranc.es comments to notes

📝 Changed routes:

/notes/[slug]

(view full size)

Commit 7d4b02b6df9b834b7c477ba0b6e2890eafd81cd9 (https://jarvis-4cyaarnq8-jakejarvis.vercel.app).


Update revive to catch more defer/recover badness

Update to latest version of revive that includes Steven's change to find more defer/recover badness.
Ignore 158 new warnings about package-comments.
Add Steven's new immediate-recover linter.

Verified this would have caught the previous mistakes I made (woohoo!)

Pull Request Test Coverage Report for Build 01823ce0-6f2b-4cac-a1ba-47ed6da05394

0 of 0   changed or added relevant lines in 0 files are covered.
67 unchanged lines in 8 files lost coverage.
Overall coverage increased (+0.06%) to 57.763%

Files with Coverage Reduction
New Missed Lines
%

common/task/weightedRoundRobinTaskScheduler.go
1
89.64%

common/task/fifoTaskScheduler.go
2
85.57%

service/history/execution/mutable_state_util.go
2
36.14%

common/persistence/nosql/nosqlplugin/cassandra/workflow.go
3
57.14%

service/history/task/fetcher.go
4
91.28%

service/history/task/cross_cluster_task_processor.go
7
81.9%

common/persistence/nosql/nosqlplugin/cassandra/workflowParsingUtils.go
20
83.16%

service/history/execution/mutable_state_task_refresher.go
28
62.34%

Totals

Change from base Build 0182382e-624d-43d1-b87e-72479bca5356:
0.06%

Covered Lines:
83846

Relevant Lines:
145156

💛  - Coveralls


Replacement Fee too low

hello, I had my contract verified when I first attempted the project. Now that I try it again for a second time I get this error. not sure exaxtly what I am doing wrong.

I am not using any other networks but truffle and rinkeby.

Hi @miltonisblurrd this issue is not related to this project, that probably has to do with MetaMask. You might have a stuck transaction or maybe your wallet is off-sync with the network.
I hope this helps, please let me know if you are able to solve the issue.

Closing this since I received no feedback. This issue seems related to a stuck transaction or something like that, it shouldn't be a real bug in the project.
Feel free to open another request for help in the brand new Discussions section.


Service Principal

In our situation, when testing this out, we are using an "App Owns Data" web application for our embedded reports. This is accessed through the service principal, so that's the value that shows up when using UserID (Just shows the spn Object ID). How do we get the logged in user and not spn. In the past we used the "CustomData" property to do something similar to pass the user id to an AAS cube. Is there something similar here?

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

ID: f3e7facd-9b41-c417-3309-ee80c2d10d66
Version Independent ID: 111c21d8-602f-7df3-4e41-bcfb3cb82c31
Content: Use row-level security with Power BI embedded content - Power BI
Content Source: powerbi-docs/developer/paginated-reports-row-level-security.md
Service: powerbi
Sub-service: powerbi-developer
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Hi @jgoleson,  I've assigned your question to the author responsible for the doc you referred to. Thanks for reaching out to us!

Thanks for your comment, @jgoleson.
This looks like a support request or product question rather than documentation feedback.
You might find a solution in the Power BI Community. If not, try our support page.


exhibitor: init at 3.4.9

Initial Exhibitor nix package and nixos module for Netflix's Exhibitor,
which is a manager for Apache Zookeeper.
Motivation for this change
Run and manage Exhibitor (and thus ZooKeeper) via Nix and in NixOS
Fixes #22327
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

It is going to be the first project in nixpkgs which uses mvn2nix and huge generated project-info.json...
All this machinery might be changed with mvn dependency:go-offline -Dmaven.repo.local=$out producing a fixed output derivation.

Is it possible to store project-info.json externally and download it with fetchurl?

Is it possible to store project-info.json externally and download it with fetchurl?

@Mic92: The content of project-info.json is generated against exact version of upstream. Minor version update would introduce new dependencies and would require re-generation (and re-upload) of project-info.json. Do you expect this from the person who will bump the version ? I bet, project-info.json will remain the same resulting in compilation (or even run-time) error because of a missing .jar.

@volth I am concerned about adding big generated text files to nixpkgs as this would slow down git (I did this mistakes in a project once) and increase the channel size. Re-uploading (maybe to gist.github.com) does not seem problematic too me.

I meant, maybe project-info.json should be output of a derivation, not a magic blob which would be difficult to create for the next version without asking @joelthompson  to do it.

I agree a behavior like buildRustPackage would be ideal. But this require some tooling we currently don't have in place at the moment, right? That's why I came up with the idea of not storing project-info.json in nixpkgs instead as temporal solution. If somebody updates the package it is probably not required to store that file in the same place as the old one.

Why dont just write up the recipe of how to create project-infi.json as a derivation's builder script? What tooling does it need?

If you think this is easy to achieve, that might be a solution.

@volth how would that work deterministicslly? The maven go-offline would resolve against whichever dependencies are available at the time you run it

project-info.json is a rather verbose equivalent to a Gem or Cargo lockfile, because the source code of the project doesn't provide specific-enough dependencies for resolution to always produce the same set. You generate it with mvn2nix which is basically just resolving everything for you and writing down the exact versions it found

@volth how would that work deterministicslly? The maven go-offline would resolve against whichever dependencies are available at the time you run it

I did not understand what could be source of non-determinism (besides malicious behaviour of maven central, we have to hold the same assumption about it as we hold it about cache.nixos.org)
At least this work well (besides maven hangs and go-offline inability to cover building C++ dependencies, so there is package instead), sha256 is stable.

@volth oh, I might be wrong! When I use Ivy (even to resolve Maven dependencies), I can specify dependency ranges (e.g., give me something from the 1.3.x release) and I assumed Maven would allow something similar but it looks like they explicitly decided against that based on this answer. If that's the case, then you're probably right about it being deterministic.
@shlevy what are we missing? 😄

@volth it does look like Maven 3 still supports dependency ranges:

Last but not least, Maven 3 inspects the POMs of all matching versions when processing version ranges to enable sophisticated conflict resolution.

from https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes#Maven3.xCompatibilityNotes-DependencyResolution
Which would require something like mvn2nix for anything that uses them. Perhaps we could rework mvn2nix to only spit out dependency versions for dependency ranges it encounters, and not bother for anything concrete. If we then only include versions rather than hashes for each dependency, the JSON file could get pretty small. We'd lose the ability to share specific jars across Nix builds but store optimization would handle that.

Do you meat that releasing a new version of a library which version falls into the range would result in new resolution as Maven would pick up the newest?
Maybe, I have never seen something like this.
Need to check.

I think so, yeah. That's why those other systems have .lock files, to account for that scenario. Anyway, this might be fine; it would be nice to see if we can get maven to spit out whether it had to make any decisions (i.e., pick a version in a range) while resolving deps or if everything was fully specified.

@volth -- I like your pattern. It looks like all the dependencies are fully specified at the top-level exhibitor, so I've pushed a new commit with the update, removing the project-info.json file. (I'll rebase and squish before merging so as to not pollute the history.)

The worst that can happen is that the fixed-output hash changes in a few months 😄 then we poke at it more carefully and see what changed

The hash might change with Maven upgrade (because there are usually Maven plugins among downloaded jars). In that Hadoop package I added a check  to detect this.

Merging for now, let's see how it goes

@copumpkin Hadoop's hashes are already changed - Maven downloaded newer maven-javadoc-plugin :(


Project Organization

Updates some outdated dependencies
Fixes some clippy lints
Makes an examples/

Moves matchbox_bevy_demo to examples/bevy_ggrs
Moves matchbox_simple_demo to examples/simple

Creates READMEs for each example, and the signalling server

Non-important information was moved to the signalling server README (e.g. matchmaking)
Non-important information was moved to respective example READMEs (e.g play instructions for the game)

Adjusted outdated documentation to state the socket is wasm and native
Documented resolver = 2
Added missing examples to CI
Removed LICENSE file, since it causes GitHub to not understand the license, and it was redundant anyways.

Note: Couldn't update to winit 0.28. On my machine it compiles (macOS), but the CI runner is linux and had issues, so I just skipped that one.

Good to go!


Google cloud speech library is  static library

Hello .when I use vcpkg install google cloud speech library ,I found the packages all are .lib，cloud you help me  how to get the .dll library ,I want to compile into dll in my project ,thank you very much

This is not possible at the moment, the rationale is explained at:
https://github.com/googleapis/google-cloud-cpp/issues/5849


Refresh pumphistory before setting temps and after SMB/enact

We currently allow oref0-pump-loop to try to set a temp basal before it tries to refresh pumphistory if it hasn't completed a pump loop recently, as a way to make sure that we can enact temp basals based on updated BG data even when pump comms are flaky.  However, this results in high temps being set and then immediately canceled when an SMB has been delivered that the rig doesn't know about yet.
This change skips the "setting temp before refreshing pumphistory" code path if the currently running temp basal has a duration of more than 20 minutes.
This also makes oref0-pump-loop refresh pumphistory after bolusing or enacting a temp, so we don't have to wait 5 minutes for it to be displayed in NS.

Working well.  Ready to merge if no objections.


submitting SBOM to Dependy Tracker not working

When i try to push the SBOM data into the Dependency Tracker tool, it did not work and i get error as shown below.

The command i used was
cdxgen -r -p --deep --api-key ABCD --server-url https://us-depcheck-1.xxx.com --project-name Test --project-id 1.0
Any help on this is appreciated.

@visagansanthanam-unisys Is it with the latest version? Was it working with 8.6.x?

@prabhu  Yes its the 8.6.2 version. I have tried with project id and I get the same error. not sure whether it was workin on older versions.

@visagansanthanam-unisys, Can you try without the project id?

@prabhu I tried with first Project-Name & Version combination and letter only with project-id. Both times got the same results

project id is the uuid from dependency track. If you pass it correctly it must work.

@prabhu for your reference.

@visagansanthanam-unisys I am unable to reproduce with my instance. Could you share the full error message via email or discord to me? prabhu @ appthreat dot com or join on discord
https://discord.gg/pF4BYWEJcS

@prabhu sent you the log via discord.

From the logs.
Falling back to manual pom.xml parsing. The result would be incomplete!
Unable to submit the SBoM to the Dependency-Track server using POST method
TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object
    at new NodeError (node:internal/errors:405:5)
    at Function.from (node:buffer:324:9)
    at submitBom (file:///tmp/caxa/applications/cdxgen/efhxmpihae/0/index.js:4765:25)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file:///tmp/caxa/applications/cdxgen/efhxmpihae/0/bin/cdxgen.js:371:21 {
  code: 'ERR_INVALID_ARG_TYPE'
}
Response from server undefined
BOM includes 193 components and 0 dependencies

@visagansanthanam-unisys Could you send a PR by changing this line and testing in your environment?
https://github.com/CycloneDX/cdxgen/blob/master/index.js#L4765
to
bom: encodedBomContents

@prabhu after changing i get following error
HTTPError: Response code 405 (Not Allowed)
at Request. (C:\Users\xxx\AppData\Roaming\npm\node_modules@cyclonedx\cdxgen\node_modules\got\dist\source\as-promise\index.js:118:42)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
code: 'ERR_NON_2XX_3XX_RESPONSE',
timings: {
start:<PHONE_NUMBER>061,
socket:<PHONE_NUMBER>062,
lookup:<PHONE_NUMBER>063,
connect:<PHONE_NUMBER>284,
secureConnect:<PHONE_NUMBER>501,
upload:<PHONE_NUMBER>502,
response:<PHONE_NUMBER>533,
end:<PHONE_NUMBER>533,
error: undefined,
abort: undefined,
phases: {
wait: 1,
dns: 1,
tcp: 221,
tls: 217,
request: 1,
firstByte: 1031,
download: 0,
total: 1472
}
}
}
Response from server undefined
Code change

@visagansanthanam-unisys, can you check the server url? Is it possible the api server has a
different host name? You can try accessing the api via postman or even curl
https://us-depcheck-1.na.uis.abcd.com/api/v1/bom

You can still send a PR for the change since it is a legitimate fix for fallback post.


Feat/add log

add log for serialize exception

Any test cases for this PR?

Added

@chuailiwu Please run mvn clean compile -DskipTests before you commit code, this will format the code.

done


Force reroll command is unregistered for me

in coastal highway i have the option enabled but when i go to the interloper commands i type force_reroll_burntbuildings then where i want to reroll but the commands dont work- any ideas?

Hi, I am not currently modding as I am focused on caring for my husband while he has a long-term health issue. This mod was updated by another modder, but I don't believe they're intending to continue to update it. It is what it is for now.


VS Code Insider Force Close

Issue Type: Feature Request
hi!, i found some bug, when i delete a file or paste file from file explorer, it's stuck and force close. i hope it's will be fix
VS Code version: Code - Insiders 1.47.0-insider (b16b467d3e03e1a1ae05b5836e4e5a5af504e86d, 2020-07-01T05:31:43.470Z)
OS version: Linux x64 5.6.19-300.fc32.x86_64 snap

Thanks for filling this issue. Can you reproduce using Visual Studio Code Insiders https://code.visualstudio.com/insiders/

Oh, you are using insiders, so it is actually a duplicate https://github.com/microsoft/vscode/issues/85332


Post Creation page re-design

OD Hack
This issue is part of ODHack 4.0:
description - https://x.com/OnlyDust_com/status/1791035111992934563
guidelines - https://onlydust.notion.site/ODHack-Common-Guidelines-Project-leads-5e21836f85ad493f9ca429770af0ad40
Please read the guidelines and make sure you follow them.
Please write your thoughts and how long you think it will take to complete the issue in the comments.
Post Creation page re-design
Post creation page should be re-designed to match the new design. The new design is available at Figma: https://www.figma.com/design/NIJ68MV1AeI8y283woXiM0/JoyBoy?node-id=101-13726&t=SqYlHcodPjhrLdTM-0
Current Post creation page implementation can be found at: https://github.com/keep-starknet-strange/joyboy/blob/main/JoyboyCommunity/src/modules/post/index.tsx
You should implement the design as close as possible and should match 1:1.
Please battle test it before doing a PR.
Communication
https://t.me/JoyboyStarknet/949
May the Joy be with you!

ok

Can I work on this?

I would to work on this

@josephchimebuka how much time would it take you?

I can handle it in 3 working days


Archiving is stuck when building RealmSwift

!!! MANDATORY TO FILL OUT !!!
Goals
Archive works normally
Expected Results
Archive product successfully and get package for uploading
Actual Results
Archive product is always stuck when building RealmSwift.
I use cocoapods to install RealmSwift, following the official guide document. My app works normally on simulator and device in debug mode. But when I'm trying to archive a build to upload to app store, the problem occurs.
I use RealmSwift 3.15.0 at first, after I update version to 3.17.3, it's still stuck on archiving, there is no any reaction, just building...  no error and no successful response, it's just stuck here. This really annoying me.
Can anyone help? I've looked up the issues, but didn't find a really helpful way to solve this issue.
Steps to Reproduce
clean my project and select 'product' -> 'archive'
Version of Realm and Tooling
Swift version: 5.0
Realm framework version: 3.17.3
Xcode version: 10.3
iOS/OSX version: iOS 12, mac OS 10.14.6

Finally the build is archived successfully with realm version 3.17.3, it really takes a long time. With version 3.15, that takes more time and will be failed.
Building a project should be easy with xcode and usually takes a few minutes, but building only RealmSwift cost too much time, 3.17.3 cost about 30 minutes more, 3.15 cost hours and fail, which cannot be tolerated.

I got the same issue too but I waited more than 10 hours and the progress still gets stuck on RealmSwift. I hope someone can fix this as soon as possible


X11: include libudev only on udev builds

fixes #3714

Could you all please never compile to libudev statically by default?
udev is very slopy path - it depends on kernel and systemd. Statically
linking to its lib
might open Pandora box...
On Mon, Feb 15, 2016 at 4:11 PM, Hondres<EMAIL_ADDRESS>wrote:

fixes #3714 https://github.com/godotengine/godot/issues/3714
You can view, comment on, or merge this pull request online at:
https://github.com/godotengine/godot/pull/3715
Commit Summary

include libudev only on udev builds

File Changes

M platform/x11/joystick_linux.cpp
https://github.com/godotengine/godot/pull/3715/files#diff-0 (5)

Patch Links:

https://github.com/godotengine/godot/pull/3715.patch
https://github.com/godotengine/godot/pull/3715.diff

—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/pull/3715.

Then it's good that we don't even know how to do that ^^


Animated: Fix Passive Lifecycle Reattach Check

Summary:
Fixes a bug with how we were comparing the previously attached AnimatedProps with a potentially new AnimatedProps instance.
Changelog:
[Internal]
Reviewed By: rhagigi, bvanderhoof
Differential Revision: D62594380

Closed internally


Lab2 1

AddEdge function should be done, let me know if you guys can't run it for some reason.

It seems to run ok, but I noticed in the tester we have output such as this:
"ERROR: Edge must be between two nodes"
This could be fine; however, it LOOKS like an error. If you are expecting an error out of some of your prints / operations while testing, then please explicitly state this so that it is easier to understand the functionality which is tested and working. For all I know it is just telling me something bad happened which wouldn't be a practical thing to merge into master ;)
In other words please enhance your tests to specify what is being tested and what is working. Indentations and newlines also help to indicate differences in tests.

The .o files and executables do not belong on our repo (for now). This is because they will keep changing and thus will muddy up our repo as well as future pull requests. Please delete them (simply run make clean) when you next push.

I will now close this PR until the discussed issues are met. Let me know if you have any problems, otherwise issue another pull request for this when the code has been updated.


Publish as webjar

It would be nice to be able do download vivus as webjar.
See:

http://www.webjars.org/
http://www.webjars.org/contributing

We could do the initial work for you and you could fork it and maintain it.
Or we can do all the work and mantain it. As you like :smile:
Here is the tested pom.xml for the webjar. Just type mvn package.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
    </parent>

    <packaging>jar</packaging>
    <groupId>org.webjars</groupId>
    <artifactId>vivus</artifactId>
    <version>0.1.2</version>
    <name>vivus</name>
    <description>WebJar for vivus</description>
    <url>http://webjars.org</url>

    <developers>
        <developer>
            <id>maxwellito</id>
            <name>maxwellito.com</name>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>MIT</name>
            <url>https://github.com/maxwellito/vivus/blob/master/LICENSE</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <scm>
        <url>https://github.com/[REPONAME]</url>
        <connection>scm:git:https://github.com/[REPONAME].git</connection>
        <developerConnection>scm:git:https://github.com/[REPONAME].git</developerConnection>
        <tag>HEAD</tag>
    </scm>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <upstream.version>0.1.2</upstream.version>
		<upstream.url>https://raw.githubusercontent.com/maxwellito/vivus/v${upstream.version}/dist</upstream.url>
        <destDir>${project.build.outputDirectory}/META-INF/resources/webjars/${project.artifactId}/${upstream.version}</destDir>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>wagon-maven-plugin</artifactId>
                <version>1.0-beta-4</version>
                <executions>
                    <execution>
                        <id>download-js</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>download-single</goal>
                        </goals>
                        <configuration>
                            <url>${upstream.url}</url>
                            <fromFile>vivus.js</fromFile>
                            <toDir>${destDir}</toDir>
                        </configuration>
                    </execution>
                    <execution>
                        <id>download-min-js</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>download-single</goal>
                        </goals>
                        <configuration>
                            <url>${upstream.url}</url>
                            <fromFile>vivus.min.js</fromFile>
                            <toDir>${destDir}</toDir>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>

            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6.5</version>
                <extensions>true</extensions>
                <configuration>
                    <serverId>sonatype-nexus-staging</serverId>
                    <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Hi,
I have to be honest, it's the first time I hear about WebJars. We already are on Bower and JSdelivr, and soon on NPM. I'm not against the idea of having a library manager, but I have to admit I got scared when I saw your big XML file.
Can I ask you the advantage of WebJars compared to NPM, Bower or a simple CDN?

NPM and Bower are mainly used by UX guys for frontend only applications.
We build a Java Application (backend) with gradle (or maven) and have a frontend component in AngularJS.
And we want only one buildfile in gradle. With webjars you can define a JavaScript Library as dependency the same way you would define a Java Library like Spring Boot. Here is an example of the gradle build file:
dependencies {
        // Java Dependency
        compile 'org.springframework.boot:spring-boot-starter-web'
        // JS Dependency
        runtime 'org.webjars:angularjs:1.3.13'
        runtime 'org.webjars:angular-material:0.7.1'

So we don't need bower/npm to download the javascript libs. It happens together with the java libs.
In the app we can just reference the libs in the view like this:
<script src="webjars/angularjs/1.3.13/angular.js"></script>
<script src="webjars/angularjs/1.3.13/angular-resource.js"></script>

It is just another approach similar to npm and bower but just from another point of view.
I prefer this approach to bower/npm because I have only one buildfile now.
And this big pom.xml is just the way of telling webjars.org where all your files are so that it can build a webjar for vivus. Normally the webjar org people should maintain it. So if you don't mind I would create a github project and ask the webjar guys to fork it, so that it will be included in webjars.org for the future. So you should have no future work. You just release versions on GitHub and the webjar guys will then make a release as webjar depending on that version.
I already did this initial setup for hello.js in consultation with the guys from hello.js.
You can see it here: https://github.com/comsysto/hello.js.webjar

I'm ok to have the pom.xml file in this repo, except if you think it would be easier for you to manage it from your fork (Do you have to update it manually or it will be automatic a every release?).
In which case this file should be updated? At every new version?
 Just if we have an issue or question about it, just having the right to mention you to join the conversation :)

If you put it in your repo, all your other stuff will be forked to a webjars.org repo and then you have zombie files there.
I will start it of with my repo which will be forked, and as I unterstand it then the guys from webjars.org will take it from there and release updates when new versions are available. So there should be nothing to do from there on out.
But just in case you need help in the future you can mention me :)
I raised the issue on webjars org here: https://github.com/webjars/webjars/issues/888
Now we have to wait for the guys at webjars org to integrate it.

Oh! Brilliant! :-)
Is there anything I should mention you in the future? If I move the dist files or something? Or a new release?

I just need to know if you add extra files to the release or the filenames of the released files change.
If all stays the same the guys from webjars should be fine. Normally when a new version comes out people will click on the "request new version" on the webjars page and the guys from webjars should do it. So it should be fine as long as you don't change the released files in any way :)

Excellent!
I take note and will contact you if the released files changes. Thanks for your work :)

NPM and Bower are mainly used by UX guys for frontend only applications.

lol


Memory leakage about subchannel_index

#12326 fixed the crash problem that is caused by reordering the steps in grpc_shutdown(). But it creates a memory leakage issue about subchannel_index.
Instead of relying on the last one unref'ing the resource to destroy it, we should force polling to flush any pending callbacks, then destroy the subchannel_index safely during normal shutdown.

Has this been fixed already?

I think this issue still exists. I haven't looked at it for quite a while. @sreecha said this is a hard issue to solve. Given that it happens during shutdown phase, so we lowered its priority.

We may wind up fixing this as part of the plan we talked about last Friday, where we will change the subchannel index to hold strong refs to the subchannels and then have a periodic GC pass via a timer.  Once we have that in place, I think we can simply unref everything in the subchannel index at shutdown time.

@markdroth is this still relevant?

Yes, still relevant.  At some point, we still need to fix the subchannel ref-counting.

I'm fairly certain this is obsolete.  The code has changed numerous times since this was filed.  We've completely redesigned the subchannel pool APIs, and when we finish migrating to the new CoreConfiguration mechanism, grpc_shutdown() will go away completely anyway.


Any Example with WriteData

can you write or update an example to write data downloaded to harddisk.
Thanks

https://github.com/masroore/CurlSharp/blob/master/Samples/EasyGet/EasyGet.cs

easy.WriteData = null;
easy.WriteFunction = OnWriteData;
@masroore  the easyget demo is about WriteFunction not WriteData


Next step after downgrade

The firmware downgrade page still needs a link to the next step once you downgrade.

Uh, no it doesn't?
DSiWare Downgrade and Hardmod Downgrade have instructions at the end.


Compatibility with Styled-Components v3

Hi,
I'm trying to make xstyled work within a Styled-Components-v3.4.0-based app, but it seems it needs some v4 stuff to work properly :

export 'createGlobalStyle' (imported as 'createGlobalStyle$1') was not found in 'styled-components'

Should I migrate to v4 for best results ?

Yes it is only compatible with styled-components v4.


NRE in Compositor.RequestCompositionUpdate

Describe the bug
A rare condition but occuring frequently (couple of times a day with full time usage with some users) at users of our software.

happens at random; sometimes just looking through our user control toolbar with icons
sometimes clicking a button

It's hard for me to figure out what is causing it as it's only avalonia stacktrace it seems.
Stack trace:
at Avalonia.Rendering.Composition.Compositor.RequestCompositionUpdate(Action action)
at Avalonia.Rendering.Composition.CompositingRenderer.AddDirty(Visual visual)
at Avalonia.Reactive.LightweightObservableBase1.PublishNext(T value)    at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaProperty1 property, Optional1 oldValue, BindingValue1 newValue, BindingPriority priority, Boolean isEffectiveValue)
at Avalonia.PropertyStore.EffectiveValue1.SetAndRaiseCore(ValueStore owner, StyledProperty1 property, T value, BindingPriority priority, Boolean isOverriddenCurrentValue, Boolean isCoercedDefaultValue)
at Avalonia.PropertyStore.EffectiveValue1.SetAndRaise(ValueStore owner, IValueEntry value, BindingPriority priority)    at Avalonia.PropertyStore.ValueStore.ReevaluateEffectiveValues(IValueEntry changedValueEntry)    at Avalonia.PropertyStore.ValueStore.OnFrameActivationChanged(ValueFrame frame)    at Avalonia.Styling.StyleInstance.Avalonia.Styling.Activators.IStyleActivatorSink.OnNext(Boolean value)    at Avalonia.Styling.Activators.StyleActivatorBase.ReevaluateIsActive()    at Avalonia.Styling.Activators.StyleClassActivator.Avalonia.Controls.IClassesChangedListener.Changed()    at Avalonia.Controls.Classes.NotifyChanged()    at Avalonia.Controls.Classes.Avalonia.Controls.IPseudoClasses.Remove(String name)    at Avalonia.Input.InputElement.UpdatePseudoClasses(Nullable1 isFocused, Nullable1 isPointerOver)    at Avalonia.Input.InputElement.OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)    at Avalonia.Controls.Control.OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)    at Avalonia.Controls.ContentControl.OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)    at Avalonia.Controls.Button.OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)    at Avalonia.Animation.Animatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs change)    at Avalonia.Input.InputElement.<>c.<.cctor>b__32_6(InputElement x, PointerEventArgs e)    at Avalonia.Reactive.LightweightObservableBase1.PublishNext(T value)
at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e)
at Avalonia.Interactivity.EventRoute.RaiseEvent(Interactive source, RoutedEventArgs e)
at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e)
at Avalonia.Input.PointerOverPreProcessor.SetPointerOverToElement(IPointer pointer, IInputRoot root, IInputElement element, UInt64 timestamp, Point position, PointerPointProperties properties, KeyModifiers inputModifiers)
at Avalonia.Input.PointerOverPreProcessor.SetPointerOver(IPointer pointer, IInputRoot root, IInputElement element, UInt64 timestamp, Point position, PointerPointProperties properties, KeyModifiers inputModifiers)
at Avalonia.Input.PointerOverPreProcessor.OnNext(RawInputEventArgs value)
at Avalonia.Reactive.LightweightObservableBase1.PublishNext(T value)    at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e)    at Avalonia.Controls.TopLevel.HandleInput(RawInputEventArgs e)    at Avalonia.Win32.WindowImpl.AppWndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)    at Avalonia.Win32.WindowImpl.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)    at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)    at Avalonia.Win32.Win32DispatcherImpl.RunLoop(CancellationToken cancellationToken)    at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)    at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)    at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)    at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)    at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action1 lifetimeBuilder)
at FAvalonia.Program.Launch(String[] args)
at FAvalonia.Do.Launch(String[] args)
at FAvaloniaLauncher.Program.Main(String[] args)
To Reproduce
We can't reproduce it ourselves.
I have however found other software (coincidentally also in 3d printing space) where users reported the same bug:
https://github.com/sn4k3/UVtools/issues/797
This was an older report:
https://github.com/AvaloniaUI/Avalonia/issues/13608
Expected behavior
No response
Avalonia version
11.0.9
OS
Windows
Additional context
No response

we need a repo
better to use with latest version 11.0.10 or even better 11.1 beta as the issue may have been fixed.
most likely a threading issue

Ok thx for your quick responses.
I will update to 11.0.10 first with the client that has the issues and ask him to run some usage tests.
It doesn't happen on my development PC's of course otherwise i wouldn't post ;)
For context. The entire code base also runs on windows forms; with the same backend code. The controls are programmatically created and injected with a factory pattern in both winforms and avalonia projects.
Because of this; i know that code accessing controls other than from the UI thread should be non-existent. As in windows forms that throws direct invoke exceptions.  The windows forms solution has lots of daily users. That's what worries me a bit if I don't see errors reports there..
Still it could be a mistake on my side of course; as i'm relatively new to avalonia.

I am seeing this error when setting Popup.IsOpen to false.
System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Avalonia.Base
  StackTrace:
   at Avalonia.Rendering.Composition.Compositor.RequestCompositionUpdate(Action action)

		StackTrace	"   at Avalonia.Rendering.Composition.Compositor.RequestCompositionUpdate(Action action)"	string

 	Avalonia.Base.dll!Avalonia.Rendering.Composition.Compositor.RequestCompositionUpdate(System.Action action)	Unknown
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.CompositingRenderer.RecalculateChildren(Avalonia.Visual visual)	Unknown
 	Avalonia.Base.dll!Avalonia.Collections.AvaloniaList<Avalonia.LogicalTree.ILogical>.NotifyRemove(Avalonia.LogicalTree.ILogical item, int index)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.ContentControl.ContentChanged(Avalonia.AvaloniaPropertyChangedEventArgs e)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.WindowBase.OnPropertyChanged(Avalonia.AvaloniaPropertyChangedEventArgs change)	Unknown
 	Avalonia.Base.dll!Avalonia.Animation.Animatable.OnPropertyChangedCore(Avalonia.AvaloniaPropertyChangedEventArgs change)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<object>(Avalonia.AvaloniaProperty<object> property, Avalonia.Data.Optional<object> oldValue, Avalonia.Data.BindingValue<object> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<object>.SetAndRaiseCore(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<object> property, object value, Avalonia.Data.BindingPriority priority, bool isOverriddenCurrentValue, bool isCoercedDefaultValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetLocalValue<object>(Avalonia.StyledProperty<object> property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetValue<object>(Avalonia.StyledProperty<object> property, object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.Primitives.Popup.CloseCore()	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.Primitives.Popup.IsOpenChanged(Avalonia.AvaloniaPropertyChangedEventArgs<bool> e)	Unknown
 	Avalonia.Base.dll!Avalonia.Reactive.LightweightObservableBase<Avalonia.AvaloniaPropertyChangedEventArgs<bool>>.PublishNext(Avalonia.AvaloniaPropertyChangedEventArgs<bool> value)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<bool>(Avalonia.AvaloniaProperty<bool> property, Avalonia.Data.Optional<bool> oldValue, Avalonia.Data.BindingValue<bool> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<bool>.SetAndRaiseCore(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<bool> property, bool value, Avalonia.Data.BindingPriority priority, bool isOverriddenCurrentValue, bool isCoercedDefaultValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetValue<bool>(Avalonia.StyledProperty<bool> property, bool value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.Primitives.Popup.IsOpen.set(bool value)	Unknown
>	Play.dll!Play.Views.CrewMonthPlanView.PMonthGantt_PointerExited(object sender, Avalonia.Input.PointerEventArgs e) Line 89	C#
 	Avalonia.Base.dll!Avalonia.Interactivity.EventRoute.RaiseEventImpl(Avalonia.Interactivity.RoutedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Interactivity.Interactive.RaiseEvent(Avalonia.Interactivity.RoutedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Input.PointerOverPreProcessor.SetPointerOverToElement(Avalonia.Input.IPointer pointer, Avalonia.Input.IInputRoot root, Avalonia.Input.IInputElement element, ulong timestamp, Avalonia.Point position, Avalonia.Input.PointerPointProperties properties, Avalonia.Input.KeyModifiers inputModifiers)	Unknown
 	Avalonia.Base.dll!Avalonia.Input.PointerOverPreProcessor.OnNext(Avalonia.Input.Raw.RawInputEventArgs value)	Unknown
 	Avalonia.Base.dll!Avalonia.Reactive.LightweightObservableBase<Avalonia.Input.Raw.RawInputEventArgs>.PublishNext(Avalonia.Input.Raw.RawInputEventArgs value)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.Send(System.Threading.SendOrPostCallback action, object arg, Avalonia.Threading.DispatcherPriority? priority)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.TopLevel.HandleInput(Avalonia.Input.Raw.RawInputEventArgs e)	Unknown
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.AppWndProc(nint hWnd, uint msg, nint wParam, nint lParam)	Unknown
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProc(nint hWnd, uint msg, nint wParam, nint lParam)	Unknown
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProcMessageHandler(nint hWnd, uint msg, nint wParam, nint lParam)	Unknown
 	[Native to Managed Transition]
 	[Managed to Native Transition]
 	Avalonia.Win32.dll!Avalonia.Win32.Win32DispatcherImpl.RunLoop(System.Threading.CancellationToken cancellationToken)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.DispatcherFrame.Run(Avalonia.Threading.IControlledDispatcherImpl impl)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.PushFrame(Avalonia.Threading.DispatcherFrame frame)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.MainLoop(System.Threading.CancellationToken cancellationToken)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(string[] args)	Unknown
 	Avalonia.Controls.dll!Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(Avalonia.AppBuilder builder, string[] args, System.Action<Avalonia.Controls.ApplicationLifetimes.IClassicDesktopStyleApplicationLifetime> lifetimeBuilder)	Unknown

Version 11.1.0-beta1

@arnirichard can you file a repo for that? could be a great help for debugging that

@timunie I will do that but I will need to strip it, and the projects loads a few hundred MB of data, and is showing up to 100K items on the screen at once. I don't know how to replicate, but this happens much more often when my monitor is connected using HDMI than USB-C. When I connect to a monitor wirelessly, the application crashes almost immediately, so this is somehow related to the speed of monitor connector.

@timunie  This is my starter project using both PopUp and WriteableBitmap
https://github.com/arnirichard/Play
I will try at work to see if it crashes using a wireless connection to a monitor. I will report back. Otherwise I will need to strip the main project, it will be some work.
If you have chance to connect wirelessly to a monitor, you might be able to replicate. It will probably not crash using USB-C cable.

Note that you can zoom in using ctrl-mouse scroll and move with the mouse. That may trigger the bug.

For what it's worth; i still can't replicate but did further investigate it.
Client display specs; nothing special, 2 HD hdmi monitors at 60Hz.
It still happens with 11.0.10
I did notice my stack trace above it a little different then Arnirichard's.
The client that has it, it occurs sometimes. Just going from other software, back to the avalonia based interface and clicking with his mouse on a top label in our toolbar. (screenshot below of our toolbar which is a horizontal stackpanel with labels)
I double checked all code; nothing works in other than the UI thread, setting properties.
The only thing is our toolbar has a hover effect onmouseover.
For this I first set all foreground to black and background to null.
Then I highlight the item under hover (or active) by drawing a new background skbitmap, which I convert to ImageBrush.
This all happens when you hover over with the mouse.
But since it's some custom bitmap code; i thought it might be relevant to the writablebitmap from ArniRichard.
This has been in the software for 2-3 years.. but has not been a problem as far as I know.

I tested this today on a wireless screen. I did not experience any problems as before. The problem has changed from being related to WriteableBitmap to Popup. My guess the issue with WriteableBitmap got automatically resolved with a recent Avalonia upgrade. I will try next to debug with Avalonia's source code since the issue happens a few times each day.

This is a strange one. There's nothing in RequestCompositionUpdate that can really be null! There are only two things referenced there: Dispatcher and _invokeBeforeCommitWrite.

_invokeBeforeCommitWrite is only ever swapped with _invokeBeforeCommitRead, and always on the Dispatcher thread (in CommitCore which has Dispatcher.VerifyAccess(); at the beginning; as does RequestCompositionUpdate)
Dispatcher which is initialized in the constructor, and only ever passed Dispatcher.UIThread outside of unit tests.

Could it be that RequestCompositionBatchCommitAsync() is returning null?

@grokys @timunie @maxkatz6 When I look at RequestCompositionBatchCommitAsync() it seems it can return null due to
a potential concurrency issue.
I have tried to add my project to the Avalonia solution, and added direct references to respective Avalonia projects, but I can't build the project since axaml are not paired properly with the cs files. I have tried to add references to Avalonia.Controls, Avalonia.Markup.Xaml. Could you please tell me what I am missing?

Use src/Samples/Sandbox. Remember to adjust the namespaces in both XAML and CS file

I can prevent the crash by setting MyPopup.IsOpen = false; inside try-catch, but once it happens, the popup cannot be closed again.

Any progress on getting a repro for this anyone? It's definitely something we need to fix, if we can understand what's going on.

I tried arnirichard's repo but can't reproduce. Checked his code looking for things similar in our repo.
I see he uses "PopUp", I use toolTip.SetTip(.. ) on all our navigation. Could it be something with the tooltip somehow?
I noticed from 1 user comment that it happens when he clicks/wants to click a button in our custom toolbar. (that has custom drawn graphics and tooltips)
Additionally we use a lot of custom drawing as well all over with SKia. Similar as Arnirichard's repo.
so there is some similarity there.
The user that had the issue was having it frequently.. multiple times a day. I can't replicate it.
Wouldn't that make some kind of hardware/driver-software combination likelier as the cause?
Is anybody from the avalonia team able to look at RequestCompositionBatchCommitAsync() and arnirichard's suggestion question about this?

Is anybody from the avalonia team able to look at RequestCompositionBatchCommitAsync() and arnirichard's suggestion question about this?

If we can't reproduce on a simple sample, it's hard to go further here. In case a chat / debug session is needed or you want to add this issue to priority list, that's something for paid support only I'm afraid.
That said imo Best bet is to add some more logging to your code and also.try.to reproduce on sandbox / simple sample. Maybe the user reporting that issue is willing to test some basic samples.

Is anybody from the avalonia team able to look at RequestCompositionBatchCommitAsync() and arnirichard's suggestion question about this?

Yep, we've looked and we can't see where the null is coming from...

When I look at RequestCompositionBatchCommitAsync() it seems it can return null due to a potential concurrency issue.

The thing is, the only potential NRE comes from the _nextCommit field, but RequestCompositionBatchCommitAsync() and all other methods which manipulate this field have Dispatcher.VerifyAccess(); calls, meaning that they should only be run on the UI thread.

I saw this stacktrace which might be more helpful
  HResult=0x80131509
  Message=The control Border already has a visual parent ContentPresenter (Name = PART_ContentPresenter, Host = PopupRoot) while trying to add it as a child of ContentPresenter (Name = PART_ContentPresenter, Host = PopupRoot).
  Source=Avalonia.Base
  StackTrace:
   at Avalonia.Visual.Avalonia.Collections.IAvaloniaListItemValidator<Avalonia.Visual>.Validate(Visual item)
   at Avalonia.Controls.Presenters.ContentPresenter.UpdateChild(Object content)
   at Avalonia.Controls.Presenters.ContentPresenter.ApplyTemplate()
   at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
   at Avalonia.Layout.Layoutable.Measure(Size availableSize)
   at Avalonia.Controls.Primitives.VisualLayerManager.MeasureOverride(Size availableSize)
   at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
   at Avalonia.Layout.Layoutable.Measure(Size availableSize)
   at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
   at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
   at Avalonia.Layout.Layoutable.Measure(Size availableSize)
   at Avalonia.Controls.LayoutTransformControl.MeasureOverride(Size availableSize)
   at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
   at Avalonia.Layout.Layoutable.Measure(Size availableSize)
   at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
   at Avalonia.Controls.Primitives.PopupRoot.MeasureOverride(Size availableSize)
   at Avalonia.Controls.WindowBase.MeasureCore(Size availableSize)
   at Avalonia.Layout.Layoutable.Measure(Size availableSize)
   at Avalonia.Layout.LayoutManager.Measure(Layoutable control)
   at Avalonia.Layout.LayoutManager.ExecuteInitialLayoutPass()
   at Avalonia.Controls.WindowBase.Show()
   at Avalonia.Controls.Primitives.Popup.Open()
   at Avalonia.Controls.Primitives.Popup.IsOpenChanged(AvaloniaPropertyChangedEventArgs`1 e)
   at Avalonia.Reactive.LightweightObservableBase`1.PublishNext(T value)
   at Avalonia.PropertyStore.EffectiveValue`1.SetAndRaiseCore(ValueStore owner, StyledProperty`1 property, T value, BindingPriority priority, Boolean isOverriddenCurrentValue, Boolean isCoercedDefaultValue)
   at Avalonia.PropertyStore.ValueStore.SetValue[T](StyledProperty`1 property, T value, BindingPriority priority)
   at Avalonia.Controls.Primitives.Popup.set_IsOpen(Boolean value)
   at Play.Views.RosterControl.Crew_PointerEnter(Object sender, PointerEventArgs e) in C:\github\PP\Play\Views\RosterControl.axaml.cs:line 419
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e)
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e)
   at Avalonia.Input.PointerOverPreProcessor.SetPointerOverToElement(IPointer pointer, IInputRoot root, IInputElement element, UInt64 timestamp, Point position, PointerPointProperties properties, KeyModifiers inputModifiers)
   at Avalonia.Input.PointerOverPreProcessor.OnNext(RawInputEventArgs value)
   at Avalonia.Reactive.LightweightObservableBase`1.PublishNext(T value)
   at Avalonia.Controls.TopLevel.<>c.<HandleInput>b__142_0(Object state)
   at Avalonia.Threading.Dispatcher.Send(SendOrPostCallback action, Object arg, Nullable`1 priority)
   at Avalonia.Controls.TopLevel.HandleInput(RawInputEventArgs e)
   at Avalonia.Win32.WindowImpl.AppWndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
   at Avalonia.Win32.WindowImpl.WndProcMessageHandler(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
   at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
   at Avalonia.Win32.Win32DispatcherImpl.RunLoop(CancellationToken cancellationToken)
   at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
   at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder)
   at Play.Desktop.Program.Main(String[] args) in C:\github\PP\Play.Desktop\Program.cs:line 14

The control Border already has a visual parent ContentPresenter

Now is the question of which border and why is the same border added to another popup? Is it something consumed from Resources to minimize code lines?

The popup is just inside a Grid which is inside UserControl (in axaml). I just change the text and MyPopup.IsOpen. The only Border I see is the one in the Popup content.
			<Border Background="White" BorderBrush="Gray" BorderThickness="1" Padding="5">
				<TextBlock x:Name="tooltipTextBlock" Text="Mouse over text!"
					Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Center"/>
			</Border>
		</Popup>```

I am running my project from SandBox, this breakpoint catches the error
_nextCommit is assigned to null before returning the method.

Would it be possible to make this 'temporary' solution which apparently resolves the issue?
public CompositionBatch RequestCompositionBatchCommitAsync()
{
    Dispatcher.VerifyAccess();

    var result = _nextCommit;

    if (result == null)
    {
        result = _nextCommit = new ();
        var pending = _pendingBatch;
        if (pending != null)
            pending.Processed.ContinueWith(
                _ => Dispatcher.Post(_triggerCommitRequested, DispatcherPriority.Send),
                TaskContinuationOptions.ExecuteSynchronously);
        else
            _triggerCommitRequested();
    }

    return result;
}```

_nextCommit  is set to false through _triggerCommitRequested();  in RequestCompositionBatchCommitAsync(), thus resulting in null ref.

_nextCommit is set to null through _triggerCommitRequested();
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.Compositor.Commit() Line 231	C#
 	Avalonia.Base.dll!Avalonia.Media.MediaContext.CommitCompositor(Avalonia.Rendering.Composition.Compositor compositor) Line 21	C#
 	Avalonia.Base.dll!Avalonia.Media.MediaContext.SyncCommit(Avalonia.Rendering.Composition.Compositor compositor, bool waitFullRender, bool catchExceptions) Line 106	C#
 	Avalonia.Base.dll!Avalonia.Media.MediaContext.ImmediateRenderRequested(Avalonia.Rendering.Composition.CompositionTarget target, bool catchExceptions) Line 123	C#
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.CompositingRenderer.Paint(Avalonia.Rect rect, bool catchExceptions) Line 223	C#
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.CompositingRenderer.Paint(Avalonia.Rect rect) Line 215	C#
 	Avalonia.Controls.dll!Avalonia.Controls.TopLevel.HandlePaint(Avalonia.Rect rect) Line 679	C#
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.AppWndProc(nint hWnd, uint msg, nint wParam, nint lParam) Line 602	C#
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProc(nint hWnd, uint msg, nint wParam, nint lParam) Line 24	C#
 	Avalonia.Win32.dll!Avalonia.Win32.PopupImpl.WndProc(nint hWnd, uint msg, nint wParam, nint lParam) Line 88	C#
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProcMessageHandler(nint hWnd, uint msg, nint wParam, nint lParam) Line 1002	C#
 	[Native to Managed Transition]
 	[Managed to Native Transition]
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.InvokeAsyncImpl(Avalonia.Threading.DispatcherOperation operation, System.Threading.CancellationToken cancellationToken) Line 404	C#
 	Avalonia.Base.dll!Avalonia.Media.MediaContext.ScheduleRender(bool now) Line 104	C#
 	Avalonia.Base.dll!Avalonia.Media.MediaContext.Avalonia.Rendering.Composition.ICompositorScheduler.CommitRequested(Avalonia.Rendering.Composition.Compositor compositor) Line 149	C#
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.Compositor..ctor.AnonymousMethod__0() Line 91	C#
>	Avalonia.Base.dll!Avalonia.Rendering.Composition.Compositor.RequestCompositionBatchCommitAsync() Line 124	C#
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.Compositor.RequestCommitAsync() Line 100	C#
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.Compositor.RequestCompositionUpdate(System.Action action) Line 265	C#
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.CompositingRenderer.QueueUpdate() Line 82	C#
 	Avalonia.Base.dll!Avalonia.Rendering.Composition.CompositingRenderer.AddDirty(Avalonia.Visual visual) Line 93	C#
 	Avalonia.Base.dll!Avalonia.Visual.InvalidateVisual() Line 378	C#
 	Avalonia.Controls.dll!Avalonia.Controls.TextBlock.InvalidateTextLayout() Line 687	C#
 	Avalonia.Controls.dll!Avalonia.Controls.TextBlock.OnPropertyChanged(Avalonia.AvaloniaPropertyChangedEventArgs change) Line 815	C#
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.OnPropertyChangedCore(Avalonia.AvaloniaPropertyChangedEventArgs change) Line 703	C#
 	Avalonia.Base.dll!Avalonia.Animation.Animatable.OnPropertyChangedCore(Avalonia.AvaloniaPropertyChangedEventArgs change) Line 191	C#
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<string>(Avalonia.AvaloniaProperty<string> property, Avalonia.Data.Optional<string> oldValue, Avalonia.Data.BindingValue<string> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue) Line 754	C#
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<string>.SetAndRaiseCore(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<string> property, string value, Avalonia.Data.BindingPriority priority, bool isOverriddenCurrentValue, bool isCoercedDefaultValue) Line 244	C#
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<string>.SetLocalValueAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<string> property, string value) Line 83	C#
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetLocalValue<string>(Avalonia.StyledProperty<string> property, string value) Line 265	C#
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetValue<string>(Avalonia.StyledProperty<string> property, string value, Avalonia.Data.BindingPriority priority) Line 227	C#
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.SetValue<string>(Avalonia.StyledProperty<string> property, string value, Avalonia.Data.BindingPriority priority) Line 346	C#
 	Avalonia.Controls.dll!Avalonia.Controls.TextBlock.Text.set(string value) Line 217	C#
 	Sandbox.dll!Play.Views.RosterControl.RosterGantt_PointerMoved(object sender, Avalonia.Input.PointerEventArgs e) Line 1347	C#
 	Avalonia.Base.dll!Avalonia.Interactivity.Interactive.AddHandler.__InvokeAdapter|4_0<Avalonia.Input.PointerEventArgs>(System.Delegate baseHandler, object sender, Avalonia.Interactivity.RoutedEventArgs args) Line 67	C#
 	Avalonia.Base.dll!Avalonia.Interactivity.Interactive.AddHandler.AnonymousMethod__4_1(System.Delegate baseHandler, object sender, Avalonia.Interactivity.RoutedEventArgs args) Line 70	C#
 	Avalonia.Base.dll!Avalonia.Interactivity.EventRoute.RaiseEventImpl(Avalonia.Interactivity.RoutedEventArgs e) Line 159	C#
 	Avalonia.Base.dll!Avalonia.Interactivity.EventRoute.RaiseEvent(Avalonia.Interactivity.Interactive source, Avalonia.Interactivity.RoutedEventArgs e) Line 101	C#
 	Avalonia.Base.dll!Avalonia.Interactivity.Interactive.RaiseEvent(Avalonia.Interactivity.RoutedEventArgs e) Line 125	C#
 	Avalonia.Base.dll!Avalonia.Input.MouseDevice.MouseMove(Avalonia.Input.IMouseDevice device, ulong timestamp, Avalonia.Input.IInputRoot root, Avalonia.Point p, Avalonia.Input.PointerPointProperties properties, Avalonia.Input.KeyModifiers inputModifiers, System.Lazy<System.Collections.Generic.IReadOnlyList<Avalonia.Input.Raw.RawPointerPoint>> intermediatePoints, Avalonia.Input.IInputElement hitTest) Line 176	C#
 	Avalonia.Base.dll!Avalonia.Input.MouseDevice.ProcessRawEvent(Avalonia.Input.Raw.RawPointerEventArgs e) Line 93	C#
 	Avalonia.Base.dll!Avalonia.Input.MouseDevice.ProcessRawEvent(Avalonia.Input.Raw.RawInputEventArgs e) Line 37	C#
 	Avalonia.Base.dll!Avalonia.Input.InputManager.ProcessInput(Avalonia.Input.Raw.RawInputEventArgs e) Line 35	C#
 	Avalonia.Controls.dll!Avalonia.Controls.TopLevel.HandleInput.AnonymousMethod__145_0(object state) Line 849	C#
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.Send(System.Threading.SendOrPostCallback action, object arg, Avalonia.Threading.DispatcherPriority? priority) Line 647	C#
 	Avalonia.Controls.dll!Avalonia.Controls.TopLevel.HandleInput(Avalonia.Input.Raw.RawInputEventArgs e) Line 839	C#
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.AppWndProc(nint hWnd, uint msg, nint wParam, nint lParam) Line 825	C#
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProc(nint hWnd, uint msg, nint wParam, nint lParam) Line 24	C#
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProcMessageHandler(nint hWnd, uint msg, nint wParam, nint lParam) Line 1002	C#
 	[Native to Managed Transition]
 	[Managed to Native Transition]
 	Avalonia.Win32.dll!Avalonia.Win32.Win32DispatcherImpl.RunLoop(System.Threading.CancellationToken cancellationToken) Line 111	C#
 	Avalonia.Base.dll!Avalonia.Threading.DispatcherFrame.Run(Avalonia.Threading.IControlledDispatcherImpl impl) Line 121	C#
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.PushFrame(Avalonia.Threading.DispatcherFrame frame) Line 53	C#
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.MainLoop(System.Threading.CancellationToken cancellationToken) Line 80	C#
 	Avalonia.Controls.dll!Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.StartCore(string[] args) Line 144	C#
 	Avalonia.Controls.dll!Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(string[] args) Line 121	C#
 	Avalonia.Controls.dll!Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(Avalonia.AppBuilder builder, string[] args, System.Action<Avalonia.Controls.ApplicationLifetimes.IClassicDesktopStyleApplicationLifetime> lifetimeBuilder) Line 277	C#
 	Play.Desktop.dll!Play.Desktop.Program.Main(string[] args) Line 22	C#
`

@arnirichard I'm not very deep into this area of Avalonia, however if I were you I'd file a draft PR to:

check if all tests are passing
get some feedback from the team
test the preview nuget in production

Thanks @timunie I can't make a PR without knowing more about the code. I will take a closer look and see what I can figure out.


Dimension of batches in Dreamer-V1 implementation

Hey!
I'm trying to understand the implementation of Dreamer-V1.
When you train the agent, data['actions'] has shape (sequence_length, batch_size, actions_dim)?
Also when you do: embedded_obs = world_model.encoder(batch_obs) in your training loop, the batch_obs have shape (sequence_length, batch_size, obs_dim)? or do you flatten those samples to process them with a neural network?
Thanks in advance!

Hi @elisaparga19!

Yes, data["actions"] has exactly that shape: seq_len x batch_size x action_dims
Both the encoder and the decoder in all the dreamer implementations, when they encode/decode, flatten all the batch dimensions, run the forward and reshape back the flattened dimensions. So for example: if you have a tensor of shape [*, C, H, W] the encoder will first flatten all the * dimensions (for the Dreamer-V1 case those are exactly seq_len x batch_size), run the forward on the resulting 4D tensor (as the nn.Conv2d expects) and reshape the output back to [*, ...]

Thanks!
So, the actor does the same as the encoder to process the actions? It flattens the tensor of shape seq_len x batch_size x actions_dims into seq_len*batch_size, actions_dim and then reshapes the output to the original dimension?

Nope, the actor takes as input the state from the prior or posterior model (it depends in which phase of the experiment you're calling the actor: during the behaviour learning it takes the state coming from the prior model (the one that imagines), while during the environment interaction it takes the state coming from the posterior model (the one that learns the dynamic of the environment conditioned on the observation received by it and its history)). The one that does it all is the Player agent, which incorporates the recurrent model, the posterior model, the encoder and the actor: you can find it in the agent.py of Dreamer-v2


Look into tooling for generating CRD API docs

Look into using something like https://github.com/ahmetb/gen-crd-api-reference-docs to generate CRD docs consistently. We've a few places in our API reference docs where we've got hand-crafted docs for our APIs - a tool might make this generation more consistent.

cert-manager uses the tool above: https://cert-manager.io/docs/reference/api-docs/
Ideally, we'd find something that can output as mk/asciidoc
Would need to look at options to embed these docs into our mkdocs setup

This issue is stale because it has been open for 60 days with no activity.

This issue was closed because it has been inactive for 30 days since being marked as stale.


Hide MeiliSearch master key

MasterKey should not be visible on the dashboard. It can only be updated

I would like to work on this.
Do u mean this column should not reveal the API key?

We can do sth like this to toggle password visibility.
https://www.javascripttutorial.net/javascript-dom/javascript-toggle-password-visibility/

But! When the user comes back to the plugin, the password should not be imported from the backend. Even hided between an input password. Cause a right click on the screen and you have access to the key inside the input. So asterix should be present in the field when the user return to the page but these asterix should hide no password.

We can also set the value to be '****' if msApiKey exists.

Less useful since #191


switch pyasn1 to asn1crypto

so many bugs in pyasn1. asn1crypto is more easy in use, and no need cryptography any more.

Codecov Report

Merging #486 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #486      +/-   ##
==========================================
+ Coverage   69.84%   69.87%   +0.03%
==========================================
  Files          44       44
  Lines       13930    13924       -6
==========================================
  Hits         9730     9730
+ Misses       4200     4194       -6

Impacted Files
Coverage Δ

tests/test_apk.py
98.86% <100%> (+0.01%)
:arrow_up:

androguard/util.py
100% <100%> (+33.33%)
:arrow_up:

androguard/core/bytecodes/apk.py
69.96% <100%> (+0.11%)
:arrow_up:

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 9db5e8d...9e55c20. Read the comment docs.

This looks really good! Is asn1crypto a drop in for cryptography, ie. do they share the same API? Then it would be totally awesome.

asn1crypto is just a good parser without openssl.
verifing the signature still need openssl/cryptography/M2Crypto/...
(I have wrote a pure python version https://github.com/shuxin/apk-signature-verify, but sitll not support python3 )

Okay I tested this now a little bit and it looks good! The only thing I can not find is valid_before and valid_after fields, see https://cryptography.io/en/latest/x509/reference/#cryptography.x509.Certificate.not_valid_before
Do you have any idea how to get this information?

type(x509.Certificate.load(c.dump())['tbs_certificate']['validity']['not_after'].native) == datetime

ok thanks! this is the only thing which is not so straight forward :D


support http 1.0

Old nc versions in some distros https://bugzilla.redhat.com/show_bug.cgi?id=1000773 and on latest version running on mac http://www.opensource.apple.com/source/netcat/netcat-7/socks.c require HTTP/1.0 200 message on success.

LGTM


convert mappable object to [String: AnyObject]

How can i convert mappable object with changed values to [String: AnyObject] ?

You can use the following function:
///Maps an object that conforms to Mappable to a JSON dictionary <String : AnyObject>
public func toJSON(var object: N) -> [String : AnyObject]

let dictionary = Mapper().toJSON(object)

Where should i push this function code?

Ohh, this is great. Thanks..

{"results":[{"gender":"female","name":{"title":"ms","first":"leana","last":"henry"},"location":{"street":"3060 rue paul-duvivier","city":"nîmes","state":"indre","postcode":94802},"email":"leana.henry@example.com","login":{"username":"bluefish422","password":"cameron","salt":"87Vty9Rx","md5":"50e4697bda5e14a5ab9cfa2b9ebcc920","sha1":"4bb1f967086e107b2d54ab819b12a093414fd55e","sha256":"fd93902b1bbe660a30ef39ccb07c3b42b88c35757a4f015da505596d7ce9cec7"},"dob":"1986-04-29 01:08:51","registered":"2012-04-05 10:41:51","phone":"03-14-56-37-67","cell":"06-92-24-98-22","id":{"name":"INSEE","value":"286362533442 76"},"picture":{"large":"https://randomuser.me/api/portraits/women/70.jpg","medium":"https://randomuser.me/api/portraits/med/women/70.jpg","thumbnail":"https://randomuser.me/api/portraits/thumb/women/70.jpg"},"nat":"FR"}],"info":{"seed":"68eb2a060c65a7b1","results":1,"page":1,"version":"1.1"}}
how to map nested dictionaries
now i can't access the "name" dictionaries

{"results":[{"gender":"female","name":{"title":"ms","first":"leana","last":"henry"},"location":{"street":"3060 rue paul-duvivier","city":"nîmes","state":"indre","postcode":94802},"email":"leana.henry@example.com","login":{"username":"bluefish422","password":"cameron","salt":"87Vty9Rx","md5":"50e4697bda5e14a5ab9cfa2b9ebcc920","sha1":"4bb1f967086e107b2d54ab819b12a093414fd55e","sha256":"fd93902b1bbe660a30ef39ccb07c3b42b88c35757a4f015da505596d7ce9cec7"},"dob":"1986-04-29 01:08:51","registered":"2012-04-05 10:41:51","phone":"03-14-56-37-67","cell":"06-92-24-98-22","id":{"name":"INSEE","value":"286362533442 76"},"picture":{"large":"https://randomuser.me/api/portraits/women/70.jpg","medium":"https://randomuser.me/api/portraits/med/women/70.jpg","thumbnail":"https://randomuser.me/api/portraits/thumb/women/70.jpg"},"nat":"FR"}],"info":{"seed":"68eb2a060c65a7b1","results":1,"page":1,"version":"1.1"}}
how i create the mapper class for this response
right no i can't access the name dictionary i.e nested dictionaries


Yarn.lock is updated with public registry instead of private one

Package ecosystem
yarn
Package manager version
yarn 1.22.17
Language version
node 12.8.1
Manifest location and content prior to update
package.json
yarn.lock
dependabot.yml content
version: 2
registries:
  artifactory:
    type: npm-registry
    url: https://artifactory.XXX.com/artifactory/api/npm/XXX-npm/
    username: ${{secrets.ARTIFACTORY_USERNAME}}
    password: ${{secrets.ARTIFACTORY_PASSWORD}}
updates:
  - package-ecosystem: 'npm'
    registries:
      - artifactory
    directory: '/'
    schedule:
      interval: 'daily'

Updated dependency
https://github.com/websockets/ws from 6.2.1 to 6.2.2, but happen for other packages too.
What you expected to see, versus what you actually saw
yarn.lock changed from
resolved "https://artifactory.XXX.com:443/artifactory/api/npm/XXX-npm/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"

to
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"

I expect it to still use private registry.
Native package manager behavior
Updating package locally resolve to correct private registry. Locally I have .npmrc file that specify registry and credentials, this file is ignored by git so every collaborator can have their file in repo directory.
All logs referencing this package point to correct artifactory, but there are some logs referencing public one:
  proxy | 2022/01/26 12:18:28 [118] * authenticating npm registry request (host: artifactory.XXX.com, basic auth)
  proxy | 2022/01/26 12:18:28 [110] 200 https://artifactory.XXX.com:443/artifactory/api/npm/XXX-npm/callsites/-/callsites-0.2.0.tgz
  proxy | 2022/01/26 12:18:28 [120] GET https://registry.yarnpkg.com:443/sass/-/sass-1.49.0.tgz
  proxy | 2022/01/26 12:18:28 [122] GET https://registry.yarnpkg.com:443/chokidar/-/chokidar-3.5.3.tgz
  proxy | 2022/01/26 12:18:28 [112] 200 https://artifactory.XXX.com:443/artifactory/api/npm/XXX-npm/type/-/type-2.0.0.tgz
  proxy | 2022/01/26 12:18:28 [120] 200 https://registry.yarnpkg.com:443/sass/-/sass-1.49.0.tgz
  proxy | 2022/01/26 12:18:28 [122] 200 https://registry.yarnpkg.com:443/chokidar/-/chokidar-3.5.3.tgz

I believe this is the case because the security updates don't take into account registries config in the dependabot.yml. This is what I noticed at least with my repo.

Locally I have .npmrc file that specify registry and credentials, this file is ignored by git so every collaborator can have their file in repo directory.

If you don't include a .npmrc file, dependabot-core will try and guess what should be in this file to tell npm/yarn which registry to use. In your cause, I think you intend to make the artifactory registry "global" so it's used for all packages in your lockfile?
If all dependencies in the lockfile have the same registry, and this matches the url in dependabot.yml, you should get a .npmrc file that looks like this:
registry=https://artifactory.XXX.com/artifactory/api/npm/XXX-npm/
always-auth = true

It seems like this isn't happening, causing me to think this piece of code isn't matching: https://github.com/dependabot/dependabot-core/blob/9fe65f918bd2e89ab6ac627d3d48b089e30e3a08/npm_and_yarn/lib/dependabot/npm_and_yarn/file_updater/npmrc_builder.rb#L56
Looking at your logs and the config file, I can see that the lockfile urls include a port https://artifactory.XXX.com:443/.. but the dependabot.yml doesn't https://artifactory.XXX.com/....
@godric3 could you try adding :443 to the registry url in dependabot.yml? It would be nice to handle this in dependabot tbh but curious if this would fix the issue.

Good catch, but I cannot check it right now because it turned out we had(and still have) some problem with artifactory, so it may be that. I will give update once we sort out thing with artifactory

Ok we got artifactory working and I tried your suggestion about registry url in dependabot config file.
It seems that PRs made due to security issues have wrong registry, but normal version updates use proper one.

We're running into the same issue as this.
Our dependabot.yml file has this configured:
version: 2
registries:
  npm-artifactory:
    type: npm-registry
    url: https://packages.convoy.com/artifactory/api/npm/npm/
    username: <<redacted>>
    password: <<redacted>>
updates:
  - package-ecosystem: npm
    registries:
      - npm-artifactory
    directory: /
    schedule:
      interval: daily

Our .yarnrc has this:
--registry "https://packages.convoy.com/artifactory/api/npm/npm/"

#
# use vendored yarn
#
yarn-path ".yarn/releases/yarn-1.22.4.js"

And all entries in our yarn.lock file come from that private repo.
However, a security update PR that came out for us just switched it over from this:
  version "2.8.1"
  resolved "https://packages.convoy.com/artifactory/api/npm/npm/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d"
  integrity sha1-DiLpHUV12HYgYgvJEwjVenf0S10=

to this:
<EMAIL_ADDRESS>  version "2.8.2"
  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019"
  integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==

For us it was because we had target-branch configured. From the docs: Use target-branch to specify a different branch for manifest files and for pull requests. When you use this option, the settings for this package manager will no longer affect any pull requests raised for security updates.

In our case we don't have that configured. It looks like it's just ignoring the settings for security updates.
@feelepxyz is there anything else I could provide you to investigate?

We're having the same problem. Works perfectly fine for normal dependencies, but security dependencies ignore the private repo.

@jurre @feelepxyz any chance we could get some eyes on this? It makes dependabot not work at all when doing security fixes with private registries :(

Hi @Tadimsky,
We're starting to look into this issue as part of a larger improvement around npm and yarn's handling of transitive dependencies, which we think is related.
When we perform security updates, we try to pick the lowest available version that patches the vulnerability, whereas for version updates, we pick the greatest available version. I think there is something about the way Dependabot chooses the lowest available version that is skipping over checking private registries when using an .npmrc file.
As you might be able to understand, this is a complicated edge case to debug and address since it deals with private registries. We are hoping to address it soon!

@Nishnha awesome, thanks for the response and confirming that you are looking into it!
Very interested in getting this feature enabled for our company, so very eager to help out in any way.

Hi, can I ask if this issue is still being looked at? It's causing us rather a lot of problems having to constantly fix urls in the lock file.

Hi, yes this is still being looked at. The Dependabot team will be working on this (and better private registry support in general) as part of this quarter's objectives.

For us this issue appeared because in the past we were using our private repo as proxy for the central npm repo, public packages were in yarn.lock listed as coming for our private repo. Somehow this made dependabot look for our private packages in the public repo. Possibly also related that we we have the same @company/... for our public and private packages.
The (temporary?) solution was removing yarn.lock and running yarn install so it did not longer point to our internal repo for public packages. Or a less intrusive solution where we manually remove the incorrect sections in yarn.lock and run yarn install to fix them.

Hi, this issue should be fixed with https://github.com/dependabot/dependabot-core/pull/5883
Would love if y'all could verify that Dependabot is now working as expected with private registries.

Note If a dependency has a yarn.lock entry, then Dependabot will try to fetch it from its source. If the source is pointing to a public registry then Dependabot will look for it there.
Please validate that the dependencies in your project's yarn.lock list the registry you expect.

Hi, would these changes currently be 'live'? We've just had a security PR raised 10hrs ago and it still contained the wrong urls.
Just to mention we don't have ANY .yarnrc or .npmrc file checked in to the repo.

I can confirm that last dependabot security PRs use proper(private) registry. We have it specified in dependabot.yml and in .yarnrc.
Thanks!

You will need to have a .npmrc or .yarnrc file checked in with your private registry configuration set. See https://gemfury.com/help/private-yarn/ for how to do that.

Please can you just confirm. I have a dependabot.yml file configured which is using our organisations username/password stored as a secret (so no organisation user knows the password). Do I also have to have the username/password in the .yarnrc file? If so, I can't do that, as that would mean any user with access to the github repo would also have access to our private nexus/npm repo and could spoof being the build user?

Do I also have to have the username/password in the .yarnrc file?

from my observation it's not needed as our .yarnrc constain only registry entry

I have a dependabot.yml file configured which is using our organisations username/password stored as a github secret (so no organisation user knows the password)

Yep that's correct.
Since everything is working as expected I'm closing out this issue. If you discover a related problem please open a new issue.
Thanks!

Can someone please confirm where the .npmrc file should actually live in the repo? We have several projects within the same repo. Some java, some react. We place the .npmrc file within the react project (/ui subfolder) but we still get PR's raised with the wrong url.

@mbiggs-gresham Dependabot will check your project's root directory as well as one subdirectory level deep for an .npmrc file.
https://github.com/dependabot/dependabot-core/blob/7ea6a242ca628ab364e0770da27f7fdf1d73db90/npm_and_yarn/lib/dependabot/npm_and_yarn/file_fetcher.rb#L152-L169
I would expect Dependabot to pick up your .npmrc configuration given it's one located one subdirectory down - do you see any mention of it in your update logs?
Dependabot will also try to infer your .npmrc configuration now based on your dependabot.yml configuration if it can't find an .npmrc file: https://github.com/dependabot/dependabot-core/pull/6101
Feel free to open a new issue if you find this problem still persists - we might have a bug on our end!

Having investigated further, I've discovered that if there is a .yarnrc file then this change works (placing the .yarnrc inside the /ui folder).
However, if you use a .npmrc file then this is ignored and you still end up the standard registry.yarnpkg.com url being used. Having neither file also ignores the private registry defined in dependabot.yml. Not sure if that should be the case after https://github.com/dependabot/dependabot-core/pull/6101
Should I open another issue?

Hi @mbiggs-gresham,
Dependabot isn't able to guess the private registry that a scoped dependency (@my-org/my-dep) might use from just from the dependabot.yml file, so if your project uses scoped dependencies that rely on private registries, you will need to specify that in an .npmrc or .yarnrc with something like
@my-org:registry=https://npm.pkg.github.com

Make sure you are not including the organization at the end of the private registry url - registry=https://npm.pkg.github.com/my-org is not valid in a .yarnrc file
I'm not sure why this wasn't working with an .npmrc file for you, but I haven't been able to reproduce the issue ☹
As a side note, we now offer a replaces-base option that can be used to define a "global registry" for npm/yarn if that better fits your use-case https://github.com/dependabot/dependabot-core/pull/5928

Also, while Dependabot will always try to use your repository's .npmrc when running Yarn classic updates, it will only use a .yarnrc file if there is a private registry defined in it (since we overwrite the other .yarnrc options anyway)
https://github.com/dependabot/dependabot-core/blob/cc81eb45697c0a6ba9529ba73dfb0ed103084e9a/npm_and_yarn/lib/dependabot/npm_and_yarn/file_updater/yarn_lockfile_updater.rb#L337-L338

It's probably worth noting that our denpendabot.yml file disables normal dependency updates and only does security updates by specifying open-pull-requests-limit: 0.

Logs for security updates can still be viewed by going to your repository's security tab > Dependabot Alerts > and selecting an alert where a View logs button should be visible.

We delete logs after 14 days, so if that button isn't visible you will have to run the update again with the Try again button and view the new attempt's log output.


alias -d for --directory conflicts with -d for --dry-run

ng new suggests that --directory has an alias -d but that actually triggers a dry run.
https://github.com/angular/angular-cli/blob/b517c0fbe2796764e48b75bc7d2846e64bfc1332/docs/documentation/new.md
I don't know if this is a documentation issue only, or a real problem in the code.

There is no directory option on ng new anymore in 6.0, so this is not related to that milestone.
Thanks for the report @StevenLiekens.  This seems to be a mistake in our documentation. There should not be an alias for directory.

Alright well it would be nice if that wiki page received some more attention. I noticed other things that don't look right to me. The aliases for skip-commit and skip-git and skip-install don't seem to work either. Also I'm not sure what I should expect when I use both skip-commit and skip-git.

...and how now to create an application in the current folder?

Documentation has since been updated to remove --directory. There's a separate effort to review existing docs and make sure they are up to date and usable. I don't think there's anything else to handle in this issue.


Caret is not present in Accordion in Safari

Current Behavior

I am implemented the accordion with dynamic items. In Firefox and Chrome, I can see the caret as the attached screenshot (left) but in Safari (version 16.3 (176<IP_ADDRESS>.4, 17614), I cannot see the caret.
Steps To Reproduce

Using the default accordion

Anything else?
No response

@huantrinh1802 we have rebuilt the accordion as part of the next release coming on Tuesday. You can preview it here:
https://dev.skeleton.dev/components/accordions
Per:
https://github.com/skeletonlabs/skeleton/issues/857
Any issues with the prior version of the accordion are no longer relevant. Please retest on the new version and if the issues persists let us know. But I'd anticipate it will work as intended.


Revert "Depend on zstd tools"

Reverts vespa-engine/vespa#16191
Can't see exactly what's wrong, but building RPMs fail with:
error: line 242: Dependency tokens must begin with alpha-numeric, '_' or '/': Requires: zstd # Required for zstd tools used for inspection of access log files

I suspect that the comment on the same line as the Requires is not supported.

I suspect that the comment on the same line as the Requires is not supported.


Redux<EMAIL_ADDRESS>

WIP. For more info see #297

Breaking:

[x] Rename NULL to IDLE ( #294 )

Libs updated: redux-resource, redux-resource-plugins...maybe others.

[x] Remove deprecated getResources API: getResources(state, resourceName, filter) #228
[x] Calling getResources with no filter will return all of the resources #177

New features

[x] New list API for managing lists #303
[ ] Introduce a requestReducer for storing requests in one place
[ ] New feature: requestName and requestKey on actions
[ ] Official React bindings library (it will require v3.0.0) #290
[ ] New supported resources structure, enabling multiple resource types
[ ] Add lists to action

Deprecations

[ ] Referencing requests through resource slices. Use the request slice instead
[ ] Specifying a list on an action. Use lists instead
[ ] mergeListIds. Imperatively update lists instead
[ ] request item from actions. Use requestKey and requestName instead

Todo

[x] Rough draft of new lists API
[ ] Finalize new Lists API
[ ] Add deprecation warnings to logs
[ ] Introduce request reducer with request key/name
[ ] Only log each error type once ( #306 )
[ ] Publish a beta
[ ] Build React Redux Resource to test out v3.0.0
[ ] Publish

Closing this. v2.5 will come before v3.


DBeaver CSV to Table import. How to do scripted without import Wizard?

I have a table I routinely want to drop, then re-import and add a primary key constraint for.
The thing is I don't want to step thru the wizard each time.
How can I script this as a command so I don't need to interact with a GUI/wizard?
If it is of significance I am using PostgreSQL on a Mac
(Also your authentication mechanism with bastard re-captcha is broken at https://dbeaver.com/signin/ )

I tried to sign up
It said I have an account
I tried forgot password option
Sent not activated.
 I gave up in frustration.

Hello @JGFMK
Your account has been activated. Now you can reset a password https://dbeaver.com/forgot/.

Hello @JGFMK,
You can use the SQL Script task to drop and create a unique key constraint in pair with the Data Import task.
To combine them, you can use composite tasks.
Please let me know if it solves your issue.


[CI:DOCS]fix systemd files for apiv2

the paths and instructions for running the new api via systemd needed updates due to a change in the command.
Signed-off-by: Brent Baude<EMAIL_ADDRESS>

LGTM

/approve
LGTM
Would like @jwhonce to confirm

/lgtm
/hold

/hold cancel

/hold

Damn


Add support for automating labels

This commit adds support for automating the labels across all organizations in the unified collective.  The GitHub label defaults are broad and not very useful.  These labels are specific to our needs.
This comes with a defined structure of labels that are useful to our collective.  They come in groups of area, platform, semver, status, type, and there are a couple of miscellaneous labels.
The tooling now warns for unexpected labels, adds missing labels, fixes incorrect names, colors, and descriptions, replaces old labels with new on existing issues and pull requests, and removes legacy labels.
One cool extra is that the structured labels support automating color scaling for groups!
Closes GH-4.

The labels are already live across @unifiedjs, @vfile, and @syntax-tree. For example, see: https://github.com/unifiedjs/github-tools/labels

I added labels to all old issues in @syntax-tree, @vfile, and @unifiedjs. I ran in to the following changes things:

area/test -> area/tests (other areas are plural where possible)
area/performance -> area/perf (other areas prefer abbreviation)
area/dependencies -> area/deps (other areas prefer abbreviation)
new 👬 area/community label (or health?) (e.g., new COCs, a funding link, new members…)
new 🏡 area/internal: area/interfaces description is about public API, so I want to add area/internal for an internal change, like a refactor without a public change
area/external is weird: the description is vague. I think this label should be added when an issue is “invalid” for this repo: something is better solved somewhere else.
Maybe something relating to financials? e.g., invoices? (can be community above as well maybe?)

Ah, I’m glad that the code autogenerates the gradient between the two colours, it’s easy to add a new one and have the lightness still look nice!

I think this is good to go, any requests or comments?

They’re real! Please try them out and let me know what’s wrong or missing!


Can't be displayed on pkg.go.dev

Hiya, I just wanted to add a feature request to be able to find this library on pkg.go.dev, and maybe a link to it in README.  Currently it is not displayed due to licence restrictions. Thank you.

added

added


Unable to delete invalid feeds

Hello, only today I've noticed I have a group of invalid RSS.
I cannot delete them, the only way to get rid of them is to create a bookmarks folder and put them into it. Then delete the folder.
Tried both on Windows and Linux.

Thanks for your attention

Thanks! This was actually fixed by #265.


Update bal.bat to run cli commands for project paths with spaces - windows

Purpose

fix https://github.com/ballerina-platform/ballerina-lang/issues/34692

Approach

getting rid of surrounding quotes when expanding cmd arguments with %~2

Sample runs

Related PRs

 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.

Shouldn't this fix be added to the stage-swan-lake branch (also)?


Beta MSI installer update - design 2

#hold-off

Docs Build status updates of commit 4d68d58:
:clock10: Full build: the average full build time is 7 min(s) 31 sec(s), this is based on the last 629 build(s) for this repository.

Docs Build status updates of commit 4d68d58:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/install-azure-cli-windows.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/release-notes-azure-cli.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit d5846d9:
:clock10: Full build: the average full build time is 7 min(s) 31 sec(s), this is based on the last 630 build(s) for this repository.