Can't update extension automatically or manually

Issue Type: Bug
Failed to update 'ms-azuretools.vscode-cosmosdb'.
REPRO:

Says I should update Azure Cosmos DB:

I click on the update button.  After a few minutes it gives me:

Failed to update 'ms-azuretools.vscode-cosmosdb'.

I click  "Download Manually".
After downloaded, I click "Install from VSIX..." and choose the downloaded vsix
Progress bar in EXTENSIONS:

After several more minutes, the progress bar on the extension stops, I get no messages or errors whatsoever, and yet it still says the extension needs to be updated:

VS Code version: Code 1.24.1 (24f62626b222e9a8313213fb64b10d741a326288, 2018-06-13T17:51:32.889Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E31230 @ 3.20GHz (4 x 3193)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwarevideo_decode: enabledvideo_encode: enabledvpx_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.96GB (6.28GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
0%

Extensions (22)

Extension
Author (truncated)
Version

mongogo
bag
0.1.2

regex
chr
0.2.0

vscode-markdownlint
Dav
0.18.0

githistory
don
0.4.1

jupyter
don
1.1.4

tslint
eg2
1.0.33

vscode-bump
fab
1.5.3

docthis
joe
0.7.1

vscode-antlr4
mik
2.0.3

vscode-azureappservice
ms-
0.8.1

vscode-azurefunctions
ms-
0.9.1

vscode-azurestorage
ms-
0.4.0

vscode-cosmosdb
ms-
0.6.0

python
ms-
2018.6.0

azure-account
ms-
0.4.0

csharp
ms-
1.15.2

azurerm-vscode-tools
msa
0.4.2

vscode-versionlens
pfl
0.21.1

yo
sam
0.9.3

extension-api
spy
0.3.1

python
tht
0.2.3

code-lens-roundup
wad
1.0.0

@StephenWeatherford Can you please retry it by setting the log level to trace using the command Set Log Level and share us the logs (Shared Process) from Output Panel?

https://gist.github.com/StephenWeatherford/7aaa81206cca12d429a00e34ddf18627
I've seen this error message before from vscode and was able to delete it manually and try again.  This time, though, I saw no error messages whatsoever.
I don't have any troubles manually renaming this folder, not sure why vscode would be an issue.

@StephenWeatherford May I know if folder ms-azuretools.vscode-cosmosdb-0.7.2 already exists and is that why the rename is failing?

Yes, and when I deleted it, the install succeeded.

#50385 looks related.

@StephenWeatherford I want to know why the update was shown here. Did you change the version in the package.json file in ms-azuretools.vscode-cosmosdb-0.7.2 folder?

Related: #52946

Don't really know why I got into this situation.  I did not manually modify the package, but I do author the extension.  I think what might have happened was that I installed 0.7.2 via VSIX to test it, then uninstalled and reinstalled the earlier version from marketplace. Then 0.7.2 shipped.

Ah I see.. I think then this would got fixed by #52946. Please try with tomorrows insiders.


colour scheme key

@noe - I added whats meant to be an easier way to create colour scheme keys that include the colours for the complexes, that they're missing is something I mentioned in an email at some point I think...
anyway, i'm getting github fatigue now, I'll keep it brief,
see the index.html for example

yep, use this to make the colour scheme key and then you'll have the complex colours aswell

@git4anjali

I think this is irrelevant now, the way proposed by Eliot is better,
see #161


Import error when running plinkSTR

Hi I get a NameError error when running plinkSTR with no commands because it tries to import its own package called common and a different package called common already exists in python.
$ plinkSTR
Traceback (most recent call last):
  File "/projects/b1049/genetics_programs/gangSTR/bin/plinkSTR", line 11, in <module>
    load_entry_point('strtools==1.0.0', 'console_scripts', 'plinkSTR')()
  File "/projects/b1049/genetics_programs/gangSTR/lib/python3.7/site-packages/strtools-1.0.0-py3.7.egg/plinkSTR/plinkSTR.py", line 276, in main
NameError: name 'ERROR' is not defined

Addressed in #8


Added documentation for running SpecFlowNetCore cross platform

SpecFlowNetCore works perfectly cross platform if:

You don't use DotNetCli
You reference SpecFlow 2.2 or higher

This is fantastic. Thanks a log for investigating, proving and best of all documenting!

Your welcome thank you for making SpecFlow work with .NET Core. I've been using your package for a while so wanted to help anyway I could.


Perform Mobile UAT Testing off the application through Mobile device or Android Studio Emulator

Android Studio emulator is giving me issues using Android 13 on a google pixel 6 pro so I will use my personal device Samsung S20 5G to complete UAT testing for mobile view.


alwaysShowMask does not work when multiple components used

put at least 2
type something to first one
mask disappears from the second one

@krzysztofpniak Fixed in 0.8.1, thanks.


Create presubmit test for CI and setup build container

Goes with https://github.com/istio/test-infra/pull/4343


Precise input timing information

What problem does this solve or what need does it fill?
The application I'm concerned with is rhythm games.  Currently it is not possible to determine the time at which an input event (such as a keyboard press) occurred with precision better than 1 frame.  However, rhythm games require input timing information which is more precise than this.  For example, the ECFA Fantastic window is 11ms long, and the osu! 300 window can be as short as 13.33ms.  On the other hand, a frame at 144fps is 6.94 ms long, while a frame at 60fps is 16.66 ms long.  This means that the error incurred by measuring the time of an input precise to the next frame could be 50% or more of the actual timing window, making it impossible for players to reliably input in the window.
Besides rhythm games, precise input timing information is also applicable to other issues, such as https://github.com/bevyengine/bevy/issues/5984 and https://github.com/bevyengine/bevy/issues/6183.
What solution would you like?
Add Instant::now() to events processed in the winit event loop and the gilrs event loop.  Additionally rewrite the gilrs integration so that gamepad events are polled continuously (like winit events) rather than once per frame so that these timestamps are accurate.
What alternative(s) have you considered?
Use timing information from the OS passed through by winit and gilrs, instead of measuring it ourselves using Instant::now() in the event loop.  This has several issues:

OS timing information may be unreliable.  For instance, some OS timing information is precise only to the millsecond, which might be suitable for rhythm games but not for other uses of timestamps.  They might also be nonmonotonic etc.
winit doesn't currently expose timing information from the OS (https://github.com/rust-windowing/winit/issues/1194)
gilrs timestamps are expressed as SystemTime, which could lead to issues.  For instance these timestamps aren't monotonic and are affected by system time changes.

Additional context

Just a couple notes because we've actually been building towards a solution to this for a while.

Add Instant::now() to events processed in the winit event loop and the gilrs event loop.

Any timestamps taken in the winit event loop are likely to be aliased to the Instant a frame begins because the app updates inside the event loop. The loop can't timestamp events while the app is updating. The Instant::now() read after that will be significantly delayed from the actual Instant an event arrived. #9122 is the only way to avoid this obstruction.
winit providing OS timestamps would be best (#9122 does not help wasm32), but someone needs to investigate if those timestamps come from monotonic clocks (or can be configured to come from them). 1ms is precise enough for us.

Additionally rewrite the gilrs integration so that gamepad events are polled continuously (like winit events) rather than once per frame so that these timestamps are accurate.

There is really nothing to change about our integration[^1].
gilrs internally spawns a thread to run its event loop (except on wasm32). That event loop is collecting events constantly and forwarding them through an mpsc, but the app only drains the mpsc receiver once a frame, which is the correct thing to do btw (XR is a special case[^2]).
I think we should upstream changes to gilrs so its loop provides Instant timestamps as well.
[^1]: If gilrs exposed a method to setup the event loop manually, then we could rework things on our side.
[^2]: XR apps want the renderer to read events that occurred in the current frame to do things like "late latching" and "reprojection".

@maniwani Thanks for the detailed note!  I'd be happy to help out with this effort somehow - what would be useful for me to work on?

@cryslith, I think we need help adding timestamp support to Bevy events in general, only the "accurate" part is blocked on rust-windowing/winit#1194 or #9122. For rhythm games, I assume there's more to it than adding a timestamp field. Do we need an API to translate between "audio time" (e.g. DSP clock time, track time, etc.) and "app time" (time.elapsed())? Stuff like that.
For gilrs, I'd like to ask them to make either one of those changes I described (or both), but if we need something sooner, we could go with your plan and funnel their events through another thread that calls Instant::now(). It'd just be extra overhead.


Update annotations.md

Added text highlighting to indicate that the text refers to a UI label

@bogan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@bogan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@bogan Sorry for the delay, Thank you for your contribution!
#sign-off


Add .env.#{Rails.env}.local

What I read from the rails.rb file, it seems that the Dotenv Rails integration is reading the following configuration files (in the following order): .env.local, .env.#{Rails.env} and .env. The problem with this is that it doesn't provide any way to locally override environment specific configurations.
I guess a quite common pattern in Rails development is to have two local databases, one for feature development and one for testing (btw. I'm not using database.yml, instead I'm using DATABASE_URL environment variable for DB configuration). Thus, I have the default DATABASE_URL set in .env AND in .env.test. With .env.local I can override the DATABASE_URL to match my own database user/password, but now the problem is that the same database is used for both, testing and development.
I forked the library and added a new file to the Dotenv.load file list: .env.#{Rails.env}.local. I tried that locally and it seems to work well.
What do you think, would it make sense to add a possibility to have local environment specific configuration file?
Thanks for building and maintaining Dotenv!

What do you thing about this? Does it make any sense?
I'm happy to close the issue if this is not a good idea.

:+1:

I vote +1 for this change. In fact, we've encountered scenarios where .env.local can be extremely dangerous, allowing a developer to accidentally run tests against a database which they were developing against.

I never use .env.local and instead just have a .env file for development and then .env.test to override any development settings for tests. I find this works really well and leads to the least amount of confusion. .env.test and .env.example are committed to the repository while .env is created upon bootstrapping the project by copying .env.example to .env and gitignored. .env.example contains sane defaults to get the project up and running without any additional configuration.

Since signing my name to EFNPA14 (Environment File Non-Proliferation Agreement of 2014), I am no longer allowed to advocate for more env files. :trollface:
Seriously though,  .env, .env.local, .env.test, .env.development are all already loaded. If you need any more than that, I recommend just loading it manually in application.rb:
require "dotenv"
Dotenv.overload(".env.#{Rails.env}.local")


simple web UI for submitted data

Yes, most of us know how to read json files, but that's not convenient.
We used to have some prototype web site, should we start from previous prototype or start a new one.

Do we need a website?
Currently, the app can upload, download and display the results from the same account stored as JSON files in Firebase. We can modify it to download any results stored in Firebase.

Firebase Web hosting + React should be good enough. @RSMNYS please help have a prototype for this task.

Hi guys! Did more adjustments. Please check, creds and url are the same.
Also pushed the code to the branch. The project is linked to the test firebase account. Also added the README how to link to another firebase project and deploy.

Hi guys! Did more adjustments. Please check, creds and url are the same. Also pushed the code to the branch. The project is linked to the test firebase account. Also added the README how to link to another firebase project and deploy. Working to add the filtering.

Please add some device/machine information to the results

@nathanw-mlc: please add @RSMNYS to the access list of the firebase project for the mobile app

@nathanw-mlc: please add @RSMNYS to the access list of the firebase project for the mobile app

@RSMNYS should already have access to the mobile app firebase project through his MLCommons Google Workspace account. Is he needing elevated permissions?

@nathanw-mlc: please add @RSMNYS to the access list of the firebase project for the mobile app

@RSMNYS should already have access to the mobile app firebase project through his MLCommons Google Workspace account. Is he needing elevated permissions?

yes, I need the elevated permissions to manage the hosting.

[ ] If we create an account when submitting (instead of anonymous one), we should be able to use that account.

@RSMNYS Please try a way to not expose the API key
https://github.com/mlcommons/mobile_app_open/security/secret-scanning/1

Just found out that we can set up a GitHub Action to deploy the website to Firebase automatically on new PR.
I will do the setup for it.

Just found out that we can set up a GitHub Action to deploy the website to Firebase automatically on new PR. I will do the setup for it.

Will @RSMNYS still need elevated permissions if we use this solution?

In this case we need to expose the project's API key and other settings from Firebase. Generally that info is not secure, but let me know if we are ok to reveal this: @freedomtan, @anhappdev.

In this case we need to expose the project's API key and other settings from Firebase. Generally that info is not secure, but let me know if we are ok to reveal this: @freedomtan, @anhappdev.

We should not expose the API key, at least not storing it in the code.
Please update file firebase-config.ts so it can read the values from the environment variable like this:
const firebaseConfig = {
  apiKey: process.env.REACT_APP_FIREBASE_WEB_API_KEY,
  authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
  // ...
};

Then we can store the key and other values in env:
export REACT_APP_FIREBASE_WEB_API_KEY=abcd
export REACT_APP_FIREBASE_AUTH_DOMAIN=acbd

@anhappdev  it's clear, but how the GitHub will know this to build the app?

@anhappdev it's clear, but how the GitHub will know this to build the app?

I will store it as a GitHub secret (https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions)

Understood! Thanks.

@nathanw-mlc  here are the env variables for the web app:
REACT_APP_FIREBASE_WEB_API_KEY
REACT_APP_FIREBASE_AUTH_DOMAIN
REACT_APP_FIREBASE_DATABASE_URL
REACT_APP_FIREBASE_PROJECT_ID
REACT_APP_FIREBASE_STORAGE_BUCKET
REACT_APP_FIREBASE_MESSAGING_SENDER_ID
REACT_APP_FIREBASE_APP_ID
REACT_APP_FIREBASE_MEASUREMENT_ID

@nathanw-mlc here are the env variables for the web app:
REACT_APP_FIREBASE_WEB_API_KEY REACT_APP_FIREBASE_AUTH_DOMAIN REACT_APP_FIREBASE_DATABASE_URL ...

I already added these as GitHub secrets for this repo.

This is the URL for the web UI.
https://mobile-app-build-290400.web.app
We can also use a custom domain / URL if @nathanw-mlc provides us one.

This is the URL for the web UI. https://mobile-app-build-290400.web.app
We can also use a custom domain / URL if @nathanw-mlc provides us one.

Hey Anh, where would I set that up?

This is the URL for the web UI. https://mobile-app-build-290400.web.app
We can also use a custom domain / URL if @nathanw-mlc provides us one.

Hey Anh, where would I set that up?

You can follow this guide:
https://firebase.google.com/docs/hosting/custom-domain

https://mlperf-mobile.mlcommons.org/


request to https://localhost/chunky/-/chunky-0.0.0.tgz failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443

This is npm i in js-ipfs project:
# ...
npm http fetch GET 304 https://registry.js.ipfs.io/has-values 1937ms (from cache)
npm http fetch GET 200 https://registry.js.ipfs.io/escodegen 2198ms
npm http fetch GET 304 https://registry.js.ipfs.io/idb-readable-stream 1493ms (from cache)
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! FetchError: request to https://localhost/chunky/-/chunky-0.0.0.tgz failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443
npm ERR!     at ClientRequest.req.on.err (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14)
npm ERR!     at ClientRequest.emit (events.js:182:13)
npm ERR!     at TLSSocket.socketErrorListener (_http_client.js:391:9)
npm ERR!     at TLSSocket.emit (events.js:182:13)
npm ERR!     at emitErrorNT (internal/streams/destroy.js:82:8)
npm ERR!     at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
npm ERR!     at process._tickCallback (internal/process/next_tick.js:63:19)
npm ERR!  { FetchError: request to https://localhost/chunky/-/chunky-0.0.0.tgz failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443
npm ERR!     at ClientRequest.req.on.err (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14)
npm ERR!     at ClientRequest.emit (events.js:182:13)
npm ERR!     at TLSSocket.socketErrorListener (_http_client.js:391:9)
npm ERR!     at TLSSocket.emit (events.js:182:13)
npm ERR!     at emitErrorNT (internal/streams/destroy.js:82:8)
npm ERR!     at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
npm ERR!     at process._tickCallback (internal/process/next_tick.js:63:19)
npm ERR!   message:
npm ERR!    'request to https://localhost/chunky/-/chunky-0.0.0.tgz failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443',
npm ERR!   type: 'system',
npm ERR!   errno: 'ECONNREFUSED',
npm ERR!   code: 'ECONNREFUSED',
npm ERR!   stack:
npm ERR!    'FetchError: request to https://localhost/chunky/-/chunky-0.0.0.tgz failed, reason: connect ECONNREFUSED <IP_ADDRESS>:443\n    at ClientRequest.req.on.err (/usr/local/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14)\n    at ClientRequest.emit (events.js:182:13)\n    at TLSSocket.socketErrorListener (_http_client.js:391:9)\n    at TLSSocket.emit (events.js:182:13)\n    at emitErrorNT (internal/streams/destroy.js:82:8)\n    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)\n    at process._tickCallback (internal/process/next_tick.js:63:19)',
npm ERR!   parent: 'libp2p-mplex' }
npm ERR!
npm ERR! If you are behind a proxy, please make sure that the
npm ERR! 'proxy' config is set properly.  See: 'npm help config'

npm ERR!      /Users/alan/.npm/_logs/2018-10-19T08_55_18_922Z-debug.log

Good spot, thanks!  Fixed in https://github.com/ipfs-shipyard/ipfs-registry-mirror/commit/7bb463ad1c51cfb88b09049cc56c41cf8039c373


How to make slider start at specific slide?

How to make slider start at specific slide?

For anyone else wondering, it was super simple:
var mySwiper = new Swiper ('#mySwiper', {

	direction: 'horizontal',
	loop: false

});

mySwiper.slideTo(1, false,false);

Actually there is a initialSlide parameter that you can pass http://idangero.us/swiper/api/#parameters


updated RPi image

https://www.open-roberta.org/lokale-installation/
currently links an outdated RPi image based on OR 4.2.1.
Please provide an updated RPi image based on OR 5.x.y.
Also it would be great if in addition to
https://github.com/OpenRoberta/openroberta-lab/wiki/Raspberry-Pi-2-3-4-and-the-Open-Roberta-Lab
you could describe the steps to (also) create a RPi image.
As an alternative a generic RPi image could be provided that pulls and runs the docker-based ORLab in a container.

Unfortunately docker, raspi and the Open Roberta database do not work well together, so a docker - free installation is recommended. We do updates for the image from time to time.
Please check if you can simply update the binaries from e.g. here openrobertalab_binaries.zip on the latest image. Crosscompiler have not changed afaik

I'll do my very best ;-)

The Open Roberta Lab Raspi Image is now available. Please delete the cache if you have problems to download version 5.1.2.
Please report issues here, if there are any ;-).


fixed compilation issue for webp see https://github.com/rs/SDWebImage…

See: https://github.com/rs/SDWebImage/issues/1261

It seems that the travis-ci build it's failing with
/Users/travis/build/rs/SDWebImage/SDWebImage/UIImage+WebP.m:11:9: fatal error: 'libwebp/webp/decode.h' file not found
#import <libwebp/webp/decode.h>
That's what I was afraid it would happen.
Please advise what might be a better solution to this issue.
Thanks

Hmm, need to take a closer look at this

Replaced by bf899e2


Context is lost when archiving headline with level >1

Describe the bug
Archiving a headline should add context, that is, the various ARCHIVE_ properties defined in https://github.com/nvim-orgmode/orgmode/blob/d2fde796eec52d9ecc4ac045a6d1b3bff83cbfe7/lua/orgmode/capture/init.lua#L288-L292
Since edc3ceb, this does not work anymore for headlines of level 2 or greater. It seems the culprit is https://github.com/nvim-orgmode/orgmode/blob/d2fde796eec52d9ecc4ac045a6d1b3bff83cbfe7/lua/orgmode/capture/init.lua#L176-L178 - the original lines including the archive props is overwritten with (promoted) lines based on the headline only, so the archive prop lines are lost.
Steps to reproduce

Open nvim (with the minimal init.lua)
Create the file foo.org containing* bar
** TODO baz

If it is not already there, move the cursor into the second line (the "baz" line)
Press <Leader>o$ to trigger archiving the baz-headline.
Open foo.org_archive. It contains* TODO baz

Expected behavior
foo.org_archive should contain
* TODO baz
  :PROPERTIES:
  :ARCHIVE_TIME: <current timestamp>
  :ARCHIVE_FILE: </path/to/foo.org>
  :ARCHIVE_CATEGORY: foo'
  :ARCHIVE_TODO: TODO'
  :END:

Emacs functionality
I have not tested this, but presume since it worked previously with nvim-orgmode, it works in Emacs as it had worked in nvim-orgmode.
Minimal init.lua
(Just the provided template)
local tmp_dir = vim.env.TMPDIR or vim.env.TMP or vim.env.TEMP or '/tmp'
local nvim_root = tmp_dir .. '/nvim_orgmode'
local lazy_root = nvim_root .. '/lazy'
local lazypath = lazy_root .. '/lazy.nvim'

-- Install lazy.nvim if not already installed
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    'git',
    'clone',
    '--filter=blob:none',
    'https://github.com/folke/lazy.nvim.git',
    '--branch=stable', -- latest stable release
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

require('lazy').setup({
  {
    'nvim-orgmode/orgmode',
    event = 'VeryLazy',
    ft = { 'org' },
    config = function()
      require('orgmode').setup()
    end,
  },
}, {
  root = lazy_root,
  lockfile = nvim_root .. '/lazy.json',
  install = {
    missing = false,
  },
})

require('lazy').sync({
  wait = true,
  show = false,
})

Screenshots and recordings
No response
OS / Distro
macOS 14.5
Neovim version/commit
0.11.0-dev-18+g63e3a63d2
Additional context
I have started writing a test to demonstrate this , it can be applied with patch -p1 < test_archiving_with_context.patch (on master as of d2fde79):
test_archiving_with_context.patch
Note the test is not complete, in particular, the precise content of the archive properties is not checked. But at least it should be sufficient to demonstrate the problem.
Edit: Fix links to code

Thank for reporting. Should be fixed on latest master.

Thank you for the fast response, I can confirm it works now. 👍


Extracting part that generates full URL into it's own method so that …

Extracting part of method which generates full URL of an item.
For example:
Testing

Testing

With this, both of these href attributes would generate a full URL in the case of the first example, the current url would be used so if a person is on https://www.stdcheck.com/adslkjfsl
the url would be https://www.stdcheck.com/testing.php
The second example should just generate what is passed in as is since it's a full path already.

!force code review

Paging @RedEnchilada to review the back-end work in this pull request!

Your example is not syntactically valid because you're missing a quotation mark.

👍  6577f08

submitting separate pull request for the changes mentioned in CR :P


Ci cd

How strict should be clippy? We can set it to error on warning to break CI

After running clippy and attempting to fix some of the warnings, one of the complaints caught my attention in particular:
It is "solved" by simply
    if header_roots != block_header_roots {
        return Err(BlockHeaderError::MismatchedRoots(Box::new((
            header_roots,
            block_header_roots,
        ))));
    }

    /// headers/errors.rs
      #[error("Mismatched roots")]
    MismatchedRoots(Box<(BlockHeaderRoots, BlockHeaderRoots)>),

However, given this discussion, I'm not sure if it is the correct approach. It does stop the warning though.
I think we should take a bit more care on this one, because in the discussion it mentions:

I think a first question to ask that you seem to have skipped over is, do you care? Checking the playground 2, MachineError is exactly 128 bytes which is a trivial amount unless you're targeting embedded systems or extremely hot loops.

And I believe in this scenario we could consider our code to be a "hot loop"

Your solution is actually suggested by clippy, in the warning you can see:

for example by boxing large elements

Regarding the discussion, i assume you mean an issue with breaking changes to previos version? In that case it shouldn't be an issue, since 0.1 is not officially released.

Your solution is actually suggested by clippy, in the warning you can see:

for example by boxing large elements

Regarding the discussion, i assume you mean an issue with breaking changes to previos version? In that case it shouldn't be an issue, since 0.1 is not officially released.

No Breaking changes. It just werks. As you explained, error types are nested so it solves the problem by just fixing the MismatchedRoots.


Examples fixed

Summary
Fixes majority of html examples.  Some small bugs may remain but 99% ok
Description for the changelog
Updates example html files and fixes bugs in core code that were found when testing
Other info

covers #73

Thanks both for reviewing and thanks for the feedback. I'll look into seeing how the PR can be improved by splitting and tidying up some of the formatting

@gelvidge hi, I will have some time on next Thursday to work on the project. I can try to cherry-pick some commits that quickly fix the examples in a dedicated PR.
Please let me know

@gelvidge we are currently on the process of changing the license of this project to the standard Apache 2.0 license (see #89). Do you agree to use the Apache 2.0 license on your contribution ?

Yes that is OK. I will aim to get around to submitting the new commits soon but all my contributions can be under Apache v2

@gelvidge hi, do you still plan to recreate some PR based on the fixes proposed here?
@mayorovad started fixing some stories and some are already merged. That's why there is some merge conflicts here.
So I suggest you synchronize together if you both want to set new stories.

This PR is kept opened on purpose even if it won't be merged. There is no need to update it, nor rebase it, as it it too large.
However, it contains a lot of valuable information and fixes. It can be used as a source of information to create new focused and small PR about a single topic.

Closing this PR.
It will be used to pick some changes when fixing remaining problems in stories. See #505.


removed interpolation, upped send rate

Unity was adding extra network delay by moving towards the new position.  Now it instantly jumps to the new position.
Paddle delay is still a bit much for my liking.
#146

Live netplay assumes ~100ms lag and you can see how lag looks by lowering send rate.
Unity was also smoothing the net object movement so the rigid body spends a bit of extra time moving towards where it is told the ball is but you can only do that if you smooth to where the ball is going next, or if there is uniform delay.  So that was removed.
Adding some smoothing+prediction makes the ball jittery and the ball trail look awful.  And the action is too fast for it to be helpful anyway.  Too many collidables.
It looks like you resolve networking by having the server run multiple iterations of a simulation of the game so it can know the gamestate seconds ahead and send that to the clients.
Additionally, where paddle hit accuracy is desired, I think you need to use the client's version of a paddle hit (don't know if necessary for flippers) and have the server verify afterwards.

The ball is quite jittery on the client, do we merge this anyway, @Cheeseness ?

I think let's pull this in and improve from here.


chore: Introduce Kamelet input/output data types

Introduce data type converters
Add data type processor to auto convert exchange message from/to given data type
Let user choose which data type to use (via Kamelet property)
Add data type registry and annotation based loader to find data type implementations by component scheme and name

Relates to CAMEL-18698 and https://github.com/apache/camel-k/issues/1980
This PR introduces input/output data types on Kamelets. Each Kamelet is able to use a specific data type processor and a registry to resolve data types and its conversion logic.
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
  name: aws-s3-source
  labels:
    camel.apache.org/kamelet.type: "source"
spec:
  template:
    beans:
    - name: dataTypeRegistry
       type: "#class:org.apache.camel.kamelets.utils.format.DefaultDataTypeRegistry"
    - name: dataTypeProcessor
      type: "#class:org.apache.camel.kamelets.utils.format.DataTypeProcessor"
      property:
        - key: format
          value: '{{outputFormat}}'
[...]
      steps:
      - process:
          ref: "{{dataTypeProcessor}}"
      - to: "kamelet:sink"

The user chooses the data type in the Kamelet binding by its format name and sets the property outputFormat on the binding source.
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: aws-s3-uri-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: aws-s3-source
    properties:
      bucketNameOrArn: myBucket
      accessKey: ...
      secretKey: ...
      region: …
      outputFormat: json
  sink:
    uri: log:info

The json data type is provided by the aws-s3 component and adds automatic message body conversion logic. The data type and its conversion logic is defined via annotations and a registry automatically performs a lookup based on the component scheme and the data format name.
As an example the PR introduces some standard data type converters as well as output data types for the aws-s3-source and input data types for the aws-ddb-sink Kamelet.

@oscerd I was adding some more commits while iterating and improving the PR. Do you want me to squash the shanges to some essential commits first?

also I see I need to rebase

That's fine, no need for squash at least from my PoV

Let me know once is ready and I'll review and merge. We need also to identify the default type for each of Kamelets we're going to modify.

Camel-k-runtime seems to be ok while upgrading to the required bits for Camel 3.19.0 and Camel Quarkus 2.14.0. I would like to include this PR in 0.10.0 and release by the end of this week or beginning of the next. So we could have a first camel k release (1.11.0) upstream with this feature.

Can you rebase @christophd ? Thanks.

Please make sure that this works in standalone Camel as well, eg such as try via camel-jbang.
Kamelets are universal building blocks and MUST work on camel-spring-boot, camel-kafka-connector, camel-quarkus (without camel-k), and of course camel-k as well.
Previously Kamelets have been kept more basic where the kamelet-util JAR was what the name said - utility. With this kind of work, then its no longer util, but a core and api part of kamelets, which IMHO later should be moved into their own modules.

We could create a kamelet-api module. I'll try the PR on jbang too.

@davsclaus absolutely! IMO this should go to Camel core in the long term. That's why I was adding all those spi and api parts as well as the registry with factory finder lookup as part of this solution.

@oscerd all checks have passed now. I think this is ready for a final review.
I have provided some fixes to YAKS tests in general so they are all successful now (before the tests actually have been skipped reporting green jobs). I will backport the YAKS related fixes to 0.9 once this is merged.

I would like to release 0.10.0 this week. There are some leftover to work on @christophd I guess. I'll wait all green in terms of review to merge.

I'm still under the impression this PR is WIP. We are not sure this will work across all the runtimes, we have some missing bits for make it work on Quarkus and camel-k. Probably it would be better to postpone the merge to another kamelets release, when we have something more stable. Thoughts? @lburgazzoli @christophd @davsclaus

I'm still under the impression this PR is WIP. We are not sure this will work across all the runtimes, we have some missing bits for make it work on Quarkus and camel-k. Probably it would be better to postpone the merge to another kamelets release, when we have something more stable. Thoughts? @lburgazzoli @christophd @davsclaus

IMHO we must be sure that introducing this new feature does not end up break existing running integrations.
If there is a way to make this feature an opt-in, then we can merge it and move forward

The changes should not harm existing runtimes and integrations. The operator may build a new integration kit because of the additional utils dependency but that should be all.
The YAKS tests that we have should make sure that the DDB sink Kamelet is still working as it was before. I have not changed the tests and they run successful in this PR. Also we have new YAKS tests for AWS S3 source that also verify the default behavior of the Kamelet as it has been before.
@oscerd @lburgazzoli I think we can wait for the end of the day and then make a decision. I can work on some of the open points today so we should only have these left overs that we can tackle in follow-up iterations:

Make factory finder mechanism work in camel-quarkus (may lead to a new Camel K release)
Disable classpath scan by default and use lazy loading via factory finder as a result of the point above
Generate factory finder META-INF files as done in Camel core
Add DataTypeRegistry as singleton to the Camel registry to avoid local instances per Kamelet

There is one point in the PR I didn't notice before, creating a Jackson Data format for each message is really overkilling. My only concern is related to the fact the behavior will be or not the same, in all the runtimes. We are introducing a new parameter with a default value, so the kamelet lifecycle and execution path won't be the same, I suppose.

Since, at least, from my PoV, this is a really big change, I would maybe postpone this to after 3.20.0 release.

This PR changes 2 existing kamelets so it cannot be an opt-in.
So I suggest to revert the 2 kamelets so all kamelets works as now.
And then add new kamelets that use this new stuff and mark them as experimental.

This gives time for this new stuff to stabilize and improve and have it moved out of kamelets-utils as its not util and into its own module. And then later find out what can/should go into core camel.
And we need to ensure that this works across all Camel runtimes (CSB, CEQ, CKC, JBang, ...) which it ought to do as it uses camel practices, but we haven't had time in these other projects to test and try.

Yes, I think something like introducing some side kamelets with the new feature and test them would be best. Then we can introduce this slowly on the Kamelets, once we have everything in the correct place.

camel-kamelet (kamelets) are discovered via camel-kamelets-catalog in the kamelets sub folder, so you should NOT have other folders.
If we end up with alot of kamelets, then we can work on supporting folder hierarchy instead of single folder as currently.

@davsclaus yes, good to know.
at the moment the experimental folder is not inside kamelets but right next to it as a top level folder. so experimental Kamelets will not be included in the catalog at the moment.
@oscerd suggested to add those experimental Kamelets to the catalog. I am fine with it. When thinking about it it might be good to include them because then people can give it a try. I could add @experimental tag to the tests for these Kamelets so we can separate the tests, too.

@christophd if you rebase the validation should be fixed now.

@oscerd unfortunately is is still failing after rebase

Pushed on main, should work now if you rebase.

@oscerd @lburgazzoli @davsclaus look at this all checks have passed 😄
So what we have right now is following:

reverted AWS S3 source and AWS DDB sink Kamelet to not use data types and they work as it has been before
introduced experimental Kamelets (in experimental top level folder) that make use of data types utils
add some YAKS test coverage for experimental Kamelets that are also part of the GitHub actions CI jobs

Only question is if we should include the experimental Kamelets into the catalog right now or leave them in experimental folder for now. I am happy with both ways but I guess it will be easier for people to give it a try when they are part of the catalog.

Moving them to the official catalog seems to be better maybe something like aws-s3-source-exp.kamelet.yaml instead of .exp.kamelet.yaml. So we could give them to the users.

and have early feedback

So I would prefer to have them in the catalog from the 0.10.0 release.

@oscerd the experimental Kamelets are now included in the catalog. Because of validation scripts I ended up with following naming:

aws-s3-experimental-source
aws-ddb-experimental-sink

All checks are green! From my side this is good to be merged

LGTM
Thanks for the effort @christophd and sorry for the bike-shedding but thats the nature of humans, github and big PRs ;)

Thanks. Nice addition!


TensorFlow ecosystem: tensorflow should never be in propagatedBuildInputs

Motivation for this change
This is a followup to https://github.com/NixOS/nixpkgs/pull/156808 to provide the same benefits to the tensorflow package. The tl;dr is that including tensorflow in propagatedBuildInputs makes it extremely difficult for users wanting to use tensorflowWithCuda, effectively forcing them to use overlays. The solution is simple: never put tensorflow in propagatedBuildInputs and instead let users pick tensorflow or tensorflowWithCuda as they see fit.
I updated all of the offending, non-broken packages in nixpkgs. The following packages include tensorflow in their propagatedBuildInputs but are marked as broken, so they were left unchanged:

https://cs.github.com/NixOS/nixpkgs/blob/54cbee8d9700668eaa51219f6c852b4019cfd2ba/pkgs/development/python-modules/rl-coach/default.nix?q=repo%3Anixos%2Fnixpkgs+tensorflow+language%3ANix#L34
https://cs.github.com/NixOS/nixpkgs/blob/54cbee8d9700668eaa51219f6c852b4019cfd2ba/pkgs/development/python-modules/graph_nets/default.nix?q=repo%3Anixos%2Fnixpkgs+tensorflow+language%3ANix#L29 (graph_nets is not itself marked as broken but depends on dm-sonnet which is broken)

Assuming this PR is accepted, I'll update https://nixos.wiki/wiki/Tensorflow with a section noting that this is best practice for future packages depending on tensorflow.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

hmmm. I'm assuming that it would be better to do this at the package set level.
something like:
import <nixpkgs> { config.withCuda = true; };

And then just determine behavior that way cc @fridh

@jonringer IIUC the problem with that approach is that it requires users to (re-)build the ecosystem on their own machine since cache.nixos.org does not cache packages marked unfree (everything that CUDA touches in this case). Building tensorflowWithCuda takes 80 vCPU-hours on the m6a family of EC2 instances. So overlays and config.withCuda = true are hardly usable for many users like myself.
I'm open to any different set of ways of accomplishing this as long as it is easy enough for users. But OTOH if { config.withCuda = true; } is the blessed way to accomplish this, why does tensorflowWithCuda exist?

Not sure how changing leaf packages would allow you to speed up the build of tensorflowWithCuda.

Well my thinking is that tensorflowWithCuda could be cached somewhere for multiple users to use. I've been uploading builds of jaxlibWithCuda and tensorflowWithCuda to my public cachix bucket ploop.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/petition-to-build-and-cache-unfree-packages-on-cache-nixos-org/17440/1

Perhaps I should clarify why I feel these changes are prudent. I don't want to dismantle propagatedBuildInputs and runtime dependencies as a concept. They have a very important place in the ecosystem, esp. packaging Python libraries. My criteria for making this change in the tensorflow and JAX worlds is that we currently let users choose between two different possible runtimes at the package level, eg. users are presented with a choice between tensorflow and tensorflowWithCuda. As long as we give users this choice, I believe that the relevant packages should "just work" as intended. However, this is not currently the case. Eg, if you run nix-shell -p python3Packages.tensorflowWithCuda python3Packages.mask-rcnn you will be quite surprised to find that mask-rcnn is running on the CPU, not the GPU! That's exactly what happened in https://github.com/NixOS/nixpkgs/issues/156767.
So I don't mean to suggest that we should get rid of all runtime dependencies. Only that if we give users a choice between two different runtimes, we ought to respect that choice.
On a meta note, my goal here is to make GPU-enabled deep learning "just work" on NixOS; I'm not tied to any one solution. Furthermore, I believe that there should exist exactly one "blessed" way of accomplishing this. Right now it seems users can either use overlays/config.withCuda or select tensorflowWithCuda. I think we should have a conversation around which of these solutions is going to be the official way moving forward, and then build based on that decision.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/announcing-the-nixos-cuda-maintainers-team-and-a-call-for-maintainers/18074/5

closing as stale


Running harvesters with docker

Hi all,
did anyone try to run harvesters inside a docker container?
Using a python image and a very simple example I get following error:
You have no candidate
From what I understand this means that harvesters cannot load the CTI files.
Everything runs great on the host machine.
The CTI-Files are available inside the container.
I tried two different CTI-Files of two manufactures.
Pinging the cameras is possible inside the container.
If this exception is not clear, I can create a minimum example.
Best regards and as always --> Thanks for the great work!

How to reproduce:
File tree
├── Dockerfile
├── main.py
└── ressources
    └── ids_gevgentl_linux_x86_64bit.cti

Dockerfile
FROM python:3.7
ADD main.py /

RUN mkdir /ressources
COPY /ressources /ressources

RUN pip install harvesters

CMD ["python", "main.py"]

Python example
import os
from harvesters.core import Harvester

CTI_RESSOURCE = 'ressources/ids_gevgentl_linux_x86_64bit.cti'

print(CTI_RESSOURCE, os.path.isfile(CTI_RESSOURCE))

# Init harvester
h = Harvester()

# Add camera specific GenTL driver
print("*** Initializing camera interface...")
h.add_cti_file(CTI_RESSOURCE)
h.update_device_info_list()

# list all found cameras
print("*** Searching for GigE cameras...")
print("*** Found cameras: %d" % len(h.device_info_list))
for cnt in range(len(h.device_info_list)):
    print("*** Camera #%d:" % (cnt+1))
    print(h.device_info_list[cnt])

Create docker environment
docker build -t harvissue .
Results
Running inside docker with: docker run harvissue
ressources/ids_gevgentl_linux_x86_64bit.cti True
*** Initializing camera interface...
*** Searching for GigE cameras...
*** Found cameras: 0

Running on host with: docker run harvissue
ressources/ids_gevgentl_linux_x86_64bit.cti True
*** Initializing camera interface...
*** Searching for GigE cameras...
*** Found cameras: 3

@ArekMC Hi, Arek. Thank you for trying out Harvester. Could you check if the container has been fully equipped to get the GenTL Producer running? A GenTL Producer, a CTI file, is a shared library actually. So if you just grab a single CTI file then it would not work because it usually looks for other libraries to work with; some might look for environment variables, too. I mean you will have to run its installer in the container in advance; of course, you could install everything by yourself but it's error-prone from a maintenance point of view. As a general question, there are enough people have got Harvester running in a Docker container so you also should be able to make it. /Kazunari
See also: https://github.com/genicam/harvesters/wiki/FAQ#i-pointed-out-a-cti-file-but-harvester-says-the-image-doesnt-exist-part-2

Hello @kazunarikudo,
have you tried the mvGenTL Acquire installed inside a docker container?
I have installed it by using a installation script inside my docker container. But the installation at the end a reboot.
Is it necessary to reboot my container? Or the sdk can also be used without reboot?


Add DOCX image

DOCX is the standard MS Word document as of 2007.

I have some more icons coming from the reported issues and PRs, need to find a bit of time to get all those in.

I see that the icons are really huge in filesize. I will have to optimize them later on. For instance the 512px icon is typical 20kB vs 1MB of you docx.

Thanks for the merge. Sorry, I used the original 512 DOC image as a base point, photo-shopped the text out, and added DOCX. Then generated the different sizes. I didn't pay any attention to file-size. I am on another computer and not at home, so I will get back to it when I can. I will fix the file size(s) and update.

Hi,
I think I will try with a trial version of Adobe Illustrator to get all icons updated with all the suggestions mentioned in the other tickets (other document types). I use iDraw on mac and the exported colors are not the same as the original icons. They are all vector based and then exported to png.

I use the latest PhotoShop. You can save web versions, I just don't and leave it full res, and then save the web versions later when and where I need to. I don't think there is anything wrong with a 100-200kb image if it needs to be large. I agree 1mb is too big, and I didn't notice the 512 was that big. However a 512x512 image at 20kb may not look very good. I don't want to be able to notice that the images are compressed, but I don't want 1mb images either lol. - I will take some time out in a bit and double check the images vs sizes and re-submit them in a bit.


Enhancement: Credits screen or a way to add credits via source code

What is your suggestion, and why should it be implemented? The breaking point between psych and kade for me is the credits and i can't figure out how to add credits, so is there any way i could add them to my game?

KadeDev left his Kade Engine project. So it's not currently maintained. You can take a look to psych engine source code to try to replicate it or directly steal it lol.

why he leave his engine

why he leave his engine

He's working in average4k now. Currently working in Tricky mod in average4k a non-Haxeflixel engine.

okay ..oh dont put pysch credits files its not work in kade engine

you need to create one


Implement a hero animation inside the app.

please assign me this issue

can you please assign me this task

hey..thanks for responding but I am working on this issue. You can take any other animation under flutter docs , open up an issue and tag me . I will assign it to you.

Implemented and closed.


Add endpoint for hash algorithm used during signing.

Description
Today the public key can be retrieved via the API. For signature algorithms that rely on a hash function, the used hash function can not be retrieved via the API. Current Rekor cli assumes the hash function is SHA-256: https://github.com/sigstore/rekor/blob/main/cmd/rekor-cli/app/log_info.go#L190
Also, if the signing algorithm used is RSA, PKCS1 1.5 is assumed: https://github.com/sigstore/sigstore/blob/d59ee8fee91d9e1e1f5aeae9347a69ff3439ea29/pkg/signature/verifier.go#L45
This information should also be available via the API.
When relying on TUF for key distribution, those parameters should of course preferably be part of the TUF metadata.

When relying on TUF for key distribution, those parameters should of course preferably be part of the TUF metadata.

I think we should probably just require that these parameters be distributed out-of-band always; otherwise, it feels like an attack vector (I can MITM the connection to Rekor, tell you to use CRC32, and forge signatures).

I think we should probably just require that these parameters be distributed out-of-band always;

Yes, that is of course the best. I was a bit puzzled as the public key is available via the API, but not the parameters.

Makes sense.
Yeah, I think it's fair to want either both or neither, and maybe we should prefer neither.

Closing - Decision is that this should be provided out of band


Require deal.II 9.0 in cmake

Codecov Report

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

@@           Coverage Diff           @@
##           master      #78   +/-   ##
=======================================
  Coverage   87.58%   87.58%
=======================================
  Files          27       27
  Lines        1514     1514
=======================================
  Hits         1326     1326
  Misses        188      188

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 9ed5a09...6976042. Read the comment docs.


randomized endpoint cert pool

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

This batch of commits should resolve most of it, a PooledCertificate class managed to sneak into the last one. Will refactor to List tomorrow when temperatures are lower


Issue with k8s.io/docs/concepts/configuration/secret/

Does not show how to display a secret

This page links to https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/#decoding-secret
Maybe we could add another link earlier in the page? A bit of tidying up wouldn't hurt.

This page links to https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/#decoding-secret
Maybe we could add another link earlier in the page? A bit of tidying up wouldn't hurt.

/language en

/language en


Refactor Travis CI test script

Separate bash script to functions.
Add prints to assist finding what is the actual failing command without
the need to scroll back.
Add sanity check that all expected functions are executed.
This will allow developers to change order, or run a subset
of the functions during development, but still guard
that at the end the debug change is reverted before Travis
allows to merge.
Signed-off-by: Or Shoval<EMAIL_ADDRESS>None

Generaly speaking, improvements in this area are discouraged at this time because the plan is to migrate it to prow as multiple jobs.

Separate bash script to functions.

+1 to structure.

Add prints to assist finding what is the actual failing command without
the need to scroll back.

Most operations are of ‘make’ which print on what target they failed.

Add sanity check that all expected functions are executed.
This will allow developers to change order, or run a subset
of the functions during development, but still guard
that at the end the debug change is reverted before Travis
allows to merge.

This is an overkill. If you have functions, you can easily choose what to run.
—-
I feedback on specifics for completeness. As the plan is to move to prow and split into multiple jobs, effort should be focused on bugs and not enhancement at this stage.

Generaly speaking, improvements in this area are discouraged at this time because the plan is to migrate it to prow as multiple jobs.

Separate bash script to functions.

+1 to structure.

Add prints to assist finding what is the actual failing command without
the need to scroll back.

Most operations are of ‘make’ which print on what target they failed.
some doesnt , and then at the end you must scroll back, now you dont

Add sanity check that all expected functions are executed.
This will allow developers to change order, or run a subset
of the functions during development, but still guard
that at the end the debug change is reverted before Travis
allows to merge.

This is an overkill. If you have functions, you can easily choose what to run.

was groomed with Dan, to do it as i did for the lanes, it allow people to easily remove functions, and have fast answer, without forgetting to revert it.

—-
I feedback on specifics for completeness. As the plan is to move to prow and split into multiple jobs, effort should be focused on bugs and not enhancement at this stage.

synced with @danielBelenky
Its now supports providing function list, and allow easier automation.
Rebased and fixed build-verify usage.

@danielBelenky
Would you please review again ?
did the requests you asked, reverted the change that moves logic to the Makefile,
because this one keeps all the targets in one script, which is more maintainable and have common structure.
it support getting function name from command line as we spoke, so it can do the same as the one that was reverted.

Imo this is much cleaner than using snippets in makefile, but the CI task force decided otherwise.


Format arguments to camel-case

All arguments should be formatted in camel-case, eg: --i18nLocale instead of --i18n-locale.

@edbzn I would like to work on this issue. Let me know how I can onboard myself and how I can contribute.
I would like to know how to test it etc too

Hi @amoghrajesh, you can clone the repository, make the changes, source the code you have changed: /<source your-path-to-the-plugin>/nx-completion/nx-completion.plugin.zsh and try to type nx to see the completion. Then push your changes and open a PR!

@edbzn could you assign this issue to me so I can work with you on this to solve this one?

@edbzn I am trying to onboard onto this task and it keeps saying zsh: command not found: nx even though I have edited by ~.zshrc file already

@edbzn I need some more background / context to operate on this issue. Could you let me know how I can onboard to understand it?

@amoghrajesh All arguments are formatted in kebab-case actualy, for example:
        "--browser-target[Target to extract from.]:target:" \
        "--i18n-format[Format of the localization file specified with --i18n-file.]:format:" \

The best would be camel-case instead, I would expect something like:
        "--browserTarget[Target to extract from.]:target:" \
        "--i18nFormat[Format of the localization file specified with --i18nFile.]:format:" \

etc... the list is quite long.

If the issue is still there I would like to work on this.

@Alireza-Sampour go ahead!

I created a pull request, let me know if anything is forgotten.

@Alireza-Sampour Thanks for the work!


Lint repo documentation

Codecov Report

Merging #104 (f8d1da1) into master (28fab2e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #104   +/-   ##
=======================================
  Coverage   70.41%   70.41%
=======================================
  Files          77       77
  Lines        6166     6166
=======================================
  Hits         4342     4342
  Misses       1824     1824

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 28fab2e...f8d1da1. Read the comment docs.


Cannot use images with the same file name when storing on s3

If you upload two different products but their image names are the same when you add them in the dashboard and use s3 for storage. The store only shows the first uploaded photo for both products.
a random string added or replacing the filepath on upload to s3 would be useful

fixed with a simple setting
VERSATILEIMAGEFIELD_SETTINGS = {
'image_key_post_processor': 'versatileimagefield.processors.md5'
}
as per
http://django-versatileimagefield.readthedocs.io/en/latest/

That would probably be nice to integrate it on Saleor. We could use CRC32 instead of MD5 as well (not shipped by django-versatileimagefield by default) but the difference is not that much important on such small files.

@NyanKiyoshi I have to update that the image_key_post_processor didn't actually solve the problem, it only seems to be applied to the cropped images so I still have this issue, I just create a unique name top copy and paste on the dashboard when I am about to upload an image as a quick hack.

From what I looked inside versatile and django, without overriding or modifying versatile, the only way to change the file name would be by altering the files name (request.files or self.files in forms) and sum the uploaded file if the form is valid (before calling the super class in form.save() then) and assign it to the file name.
And finally save the form.
I don't think it would be done in Saleor since it's pretty dirty/ hacky. There is probably another and better way to do that.
Depending on your need you can do those changes on your side.

Taking a look back at your issue, it seems like versatile is handling that case in local storage.
For example in local storage, upload two 1.jpg, will result to this:

But fails in the case of S3. I'm thinking you should probably open an issue in django-versatileimagefield since it seems to be handled by them.

@NyanKiyoshi Sorry to bring this back, I tried a lot of things but was not able to make progress. The django-versatileimagefield is not responsive at all.
I would love to get this working even if it is hacky (it doesn't really matter because its only on the internal dashboard anyway)
So I just have to add a UUID to the product file name before uploading to s3?
In saleor->dashboard->product->views
ajax_upload_image
I am trying to rename the file in request.FILES
import os
os.rename('file.jpg', 'file_uuid.jpg')

I can't seem to edit the request object properly and when I print it, it doesn't have the full path of the image which I think I need

Still having the same issue. Is there a fix for this yet?

@sammyiyke this ticket is very old, could you open a new discussion or ticket?

@sammyiyke @NyanKiyoshi
Put this function in your models.py
@deconstructible
class UploadToPathAndRename(object):
def init(self, path):
self.sub_path = path
def __call__(self, instance, filename):
    # get filename
    ext = filename.split(".")[-1]
    # set filename as random string
    filename = "{}.{}".format(uuid4().hex, ext)
    # return the whole path to the file
    return os.path.join(self.sub_path, filename)

image = VersatileImageField(
max_length=256,
upload_to=UploadToPathAndRename("products"),
ppoi_field="ppoi",
blank=True,
null=True,
)


Enrich translated dataset

Hi,
it would be a great improvement, if the translated dataset can be enriched with more data or fields:

The Original data (instruction, input and output) can be included to have a better comparison of original and translated data.
Add support for different translation models.
Field that is e.g. named review_needed should be added. Problematic or wrong examples can be detected (automatically or manual) and can then be flagged.

On Slack we had the discussion about markdown tables. So one could easily write a markdown table detection script and flag the found examples with the review_needed option, so that these examples can be reviewed later.
Another issue to be discussed: do we want to "override" the existing translated_german_alpaca.json? Or should we introduce a new file for that? But is more than one "dataset" confusing?
Concrete implementation
Concrete implementation steps would be to introduce the following new keys for each example in the dataset:

instruction
input
output
review_needed (Boolean, default: false).
translations with instruction, input and output as keys

Proof of concept
One example entry of that enriched dataset could look like:
{
    "instruction": "Give three tips for staying healthy.",
    "input": "",
    "output": "1. Eat a balanced diet and make sure to include plenty of fruits and vegetables. \n2. Exercise regularly to keep your body active and strong. \n3. Get enough sleep and maintain a consistent sleep schedule.",
    "translations": {
        "instruction": [
            {"facebook/wmt19-en-de": "Geben Sie drei Tipps, um gesund zu bleiben."},
            {"deepl/formality.less": "Gib drei Tipps, um gesund zu bleiben."}
        ],
        "input": [
            {"facebook/wmt19-en-de": ""},
            {"deepl/formality.less": ""}
        ],
        "output": [
            {"facebook/wmt19-en-de": "1. Ern\u00e4hren Sie sich ausgewogen und sorgen Sie f\u00fcr reichlich Obst und Gem\u00fcse. \n2. Sport treiben Sie regelm\u00e4\u00dfig, um Ihren K\u00f6rper aktiv und stark zu halten. \n3. Erhalten Sie gen\u00fcgend Schlaf und halten Sie einen gleichm\u00e4\u00dfigen Schlafplan."},
            {"deepl/formality.less": "1. ern\u00e4hre dich ausgewogen und achte darauf, dass du viel Obst und Gem\u00fcse isst. \n2. Treibe regelm\u00e4\u00dfig Sport, um deinen K\u00f6rper aktiv und stark zu halten. \n3. Schlafe ausreichend und halte dich an einen festen Schlafrhythmus."}
        ]
    },
    "review_needed": false
},

For me this sounds a bit like we need a real database with GUI and dataset versioning.

Ok, here's my favorite one: https://twitter.com/dvilasuero/status/1641164559888142336 (powered by @dvsrepo) :hugs:

We use Argilla now: https://github.com/LEL-A/GerAlpacaDataCleaned/pull/6
It also allows us to add metadata (translation model and original id) as well as sentence embeddings. Argilla itself allows us to label/flag a certain example into several categories, which can be seen as more sophisticated as just a review_needed flag.

Have you seen https://github.com/thisserand/alpaca-lora-finetune-language?
There the dataset was translated into German via Google Translator, DeepL and GPT 3.5. What do you think about including them in the dataset as different translation versions?


Error when posting to comments API

When posting to 'media/'.$post_id.'/comments' I get the following error:

Type: Larabros\Elogram\Exceptions\OAuthForbiddenException
Message: Invalid signed-request: Signature does not match

I have attempted making the call using:
$instagram->secureRequests();
$instagram->comments()->create($post_id, $this->input->post('text'));
or
$instagram->secureRequests();
$function = 'POST';
 $endpoint = 'media/'.$post_id.'/comments';
 $params = ['form_params' => $params];
$instagram->request($function, $endpoint, $params);
All my GET requests are working fine. I also make a POST request to likes and that is working correctly.

Perhaps it's a silly question, but are Signed Requests definitely enabled from the dashboard?

Yes. I have both 'Disable implicit OAuth' and 'Enforce signed requests' are checked on my dashboard.
I'm able to delete comments, like and delete posts. The only api endpoint that seems to not work is posting to comments.

Ah okay, that's weird, I really haven't had time to investigate and I've got a lot on work-wise, I'll try and have a look soon

I understand. Do you think you could point me in the right direction of where the root cause may be? I can try to take a look myself.

Thanks so much, the classes I'd specifically check are Http/Middleware/SecureRequestMiddleware and Repositories/CommentsRepository. IIRC I did write some tests for the secure request signature generation using the Instagram documentation, so I would have thought that it was all okay.
One theory I just came up with is that possibly the signature generation requires hashing the request body in some way that I may have forgotten to do, so hopefully that might help.
I'd like to think the codebase is somewhat coherent at a glance, so I hope you won't have too much trouble finding what's what 😄

Looks like you were right. The params sent to the generateSig function are missing the request params
I'll give it a shot at fixing and let you know

That would be lovely, if you could throw in a test case that would be supremely helpful as well 👍

Looked into it. Wasn't sure how to do it following exactly what you're doing. Would you create a interface for post params to pass into the generateSig() function?
All that needs to be done is pass the post parameters to the array $params argument.

The POST parameters can be retrieved through $request, unless I'm missing something?

Hmm.
We need the parameters passed through to the function. There may be other things in the Request that we don't need. The getQueryParams in the UrlParserTrait will only get the access token. We would need to pass the parameters from the request call to the Client class
$client->request('POST', "media/{$media_id}/comments, ['text' => $my_text]);
The text needs to be added to the
foreach ($params as $key => $val) {             $sig .= "|$key=$val";         }
in the generateSig() function in the SecureRequestMiddleware

I haven't worked much with Middleware so am unsure of how to get the $options in a call such as
$client->request('GET', $endpoint, $options)
to reach the SecureRequestMiddleware generateSig() function.


Speedup by splitting up sparse matrix into batches

Decrease runtime of breakfast by splitting up the constructed sparse matrix of all sequences into batches of smaller matrices and compute the pairwise distance of these smaller matrices. The speedup is gained by skipping distance calculations between sequences of different mutation lengths. If f.e. sequence A has a mutation length of 14, sequence B has a mutation length of 16 and we cluster with max-dist = 1, we do not need to compare sequence A and B since we know that A has at least an edit distance of 2 compared to B. Hence, we group the sequences according to the mutation length and calculate smaller sparse matrices for each mutation length group. That means that f.e. sequence A will only be compared with sequences of a mutation length of 13, 14, and 15. This is done straightforward by looping the sub_mat construction and calling pairwise_distances_chunked for each batch. The speedup is compatible with the caching process, sparse_matrix_batch function just checks if cached sequences are present in the current mutation length batch.
 Can you run the same data sets on the pre-optimization code so we can see how much of a speedup we're getting?


azure: pass full snapshot name when restoring disk

Signed-off-by: Steve Kriss<EMAIL_ADDRESS>Pass the fully-qualified snapshot name to the Azure API when restoring a disk from a snapshot, regardless of which snapshot name format (legacy or fully-qualified) is stored in the Ark backup

successfully tested this on AKS.

upd.

LGTM


Update mkdocs.yml

related to: https://github.com/0xPolygon/polygon-docs/pull/436

Closing for now as we had not discussed properly.


Dependency px-vis#~0.7.0 No tag found.

Submit an Issue
Hi,
Expected behavior and actual behavior:
Expected: px-vis-pie-chart should be installed with its dependencies.
Actual: bower px-vis#~0.7.0       ENORESTARGET No tag found that was able to satisfy ~0.7.0
Steps to reproduce the problem:
bower install --save px-vis-pie-chart
Screenshots (optional, but very helpful):

Thank you for your feedback, we are aware of the problem and working on releasing px-vis 0.7.0 soon. I'll update this post as soon as it is available

px-vis 0.7.0 is now released, the issue should be fixed!


support MobX 4

Done in https://github.com/LeonardoGentile/mobx-router5/releases/tag/v3.1.0
Let me know if you find any issue.


PubSub Sub Gifting

https://discuss.dev.twitch.tv/t/pubsub-subscription-gifts/12886/2 notes the additional fields in the JSON response for subscription gifting, and demonstrates a use of the Context field.
I've added in the additional (recipient) fields and added a line to assign Context if it is there.
My current project demonstrates that user_name, display_name, and userId refer to the person doing the gifting (so nothing changes for regular subscriptions), and recipient_user_name, recipient_display_name, and recipient_id refer to the person receiving the subscription (though, maybe only when context == "subgift").

Looks good! Thanks :)


Please mark this exception as transient

[Enter feedback here]
We got this kind of exception on our system while talking with EventGrid, I did not found an indication that this exception is transient, thus I opened a support request, because the exception message also suggested to do that, the MS support said it is transient and please retry...  The whole time would have been spared if the exception was marked here as transient!

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

ID: d07969b2-8459-4174-67e4-01f4518403fe
Version Independent ID: 37529303-83cb-f3d0-8de7-3f764881418f
Content: CloudException Class (Microsoft.Rest.Azure) - Azure for .NET Developers
Content Source: xml/Microsoft.Rest.Azure/CloudException.xml
Service: multiple
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Which library were you using?

We are using Microsoft.Azure.EventGrid v3.2.0 in the mean time we got more feedback from the MS Support that the exception can be sometimes not transient. This fuzziness is complicated to handle. Currently we retry the action for 3 times if it occurs more than 3 times we assume that the exception is not transient.
Mihail Tambur | M. Sc. Engineering | Senior Software Developer
M&M Software GmbH | Industriestr. 5 | 78112 St. Georgen | GERMANY
Phone +49 7724 9415-2516 |<EMAIL_ADDRESS>| Teams @.***>
M&M Websitehttp://www.mm-software.com | M&M Newsletterhttp://www.mm-software.com/newsletter/subscribe | XINGhttp://www.xing.com/companies/m&msoftwaregmbh | LinkedInhttps://www.linkedin.com/company/m&m-software-gmbh | Facebookhttps://www.facebook.com/mmsoftware.gmbh | YouTubehttp://www.youtube.com/user/mmsoftwaregmbh | Kununuhttp://www.kununu.com/de/all/de/it/mm-software

Registered Office: St. Georgen, Germany - Registry Court: Freiburg HRB 602021 - Directors: Klaus Hübschle, Christian Gnädig
This email is intended solely for the use of the named address(es). Any unauthorized disclosure, copying or distribution of these confidential information contained therein, or the taking of any action based on it, is prohibited.
Further information regarding data processing in accordance with article 13 and 14 EU-GDPR can be found at https://mm-software.com/en/privacy
From: msftbot[bot] @.>
Sent: Dienstag, 23. November 2021 21:02
To: Azure/azure-sdk-for-net @.>
Cc: Mihail Tambur @.>; Author @.>
Subject: Re: [Azure/azure-sdk-for-net] Please mark this exception as transient (Issue #24811)
[ External mail, please be careful with links and attachments ]
Hi, we're sending this friendly reminder because we haven't heard back from you in 7 days. We need more information about this issue to help address it. Please be sure to give us your input. If we don't hear back from you within 14 days of this comment the issue will be automatically closed. Thank you!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-sdk-for-net/issues/24811#issuecomment-977106306, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJXOKI4ZN7HVZGQD43CSP7LUNPXMPANCNFSM5GINABBQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
+++ Virus checked (incoming scanned by pmm.mm-software.com) +++

The AutoRest runtime stack reached end-of-life in September and is no longer supported.  Closing.


Unable to toggle lights or make timed lights against monorail stations

Describe the problem
Against monorail stations over roads, both the basic one and bus hub one, if an intersection is placed there a timed light cannot be set up, and the mod's use of light toggling cannot be setup. However other aspects of the mod can still be done, such as lane control and intersection properties.
This does not extend to normal monorail track away from the station, all mod properties function there fine.
I tested this on a new map with the only mods enabled being traffic manager and the vanilla mods of unlock all and unlimited money to rule out other mods as the problem.
Steps to reproduce

Build a monorail station
Build 2+roads coming off the end to form an intersection.
Attempt to build a timed light on that intersection

Log files

output_log.txt
Savegame?

https://steamcommunity.com/sharedfiles/filedetails/?id=2609333149
Screenshots?

This busy intersection can only have lanes controlled but not a timed light to properly regulate it

Notes or questions?
Please let me know when the save game is no longer needed so I can remove it from my workshop.

Thanks for reporting the issue. I also noticed similar behaviour with the metro/train/tram/trolleybus stations.
The issue is caused by the code for Movable Bridge mod compatibility😕
That mod has own custom logic for controlling traffic on the bridge that is incompatible with TM:PE so timed traffic lights cannot be set on any of those bridges. I need to figure out better solution.

@Adreos
I fixed the issue. I'll push an update to TM:PE TEST tomorrow.
If you want to test it locally here you can find the latest version with the fix

@krzychu124 I can't find the PR for this anywhere...

@krzychu124 I can't find the PR for this anywhere...

Yeah, you won't find PR because... I accidentally merged that fix directly to master 192258edfb9a23eb4733e56ed6de126cd1d23b6c


I am facing a similar issue as well where the breakpoints I set before a debug session get transformed into unbound breakpoints at debug runtime

I am facing a similar issue as well where the breakpoints I set before a debug session get transformed into unbound breakpoints at debug runtime and the debugger stops at compiled JS files whereas I want those breakpoints to stop at the initial TS files. Also set the trace=true property in my launch config but the breakpoints still don't stop at the desired point in TS files.
VS Code - 1.55
OS - Windows 10 64
Language - TypeScript 4.0
Framework - Azure Bot Framework SDK
Breakpoint Screenshot (Before starting debug session)

Breakpoint Screenshot (After starting debug session)

Breaks at JS Files

Launch Configuration

Please find the debug log file here:
vscode-debugadapter-69dd4811.json.gz
Originally posted by @msalvi96 in https://github.com/microsoft/vscode/issues/122580#issuecomment-831240584

It looks like you might have symbolically linked sources. If you do, follow the "Can I debug if I'm using symlinks" steps here: https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_can-i-debug-if-im-using-symlinks

It looks like you might have symbolically linked sources. If you do, follow the "Can I debug if I'm using symlinks" steps here: https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_can-i-debug-if-im-using-symlinks

I have tried updating my launch config to include "preserve-symlinks" as a runtimeArgs parameter. But it still stops at the corresponding JS breakpoint post compilation.

Can you collect another log with that flag set?


update script with new Get-ZimmermanTools logic

-netVersion 0 gets both net4 and net6 tools, default is net6 only now

Andrew,  I hope you are doing well.  Any idea when the KAPE-EZToolsAncillaryUpdater.ps1 script will be update to follow the new default for `Get-ZimmermanTools.ps1?  I'm trying to simplify the EZTools and KAPE update process in the FOR500 VM.  I'm trying to make the update process for both EZTools and KAPE as simple as possible and make sure that our current config of Net6 only tools does not accidently changed.  The current process is not hard but some folks charge ahead and don't read the instructions.
The biggest reason for this effort is that students and instructors are hesitant to update  EZTools and KAPE because it  used to be  a cli update.  As you are well aware,  the EZTools and KAPE are meant to be updated often, but that is not happening.
I have scripted both the the update of TZTools and KAPE to make that easier but  `KAPE-EZToolsAncillaryUpdater.ps1 throws some errors about folder not existing even though a few lines above the message states that the dir was created.  But,  the script still works and puts everything in the right place.   I anticipate the students and instructor will be throw off by that.
I will document that error in a separate issue.
Thanks for all the work that you have done on  KAPE-EZToolsAncillaryUpdater.ps1   I use it a lot and encourage others to do the same.  The script I mentioned above,  leverages your script heavily.
-Mark

@mark-hallman I did a lot of work on this tonight, but not done yet. Lots of improvements to the script were made, but also thinking of just removing the option of choosing which -NetVersion to simplify the script. Thoughts? TBH, the .NET 4 tools aren't really being maintained anymore, so no one should be using them over the .NET 6 version, except for in very rare circumstances, I guess. If you agree, I can just make it so using this script will just update and download the newest .NET 6 tools and keep it simple.
@Donovoi would appreciate any feedback, if you have any.

I've got a few fixes in my fork. I just need to sit and write info about them. Hopefully ill merge some time today and fix any other issues

I've got a few fixes in my fork. I just need to sit and write info about them. Hopefully ill merge some time today and fix any other issues

That's great but I don't want to duplicate efforts. I see we made some similar changes. I refactored a few things too on mine but that's what forks are for! I'll get a new version pushed for testing tomorrow before I make a new release. How does that sound?

Sounds great and I'll have a look then 👍

Sounds great and I'll have a look then 👍

You did great work but I'd hate for you to do more before you see the changes I made. I changed a lot lol. But I think between the two of us we'll make it great 👍

Haha sounds like a plan!

Andrew, My $0.02 worth, which sounds like the way you are already headed, is to have the default for KAPE-EZToolsAncillaryUpdater be the Net 6 tools only. If there are cli parameters that would allow for installs Net4 only or both Net4 and Net6, that would be cool, but I don't think those options should be used unless there is some edge case that requires them. Looking forward to seeing what you and Michael are working on.
…
-Mark
________________________________ From: Andrew Rathbun @.> Sent: Monday, June 12, 2023 11:03 PM To: AndrewRathbun/KAPE-EZToolsAncillaryUpdater @.> Cc: Hallman, Mark @.>; Mention @.> Subject: Re: [AndrewRathbun/KAPE-EZToolsAncillaryUpdater] update script with new Get-ZimmermanTools logic (Issue #16) @mark-hallman<https://urldefense.com/v3/https://github.com/mark-hallman;!!MlQdS1fu!Ti8Sy2qcF4KtofpFXqHU5Vo5bJq_U-Ws0-v-sUnODWUMF24szBdmFgHWJOaxoqIgJJjO0hDD0MDcyskNl9nsMA$> I did a lot of work on this tonight, but not done yet. Lots of improvements to the script were made, but also thinking of just removing the option of choosing which -NetVersion to simplify the script. Thoughts? TBH, the .NET 4 tools aren't really being maintained anymore, so no one should be using them over the .NET 6 version, except for in very rare circumstances, I guess. If you agree, I can just make it so using this script will just update and download the newest .NET 6 tools and keep it simple. @Donovoi<https://urldefense.com/v3/https://github.com/Donovoi;!!MlQdS1fu!Ti8Sy2qcF4KtofpFXqHU5Vo5bJq_U-Ws0-v-sUnODWUMF24szBdmFgHWJOaxoqIgJJjO0hDD0MDcysmziEU6oA$> would appreciate any feedback, if you have any. — Reply to this email directly, view it on GitHub<https://urldefense.com/v3/https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/issues/16*issuecomment-1588490933;Iw!!MlQdS1fu!Ti8Sy2qcF4KtofpFXqHU5Vo5bJq_U-Ws0-v-sUnODWUMF24szBdmFgHWJOaxoqIgJJjO0hDD0MDcysl3THUZPA$>, or unsubscribe<https://urldefense.com/v3/https://github.com/notifications/unsubscribe-auth/AEAHTAFVACZ2KJPIRKI5XWLXK7RBJANCNFSM6AAAAAAYI37IUI;!!MlQdS1fu!Ti8Sy2qcF4KtofpFXqHU5Vo5bJq_U-Ws0-v-sUnODWUMF24szBdmFgHWJOaxoqIgJJjO0hDD0MDcyskg12ReXA$>. You are receiving this because you were mentioned.Message ID: @.***>

Okay great, thank you for the feedback. That very much simplifies things for me. I'll continue refactoring and hopefully have a new version pushed (not to Releases....yet) today so people can test and provide feedback.

@Donovoi @mark-hallman check out the newest draft of this script and test it out!
https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/commit/cec85f6677e6dff5d4dc12fe7b2e13a87ff154b4
Let me know if you think it's production ready.

https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/commit/b3fb3c4929c93e3d2c0b9d22385d23d3f78c4b82
made a few more changes, let me know if any issues come up and I can address.

TODO for me before putting out a new release, I need to update the README

TODO for me before putting out a new release, I need to update the README

This is done.
@mark-hallman I will close this for now, but please open up new Issues if you run into any bugs with the script. I want to think it's in a pretty good spot. I think the main thing will be to ensure the latest version of Get-ZimmermanTools.ps1 is being used in .\KAPE\Modules\bin, and all should work as intended.

@AndrewRathbun I'll test the new version today.

Sounds good, if you run it first time and it fails, run it again and it should have success. I think I have to adjust some logic to handle that first time running since the Get-ZimmermanTools.ps1 update but subsequent runs should be smooth sailing.

Script execution

Each test starts with a "standard" FOR500 KAPE install which includes Net 6 tools only in the  C:\Forensic_Program_Files\Acquisition\KAPE\bin` directory.
Copied new, version 4, EZToolsAncillaryUpdater.ps1 script to KAPE root C:\Forensic_Program_Files\Acquisition\KAPE
Open PowerShell Admin shell and navigated to C:\Forensic_Program_Files\Acquisition\KAPE
Ran .\EZToolsAncillaryUpdater.ps1
Script downloads both Net 4 and Net 6 versions of the EZTools. Q: If the default is to install only Net 6 tools,  why are we downloading both versions?
The Net 6 version of the EZTools is correctly copied in the ..\KAPE\Modules\bin  (C:\Forensic_Program_Files\Acquisition\KAPE\Modules\bin)
After the script completes, the ..\KAPE\Modules\bin\ZimmermanTools directory still contains the Net 4 version of the tools. Is there a reason for the Net 4 tools remaining? See item 5 about downloading tools that are not going to be installed.

Ran, against a refreshed version of the VM, the same test as detailed above EXCEPT I didn't copy the latest installer in the KAPE home dir.  I'm testing to ses if the updater script gets updated.  It does not.  Reviewing the code, it looks like the intention is to grab the latest version and compare it to the current version.  If the current is less than the latest, download the new version.
Rerunning the EZToolsAncillaryUpdater.ps1 script a second time with no other changes, fixed the Net 4 utilities still residing in the  ..\KAPE\Modules\bin\ZimmermanTools directory.  The latest version of the script is still not downloaded.

For your 5th point, it's because the old version of Get-ZimmermanTools.ps1 exists already, so when that's run, it'll download the new version of that same script, so on the second run of my script, it should function as normal.
Maybe I need to not check if Get-ZimmermanTools.ps1 exists and just mandate a new copy be brought down each time? Try running it for a second time on a test box and let me know what things you like/don't like about what files are left over, etc.
Also, maybe I should add a cleanup for any .NET 4 tools that get downloaded as a part of this process. Thoughts?

I think the latest version of EZToolsAncillaryUpdater.ps1 and Get-ZimmermanTools .ps1 should be pulled down.  I can't think of a reason why we would not move to that latest version.  The version number in  Get-ZimmermanTools .ps1  is not updated in the latest version, so some other way will need to be used to determine if the latest version is already present.
The version of EZToolsAncillaryUpdater.ps1  in my test VM is 3.6.  I can see the code to determine the latest version of the updater and compare it to the current version.  If there is a newer version of the updater, it should be downloaded and used.  This is not happening for me.  The   EZToolsAncillaryUpdater.ps1 is not being updated to the latest version. The 3.6 version of script has determined that the 3.6 is the latest version. Please take a look at the screenshot of the log.  I have also attached the entire log and my current KAPE directory contents.  (KAPE dir zip too big to update in this comment.)

If both Net4 and Net6 files must be downloaded, and a default install of Net6 only is done,  then all the Net4 should be removed.
My script starts out by downloading and unzipping EZToolsAncillaryUpdater.ps1 and Get-ZimmermanTools .ps1  before they are called to make sure that I have the latest version.  For ZimmermanTools,  all that needs to be is to run the updater once with the -NetVersion 6 parameter, and then the Get-ZimmermanTools.ps1  updater is then fixed.  I would rather see that logic in your script.   It looks to me like that is what  EZToolsAncillaryUpdater.ps1 is doing, but the updater file is not being updated on my system.
I don't think that the 3.6 updater should be fixed.  What I had been planning on was the one-time download of the latest updater and then running the updater.  I put that on pause when I saw that the 3.6 updater should be pulling down the latest version of the updater.  I'll switch back unless you think there is a way to fix it.

Hey Team,
I'll have a look in about 7 hours and see what the issue is if that's alright?

I may be able to take a crack at it tonight. If so, I'll push a new version to the repo to see if that's a step in the right direction to test so we can get a new working release.

Thank you all for your patience! I need to get to bed! Please test this when you get a chance :)
https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/blob/main/KAPE-EZToolsAncillaryUpdater.ps1
If nothing exists in the bin folder, that's handled much more gracefully now. Get-ZimmermanTools.ps1 is downloaded every time and moved to the .\bin\ZimmermanTools folder, which the download and move of the binaries occurs every time. A few more things here and there but I think we're in a good spot. Let me know if I missed anything!

Andrew,  I downloaded the latest version from the link you provided now.  I can spend about an hour on it now and then have a few calls until lunch.  Back on it after that.  Thanks for all the time that you and Mike are putting into this updater script.

From: Andrew Rathbun @.>
Sent: Wednesday, June 14, 2023 11:08 PM
To: AndrewRathbun/KAPE-EZToolsAncillaryUpdater @.>
Cc: Hallman, Mark @.>; Mention @.>
Subject: Re: [AndrewRathbun/KAPE-EZToolsAncillaryUpdater] update script with new Get-ZimmermanTools logic (Issue #16)
Thank you all for your patience! I need to get to bed! Please test this when you get a chance :)
https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/blob/main/KAPE-EZToolsAncillaryUpdater.ps1https://urldefense.com/v3/__https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/blob/main/KAPE-EZToolsAncillaryUpdater.ps1__;!!MlQdS1fu!T90fKpCDcS69rkbv20mzSipqKwtijzOU8UTJajCRa44wZ0P8v--KWYuCcHPUEuNn0RXgWUJMWu9V4KUEYahzFA$
If nothing exists in the bin folder, that's handled much more gracefully now. Get-ZimmermanTools.ps1 is downloaded every time and moved to the .\bin\ZimmermanTools folder, which the download and move of the binaries occurs every time. A few more things here and there but I think we're in a good spot. Let me know if I missed anything!
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/issues/16*issuecomment-1592320647__;Iw!!MlQdS1fu!T90fKpCDcS69rkbv20mzSipqKwtijzOU8UTJajCRa44wZ0P8v--KWYuCcHPUEuNn0RXgWUJMWu9V4KVUiYsjmA$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AEAHTAEQ7GAREKZUG5UQEADXLKDFRANCNFSM6AAAAAAYI37IUI__;!!MlQdS1fu!T90fKpCDcS69rkbv20mzSipqKwtijzOU8UTJajCRa44wZ0P8v--KWYuCcHPUEuNn0RXgWUJMWu9V4KW4TXBCzw$.
You are receiving this because you were mentioned.Message ID: @.***>

Looking good so far.  I can't think of a way to avoid having to download the latest version of the KAPE-EZToolsAncillaryUpdater.ps1, so I have added that back to my script.   This is a one-time step, once the current version of the updater is on the system,  KAPE-EZToolsAncillaryUpdater.ps1 will keep the updater updated.  We have to do something similar for EZTools.
How are you testing to see if the latest version of KAPE-EZToolsAncillaryUpdater.ps1 is on the system?  Or,  are you just pulling the latest version without testing?

If you want, we could switch it to where instead of -DoNotUpdate, we change it to -Update so when that flag is provided, it'll prompt the script looking for the latest update. Given that Get-ZimmermanTools.ps1 was recently updated, I can't imagine this script will change too much more once we have everything working until something downstream changes again, if ever.
Thoughts on that @mark-hallman?

Looking good so far. I can't think of a way to avoid having to download the latest version of the KAPE-EZToolsAncillaryUpdater.ps1, so I have added that back to my script. This is a one-time step, once the current version of the updater is on the system, KAPE-EZToolsAncillaryUpdater.ps1 will keep the updater updated. We have to do something similar for EZTools.
How are you testing to see if the latest version of KAPE-EZToolsAncillaryUpdater.ps1 is on the system? Or, are you just pulling the latest version without testing?

Reference your last question, we're checking the version specified in the script's comments, and if it's different, download the newest one. If you know better how to handle that, we're all ears! Like in my previous post, we can also consider changing the default action from updating to NOT updating the script and instead having a switch to UPDATE the script, which is the reverse of how we have it currently. Very open to feedback, though and want to make sure your environment's situation is properly handled.

@AndrewRathbun on the  -DoNotUpdate or  -Update flags...   I think that the default setting should be to update.
The goal is to make the update as easy as possible so that it is run often.   I'm hoping that the new versions of KAPE-EZToolsAncillaryUpdater.ps1  will work like Get-ZimmermanTools.ps1 in terms of the important functions are executed by default.  This would allow the student to right-click the KAPE-EZToolsAncillaryUpdater.ps1 in Windows File Explorer and select "Run with PowerShell"  and KAPE will be updated.  Having the cli options for more granular control is great and people with more detailed knowledge will use them.

Not that I can think of.  Thanks for all your work on this.

https://github.com/AndrewRathbun/KAPE-EZToolsAncillaryUpdater/releases/tag/4.1
4.1 is live now, this should be the most stable version moving forward unless people have ideas or feedback for things to change. Otherwise, more quality of life things will be planned for future versions as the script's functionality appears to be stable at this point in time :)