Deprecation of the ZeroInt type

Description
We would like to deprecate the ZeroInt type with a warning level for directly using the 0 value instead. This value could also be encapsulated in a PositiveInt or NegativeInt.
The goal of this deprecation is to make the ZeroInt only available internally.
Dependencies
This issue is blocked by the following ones:

[x] #84

Checklist

[ ] Deprecate the type.
[ ] Test.
[ ] Refactor.
[ ] Check the generated documentation.
[ ] Check and update the public API binaries.
[ ] Update the Unreleased section in changelog.

We will not implement this issue because the ZeroInt type could be useful to consumers.


Instantly disconnected from mumble when connected to the server

Hello, here is my problem :
When I am connected to my server I am instantly disconnected from mumble and it never reconnect

In my server.cfg I have :
setr voice_useNativeAudio true
setr voice_useSendingRangeOnly true
And I am on the latest recommended version on windows (3922), and client version is b2060

pma-voice doesn't manage connection/disconnections unless you're using an external voice server, which I'm assuming you're not. I can't really help you much here :(

Seems fixed with an external server but nom I don't now why I can't see if I'm talking, whispering, or shouting at the bottom of my screen. Also nobody can hear me and I can't hear anyone.
I updated my pma-voice to the latest version (4) and I've updated my artifacts to 4085 (windows) I don't know if it has a huge impact or not.

I'm also getting this issue on my Test server, my local host and my main server we need a fix asap.

I'm also getting this issue on my Test server, my local host and my main server we need a fix asap.

As previously said, we don't handle connections at all

Seems fixed with an external server but nom I don't now why I can't see if I'm talking, whispering, or shouting at the bottom of my screen. Also nobody can hear me and I can't hear anyone.
I updated my pma-voice to the latest version (4) and I've updated my artifacts to 4085 (windows) I don't know if it has a huge impact or not.

Might try to make sure you're on onesync, as this resource is designed around it


Send exception full trace in email

How can i also send full details of error in email so that I could figure out where it actually happened? rather than just seeing the error description?

The mailer uses the @exception object which contains all the stack trace etc:
#/app/views/exception_handler/mailers/new_exception.erb

<%= Rails.application.class.parent_name %> (<%= Rails.env.titleize %>)

<%= @exception.response %> (<%= @exception.status %>)

<%= @exception.message %>

If you wanted the full stack trace, you'll want to re-create the above mailer in your app and use the @exception.trace object.


All functionality of the screen is not operable through a keyboard (Tab) interface Widget Builder issue

Describe the bug
Content, Resources and Display tab are not operable through a keyboard interface (tab) Widget Builder issue.
To Reproduce
Steps to reproduce the behavior:

