Remove users and delete //third_party/khronos headers

This stops using the GL/EGL/etc headers in //third_party/khronos on all
platforms and deletes them.  On Android, we use the EGL and OpenGL
headers from the Android NDK and define the enum values from the
following extensions if the platform does not provide them:
https://www.khronos.org/registry/egl/extensions/NV/EGL_NV_post_sub_buffer.txt
https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_create_context_robustness.txt
On Linux we just need to know enough to talk to X in the theoretical
case that we want to swap OSMesa-produced pixels to an X window.
On Mac/iOS we're already using the headers from the relevant Framework

This pull-request includes the commit from https://github.com/domokit/sky_engine/pull/1001 as I'm not sure how to do a PR relative to another one otherwise.  I'll only merge the second commit (4e39314 in this PR) once #1001 lands.

LGTM


chore: update Datadog to otel 0.26

Fixes #118
Changes

updated Datadog to use OTel 0.26
changed version management of OTel dependencies to workspace

Merge requirement checklist

[x] CONTRIBUTING guidelines followed
[x] Unit tests added/updated (if applicable)
[ ] Appropriate CHANGELOG.md files updated for non-trivial, user-facing changes
[ ] Changes in public API reviewed (if applicable)

Hi, any idea when the new version of the crate will be published, so that we can update all the opentelemetry dependencies together with datadog? Thanks!


Remove JsonEqual

Which issue does this PR close?

Closes #2296.
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

This is a nice change -- thank you @viirya  and @tustvold

Thanks @tustvold @alamb


Multiline trailing enum comments indented poorly

Example output:
                match x {
                    Some(function_type) => some_val,
                    None => unreachable!(), // A function with unknown type is called.
                    // If this happened the compiler would have aborted the
                    // compilation long ago.
                };

Should be a relatively easy fix. Willing to mentor anyone wanting to dive into the guts of rustfmt.

Hey! I've been learning my way around Rust since it's inception. Any chance I could get in on this issue? Just not 100% sure where to start.

Hi @kingscott, yes! That would be awesome!
I would start by reading visit_enum and format_variant_list and trying to work out how they work: https://github.com/rust-lang-nursery/rustfmt/blob/master/src/items.rs#L628
If you have questions, ping me on irc - I'm nrc there too.
iiuc, this call to itemize_list is reponsible for finding and formatting comments:https://github.com/rust-lang-nursery/rustfmt/blob/master/src/items.rs#L679 But you will need to have an explore and experiment to work out exactly what is going on.
I'm not totally clear on the best way to fix this tbh, @marcusklaas did you have a specific plan in mind?

Hello @nrc! I will try and wrap my head around those. What are some options for going about the experimentation?

I would make a test file to use as input with just the match expression in it and see how different kinds of comment look and see if you can work out what how the code makes it happen, insert printlns to see what the intermediate results are, change the code and see how that affects the output, etc.

@kingscott  Whoops! I realise I gave you completely incorrect pointers - those are for enum definitions not for match statements, sorry.
You should look at rewrite_match_arm_comment (https://github.com/rust-lang-nursery/rustfmt/blob/master/src/expr.rs#L694) and it's callers.

If you wanted to start with some easy refactoring, you could move our formatting of matches out into its own file, feels like there is enough code dealing with matches to warrant it's own module.

Making a test file and taking the function, per say, as the test input? Hmm, a little unsure on the functions I need to abstract, not completely familiar with the program/file structure yet.

No, I would use the test case in the first comment as the data in the test file (you'll need to wrap it in fn main() {}, but note that rustfmt input doesn't need to be valid Rust, it just needs to parse).

Hey gents! Sorry about the huge delay on this, exams are coming and a school project is consuming most of my time. I'm still 100% interested in working on some rustfmt stuff. I'll be on break in a couple weeks and I'll dive right in...is this still doable?

No worries! This is still open. Take your time and let us know if you need any guidance :-)

Thanks! @marcusklaas

I'm not sure how this should be formatted.
Consider:
    match x {
        Some(function_type) => some_val,
        None => unreachable!(), // A function with unknown type is called.
        // What if this comment belongs to the next arm?
        What => some_other_val,
    };

