visualstudio2022buildtools Fails to Install - Version Mismatch?

Thanks a lot for maintaining this package!
When I run the following install command it fails to install with the following error:
choco install visualstudio2022buildtools \
  --x86 \
  --confirm \
  --ignore-package-exit-codes \
  --limit-output \
  --timeout 21600 \

visualstudio2022buildtools has been installed.
ERROR: After update operation, Visual Studio product: [installPath = 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools'] is at version 17.3.32804.467, which is lower than the desired version (17.3.32811.315). This means the update failed.
The install of visualstudio2022buildtools was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\visualstudio2022buildtools\tools\ChocolateyInstall.ps1'.
 See log for details.

I don't fully understand where the "desired version" comes from and why it's apparently higher than the actually installed version.
Is there a workaround for this?

This check should only be relevant in an upgrade scenario (if you already have an older VS 2022 Build Tools version installed and the package upgrades it to the latest).
The package reads the "desired version" from a manifest file (hosted by Microsoft at https://aka.ms/vs/17/release/channel), which drives the Visual Studio installation. The package always installs the latest published VS version and expects that the version detected on the machine after the setup process completes matches the version specified in the manifest file. If the version on the machine is lower, the package assumes the upgrade process has failed for some reason even though the VS install process did not return an error code (I have seen it happen in various cases, in particular with older versions of the VS Installer).
Now, there is a complication, regarding very minor VS updates. But first, please confirm: did you actually have Build Tools installed on the system before invoking that choco install command? Additionally, can you share your choco log file (C:\ProgramData\Chocolatey\logs\chocolatey.log)?

I might as well describe the complication already:
There have been cases of VS updates so tiny/focused that they would not touch any components present in Build Tools.  I have seen it in VS 2017 some months ago, I don't recall the specific versions. The official VS version was increased and all products (Professional, Enterprise, Build Tools etc.) got updated install links, but existing installations of previous version of Build Tools would not update to the newly released version - the installation would succeed, but the reported installed version would not change. In contrast, a new installation of Build Tools would get the newer version number.
This, in fact, seems to be what has happened recently in VS 2022. Version 17.3.1 exibits the same behavior:

installing Build Tools 2022 17.3.1 (using its fixed version installer from the release history) results in version 17.3.1 being reported as installed
upgrading Build Tools from 17.3.0 using the 17.3.1 installer succeeds, but does not increment the version number

Fortunately, 17.3.2 (released yesterday) behaves reasonably and does update the Build Tools. So you should no longer encounter the problem.

Thanks a lot for the response!
I'm building a docker image, but I'm actually not a 100% sure what the base image is already shipping with.
The reason I encounter this was mainly because I need the visualstudio2022-workload-databuildtools package that has a dependency onto visualstudio2022buildtools. As it kept failing, I added an explicit step for visualstudio2022buildtools which kept failing with the mentioned errors.
But if the base image already ships with the build tools, then your explanation can totally make sense. Wonder if there's a workaround for this issue though, as it kind of breaks the installation process.

Just test the installation process again and this time it succeeded, as such it's even more of an indication that it was caused by the "complication". 😄
Unfortunately I don't have the log, as I've removed the "failed" docker image build.
From my point of view the issue can be closed, unless you want to keep it open to discuss potential solutions for the "complication".

I'm actually not a 100% sure what the base image is already shipping with

Are you using a publicly available base image? If yes, can you share the link?
As for inspecting the existing state, there are two easy ways:

turn on choco verbose and debug logging: choco install --verbose --debug ... (I'd also remove --limit-output) - the package will emit a lot of detailed diagnostic messages, in particular it will report if any VS products are already present

use the VSSetup PowerShell module:

Install-PackageProvider NuGet -Force
Install-Module VSSetup -Force
Get-VSSetupInstance | Format-List -Property *

Wonder if there's a workaround for this issue

The way the VS choco packages currently work is they always install (or upgrade to) the latest VS version published by MS (regardless of package version: you can run choco install visualstudio2022buildtools --version <IP_ADDRESS> and you will still get VS 17.3.2, as of today). This might be inconvenient if you are building an image, because you essentially do not have control over the exact contents of the image, so the build process is not repeatable and you may suddenly get different behavior.
There is, however, a way to reliably install a specific VS version. The scripts used internally in the packages support it already; I've been thinking about publishing such "deterministic" packages, but never had the time and sufficient motivation. But you can do this:

Pick the desired VS Build Tools version from the release history and copy the url for the fixed version bootstrapper from the Current channel (e.g. Build Tools 17.2.6)

In the dockerfile, download that bootstrapper and pass it to the choco package:

Invoke-WebRequest -UseBasicParsing -Uri 'https://download.visualstudio.microsoft.com/download/pr/91cf5cbb-c34a-4766-bff6-aea28265d815/645d56f3dc5b12783a0c9a19dc90a2cfc63191d837e6c988fba91e6db3525bf3/vs_BuildTools.exe' -OutFile .\vs_BuildTools-17.2.6.exe
choco install --confirm --verbose --debug visualstudio2022buildtools --version <IP_ADDRESS> --package-parameters "--bootstrapperPath .\vs_BuildTools-17.2.6.exe"

(the choco package version is set in this command only as a way of improving the repeatability of the image build; it does not affect the VS version being installed - the specific bootstrapper does that)

Now you have full control over the VS version in each image build and can decide exactly when you want to upgrade to a newer version. (You would probably also need to control the specific version of the base image to be used, so that it does not suddenly come with a newer Build Tools.)

By the way, the --x86 switch has no effect for VS packages. Visual Studio does not come in two bitness flavors.

From my point of view the issue can be closed, unless you want to keep it open to discuss potential solutions for the "complication".

Yes, I'll keep it open as a reminder. Previously, when I had seen the problem only in VS 2017, I didn't really feel the need to act upon it, but now that it has appeared in 2022 it might become a nuisance and require some action.

* upgrading Build Tools from 17.3.0 using the 17.3.1 installer succeeds, but does not increment the version number

I'm having this problem right now again when upgrading from <IP_ADDRESS> to <IP_ADDRESS>.  Is there any kind of logic to what kind of build tools version increase will actually cause the component to be updated?  If so would it be possible to have the version match check be a little more lenient so that upgrades wont just error out when the succeed with Microsoft's expected behavior?

Is there any kind of logic to what kind of build tools version increment will actually cause the component to receive an update?

Unfortunately, I haven't been able to find any reliable source of that information, short of actually attempting the upgrade on a test machine and seeing what happens (and doing that for each new version is out of the question due to the workload and costs involved). Perhaps this is somehow buried in the channel manifest (https://aka.ms/vs/17/release/channel), or the component manifest referenced by it, but so far nothing stood out for me.
This whole problem seems to me like a bug/design flaw of the Visual Studio Installer, because if Build Tools is installed on a clean machine, it will have the correct (latest) version number. Only the upgrade process fails to update the version.
Now, approaching from another angle: the whole intent of the version check in the package scripts was to detect cases when the upgrade process failed. This is important when other packages depend on a minimum version of Visual Studio (such as some workload packages). However, I think it would be okay to change the version check to accomodate both needs: raise an error when the minor version (second part) is lower than expected, but tolerate a difference in the patch version (third part) and just log a warning.


Data stops binding at a certain point

I have the following structure:
filesTemplate:

	{{#root}}
		{{>file}}
	{{/root}}

	{{#files}}
		{{>file}}
	{{else}}

<s>(empty)</s>
	{{/files}}

<s>{{ name }}<s
	class="{{ c ? 'c' : ''}} {{ f ? 'f' : '' }}">{{ ext }}</s></s>
	{{# ./open }}
	{{# type === 'folder' }}
		{{>folder}}
	{{/ type === 'folder' }}
	{{ /open }}

This is my setup:
var ractive = new Ractive({
	el: document.getElementById('files')
	, template: filesTemplate
	, data: { root: currentDirectoryListing() }
});

And currentDirectoryListing returns an object like this:
{
  files: Array[4],
  name: "MyDir",
  open: true,
  path: "/yaddayadda/mydir",
  type: "folder",
}

Now, when a new directory is selected, there's obviously a new object, and I need to refresh. I WAS getting this to work with:
ractive.set('root', currentDirectoryListing());

Everything was working splendidly. However, at some point, something changed, and while the ractive will bind the first time, it will not bind to any data after that. It doesn't matter if I call update with a keypath to consider dirty, it doesn't matter if I call set and manually enter an object structure that should directly map to the template. It will display the root name, but not any other data. Any ideas what might cause that?

Seems odd. You might try adding a console.log to your template to see what's going on when you set root:

    {{console.log(root)}}
    {{#root}}
        {{>file}}
    {{/root}}

Yeah, it does seem odd - what version are you using? Any chance you could knock up a JSFiddle that reproduces the issue? Here's a template fiddle -> http://jsfiddle.net/rich_harris/va6jU/. Thanks

Sorry guys, I seem to have solved the problem, and by now have forgotten how I solved it. I think possibly a function stopped returning the right node of the array, so I can't say for sure if it was a bug that I worked around, or a mistake of mine that I fixed, so to not waste your time, I will close.


Show menu in subcommands under mesheryctl system

Removed args in certain subcommands under system.
Show help menu instead.
Notes for Reviewers
This PR removes args in certain subcommands under 'system'. This makes the user experience a little bit jarring because when you go to navigate to certain subcommand, you expect the help menu to show up. On some of the subcommand, it didn't make sense to have args because there's already a help menu in place with other subcommands for that one.
A couple of the files that were added to the commit which I did not know until after the fact. These are just formatting issues.
Signed commits

[ ] Yes, I signed my commits.

@nebula-aac are we holding onto this under commands outside of system have been updated or were those already reviewed?

@leecalcote any of the other commands didn't seem like it needs a help menu, so far i only saw system had some subcommand that would be better with a menu option. i can double check

Menus… like that of mesheryctl system login as an example, right?
Clarification: we will still have MeshKit-style error codes with probable cause and suggested remediation, right?

@leecalcote
Yes, whenever you run a command, some of the subcommand returns an error because we were requiring another command attached, but we wouldn't know unless we do meshery system context.
It will return this
./mesheryctl system context
Error: please specify a flag or subcommand. Use 'mesheryctl system context --help' to display user guide.

See https://docs.meshery.io/reference/mesheryctl/system/context for usage details

When I was navigating through some of the commands, I felt it was an extra step to ask for the user to provider another flag, and then ask them use --help to get the commands needed for it, when you can just run it as normal and see the help menu.
And ask for meshkit, yes, the only reason the fields wouldn't be showing would be if you didn't add anything to. In errors packages from meshkit, we don't have a requirement to look for those fields to be filled, nor do we have a check for if a field has been nil or not.
I can make it so but it may cause some initial start for everyone to get used unless we documented in the official readme about how to setup a custom error message.

Ok, so not a selectable menu, then, unlike the login command that has a menu.

I can check.

@leecalcote
Yes, whenever you run a command, some of the subcommand returns an error because we were requiring another command attached, but we wouldn't know unless we do meshery system context.
It will return this
./mesheryctl system context
Error: please specify a flag or subcommand. Use 'mesheryctl system context --help' to display user guide.

See https://docs.meshery.io/reference/mesheryctl/system/context for usage details

When I was navigating through some of the commands, I felt it was an extra step to ask for the user to provider another flag, and then ask them use --help to get the commands needed for it, when you can just run it as normal and see the help menu.
And ask for meshkit, yes, the only reason the fields wouldn't be showing would be if you didn't add anything to. In errors packages from meshkit, we don't have a requirement to look for those fields to be filled, nor do we have a check for if a field has been nil or not.
I can make it so but it may cause some initial start for everyone to get used unless we documented in the official readme about how to setup a custom error message.

@nebula-aac its best if the fields are filled because it gives the user an idea on how to proceed with a solution when an error occurs , our focus should just be making each error message for each field brief and concise

@Philip-21 I agree but I'm not doing it on this PR though
That will be a separate PR once I test out the changes I can make in meshkit.
This PR is just to remove some of the required args in some of the subcommands.

If you want to make changes in Meshkit please create an issue first, so we all can understand what you want to implement

This has a dependency on https://github.com/meshery/meshkit/pull/340, is that right?


Add button support

Currently there is only link support that will handle the users clicking and scrolling to an element. I have added support for using html input elements as buttons. This will allow the user to click on a button and go to an element.

Looks good! Thanks for the PR. Merged!


chore(deps): update terraform terraform-ibm-modules/key-protect-all-inclusive/ibm to v4.6.0

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/key-protect-all-inclusive/ibm (source)
module
minor
4.4.2 -> 4.6.0

Release Notes

terraform-ibm-modules/terraform-ibm-kms-all-inclusive (terraform-ibm-modules/key-protect-all-inclusive/ibm)
v4.6.0
Compare Source
Features

added kp_private_endpoint and kp_public_endpoint outputs  (#404) (258bda5)
updated Key Protect module to version v2.5.1. This version will cause an expected update in place on the Key Protect instance if you have one provisioned. See v2.5.1 release notes for details. (#404) (258bda5)

v4.5.0
Compare Source
Features (#400) (0148340)

The following variables have been removed force_delete, force_delete_key_ring, existing_key_map, as its now possible to pass them as part of a new input variable list called keys. This has replaced the old variables key_map and existing_key_map as it supports creating key in existing and new key rings using a boolean. See updated usage on how to consume module.
Current infrastructure will not be impacted when updating to this version if migration to new usage is done correctly. For example:
In previous versions:
key_map = {
  "key-ring-name-1" = ["key-1", "key-2"]
}

existing_key_map = {
  "key-ring-name-2" = ["key-3", "key-4"]
}

In this version:
keys = [
  {
    key_ring_name = "key-ring-name-1"
    keys = [
      {
        key_name = "key-1"
      },
      {
        key_name = "key-2"
      }
    ]
  },
  {
    key_ring_name = "key-ring-name-2"
    existing_key_ring = true
    keys = [
      {
        key_name = "key-3"
      },
      {
        key_name = "key-4"
      }
    ]
  }
]

In addition, the output of the module has changed to now only have one "keys" output. below is an example of how the output has changed:
Older versions:
module.kms_all_inclusive.keys["key-ring-name-1.key-1"]
module.kms_all_inclusive.keys["key-ring-name-1.key-2"]
module.kms_all_inclusive.existing_key_ring_keys["existing-key-ring.key-3"]
module.kms_all_inclusive.existing_key_ring_keys["existing-key-ring.key-4"]
module.kms_all_inclusive.key_protect_guid

This version:
module.kms_all_inclusive.keys["key-ring-name-1.key-1"]
module.kms_all_inclusive.keys["key-ring-name-1.key-2"]
module.kms_all_inclusive.keys["existing-key-ring.key-3"]
module.kms_all_inclusive.keys["existing-key-ring.key-4"]
module.kms_all_inclusive.kms_guid

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

An update in place happens (as expected and documented with the key-protect-all-inclusive release notes)
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:   # module.key_protect_all_inclusive.module.key_protect[0].ibm_resource_instance.key_protect_instance will be updated in-place
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:   ~ resource "ibm_resource_instance" "key_protect_instance" {
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:         id                      = "crn:v1:bluemix:public:kms:eu-de:a/abac0df06b644a9cabc6e44f55b3880e:3eb0a87e-1b3c-426b-ac49-13000b12170d::"
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:         name                    = "etcd-upg-mfv44b-kp"
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:       + parameters              = {
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:           + "allowed_network" = "public-and-private"
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:         }
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:         tags                    = []
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:         # (33 unchanged attributes hidden)
TestRunCompleteUpgradeExample 2024-02-04T18:33:27Z command.go:185:     }

This has nothing to do with this module, and no other errors are reported with the upgrade, so a SKIP UPGRADE TEST commit will be created.

/run pipeline

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


Add preference for track info in popover

If I turn off the preferences for Show artist and Show title I have no way to see artist or title, even in the popover. Please add an option to Show track info in popover. I would recommend adding the text below the seek bar so that it doesn't disrupt how people are used to mousing in the popover. It would be nice to have the text formatted as:
Artist - Title
    Album

Hey @TrevorSayre I'm not sure by what you mean when you say you can't see the artist or title when it's turned of in the preferences. If you hover over the artwork the artist and song title is shown.
By the way in the latest version i've included a global hot key to show the current song:
control + command + m

Could you please explain a little bit more in detail about your request.
Currently, I know I don't show the album title, but your request seems to be something different

Is it possible the hover over the artwork didn't show the artist and song title when I made this request? Essentially the request is to have an option to show the following below the artwork and above the seek bar in the popover:
Artist - Title
    Album

control + command + m is a neat feature, maybe have a way to learn this in the settings pane? Maybe have a way to disable it in case it is interfering with other global hotkeys?


Changing environment library path does not toggle Apply button/link state

Repro steps:

Create a new environment
Configure it, including with a library path.
Click 'Apply'
Re-configure the environment editing the library path to a different directory.
Note 'Apply' is disabled.
Change the Python version
Note 'Apply' is now enabled.

Expected:
Changing the library path should allow the configuration change to be saved.

The actual bug here is that we still have the textbox for Library Path, but it is totally ignored :)


Limit Darwin and Windows builds to x86_64 and aarch64

It's probably fine if you want to disable the ppc64le and s390x builds. If you don't want to disable them outright this should skip crazy combos like darwin/windows ppc64le etc.


Unable to run module using node 6 on ubuntu 16.04

Error: Module version mismatch. Expected 46, got 48.
    at Error (native)
    at Object.Module._extensions..node (module.js:435:18)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at bindings (/home/vijay/Projects/nodejs/project/node_modules/bindings/bindings.js:76:44)
    at Object.<anonymous> (/home/vijay/Projects/nodejs/project/node_modules/bcrypt/bcrypt.js:3:35)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/vijay/Projects/nodejs/project/api/models/User.js:1:76)
    at Module._compile (module.js:410:26)

Node: 6.0 (with nvm)
NPM: 3.8.6
bcrypt: 0.8.6
OS: Ubuntu 16.04
I tried removing node_modules and .npm all together and flushing the npm cache but that didn't work.
Also tried npm rebuild.
Btw, i am getting Error: Module version mismatch. Expected 46, got 47. when using node 5.11
It works from node version 4.4.3.

i have this error when user not a 6.x node version. When i use 6.x node version its all good.

same problem on os x 10.11.5

rebuild

I'm still seeing this on OS X 10.11 with node 6.2.0 and bcrypt 0.8.6. I tried deleting node_modules and running npm rebuild, but I still get Error: Module version mismatch. Expected 46, got 48..

Seems to work now, try npm update

I am having the same issue, I believe it's just the nan module dependency that needs to be updated to the latest version ~2.3.5


Feature: add "month" parameter to set the default displayed month

Even if the parameter is not defined, the default will be today, as defined in the link function:
scope.month = scope.month || moment().startOf('day');

It was working event without this add, but it's better with it, thx ;)

Hello, thank you very much for the quick responde and merge :)
I didn't manage to make it work without this attribute, isn't the directive scope isolated from the controller scope ?
(it may be dependant on the angular version though)
Could you please drop a new tag for it ?
Thanks again !

Yep but you just pass it to the directive
Controller :
$scope.myMonth = moment(TIMESTAMP);

HTML
<multiple-date-picker month="myMonth" />

Isn't this working ? Maybe I'm wrong, it's been a few month I didn't code with Angular :p

Yep, but afaik it works only when the attribute you want to pass to the scope is defined in the directive :)

Ok, I'll go to bed less stupid tonight ! Thx ;)


encountered during container pull

Error pulling image (latest) from docker.io/library/python, Driver aufs failed to create image rootfs 20b348f4d5682b697d2f456322c97d916bafb65f6c4436697209ac1ec0f1803f: open /mnt/sda1/var/lib/docker/aufs/layers/8b49fe88b40b6c09bbe751e9b235d1919e704ae1765a304226047bd0b203b3fe: no such file or directory

Seems that your VM is having some issues - I would shutdown kitematic and reboot the vm:
docker-machine restart default

This can potentially be a hub problem - hub had some maintenance performed on it. It should be all back to normal.
check status.docker.com, and if you are continuing to have problems, please email<EMAIL_ADDRESS>


[core] Fix React 17 cron test and setup reporting

The React 17 cron test is failing (for example: https://app.circleci.com/pipelines/github/mui/material-ui/135112/workflows/8d17d057-14b2-4881-90a4-245f820a58af), we need to fix it.
We should also set up some kind of reporting so we get a notification when it fails.
Search keywords: react 17, cron, test

Hello im new to git hub open source community. I am studying software development and I was assigned to participate in a open source project and complete an issue. Can I take this and try ?

Hey @Mtjpp! This is a complex issue, and I'm afraid it is not suited for new contributors. You might have a bad time trying it. I would recommend looking for issues with the "good first issue" label, which could be better suited.


Ekfgsf_yaw in rtk gps

Does EKFGsf_yaw can converge when using a rtk gps  instead of spp mode?  Is a few centimeters horizontal movement enough to converge?

Does EKFGsf_yaw can converge when using a rtk gps instead of spp mode?

Yes, absolutely, the better the speed accuracy, the faster the convergence.

Is a few centimeters horizontal movement enough to converge?

There is no "yes" or "no" clear answer to that. The convergence time depends on the yaw observability and the yaw observability depends on the accelerometer noise, GNSS velocity accuracy and the acceleration of the drone.
So if you have high speed accuracy and a large acceleration with high SNR, then the filter can converge really quickly.
Best is to do some experiments with your setup. You can then fine tune the parameters of the yaw estimator to get the performance you need.

Note that EKF2 moved into PX4-Autopilot, this repository is deprecated. For further questions, please join the PX4 forum: https://discuss.px4.io/


GHA: Detect a new Virtual Environment fails with timeout

  1) GlobalVirtualEnvironment Locator
       Detect a new Virtual Environment:
     Error: Timeout of 25000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (d:\a\vscode-python\vscode-python\path with spaces\out\test\pythonEnvironments\discovery\locators\globalVirtualEnvironmentLocator.testvirtualenvs.js)
      at listOnTimeout (internal/timers.js:531:17)
      at processTimers (internal/timers.js:475:7)

https://github.com/microsoft/vscode-python/actions/runs/346576184

https://github.com/microsoft/vscode-python/actions/runs/344523003 is the first instance of the failure


compose_banner: Replace the close button with "Got it" button.

First commit makes a small fix for #29412

Second commit:
CZO Discussion

we should have a standard pattern for these onboarding banners, and replace the x with a "Got it" button like in #design > explaining message fading .

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Works for me in manual testing!

Hmm, is it worth doing the first commit? Every migration carries a cost, and I don't think it's actually a problem for the term to be wrong -- we may in the future change our mind back and forth between whether we want it to be a modal or a banner or some other component type.
Probably the error was putting the type of widget rather than just what it is introducing in the names, but I think it's better to leave it be and we can revisit the names as a group once we feel we've stabilized what set of things we have.

Okay, dropped that commit.

Merged, thanks @prakhar1144!


Rows not shown, always empty table

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
We use your table on different pages of our app.
Sometimes we have the problem, the table is not shown the records. We load the records from an http resource asynchronously, after elaborating it in some way on angular code we push the rows to table rows.
The problem is sometime, or better explained on some builds the table does not show the data. But the data is for sure there.
So we are not sure why this is happening and why this happening sometimes, but for example now, this is happening on every serve and on every build.
So perhaps is this a render or a timing problem? Or do you know this bug, or what could be the problem?

Table version: 11.1.7

Angular version: 5.1.3

Language: [TypeScript 2.5.x]

I'm also seeing what @johnhwright is seeing.
I dug into this a bit more, and it has to do with virtualization. I can get it to consistently happen when downloading the repo, running it, and making some modifications to one of the demos, so it isn't caused by anything outside of this package.
In order to re-create it, you can initialize the component with more data than than fits within the table, thus having the option to scroll. You then need the following to happen:

Scroll down in the grid a bit
Set the rows to an empty array, clearing out the table
Set the rows to some actual entries again

When this happens, the rows above where you are scrolled to are all blank. This only happens when virtualization is enabled.
I believe what is happening is the component doesn't understand that the scroll position should have changed, due to the grid being set to nothing and then having more added, so those elements above wherever you were scrolled to aren't added to the dom.
Hopefully that helps.

@0xdustin, Same issue I am facing. Have you any proper solution or workaround to resolve such issue.

Any update on this issue? I'm seeing it as well. From looking through the issues it looks like there was a way to force a refresh, has anyone been able to do this?

I'm having the same issue (v13.1.0) after clearing my external filtering; however, scrolling does not cause the rows to appear, rather everything remains blank. The only way I can get the rows to reappear is to enter a character into a filter...

I agree 0x4464, same worked for me. 👍 :-)
Looking for the issue that may be occur while disabling the virtualization option.

Hey @kabb5 , as you tried that is started a new cycle. So that it might be possible that it is working for you. 👍

@0x4464 @asachan2707  Thank you for the insight, im having the same issue and it appears its not fixed yet.
I've tried disabling virtualization (setting virtualization to false on datatable.component.ts) but its still an empty table.
Are you still using the same workaround?

Hi @mburger81 I was having that issue. I'm getting data from wcf service in json format, I configure the table as:
<ngx-datatable class="fullscreen" [ngClass]="tablestyle" [rows]="rows"
[columnMode]="'force'" [sortType]="'multi'" [reorderable]="false">

I was executing it and prop should the same name of your field however name is for your header name or the same field name of your json data.
It works for my.

For me this repeatedly happened when:
virtualization is true and vertical scroll position is not 0 and tableElem.rows property is update (e.g server sort)
My workaround is to call  setTimeout(()=>{         this.tableElem.element.getElementsByTagName('datatable-body')[0].scrollTop = 1;       },0); after  tableElem.rows is modified.

Having experienced this today, tried figuring out the bug. If I had more time, I'd work on a fix.
It appears the this.offsetY is not readjusted (properly? at all?) on the set rows setter (line 147 body.components.ts)
This is not an issue if the scrollbar didn't move position/change on a new row-data set. But because I've been setting the rows = [] before an async call, the scrollbar disappears and the position-mapping is not readjusted when the scrollbar reappears (at the top of the scroll area).
A quick fix could be setting this.offsetY = 0 in the set rows setter function, but I'm sure that would ruin some already expectant UX somewhere. Maybe if the new row's length is shorter, readjust the value?
I'm just going to copy @elimb solution. But the problem is obvious now.

I came across this problem as well, but it seems it was a different root cause as it only happened to me with external paging switched on. Still, if someone is having the same behaviour, my problem was that something got screwed with my page creation method and the number of hits was not being updated and remaining as 0, which caused no results to be shown.

That appears to be a different issue then the one I encountered. My issue is a rendering bug, you issue sounds like a data binding problem you had to work through,

Facing the same issue with Angular 9 and ngx-datatable 17.0.0. Can anyone point me into a direction?

Facing the same issue with Angular 9 and ngx-datatable 17.0.0. Can anyone point me into a direction?

Facing the same issue with Angular 9 and ngx-datatable 17.0.0. Can anyone point me into a direction?

Angular 11 :( same problem

We suspect we are hitting the same problem using Angular 10, 11 and 12.

SOLVED
I was having the same issue. I had the following in my dashboard.html
`<ngx-datatable id="owner-dashboard-table" class="material" columnMode="force"
[offset]="ownerDashTablePage.pageNumber" [limit]="ownerDashTablePage.size"
[count]="10" [rows]="ownerDashTableRows" [scrollbarH]="true"
[externalPaging]="true" [rowHeight]="'auto'" [headerHeight]="100" (page)="setPage($event)">

{{value}}

            <ngx-datatable-column name="Flag" prop="flag">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="Vessel Class" prop="classSociety">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="Supplier Name" prop="supplierName">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="Hazardous Material" prop="MaterialName">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="Total Quantity" prop="totalQuantity">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="IHM Part" prop="ihmPartName">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="IHM Category" prop="ihmEquipmentClassName">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="HM Status" prop="hmStatus">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    <span class="hm-status-table" *ngIf="value">
                        {{value}}
                    </span>
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="MDs & SDoCs Requested Date" prop="mdsSDoCsRequestDate">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="MDs & SDoCs Received Date" prop="mdsSDoCsReceiveDate">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="PO Number" prop="poNumber">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="VS Product Code" prop="productCode">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="Created Date" prop="createdAt">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="Last Modified" prop="updatedAt">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="MDs" prop="mdsDocPath">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="SDoCs" prop="sDoCsDocPath">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>

            <ngx-datatable-column name="Other Documents" prop="deckCheckDocuments">
                <ng-template let-value="value" let-row="row" ngx-datatable-cell-template>
                    {{value}}
                </ng-template>
            </ngx-datatable-column>
        </ngx-datatable>`

I resolved the issue by assigning [count]="10". Actually, this count should be assigned equal to the total number of results in paginated table but as I am still waiting on that to be sent in the API response. I just hard-coded this to 10 since my page size is 10. Earlier I had this set to 0 when declaring the variable and the table was taking the value as 0 only!
I even tried to remove the counts but even that does not work. It needs counts and they should not be 0 and it will display number of rows equal to counts.

Please fix this, problem exists still in "@swimlane/ngx-datatable": "^20.0.0"


Check that main exists in a package.json before using it.

If main isn't in package.json then path.join will throw when it gets undefined. We should fall through in that case to the next step which tries to read index.js

cc @pipeep

Yep, thanks!


Is there any way to collect history of data ?

Is it possible to collect all the data of sensors connected to homebridge (temperature, humidity, etc) ? Or even there is solution to visualise (charts) this data ?

I have updated my collection of sensor plugins to log there data to google sheets.  If you look at
Homebridge-dot
Homebridge-mcuiot
And my fork of homebridge-bme280
These all use a common package mcuiot-logger to log the sensor data to google sheets.
Sent from my iPad

On Jul 7, 2017, at 1:11 AM, andriuskr<EMAIL_ADDRESS>wrote:
Is it possible to collect all the data of sensors connected to homebridge (temperature, humidity, etc) ? Or even there is solution to visualise (charts) this data ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

https://github.com/homespun/homebridge-accessory-neurio/blob/master/index.js#L106

These suggestions are for individual sensors....
I am looking for an option co collect data from all sensors connected to homebridge.


aqueduct db upgrade: "RangeError: Invalid value: Not in range 0..1114111, inclusive: -1"

Hello,
First thanks for this amazing framework !
Now I'm posting this issue without really knowing if it's on the flutter / dart / aqueduct side specifically...
The fact is I'm developping and application with Flutter as front-end and I'm using aqueduct to build my backend server. All worked pretty fine until I tried to move on the beta channel of flutter (to test flutter web) and then aqueduct suddenly failed interacting with the database (even if I come back to stable flutter channel).  I'm sorry I can't give any "steps to reproduce" as I don't really know what is causing this error.
I'm not sure if there is any conflicts in the dart' SDKs used by flutter and aqueduct but I thought I could switch from one version of flutter to another without affecting aqueduct. Here is an example of an error I have :
D:\Documents\Dev\backend>aqueduct db upgrade --connect postgres://user:password@localhost:5432/app
-- Aqueduct CLI Version: 3.3.0
-- Aqueduct project version: 3.3.0
*** Uncaught error
    RangeError: Invalid value: Not in range 0..1114111, inclusive: -1
  **** Stacktrace
  * #0      StringBuffer.writeCharCode (dart:core-patch/string_buffer_patch.dart:76:9)
  * #1      PostgreSQLFormat.substitute (package:postgres/src/substituter.dart:83:29)
  * #2      Query.sendExtended (package:postgres/src/query.dart:61:38)
  * #3      _PostgreSQLConnectionStateIdle.processQuery (package:postgres/src/connection_fsm.dart:182:9)
  * #4      _PostgreSQLConnectionStateIdle.awake (package:postgres/src/connection_fsm.dart:168:14)
  * #5      _PostgreSQLExecutionContextMixin._enqueue (package:postgres/src/connection.dart:399:67)
  * #6      _PostgreSQLExecutionContextMixin.query (package:postgres/src/connection.dart:318:12)
  * #7      PostgreSQLPersistentStore.execute (package:aqueduct/src/db/postgresql/postgresql_persistent_store.dart:153:37)
  * <asynchronous suspension>
  * #8      PostgreSQLPersistentStore.schemaVersion (package:aqueduct/src/db/postgresql/postgresql_persistent_store.dart:216:26)
  * #9      CLIDatabaseUpgrade.handle (package:aqueduct/src/cli/commands/db_upgrade.dart:28:52)
  * #10     CLICommand.process (package:aqueduct/src/cli/command.dart:159:20)
  * <asynchronous suspension>
  * #11     CLICommand.process (package:aqueduct/src/cli/command.dart:135:12)
  * #12     CLICommand.process (package:aqueduct/src/cli/command.dart:135:12)
  * #13     main (file:///C:/Users/bapti/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/aqueduct-3.3.0/bin/aqueduct.dart:9:27)
  * #14     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
  * #15     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
  ****`

Here are several outputs of my binaries paths (not sure if it's directly related):
D:\Documents\Dev\backend>where flutter
C:\flutter\bin\flutter
C:\flutter\bin\flutter.bat

D:\Documents\Dev\backend>where dart
C:\dart-sdk\bin\dart.exe
C:\flutter\bin\cache\dart-sdk\bin\dart.exe

D:\Documents\Dev\backend>where pub
C:\dart-sdk\bin\pub.bat
C:\flutter\bin\cache\dart-sdk\bin\pub.bat

D:\Documents\Dev\backend>where aqueduct
C:\Users\bapti\AppData\Roaming\Pub\Cache\bin\aqueduct.bat

Finnaly some outputs that may be usefull :
D:\Documents\Dev\backend>dart --version
Dart VM version: 2.8.1 (stable) (Thu Apr 30 09:25:21 2020 +0200) on "windows_x64"

D:\Documents\Dev\backend>flutter --version
Flutter 1.17.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision e6b34c2b5c (6 days ago) • 2020-05-02 11:39:18 -0700
Engine • revision 540786dd51
Tools • Dart 2.8.1

D:\Documents\Dev\backend>aqueduct --version
Aqueduct CLI version: 3.3.0

Thanks in advance for your help, and I apologize if it's not related to aqueduct directly of if the error is on my side.
EDIT
It seems like it's due to dart lastest version (2.8.1) but still why would changing flutter channel impact dart SDK used by aqueduct ?
Fluter dart SDK is 2.8.1 and I've downgraded "normal" dart SDK to 2.7.2. So aqueduct is supposed to use the lastest but if in my path C:\flutter\bin\cache\dart-sdk\bin is before C:\dart-sdk\bin then aqueduct use flutter's dart SDK (version 2.8.1 so it errors). Is this an expected behavior ?

Yes it is an expected behavior. You usually would want either dart sdk or the one exported by flutter. I would recommend using asdf vm as it allows you use multiple version of dart (any supported language actually) at the same time and define the currently use on per project bases.

I use this command, and that works for me
pub run aqueduct db upgrade --connect postgres://postgres:123456789@localhost:5432/courses


feat(Topology/Algebra/Algebra): add ContinuousAlgHom

We add the class ContinuousAlgHom for continuous algebra homomorphisms.
Co-authored-by:  Antoine Chambert-Loir<EMAIL_ADDRESS>

It looks like there were a bunch of comments that never got addressed (probably because they were hidden in the fold). Can you address and resolve them please?

I'm surprised, I had the impression to have addressed all questions.

Now it should be OK, sorry.

You were right, it was appropriate to change from submodules to subalgebras.
Now, a new part of Subalgebra/Basic contains new material about AlgHom.equalizer that may deserve an independent PR (but that will be simpler if it can be avoided).
Moreover, I asked here
https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/AlgHom.2Eequalizer.20.2F.20LinearMap.2EeqLocus/near/454500957
if AlgHom.equalizer should be renamed AlgHom.eqLocus.

Looks so much nicer that it's phrased in terms of subalgebras now. Thanks! I appreciate the work on the Subalgebra API to get it across the line. The AlgHomClass usage is good, and as for renaming, that can always occur later if we want.
bors merge


Fix docs punctuation errors

Period consistency in app certification checklist
Period and capitalization consistency in app design best practices
Correct step name in store package azure storage
Minor grammer fix create-package-app and publish-app

@microsoft-github-policy-service agree


When no Azure CLI or arcdata extension detected, prompt install/update with Don't Ask Again

Added back in the logic for:

Detecting whether Azure CLI and Azure CLI arcdata extension are in the user's local environment
Offering links to update or install the missing Azure CLI or arcdata extension

New logic for:

Added the option of "Don't Ask Again" for all of the above prompts for better UX

Todo after this PR merges in:

Change parsing of az --version to use regex
Add arc extension version to the AzTool

@candiceye The tests are timing out because you have the extension activation blocked on the user input. I'd suggest not awaiting the findAz call in the activation function and instead just making sure that calls into the extension are handling the fact that the az CLI might not be immediately available.
See https://github.com/microsoft/azuredatastudio/blob/main/extensions/azdata/src/extension.ts#L38

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
129 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 41.72%

Files with Coverage Reduction
New Missed Lines
%

src/sql/workbench/contrib/notebook/browser/outputs/gridOutput.component.ts
129
22.22%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
26419

Relevant Lines:
57464

💛  - Coveralls


Create auto-comments.yml

I am solving THis issue: https://github.com/Clueless-Community/scrape-up/issues/251#
I have created a Workflow that automatically commits when an issue is opened, a pull request is created, an issue is closed, or an issue is assigned or unassigned.
too run this workflow you need to enable the following permission

@nikhil25803, I have created a workflow that greets people when your pull request gets merged


Handbook: Setup and Product Section

This is a first pass and getting down on paper how we work. The focus of the content in this PR is on Product. Within Product are Design and Engineering. Other content on the site addresses the "why" and the "what". The Handbook will be here to address the "how".
Preview deploy: https://deploy-preview-83--ideas42ventures.netlify.app/handbook/
Audiences
There are three target audiences; Entrepreneurs, Candidates, Team members. Different sections of the Handbook will be more valuable depending on the audience, but the goal for all three is the same. To provide as clear a picture of how we work as possible. The Handbook is here to set expectations, provide clarity, and help make decisions.
It will be a work in progress.
Prior art
I'd started writing similar content in https://github.com/ideas42ventures/documentation. Much of that content will be moved to the Handbook. The idea behind that Documentation repo was always to have this information be publicly available, that hasn't changed. Our presentation has changed and audience to some degree. That repo will eventually go away in favor of the Handbook.

I'm merging this as is. It's still, and will always be a work in progress. For now, there aren't any links to it. We'll add links and share when we have it more worked out.


Added partners don't persist to invited applications

Is your feature request related to an existing functionality? Please describe.
The add partners function.
Describe the solution you'd like
For submissions that have multiple stages, if a partner(s) are associated to the first-stage application, when invited to proposal, associate the same partner(s) to the newly created/invited application. Ideally, the partners get the same notifications that an applicant does.
Describe alternatives you've considered
Adding partners again manually is possible but wastes time.
Additional context
Add any other context or screenshots about the feature request here.
Priority

Medium (slowing you down)

Affected roles

Staff
Applicants
Partners

Ideal deadline
Q2/Q3

@danblah what permissions would these partners have? E.g. permissions to edit the application at subsequent stages? Permissions to submit an application?

Today they have the same permission as the applicant of the submission in question.

@frjo OK. Does that mean this issue has been implemented

This issue is about having the partners you add to a concept note migrate/copied to the proposal.

I could see the value in adding partners in the first stage (concept note) to the second stage (proposal). However, we need to probe further into the 'Partner' user role and why this is necessary from one round to the next. The 'Partner' role could now be used as 1) a secondary account for applicants and 2) an entity that could view the application but could not submit a review
The 'problem' or 'challenge' in this issue has not been fully scoped. A case could be made for this migration but we need to identify a technical solution that would address the actual 'problem' once it has been fully scoped. A case could also be made for a user that does NOT want partners to migrate from the first to second stage. We need a use case or  more discovery to understand end-user needs.
I am closing this issue for now


Fix WebP Encoding only works for RGBA8888 CGImage but not other color mode

Detect the current CGImage color mode, covert the all other case to RGB888/RGBA8888 using vImage
New Pull Request Checklist

[x] I have read and understood the CONTRIBUTING guide

[x] I have read the Documentation

[x] I have searched for a similar pull request in the project and found none

[x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

[x] I have added the required tests to prove the fix/feature I am adding

[x] I have updated the documentation (if necessary)

[x] I have run the tests and they pass

[x] I have run the lint and it passes (pod lib lint)

This merge request fixes / reffers to the following issues: #2311
Pull Request Description
This MR is cherry-picked from #2311. Which fix the WebP encoding feature for non-RGBA8888 image.
For more detail information, see #2311

@bpoplauschi This one...

Codecov Report

Merging #2318 into master will increase coverage by 0.01%.
The diff coverage is 78.48%.

@@            Coverage Diff             @@
##           master    #2318      +/-   ##
==========================================
+ Coverage   75.81%   75.83%   +0.01%
==========================================
  Files          36       36
  Lines        3701     3774      +73
==========================================
+ Hits         2806     2862      +56
- Misses        895      912      +17

Impacted Files
Coverage Δ

SDWebImage/SDWebImageWebPCoder.m
83.87% <78.48%> (-1.95%)
:arrow_down:

Continue to review full report at Codecov.

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

Cool @dreampiggy


⚠ RPC server - Conflux has degraded performance

In cae75ab, RPC server - Conflux ($CONFLUX_RPC_URL) experienced degraded performance:

HTTP code: 0
Response time: 0 ms

Resolved: RPC server - Conflux performance has improved in e79a272 after 7 minutes.


Can't connect to Qualcomm HS-USB Android DIAG 901D of 845HDK

Hi Kevin,
It can't handshake with Qualcomm HS-USB Android DIAG 901D of 845HDK,
could you tell how to dump more debug messages, and let it be working?
Thanks!

the debug message as belown is not work,
	//println!("{}", rx); 	//let str_rx = rx.to_string(); 	//println!("{}", str_rx); 	use std::io::Write; 	write!(&mut read_buf[0..9], "{}", 10);

No idea, sorry. I haven't used this in years.

OK. Thanks!

Hi Hi Kevin,
I had modified it working, and push it to
git@github.com:karlzheng/nano-dm.git

Hi @kevinmehall ,
Could you tell me something about the protocol,
 try!(handle.write_bulk(0x01, &[0x0c, 0x00, 0x00, 0x00,  0x00, 0x47, 0xb8, 0x7e], Duration::from_secs(10)));
is it called the Diag protocol ?

Hi @kevinmehall ,
Could you tell me something about the protocol,
 try!(handle.write_bulk(0x01, &[0x0c, 0x00, 0x00, 0x00,  0x00, 0x47, 0xb8, 0x7e], Duration::from_secs(10)));
is it called the Diag protocol ?

Are there some documents?

Got one relatived, but not detail
https://gitea.osmocom.org/phone-side/osmo-qcdiag/src/branch/master/doc/PROTOCOL


Add missing scalac options to scaladoc task configuration

Related to: #12298

Hi @pikinier20,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
https://www.lightbend.com/contribute/cla

I think merging and releasing an sbt with this PR in as soon as possible would be helpful since right now many people cannot publish their scala.js project because doc generation fails (https://github.com/lampepfl/dotty/issues/11943), and the only workaround we can give them is to disable doc generation, when I'd rather tell them to try a dotty nightly with the latest sbt to ensure that this setup works correctly.

This fix will generate a lot of warnings on all Scala 3.0.0 projects (not only Scala.js):

I understand that, but I think that warnings all the time are better than crashes some of the time :).

This fix will generate a lot of warnings on all Scala 3.0.0 projects (not only Scala.js):

I understand that, but I think that warnings all the time are better than crashes some of the time :).

Agreed this has been blocking several releases of libraries migrating to Scala 3

Having unactionable warnings to all JS users would be pretty bad UX. If Scaladoc also respect fatal warnings wouldn't it also result to occasional errors? Is it possible to maybe filter in only the necessary scalacOptions only when Scala version is 3.0.0 or something?


simplify checkWorkingCopyClean to make backporting easier?

Description
I run into trouble when backporting, the checkWorkingCopyClean check always wants to fail on things that are actually in gitignore, from switching branches. IMO, working copy is clean as "git status" has no output.
Should we implement this differently? at my dayjob, I use the following one-liner to implement this check, which will respect .gitignore:
check-working-copy:
  @test -z "`git status --porcelain`" || (echo "working copy is dirty" && git status --porcelain && exit 2)

I do this on build side, rather than locally. so you might want to tweak it if you want to ignore "explicitly git-added files" which I think is our use-case. git status has a lot of options to do just that?

Ok, I see what's wrong. The script doesn't fail on things that are in .gitignore - it fails on directories that are not empty and contain git-ignored things. For example:
buildSrc/build
buildSrc/.gradle

Both build and .gradle are .gitignore-d so buildSrc is "empty" for git. We handle this check manually for some reason - I'll have to take a look as to why.
We already use git status --porcelain to detect changes in github actions [1]. I think the reason for not using the command-line git in gradle scripts was to keep it within Java... but I don't think it matters much. We can switch to forking an external command. We can also move it to CI builds only.
[1] https://github.com/apache/lucene/blob/main/.github/workflows/run-checks-gradle-upgrade.yml#L67

@dweiss yes that's the case i hit, it is just the "switching branches from main" use-case and it seems to trip on things such as buildSrc and benchmark-jmh, i end out manually rm -rf'ing them after switching.
in my uses of git-status checks, I actually run the git-status in CI after all the build logic runs, to make sure no tasks/tests/etc modify the tree. It is a different concern maybe than what we might be doing with it (I'm not sure). e.g. I'm not trying to detect "you forgot to git-add"

I think this logic is flawed:
        // git ignores any folders which are empty (this includes folders with recursively empty sub-folders).
        def untrackedNonEmptyFolders = status.untrackedFolders.findAll { path ->
          File location = file("${rootProject.projectDir}/${path}")
          boolean hasFiles = false
          Files.walkFileTree(location.toPath(), new SimpleFileVisitor<Path>() {
            @Override
            FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
              hasFiles = true
              // Terminate early.
              return FileVisitResult.TERMINATE
            }
          })
          return hasFiles
        }

we shouldn't do anything about untrackedFolders. Looking at jgit's implementation, I don't even see the reason it's there and I can't remember why I (or somebody else) added it.

https://github.com/apache/lucene/pull/13728 ?

Thanks.
The purpose of this whole task was the following: We wanted to check on Jenkins that after starting with a clean checkout, running all tests,... the working copy is not dirty. This was introduced before we had security manager in tests.
The check on a developers computer was not really wanted, so originally the task was only executed on CI runs.
But anyways the check should have two modes:

very hard: complain about everything not clean (on Jenkins/CI): A modified and already added file is a violation, too. This shozld be a separate task only executed on Jenkins/CI.
developer mode: Just check that all files were added correctly and there are no untracked files. This check should be possible to run before committing! IMHO "gradlew validate"

We should really restore this old behaviour with the two modes: CI only after running tests and "gradlew validate" (only check sanity of checkout.

The check on a developers computer was not really wanted, so originally the task was only executed on CI runs.

I don't know about that - I think it's one of the original reasons I added it to precommit... But it's been a while.
Also, both modes you mention are actually very similar: nothing in the code ever calls "git add" so anything touched will be either untracked or modified by definition. I'm not sure I understand the difference. A notable exception is if something created a directory (empty or with something that is in .gitignore) - then this change would go unnoticed.

The check on a developers computer was not really wanted, so originally the task was only executed on CI runs.

I don't know about that - I think it's one of the original reasons I added it to precommit... But it's been a while.
Also, both modes you mention are actually very similar: nothing in the code ever calls "git add" so anything touched will be either untracked or modified by definition. I'm not sure I understand the difference. A notable exception is if something created a directory (empty or with something that is in .gitignore) - then this change would go unnoticed.

The check was previously done on Subversion, so it was just ported over long ago.
If the current code works for detecting any changes after a clean checkout and running tests, we are fine.
P.S.: Sorry for my ignorance: I never do "git add" manually, because Tortoise does it in a more "subversion-like" way which I prefer. You just click some checkboxes, enter a log message and cxommit. Very easy.  Maybe its like with US showers at Mike's home.

 You just want those shiny icons and buttons, don't you... :)

I never understood the horrible git cli, I hate it because it is completely unintuitive

I agree. latest version has 161 subcommands but you need to stick to your guns and restrict yourself to only 5 or 10 of its commands, then it is useful. and definitely only use commands from the ones listed as "common" in git -h output. that is the trick to dealing with its CLI.

About right. These are my top three:
git status
git add -A .
git commit -m "foo"

and these are used much, much more rarely:
git cherry-pick
git branch
git log
git reset (--hard)
git merge --no-ff ...
git reflog

This about covers my git knowledge. Anything else I have to go and RTFM.

latest version has 161 subcommands

Isn't it like TeX and LaTeX - that there is a very fundamental core and lots of other commands built around it? I remember this was amusing when I came across it a while ago: https://github.com/chrisdickinson/git-rs


Extend Chef Infra Server's build pipeline to include integration tests of multiple installation topologies.

Current State
The Chef Infra Server product currently relies on manual testing of different installation topologies which may result in unstable release artifacts reaching customers.
Desired State
Buildkite steps should be added to the Chef Infra Server release pipeline following the standalone testers of the build artifact.  These Buildkite steps would leverage multiple Terraform scenarios each responsible for setting up a different topology for integration testing.

We will need to add a S3 backend store for tracking the state of different pipeline executions to ensure we clean up all resources in AWS after each test run.

Expeditor documentation for configuring additional pipelines can be found here:
https://expeditor.chef.io/docs/reference/buildkite-dsl/

Working with Releng to do the buildkite work is covered by this issue: https://github.com/chef/release-engineering/issues/877


[FLINK-13751][ml] Add Built-in vector types

What is the purpose of the change
Built-in vector types is the TypeInformation of Vector, DenseVector and SparseVector.
Brief change log

Add the class of the Built-in vector types
Add the test cases

Verifying this change
This change added tests and can be verified as follows:

run test case pass

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (JavaDocs)

Merged to master:
11258f3ee15d3ff65f0e0f34b5fac79ee5c524d2


AP CSA Week 2: Innovation - Using Objects

Code.org
Code.org Blog Post for all lessons up to lesson 15
Java Projects
Java Console Menu
Java Using Objects Collegeboard Notes
Fastpages
Fastpages
Teamwork and Share Repository
Issue displaying team planning, organization, and work

2.7+\3
Did really well with code.org, created unique programs within console menu


Week of 11.30.15

[ ] Onboard Selynna and Sam (hackclub/meta#317, @jonleung)
[ ] Collect curriculum and attendance from last week and this week
(hackclub/meta#350, @MaxWofford)
[ ] Create another workshop (TODO, @jonleung)
[ ] Make workshops README student facing (shorten it) (TODO, @jonleung)

[ ] Organize workshops into playlists (TODO, @jonleung)

[x] Create GitHub shortlinks (hackclub/hackclub#343, @zachlatta)

[x] workshops.hackclub.io -> workshops/README.md
[x] gh.hackclub.io -> README.md

[x] Add workshop feedback tables (hackclub/hackclub#520, @zachlatta)

[x] Markdown table of links between 1 and 10 and the question "How likely would
you recommend this workshop to a friend?"

[ ] Hack Club logo (hackclub/meta#338, @MaxWofford)
[ ] hackclub.com/hackclub.org/hack.club (hackclub/meta#347, @zachlatta)
[ ] Organize another hack night (hackclub/meta#339, @MaxWofford)
[ ] Make assets for the iOS track (hackclub/meta#340, @MaxWofford)
[ ] Fix JSBin build system (hackclub/hackclub#521, @zachlatta)
[ ] Rewrite CONTRIBUTING.md (hackclub/hackclub#512, @zachlatta)
[ ] Respond to all applicants (hackclub/meta#311, @zachlatta)
[x] Deploy slack-stats-collector (hackclub/meta#348, @zachlatta)
[ ] Fix Hubot's contribution count (hackclub/meta#341, @MaxWofford)
[x] Rename Hubot to Prophet Orpheus (hackclub/meta#342, @MaxWofford)
[ ] Finish 6 month plan (hackclub/meta#349, @zachlatta)

Booyah. Let's do this.
@jonleung can you create issues for all of the TODOs and PM me links to them on Slack?

UPDATE: I'm not planning on finishing Hubot's contribution count this week.

Closing this issue. Next week's is in #363.


🔧 Mange the version of quay.io/kairos/osbuilder-tools with renovate

What this PR does / why we need it:
This should trigger an update in short order as the current version of this image is v0.5.2.

Codecov Report

Merging #850 (2646f7e) into master (4d28f3b) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master     #850   +/-   ##
=======================================
  Coverage   21.60%   21.60%
=======================================
  Files          21       21
  Lines        1523     1523
=======================================
  Hits          329      329
  Misses       1142     1142
  Partials       52       52

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Adfly

Is this mod available on a website that is not adfly?
Every time I try to download your mod from that site it tries to force me to download pretty much anything else.
I've been redirected to movie trailer previewers, music players, graphic tweakers, and pretty much anything that isn't Mekanism when trying to download your mod. I can't say I'm impressed with Adfly.
I go to the site, there is a countdown in the corner. When this reaches 0 it gives me a button which says skip ad. When I click this, I'm instantly taken to a non-Mekanism site. As such, I cannot use your mod.
That's a pretty major bug, IMO.

There's a Chrome extension to skip adfly pages. Still goes to the actual adfly page, but then forwards to the link redirect automatically. I just verified the adfly links on http://aidancbrady.com/mekanism/download/ correctly forward to officially hosted files.
Other options:

Strip the forward link from the URL
Download from the Jenkins

Aiden promised to upload to CurseForge 'soon' shortly after V9 came out.  He wanted to get a few bug fix releases out before uploading there.  That was a few months ago. He's been rather busy with school. :P
I copied the mod files over from the Hermitpack modpack, which is actually safe to download from FTB or Curse.  It has Mekanism 1.10.2-<IP_ADDRESS>2, and the same versions for Generators and Tools.  At the moment, that's the most current version available.

Curse will definitely be coming soon. Adf.ly was a great way to provide some much-needed passive income but it seems that it has grown to be too much of a nuisance to users.

PLEASE stop using Adfly...
I just spent 20 minutes trying to download Mekanism via your adfly link. Constant hammering of sites trying to hijack my browser and NOT actually directing me to the download. Finally after multiple tries I've gotten updates for 2 out of 3 of your files.

i use chrome with adblocker. works like a champ.

ktole1999: Adblock doesn't stop all of the adfly junk, only some of it. Issue remains that Adfly is a known malware distributor.

you can URL decode the adfly link and just download it direct if you want to avoid adfly 100%

@aelfwyne  i didnt say it blocked it 100%. i just mentioned what works for me.


Bloop doesn't use JAVA_HOME unless --bloop-jvm system is set (M1 mac)

Version(s)
0.1.7, it's been the case in earlier versions as well
Describe the bug
When using scala-cli v0.1.7 from the Releases page, even though JAVA_HOME points to an openjdk17, I still have to pass --bloop-jvm system for it to use what JAVA_HOME points to.
I believe https://github.com/VirtusLab/scala-cli/pull/781 was supposed to solve this problem, but for some reason... doesn't. It still uses temurin in an x86 variant even though it's running on an M1 mac.
Here's the output of $JAVA_HOME/bin/java -version I'm getting.
openjdk version "17.0.3" 2022-04-19 LTS
OpenJDK Runtime Environment Zulu17.34+19-CA (build 17.0.3+7-LTS)
OpenJDK 64-Bit Server VM Zulu17.34+19-CA (build 17.0.3+7-LTS, mixed mode, sharing)

To Reproduce

Get openjdk17 from zulu (e.g. from Nixpkgs)
Get the scala-cli binary: https://github.com/VirtusLab/scala-cli/releases/download/v0.1.7/scala-cli-x86_64-apple-darwin.gz
export JAVA_HOME=<wherever the jdk is>
Create a foo.sc file with anything
./scala-cli compile foo.sc
Check running processes to see which JVM is used

Expected behaviour
The JVM that JAVA_HOME points to is used.

Here's how it works on my machine(™)

You can see that JAVA_HOME by itself has no effect, I need to pass --bloop-jvm as well.

Thanks for reporting @kubukoz,
there was a problem that scala-cli couldn't resolve JAVA_HOME for a native launcher built by GraalVM, because ScalaCLI read java.home from properties which return None.
So we fixed it and now scala-cli read JAVA_HOME from path, and then if not found, then try to find JAVA_HOME in properties.
In the next version of scala-cli 0.1.8 it should be fixed 1084.
If you want to test it now, you can download snapshot native launcher of Scala CLI from Artifacts.

SDKMAN requires a special directory hierarchy, more info can find here.
Therefore Scala CLI generate additional packages which are compatible with SDKMAN.
Scala CLI version 0.1.8 is now available, if the problem still occur, please feel free to re-open an issue.

It's all good in 0.1.8, thanks :)


Helm chart repo referenced in readme is dead

helm charts repo https://storage.googleapis.com/istio-prerelease/daily-build/master-latest-daily/charts as referenced in https://github.com/istio/istio/tree/master/install/kubernetes/helm/istio#installing-the-chart no longer exists.
Looks like maybe it should be updated to https://gcsweb.istio.io/gcs/istio-prerelease/daily-build/master-latest-daily/charts/ per https://github.com/istio/istio.io/pull/2842 ? Btw, I know that some of this is in flux per https://github.com/istio/istio/issues/7505, but it took me quite a bit of digging to find any repo to use that actually worked, so having the current chart repo URL in the README would've helped a lot.

this one https://gcsweb.istio.io/gcs/istio-prerelease/daily-build/master-latest-daily/charts/ doesn't work either !

Do we even need this anymore? I thought changes were made where the latest Istio builds have all the charts it needs in the distro itself.
See https://github.com/istio/istio/pull/11769 and https://github.com/istio/istio/pull/11767

@jmazzitelli with charts only published in a distro or available via a clone of this repo, I don't see a way of using standard helm requirements/dependencies for pulling from a chart repo/museum, e.g:
dependencies:
  - name: istio
    version: 1.0.2
    repository: ???

This seems like it could be a common need for others wanting to extend your official chart. Currently I'm using an alternative script in our pipeline to basically recreate what helm does internally for dep up, but instead pulling the distro or this repo at a particular version and putting the chart into the charts/ directory of our chart that wants to extend your istio one.
Anyway, that's the model we're trying to follow, seems like a reasonable and standard helm one, so thought I'd share more if it makes a difference on your side. If you have any ideas of how we might extend your chart outside of the standard helm way and in an easier way than what we're currently doing with custom dep up replacement, please let me know. I could be missing something easier here.

I had a hard time finding the right combo to get a recent istio working with helm (I didn't see the benefit of checking out the helm chart repo?)
This is what I ended up with, in case anyone else gets as confused as I was 😄:
Makefile / Env:
# In what namespace to deploy our own stack
STACK_NAMESPACE ?= default

# --- istio
# Specify istio namespace
ISTIO_NAMESPACE ?= istio-system

# Note: We're using a pretty recent build as some of the issues we've had have only been fixed in 1.1.x 😢
# WARNING: Make sure to test different versions sufficiently before switching production
ISTIO_CHART_REPO ?= https://gcsweb.istio.io/gcs/istio-prerelease/prerelease/1.1.0-snapshot.6/charts/
# - Could also be a specific daily build: https://gcsweb.istio.io/gcs/istio-prerelease/daily-build/release-1.1-20190213-09-16/charts/
# - Could also be the latest daily build: https://gcsweb.istio.io/gcs/istio-prerelease/daily-build/master-latest-daily/charts/
# - Could also be a snapshot build: https://gcsweb.istio.io/gcs/istio-prerelease/prerelease/1.1.0-snapshot.4/charts/
# - List of snapshot releases: https://github.com/istio/istio/releases

# Define the istio image tag for the istio helm chart to use
# WARNING: Make sure to test different versions sufficiently before switching production
# `20190213` is the day `1.1.0-snapshot.6` was released
ISTIO_IMAGE_TAG ?= release-1.1-20190213-09-16
# - Could also be the latest daily build: master-latest-daily
# - List of tags: https://console.cloud.google.com/gcr/images/istio-release/GLOBAL/proxyv2?gcrImageListsize=30

Bash:
# Istio init
kubectl create ns ${ISTIO_NAMESPACE}
helm repo add istio.io ${ISTIO_CHART_REPO}
helm upgrade --install istio-init istio.io/istio-init --namespace ${ISTIO_NAMESPACE}

# Istio install
helm upgrade --install istio istio.io/istio \
  --namespace ${ISTIO_NAMESPACE} \
  --set global.tag=${ISTIO_IMAGE_TAG} \
  --set galley.enabled=true \
  # (...)
  # see: https://github.com/istio/istio/tree/master/install/kubernetes/helm/istio#configuration

kubectl label namespace ${STACK_NAMESPACE} istio-injection=enabled --overwrite

Note entirely sure if this is the recommended way to do it, as the docs seem partially outdated on that matter.

This is no longer an issue with the README - looks like we don't link to any repo anymore and just give instructions for local repo - which is good as this is developer facing
For user facing docs see https://istio.io/docs/setup/kubernetes/install/helm/


Data binding stopped working

Hi
I have a page that uses timer component. It works well, but data binding stopped working after I start timer. Although all the callbacks are executed.
I have a variable that is displayed on a page: {{ timeElapsed }}
$scope.timeElapsed = false;
If I change it this way variable value is never updated on the page. It's updated only when I re-render the full page.
$scope.$on('timer-stopped', function (event, data) {
	$scope.timeElapsed = true;
});

If I change it this way sometimes it works only the first second and stops working after that.
$scope.$on('timer-tick', function (event, args) {
    $scope.timeElapsed = true;
});

It also doesn't work when I change it in the finish-callback:
$scope.finish = function() {
	$scope.timeElapsed = true;
}

Please advise.

Issue is fixed. The correct code to modify variable is
$scope.$on('timer-stopped', function (event, data) {
$scope.$apply(function () {
$scope.timeElapsed = true;
});
});


Azure functions do not show on Azure portal for Timer triggers. - .Net 8 isolated, ~4

Description
My timer trigger functions run okay locally but when deployed, the functions do not show and I get this on the logs;
No job functions found. Try making your job classes and methods public. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).
I run it on .Net 8, the functions_worker_runtime is dotnet-isolated and the extention version is ~4.
Steps to reproduce
Created a timer trigger functions;
local.settings.json
{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
    }
}

host.json
{
    "version": "2.0",
    "logging": {
        "applicationInsights": {
            "samplingSettings": {
                "isEnabled": true,
                "excludedTypes": "Request"
            },
            "enableLiveMetricsFilters": true
        }
    }
}

@kshyju I deployed through Azure DevOps, I have come to the realization that they do appear if I publish directly from Visual Studio but not through pipelines like the other projects I have, I am still not certain why.
FUNCTIONS_WORKER_RUNTIME is indeed okay and set to "dotnet-isolated".
Below is a list of the packages I am currently using;
<ItemGroup>
  <PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.3.0" />
  <PackageReference Include="Azure.Identity" Version="1.10.4" />
  <PackageReference Include="Azure.Messaging.EventHubs" Version="5.10.0" />
  <PackageReference Include="Azure.Messaging.EventHubs.Processor" Version="5.10.0" />
  <PackageReference Include="Mapster" Version="7.4.0" />
  <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.20.0" />
  <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.EventHubs" Version="6.1.0" />
  <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.OpenApi" Version="1.5.1" />
  <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Timer" Version="4.1.0" />
  <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.16.2" />
  <PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.21.0" />
  <PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.0.0" />
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>

@franklineomollo  Can you share if you every found out what caused your pipeline to break your timer trigger?  I'm using a common pipeline that sets FUNCTIONS_WORKER_RUNTIME appropriately, and has worked fine on HttpTriggers and DurableOrchestrationContext triggers for other projects as we upgraded to .NET 8/isolated, but no luck so far with TimerTrigger on this project.


Failed to add files to IPFS. Please try again. [0.7.1]

Under 0.6.1 I was able to add files.
I upgraded to 0.7.0 this week, I can still see my previous files that were pinned, but I'm unable to add new files or folders as it simply gives the error message:
Failed to add files to IPFS. Please try again.
If I add from IPFS then it works fine.
I upgraded to 0.7.1 and it has the same error.
The error.log file is empty, so there are no logs I can attach.
I did some research and it seems there was an issue, but it was fixed 2 months ago in the IPFS-webUI.
https://github.com/ipfs-shipyard/ipfs-webui/issues/928

Hey @DavidBurela! Sorry for this. Just to make sure I understood correctly: the error is through the Web UI window right? Or is it through any other integration?

It is in the Web UI.
If I drag a file in, or I use the buttons to click "add file" or "add desktop", then it fails.
If I use the button to "add from IPFS" then it succeeds.

thanks for reporting it @DavidBurela, I've fixed the issue in ifps-webui and opened a PR to update ipfs-desktop to the new release in #883

see: https://github.com/ipfs-shipyard/ipfs-webui/pull/995 for details

@DavidBurela 0.7.2 just release with a fix for that: https://github.com/ipfs-shipyard/ipfs-desktop/releases/tag/v0.7.2
😃

Thanks.
I can confirm now that clicking "add file" now works.
However clicking "add folder" seems to add an empty folder. I have created a new bug with screencapture to track it
https://github.com/ipfs-shipyard/ipfs-desktop/issues/884


Merge search bar and current tab bar together

Is there any way to merge the search bar together with the current tab bar? as it happens on safari

Just wanted to say this would be awesome if it could happen! Appreciate the hard work, the theme is excellent!


Setup CONTRIBUTING docs, update README

What does this PR do?
This PR prepares this repo to be open-sourced:

Update README
Add CONTRIBUTING doc
Add NOTICE file
Setup Github issue templates

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

@rtrieu No worries, I opened a new PR https://github.com/DataDog/dd-sdk-kotlin-multiplatform/pull/91 with the changes proposed.


Native video decoder via ffmpeg CLI

Part of https://github.com/rerun-io/rerun/issues/7298

Send samples to ffmpeg over CLI, read back the results, show the user.
A basic demo of this is in this internal repository: https://github.com/rerun-io/video-experiments
The main approach is fairly simple:
 let mut ffmpeg = FfmpegCommand::new()
        .hide_banner()
        // Keep in mind that all arguments that are about the input, need to go before!
        .format("h264")
        .input("-")
        //.args(&["-c", "copy", "out.mp4"]) // For testing.
        .rawvideo() // Output rgb24 on stdout. (todo for later: any format we can read directly on re_renderer would be better!)
        .spawn()
        .expect("faild to spawn ffmpeg");

    let mut stdin = ffmpeg.take_stdin().unwrap();
    std::thread::spawn(move || {
          // Wait for samples to be sent on stdin.
          // then send them to ffmpeg.
          // See `write_sample_to_nalu_stream`
    });

    // On the main thread, run the output instance to completion
    ffmpeg.iter().unwrap().for_each(|e| match e {
        FfmpegEvent::Log(LogLevel::Error, e) => println!("Error: {}", e),
        FfmpegEvent::Progress(p) => println!("Progress: {} / 00:00:15", p.time),
        FfmpegEvent::OutputFrame(frame) => println!(
            "Received frame: time {:?} fmt {:?} size {}x{}",
            frame.timestamp, frame.pix_fmt, frame.width, frame.height
        ),
        evt => println!("Event: {evt:?}"),
    });

The difficult part is that we need to provide ffmpeg with a format that it can stream in on stdin. In this snippet this is done with format("h264"), so ffmpeg expects the .h264 format which is a stream of NAL units in Annex B format (== replace NAL lengths with start headers). Also, at every IDR frame, sequence parameter sets (SPS) and frame parameter sets (FPS) need to be inserted:
fn write_sample_to_nalu_stream(
    avc_box: &re_mp4::Avc1Box,
    nalu_stream: &mut dyn std::io::Write,
    sample: &re_mp4::Sample,
    video_track_data: &[u8],
    state: &mut NaluStreamState,
) -> Result<(), Box<dyn std::error::Error>> {
    let avcc = &avc_box.avcc;

    // Append SPS & PPS NAL unit whenever encountering an IDR frame unless the previous frame was an IDR frame.
    // TODO(andreas): Should we detect this rather from the NALU stream rather than the samples?
    if sample.is_sync && !state.previous_frame_was_idr {
        for sps in (&avcc.sequence_parameter_sets).iter() {
            nalu_stream.write_all(&NAL_START_CODE)?;
            nalu_stream.write_all(&sps.bytes)?;
        }
        for pps in (&avcc.picture_parameter_sets).iter() {
            nalu_stream.write_all(&NAL_START_CODE)?;
            nalu_stream.write_all(&pps.bytes)?;
        }
        state.previous_frame_was_idr = true;
    } else {
        state.previous_frame_was_idr = false;
    }

    // A single sample, may consist of multiple NAL units, each of which need our special treatment.
    // (most of the time it's 1:1, but there might be extra NAL units for info, especially at the start)
    let mut buffer_offset = sample.offset as usize;
    let sample_end = buffer_offset + sample.size as usize;
    while buffer_offset < sample_end {
        // Each NAL unit in mp4 is prefixed with a length prefix.
        // In Annex B this doesn't exist.
        let length_prefix_size = avcc.length_size_minus_one as usize + 1;

        // TODO: improve the error handling here.
        let nal_unit_size = match length_prefix_size {
            4 => u32::from_be_bytes(
                video_track_data[buffer_offset..(buffer_offset + 4)]
                    .try_into()
                    .unwrap(),
            ) as usize,
            2 => u16::from_be_bytes(
                video_track_data[buffer_offset..(buffer_offset + 2)]
                    .try_into()
                    .unwrap(),
            ) as usize,
            1 => video_track_data[buffer_offset] as usize,
            _ => panic!("invalid length prefix size"),
        };
        //println!("nal unit size: {}", nal_unit_size);

        if (sample.size as usize) < nal_unit_size {
            panic!(
                "sample size {} is smaller than nal unit size {nal_unit_size}",
                sample.size
            );
        }

        nalu_stream.write_all(&NAL_START_CODE)?;
        let data_start = buffer_offset + length_prefix_size; // Skip the size.
        let data_end = buffer_offset + nal_unit_size + length_prefix_size;
        let data = &video_track_data[data_start..data_end];

        // Note that we don't have to insert "emulation prevention bytes" since mp4 NALU still use them.
        // (unlike the NAL start code, the preventation bytes are part of the NAL spec!)

        nalu_stream.write_all(data)?;

        buffer_offset = data_end;
    }

    Ok(())
}

Open questions:

Does this work with H.265 as well? It uses the same formats overall
What about other codecs?
Does this approach scale well with other formats?
ffmpeg allows arbitrary output formats. Can we be clever about what to pick? E.g. if the decoder internally gives us YUV420 (that's most of the time but not always!), we should pass YUV420 on instead of rgb24 and processes this directly.

Left after the initial PR:

[ ] test with broken samples (completely invalid chunks)
[ ] download ffmpeg for the user or at least tell users what to do when there's no ffmpeg (haven't checked even yet on the error message)
[ ] add version & ability check
[ ] consume 420p and friends directly to speed up processing

process startup isn't much of an issue according to profiler, but wait for shutdown can cause severe hickups:


docs: Improve plugin template docs. Fixes #7683

Signed-off-by: Alex Collins<EMAIL_ADDRESS>Fixes #7683
Don't bother creating a PR until you've done this:

[ ] Run make pre-commit -B to fix codegen, lint, and commit message problems.

Create your PR as a draft.

Your PR needs to pass the required checks before it can be approved. If the check is not required (e.g. E2E tests) it
does not need to pass.
Once required tests have passed, you can make it "Ready for review".
Say how you tested your changes. If you changed the UI, attach screenshots.

Tips:

If changes were requested, and you've made them, then dismiss the review to get it looked at again.
Add you organization to USERS.md if you like.
You can ask for help!

@blkperl


Deps/update ua parser

Quick update of the user-agent-parser dependency.
The npm entry's name has been updated to ua-parser-js (it's the same repository though - see last line of npm info screenshot)
This fixes issue #5 (and possibly #1 as well - looks like the same problem)

👍


Adding Voting Bot instructions for Functions v2

Purpose
Created a copy of the existing Functions v1 instructions under folder 5-voting-service.v1 and updated folder 5-voting-service with FUnctions v2 instructions so it works cross platform.

@nzthiago,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


how to connect to XMC4800 board after make install

Follow the installation of XMC. got the gdb connected to the XMC4800.
how do i test the micropython on this board
trying picocom with variuos baudrate to /dev/ttyAMA0 port but never get a response from the board.
picocom -b 115200 /dev/ttyAMA0
how do i test the micropython on this XMC4800 board?
Thanks,
Tac.

answer to my own question:

convert firmware.elf to firmware.hex (google to find how to do this: objcopy -j.text -O ihex input.out out.hex)
use jlink to write firmware.hex to the XMC4800
hook up a usb cable to XMC4800 USB X100
use any terminal program to talk to the COMx with 9600 baud rate


Fix the issue where it does not decode the Error correctly when streaming response

What
When using streaming, there might be an error occurring in the middle of the streaming.
This PR fixes it.
Previous PR: https://github.com/MacPaw/OpenAI/pull/87
Why
Related: https://github.com/MacPaw/OpenAI/issues/88
Affected Areas
StreamingSession.swift

Hey @Krivoblotsky, can you merge this?

Yup, will add it to the release scope 👌

@Krivoblotsky  Also do you think we should switch to a new implementation. I find the current one quite problematic.
For example, this issue: https://github.com/MacPaw/OpenAI/issues/97
Another issue I encountered is when working with OpenAI-compatible services, they might use SSE comments (started with :). It won't work with the current implementation.

@longseespace let's do it with separate PR to reduce changes size plz 🙏


Density in Mujoco Environments doesn't seem to change

Great work! We are trying to replicate your experiments.
Description of our setup - Ubuntu 16.04, installed rl-generalization and docker using the install instructions given in readme.
We came across an interesting bug that seems incorrect. We wanted to see the performance of HalfCheetah when only varying density so we ran python -m examples.run_experiments examples/test_density.yml /tmp/output with the following yml file
models:
  # PPO2 Baselines.
  - name: PPO2
    train:
      command: |
        python3 -m examples.ppo2_baselines.train
          --env {environment}
          --output {output}
          --total-episodes {episodes}
          --lr {lr}
          --nsteps {nsteps}
          --nminibatches {nminibatches}
          --policy {policy}
      output: 'checkpoints/*'
      parameters: 'env-parameters-*.json'
    evaluate:
      command: |
        python3 -m examples.ppo2_baselines.evaluate
          --env {environment}
          --outdir {output}
          --eval-n-trials 1000
          --eval-n-parallel 1
          {model}
      output: 'evaluation.json'
    hyperparameters:
      episodes: 1500000
      policy: 'mlp'
      lr: [0.0003]
      nsteps: [256]
      nminibatches: 1

 #############################################################################

environments:
  - train: SunblazeHalfCheetah-v0
    test:
      - SunblazeHalfCheetah-v0
      - SunblazeHalfCheetahRandomExtreme-v0 #edited so only density is changing

and with SunblazeHalfCheetahRandomExtreme only changing the density to 1000000 in mujoco.py as below:
class RandomExtremeHalfCheetah(RoboschoolXMLModifierMixin, ModifiableRoboschoolHalfCheetah): #edited to only change density

    def randomize_env(self):
        self.density = 1000000 #manually changed density value

        with self.modify_xml('half_cheetah.xml') as tree:
            for elem in tree.iterfind('worldbody/body/geom'):
                elem.set('density', str(self.density))

    def _reset(self, new=True):
        if new:
            self.randomize_env()
        return super(RandomExtremeHalfCheetah, self)._reset(new)

    @property
    def parameters(self):
        parameters = super(RandomExtremeHalfCheetah, self).parameters
        parameters.update({'density': self.density})
        return parameters

Looking at the json output of run_experiments, the SunblazeHalfCheetah model testing reward  on both the SunblazeHalfCheetah and SunblazeHalfCheetahRandomExtreme (with density manually set to 1000000) are nearly the same. Last 2 rewards of both testing environments below:
"environment": {"id": "SunblazeHalfCheetah-v0"}, "reward": [26.933929443359375]}, {"success": false, "model": "examples/test_density_output/PPO2/SunblazeHalfCheetah-v0/checkpoints/182420", "environment": {"id": "SunblazeHalfCheetah-v0"}, "reward": [30.036670684814453]}, {"success": false, "model": "examples/test_density_output/PPO2/SunblazeHalfCheetah-v0/checkpoints/182420", "environment": {"id": "SunblazeHalfCheetah-v0"}, "reward": [25.795215606689453]}]}
 "environment": {"id": "SunblazeHalfCheetahRandomExtreme-v0", "density":<PHONE_NUMBER>}, "model": "examples/test_density_output/PPO2/SunblazeHalfCheetah-v0/checkpoints/182420"}, {"success": false, "reward": [40.01738739013672], "environment": {"id": "SunblazeHalfCheetahRandomExtreme-v0", "density":<PHONE_NUMBER>}, "model": "examples/test_density_output/PPO2/SunblazeHalfCheetah-v0/checkpoints/182420"}, {"success": false, "reward": [26.907756805419922], "environment": {"id": "SunblazeHalfCheetahRandomExtreme-v0", "density":<PHONE_NUMBER>}, "model": "examples/test_density_output/PPO2/SunblazeHalfCheetah-v0/checkpoints/182420"}]}

How can we confirm the density is changing? It doesn't seem logical that the Mujoco HalfCheetah simulation should be able to move at all given a density of 1000000 nor have similar testing rewards to the nominal environment.

I think environments can change when you add RoboschoolForwardWalkerMujocoXML.__init__(self, self.model_xml, 'torso', action_dim=6, obs_dim=26, power=0.9) in randomize_env(self). I can be wrong because I'm using different version of roboschool.


Make dir snapshots read-only

@tomponline had to add that extra change to have the dir backend treat snapshots as read-only.

Testsuite passed


Pass property name mapping to array enumerator

API change check
API changes are not detected in this pull request.


[WIP] Add ethers guide

closes #622
WIP, not ready yet.  Just making a draft PR for this so I can see preview.
blocked by

https://github.com/onflow/flow-evm-gateway/pull/137
https://github.com/onflow/docs/pull/630

This is currently blocked by https://github.com/onflow/flow-evm-gateway/pull/137

all good here now, yeah @jribbink ?

We have another issue now @gregsantos https://github.com/onflow/flow-evm-gateway/issues/145
There are some missing fields in the Block model in the flow-evm-gateway, and ethers throws because of this when trying to fetch blocks.  At a minimum these fields need to be populated with empty values to produce a working example.

simple Note: once a flow chain PR is merged to view we can add a viem.md file in clients directory.

Looks like this was pulled in with https://github.com/onflow/docs/pull/847/files#diff-4a78348a0c7360742a26472f99efbac19d75a22724947f25d2bc4c3ce4a8321a