Go to Widget Builder (http://localhost:9992/cm/app/?view=widgetbuilder&site=test4&mode=readonly&path=%2FSites%2Ftest4%2F&pathType=page)
Create a new widget and then select that widget.
Content, Resources and Display tab are not operable through a keyboard interface (tab) Admin issue.
And all the components inside these tabs also not accessible through Tab key. For e.g Javascript and CSS resources.

Expected behavior
All page elements should be operable through a keyboard interface (tab).
Additional context
Navigate all the options available for similar issue and fix.

Fixed with https://github.com/percussion/percussioncms/issues/782


Enabling both cleanupIDs and prefixIds does not work as expected

Describe the bug
When attempting to optimize with both cleanupIDs and prefixIds plugins enabled, I expect the IDs to be minified AND prefixed with the SVG filename. However, it instead only prefixes the IDs with the filename if cleanupIDs.minify is disabled.
There are valid reasons why minifying the ID and then prefixing it with the filename are necessary, mainly when inlining multiple SVGs on the same page. Without unique prefixes, duplicate IDs will conflict with one another.
To Reproduce
Steps to reproduce the behavior:

Enable both plugins

// svgo.config.js
const { extendDefaultPlugins } = require('svgo')

module.exports = {
  multipass: true,
  plugins: extendDefaultPlugins([
    'cleanupIDs',
    'prefixIds'
  ])
}

Run the optimizer on an SVG that contains IDs. Here's a sample SVG:

<!-- my-file.svg -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 46 46">
  <g clip-path="url(#test-aaa)">
    <path d="M37.375 42.167H4.792a.958.958 0 0 1-.959-.959V8.626a1.917 1.917 0 1 0-3.833 0v33.542A3.833 3.833 0 0 0 3.833 46h33.542a1.917 1.917 0 0 0 0-3.833z" fill="#99D099"/>
    <rect fill="#008A00" height="39.531" rx="3" width="39.531" x="6.469"/>
    <g clip-path="url(#test-bbb)">
      <path d="M23.15 27.192a1.168 1.168 0 0 0 1.168 1.168h3.114a1.168 1.168 0 0 0 1.168-1.168v-4.866a.195.195 0 0 1 .195-.195h4.866a1.168 1.168 0 0 0 1.169-1.168V17.85a1.168 1.168 0 0 0-1.169-1.168h-4.866a.195.195 0 0 1-.195-.195V11.62a1.168 1.168 0 0 0-1.168-1.168h-3.114a1.168 1.168 0 0 0-1.168 1.168v4.866a.195.195 0 0 1-.195.195H18.09a1.168 1.168 0 0 0-1.168 1.168v3.114a1.168 1.168 0 0 0 1.168 1.168h4.866a.195.195 0 0 1 .195.195v4.866z" fill="#CCE7CC"/>
    </g>
  </g>
  <defs>
    <clipPath id="test-aaa">
      <path d="M0 0h46v46H0z" fill="#fff"/>
    </clipPath>
    <clipPath id="test-bbb">
      <path d="M16.531 10.063h18.688v18.688H16.531z" fill="#fff"/>
    </clipPath>
  </defs>
</svg>

Run the optimizer
See SVG. Ids were minified but not prefixed.

Expected behavior
Expected SVG should be as follows
<!-- my-file.svg -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 46 46">
  <g clip-path="url(#my-file_svg__a)">
    <path d="M37.375 42.167H4.792a.958.958 0 0 1-.959-.959V8.626a1.917 1.917 0 1 0-3.833 0v33.542A3.833 3.833 0 0 0 3.833 46h33.542a1.917 1.917 0 0 0 0-3.833z" fill="#99D099"/>
    <rect fill="#008A00" height="39.531" rx="3" width="39.531" x="6.469"/>
    <g clip-path="url(#my-file_svg__b)">
      <path d="M23.15 27.192a1.168 1.168 0 0 0 1.168 1.168h3.114a1.168 1.168 0 0 0 1.168-1.168v-4.866a.195.195 0 0 1 .195-.195h4.866a1.168 1.168 0 0 0 1.169-1.168V17.85a1.168 1.168 0 0 0-1.169-1.168h-4.866a.195.195 0 0 1-.195-.195V11.62a1.168 1.168 0 0 0-1.168-1.168h-3.114a1.168 1.168 0 0 0-1.168 1.168v4.866a.195.195 0 0 1-.195.195H18.09a1.168 1.168 0 0 0-1.168 1.168v3.114a1.168 1.168 0 0 0 1.168 1.168h4.866a.195.195 0 0 1 .195.195v4.866z" fill="#CCE7CC"/>
    </g>
  </g>
  <defs>
    <clipPath id="my-file_svg__a">
      <path d="M0 0h46v46H0z" fill="#fff"/>
    </clipPath>
    <clipPath id="my-file_svg__b">
      <path d="M16.531 10.063h18.688v18.688H16.531z" fill="#fff"/>
    </clipPath>
  </defs>
</svg>

Desktop (please complete the following information):

SVGO Version 2.2.0
NodeJs Version 12.18.0
OS: OSX

Without unique prefixes, duplicate IDs will conflict with one another.

My misunderstanding of needing unique ID
Just curious but aren't you able to produce a unique ID, class or depending on context a selector that relies on more than just the svg element for querying (eg div.example > svg {}), IIRC JS can use a selector for finding a element match as well.
Last I knew, relying on IDs was generally frowned upon vs classes, be that for styling or targeting an element with JS.
In some cases where users ask for this, I imagine you would still have the scenario of using the same SVG graphic multiple times but also wanting to isolate them for using JS or CSS to produce variations or different behaviour logic. I'm curious how that's resolved other than giving the <svg> root element a unique class (or ID) and using a selector as you would?
The SVG itself shouldn't be referencing any content outside of it, so is it rather a developer usage concern? (EDIT: It does :confused: ) Or have I misunderstood something here?
eg instead of #my-file_svg__a, you could use #my-file_svg #a
If you're going to use a selector to modify the SVG via JS or styles via CSS, might as well use a better selector. I get that's not always an option though if you're distributing a large library of SVG files for third-parties and you want to minimize the upfront effort for those users.

EDIT: Technically this works on SVGO v1, just not with your example which has a bug.
In v2.1 static plugin processing order was added and appears to have accidentally mixed the order up (v2 also changed plugin order but I'm not sure if was an issue back then too):
https://github.com/svg/svgo/blob/3d79f57a10d7b3dba4bcd30d0b94e22410626cae/lib/svgo/config.js#L5-L18

More info (original message while looking into the issue)

Earlier Notes
While I was able to reproduce this, it turned out to be with SVGO v1.x via SVGR. I identified the bug which was specific to id in <defs> being ignored and thus the problem. That was already resolved though and part of the new v2.0 release I think, it didn't seem to get backported to SVG 1.x, and that seems to be due to the project not having separate major version branches, so all v2 work would have been in the same branch or something building up to a v2 release? Unfortunate :man_shrugging:
The cleanupIDs plugin has a basic "minifier" that doesn't generate a value based on content it's replacing, so you'd not have noticed any difference with prefixIds plugin enabled vs disabled. What happens is as shown with it's list order on the README, your IDs are prefixed first, then cleanupIDs plugin runs... while you expected the order to be the other way around, which would make the most sense...? (EDIT: It appears this is how it originally was in v1)
I'm not sure why the current processing order is like that. I noticed that with the mentioned v1.x bug fix that only made it to v2 did work as you'd expect with prefixIds running after cleanupIDs. v2 changed how plugins are loaded, and then in v2.1 (mid feb) introduced a static order, which introduced the static default order.
cleanupIDs running before prefixIds was likely an accident.

--
Workarounds
Note that you can specify a prefix in cleanupIDs plugin params:
https://github.com/svg/svgo/blob/3d79f57a10d7b3dba4bcd30d0b94e22410626cae/plugins/cleanupIDs.js#L12-L19
How useful that is to you depends on how you want to run SVGO, if using something like webpack you can pass the filename context in to adjust the config param for each asset processed. It only accepts a string, not a function like prefixIds plugin. The minifier ID generator is also not configurable :disappointed:
Alternatively  in the meantime you should be able to do two passes using slightly different config each: cleanupIDs first. then prefixIds?

Sidenote - Optimizing prefix size
In looking into this, I'm now better aware of the need for the unique ID regarding internal usage with defs. I had two instances of this MDN gradient example and noticed changing ones gradient colours affected the other when they're both used as separate inline SVG elements in an HTML document.
When you're only interested in avoiding internal conflicts like that, rather than targeting those IDs via selectors for adjustments at runtime, you could potentially have shorter prefixes via a hash on the filename instead, styled-components and others use this for minification:
svgo.config.js:
// DJB2a (XOR variant) is a simple hashing function, reduces input to 32-bits
// Same hashing algorithm as used by `styled-components`.
const SEED = 5381
function djb2a(str) {
  let hash = SEED

  for (let i = 0; i < str.length; i++) {
    hash = (hash * 33) ^ str.charCodeAt(i)
  }

  // Cast to 32-bit uint
  return hash >>> 0
}

// Converts string input to a 32-bit base36 string (0-9, a-z)
// '_' prefix to prevent invalid first chars for CSS class names
const getShortKey = (node, extra) => `_` + djb2a(extra.path).toString(36)

module.exports = {
  datauri: 'unenc',
  js2svg: {
    indent: 2,
    pretty: true,
  },
  plugins: [{
    name: 'prefixIds',
    params: {
      prefix: getShortKey
    }
  }]
}

Would be more optimal as a suffix (you'd still want a delimiter between the minified class/id though).
Using it as a generator function for cleanupIDs instead to further reduce file size by removing the need for a prefix/suffix may sound good but would also be more fragile as this hashing algorithm is a simple one and only covers a range up to 32-bits (a collision after 16-bits aka 65,536 hashes is roughly 50% likely, but with this hash function quite possibly earlier)

Should be fixed in https://github.com/svg/svgo/releases/tag/v2.6.0


Add support for Intel SHA extensions.

See #392.

Just for keeping track of progress.  I think I've implemented everything in "step 2" now.  I've also pulled in @alexcrichton's initial implementation (thank you!) so much of step 3 is already done aside from tests, which I think is all that remains.
For the tests, is there a preferred approach?  I was thinking of using some fixed test vectors.  I had a quick look at what GCC does, and they actually bring in an implementation of the intrinsics and test that they come up with the same results (though with fixed test vectors).

Looks great to me, thanks! For tests I think having fixes inputs/outputs is fine, we're mostly looking for "obviously wrong" bugs rather than smaller corner cases

The run-time support parts LGTM. For the tests, it is not about checking the result for every possible input value, but more about exercising that the intrinsics compile correctly and are able to generate correct results. So checking each intrinsic for two different inputs should be more than enough.

One quick question: why are these assert instruction tests being ignored?
# CARGO_INCREMENTAL=0 cargo test sha
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs

     Running target/debug/deps/coresimd-3d30e14a0ab5fad2

running 14 tests
test coresimd::x86::sha::assert__mm_sha1msg1_epu32_sha1msg1 ... ignored

@jasondavies oh to run the instruction assertions you'll need to pass --release

Awesome, thanks!


Gradle 8.5 breaks includeBuild functionality with bom packages (only?)

Current Behavior
After upgrading to Gradle 8.5 to switch to Java 21, our multi-module Gradle project encounters an issue where dependencies cannot be resolved when using includeBuild. The error message is:
"Could not determine the dependencies of task ':main-main:compileJava'.
> Could not resolve all dependencies for configuration ':main-main:detachedConfiguration1'.
   > Could not find sub-bom.pom (project :sub:sub-bom)."

The project works without includeBuild and the pom is available, but fails with includeBuild. Downgrading to Gradle 8.4 resolves the issue.
Expected Behavior
The expected behavior is that Gradle 8.5 should be able to resolve dependencies with includeBuild as it did in version 8.4, without any errors, allowing the use of Java 21 with our existing project setup.
Context (optional)
We are trying to update our Gradle version to 8.5 to enable Java 21 support for our project. This issue is blocking the upgrade as it breaks our build which relies on includeBuild for composing builds locally and using a dependency root project's bom package for version definition.
Steps to Reproduce

Clone the minimal reproducible version from https://github.com/aurimasniekis/gradle-85-issue
Navigate to the main folder and run ./gradlew build using Gradle 8.5 to reproduce the issue.
Navigate to the main-84 folder and run ./gradlew build using Gradle 8.4 to see the expected behavior without the issue.

Gradle version
8.5
Build scan URL (optional)
https://gradle.com/s/eypdpd7z3t56w
Your Environment (optional)
No response

Thank you for providing a valid report.
The issue is in the backlog of the relevant team and is prioritized by them.

@aurimasniekis With Gradle 8.4, are you sure the build is doing what you expect?
From what I can follow with the reproducer, Gradle silently fails to resolve the POM and Spring's dependency management plugin ignores the missing POM when running with Gradle 8.4. I think this means that when using an included build and the dependency management plugin, the BOM does not have an effect.
The change in behavior in 8.5 was a bugfix for a problem introduced in 7.6.1 where we unintentionally made the resolution more lenient. Before that version, this would have failed in the same way.
This is a very related issue: https://github.com/spring-gradle-plugins/dependency-management-plugin/issues/164
You can think of an included build as similar to a multi-project build when it comes to dependency resolution. Gradle uses the coordinates to locate a project in the included build and replace the external dependency with a project dependency. Spring's dependency management plugin doesn't support consuming a BOM from another project.

@big-guy Thank you for the response and the explanation of the changes in Gradle 8.5's dependency resolution behavior.
Your explanation has helped clarify the situation considerably. We understand that the stricter checks in the latest version of Gradle are causing issues with how the Spring dependency management plugin handles the BOM when using includeBuild.
Given this, I'm wondering if there might be a way to configure our setup so that the BOM is excluded when using includeBuild, or otherwise handled in a manner that would allow the Spring plugin to not fail the resolution. Our primary goal is to include another project from which dependencies are included into the current project, without the need for those dependencies to be published or the entire build to be run for every local change.
Could you advise on a possible configuration or setup that would avoid the stricter dependency checks for the BOM, or any alternative approaches that would achieve a similar result with Gradle 8.5 and the Spring dependency management plugin?

At the moment the only working fix I could imagine is something like this:
if (!gradle.includedBuilds.name.contains("sub")) {
    mavenBom "org.sub:sub-bom:1.0-SNAPSHOT"
}

But this is really feels hacky 😫

In general the core issue here is that Gradle does not know about a POM until publishing has happened. When you include another build, you get the "pre-publishing" view of that build. So, without significant changes to Gradle, there is no way an included build will be able to expose its POM to other projects.
The solution I see here is for the bom projects to use the java-platform plugin, which will produce a POM ("bom") during publication, but will also expose the dependency constraints in the "pre-publishing" view.
Granted, I am not sure how the java-platform plugin integrates with spring dependency management -- so I'm not sure if this is feasible with the way the plugin works.
An example of depending on a BOM using the platform mechanism is here: https://docs.gradle.org/current/userguide/platforms.html#sub:bom_import


Attribute to set innerHTML of element?

Hey, I was wondering if there is any out of the box support for setting unescaped html content in side of another element.
React's JSX supports this by using an attribute called dangerouslySetInnerHTML.
For our specific use case, we have been calling incrementalDOM directly by doing something like this
render() {
  IncrementalDOM.elementOpen('div', null, null, 'class', 'my-html-string-container');
  const node = IncrementalDOM.elementClose('div');
  node.innerHTML = '
Hello World!
';
  return node;
}

Ideally, we would hope to do something like
render() {
    const someHTML = '
Hello World!
';

    return
;
}

Is this something you would consider adding to this plugin itself, or do you think it is best to handle ourselves for this specific use case?
Reference to the issue we are trying to fix https://github.com/metal/metal.js/issues/127

This should be setup through iDOM's attributes map. Basically, just set innerHTML (or whatever you want to name it) to set as a property.
import { attributes } from 'incremental-dom';
attributes.innerHTML = function(el, property, value) {
  el.innerHTML = value;
};

// or
attributes. dangerouslySetInnerHTML = function(el, property, value) {
  el.innerHTML = value;
};

Eventually, iDOM will allow you to specify at the compiler level what gets set as a property or attribute, and we'll be able to handle it here.

Thanks for the quick input! Good to know.

@jridgewell are you sure this works for innerHTML? Just tried on this fiddle and it doesn't seem to work as expected. Although it does work if I set it to an attribute like title.

Oh, you'll have to skip the node, too.

How does that work with subsequent patches? I tested it here and it seems to clear that innerHTML value after the first patch.
Also, I realize this doesn't actually impact this plugin anymore since it is iDOM specific. So I can move my questions over there if need be.

See https://github.com/google/incremental-dom/issues/283 for more context.


Plugin does not work by default.

You should not have to setDebug to have the plugin function. It should default to false, and have an opt in for debug. Having it fail silently isn't the best option IMO. And if this is really what you guys want it should really be called out in the docs. I can submit a PR for this after lunch if you guys want.
https://github.com/BranchMetrics/Cordova-Ionic-PhoneGap-Deferred-Deep-Linking-SDK/blob/master/www/branch.js#L52-L71

That's pretty dumb. I apologize. If you can fix it, it'd be much appreciated. Or I can toss it over to our contractors.

Do you agree that it should default to debugMode being off? I can quickly make that change.

There was a miscommunication on our end. The requirement for setDebug was supposed to be for the testbed app not for the actual plugin itself. We apologize for our mistake. I have removed the condition and execute the initSession once it is called.

@ZackMattor Please close if this was resolved. Thanks.


[FEATURE REQUEST] Adding a filename of active window  {{filenamecurrent}} to the quickadd created note like {{LINKCURRENT}}

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
when we place {{LINKCURRENT}} in a template and use quickadd to create a new note based on this template, the link to the current active file will appear in the new note.
Instead of placing the link to the active note in the new note, I just want to place just the name of the current note in the new note. So, maybe it's nice to add a {{filenamecurrent}} Format syntax to make it possible to add the name of current active file to a newly created file directly.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Haven't found any solution yet, but I will try to go through the documentation of Templater plugin to see if there are any solutions there.
Additional context
Add any other context or screenshots about the feature request here.

@Ravenclawer - I also wanted this. I looked at the code to see how I could add LINKCURRENT replacement for the filename, but I had trouble figuring out where the different template settings get plugged in.
As a workaround, I am using the Obsidian Filename Heading Sync
 plugin.
Instructions

Install & enable the plugin
Disable the Use File Open Hook option in the plugin's settings.
Exclude your templates directory. For me that's Templates/*
Set up the template to have the first heading use {{LINKCURRENT}}. e.g.

# {{LINKCURRENT}} - <% tp.file.title.split("- ")[1] %>

After you Quick Add a note, the first time you save it, it'll rename the file to the heading.


Expression Evaluation

Description
C_CPP
Domain
C/CPP
Type of Contribution
No response
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Add query for superfluid undelegations per delegator

Description
Adds a query for superfluid undelegations per delegator, additional fixes with url for query
For contributor use:

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer

Codecov Report

Merging #975 (3f9c3bc) into main (794926a) will decrease coverage by 0.04%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #975      +/-   ##
==========================================
- Coverage   20.63%   20.58%   -0.05%
==========================================
  Files         193      193
  Lines       25165    25226      +61
==========================================
  Hits         5194     5194
- Misses      19019    19080      +61
  Partials      952      952

Impacted Files
Coverage Δ

x/superfluid/client/cli/query.go
0.00% <0.00%> (ø)

x/superfluid/keeper/grpc_query.go
47.09% <0.00%> (-8.77%)
:arrow_down:

Continue to review full report at Codecov.

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


Clean up the installing

@Itai-Nelken ?

sorry, I wasn't home.
did you test it? (it should work, but I want to make sure).

No I haven't tested however all thats changed is every .sh script now is executable, in fact it may have even fixed one as I can't remember which but 1 of the scripts wasn't given +x. I think it was g_____.sh
Give me a min and I'll find which

/apps/flowblade wasn't given +x

thanks a lot


Nginx Compile Error: "assignment discards 'const' qualifier from pointer target type"

I'm not sure if I'm doing something incorrectly in relation to using zlib-ng with Nginx. When compiling Nginx 1.15.2 using GCC 8, the compile is failing here:
src/http/modules/ngx_http_gzip_filter_module.c: In function 'ngx_http_gzip_filter_deflate':
src/http/modules/ngx_http_gzip_filter_module.c:837:26: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
ctx->in_buf->pos = ctx->zstream.next_in;
^
cc1: all warnings being treated as errors
objs/Makefile:1069: recipe for target 'objs/src/http/modules/ngx_http_gzip_filter_module.o' failed

You're trying to assign read-only variable to another variable that is read-write...

What could be causing this to happen though? I'm simply doing git clone on the develop branch and then compiling Nginx with it using --with-zlib=path
I've also tried compiling zlib-ng and installing it to a directory, then pointing nginx to that location instead. It still gets caught at the same point.


Handling of long lines issues

Testing #164490
Version: 1.73.0-insider
Commit: a803dc359aa1ed48c7acf074dd81d6af1525c8c8
Date: 2022-10-25T05:18:20.717Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 21.6.0
Sandboxed: Yes

open a text file with a super long line, in my case 12K characters
toggle word wrap
scroll to the end
-> blue button (great!)
press the button

Observed issues:

toggling line wrap or closing and reopening the editor does not bring back the blue button (I would have expected so)
cmd+ArrowRight does not bring me to the end of the line but only half-way
scrolling to the end of line and mouse clicking puts the cursor in the same position as 2)
scrolling to the end of line does not show me the end of the line but is around 15 characters short

Recording of issues: https://share.cleanshot.com/zv8i3D
Proposal:
Rather than trying to deal with these long lines, use the button to enable line wrapping so that I can confidently deal with  these long lines.

@kieferrm I see how it's broken in your screen recording, but I'm having a hard time reproducing. Could you please share your test file? I tried with jquery-min.txt and could not reproduce:
https://user-images.githubusercontent.com/5047891/198041809-925601e3-0fba-4826-b5f6-58a203042510.mp4

This is the file I used, zipped up: test21.ipynb.zip

with the exception of me attempting to test on 1.8 million characters, cmd + arrow, the button, reloading, etc, works like a charm.

note that in large cases that the initial 12k from Kai, (I tested up to some 53k), cmd + arrow doesn't go to end of the line, but goes to the button. pressing the button, then cmd + arrow will then go to end of the line.
https://github.com/microsoft/vscode/assets/54879025/8e100ee3-28f9-4ded-8722-af9f2f514a2d


Bad repository link with gogs behind reverse proxy

Hi,
i use gogs at localhost and use a reverse proxy to make gogs accable from the internet. Because i use gogs at a shared hoster its the only way...
Because gogs runs on localhost i have bad links to the Repo:
SSH user@localhost:user/test.git
HTTP http://localhost:60000/user/test.git
It wourd be nice to have an option in configuration to modify the links. gogs runs on http but the reverse proxy redirect to https so it would be also nice to change http to https but only for the displayed link.
Thanks for your great work.

Thanks your feedback!
What is the reverse proxy tool you use?

I use Apache with this .htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteRule (.*) http://localhost:61002/$1 [P]

I guess this is what you need: https://github.com/gogits/gogs/issues/1435#issuecomment-127536714
I don't know Apache, but certainly there is some problem with the configuration.

In fact, the root URL for displaying can be set in custom/conf/app.ini in the server section.
[server]
ROO_URL = https://yourdomain.com/path/

And it will be used for displaying.

Changin ROOT_URL in custom config do the trick for the http link but ssh is unchanged and displays localhost.

DOMAIN option in server section will fix ssh link, I think.

Set it like this:
DOMAIN = yourdomain.com

Mine is working fine.

Thanks i tried it and it is working. But i think i missunderstood something. If i change DOMAIN to yourdomain.com is gogs now running on localhost which would mean <IP_ADDRESS> or on yourdomain.com which would be in my case a totally different szenario :-)

Sorry I did not understand what you mean... I think the DOMAIN options is just for ssh link displaying.
The actual address and port gogs bind is set by HTTP_ADDR and HTTP_PORT.
HTTP_ADDR defaults to <IP_ADDRESS> or <IP_ADDRESS>.

You can read more about these options in the doc, see here

You are right this is what i mean :-) i have not seen the HTTP_ADDR option. Thanks again.