in this case the formatting could be correct (all tough it is probably poor coding style), according to this rule in the source code:
// inter-match-arm-comment-rules:
//  - all comments following a match arm before the start of the next arm
//    are about the second arm
fn rewrite_match_arm_comment( ...

@Zarokka we can never be perfect here, in the match example we might put a newline before the first comment, or assume that comments on the same line should stay there, but following comments should not.


INonceCache has been replace but the file still exists.

The file should be removed.

@brentschmaltz erf, that's my fault ; nice catch! :smile:
@HaoK do you want me to send a PR to fix that or is this something you can remove in a commit?

Don't worry about it, I can nuke it in one of my check ins, not a big deal

@HaoK thanks!
https://github.com/aspnet/Security/commit/6e67b1c9b1354a565afe55a52ddb99bffdd99b0d


Package.getStylesheetsPath is deprecated.

Hi,
got the following message (as a yellow exclamation mark in the status line of atom):
Store package style sheets in the  styles/  directory instead of  stylesheets/  in the  webbox-color  package
Package.getStylesheetsPath  [path-to-atom]\app-0.190.0\resources\app\src\package.js:433:9  Package.getStylesheetPaths  [path-to-atom]\app-0.190.0\resources\app\src\package.js:433:32
(notice: Windows version)

The same on mac os version

+1


Import sucks

Uncaught ReferenceError: Sortable is not defined
I can't get import to work, tried multiple different ways. You should use normal javascript or provide an example.

Can you show what you've tried?

new Sortable(element, {                 group: 'shared',                 animation: 150,                 sort: false,                 multiDrag: true                           });
I have used this Link
Still the import sucks. Getting error like Sortable is undefined.
For reference Created a Fiddle with the latest master's Sortable.js Fiddle


HTML Tag on the frontpage

Hello,
as seen on german language, there is a html code, which you can see on the frontpage:
"#Configuration Manager auf Twitter
Tauschen Sie sich mit der Twitter-Community aus"

@xHAGAKURE could you please share the link where the issue was found?

https://docs.microsoft.com/de-de/configmgr/
Seems to be disappeard. Looks like it was a caching problem


fake filenames & mime types

I think the ability to add fake file names would be good. Something along these lines ..
imageType := gofakeit.MimeType()
// "image/jpeg"
objectName := gofakeit.FileName()
// "random-string.jpg"
anotherFile := gofakeit.FileName(imageType)

if this sounds useful, let me know I can go ahead and submit a PR 🙌🏽

I already have fileextention and filemimetype but if you want to come up with a way to generate a filename that can optionally take in an extension I would be ok with that


A few improvements to ensure_installed

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
I find some issues with ensure_installed options.
Error messages.
First, it doesn't raise any errors when unknown lsp servers are specified. For example,
lsp_installer.setup {
  ensure_installed = {'foobar'}
}

Nothing happens. No warning, No message -- I would expect some error message to occur.
Callback or notification.
I would like to see some messages when automatic install is complete, rather than Installing XXX.. which triggers only when automatic installation starts. Or some warning/error message when some error happens. I do not see recieve any callback, so it's hard to troubleshoot if something goes wrong.
By the way, is there any autocmd event or on_server_ready hook that I can use (after the changes in how we should configure: #636)?
Headless v.s. with UI.
Currently lsp:install() will be called upon executing of ensure_installed, but this will run in the background silently. I'd prefer seeing some explicit user interface, say the :LspInstallInfo dialogue.
The following is how I was doing this rather manually rather than ensure_installed. It'd be great if there is an alternative way or option to show the dialogue during automatic installation.
-- Automatically install if a required LSP server is missing.
for _, lsp_name in ipairs(builtin_lsp_servers) do
  local ok, lsp = require('nvim-lsp-installer.servers').get_server(lsp_name)
  ---@diagnostic disable-next-line: undefined-field
  if ok and not lsp:is_installed() then
    vim.defer_fn(function()
      -- lsp:install()   -- headless
      lsp_installer.install(lsp_name)   -- with UI (so that users can be notified)
    end, 0)
  end
end

Describe potential alternatives you've considered
Already described in each section.
Additional context
Relevant issues:

https://github.com/williamboman/nvim-lsp-installer/discussions/636
https://github.com/williamboman/nvim-lsp-installer/issues/184

Thanks for the great plugin and amazing support!

Hello, thanks for your feedback!

Nothing happens. No warning, No message -- I would expect some error message to occur.

Ah, yeah this should probably show a warning.

I would like to see some messages when automatic install is complete, rather than Installing XXX.. which triggers only when automatic installation starts. Or some warning/error message when some error happens. I do see recieve any callback, so it's hard

I was thinking of opening the :LspInstallInfo window if it ends up installing a server, instead of printing a message. But I felt like that might be too intrusive?

By the way, is there any autocmd event or on_server_ready hook that I can use (after the changes in how we should configure: https://github.com/williamboman/nvim-lsp-installer/discussions/636)?

For now, just set up your servers as you would if nvim-lsp-installer didn't exist. This would normally be just doing it directly in your initialization script, like
lspconfig.tsserver.setup {}

The following is how I was doing this rather manually rather than ensure_installed. It'd be great if there is an alternative way or option to show the dialogue during automatic installation.

I personally really dislike having options for every single thing, I think we should aim for the best default behavior instead. I'd be fine with opening the UI window, let's just do it and see if people complain haha :)

Heyo @williamboman . I have this issue. I don't know if it is the setup's problem or the code base. Do you mind taking a look?

@bryant-the-coder Your issue is irrelevant to this thread. Please read https://github.com/williamboman/nvim-lsp-installer/discussions/636

I was also thinking of mimicing the nvim-treesitter behavior for this, but the code is not very well suited for capturing the stdout/stderr currently - the UI window "owns" all of this currently, if we were to override the stdout/stderr outlets the UI would come out of sync, will work on improving this.


Distinguish between legacy device classes and Z-Wave+ device types

For what purpose? We just removed the supportsZwavePlus field in the files. Do I need to re-add it? Parse the zwa files and populated it?

Nah that is none of your concern. This info is available through zwave itself.

isZwavePlus node property?

This issue is about the Z-Wave Plus Device Types that are defined in the specification


Add Start Testing

https://github.com/dialex/start-testing#readme
This is an open-source testing course, created collaboratively by the testing community. This is helpful for anyone that wants to start learning about Testing but is overwhelmed by the vast and scattered information available online.
By submitting this pull request I confirm I've read and complied with the below requirements 🖖
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.
Requirements for your pull request

Don't waste my time. Do a good job, adhere to all the guidelines, and be responsive. ✅
You have to review at least 2 other open pull requests.

https://github.com/sindresorhus/awesome/pull/1623 ✅
https://github.com/sindresorhus/awesome/pull/1620 ✅

You have read and understood the instructions for creating a list.
This pull request has a title in the format Add Name of List. ✅
Your entry here should include a short description about the project/theme of the list. It should not describe the list itself. The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb. ✅
Your entry should be added at the bottom of the appropriate category. ✅
The suggested Awesome list complies with the below requirements. ✅

Requirements for your Awesome list

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent. ✅
Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. ✅
Run awesome-lint on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please report it. ✅
Includes a succinct description of the project/theme at the top of the readme. (Example) ✅
It's the result of hard work and the best I could possibly produce. ✅
The repo name of your list should be in lowercase slug format: awesome-name-of-list. ❌

I would rather not change the slug of my repo, because I've been developing for over a year, and I don't want to break existing backlinks
Also, this repo already includes several exceptions to this rule, like:

https://github.com/karlhorky/learn-to-program#readme
https://github.com/hangtwenty/dive-into-machine-learning#readme
https://github.com/ujjwalkarn/Machine-Learning-Tutorials#readme
and this is only for the Learn topic

The heading title of your list should be in title case format: # Awesome Name of List. ❌

Same reason as above

Non-generated Markdown file in a GitHub repo. 🤷♂
The repo should have awesome-list & awesome as GitHub topics ✅
Not a duplicate. Please search for existing submissions. ✅
Only has awesome items. Awesome lists are curations of the best, not everything. ✅
Includes a project logo/illustration whenever possible. ⏳

Not yet, I'm trying to create one

Entries have a description, unless the title is descriptive enough by itself. It rarely is though. 🤷♂
Includes the Awesome badge. ⏳

It will have once this PR is approved

Has a Table of Contents section. ❌

Doesn't apply

Has an appropriate license. ✅
Has contribution guidelines. ✅
Has consistent formatting and proper spelling/grammar. ✅
Doesn't include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough. ✅

Go to the top and read it again.

I went through the whole list and marked with emojis the current status. This should make the review of this PR a breeze :)

Thanks for the suggestion, but this is not an Awesome list.

Where can I read on why it's not an awesome list?


opencv-pyhton-headless==<IP_ADDRESS>  replaced by opencv-contrib-python-h…

colab/LaMa_inpainting.ipynb
opencv-pyhton-headless==<IP_ADDRESS>  # throws error
hence replaced by
opencv-contrib-python-headless==<IP_ADDRESS>

Upgrading pip solved my problem, if does not work for you downgrade its version.
pip install --upgrade pip


Remove redundant MatrixOffsetTransformBase::GetInverseMatrix() calls

Took GetInverseMatrix() calls out of for loops
Used previously ignored return values of initial GetInverseMatrix() calls

The  itkSPSAOptimizerTest failure from Windows_NT-Build10780 at https://open.cdash.org/test/1390015227 appears unrelated to this PR:
StateOfConvergence in last iteration: 5.9562e-06
NumberOfIterations: 43
Stop condition: SPSAOptimizer: Below tolerance. Tolerance is 1e-05
LearningRate: 0.133264
GradientMagnitude: 2.90379e-11
Gradient: [-2.5972306926085094e-11, -1.2986153463042547e-11]
Test failed.

/azp run ITK.Windows


Tweak FAQ and downloaded files section for participant IDs to allow for future additions

There will be projects released shortly that do not currently have multiple samples that map to the same participant, but we expect future releases to include samples to meet that condition. The investigator has asked us to include participant IDs so that we don't have to make any revisions later.
As such, we're going to need to change the language in this FAQ to cover these cases: https://github.com/AlexsLemonade/scpca-docs/blob/5c66caa36f99b764f9f770e282b5787e318f3029/docs/faq.md#why-do-some-samples-have-missing-participant-ids
Edit: Also need to address this section: https://github.com/AlexsLemonade/scpca-docs/blob/5c66caa36f99b764f9f770e282b5787e318f3029/docs/download_files.md#metadata, so I've updated the title accordingly.
Anyone who implements this should find all "participant" to be sure everything has been addressed.

Closed by #108


bindfs: fix darwin build by disabling system binding

Description of changes

This adds --disable-macos-fs-link to configureFlags on darwin platforms, removing /etc/fstab and mount -t bindfs support on the platform.
This solution isn't ideal, but is better than the tool not building at all.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 330366 run on aarch64-darwin 1

1 package built:

bindfs


fix(release): Add semantic release

Fix branch name

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


Bash used for command line task on Windows in v2.165.2

Worker_20200325-074832-utc.log
Having issue with Tasks?
Command line task not working but happens directly after update of the pipelines agent.
Agent Version and Platform
Version: v2.165.2
Platform: Windows
Azure DevOps Type and Version
Azure Devops https://dev.azure.com/Allseas
What's not working?
All command line tasks fail as bash is used instead of cmd or powershell. Do note I only tried this within a docker container. So not outside a container.
==============================================================================
Task         : Command line
Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version      : 2.164.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
Script contents:
C:\__w\1\s/conan/conan config install C:\__w\1\s/conan-config
========================== Starting Command Output ===========================
##[error]Unable to locate executable file: 'bash'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.

Agent and Worker's Diagnostic Logs
Added log

Using the pwsh task does work which is my fix for this.

#2864 is the same issue. I think it should not be closed, either this issue should be fixed or the documentation should be updated. Now I had multiple people in my team running into this issue and spending time on it.

The issue is not that bash is being used instead of PowerShell to run the script specified in the task, but how we invoke the CommandLine task itself. Our task model supports running tasks via PowerShell or nodejs. The problem we were trying to address is that newer versions of Windows containers come with PowerShell Core, not PowerShell, which has different arguments and settings. This was causing the CommandLine task to fail on Windows containers without PowerShell. We updated the agent to prefer using the nodejs handler when running tasks in a container. It seems that handler has a dependency on running bash.
The workaround is to set agent.preferPowerShellOnContainers = true
@damccorm - Would you be able to investigate why there is a dependency on bash in the nodejs handler? If we cannot remove it, we may need to reverse the default value of the variable mentioned above.

My understand is that this was fixed by #2913.


Another Tech Dashboard Suggestion

It would be nice if at the top of each farm sensor page, there was a list with the most recent (latest 4 hour data)  like we see in Slack.
All of this data below, updated every 4 hours, but sorted into an easy to read format, columns and rows, if possible.  The Slack format is fine too, the new folks would just have to learn to read it.
V2020.05.19~PSA~21000018~4.18~39.75~212~6.37~2020-7-21_15:04:01_UTC
11:05
V2020.06.04~PSA~18000026~4.17~28.75~51~2.70~2020-7-21_12:00:00_UTC~a13Acclima TR310S2.114000727~-15~11.5~29.0~6.5~89~2848~1610~b13Acclima TR310S2.114000395~-45~20.5~30.5~10.8~154~1811~2200~c13Acclima TR310S2.114000417~-80~30.1~29.4~16.7~100~629~2725~d14Acclima TR310S4.314002776~-5~8.9~29.0~5.4~0~0~1550~H14Acclima THum010.333000038~+29~25.43~100.0~T14Acclima Temp010.334000033~+0~27.85~-63
11:05
V2020.06.04~PSA~18000209~4.16~27.75~51~2.73~2020-7-21_12:00:00_UTC~A13Acclima TR310S2.114000389~-15~9.4~29.2~5.6~82~2523~1445~B13Acclima TR310S2.114000397~-45~17.2~30.1~9.2~82~1261~2025~C13Acclima TR310S2.114000439~-80~26.6~29.0~14.4~77~592~2530~-73

I edited your issue just to make the formatting a little clearer. I agree, and I think there are maybe some aspects of it that are achievable (showing data strings along with the visualizations, making the datastrings easier to read) but some that are trickier (nicely labeled columns and rows, for example).
We could do a hybrid, where it shows the raw datastrings from the device, but also the parsed and cleaned data from the DB, so you can see how one maps onto the other.


clean up in page toc

Remove in page toc shortcode from en pages.
The docsy theme creates a TOC from the H2 and H3 page headings.

Related to #20874.

/approve


0002 -  Add Two Numbers

Description of the Problem
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Examples
Input: l1 = [2,4,3], l2 = [5,6,4]
Output: [7,0,8]
Explanation: 342 + 465 = 807.

Input: l1 = [0], l2 = [0]
Output: [0]

Input: l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
Output: [8,9,9,9,0,0,0,1]

Link To The LeetCode Problem
LeetCode - Add Two Numbers

Please assign this to me. ✔

can I work on this

Please assign this to me.

Assign to me please.

Closed - Problem already solved!
@Aviadonis Please check of Problem is solved before creating an issue!

I'm sorry I'll be careful @vJechsmayr


[CONTINT-3946] Make sure to retry sbom scans when sending the result back to the channel fails

What does this PR do?
This PR fixes an edge case to make sure we retry sbom scans when sending the result back to the channel.

Motivation
Cover every case

Additional Notes
This scenario is very unlikely to happen. The scan result channels have large buffer and the processing is very fast. The scanner is slow and has a buffer of size 300, which is less than what the scan results buffer have.

Possible Drawbacks / Trade-offs
None

Describe how to test/QA your changes
It's very difficult to produce a scenario where the sendResult function produces an error. I suppose you could by enabling sbom collection and creating a scenario where the host scan result handler is not working properly with a custom build

/trigger-ci --variable RUN_E2E_TESTS=true

/merge


PIXI.Application need to been resizeable when window resize

i have try to make Application been smaller when window size was change
Like
app.ticker.add(function() {
app.renderer.autoResize = true;
app.renderer.resize(window.innerWidth,window.innerHeight )
app.stage.scale.x = (window.innerWidth,* x);
app.stage.scale.y = (window.innerHeight * y);
}
example like this
http://pixijs.io/examples/#/basics/render-texture.js
when you resize a window, canvas is able to become smaller automatic.
Can i have some simple way to make a same effect?Either i need to ask in other places?

Here are some examples for doing resize.
https://github.com/pixijs/pixi.js/wiki/v4-Tips,-Tricks,-and-Pitfalls#resizing-renderer
You need to handle the scale stuff in the resize handler for the window function not with ticker.
Hope that helps.

@bigtimebuddy
Thanks!!!
i would close this Topic

to center view:
function resize() {
    if (window.innerWidth / window.innerHeight >= ratio) {
			ancho = ~~(window.innerHeight * ratio);
			alto= window.innerHeight;

			app.view.style.position = 'absolute';
			app.view.style.width = ancho + 'px';
			app.view.style.height = alto + 'px';
			//console.log("A");

			app.view.style.left = ~~((window.innerWidth-ancho)/2) + 'px';
			app.view.style.top = '0px';

    } else {

			ancho = window.innerWidth;
			alto = ~~(window.innerWidth / ratio);

			app.view.style.position = 'absolute';
			app.view.style.width = ancho + 'px';
			app.view.style.height = alto + 'px';
			//console.log("B");
			app.view.style.left = 0 + 'px';
			app.view.style.top = (window.innerWidth-(alto/2)) + 'px';

    }
	//console.log(ancho,alto);

}
window.onresize = function(event) {
    resize();
};

@gilberto389 while your suggestion works, text will scale because it is relying on canvas resizing.

@ghost thanks for the example.
Typo:
app.view.style.top = (window.innerWidth-(alto/2)) + 'px';
should be:
app.view.style.top = (window.innerHeight-(alto/2)) + 'px';


Remove tcp-flags from the policy featureprofile.

Remove tcp-flags which has been removed upstream from
the policy_base feature profile.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 57.219%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1181

Relevant Lines:
2064

💛  - Coveralls


Can't create blog with apostrophe in title

Currently the file containing the blog is stored in a .txt file name after the title of the blog. instead name the file after the number the blog director is stored in.

fixed in this commit: https://github.com/cocoztho000/Sams-Blog/commit/1608f8705ac926d3fb4e1e7eb7139cf3d1071236


Fix#71 : Login Fragment fix

Fix#71: Changes in onBackPressed( )

@iamareebjamal I am not able to push changes, I dont' know
codedsun wants to merge 1 commit into fossasia:master from unknown repository

Forwarding to PR #85 ! Closing this PR


Find my friends endpoint changed in May, 2023

Glenn,
You identified the new Friend my Friends endpoint which I used in iCloud3 in 2021. Apple made some changes in May, 2023 and that is no longer working. I’ve been doing a lot of searching to see if another web url is available to get the location of people who are sharing their location without success.
I came across your name in an old iCloud3 forum and thought I would reach out to see if you are still involved in this project and might be a able to point to a solution. From what I can tell, the people sharing their location is tied to the contacts list. However, downloading the contacts from  the Apple account does not include any data regarding their shared status.
I’ve rewritten iCloud3 (it’s still in beta) and hope to have this fixed before I release it.
Thanks.
Gary Cobb (iCloud3)

Hi Gary,
Yeah - the website for findfriends was deleted in 2021, and now in May 2023  the actual URL have been cancelled.  Initally returning the same data as FamilyDevices for about a week and now non-existent altogether.
I would guess they basically don’t exist anymore, as accessible via URL
Given pyicloud get its data through website url imitation - it would seem that this option is gone forever unfortunately.
One option may be to check Find iOS app data via a Proxy/Wire Shark and see what it pulls to get info.   This may expose friend again and/or the tag/devices data.   However would be a complete change of current practice and probably a reasonably big effort which then might die at apples whim.  I thought about it, but for reasons above haven’t tried….


License

Thank you for sharing this very interesting project publicly!
Would you be willing to offer the code under MIT, BSD, Apache, Mozilla, or LGPL licenses?  At the moment it is protected by your copyright, but use in other research/projects may not be possible without an explicit license
Thanks!

I had forgotten. MIT license added.

Perfect, thank you


Fetching a member in slash doesn't give a banner

Summary
When you do await interaction.guild.fetch_member(member.id) it doesn't return the member banner
Reproduction Steps
Do
await interaction.guild.fetch_member(member.id)

in your code
Minimal Reproducible Code
await interaction.guild.fetch_member(member.id)

Expected Results
The banner url
Actual Results
None
Intents
Default
System Information
- Python v3.8.12-final
- nextcord v2.0.0-alpha
    - nextcord pkg_resources: v2.0.0a5
- aiohttp v3.6.3
- system info: Linux 5.11.0-1023-gcp #25~20.04.1-Ubuntu SMP Mon Nov 15 15:54:39 UTC 2021

Checklist

[X] I have searched the open issues for duplicates.
[X] I have shown the entire traceback, if possible.
[x] I have removed my token from display, if visible.

Additional Context
No response

Correct me if I'm wrong but I remember that discord for some reason doesn't send banners when fetching member but only fetching user

Correct me if I'm wrong but I remember that discord for some reason doesn't send banners when fetching member but only fetching user

Your probably right, hopefully they fix it

I've tested this and it is an API limitation, I'll mark this as invalid for now, but if the API resolves this in the near future please re-open this.


update available library versions

Docs Build status updates of commit 560b535:
:clock10: Full build: the average full build time is 73 min(s) 51 sec(s), this is based on the last 410 build(s) for this repository.

Docs Build status updates of commit 560b535:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/storage.md
:white_check_mark:Succeeded
View (azure-java-stable) View (azure-java-preview) View (azure-java-legacy)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Improved message when trial is pending card verification

When a credit card is required to verify a free trial (upsun), the project:create command will fail until a card has been added.
At the moment if you don't belong to an organization with the #create-subscription link, for example, project:create will say:

You do not yet own nor belong to an organization in which you can create a project.

This may be confusing if they have in fact created organizations, which they are - of course - the owner of, but haven't yet added a credit card for verification.
This therefor may lead the user to the creation of multiple organizations without being able to create a project.
We should display an improved message if:

The user is the owner of the organization
and the create-subscription link is not present

This may be the case if:

the org is not trial eligible (payment method needs adding)
the org has a trial, but no card for verification has been added (card needs adding to activate organization and use trial)
the org has failed payments (new card needs adding, or problem with card needs solving)

Optimally, we would check if the user has an active free trial and and display two different messages:

has active trial: message should indicate that they may need to verify their account via Console.
does not have active trial: message should indicate that they need to verify their billing details

started this one, can't change assignee to me since i don't have access to do so.


Mark in color the last change

The tsconfig is changed everytime you check/uncheck something
but it's hard to notice what was changed.
I recommend to highlight with color / background color / +/- sign the last change made

Hi @GiladShoham, thanks for opening an issue!
I totally agree, and have heard this from others too. I'm working on something now. I'll respond here when it's released.

Hey @GiladShoham, just added this. It's live now on https://tsconfig.guide. Thanks for the feature request!

looks great! thanks :)


[suggestion]Replace RockDB with Redb in pure Rust

Replace RockDB with Redb in pure Rust, for better performance and simlper Architecture.

This would be great! Librocksdb and the syscalls for it is broken, its hard to compile and takes forever to do the linux libs


handle "Support WasmCode in gdb JIT integration"

https://github.com/v8/v8/commit/9aaf664253063e5a28fcacd58a67106357c3eaed

seems ok to keep it


Removes venv folder

It is a common practice to exclude venv from git.
Or are there any reasons to leave it?

Codecov Report

Merging #1 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #1   +/-   ##
=======================================
  Coverage   99.04%   99.04%
=======================================
  Files           5        5
  Lines         105      105
  Branches       19       19
=======================================
  Hits          104      104
  Partials        1        1

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 a99f714...704d60f. Read the comment docs.

That was a mistake. Thank you.


Merge oam-uploader-api repo

Still WIP
Requesting comments
TODO:

[ ] Ensure the deploy methods still work.
[ ] Design a process for migrating production data to a single DB.

This continues the work of creating user accounts: hotosm/oam-browser/issues/220

Seeing as #98 depends on this and that #98 is increasingly diverging, I'm not going to use this PR to do the merge, but #98 instead.


Fix handling signals for non-RSpec test runners

Story
N/A
Description
Fix handling signals for non-RSpec test runners.
Changes

fix(bug): we should set RSpec wants to quite value in the RSpec only. Remove it from the queue base runner which breaks handling signals for non RSpec test runners.

Problem
Problem can be reproduced by running the following in the rails-app-with-knapsack_pro repo.
KNAPSACK_PRO_RSPEC_DISABLED=true bin/knapsack_pro_queue_cucumber_junit

Press Ctrl+C in the middle of a test execution. You get the NameError: uninitialized constant KnapsackPro::Runners::Queue::BaseRunner::RSpec (NameError) error:
...
INT signal has been received. Terminating Knapsack Pro...
rake aborted!
NameError: uninitialized constant KnapsackPro::Runners::Queue::BaseRunner::RSpec (NameError)
/Users/artur/Documents/github/knapsack-pro/knapsack_pro-ruby/lib/knapsack_pro/runners/queue/base_runner.rb:62:in `block (2 levels) in trap_signals'
...

This PR fixes it.
Checklist reminder

[ ] You added the changes to the UNRELEASED section of the CHANGELOG.md, including the needed bump (ie, patch, minor, major)
[ ] You follow the architecture outlined below for RSpec in Queue Mode, which is a work in progress (feel free to propose changes):

Pure: lib/knapsack_pro/pure/queue/rspec_pure.rb contains pure functions that are unit tested.
Extension: lib/knapsack_pro/extensions/rspec_extension.rb encapsulates calls to RSpec internals and is integration and e2e tested.
Runner: lib/knapsack_pro/runners/queue/rspec_runner.rb invokes the pure code and the extension to produce side effects, which are integration and e2e tested.

Do we have a similar problem in Regular mode?

No. Test runners handle signals on their own.


Building Against Openssl 3.0.0

I was hoping to build memcached against OpenSSL 3.0.0+ to use the ktls support recently added, but when configuring/building I am still getting a binary that links against the older versions of libcrypto /libssl:
./configure  --enable-tls --with-libssl=/home/openssl-3.0.0 --with-libevent=/home/libevent_build
$ ldd /home/memcached/memcached
linux-vdso.so.1 (0x00007fffb53c7000)
libevent-2.1.so.7 => /home/n869p538/wrk_offloadenginesupport/async_nginx_build/kvs/memcached/../libevent_build/lib/libevent-2.1.so.7 (0x00007fb814ec5000)
libssl.so.1.1 => /usr/local/lib64/libssl.so.1.1 (0x00007fb814e08000)
libcrypto.so.1.1 => /usr/local/lib64/libcrypto.so.1.1 (0x00007fb814b1b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb814af8000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb814906000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb8148fe000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb814f82000)
How should I approach building memcached with OpenSSL 3.0.0+ support?

using memcached 1.6.16 with --libssl flag like so:
wget http://www.memcached.org/files/memcached-1.6.16.tar.gz
tar -xzf memcached-1.6.16.tar.gz
./configure  LDFLAGS=-L/path/to/openssl-3.0.0
--enable-tls
--with-libssl=/path/to/openssl-3.0.0
--with-libevent=/path/to/libevent_build
make
make install
built memcached against openssl 3.0.0


How to use ros1 to run glim_ros1

hunkyu@hunkyu:~/rs_ws/src/glim_ros1/launch$ roslaunch glim_rosnode.launch
... logging to /home/hunkyu/.ros/log/71eb6650-5a28-11ef-8f71-cd42bf0a5762/roslaunch-hunkyu-45538.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://hunkyu:45085/
SUMMARY
PARAMETERS

/rosdistro: noetic
/rosversion: 1.16.0

NODES
/
glim_rosnode (glim_ros/glim_rosnode)
ROS_MASTER_URI=http://localhost:11311
process[glim_rosnode-1]: started with pid [45552]
[ INFO] [1723636921.364012844]: Starting GLIM
[2024-08-14 20:02:01.365] [info] register linearization hooks
[2024-08-14 20:02:01.365] [info] config_path: /home/hunkyu/rs_ws/src/glim/config
[2024-08-14 20:02:01.365] [warning] param glim_ros/keep_raw_points not found
[2024-08-14 20:02:01.365] [warning] use default_value=false
[2024-08-14 20:02:01.366] [info] load libodometry_estimation_gpu.so
[2024-08-14 20:02:01.366] [warning] failed to open libodometry_estimation_gpu.so
[2024-08-14 20:02:01.366] [warning] libodometry_estimation_gpu.so: cannot open shared object file: No such file or directory
[2024-08-14 20:02:01.366] [critical] failed to load odometry estimation module
[glim_rosnode-1] process has died [pid 45552, exit code -6, cmd /home/hunkyu/rs_ws/devel/lib/glim_ros/glim_rosnode __name:=glim_rosnode __log:=/home/hunkyu/.ros/log/71eb6650-5a28-11ef-8f71-cd42bf0a5762/glim_rosnode-1.log].
log file: /home/hunkyu/.ros/log/71eb6650-5a28-11ef-8f71-cd42bf0a5762/glim_rosnode-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

hunkyu@hunkyu:~/rs_ws$ rosrun glim_ros glim_rosnode
[ INFO] [1723637212.607151391]: Starting GLIM
[2024-08-14 20:06:52.607] [info] register linearization hooks
[2024-08-14 20:06:52.608] [info] config_path: /home/hunkyu/rs_ws/src/glim/config
[2024-08-14 20:06:52.608] [warning] param glim_ros/keep_raw_points not found
[2024-08-14 20:06:52.608] [warning] use default_value=false
[2024-08-14 20:06:52.608] [info] load libodometry_estimation_gpu.so
[2024-08-14 20:06:52.608] [warning] failed to open libodometry_estimation_gpu.so
[2024-08-14 20:06:52.608] [warning] libodometry_estimation_gpu.so: cannot open shared object file: No such file or directory
[2024-08-14 20:06:52.608] [critical] failed to load odometry estimation module


CI: Extend runtime tests to validate fromCIDR policy

This series extends the runtime CI tests to validate that fromCIDR policy works correctly using a local docker network, similar to how existing FQDN tests do.
Review patch-by-patch, there is some large refactoring of the CIDR tests in policy but it's mostly kept to one non-functional patch.

This change is

test-me-please

test-me-please

Coverage decreased (-0.06%) to 45.647% when pulling 6e7fb3f3ed6c2867c56764e13f8ad5ab2e69a2a4 on joestringer:submit/from-cidr-runtime-tests into a5c0488510febf66298b2f4a866a1e2a306e6e94 on cilium:master.

test-me-please

test-me-please

test-me-please

test-me-please

I opened a PR here with a fix for the failing CI.

I'll work with @willdeuschle to get PR #11333 in instead of this PR. Closing.


Improve timer in speaker view

[ ] Checkbox to play / pause timer (tricked using animation-play-state).
[ ] Timer runs only starting from slide 2 (since the first is probably a waiting screen).
[ ] Maybe have an accessible version using <progress> and role="progressbar" ?
[ ] Not in timer: repeat pagination beyond upcoming slide.

Add a screenshot to README.md :)


Lwjgl3 multi window cursor crash

Issue details
Setting a cursor in multiwindow Lwjgl3 app will cause a native crash when multiple windows are disposed. Clearing the map from after the cursors are disposed sounds like a correct solution.
Reproduction steps/code
https://gist.github.com/piotr-j/6724fe74f41ab340235e
Version of LibGDX and/or relevant dependencies
1.9.2+
Stacktrace
j  org.lwjgl.glfw.GLFW.glfwDestroyCursor(J)V+20
j  com.badlogic.gdx.backends.lwjgl3.Lwjgl3Cursor.disposeAll()V+62
j  com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics.dispose()V+7
j  com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.dispose()V+22
j  com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.cleanup()V+28
j  com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lcom/badlogic/gdx/ApplicationListener;Lcom/badlogic/gdx/backends/lwjgl3/Lwjgl3ApplicationConfiguration;)V+250
j  com.mygdx.game.MyGdxGame.main([Ljava/lang/String;)V+20

Please select the affected platforms

[ ] Android
[ ] iOS
[ ] HTML/GWT
[x] Windows
[x] Linux
[x] MacOS

While this fixed the native crash, it causes another bug. Since all cursors are disposed when any window closes, if other window has a cursor set this change is lost. See updated gist for example:
https://gist.github.com/piotr-j/6724fe74f41ab340235e

Reopened


Third person animation is broken once again

(v1.3.1 for mc 1.20.1)
Trying to block while the main hand contains a sword will cause the arm with the sword to go down instead of up.

In addition to this, the player appears to be in the "main hand blocking animation" if they're using any edible or drinkable item, or a bow, trident, crossbow, goat horn, or brush.

Yea I noticed this


Cannot control volume

Everything works great except the volume controller, the volume bar just appear when I adjust the bulb in home app, but it does not actually control the volume. I have no idea how to fix it..help..
Great plugin, thanks!

Hello
So you See the bulb but it dont do anything? Can you Post your config please and your Log?

Already tried with the latest release?

Im closing this issue now, if you have problems with the latest release, please add a new issue


Bad link in documentation about mlogloss metric

Hi! I was reading through the documentation about the eval_metric parameter here: https://xgboost.readthedocs.io/en/latest/parameter.html#learning-task-parameters and found out the link that explains Multiclass logloss isn't working. I couldn't find another link to suggest as a replacement. Any ideas?

I replaced the broken link. Thanks!


zoomOnRectangle became imprecise. Manual setting of min/max is disturbed

Pull request: https://github.com/Gapminder/vizabi/pull/1165

thanks! this was an issue since 0.8.4 and now it's finally done almost 10 releases after! :bomb:

Glad to help! Thanks for the opportunity to work on it :)


Fix links to interaction claims

On detailed results page, remove links from "interaction type" and make source links go to interaction claim.
On Summary results page, change checkboxes to interaction symbols that link to interaction claims.

this will be addressed as part of #149

#165 breaks links out to interaction claims from the detailed results view in interaction search results.

add 'n/a' as a default entry for interaction type on results display.

This should be fixed


需要升级nacos-client的版本了，nacos-server为1.0.1的时候 0.2.1版本 会注册失败

An update to the nacos client dependencies has been implemented. Please be patient and wait for the release

already support it


NameError in hcomments

Internal Server Error: /hcomments/post
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/src/ep2017/hcomments/views.py", line 61, in post_comment
    comment.save()
  File "/usr/local/lib/python2.7/site-packages/mptt/models.py", line 992, in save
    super(MPTTModel, self).save(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django_comments/abstracts.py", line 95, in save
    super(CommentAbstractModel, self).save(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 734, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 771, in save_base
    update_fields=update_fields, raw=raw, using=using)
  File "/usr/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 189, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/usr/src/ep2017/hcomments/apps.py", line 20, in send_email_to_subscribers
    body = render_to_string('hcomments/thread_email.txt', ctx)
NameError: global name 'render_to_string' is not defined

I believe @patrick91 already fixed this.


Add shim layers for GpuWindowInPandasExec.

Databricks Spark has different requirments in node WindowInPandasExec from Apache Spark.
On databricks, the parameter windowExpression passed in contains not only the window expressions, but also the input expressions from child.  Meanwhile it is nondeterministic, which means it may include either all of the child input expressions, or some of them or none of them, depending on which are required by the first following action.
What's more,  windowExpression is expected to be used as a project list for output, so you should project your result batches based on this 'list'.
This PR is also adding a Python daemon module since Databricks changes the API worker.
Signed-off-by: Firestarman<EMAIL_ADDRESS>

build

@firestarman  this didn't update the spark301db shim so this failed with databricks 7.3, please fix


neato component fails to authenticate

Home Assistant release (hass --version):
0.37.1
Python release (python3 --version):
Python 3.5.2+
Component/platform:
neato
Description of problem:
I added to my configuration file the following:
neato:
    username: *my-neato-reg-email*
    password: *my-neato-password*

But the neato component fails to authenticate.
Following is the stack trace:

17-02-11 08:19:23 ERROR (MainThread) [homeassistant.bootstrap] Error during setup of component neato
Traceback (most recent call last):
File "/home/while/.local/lib/python3.5/site-packages/homeassistant/bootstrap.py", line 151, in _async_setup_component
None, component.setup, hass, config)
File "/usr/lib/python3.5/asyncio/futures.py", line 379, in iter
yield self  # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 297, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 292, in result
raise self._exception
File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/while/.local/lib/python3.5/site-packages/homeassistant/components/neato.py", line 86, in setup
hass.data[NEATO_LOGIN] = NeatoHub(hass, config[DOMAIN], Account)
File "/home/while/.local/lib/python3.5/site-packages/homeassistant/components/neato.py", line 109, in init
domain_config[CONF_PASSWORD])
File "/home/while/.homeassistant/deps/pybotvac/account.py", line 21, in init
self._login(email, password)
File "/home/while/.homeassistant/deps/pybotvac/account.py", line 37, in _login
response.raise_for_status()
File "/home/while/.local/lib/python3.5/site-packages/requests/models.py", line 909, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://beehive.neatocloud.com/sessions

It's working fine here now, but during this last week I have also gotten this message form time to time. I assume there have been maintenance at the neato server. Please try again, and report :)

Just tried again. This time it worked. Very good. Thanks!


Adding a user properly?

When adding a user to a project, do I send a POST to /projects/:id/staff/:id or a PUT to /staff/:id/projects/:id? What about removing them? There is currently no documentation for either endpoint, so it is unclear what the POST/PUT bodies should contain, with regards to the newly added user's authorization level ('Administrator', 'Editor', 'Collaborator').

If possible, hold off on assigning staff to projects. We have an ongoing change that will remove the current implementation and replace it with groups, which you can sneak a peek at here: https://github.com/projectjellyfish/api/compare/groups#diff-e13da661e24d850049dbbcfb12f01addR33

That's closer, but it doesn't really explain how to control Alerts, I mean, I can't send a POST with a JSON body that looks like:
{
     "alerts" : "Hey send less alerts and stuff please"
}

The same goes for getting the settings.  I have to assume there are some default alert settings, otherwise you'd never get alerts.

@jklarfeld we've merged the Roles changes. Users are now organized into groups which give them access to projects. The Groups api will allow you to create groups and to add users to groups (by updating the staff_ids field - make sure to pass back the whole array).
Groups can be added to projects to provide access. The Memberships api handles this. It also allows you to set a Role, which defines the abilities group members have on projects their group has access to.
The Roles API allows specifying and updating these Roles.
Except for Memberships, all of these APIs are admin-only. Memberships (adding groups to projects) is controlled by a Role, and is always allowed for an admin.
Let me know if you have any questions on this.

Update: instead of messing with the staff_ids field, which can be cumbersome, you can now use the associations api to add and remove staff from groups without messing with the whole array.

I have lots of questions!

Is there any documentation for these new endpoints? All the links on the documentation pages are blank.

Is there any test data for these new features? Currently the test endpoint contains no groups.

What if a project has no groups?

Why are Roles an entire endpoint? It seems like this is an enum value, making another request seems unnecessary.  Wouldn't it be much easier to include at least the read-only version of the available roles with the project information?

Is there any way of getting staff information in bulk?  Take for example a screen where you show who is currently on a project (again, I can't see any documentation, so bear with me here), I would first have to gather all the group IDs for the project (which can be bundled with /projects), and then for each group I have to do another request for every single staffID I find to get their information to even display their name.  So say a small project has two groups, and 10 users total.  That's at best 11 API calls to show who is on the project. 1 call gets the project info and the group IDs, and then a call for every single person I need to show. This is a poor approach regardless of perspective.

From what I can tell, adding a user to the project (worst case) involves a call to get the available users, then another call to create a group, then another call to add them to the group, then another call to update their roll.

It would seem that projects do not contain groups as standard, this seems like an oversight.

Is there any documentation for these new endpoints? All the links on the documentation pages are blank.

I think there's been a miscommunication about docs. Those pages document the parameters we expect and allow when you make a request to the API. In that sense, the pages aren't "blank". However, they don't document what the server returns. There's no good way on our end to do this, but as usual you can make an educated guess about what a GET request would return based on the parameters to a POST or PUT request. cc @chriskacerguis

Is there any test data for these new features? Currently the test endpoint contains no groups.

There is not. We have somebody working on this for you so hopefully that'll change soon. cc @OBCENEIKON

What if a project has no groups?

Admins can always access projects. Standard users can't see or change a project that they don't have access to through a group.

Why are Roles an entire endpoint? It seems like this is an enum value, making another request seems unnecessary. Wouldn't it be much easier to include at least the read-only version of the available roles with the project information?

Roles are something that admins can change, so they're different for each installation. There's no default roles in the system. Each role's abilities are also modifiable, of course.

Is there any way of getting staff information in bulk? Take for example a screen where you show who is currently on a project (again, I can't see any documentation, so bear with me here), I would first have to gather all the group IDs for the project (which can be bundled with /projects), and then for each group I have to do another request for every single staffID I find to get their information to even display their name. So say a small project has two groups, and 10 users total. That's at best 11 API calls to show who is on the project. 1 call gets the project info and the group IDs, and then a call for every single person I need to show. This is a poor approach regardless of perspective.

Good point. I'm not sure we need to list out the staff for projects, but it's reasonable to include in the available includes for projects (which would inline the resources instead of sending ids). This is already available for groups. https://github.com/projectjellyfish/api/issues/669

From what I can tell, adding a user to the project (worst case) involves a call to get the available users, then another call to create a group, then another call to add them to the group, then another call to update their roll.

Yeah since we manage staff in groups instead of onto projects, it probably makes sense for the app to allow admins to put users into groups, then only deal with groups at the project level instead of trying to add them to projects directly.

It would seem that projects do not contain groups as standard, this seems like an oversight.

Not sure I understand, but possibly you're referring to not including the project's groups in the /projects/:id response, in which case you can specify them in the includes array to have them included.

No further responses.  Closing.


webhooks: Recommend creating "incoming webhook" bot.

In all our webhooks' docs, we now recommend creating a bot with the
"Incoming webhook" bot type.

Automated message from Dropbox CLA bot
@eeshangarg, it looks like you've already signed the Dropbox CLA. Thanks!

Merged, thanks @eeshangarg!  @timabbott and @eeshangarg I think we can iterate on this a bit more.  It's not completely clear to me what is meant by saying "incoming webhooks" can't receive messages.  I also think we can provide more context on when each choice is appropriate.


No error is displayed when you fail to login

An error response is returned, but not displayed to the user.

Closed by #72


unable to get new permissions for participant when we admit participant in the meeting

in iOS
Unable to get updated permissions for participant when participant is allowed in the meeting
new permissions I am not getting
I am handling the funcs
public func participant(_ participant: RemoteParticipant, didUpdate publication: RemoteTrackPublication, permission allowed: Bool)
public func room(_ room: Room, participant: Participant, didUpdate permissions: ParticipantPermissions) {
print("Participant didUpdate permission (participant.name) -> (permissions)") // request accepted for joining
}
public func room(_ room: Room, participant: RemoteParticipant, didUpdate publication: RemoteTrackPublication, permission allowed: Bool) {

}
But no luck

What I am trying to do here

we enabled waiting room where non-invited users doesn't have permission to canPublish
when non-invited user joined the meeting
a request is generated at the moderator's end to allow or request that user
when moderator accepted his canPublish permission set to true

What I am expecting, a callback for permission update for user or participant when moderator(who created the meeting) accepted the request to join the meeting
this is happening on android but unable to find on iOS
can you please help and look into this?
@hiroshihorie


[Draft] Xcode integration

This is exploring the possibility of custom Xcode integration.

PR Template
For an explanation of how to fill out the fields, please see the relevant section
in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md)
Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

The initial commit is a very early draft. It builds with bazel, but not tests. Header files are wired up so clicking through to other files works (including Envoy), but I haven't tried autocompletion or importing a bazel built index.
Next steps are to get more use cases, and to support those. This is here for visibility and at some point for people to try.

Thanks for opening this up @kastiglione! I tried generating using the following steps:

Download index-import from here and copy index-import into the base envoy-mobile directory
brew install xcodegen
xcodegen generate
Opening up the .xcodeproj

The project looks good, but builds fail (seemingly because it can't find some Objective-C types):

Any suggestions for something I may have done wrong in my setup?

Your steps look good. I spent most of my time trying C++, and didn't try the swift. I may need to update the index-import command. I'll open the file from the example and get it working.

What I've found:

The build succeeds, the errors in red are from the indexer not the build
I can jump to definition of the types it's complaining about (EnvoyEngine, EnvoyConfiguration)

I'll figure out why the indexer is emitting those errors and fix it

I plan to look again this week.

I'll reopen at some point (hopefully sooner than later)


Add Color to Notes

Hello! I saw your project, and it functions very well, although I think that adding color to the sticky notes would make the notes stand out a bit from the rest of the page. Can I work on implementing this feature on your project?

Yeah sure go ahead


Enable specifying enable/ensure when managing services

Rebase of PR #880

Solves #888

Released in v2.51.0


Patching /etc/hosts with Container Registry Hostname

Changes
Patching /etc/hosts to alias the Container Registry hostname to <IP_ADDRESS>, a required setup to run complete end-to-end tests.
Submitter Checklist

[x] Includes tests if functionality changed/was added
[x] Includes docs if changes are user-facing
[x] Set a kind label on this PR
[x] Release notes block has been filled in, or marked NONE

Release Notes
Adding input `patch-etc-hosts` and `registry-hostname` to control wether amend the informed hostname in local `/etc/hosts`, aliasing the hostname to <IP_ADDRESS>

/assign @SaschaSchwarze0
/cc @HeavyWombat @coreydaley


RuntimeError: GPU compute capability 8.0 (Ampere) or higher is required to install kernl

Im trying to test this on nvidia T4 and V100 gpus, but it fails with the above error.
they have 7.5 and 7 compute capacity respectively.
any plans to support these GPU types in the future?
thanks

This is due to the way some operations are supported on Triton language. The language is going through a complete rewrite. It may help fix those issues. They will probably deliver in 1-2 months. In between there is nothing we can do.

@pommedeterresautee if I understand your answer correctly. kernl might support < Ampere architecture when triton supports them easier.

Yes, also we discuss with cutlass team about next big release and what will be doable, etc.

Awesome! keep up the good work! That's the first project/package which makes those features accessible! 🤗


[SPARK-29466][WEBUI] Show Duration for running drivers in Standalone master web UI

What changes were proposed in this pull request?
This PR aims to add a new column Duration for running drivers in Apache Spark Standalone master web UI.
Why are the changes needed?
When we use --supervise, the drivers can survive longer.
Technically, the Duration column is not the same. (Please see the image below.)
Does this PR introduce any user-facing change?
Yes. The red box is added newly.

How was this patch tested?
Manual since this is a UI column.

Test build #112056 has started for PR 26113 at commit fab5ec4.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17061/
Test PASSed.

Test build #112056 has finished for PR 26113 at commit fab5ec4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112056/
Test PASSed.

Test build #112176 has started for PR 26113 at commit fab5ec4.

Merged build finished. Test PASSed.

Test build #112176 has finished for PR 26113 at commit fab5ec4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112176/
Test PASSed.

LGTM. Thanks.

Thank you for review and approval, @dbtsai . Merged to master!


[QUESTION] Return cookie in response

Description
How can i return cookies in response?
Additional context
It would be great addition to docs.
I know its possible with
from starlette.responses import JSONResponse
resp = JSONResponse()
resp.set_cookie()

But is there any other way?

there's a whole page in the docs: https://fastapi.tiangolo.com/tutorial/cookie-params/ , does that help ?

@euri10 i've seen the docs, but how do i return modified cookie?

Is not well documented yet, but you would return a Starlette Response directly and set the cookie in it: https://www.starlette.io/responses/

It is now properly documented: https://fastapi.tiangolo.com/tutorial/response-cookies/ :tada: :cookie:

As it is now in the docs,  I'll close this issue now. But feel free to add more comments or create new issues.


inside the column creates a row

Hi,
I am created a 4 col "col-sm-2, col-sm-2, col-sm-2, col-sm-6".
How can i create a 3 rows inside the "col-sm-6".
Code is given below

.col-sm-2
.col-sm-2
.col-sm-2
.col-sm-6

Closing for the same reason as https://github.com/twbs/bootstrap/issues/16611#issuecomment-110604607


change cursor to pointer when over "source" link

Drew, did I format this correctly?

Hey Matt, the format was right, but I think the place where you changed it was commented out. I moved the status box into it's own file. I'm updating the style to use the hand cursor now.


Allow TRUST_PROXY to pass JSON arguments to Express

Parse the TRUST_PROXY value as JSON

Allow the express API to use the:
Boolean, Array, and Number argument types

Fallback to passing the raw string into express API

Handles SyntaxException from JSON.parse

This allows us to send in a boolean value to the parameter for infrastructure like Heorku where we can't know the subnet address ahead of time.
@SamyPesse Let me know if you need anything else.

I'm not a big fan of JSON parsing the env, but I don't see another solution in that case except, so LGTM.

Thanks 👍


Config issue on macOS

Simply follow the instructions produces the following error at the "./configure" on macOS:
Please specify the location of python. [Default is /usr/local/bin/python]:
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]:
sed: can't read : No such file or directory

Works for me with OSX 10.12.4
On a side note: Mac GPU support in TensorFlow is deprecated as of the TensorFlow r1.1

The problem is that the is_macos check fails in the sed_hyphen_i() function if you are using something like homebrew instead of the default sed.  If you are using homebrew or another version of sed on macOS then comment out everything and just leave sed -i "$@"


added scraper for us

whoops, swapped variables. fixing now

That's better...

I didn't see taht they are in the json api! thank you for pointing it out. I'll update it now

Ok updated to use json api -- thanks for pointing me there @mikelehen


undefined is not a function

I want to use squel with react-native and have issue with https://github.com/hiddentao/squel/blob/master/dist/squel.js#L127
I use https://www.npmjs.com/package/es6-symbol polyfill
I add the following lines above for
console.log('Symbol',Symbol);
console.log('Symbol.iterator',Symbol.iterator);
console.log('handlers[Symbol.iterator]',handlers[Symbol.iterator]);

the result is
'Symbol', [Function: Symbol]
'Symbol.iterator', {}
'handlers[Symbol.iterator]', undefined

here is a little fix...
for react native
just do
npm install es5-ext
and make sure to import this library
like below
require('es5-ext/array/#/@@iterator/implement');
const squel = require('squel').useFlavour('mysql');


Updated reviewer role info

@markjjo - for your review.

@mahage-msft PR merged. I will update the description of the Review role in the SCC RBAC topic.

@mahage-msft PR merged. I will update the description of the Review role in the SCC RBAC topic.


Adding mhchem (chemical formulae/equations) in the Extras ?

[yes] I agree to follow the Code of Conduct that this project adheres to.
[yes] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

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 [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
As there is the possibility to activate mathematical equations in latex in the menu Extras (Suppléments), would there be in the same way the possibility to activate mhchem for being able to enter chemical formulae/equations in latex ? As a chemical physicist, this would be extremely useful.
With best regards.

Works for me. Example


Fix schema parsing issue in Pulsar ingestion

Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[x] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

标题：Fix schema parsing issue in Pulsar ingestion
描述：
Problem Description:
This PR addresses a bug in the PulsarSource ingestion where schema.get("data") could return None or invalid JSON, causing a JSONDecodeError. This error interrupts the ingestion process and prevents further data processing.
Fix Description:
The fix includes:
Added validation for schema.get("data") to ensure it is not None or empty before attempting JSON parsing.
Implemented exception handling to catch JSONDecodeError and log a warning instead of failing the ingestion process.
Set default schema attributes when the data is invalid or missing.
Modified Files:
datahub/metadata-ingestion/src/datahub/ingestion/source/pulsar.py: Added validation for schema data and exception handling for JSONDecodeError.
Fixes: #11945
Testing Done:
This fix was verified in a real application scenario. After modifying the source code, I re-ran the DataHub ingestion process with PulsarSource, which previously failed due to a JSONDecodeError. With this fix applied:
Schema data that is None or invalid no longer causes the ingestion process to fail.
Warnings were logged for problematic schemas, and the process continued success
Impact:
This change only affects the PulsarSource ingestion process. No impact on other ingestion sources or overall system functionality is expected.


Board Review: Service Versions

Storage has already started supporting a new stable service version, while Key Vault is about to add support for a preview service version. We have many questions and would like to discuss and arrive at some guidance how Azure SDK should deal with service versions.
Scenario
What's driving this is that Key Vault is adding a 7.1-preview service version. This will likely be supported for some time before it GAs, and perhaps longer after that depending on service guidance. In response, we want to release a 4.1-preview client version that contains the new APIs they need to preview to customers.
Client version options
There are a couple of ways to do this, both with semvers or date versions:

ClientOptions.ServiceVersion enumerations can define, for example, a V7_1_Preview version that equates to "7.1-preview". When the service GAs, we'd keep that version and add a V7_1 version when we release new packages. We could never drop V7_1_Preview even if the service eventually drops support.
ClientOptions.ServiceVersion enumerations can define, for example, a V7_1 version that equates to "7.1-preview" and change that when the service GAs and we release new packages.

On a related note, does this necessitate the client being in a preview state in directly correlation to service being in a preview state? If it does, because the client is in a preview state can we drop the V7_1_Preview service version before we GA and after the service has GA'd?
Default client version
I can find no guidance on what the default service version should be. Key Vault currently defaults to "7.0" - our track 2 "RTM", if you will. It does define a constant LatestVersion value, however. Storage, on the other hand, defaults to the latest version.

On one hand, defaulting to the latest helps push clients to the latest service version and eventually the service could deprecate older versions. Especially during previews, this can help uncover bugs in both the service and client.
On the other hand, this could mean customers run into unexpected breaking service changes. As with typical libraries, devs don't like to update unless they have to. Is it their responsibility to pin to a particular version via ClientOptions, or should we do it for them through a fixed default or, perhaps, upgrade periodically and intentionally?

What should guidance be in this case?
Testing different service versions
The guidelines state that all versions should be tested and recorded. While ideal, we also currently have a considerable amount of space consumed by recorded tests. Should we follow the guidelines, or - for now - try to mitigate growing repo sizes and test a single version when possible? If so, should we test the default version (or higher, as needed for some methods or models) as decided above?

You can take a quick look at https://github.com/Azure/azure-sdk-for-net/pull/9582 to see how we're testing multiple versions of Storage.

The C# Guidelines weigh on the default version:

The version parameter must be required, and default to the latest supported service version.

But it doesn't draw a distinction between Previews and Stable.  I'm not sure if the other languages are any more explicit.
I would imagine we'd ship

a GA version of KeyVault v4.X.0 with Latest meaning "Latest Stable release" and
a Preview version of KeyVault v4.X.0-Preview1 with Latest meaning "Latest Preview release"

Scheduled for Mar-2

That distinction is important, and any guidelines on which version to use should be general. To be honest, I didn't even check the C# guidelines because I expected general guidelines for anything related to this. JS Key Vault, for example, is making a distinction between Preview and Stable.
But regarding service version specific, one lingering question is whether we should explicitly define constants/values (and in some languages, there is no distinction like JS) for "7.1" mapping to "7.1-preview" until it ships, or just "7.1-preview" and keep it forever even if the service doesn't. Or should we keep our packages preview until a service GAs then drop "-preview" and GA our packages? I imagine for many client packages they may want to preview some functionality while keeping the package GA, though I'm not sure if that's allowed either. That's one thing we need guidance on as well.
@jongio can you also distill the info you sent me offline and update this thread this week so people have time to grok it before our meeting on March 2nd?

I updated the original description with some information @jongio sent me offline.

Notes from architecture board:
Recording:

There are no general guidelines for service API versioning.  Should they be written?

We should certainly talk about this!
No good guidance; consensus seems to be take the latest version.

Proposal:

GA libraries should default to latest stable version of the service API

Java doesn't have EditorBrowsable=Never (IDE support for hiding)
What about if the service team changes their mind around what the version is?
@johanste - preview libraries should still point to latest stable by default - opt in to preview features

Less agreement around this point.
We don't have a good way to preview "pieces" of an API
We don't want to introduce complexity.  However, SLA guarantees from service team are associated with GA, not preview.

Are we fixing a real problem or just adding more flexibility?
Cosmos provides a capability to opt-in to something you want to try out (dangerous, but we don't have a better answer).  It's opt in and not documented.
Preview Swaggers can change - stable Swaggers mean the API contract is already set in stone.
Aside from @johanste , no-one thinks doing preview features in GA packages is a good idea.  JS isn't going to "die on the hill".
The primary use case here is customer wants to use 99% GA features, but include 1 preview feature that is preview on the service + client library.
Should we consider configuration for a service version across an application?  Or "use this profile"
What happens when a service API version is deprecated?  We should be able to remove the enum value eventually?  It's a sliding window of support.  (Remove / throw an exception / log a warning / etc.)

ACTION:  Adrian will submit a PR to add the following requirements to general guidelines

GA libraries MUST target GA service API versions.
LATEST in GA library MUST point to the latest GA service API version.
Public preview versions of the library MUST point to latest public preview service API version.
Client libraries MUST include all versions of the service API that the client library supports in a ServiceVersion enum.
Client libraries MUST document what "latest service API version" points to.
ServiceVersion enum values MUST match the service version in swagger.
If a service API version is preview, then the ServiceVersion enum should be suffixed by -preview.
Given a X.X-Preview (service API version) that will transition to X.X in GA, accept the X.X in the client library and add the -Preview "under the covers" (then remove that code after the GA version is released)

Recorded Tests:

.NET and Java are both testing PRs with recorded tests against latest version.

ACTION:

Replace "DO recreate recorded tests for a specific service version" with "DO create recorded tests for the latest service version"

Inconsistencies:

Should Python/JS use a common moniker (service version) for specifying the service versions.
Java and .NET feel like differences in idiomatic usage.
Primarily, we are concerned with "when a user calls support and needs to know the API version..."
A lot of differing version features should require documentation on supported versions.

ACTION:

Python & JavaScript to come up with mechanism for providing supported service API versions to the customer.

Closing out as the guideline changes have been completed.


how do i add more pipes going at the same time

This loop creates pipes: https://github.com/1j01/pipes/blob/master/screensaver.js#L382-L384
You could increase the upper bound of the loop.


Wallet: Store local database of UTXOs

Currently the wallet requires the user to manually remember what OutputRef's belong to them. A real wallet will maintain a local database of UTXOs belonging to the keys in its keystore.
General Syncing Strategy
The wallet will need to scan the blockchain and check each transaction to see if any new outputs are available for any of the keys it controls (or more generally, if it knows how to produce a redeemer that satisfies the corresponding validator). This process is kind of roughly described in https://bitcoin.stackexchange.com/q/75840
To sync, we could add a subcommand Sync. When given this command, the wallet will look up the last block to which it synced from the filesystem, and query the node for all blocks from there to the tip, noting any new UTXOs along the way.
New Keys
When a new key is added, the user should specify from which block the wallet should resync. If no block is provided no resyncing happens. This is what a user would want when inserting never-before-used keys which couldn't have any possible existing UTXOs.
If the key has been used before and is just being restored to this wallet, the wallet will query the node for all blocks starting at the block the user provides (possibly genesis) to check for owned utxos.
Manually specifying owned UTXOs
We could consider letting the user skip the syncing, and instead manually specify the UTXOs that they already know are relevant. Maybe they are exported from another wallet. Although this may be premature optimization.
Storage Optimization
Users may choose to delete keys at any time. When this happens the wallet should also prune the now-useless database of UTXOs owned by the deleted keys. To make this operation performant, the wallet should store the database on a per-key basis.
Forks and Reorgs
We have to handle the reality of re-orgs. If the wallet syncs its local database to the tip of the chain, and then a few blocks are orphaned, the wallet will have inconsistent data. I haven't fully thought this through yet.
One strategy would be to rely on finality. But not all chains provide finality, and even when finality is available, this may lead to an unacceptable lag for the user.
Another strategy is to keep the local database stored on a per-block basis so that the wallet can actually revert the affected portion easily. When starting a sync, the wallet would query the node to see if its best known block is currently canonical. If so great, just do a linear sync. If not, find a common ancestor, revert local state after the fork block, and then do a linear resync. We'll have to see what RPCs the node provides to make this possible. There may also be some hints in Polkadot JS for a good strategy.

This was introduced in #56


add secret export

https://github.com/rancher/rancher/issues/9059

Test failure is unrelated

LGTM


Docker CPU and Memory usage display 0%

I'm running this within Proxmox on a LXC container.
The container is running debian 12 with docker etc installed.
It can see which containers are running but can't output their individual cpu and memory usage.
I suspect this is a limitation because of this setup as running a beszel docker agent on the proxmox host allows me to see the docker cotainers running and also their individual cpu and memory usage.
Am i doing something wrong?
Love the software btw. ;)

I have the same issue, since updating to the latest, my docker usage dropped to nothing. I already had an issue showing memory usage before (as you can see in the screenshot)

Also to confirm, my version of docker is Docker version 27.1.2, build d01f264

Okay so I did more digging and I found out that my docker couldn't access memory information but I followed this guide (https://akashrajpurohit.com/blog/resolving-missing-memory-stats-in-docker-stats-on-raspberry-pi/) and it all works fine for me now. Might work for other people, particularly running on raspberry pis Like I am

@ajdaniel Thanks, this has come up a few times in other issues so I'll make a note to add this info to the readme.
@version-au Try running docker stats --no-stream from within the lxc container. If it shows zero values there, then it's not something I can fix on this end.
I found this discussion on the proxmox forum, but the conclusion is to not run docker in an lxc container because weird things happen: https://forum.proxmox.com/threads/docker-stats-returns-zero-inside-lxc.115095/

@version-au Were you able to figure this out? If not please check if you get any CPU / mem stats when running docker stats --no-stream.

@version-au Were you able to figure this out? If not please check if you get any CPU / mem stats when running docker stats --no-stream.

Sorry been away for a few days. Running docker stats --no-stream shows 0% for usage and 0 for memory usage as well. I haven't had a chance to try anything from the link ajdaniel posted.
I know running docker in an LXC is not supported or recommended but for my use case it's been great. If i find a work around or get any further with it i will post my results.
Cheers for your suggestions and time.

@version-au  I'm closing this issue because it's not something I can fix on this end, but please let me know if you figure it out.


Doubts about NAS+TypeError: tuple is not a Module subclass

Describe the issue:
I am using your framework to perform a NAS experiment on my use case.
While using LayerChoice I get the below error.
TypeError: tuple is not a Module subclass
Apart from the above issue, I have a few more questions:

If I understood correctly, right now with one-shot NAS you only support LayerChoice and InputChoice, right? In my use case I would like to use input choice and also repeat. Is it possible to do that?
I started to use DARTS for it because it is faster. Would you recommend switching to another NAS  approach to use other mutation options?

If I understood correctly,  these are layerwise approaches. Would it be possible to extend it to a blockwise approach as well?

Environment*: Remote Server

NNI version: 2.6
Training service (local|remote|pai|aml|etc):
Client OS:Ubuntu 20.04.3 LTS
Server OS (for remote mode only):Ubuntu 20.04.3 LTS
Python version:Python 3.8.12
PyTorch/TensorFlow version: Toch 1.10.0+cu111
Is conda/virtualenv/venv used?: conda
Is running in Docker?: No

Configuration:

Experiment config (remember to remove secrets!): one-shot DARTS

  self.pointwise=LayerChoice([
               (nn.Conv1d(
                in_channels, out_channels, kernel_size=1, stride=1,
                dilation=dilation, bias=bias, padding=0
            ),
            nn.Conv1d(
               in_channels, out_channels, kernel_size=2, stride=1,
                dilation=dilation, bias=bias, padding=0
            ),
              nn.Identity()

            )],label='point')
        else:
            self.conv = Conv1d(
                in_channels, out_channels, kernel_size=kernel_size,
                stride=stride, padding=padding, dilation=dilation, bias=bias
            )

    def forward(self, x):
        if self.separable:
            x = self.depthwise(x)
            x = self.pointwise(x)
        else:
            x = self.conv(x)
        return x

ERROR:
File "mutatemodel.py", line 174, in __init__
    self.pointwise=LayerChoice([
  File "nni/nni/retiarii/nn/pytorch/api.py", line 95, in __init__
    self.add_module(str(i), module)
  File "python3.8/site-packages/torch/nn/modules/module.py", line 377, in add_module
    raise TypeError("{} is not a Module subclass".format(
TypeError: tuple is not a Module subclass

I look forward to your reply.
Thanks!

I was able to resolve the issue. I still have some questions. Please could you answer those?

If I understood correctly, right now with one-shot NAS you only support LayerChoice and InputChoice, right? In my use case I would like to use input choice and also repeat. Is it possible to do that?
I started to use DARTS for it because it is faster. Would you recommend switching to another NAS  approach to use other mutation options?

If I understood correctly,  these are layerwise approaches. Would it be possible to extend it to a blockwise approach as well?

Supporting repeat on DARTS is in our plan. (probably conv-with-ValueChoice, then repeat).
I might not be familiar with those glossaries. So may I ask what's the differences between layer-wise approach and block-wise approach?

You can try to add an Identity to LayerChoice.
Please refer to ProxylessNAS example.

For example, when you want "one to three" layers of conv:
self.conv1 = nn.LayerChoice([nn.Conv2d(...), nn.Identity()])
self.conv2 = nn.LayerChoice([nn.Conv2d(...), nn.Identity()])
self.conv3 = nn.LayerChoice([nn.Conv2d(...), nn.Identity()])

@ultmaster Awesome! Indeed that seems to work! Thanks!
One last thing: regarding Value choice: How can I incorporate that in such a block-based design?

What you are trying to do is called nested LayerChoice. This is supported by most multi-trial strategies, but unfortunately hasn't been supported by one-shot yet.
One workaround is to build two search spaces. Search the inner one first then the outer one. Another workaround is to inherit the DartsTrainer and implement how to handle nested by yourself, which is not easy. I believe such usage is not even included in the original design of DARTS paper.
Export best model to onnx doesn't actually make any sense. After you get the best architecture, which is only a network structure, you have to "retrain" it to get the final model. Please refer to docs on how to do it.

Regarding nested LayerChoice: I guess two separate search spaces might not give the most optimum solution. I am rewriting the code to flatten the hierarchy, so there would be only one search space. If this does not work then I would try a multi-trial approach.
Thanks for the heads-up regarding retraining. I am implementing that.
Regarding the NAS search: One thing I noticed is that in my use case, the child network's loss saturates around 2.0x, which is quite high. I am trying to play around with the hyper-parameters but doesn't seem to help.
Do you have a hunch about what could be the reason for it? Is it like I need to retrain to fix this? Otherwise, I am not sure if the search is generating the best architecture.

Flatten the nested LayerChoice into a un-nested one could be a valid workaround.
Hardware-aware DARTS: A straightforward idea is to implement a regularized term (normalized expected latency) to punish the architecture parameter so that it prefers light-weight operators. (Notably, this appears to exactly what have been done in ProxylessNAS.) Another one is to filter out the architectures exceeding latency limit when exporting. Or you can use ProxylessNAS, but bear in mind that there are other differences between ProxylessNAS and DARTS other than the "hardware" part.

Thanks for the input. I am trying to switch to ProxylessNAS. Finally, I was able to pass my model from torch.jit.script. While converting to the graph I get the below error message. torch.jit.script seems to work correctly.
I tried to debug. It seems like in graph_gen.py lc_node is None, so get_node_by_name( in graph.py is returning None.  Not sure if there is some label mismatch happening over here?
Traceback (most recent call last):
  File "nas.py", line 165, in main
    trainer = ProxylessTrainer(
  File "nni/nni/retiarii/oneshot/pytorch/proxyless.py", line 267, in __init__
    self.latency_estimator = HardwareLatencyEstimator(applied_hardware, self.model, dummy_input)
  File "nni/nni/retiarii/oneshot/pytorch/proxyless.py", line 114, in __init__
    self.block_latency_table = self._form_latency_table(model, dummy_input, dump_lat_table=dump_lat_table)
  File "nni/nni/retiarii/oneshot/pytorch/proxyless.py", line 138, in _form_latency_table
    base_model_ir = convert_to_graph(script_module, model,
  File "nni/nni/retiarii/converter/graph_gen.py", line 845, in convert_to_graph
    converter.convert_module(script_module, module, module_name, model, **kwargs)
  File "nni/nni/retiarii/converter/graph_gen.py", line 715, in convert_module
    self._trace_module(module, module_name, ir_model, dummy_input)
  File "nni/nni/retiarii/converter/graph_gen.py", line 755, in _trace_module
    lc_inputs = [torch.randn(shape) for shape in lc_node.operation.attributes['input_shape']]
AttributeError: 'NoneType' object has no attribute 'operation'

Well... now the traceback comes to graph converter. I have to say, graph_gen is a delicate and fragile piece of code. I'll ask colleagues who's specialized in this part to take a look.

Thanks, @ultmaster! I would appreciate that!
I am trying to debug on my end as well.

Hi @JiahangXu, I see. Please see below. I use the below block 1) with different kernel sizes inside one LayerChoice 2) and stack it with other blocks
self.block1 = nn.LayerChoice([CustomBlock_kernelsize1(...), CustomBlock_kernelsize2(...), .........., nn.Identity()])
self.block2 = nn.LayerChoice([CustomBlock_kernelsize1(...), CustomBlock_kernelsize2(...), .........., nn.Identity()])

class CustomBlock(nn.Module):
    def __init__(self, in_channels, out_channels,activation, dropout, kernel_size=1, stride=1, dilation=1, padding=0, bias=False, separable=False):
        super(CustomBlock, self).__init__()

        self.depthwise = nn.Conv1d(
        in_channels, in_channels, kernel_size=kernel_size, stride=stride,
        padding=padding, dilation=dilation, bias=bias, groups=in_channels)

        self.point_linear = nn.Sequential(OrderedDict([
            ('conv', nn.Conv1d(
                in_channels, out_channels, kernel_size=1, stride=1,
                dilation=dilation, bias=False, padding=0)),
                ('bn', nn.BatchNorm1d(out_channels, eps=1e-3, momentum=0.1)),
                ('act',activation),
                ('drop',nn.Dropout(p=0.5))
                ]))

    def forward(self, x):
        x = self.depthwise(x)
        x = self.point_linear(x)
        return x

Regarding non-edge devices: So it wouldn't be possible to have our own device or model at all? I would like to make my NAS hardware aware for my platform.

Got it. I will test your code. About enabled devices, nn-Meter provides builder tools to help users build the latency predictor for their own devices. I mean nn-Meter has no plan to provide fully completed latency predictors for non-edge devices. The nn-Meter version containing nn-Meter builder tools will be released in about one or two weeks. I hope this information could help.

Thanks, @JiahangXu! Please keep me posted.
Regarding enabled devices: that would be great if you will allow users to build their own latency predictors! I would certainly try to contribute there.

Hi, @JiahangXu and @ultmaster, update on this issue:
I was finally able to parse my model to run it with ProxylessNAS.
I did the following two things to make it work:

Moved all the logic from forward() to init()
Updated kernel_detector.py  to support tensors with axis other than 4. (I guess you hard-coded it for imagenet).

Now I am debugging everything for functional correctness. Right now, I am using the cortexA76cpu_tflite21 device. I realized that the latency of my modules in latency_table.yaml seems a bit lower than what I would expect. Could it be because I am using 1D modules (conv1d, BatchNorm1d, etc) while the cortexA76cpu_tflite21 is built using 2D modules? or I need to name the module in a certain way so nn-meter can predict?
I guess the stationary_block in latency_table are non-layerchoice modules, right?


PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException

Hello,
I try to upgrade quarkus from 2.14.2.Final to 2.16.4.Final (I have not tested the intermediate versions).
When I try to access to minio client (get, stat, etc...), an exception is throwed :
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
My Minio HTTP endpoint is in TLS mode with an auto-signed cert.
Is there a workaround to force the request (even in unsigned SSL mode) ?
Yes, it's a bad practice :)
This option don't work : quarkus.ssl.native = false

Hi do you have quarkus-micrometer ?
Can you provide a reproducer ?

Also, which minio extension version do you use ?

Hi,

Do you have quarkus-micrometer ?
No
Also, which minio extension version do you use ?
2.10.3
Can you provide a reproducer ?
More details ?

So you only upgraded quarkus version? I can't see how the issue could come from the minio extension. Internaly minio sdk uses okhttp3, which hasn't been updated between 2.14.2.Final to 2.16.4.Final...
Was the only update you made the quarkus version ?

I will check my project revision and retry to give more informations

Hi,
I found the problem.
When upgrading quarkus versions I also re-installed my JDK. In development the certificate is read from the keystore and in production directly from kubernetes.
Nevertheless, I don't understand why I was able to make a listObjects without TLS error. The error occurs at the get.
Sorry to bother you :)

No problem, I'll close the issue for now, we will re-open it if needed.


Exception thrown (rarely) in TarHeader with empty array

I have a unit test that goes though some SharpZipLib methods.
Every once in a while it fails in a VM which the following error:
ModTime cannot be before Jan 1st 1970 (Parameter 'value')
at ICSharpCode.SharpZipLib.Tar.TarHeader.set_ModTime(DateTime value)
at ICSharpCode.SharpZipLib.Tar.TarHeader.ParseBuffer(Byte[] header, Encoding nameEncoding)
at ICSharpCode.SharpZipLib.Tar.TarInputStream.GetNextEntryAsync(CancellationToken ct, Boolean isAsync)
at ICSharpCode.SharpZipLib.Tar.TarInputStream.GetNextEntry()

The code that is throwing that exception is the below one and is ALWAYS called with input   Array.Empty():
public static byte[] Dummy(this byte[] data) {
    using var inStream = new MemoryStream(data);
    using var outStream = new MemoryStream();
    using var gzipStream = new GZipInputStream(inStream);
    using var tarInputStream = new TarInputStream(gzipStream, Encoding.UTF8);
    while (tarInputStream.GetNextEntry() is { } tarEntry) {
    }

    return outStream.ToArray();
}

The "fun" part is that this NEVER happens in my local machine. Only in the CICD pipeline, once in a while.
The CICD pipeline is a newly booted ubuntu-20.04 container on Azure Devops.
Steps to reproduce

Boot a ubuntu-20.04 container (freshly booted?)
Run the function
Repeat until it happens

Expected behavior
A dummy empty tar.gz archive should be enumerated
Actual behavior
An exception is (rarely) thrown.
Version of SharpZipLib
1.4.0
Obtained from (only keep the relevant lines)

Package installed using NuGet

I don't really understand what this is supposed to accomplish... Running Dummy(Array.Empty<byte>()) should just return byte[0].
In any case, the bug is probably caused by this remark.
The array pool returns an array and when it's being used to read data from the stream, if the stream is empty, no new data is copied to the buffer.
This means that whatever data was still present in the rented array was parsed as an (invalid) Tar header.
This should be fixed by "padding" the input stream with null bytes instead of just breaking in
https://github.com/icsharpcode/SharpZipLib/blob/d2a0c68d0fceacb5519391078e988185a88c7c2c/src/ICSharpCode.SharpZipLib/Tar/TarBuffer.cs#L403-L406

Repro
https://dotnetfiddle.net/Drl27x
Note: Causes System.ArgumentOutOfRangeException: Cannot be less than zero (Parameter 'value') instead due to the garbage data being 0x8b, but it's still caused by the same bug.

I don't really understand what this is supposed to accomplish...  The Array.Empty is just a mock to simplify the logic. I agree with you that it should always return byte[0] but sometimes, the hasHitEOF inside TarInputStream.cs is false, for some reason.

It's definitively caused by the re-use of a shared array pool array. The array is not zeroed, so when reading from an empty source it will treat the "garbage" data in the array as input.

That makes sense. Thank you for the explanation.