It's still an issue with Gogs, it has no clue about reverse proxy external port. Screen
[server]
PROTOCOL = http
HTTP_ADDR = localhost
HTTP_PORT = 3001
DOMAIN = evrial.com
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/gogs/

Thanks @JokerQyou !

Issues referenced in issues have bad link if Gogs is behind a reverse proxy in a directory. Link does not have repository name. Looks like this:
#1

Directory name is git, username is gogs username, repository name is missing here. My setup:
ROOT_URL = http://proxy.external.address/git

Apache rules:
ProxyPass /git http://internal.address:3000
ProxyPassReverse /git http://internal.address:3000

I have tried accessing the same page directly. Modified ROOT_URL:
ROOT_URL = http://internal.address:3000

The referenced issue has correct link when I accessing the server directly:
#1

I think it's a bug.

@kolesar-andras thanks! It is indeed a bug, please rise another issue for this specific purpose.


test: comments accessible view

Refs #203928

[x] Windows @ntrogh
[ ] macOS @DonJayamanne
[x] anyOS @ulugbekna

Complexity: 3
Create Issue

There is now an accessible view for GHPR comments. Enable Screen Reader Optimized mode to test this.
Checkout a PR, open the comments view, and use alt+f2 to review the comment in detail.
Also try:

taking the actions that are available in the toolbar
using Escape, which should focus the comment item in the view
having several replies to the comment, verify these are rendered in the accessible view

Checkout a PR, open the comments view, and use alt+f2 to review the comment in detail.

@meganrogge
Please can you share a screen recording.
I'm on a mac, & struggling to understand the instructions here.
Perhaps because I'm not very familiar with voice over and accessibility features.
Would it be possible to share a screen recording of this, so I understand this better and can test this.
Thanks


Delete an existing users

1，The Clients certificates generated through web-gui are not stored in the database, are they！！！
2，How do I delete an existing user！！！

Hey @3721518 if you are still interesting, you can try to adopt my fork branch for this project.
It does include certificate revocation feature via GUI and OpenVPN back-end restart (as OpenVPN should be restarted to apply revocation).

@d3vilh
Looks like we've been working along the same lines in terms of updating this project. I started with a fork myself but moved it early last year to a standalone project. I've just completed another round of additional features, so if you have a chance check out what I've done and perhaps we can combine our efforts? Probably doesn't make too much sense for us to be duplicating our efforts. :-)
I've done certificate revocation and removal as well, along with adding a password option to certificate creation. https:// is now an option for the web ui. I've moved OpenVPN support to 2.5.x along with the latest version of EasyRSA. Dark Theme, host-based OpenVPN support (required to support TAP), all kinds of fixes and upgrades. I'm currently working on adding password support for the Management Interface. It would be great if we could work together in the great spirit of open source!
https://github.com/bnhf/pivpn-tap-web-ui

@d3vilh
Also, I haven't updated the README since the improvements I did in December, so don't rely on the screenshots for supported features. You'll need to spin-up the container to get the whole picture. PiVPN has been my standard for an OpenVPN installation script on the host. Debian, Ubuntu, and Raspbian are supported, and OpenVPN 2.5.x or higher is required.

@d3vilh

Here is main project Raspberry-Gateway.

Looks nice -- and I see that you are off in a somewhat different direction, focusing on the Raspberry Pi. And yes, it does seem that we've added many of the same features. I'll definitely take a look at what you did for Management Interface password support.

@d3vilh

You are welcome to grab password support from my repo, I pass it via Docker env to container with openvpn-web-ui, getting user and pass from Ansible config.

I actually didn't realize the original username and password environment variables didn't work, so I may incorporate what you've done there. However, I was talking about password protecting the OpenVPN Management Interface, and since you're still using the original go-openvpn library there wouldn't be any password support. Not a big deal when you're using a two container stack, but starts to matter when you want to control a host-based instance of OpenVPN.
Also, I updated the screenshots in my repository to reflect some of the more recent work I've done if you want to take a look. Here's an example showing certificate management, which includes revoke, remove and create with passphrase protection:

Also, here's the updated status page with a couple of TAP clients connected. It's great to have TAP as an option for clients that support it:


Payload paramater in bot.on('postback', (payload, reply, actions)) is null

Hi,
Not sure if its just me, but whenever I listen for a postback, the payload always returns null despite being assigned a value before the postback event triggers.
Whenever I use reply to echo the payload data to the user, I get an error message: Param message[text] must be a UTF-8 encoded string
bot.on('postback', (payload, reply, actions) => {   reply({text: payload}, (err, info) => {     if(err) {       console.log(err.message)       throw err     }   }) })
Unless I'm wrong and the payload object changes from a string before postback to a different object type?
Please advise guys
Thanks!

Sorry, my mistake. I took a closer look at the documentation and it was fine


Can't start documentdb emulator, error: "The program can't start because api-ms-win-core-path-l1-1-0.dll is missing on you computer"

Hi,
Installed but can't start documentdb emulator
Error: "The program can't start because api-ms-win-core-path-l1-1-0.dll is missing on you computer"
OS: Windows 7 Enterprise, Service Pack 1

@mindis We have the following requirement for DocumentDB Emulator, so it's not supported on Windows 7.
Software requirements
Windows Server 2012 R2, Windows Server 2016, or Windows 10

If you absolutely want emulator support on Windows 7, please vote on https://feedback.azure.com/forums/263030-documentdb/suggestions/17825839-add-emulator-support-for-windows-7-8


Set .vst3 suffix by default on vst3 plugins built using cmake

Hi, I was thinking that maybe the .vst3 suffix should be automatically applied by dpf when building as vst3 rather than .dll, since i noticed hosts like reaper don't recognize vst3 plugins that don't have the .vst3 file extension
i was able to locally fix it just by changing in DPF-plugin.cmake the line
I think it would make things more convenient
    set_target_properties("${NAME}-vst3" PROPERTIES
      LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/${NAME}.vst3/Contents/${vst3_arch}-win/$<0:>" SUFFIX ".vst3")

Fixed in 2711cbefa481c3ebed1ca9dbda190bf915d8b0b9


Crash when runing client_example.py on windows

I am trying to run carla simulator in client-server mode  and when i run the python client, i get below crash.
C:\Carla\_CARLA_0.8.4\0.8.4\PythonClient>python client_example.py
INFO: listening to server localhost:2000
CarlaClient connected
Starting new episode at 'Town01'...
Traceback (most recent call last):
  File "C:\Carla\_CARLA_0.8.4\0.8.4\PythonClient\carla\client.py", line 174, in _read_sensor_data
    raise StopIteration
StopIteration

The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "client_example.py", line 248, in <module>
    main()
  File "client_example.py", line 235, in main
    run_carla_client(args)
  File "client_example.py", line 113, in run_carla_client
    measurements, sensor_data = client.read_data()
  File "C:\Carla\_CARLA_0.8.4\0.8.4\PythonClient\carla\client.py", line 127, in read_data
    return pb_message, dict(x for x in self._read_sensor_data())
  File "C:\Carla\_CARLA_0.8.4\0.8.4\PythonClient\carla\client.py", line 127, in <genexpr>
    return pb_message, dict(x for x in self._read_sensor_data())
RuntimeError: generator raised StopIteration

Hello @imran514.
Did you modified the client?

@marcgpuig no i didn't modify the code

@imran5144,
Right now we support Python 2.7, 3.5 and 3.6.
It looks like you are using Python 3.7 and we didn't know this change on 3.7 version.
Thanks for your feedback! We'll keep this in mind.

Thank you @marcgpuig , it works on 3.6.


show proxy object icons more reliably

Fixes #2069, which was the original motivation, but I also put this out there to get your opinion on the changes to the observers. I’ve long wondered what would happen if we did this.
(My motivation for trying was to get the mini-icons in a comma trick collection to update. It was either this, or another complicated mess of adding and removing observers for individual objects.)
I think it’s OK because we can tell the OS a billion times that a view needs to be redrawn, but it won’t actually redraw unless it decides it’s a good time to do so. Is that correct? In any case, icon changes don’t come in too rapidly. The only “problem” I see is that all three panes get the notice and ask to be redrawn.
Before this is merged, I’d also like to see if we can get other places to observe icon changes. (Like every view in the Preferences window, and the optional zooming trigger window.)

Redid, rebased, and force-pushed to make Travis happy.

Is that correct?

It is.

but I also put this out there to get your opinion on the changes to the observers.

It seems to make all currently visible QSSearchObjectView handle every QSObjectIconModified that gets sent, right ? Taking into account that only objects that are currently showing in these load icons, I don't think it is that much performance though, but I think your calculation might be off by # of results :wink: (which is actually what the index-wrangling thingy that you're removing from QSResultController checks).

I’d also like to see if we can get other places to observe icon changes.

I think it's because the "icon change notification" thingy is made at the wrong level — IIRC most views in prefs are Tables, and those tables use QSObjectCell, which doesn't listen to the notification at all. Maybe overriding -setRepresentedObject: to do the notification-dance and a quick [[self controlView] setNeedsDisplay] could do the trick ?
Well, it doesn't (or at least it does the trick for a completely unrelated fix :laughing:). I remember trying to fix that, so here's the explanation : most of the tables in preferences use bindings, which don't cause icon loads because bindings. I'm not sure if it's because of the cell change above unrelated, but if you cause a icon load from the main interface then at dismissal you'll have your icon. Now I know why QSIconLoader exists...
Cell change (because I'll hard reset in 3, 2, 1...)
- (void)setRepresentedObject:(id)representedObject {
    [[NSNotificationCenter defaultCenter] removeObserver:self name:QSObjectIconModified object:self.representedObject];
    [super setRepresentedObject:representedObject];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(objectIconModified:) name:QSObjectIconModified object:representedObject];
}

- (void)objectIconModified:(NSNotification *)notification {
    [[self controlView] setNeedsDisplay:YES];
}

It seems to make all currently visible QSSearchObjectView handle every QSObjectIconModified that gets sent, right ?

Actually, it's all of them. Not just the ones that are visible. But that's 3 at most.

Taking into account that only objects that are currently showing in these load icons, I don't think it is that much performance though, but I think your calculation might be off by # of results :wink:

That's what I was thinking. There aren't that many of these notifications being fired at any given time. And I didn't forget that the results are included in that. (I had actually set a "Log Message" break point to show me the count when the notification was received.)

(which is actually what the index-wrangling thingy that you're removing from QSResultController checks).

I know what that code is supposed to do (I wrote it), but it doesn't seem to be working reliably. For what seems like a year, I've only gotten icons for the first 4 or so results. After making this change yesterday, I finally see them all again.

I’d also like to see if we can get other places to observe icon changes.

I think it's because the "icon change notification" thingy is made at the wrong level — IIRC most views in prefs are Tables, and those tables use QSObjectCell, which doesn't listen to the notification at all. Maybe overriding -setRepresentedObject: to do the notification-dance and a quick [[self controlView] setNeedsDisplay] could do the trick ?

Handling it in QSObjectCell would catch a lot of things, but not everything. For example, the reason I started messing with this (again) is that mini icons for things in a collection don't get redrawn because nothing is watching for them. Maybe you're thinking "the icon's already loaded by the time you hit comma", but I made some enhancements in #2092 so combined objects would be shown in their original form whenever possible. To see what I mean, build from that branch, select a few images in Finder and hit ⌘⎋.
Anyway, does the code above seem to work?

As mentioned in #2069:

Expire the cache when the interface is dismissed.

The last commit attempts to do this. It was actually releasing the thing too fast, so the command ended up resolving again. To fix that, I moved the delay and hard-coded it to the default (2 seconds).
(FYI, a good way to test that the object in the interface is the one the command executes with is Random Track ⇥ Reveal in iTunes. Just wait 10 or so seconds between calling it up, and running the command. It should reveal the same track you saw in QS.)

Planning to merge this soon if there are no objections. To sum it up:

The cache time for proxy objects is now basically obsolete. A proxy should get resolved the first time you ask for it, and retain its value until the interface is dismissed (or a command is executed in the case of triggers and other ways to run commands).
Because proxies don’t expire, the value won’t disappear or change if you leave it selected in the interface past the expiration.
Because proxies don’t expire, they can watch for icon changes on the resolved object and update their own icon in response. (Most noticeable with the Latest Download proxy.)
When an icon is updated, all three panes are told to redraw, which is wasteful but minimally so. And previously, we were looping over things and furiously adding/removing observers in the results list. I’m guessing that was more overhead (and it never seemed to work correctly anyway).

Also of note…
The correct cache time for a proxy is somewhere in between “too short for the user to use the thing” and “so long that the wrong thing is still there when the user grabs the proxy a second time”. In other words, it’s a complete guess that can never be correct 100% of the time.
Developers no longer have to do this guessing.

Sorry Rob I’ve been so quiet lately. I do read your messages and nod my head in agreement, so take that as me chiming in! :P

On 16 Nov 2016, at 21:55, Rob McBroom<EMAIL_ADDRESS>wrote:
Merged #2179 https://github.com/quicksilver/Quicksilver/pull/2179.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/quicksilver/Quicksilver/pull/2179#event-861102918, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJLn37Pmd4rm-14uhjbyHvz966c7u5lks5q-wtSgaJpZM4HMm_o.

Good to know. Thanks.


[BEAM-10670] Make Read execute as a splittable DoFn by default for the Java DirectRunner.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @boyuanzz
Tentative discussion in https://lists.apache.org/thread.html/r1ba6fe6ac2bd2b28aa7ef31f0d87ad716fc878f2515085fdbc275333%40<dev.beam.apache.org> but I would like to get this reviewed and be able to merge it once that discussion subsides.

Run Java PreCommit

Run JavaPortabilityApiJava11 PreCommit

Thanks for taking a look, I'm going to break this up into a few PRs to separate it from what was needed for the DirectRunner.

I split off changes that were not as releated to migrating DirectRunner over to use SDF in PRs #12547 and #12548
I have one more related to HCatalog but it is only a workaround and not a real fix.

Run Python2_PVR_Flink PreCommit

Run Python2_PVR_Flink PreCommit

I think something for :sdks:go:buildLinuxAmd64 is broken. I also got similar errors from my PR which is unexpected.

Run Java PreCommit

Run Portable_Python PreCommit

Run Python2_PVR_Flink PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

It appears as though this change has increased the volume of Java Precommit warning output ~4x.
https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/3124 lists this as the single change.
Console output for previous build is 3MB: https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/3123/console
Console output for this build is 13MB: https://ci-beam.apache.org/job/beam_PreCommit_Java_Cron/3124/consoleFull
and has lots of  entries like:
17:13:30     WARNING: Coder of type class org.apache.beam.sdk.coders.KvCoder has a #structuralValue method which does not return true when the encoding of the elements is equal.

From looking at the Nexmark tests it seems this change improved the performance of the DirectRunner in almost all queries considerably, this is interesting! I expected worse because of the extra translation but I did not see any change that made sense to me, but well I suppose this is more the consequences of previous PRs, anyway just letting this as a note.


Update Android plugin to use latest GooglePlayServices libraries

This PR will update the Gcm and Base play services libraries to the latest available versions : 42.1001.0 and will also change the required code for referencing Gms.Iid
This change is required if we want to use this plugin in any new project since the versions being used currently in the plugin are outdated.

Build errors on AppVeyor are due to it not being able to find NewtonSoft.Json
C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Newtonsoft.Json". Check to make sure the assembly exists on disk.

Try this prerelease: https://www.nuget.org/packages/Xam.Plugin.PushNotification/1.2.5-beta let me know if everything ok and will release and oficial version.

@rdelrosario Thanks ! I will give this a go over the weekend and let you know the results.
I am also looking at trying to add in cross platform FCM support.
Any thoughts on this ? Or how I should approach integrating that with this plugin and its API ?

Hi
I guess this will be a good start:
https://developers.google.com/cloud-messaging/android/android-migrate-fcm
If you will migrate GCM to FCM. But if is to support FCM also on iOS then we might require to define an extra abstraction layer so that the user can choose on iOS to use FCM or not. I don't have any concrete ideas yet but will think about it.

On Apr 13, 2017, at 12:19 AM, Rhishikesh<EMAIL_ADDRESS>wrote:
@rdelrosario Thanks ! I will give this a go over the weekend and let you know the results.
I am also looking at trying to add in cross platform FCM support.
Any thoughts on this ? Or how I should approach integrating that with this plugin and its API ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Resist session id name fingerprinting by default

The default session cookie name gives away that axum (or this specific middleware) is used:
https://github.com/maxcountryman/axum-sessions/blob/main/src/session.rs#L112
This should be changed to a generic default, like sid, id, or ses.
See also:
https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html#session-id-name-fingerprinting

Good find! Let's change it.

I believe this was addressed in #36.


get wysiwyg instance of dom element

Is it somehow possible to get the wysiwyg instance of an contenteditable dom element?
kinda like the reverse of getElement()
I'm using raw wysiwyg.js and am trying to build a custom toolbar.
It's applying toolbar to any element with given class and turns it into wysiwyg. But I'm not sure on how to apply click handlers the best way.
Thought of a "global" click event checking which editor it should apply changes, but I'm not getting the actual plugin instance when providing the nearest contenteditable.
Would be quite handy :)
PS: vanilla toolbar would be great to have, too. I think there more and more people switching to plain/vanilla js these days..

getElement() should return the contenteditable dom element (the name is a bit crapy - but I don't want to break the AP).

Aha, no..I mean reverse. Like I get a DOM element e.g. textarea and from this I would love to get the instance of wysiwyg like textarea.getAttribute('wyswig-instance') or something like that
Maybe this helps a little understanding http://stackoverflow.com/questions/29222027/vanilla-alternative-to-jquery-data-function-any-native-javascript-alternati

@wysiwygjs: @CanRau is talking about a DOM accessor, which is a traditional jQuery-plugin feature.
For example:
var $el = $('#item');
var el = document.getElementById('item');

$el.getEditor(); //=> WYSIWYG <Object>
el.getEditor() //=> WYSIWYG <Object>

@CanRau: For the time being, you might just want to nest the instance directly into your element:
var el = document.getElementById('item');
el.editor = wysiwyg({...});

el.editor; //=> Wysiwy.js <Object>

Exactly @lukeed !
Thanks, good idea, but actually I switched to CKEditor for now for various reasons...keeping an eye on wysiwyg.js


Have to focus opened files manually since the last update

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.67.0
OS Version: Windows 11

Since the last update, after left-clicking a file in explorer, I have to left-click again on the text area in order to start typing.
Otherwise it starts doing something unknown to me inside the explorer, like searching for something or doing some sort of filtering.
Basically something that I would guess is not as useful to most users as the ability to edit the file immediately upon opening it.
Steps to Reproduce:

Open a file from Explorer
Start typing

I haven't checked what pre-1.67 behaviour was, but on 1.67 you can either double-click in the first place (if you know you want to start editing the file immediately), or press Enter after the single-click.
Until you do either of those focus remains on the Explorer tree so you can type characters to filter it.
@misolori is currently exploring filtering discoverability improvements in #146806

@gjsjohnmurray I've checked several versions back, and it looks like the behavior has been like this for a while.
Sorry for spreading fake news folks.
Thanks for the helpful tips!


readme interpreter architecture overview

Added overview of YAIWR components and sequence flow.
Should render as:
sequenceDiagram
    Program->>+VM: Evaluate
    note right of VM: Defined in calc.rs
    note right of Lexer: Defined in calc.l
    VM->>+Lexer: Lexical analysis
    Lexer-->>-VM: Lexemes
    VM->>+Parser: Parse Lexemes
        note right of Lexer: Defined in calc.y
    Parser-->>-VM: AST
    VM->>Bytecode: Parse AST to bytecode
    loop foreach AST node
        Bytecode->>+Bytecode: Convert to Instruction
    end
    Bytecode-->>-VM: Bytecode Instructions
    loop foreach instuction
        VM->>+VM: Evaluate instuction
    end

I don't object, as long as you keep it up to date.
bors r+


Opensource : 6.13 Explain everything about React Native

Description 📜
Opensource : 6.13 Explain everything about React Native
NOTE 👇
Please put your doc 6.Popular_Projects with the name 6.13_React_Native.md

Domain
Open Source
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

I would like to work on this issue, please assign me this issue.

@HassanRahim26  Assigned, Happy Learning 🙂

@HassanRahim26  Any updates on this?

It'll be completed today.


Chat Panel Green arrow Dock and Collapse functionality

The green arrow on the chat panel will completely close the panel. I think if the user has resized the chat panel then the first click should dock it back to it's normal size. Then if clicked once docker it should collapse the panel.

Closed by https://github.com/samtecspg/articulate/commit/4d051a621cd26aa37142bce06b5d73cc45d75679


CSS instructions were not included

The HTML file in the example references a site.css file, but the rest of the instructions did not include the CSS, which makes the finished code look weird since the edit form is not hidden at the beginning

Thank you for your help with this, @intrepion!


Connection details drawer

I couldn't use the QuickStarts Help feature for this, I had to write my custom drawer. Because this new drawer is nested inside the in-app help from the QuickStarts package, it was breaking the layout of the page, so I had to come up with some CSS styling to make it work. Unfortunately, this fix make it impossible to use the inline style of the drawer, so I made it an overlay.


Remove effect theme.

Description
Good day. I love so much your app, but I cry when theme which use remove if I swich another window or click empty place. If you fix it on next rev this application I will so happy. Thank you for your work its awesome app. Good luck for your development and we loving you)
Steps To Reproduce
Theme effect disappears when switching between windows. I use theme Glass.
Expected behavior
Permanent theme effect.
Files Version
<IP_ADDRESS>
Windows Version
Windows 11 Pro 21H2
Relevant Assets/Logs
https://user-images.githubusercontent.com/73193639/178598969-a8ac1905-7c2e-42d7-8a5c-b7467e3e0abf.mp4

This behavior is done by the OS. We can't do much about it.


Update README.md

Add paper: O-1: Self-Training with Oracle and 1-best Hypothesis

Hi @somniumism ! The changes from the pull request have been approved and integrated. Additionally I have also added a link to the official INTERSPEECH paper from ISCA.


Merge this project with undo/redo branching.

Hello, very nice idea.
Please collaborate with https://github.com/paradoxxxzero/atom-undo-tree.
It would be quite powerful and extremely cool to visualize a tiny-ish tree of the typing history, and mix the finger pattern with navigation on the undo/redo branches !
A simple DAG would suffice for a start.
This is a feature not so important in an editor, but maybe hopefully one day it will be integrated in firefox with tab tree views and be so great :)
Merci déjà

I have no idea what you are talking about but feel free to send a PR, I’ll review it


initial runner map api

The Usage looks something like this:
from metaflow import metaflow_runner

params = [{'alpha': 40}, {'alpha': 20}, {'alpha': 10}, {'alpha': 30}]
with metaflow_runner.Pool('../try.py', num_processes=2) as pool:
    results = pool.map(params)
    for i in results:
        print(i)

where the contents of try.py for the example are:
import time
from metaflow import FlowSpec, Parameter, step

class ParameterFlow(FlowSpec):
    alpha = Parameter('alpha',
                      help='Time to Sleep',
                      default=1)

    @step
    def start(self):
        print('alpha is %f' % self.alpha)
        print(f"Let me sleep for {self.alpha} seconds")
        time.sleep(self.alpha)
        self.next(self.end)

    @step
    def end(self):
        print('alpha is still %f' % self.alpha)

if __name__ == '__main__':
    ParameterFlow()

In the above example, the runs are executed 2 at a time. The order of them being completed is:

run that sleeps for 20 seconds
run that sleeps for 10 seconds
run that sleeps for 40 seconds
run that sleeps for 30 seconds

The total running time is 60 seconds. This is as follows:

40 seconds that includes

run for 20 seconds
run for 10 seconds
10 seconds of the run for 30 seconds

last 20 seconds of the run for 30 seconds

Assumptions:

Considering the use-case of Controlling and not Authoring metaflow runs... at least for now...
Only accept a file which contains the flow, and not an instance of the class which is derived from FlowSpec
Multiple concurrent runs can be spin off with the API

Things that need to be discussed

What other stuff should the API accept? (Eg: more environment variables, other options such as --with, etc.)
This is only the API for Pool, what about just Run?
What should a successful run return? Currently, we return the status code...

If the run is supposed to produce some data / artefact, how can we pass that further?
Eg: this API is used as a step in some flow to produce an artefact which is consumed and used by another step

Error handling / Crashing aspects...

I'm not going to comment on the implementation (which is fairly straightforward at this time anyways) because I want to align on some UX things first.
These are my initial thoughts on this but feel free to disagree with anything:

I think for the initial scope, we can restrict to basically the run command (so python myflow.py ... run ...). We should, however, try to design a UX that is then extensible to other command line options (resume, dump, step-functions, etc.) that are "flow based" and we can then later also take care of the "metaflow xyz" command line (although that one can probably be addressed in a different way so I am excluding it from too much consideration for now.
It doesn't feel like the current UX would extend to these other options. It is not so much a UX wrapping the "run" command but more an abstraction even on top of that that takes care of parallel executions of flows. In other words, I think the concept of having something like with Pool(...) is great, it should probably be built on top of a more direct overlay on the "run" CLI.
One aspect that I feel may be important to capture is the hierarchical nature of the command line (or at least it would be closer to what click does which means it may be easier to map functionality. For example, one option could be the following:

mf_cli = MetaflowCli(flow_file="myflow.py", environment="conda")
mf_cli.run(max_workers=5, alpha=123)

Not saying something exactly like this but this more cleanly maps to what we have for click and doesn't feel too un-natural (you have a Cli object -- or call it something else -- and from there you can run with various options exactly like you would on the command line). We can separately argue if we want to infer "environment" for example but that's a separate conversation :). Anyways, hopefully this shows the idea of having a multi level approach that maps more closely to click and can support any arbitrary options. It could be a very thin layer and should be reusable for various commands.

I also think that mf_cli.run should return immediately something akin to a future but also akin to the client's Run object. We could (with some modifications) actually return a Run object and you could do something like this:

my_run = mf_cli.run(max_workers=5, alpha=123)
while not my_run.finished
  ...

(note this is probably not a good idea since it can loop forever but you get the idea). We should also seriously revisit some of these status things (we had a long conversation in the past about this but it may become more useful as part of this as well -- for example, we can actually return a better "finished" value here because we know if the subprocess dies/goes away and so it may not run forever :)).
You could also get the log, etc. We could consider adding other functions to list things like "in process steps" for example or what not. Basically it's an object that has value during execution as well as after. If we want to use a recent analogy, it's like a "dynamic card" (it updates through the execution and is then frozen at the end of execution.

With something like that, it then becomes quite easy to write a Pool abstraction on top of it by having the async workers do something akin to what is above and just loop around until it is finished. As discussed, Pool should also return Run objects.

The usage looks something like this, we can of-course pass blocking as True if we wanna wait...
with metaflow_runner.Runner('../try.py') as runner:
    result = runner.run(params={'alpha': 1}, blocking=False)
    print(result) # this is the Run object
    while not result.finished:
        print("waiting for run to finish...")
        time.sleep(1)

or perhaps...
mf = metaflow_runner.Runner('../try.py')
result = mf.run(params={'alpha': 1}, blocking=False)
print(result) # this is the Run object
while not result.finished:
    print("waiting for run to finish...")
    time.sleep(1)

We also have a Pool API such as:
params = [{'alpha': 40}, {'alpha': 20}, {'alpha': 10}, {'alpha': 30}]
with metaflow_runner.Pool('../try.py', num_processes=2) as pool:
    results = pool.map(params, blocking=False) # these are the Run objects
    for each_run_obj in results:
        print(each_run_obj)

Pushed out a subprocess manager that allows us to tail logs via streaming them into a queue first...
The higher level runner API uses this subprocess manager...
An example of how the higher level UX is as follows:
import asyncio
from metaflow import metaflow_runner

async def main():
    with metaflow_runner.Runner('../try.py',  metadata="local") as runner:
        result = await runner.run(blocking=False, alpha=5, tags=["abc", "def"], max_workers=5)
        print(result) # this is the Run object
        print(result.finished) # this should be False
        await runner.tail_logs(stream="stdout")
        print(result.finished) # this should be True

        # the below can also be done...

        # while not result.finished:
        #     print("waiting for run to finish...")
        #     `asyncio.sleep(0.1)` or perhaps `time.sleep(0.1)`

if __name__ == "__main__":
    asyncio.run(main())

the output looks like:
Run('ParameterFlow/1710272507865687')
False
2024-03-13 01:11:47.872
Workflow starting (run-id<PHONE_NUMBER>865687):
2024-03-13 01:11:47.878 [1710272507865687/start/1 (pid 85339)] Task is starting.
2024-03-13 01:11:48.081 [1710272507865687/start/1 (pid 85339)] alpha is 5.000000
2024-03-13 01:11:53.112 [1710272507865687/start/1 (pid 85339)] Let me sleep for 5 seconds
2024-03-13 01:11:53.114
[1710272507865687/start/1 (pid 85339)] Task finished successfully.
2024-03-13 01:11:53.121 [1710272507865687/end/2 (pid 85381)] Task is starting.
2024-03-13 01:11:53.359 [1710272507865687/end/2 (pid 85381)] alpha is still 5.000000
2024-03-13 01:11:53.393 [1710272507865687/end/2 (pid 85381)] Task finished successfully.
2024-03-13 01:11:53.394 Done!
True

The latest usage looks like this:
import time
import asyncio
from metaflow import metaflow_runner

async def main():
    async with metaflow_runner.Runner('../try.py',  metadata="local") as runner:
        # returns immediately
        result = await runner.run(alpha=5, tags=["abc", "def"], max_workers=5)

        # can access properties of metaflow's Run object..
        print(result.finished)
        while not result.finished:
            print("waiting for run to finish...")
            time.sleep(1)
        print(result.successful)

        # can access properties of the CommandManager as well..
        print(result.log_files)

        await result.wait()
        await result.wait(timeout=2)
        await result.wait(stream="stderr")
        await result.wait(stream="stderr", timeout=3)

        async for _, line in result.stream_logs(stream="stdout"):
            print(line)

if __name__ == "__main__":
    asyncio.run(main())

New Higher Level UX:
import time
import asyncio
from metaflow import metaflow_runner

if __name__ == "__main__":

    # sync version that calls run() directly
    with metaflow_runner.Runner('../try.py', metadata="local").run(alpha=5, tags=["abc", "def"], max_workers=5) as result:
        print(result.run.finished)
        print(result.stdout)

    # sync version using runner
    with metaflow_runner.Runner('../try.py', metadata="local") as runner:
        result = runner.run(alpha=5, tags=["abc", "def"], max_workers=5)
        print(result.run.finished)
        print(result.stdout)

    # async version that calls async_run() directly
    async def async_run_directly():
        with await metaflow_runner.Runner('../try.py', metadata="local").async_run(alpha=5, tags=["abc", "def"], max_workers=5) as result:
            print(result.run.data)
            print(result.run.finished)

            print(result.stdout)
            time.sleep(3)
            print(result.stdout)

            print((await result.wait()).stdout)
            # OR we can also do:
            #    await result.wait()
            #    print(result.stdout)

            while not result.run.finished:
                print("waiting for run to finish...")
                time.sleep(1)
            print(result.run.successful)

            print((await result.wait(timeout=3, stream="stdout")).run.data)
            print(result.run.finished)

            await result.wait(timeout=3, stream="stdout")

            async for _, line in result.stream_logs(stream="stdout"):
                print(line)

    asyncio.run(async_run_directly())

    # async version using runner
    async def async_runner():
        async with metaflow_runner.Runner('../try.py', metadata="local") as runner:
            result = await runner.async_run(alpha=5, tags=["abc", "def"], max_workers=5)

            print(result.run.data)
            print(result.run.finished)

            print(result.stdout)
            time.sleep(3)
            print(result.stdout)

            print((await result.wait()).stdout)
            # OR we can also do:
            #    await result.wait()
            #    print(result.stdout)

            while not result.run.finished:
                print("waiting for run to finish...")
                time.sleep(1)
            print(result.run.successful)

            print((await result.wait(timeout=3, stream="stdout")).run.data)
            print(result.run.finished)

            await result.wait(timeout=3, stream="stdout")

            async for _, line in result.stream_logs(stream="stdout"):
                print(line)

    asyncio.run(async_runner())


Use reference counting for InspectorDartAgentDartServiceRequest instead of manual memory management

Use reference counting for InspectorDartAgentDartServiceRequest instead of manual memory management

Seems stale to me.


Can you provide an example to merge(or mix) multiple audio stream(buffer) into one track?

I'm using a client, it uses a package says it Only support PCM 16bit Mono
When I receive it in rust, it becomes Vec<u8>
[253, 255, 47, 0, 34, 0, 39, 0, 49, 0, 64, 0, 35, 0, 60, 0, 52, 0, 70, 0, 41, 0, 31, 0, 53, 0, 15, 0, 25, 0, 10, 0, 27, 0, 7, 0, 13, 0, 10, 0, 6, 0, 22, 0, 251, 255, 14, 0, 23, 0, 16, 0, 11, 0, 20, 0, 30, 0, 17, 0, 18, 0, 34, 0, 20, 0, 28, 0, 11, 0, 7, 0, 7, 0, 32, 0, 3, 0, 19, 0, 249, 255, 15, 0, 255, 255, 23, 0, 13, 0, 21, 0, 15, 0, 11, 0, 13, 0, 6, 0, 18, 0, 5, 0, 10, 0, 249, 255, 235, 255, 246, 255, 219, 255, 224, 255, 221, 255, 203, 255, 215, 291, 255, 186, 255, 192, 255, 186, 255, 205, 255, 187, 255, 207, 255, 182, 255, 214, 255, 185, 255, 227, 255, 187, 255, 212, 255, 202, 255, 215, 255, 197, 221, 255, 197, 255, 218, 255, 206, 255, 211, 255, 239, 255, 228, 255, 221, 255, 211, 255, 204, 255, 201, 255, 206, 255, 211, 255, 203, 250]

use tonic::{transport::Server, Request, Response, Status};

use hello_world::greeter_server::{Greeter, GreeterServer};
use hello_world::{Empty, HelloReply, HelloRequest, VoiceReply, VoiceRequest};

pub mod hello_world {
    tonic::include_proto!("helloworld"); //This is the package name?
}

use futures::stream::StreamExt;
use std::pin::Pin;
use tokio::sync::broadcast;
use tokio_stream::wrappers::BroadcastStream;
use tokio_stream::Stream;

// #[derive(Debug, Default)]
#[derive(Debug)]
pub struct MyGreeter {
    sender: broadcast::Sender<VoiceReply>,
    // receiver: broadcast::Receiver<VoiceReply>,
}

#[tonic::async_trait]
impl Greeter for MyGreeter {
    async fn send_voice(
        &self,
        request: Request<tonic::Streaming<VoiceRequest>>,
    ) -> Result<Response<Empty>, Status> {
        println!("\n\ngot voice: {:?}", request);

        let mut stream = request.into_inner();
        while let Some(data) = stream.next().await {
            // println!("got data: {:?}", data);
            let data = data.expect("error for data");
            self.sender
                .send(VoiceReply { voice: data.voice })
                .expect("sender: it should voice to receiver sent successfully");
        }

        let reply = hello_world::Empty {};
        Ok(Response::new(reply))
    }

    type GetVoiceStream =
        Pin<Box<dyn Stream<Item = Result<VoiceReply, Status>> + Send + Sync + 'static>>;

    async fn get_voice(
        &self,
        request: Request<Empty>,
    ) -> Result<Response<Self::GetVoiceStream>, Status> {
        println!("\n\nrequest voice: {:?}", request);
        // let Empty {} = request.into_inner();

        let rx = self.sender.subscribe();
        let stream = BroadcastStream::new(rx)
            .filter_map(|res| async move { res.ok() })
            .map(Ok);
        let stream: Self::GetVoiceStream = Box::pin(stream);
        let res = Response::new(stream);

        Ok(res)
    }
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let (tx, mut _rx) = broadcast::channel(16);

    let address_string = "<IP_ADDRESS>:40051";
    let addr = address_string.parse()?;

    let greeter = MyGreeter {
        sender: tx,
        // receiver: rx,
    };

    println!("Server is running on http://{} ...", address_string);

    Server::builder()
        .add_service(GreeterServer::new(greeter))
        .serve(addr)
        .await?;

    Ok(())
}

I would love to merge all of those incoming audio together in real-time, what should I do?

Thanks for opening this issue!
I just created:
https://github.com/ardaku/fon/blob/4e48fbed2114b8b47b4ed8d62750c29617fb2b6d/examples/mix.rs
Which mixes two audio files in RAW Stereo 32-Bit Float PCM one at 44.1k and one at 48k into a final 48k audio file (same format).  It's not as simple as I had thought it would be, so there's some work to be done in the library (thanks for helping me find it!).  Most likely I will add the Mixer struct to fon in place of AudioSink.
Let me know if this answers your question, or if you have any follow-up questions.

Since this question has been open for over a week with no activity, I'm closing it.  Feel free to re-open if you think it hasn't been answered properly.


[1.20.1]Crash report

Describe the bug
Crash when start up
To Reproduce
Expected behavior
Screenshots
Affected version

Mod version 1.20.1-0.8
Forge version 47.3.22
Minecraft version 1.20.1

Environment:

Additional mods used
Modpack name if its a public modpack

Logs
crash-2024-12-24_17.09.44-client.txt
Additional context

Does this error occur on every start-up or just sometimes?

Every start-up( i already tried 10 times)

Hmm... Okay. Later today (in 3 hours) I will give you a special test version. Can you then tell me if the error is fixed?

i need go sleep later so i cant reply you until tomorrow

Hmm okay. Then give me 5min.

Here is the zip with the test file. If this doesnt work, then i will copntinue working on it later. (I am currently still at work thats why i only have limited time right now)
botanicpledge-1.20.1-0.8_ZIP.zip

it working

Okay. Thank you then I will close this issue now that it's working


feature: analyzer for network policies

Checklist:

[x] I've searched for similar issues and couldn't find anything matching
[ ] I've discussed this feature in the #k8sgpt slack channel

Is this feature request related to a problem?

[x] Yes
[ ] No

if you set deny-all nw-policies for your namespaces per default and you need to define each allow-policy it could be really frustrating when your frontend service cannot connect to the backend service. you need to check

is the policy correct (labels, indents, ports, ..)
is the backend service responsive
run some curl/wget command in the frontend service, which you probably don't have, attach debug containers, ...

Describe the solution you'd like
in the first place we could check if the "from" and "to" selectors in network policies match existing objects, probably also checking targetPorts
Benefits for the project and its users
analyzing network policy issues gets simpler
Potential drawbacks

Additional context

Good idea to add network policies analyzer 👍
But I'm not sure as a user I would like k8sgpt to execute anything on my cluster. It remains to be seen what the community thinks, but I like the idea that k8sgpt only performs read analysis on objects.

the read only checks have been implemented in this PR, shall we close the ticket?

Should be solved with #267


[connect modal] Metamask option not showing

Even if I have already connected to metamask, the option is not showing up in the modal

We'd be happy to look into this for you. kindly file a support ticket below
https://forms.gle/Wmpm6NLzYm9uXYuU9

This was related to having multiple wallet extensions and related conflicts.


exposed content_type in rest_command

Description:
Currently, rest_command does not allow you to config the request content type, which runs afoul of more strict api end points.
Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#2430
Example entry for configuration.yaml (if applicable):
# Example configuration.yaml entry
rest_command:
  example_request:
    url: 'http://example.com/'
    content_type: 'text/plain'

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Hi @cmsimike,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

I hope to address these comments tomorrow as I am about to step out for the night. Thanks!!

@pvizeli I hope to have addressed all your comments.

@pvizeli I believe your concerns have been addressed. I am not sure if there is a more official way for me to mark this as done.

Done 2: code boogaloo


Stylecop rules cleanup

Description
This PR updates the StyleCop code quality ruleset for the Steeltoe codebase. I ran into several bugs using the stable version of StyleCop (which is over 2 years old) and found it doesn't play nice with modern language features such as file-scoped namespaces. Therefore I've chosen to use the latest preview version.
In preparation for switching to Resharper Cleanup Code (to automatically reformat code with a key-press or /azp command), most of the rules concerning whitespace and line breaks have been turned off. See the table below for details.
Besides refreshing the StyleCop ruleset and fixing several existing violations, this PR also fixes spelling errors in doc-comments and identifiers (thanks to the Resharper built-in spell checker).
Another notable breaking change is aligning the casing convention used in type/member names to match with StyleCop and .NET Naming Guidelines. As it turns out, using ALL_CAPS names in .NET is so uncommon that StyleCop doesn't even check for that. Resharper is more robust in name checking. To support existing file formats expecting ALL_CAPS enumeration members, type converters have been added to avoid breaking that in loading appSettings and JSON serialization.
The next table lists the new naming conventions:

The customization at the end is to satisfy StyleCop. This isn't documented anywhere, probably because exposing fields is an anti-pattern anyway (should use properties instead for backwards compatibility).
Requiring exposed types/members to be documented is turned off, there are simply too many existing violations. This may be turned on in the future after an effort to properly document everything, however there's the risk of Undocumentation. Nevertheless, when doc-comments are being used, they are checked for correctness.
Another change is that this PR moves all types into separate files and updates filenames to match their types. But it was done using Resharper automation (the StyleCop fixer generates broken code). Variations in generic arity can be kept in the same file, for example MessageConverter.cs contains both MessageConverter, MessageConverter<T> and MessageConverter<TInput, TOutput>.

Category, Rule

Title
Default
Steeltoe
PR-Debug
PR-Release
Future
Resharper?
Notes

C# Compiler

CS1591
Missing XML comment for publicly visible type or member
Warning
None
Project:None

(Info+Warning)?

Possibly undesirable, in order to prevent undocumentation

SA1601
Partial elements should be documented
Warning
None

Possibly undesirable, in order to prevent undocumentation

SA1602
Enumeration items should be documented
Warning

None

(Info+Warning)?

Possibly undesirable, in order to prevent undocumentation

SA1604
Element documentation should have summary
Warning

SA1605
Partial element documentation should have summary
Warning

SA1606
Element documentation should have summary text
Warning

SA1607
Partial element documentation should have summary text
Warning

SA1608
Element documentation should not have default summary
Warning

SA1609
Property documentation should have value
None

Questionable rule: often results in undocumentation

SA1610
Property documentation should have value text
Warning

SA1611
Element parameters should be documented
Warning

Questionable rule: sometimes results in undocumentation

SA1612
Element parameter documentation should match element parameters
Warning

SA1613
Element parameter documentation should declare parameter name
Warning

SA1614
Element parameter documentation should have text
Warning

SA1615
Element return value should be documented
Warning

None

Questionable rule: often results in undocumentation

SA1616
Element return value documentation should have text
Warning

SA1617
Void return value should not be documented
Warning

SA1618
Generic type parameters should be documented
Warning

SA1619
Generic type parameters should be documented partial class
Warning

SA1620
Generic type parameter documentation should match type parameters
Warning

SA1621
Generic type parameter documentation should declare parameter name
Warning

SA1622
Generic type parameter documentation should have text
Warning

SA1623
Property summary documentation should match accessors
Warning

SA1624
Property summary documentation should omit accessor with restricted access
Warning

SA1625
Element documentation should not be copied and pasted
Warning

SA1626
Single-line comments should not use documentation style slashes
Warning

SA1627
Documentation text should not be empty
Warning

SA1629
Documentation text should end with a period
Warning
None
Warning

SA1633
File should have header
Warning

SA1634
File header should show copyright
Warning

} ^1 These effectively are no-ops using our settings, but the

SA1635
File header should have copyright text
Warning

} ^1 analyzers are smart enough to skip analysis, so leave on

SA1636
File header copyright text should match
Warning

} ^1

SA1637
File header should contain file name
Warning

} ^1

SA1638
File header file name documentation should match file name
Warning

} ^1

SA1639
File header should have summary
None

Pointless to require summary per file

SA1640
File header should have valid company text
Warning

} ^1

SA1641
File header company name text should match
Warning

} ^1

SA1642
Constructor summary documentation should begin with standard text
Warning

Questionable rule: results in undocumentation if no params

SA1643
Destructor summary documentation should begin with standard text
Warning

None

Questionable rule: always results in undocumentation

SA1648
inheritdoc should be used with inheriting class
Warning

InspectCode

SA1649
File name should match first type name
Warning

None

R# Refactoring
Similar to AV1506

SA1651
Do not use placeholder elements
Warning

Alternatives

SX1101
Do not prefix local calls with 'this.'
None

CleanupCode
Alternative for SA1101

SX1309
Field names should begin with underscore
None
Warning

InspectCode
Alternative for SA1309, applies only to private instance fields

SX1309S
Static field names should begin with underscore
None

InspectCode
Alternative for SA1309, applies only to private, static, non-readonly fields

Quality checklist

[x] Your code complies with our Coding Style.
[x] You've updated unit and/or integration tests for your change, where applicable.
[x] You've updated documentation for your change, where applicable.
If your change affects other repositories, such as Documentation, Samples and/or MainSite, add linked PRs here.
[ ] N/A: There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.
[x] You've added required license files and/or file headers (explaining where the code came from with proper attribution), where code is copied from StackOverflow, a blog, or OSS.

Category, Rule

Title
Default
Steeltoe
PR-Debug
PR-Release
Future
Resharper?
Notes

C# Compiler

CS1591
Missing XML comment for publicly visible type or member
Warning
None
Project:None

(Info+Warning)?

Possibly undesirable, in order to prevent undocumentation

SA1601
Partial elements should be documented
Warning
None

Possibly undesirable, in order to prevent undocumentation

SA1602
Enumeration items should be documented
Warning

None

(Info+Warning)?

Possibly undesirable, in order to prevent undocumentation

SA1604
Element documentation should have summary
Warning

SA1605
Partial element documentation should have summary
Warning

SA1606
Element documentation should have summary text
Warning

SA1607
Partial element documentation should have summary text
Warning

SA1608
Element documentation should not have default summary
Warning

SA1609
Property documentation should have value
None

Questionable rule: often results in undocumentation

SA1610
Property documentation should have value text
Warning

SA1611
Element parameters should be documented
Warning

Questionable rule: sometimes results in undocumentation

SA1612
Element parameter documentation should match element parameters
Warning

SA1613
Element parameter documentation should declare parameter name
Warning

SA1614
Element parameter documentation should have text
Warning

SA1615
Element return value should be documented
Warning

None

Questionable rule: often results in undocumentation

SA1616
Element return value documentation should have text
Warning

SA1617
Void return value should not be documented
Warning

SA1618
Generic type parameters should be documented
Warning

SA1619
Generic type parameters should be documented partial class
Warning

SA1620
Generic type parameter documentation should match type parameters
Warning

SA1621
Generic type parameter documentation should declare parameter name
Warning

SA1622
Generic type parameter documentation should have text
Warning

SA1623
Property summary documentation should match accessors
Warning

SA1624
Property summary documentation should omit accessor with restricted access
Warning

SA1625
Element documentation should not be copied and pasted
Warning

SA1626
Single-line comments should not use documentation style slashes
Warning

SA1627
Documentation text should not be empty
Warning

SA1629
Documentation text should end with a period
Warning
None
Warning

SA1633
File should have header
Warning

SA1634
File header should show copyright
Warning

} ^1 These effectively are no-ops using our settings, but the

SA1635
File header should have copyright text
Warning

} ^1 analyzers are smart enough to skip analysis, so leave on

SA1636
File header copyright text should match
Warning

} ^1

SA1637
File header should contain file name
Warning

} ^1

SA1638
File header file name documentation should match file name
Warning

} ^1

SA1639
File header should have summary
None

Pointless to require summary per file

SA1640
File header should have valid company text
Warning

} ^1

SA1641
File header company name text should match
Warning

} ^1

SA1642
Constructor summary documentation should begin with standard text
Warning

Questionable rule: results in undocumentation if no params

SA1643
Destructor summary documentation should begin with standard text
Warning

None

Questionable rule: always results in undocumentation

SA1648
inheritdoc should be used with inheriting class
Warning

InspectCode

SA1649
File name should match first type name
Warning

None

R# Refactoring
Similar to AV1506

SA1651
Do not use placeholder elements
Warning

Alternatives

SX1101
Do not prefix local calls with 'this.'
None

CleanupCode
Alternative for SA1101

SX1309
Field names should begin with underscore
None
Warning

InspectCode
Alternative for SA1309, applies only to private instance fields

SX1309S
Static field names should begin with underscore
None

InspectCode
Alternative for SA1309, applies only to private, static, non-readonly fields

/azp run Steeltoe.All


Get & Update guid referents & add addon file comments

Purpose:
Make guids for addon files remain the same when an addon file/folder is moved or renamed. This will make addon file comments remain on the file even if it is moved/renamed.
Fixes https://openscience.atlassian.net/browse/OSF-5573
Changes:
This PR allows comments on all of our storage addons. It also handles making sure comments "move" with addon files when they are moved/renamed or a parent folder is moved/renamed:

Get file guids by looking up the file's StoredFileNode, or by searching for all StoredFileNodes starting with the folder's materialized path.

Update the Guid.referent to the new stored file node

If a file is being moved between nodes & has comments, update the node field for those comments to the destination node.

Note this PR requires #5104 to be merged so that guids that belong to deleted StoredFileNodes are not updated

Initial pass finished. After you have it working again and have responded to these items, let's take another look at the demo, and then I'll do a follow-up pass. Most of it's minor, with one medium-difficulty refactor, and one big request.

Done making those changes @brianjgeiger! :sunny: I'll remove Node.commented_files in a separate PR.

As discussed in person, see if you can find a file rename test in the API tests and add an assert to verify that the file guid doesn't change. It's not necessarily a blocker if it doesn't, but we will want to know for sure.

@brianjgeiger, there doesn't seem to be any API tests for renaming files

Harrumph.

Could you make a note to QA to have them verify that?

Sure!

Sure!


Microphone Package/Library Isn't Supported on Windows

What is the current behavior?
I am trying to run the live streaming examples for async_http and async_microphone. It only prints 'Could not open socket:' and exits. I have also run synchronous code and it is running as expected.
Steps to reproduce
run python examples/streaming/async_http/main.py
Expected behavior
Could not open socket:
Please tell us about your environment
Windows 11, Python 3.11.5
Other information

Hi @hasanshahid5678
Unfortunately, the Microphone package is not supported on Windows:
https://github.com/deepgram/deepgram-python-sdk/tree/main/examples/streaming/microphone
It's on the list to look at and I believe it's mostly a configuration issue. Just need to dedicate time to it.

And I was only able to run aync_http using wsl terminal.

Yes, all of the async examples include code specific to *nix operating systems to demonstrate exiting the application gracefully from a signal termination.If you remove that part of the example, they should run in windows.
All of the threaded examples don't require that OS dependent termination. If you can run the threaded clients, they can be using in async classes/functions/code and they also are also better for IO-performant applications like websocket.

If I want to send a message through web sockets to the web, can I still use threaded example. If yes, please tell me how because await websocket.send() can only be used under async functions

You can use both. If you want to use the async example, just remove the *nix specific signal handling.


Project Level 5 issue with input

Summary
When I run Main5.java, it takes in the wrong number of inputs.
Screenshots (if any):
Is this related to the extra/unnecessary service times?
CC sample run (test5_1):

My sample run (test5_1):
The program runs before the last line of input can even be typed (the last 1.0).

hi yes i think bc not all the serviceTime inputs will be needed, as seen from this paragraph below


Fix the start and end locations of Tuple

This PR fixes the start and end locations of Tuple.
Current:
(1, 2, 3)
 ^-----^
 doesn't include ()

Fixed:
(1, 2, 3)
^-------^
includes ()

thanks @harupy!

@DimitrisJim Thanks for the merge!


FilesCommunity.FilesPreview version <IP_ADDRESS>

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

This will have the VClib issue like https://github.com/microsoft/winget-pkgs/pull/184766 and will need to be manually validated

Automatic Validation ended with:

Installation failed with exit code -1978334972
2024-11-18 14:37:58.408 [CORE] Deployment operation #2: Windows cannot install package FilesPreview_<IP_ADDRESS>_x64__1y0xx7n9077q4 because this package depends on a framework that could not be found. Provide the framework "Microsoft.WindowsAppRuntime.1.5" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 5001.311.2039.0, along with this package to install. The frameworks with name "Microsoft.WindowsAppRuntime.1.5" currently installed are: {Microsoft.WindowsAppRuntime.1.5_5001.275.500.0_x64__8wekyb3d8bbwe Microsoft.WindowsAppRuntime.1.5_5001.275.500.0_x86__8wekyb3d8bbwe}
2024-11-18 14:37:58.408 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(161)\WindowsPackageManager.dll!00007FFBDEB53F75: (caller: 00007FFBDEAAA720) Exception(2) tid(17f8) 80073CF3 Package failed updates, dependency or conflict validation.
2024-11-18 14:37:58.522 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFBDEB52D2F: (caller: 00007FFBDEB5432C) Exception(3) tid(17f8) 80073CF1 Package was not found.
2024-11-18 14:37:58.523 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(126)\WindowsPackageManager.dll!00007FFBDECC8931: (caller: 00007FFBDEB55853) LogHr(2) tid(17f8) 80073CF1 Package was not found.
Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFBDEB52D2F: (caller: 00007FFBDEB5432C) Exception(3) tid(17f8) 80073CF1 Package was not found.
2024-11-18 14:37:58.533 [CLI ] MSIX installer failed:<PHONE_NUMBER>

Automated error analysis suggests -1978334972 may mean This package has a dependency missing from your system.
Automated error analysis suggests<PHONE_NUMBER> may mean Error Installing Dependency - Windows cannot install this package because it depends on a framework (version) that could not be found.
(Automated response - build 897.)

@stephengillie can you manually validate this like you did for the stable version of Files.

Manual Validation ended with:

2024-11-19 12:20:25.339 [CLI ] MSIX installer failed:<PHONE_NUMBER> 12:20:25 PM:  finished with exit code: -1978334972

Automated error analysis suggests -1978334972 may mean This package has a dependency missing from your system.
Automated error analysis suggests<PHONE_NUMBER> may mean Error Installing Dependency - Windows cannot install this package because it depends on a framework (version) that could not be found.
(Automated response - build 897.)

I see it that WinAppSDK 1.5.8 isn't on here, is the someone that normal adds them or should I add it?

Closing as <IP_ADDRESS> will be released in a few days, the should be less preview update after too.