Extension Host is unresponsive

Issue Type: Bug
It currently seems to be the case that the extension host is unresponsive frequently.

When you open up the Running Extensions window it turns to

And after a while this process starts over
VS Code version: Code - Insiders 1.28.0-insider (a542a0afb5ff12a878dcf4b6a914f10d1318cb2e, 2018-09-14T05:12:35.372Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz (8 x 2800)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 2, 2

Memory (System)
16.00GB (0.43GB free)

Process Argv
/Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron -psn_0_4351014

Screen Reader
no

VM
0%

Extensions (38)

Extension
Author (truncated)
Version

EditorConfig
Edi
0.12.4

npm-intellisense
chr
1.3.0

path-intellisense
chr
1.4.2

bracket-pair-colorizer
Coe
1.0.59

vscode-svgviewer
css
1.4.6

vscode-eslint
dba
1.6.0

gitlens
eam
8.5.6

tslint
eg2
1.0.39

vscode-npm-script
eg2
0.3.5

vsc-material-theme
Equ
2.4.2

prettier-vscode
esb
1.6.1

comment-anchors
Exo
1.2.0

vscode-pull-request-github
Git
0.1.5

beautify
Hoo
1.4.3

smarty
imp
0.3.0

docthis
joe
0.7.1

php-cs-fixer
jun
0.1.85

php-symbols
lin
2.1.0

VS-code-vagrantfile
mar
0.0.7

twig-language-2
mbl
0.3.1

php-namespace-resolver
Meh
1.1.0

vscode-scss
mrm
0.6.2

debugger-for-chrome
msj
4.10.1

color-highlight
nau
2.3.0

vetur
oct
0.12.6

vscode-docker
Pet
0.2.0

vscode-versionlens
pfl
0.21.1

material-icon-theme
PKi
3.6.0

ruby
reb
0.20.0

vscode-yaml
red
0.0.16

code-settings-sync
Sha
3.1.2

autoimport
ste
1.5.3

easy-snippet-maker
tar
0.0.6

Snippet
vsc
0.2.4

vim
vsc
0.16.4

quokka-vscode
Wal
1.0.148

vscode-import-cost
wix
2.9.0

sort-js-object-keys
zen
1.0.1

(1 theme extensions excluded)

#58663

#58663 Extension Host is unresponsive/Extension Host is now responsive

As a per session workaround, what works for me is to go to extensions, select the ... menu and Disable All Installed Extentions, reload (on any one of the disabled extensions), once reloaded, Enable All Extensions then Show Disabled Extensions and hit reload on any of the extensions.

Duplicate of #58672
Please update, a new build with a fix is available. Sorry about that!

@alexandrudima I still have the same issue even after the new build.
Version: 1.28.0-insider (user setup)
Commit: 29e6dce4352db76d8956035990b8630580226588
Date: 2018-09-14T08:23:30.210Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

Please keep an eye out and let us know if you still see this false positive after you have updated and if you have some good steps.
If you see the popup you can also take a peek at Task Manager and check, perhaps the extension host is indeed busy and it wasn't a false positive after all.
In any case, if you see it please reach out. Thank you!

The update works for me - thank you!

@Eventyret Sorry for not being clear. After updating to the latest Insiders (kill all running processes of VSCode), do you still see the following popup:

If you do, can you please open a new issue with your environment, installed extensions, and perhaps some steps if any steps are required to reproduce.

@alexandrudima i feel this can be closed. I will open a new issue and refer to this if it happends again (have a computer without the update so will update and test it straight off there in a few hours)
Thanks again.

The last update fixed the issue. 👍

I still see this issue constantly.  I have upgraded to the latest build and it did not help.  I am on Version 1.28.0-insider (1.28.0-insider) at af3614909b837c46a260666cb7baab7a8468a9c8.
Any suggestions?  This is making it difficult to use VSCode because all my save on format, etc is all messed up and it's really slowing me down ... :-(

@joelgetaction Here is how you can profile extensions -- https://github.com/Microsoft/vscode/wiki/Performance-Issues#profile-the-running-extensions -- use those steps to identify which extensions consume a lot of CPU.

This seems to be happening more, updated this morning to latest insiders version, and get message popping up every 15 / 20 minutes or so. not installed any new extensions recently. would be nice for the pop up to mention which extension was having an issue.
Version: 1.28.0-insider
Commit:<PHONE_NUMBER>f17a27a8cd709def0a2c9298a4155c
Date: 2018-09-27T05:18:27.312Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

I am seeing this way more often as well lately. It got so bad that I had to switch back to the regular non-insiders build and that build had no issues.    Note that with the same exact setttings and installed extensions, the insiders build had serious issues with the extension host while the regular build did not. So the issue definitely seems to be with the insiders build ...

On Sep 27, 2018 at 4:30 AM,  <DuncanFaulkner (mailto:notifications@github.com)>  wrote:
This seems to be happening more, updated this morning to latest insiders version, and get message popping up every 15 / 20 minutes or so. not installed any new extensions recently. would be nice for the pop up to mention which extension was having an issue.
Version: 1.28.0-insider
Commit:    2291080 (https://github.com/Microsoft/vscode/commit/2291080075f17a27a8cd709def0a2c9298a4155c)
Date: 2018-09-27T05:18:27.312Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64
—
You are receiving this because you were mentioned.
Reply to this email directly,   view it on GitHub (https://github.com/Microsoft/vscode/issues/58661#issuecomment-425055932), or   mute the thread (https://github.com/notifications/unsubscribe-auth/AmWxt_YnEWJFIhmlHnY_5HG2FB9tKXxoks5ufLbxgaJpZM4WosrW).

I've got the same problem now too. In the two computers I own, both with the insiders build. It seems that killing the process fixes it temporarily.

Same here!

version :  1.28 stable , the bug still exist!

i have the same trouble.

Ma OSX 10.13.6. VSCode: 1.28 stable. The bug still exist.

It's driving me nuts! the bug still exists.
 Started seeing the problem after upgrading to 1.28

Same here. Almost unusable since v1.28.

Same here  Version 1.28.0

Same, have to restart a couple times.

Same here, also v1.28.0

Same here, v1.28.0 (user setup). Very annoying!!!!

Same here, again, for the n-th time, latest vs code insiders and regular. You managed to bloat VS Code out of proportion.

same here, also 1.28.0

same here, also 1.28.0

It may take several minutes to get normal after I click Restart Extension Host button.

I'm also seeing this (1.28.0 user setup) every time I start up. If it's actually related to the extensions, these ones are common between mine and the two sets listed above by @NicolasReibnitz and @monirkohi2006.
CoenraadS.bracket-pair-colorizer
eg2.vscode-npm-script
esbenp.prettier-vscode
robertohuertasm.vscode-icons

@alexandrudima This issue has completely killed my editor/workflow. I tried downgrading, but 1.27.7 also had a similar issue where the Extension Host was terminated. From the list above, I have bracket-pair-colorizer, but I noticed an issue where the project-manager extension seemed to bug out as well. So I tried disabled that as well and I'm still getting the unresponsive issue. Restarting the extension host just reproduces the popup again a minute later. VS Code is practically unusable in this state, unless I disable all of my extensions.

Same issue here as well :(

No matter what I do unresponsive issue continues popping up :(

The same issue, if it keeps happening I will have to try and uninstall and reinstall vs code entirely.
Version 1.28.0 (user setup)
Electron: 2.0.9
Chrome: 61:0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64
I don't even know what causes it. seems random for me, and on startup.

The same issue, It affected my job.
system info

Version: 1.28.0 (user setup)
Commit: 431ef9da3cf88a7e164f9d33bf62695e07c6c2a9
Date: 2018-10-05T14:58:53.203Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

Extension plug-in

Just updated to 1.28 and having this issue.  (was fine in 1.27)

Version: 1.28.0 (user setup)
Commit: 431ef9da3cf88a7e164f9d33bf62695e07c6c2a9
Date: 2018-10-05T14:58:53.203Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

The same problem to me after upgrading to Version: 1.28.0 (system setup) today.

Version: 1.28.0 (system setup)
Commit: 431ef9da3cf88a7e164f9d33bf62695e07c6c2a9
Date: 2018-10-05T14:58:53.203Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

Is there a way to go back to the previous version of VS Code?

@nicubarbaros , Not sure if this functionality is inside vs code itself but you can download a previous version and reinstall vs code- it will retain all your settings and extensions. Here is a link to previous versions, the August release should be okay.  https://code.visualstudio.com/updates/v1_26

As a per session workaround, what works for me is to go to extensions, select the ... menu and Disable All Installed Extentions, reload (on any one of the disabled extensions), once reloaded, Enable All Extensions then Show Disabled Extensions and hit reload on any of the extensions.

Thank you! Your solution is quite useful!

Strangely enough it stopped bugging around since yesterday evening. The message that came up every ten minutes or so didn't come up since.
I keep my fingers crossed.

This is the exact problem my friend and I are having when collaborating with VS live share.
As soon as he minimises the project it throws the error and I can no longer do anything or view the localhost. Baffles me that this is even a topic of discussion and wasn't sorted with the update.

same for me

I am seeing some extensions taking a while to activate (~14 seconds) which correlates to the Unresponsive popup. Is is the extension loading blocking?

I have noticed the extension host going unresponsive consistently when having a typescript file open, then opening an html file in a second window pane. It seems that the process Initializing JS/TS Features may be causing this as that process is running for a long time in the bottom status bar.

We have pushed a fix today to reduce the confusion about the unresponsive notification. See https://github.com/Microsoft/vscode/issues/60318

For me it's more annoying than anything because you can't stop them from appearing. My laptop is slow so it takes some time to load all extensions. I always get the 2 msgs (extension host is unresponsive, is now responsive).
I already knew code takes time to load on my machine and I know when it's ready and working. I don't need the constant notifications. They also don't go away by themselves so I have to click them away every single time I load code.
Need an option to disable these extension host notifications

For me it's more annoying than anything because you can't stop them from appearing. My laptop is slow so it takes some time to load all extensions. I always get the 2 msgs (extension host is unresponsive, is now responsive).
I already knew code takes time to load on my machine and I know when it's ready and working. I don't need the constant notifications. They also don't go away by themselves so I have to click them away every single time I load code.
Need an option to disable these extension host notifications

We have pushed a fix today to reduce the confusion about the unresponsive notification. See #60318


Need to update API docs for the HTTP client endpoint

The doc comments for the HTTP client endpoint are not updated to reflect the new changes in the client.
https://github.com/ballerina-platform/ballerina-lang/blob/ec306775441b71061a6d57a4fdb4a945b4ccf6b1/stdlib/http/src/main/ballerina/http/client_endpoint.bal#L35

Fixed with : https://github.com/ballerina-platform/ballerina-lang/pull/12790


Dependabot undo ignore minor version

Hi,
I've accidentally ignored the wrong dependency, how can I unde this action?

@alexandru-calinoiu sorry for the slow response! No easy way to undo but can sort it out for you. Which pull request did you issue the command on?

@feelepxyz Is there still no way to unignore dependencies? I accidentally ignored all versions and not the major versions.

@villelahdenvuo you should be able to re-open the pull request and this will remove any ignore conditions created for the updated dependency. I don't think it's documented anywhere 😅

I don't think it's documented anywhere

As I jus tfound out myself, at https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#creating-ignore-conditions-from-dependabot-ignore it states:

If you wish to un-ignore a dependency ignored this way, re-open the pull request.

It's really frustrating that this @ignore experience is not easy to manage. It states clearly that you can clear the ignore if you ... re-open this PR or update to a 5.x.x release yourself.. The latter seems to be the most logical resolution but in my experience it doesn't always work. Then you're stuck with the very unintuitive task of finding and reopening an old PR.
I'm stuck in a catch-22 now where the old PR cannot be reopened for an unrelated reason (root branch was renamed).
Additionally there is no easy way to "list" what ignores are currently active other than crawling through the detailed dependabot execution logs *sigh.

now there is  @dependabot unignore
https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates#ignoring-specific-dependencies-for-dependabot-version-updates


Fix docker image

Summary of changes
Changes introduced in this pull request:

added libc6 to dev packages

Reference issue to close (if applicable)

Closes

@salman01zp did this fix your earlier problem?

yes .I tired it in linux environment.

Codecov Report
Base: 50.44% // Head: 50.44% // No change to project coverage :thumbsup:

Coverage data is based on head (a7cc70d) compared to base (5fa5f73).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #272   +/-   ##
=======================================
  Coverage   50.44%   50.44%
=======================================
  Files          55       55
  Lines        2014     2014
=======================================
  Hits         1016     1016
  Misses        998      998

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


chore(deps): update common-dev-assets digest to d8a1f23

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
7756f2f -> d8a1f23

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

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.0.2 :tada:
The release is available on:

GitHub release
v1.0.2

Your semantic-release bot :package::rocket:


UI to edit and run multiple collections

Describe the feature you want
Interface for editing and running program collections

Running  :white_check_mark: (EOX v2.0)
Editing :x: (yet)


This is my design for Active Workshop ANT Run

Please run DRC "D" in KLayout, and fix the metal errors.  There are quite a few.


Frequency update bug encountered while updating OMIM:610443

I am trying to add additional frequency info to OMIM:610443 for this ticket (https://github.com/obophenotype/human-phenotype-ontology/issues/4163).  There is already many of these terms listed from other sources but I am updating with a new PMID with frequency info.
Tried adding microcephaly (which is already annotated to the disease, but I am adding a second time for frequency info).
1st issue:  I added  the term manually using the standard gui feature. (I.e., I filled out Microcephaly, PCS, Frequency=5%, Source=PMID:18628315 .  Everything added to the entry EXCEPT frequency.
Once the new entry had been added, I tried to update the frequency manually.  I have done it twice and no frequency info has been added.  Upon reviewing the list, it appears that '5%' frequency had been added to 'Short stature' and not 'microcephaly'.  @kingmanzhang @pnrobinson

The problem seems to be cell.getRow() return wrong row (not the row where mouse is clicked). I haven't figured out how to address this issue. @pnrobinson

done.


[WIP] Add machine-provider-nutanix types

This commit adds the provider spec for nutanix platform and also updates
the generated files.

created as a duplicated of #1124 to hunt some errors with the verify process

i created this PR by taking @yanhua121 's original and then running the command make generate-with-container, and finally checking in all the changed files. i think the main problem for the verify job is the conflict that arises in the authorization/v1/generated.pb.go file.

i am closing this as it primarily an example for the other PR


[spaceship] fix fastlane init and temporarily retrofitting Spaceship::Tunes::Application.find

Motivation and Context

Fixes #20444
Provides temporary work around for Spaceship::Tunes::Application.find

Maybe fixes issue on App Center

Description
❌ The legacy Apple endpoint that Spaceship::Tunes::Application.find used is no longer available
This was not an issue for anything inside of fastlane (besides fastlane init still accidentally using it).
Fix 1 - fastlane init
This was the easy fix. setup_ios.rb now uses Spaceship::ConnectAPI::App.find instead. This uses the more stable Apple API now.
Fix 2 - Retrofit Spaceship::Tunes::Application.find
Because some users (and I think App Center) still want/need to use Spaceship::Tunes for in-app purchase things, I have done by best to retrofit Spaceship::Tunes:: Application.find by power it with Spaceship::ConnectAPI::App.find.
It's not a perfect fit because not all of the data is available but it will at least find the app and be able to give the app name, id and platforms.

Testing Steps
Update Gemfile and run bundle install, bundle update fastlane, or bundle update
gem "fastlane", :git => "https://github.com/fastlane/fastlane.git", :branch => "joshdholtz-fix-init"

Other Notes
‼ IT IS STILL HIGHLY RECOMMEND TO USE STOP USING Spaceship::Tunes START USING Spaceship::ConnectAPI if you can
⚠ However, there is not official Spaceship::ConnectAPI support for in-app purchases (yet) but I'm working on it. You can follow along with progress on this issue for now - https://github.com/fastlane/fastlane/issues/20477

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger

Regarding https://github.com/fastlane/fastlane/issues/20444#issuecomment-1188581032.

That is all! So sorry about this taking so long. It ended up being a pretty back task to retrofit but I'm hoping it works out for some of you.

I am one of the users who is using the Tunes API for IAP uploads. Thanks for working on a fix to get us up and running again so quickly!

If any of you are able to test this PR / branch to make sure the retrofit is working for you that would be fire I need to go to bed now so I'll look at any response in the morning blush

I just tested your fix in our IAP automation project. It looks like things are working. Here are a subset of the API calls we are making. Let me know if you need more information to verify @joshdholtz.
client = Spaceship::Tunes.login(username, password)
client.select_team(team_id: team_id)
@app = Spaceship::Application.find(@app_id)
@app.in_app_purchases.create!(...)
@app.in_app_purchases.all.find { ... }

Looking forward to being able to use the ConnectAPI when it is available at some point in the future!

@mjlaser Thank you for testing! BTW... do you mind dropping me an email at me AT joshholtz DOT com? 😊  I'd like to loop you into that early IAP testing if possible to make sure it works for you!

@joshdholtz The temporary solution for IAP management did the trick to unblock my pending bulk uploading, thanks! 👍
We use the following API:
spaceship = Spaceship::Tunes.login(apple_id)
spaceship.team_id = itc_team_id
app = Spaceship::Tunes::Application.find(app_identifier)
app.in_app_purchases.create!
app.in_app_purchases.all

Regarding #20444 (comment).

That is all! So sorry about this taking so long. It ended up being a pretty back task to retrofit but I'm hoping it works out for some of you.

I am one of the users who is using the Tunes API for IAP uploads. Thanks for working on a fix to get us up and running again so quickly!

If any of you are able to test this PR / branch to make sure the retrofit is working for you that would be fire I need to go to bed now so I'll look at any response in the morning blush

I just tested your fix in our IAP automation project. It looks like things are working. Here are a subset of the API calls we are making. Let me know if you need more information to verify @joshdholtz.
client = Spaceship::Tunes.login(username, password)
client.select_team(team_id: team_id)
@app = Spaceship::Application.find(@app_id)
@app.in_app_purchases.create!(...)
@app.in_app_purchases.all.find { ... }

Looking forward to being able to use the ConnectAPI when it is available at some point in the future!

hello,Can you upload IAP now? I haven't succeeded here. I'll prompt undefined method ` in_ app_ purchases' for #Spaceship::ConnectAPI::App:0x00007facb1335f58 (NoMethodError)
my code
require 'spaceship'
Spaceship::ConnectAPI.login("h", "Wa3")
app = Spaceship::ConnectAPI::App.find("cw")
app.in_app_purchases.create!(
type: Spaceship::ConnectAPI::IAPType::CONSUMABLE,
versions: {
'zh-Hans': { name:"30b", description:"30a" },


This PGN is not being parsed

[FEN "8/4K3/8/1Rp1k3/4p3/2q2b2/Q7/8 w - - 2 90"]
90. Rb6 Kf4 91. Qh2+ Ke3 92. Qg1+ Kd2 93. Qf2+ Kc1 94. Qg1+ Kd2 95. Qf2+ Kc1 96. Qg1+ Kd2 1/2-1/2
This PGN worked in v6.5.1 but is now failing to be parsed in the current version v6.6.3.

Ic.initBoard({fen : "8/4K3/8/1Rp1k3/4p3/2q2b2/Q7/8 w - - 2 90", pgn : "90. Rb6"}) x
Ic.initBoard({fen : "8/4K3/8/1Rp1k3/4p3/2q2b2/Q7/8 w - - 2 90", pgn : "1. Rb6"}) ✓
it appears that the recent bug-fix of #15 broke something here.

Upon investigation, I noticed cleanSan() was only keeping digits 1-8 (square ranks), 0-2 (match results 1-0, 1/2-1/2, etc), 0 (unconventional allowed castling 0-0-0, 0-0)... so basically 0-8 without the 9.
Our parser doesn't complain with missing move numbers (so having some or all digits in the move number to the left of the SAN was not a problem), however, some bug (#15) was making a regexp match 0-0-0 and 0-0 and it was patched with the solution of doing a regexp match (1-9 and (0-9 zero or more)).
Now the interesting part comes: because the 9s were removed, the move number 90 turned into a 0 (which was not being matched to comply with the castling zeroes patch), so attempting to parse any game with move number 90 (or 900, 9000, etc) would try to play a SAN move of "0" (or "00", "000", etc) and miserably fail.


Remove the "tips" and ANSI colors on errors

I want to discuss the sense of these “tips” wich always come up on a selector error:
Tip: Use Set Browser Timeout for increasing the timeout or double check your locator as the targeted element(s) couldnt be found.

I think everybody which works with Browser lib for some time has seen this message multiple times -  but always takes an decision based on his own judgement and not on what the library proposes.
If, for example, a timeout is exceeded when loading a page, the error message Timeout 10000ms exceeded reads accordingly. This is enough to know what happened.
Increasing the timeout can be a solution to the problem.
Also a wrong locator can be a solution, yes.
But other problems (not mentioned in the tip) are at least as likely.

I already posted in Slack some time ago. But right now I got a request from a customer to "increase the timeout" in a failed test.
Looking closer I saw that the page had a problem and the selector was not found.
This is exactly what I mean: these "Tips" lead to false assumptions, especially on untrained staff.

@aaltat i am fine with the proposal to streamline the error.

@allcontributors please add @simonmeggle for ideas

I will also remove the ANSI colors from the Playwright error messages.


Prepare stats endpoints

Possible stats (daily):

How many km?
How much time?
Most common city?

Possible stats (weekly):

Which day has most km?
Most common city?

Useful: https://stackoverflow.com/questions/23990161/wikimedia-commons-api-search-images-by-latitude-longitude

Also alternatives for future reference:

https://stackoverflow.com/questions/59941362/how-do-i-get-an-image-from-latitude-and-longitude-using-google-places-api-in-and
https://getnofilter.com/developers (found here: https://stackoverflow.com/questions/8462253/how-to-get-a-picture-of-a-place-from-google-maps-or-places-api)


Documentation - Using key terraform is for Valtix and not MCD

This is documentation issue. Using key describing valtix terraform provider and not ciscomcd terraform provider. This needs to be fixed
https://registry.terraform.io/providers/CiscoDevNet/ciscomcd/latest/docs#using-key

Fixed


[Experimental idea] Create a  component

Alright, so, to help begin addressing the following issues:

https://github.com/SimonBiggs/scriptedforms/issues/242
https://github.com/SimonBiggs/scriptedforms/issues/241
https://github.com/SimonBiggs/scriptedforms/issues/240
https://github.com/SimonBiggs/scriptedforms/issues/234
https://github.com/SimonBiggs/scriptedforms/issues/219
https://github.com/SimonBiggs/scriptedforms/issues/196
https://github.com/SimonBiggs/scriptedforms/issues/177
https://github.com/SimonBiggs/scriptedforms/issues/148

I will be attempting to create a <jinja> component. The idea/hope is that it will be able to work as so:
<section-start>

```python
tables = {
    'first_table': pd.DataFrame(data=[1, 2, 3]),
    'second_table': pd.DataFrame(data=[4, 5, 6])
}

a_python_dictionary = {
    a_title: 'foo',
    image_srcs: ['a', 'few', 'sources'],
    another_title: 'boo',
    table_keys: list(tables.keys())
}
```

</section-start>

<jinja context="a_python_dictionary">

## {{ a_title }}

{% for item in image_srcs %}
<img src="{{ item }}">
{% endfor %}

## {{ another_title  }}

{% for a_table_key in table_keys %}
<variable-table>tables['{{ a_table_key }}']</variable-table>
{% endfor %}

</jinja>

A key issue with the implementation of this will be the fact that the html being rendered will be flexible. Previously if the html/markdown ever changed it was only because the file itself changed. This was coped with by refreshing the whole form.
A form refresh everytime the jinja template updates won't work. Therefore I need to decouple form component initialisation from the page loading sequence. This will be quite a refactor. This refactor will however help for a range of outstanding issues.

@OxygenLithium @robmarkcole any thoughts on this idea?

What is the use case?

It is for advanced use cases. Not expected to be used in basic scenarios.
It makes what is displayed on the screen be significantly more flexible. For example, certain parts of the form can be conditionally displayed. Other parts of the form can be repeated as needed.
Forms could start quite sparse and then have the content of the form that is displayed on the screen grow conditionally depending on user input.
If this is a good idea, and if after implementing it it seems to work well, then I shall expand to refactoring the form structure also be a jinja template. The default one will be used as standard, however the template used by scriptedforms will be able to be swapped out. I can then use these templating options to customise scriptedforms into a documentation layout.
So instead of locking the layout away and making it rigid, I will be exposing the form layout and styling as a overridable jinja template.

Understood, I can certainly see the benefits of this approach, so long as the basic usage maintains the currently simplicity

I really like this idea. How would someone use jinja to change the colour of a button for instance? Would it be that the user can define the colour in Python and then that variable is input into the HTML?

I've actually been thinking further about this. And I think what you've been keen on is actually something a bit different.
I think what you really want is top level access to the css. And I think I've worked out how to do it.
I should be able to also make that cover button color etc. I'll keep you posted.

Won't implement Jinja2 something like this feature will still be implemented however. Just not like this.


ergocubSN000: rename and remap fingers joints

After this change the names are renamed and remapped in this order:
l_thumb_add l_thumb_oc l_index_add l_index_oc l_middle_oc l_ring_pinky_oc

See https://github.com/icub-tech-iit/ergocub-software/issues/42

Yes It has been tested successfully on the robot! It is not very nice but it works

Closing in favour of #436


Restore stu-home files

In contrast to departmental guidance in 2018, it seems that it is now supported (and recommended) to access stu via sshfs support.
Technically this isn't sshfs; it's Nemo's sftp support. But it's all basically the same and will largely present the same to students.
This partially reverts commit 190e9136e8cfc37eea2c5e3e88a303a12cb4d2f7.
This reverts commit 8bb25748cc87b5707fc15254f3984ddc6463877f.

This is still probably as bad an idea as it ever was, but I do suppose it puts us in line with other platforms. When I run it, I get a nondescript text document icon on the desktop. Do you think we be possible to get something more network or disk related? Also curious how you'd feel about having the Ansible known_hosts module pre-push the stu key to prevent a nag on first connection?

This is still probably as bad an idea as it ever was, but I do suppose it puts us in line with other platforms. When I run it, I get a nondescript text document icon on the desktop. Do you think we be possible to get something more network or disk related? Also curious how you'd feel about having the Ansible known_hosts module pre-push the stu key to prevent a nag on first connection?

Alright @ripleymj I think that's done. The icon is updated to   and I have tried to have it implicitly trust stu.cs but I can't test the whole login flow since my account is dead.

Alright @ripleymj I think that's done. The icon is updated to   and I have tried to have it implicitly trust stu.cs but I can't test the whole login flow since my account is dead.

Purely for style, adding hash_host: yes will make the entry look like others.
As an actual problem, the known_hosts file is being created with root ownership and preventing any future keys from being added.

Purely for style, adding hash_host: yes will make the entry look like others.
As an actual problem, the known_hosts file is being created with root ownership and preventing any future keys from being added.

Eww. How do we want to fix that? Would a { file: {state: present}} with the right owner before/after be good enough? Assuming they both work, do you have a preference for before or after?

Eww. How do we want to fix that? Would a { file: {state: present}} with the right owner before/after be good enough? Assuming they both work, do you have a preference for before or after?

If we go that route, I think after would be safer to make sure we can't leave it in a bad state. Otherwise become/become_user might be the other option

If we go that route, I think after would be safer to make sure we can't leave it in a bad state. Otherwise become/become_user might be the other option

Rather than touching every user's config, why don't we just rely on setting it globally? Apparently there's already a decent default for GlobalKnownHostsFile per ssh_config(5). At some point we'll want to add some sort of linting/validation that the host key for stu.cs hasn't changed but that also probably happens on a predictable cadence.

Rather than touching every user's config, why don't we just rely on setting it globally? Apparently there's already a decent default for GlobalKnownHostsFile per ssh_config(5). At some point we'll want to add some sort of linting/validation that the host key for stu.cs hasn't changed but that also probably happens on a predictable cadence.

That works, and there will be screaming everywhere if that key changes. Do you want to remove creation of the $HOME/.ssh then, since we're not using it?

That works, and there will be screaming everywhere if that key changes. Do you want to remove creation of the $HOME/.ssh then, since we're not using it?

Done 👍

Done 👍


Allow passing ffmpeg options

Hi! The tool works great, thank you!
I wanted to change default audio stream so I had to patch source code and rebuild:
func (a *Application) serveLiveStreaming(w http.ResponseWriter, r *http.Request, filename string) {
	cmd := exec.Command(
		"ffmpeg",
		"-re", // encode at 1x playback speed, to not burn the CPU
		"-i", filename,
		"-vcodec", "h264",
		"-acodec", "aac",
		"-ac", "2", // chromecasts don't support more than two audio channels
/**/		"-map", "0:v", // Select video
/**/		"-map", "0:2", // Select second stream with specific audio track
		"-f", "mp4",
		"-movflags", "frag_keyframe+faststart",
		"-strict", "-experimental",
		"pipe:1",
	)

It would be super cool if one could pass something like --audio-track "title" to select a specific audio track.
Otherwise ability to pass custom ffmpeg flags would solve that as well. For example castnow allows for --ffmpeg-<option> <arg>.
Thank you!

This would be quite a cool and useful feature!


Added KMP Algorithm in JavaScript

Assigned Issue Number ?
#1525
Language Opted ?
JavaScript
Number of files added or updated ?
1
Name and location of the file ?
Algorithms => Pattern_Searching => KMP_Algorithm => kmp.js
Checklist

[x] Input has been taken dynamically.
[x] I've referred the correct issue number.
[x] I've fill up this entire template correctly.
[x] Comments have been added

Done, I already uploaded the changes


Change content on step 3 to mention retirement village form

Current content
Step Three: Get your application witnessed
Mahi Tuatoru: Mā te kaiwhakaatu e waitohu tō tono.
You are almost there!
Your application form has been digitally sent to your local council.
Now you need to visit the Tauranga Council at 91 Willow Street to finalise your rebate.
Proof of income may be requested for those with income sources other than superannuation or work and income benefits.
If you are self-employed, you must supply evidence with your application. Evidence of income helps to ensure you receive the correct rebate promptly.
Tell the Service Centre staff you're there to sign your rates rebate application.
Updated content
Step Three: Get your application witnessed
Mahi Tuatoru: Mā te kaiwhakaatu e waitohu tō tono.
You are almost there!
Your application form has been digitally sent to your local council.
Now you need to visit the Tauranga Council at 91 Willow Street to finalise your rebate.
Proof of income may be requested for those with income sources other than superannuation or work and income benefits.
If you are self-employed, you must supply evidence with your application. Evidence of income helps to ensure you receive the correct rebate promptly.
If you are a retirement village resident, you will need to get your operator to provide a Rates Rebate declaration certificate Resident of a retirement village unit form.
Tell the Service Centre staff you're there to sign your rates rebate application.

Also update this "step 3" content :
Step Three
Mahi Tuatoru
Visit the Tauranga City Council at 91 Willow Street and sign your application.
Proof of income may be requested for those with income sources other than superannuation or work and income benefits.
If you are self-employed, you must supply evidence with your application. Evidence of income helps to ensure you receive the correct rebate promptly.
If you are a retirement village resident, you will need to get your operator to provide a Rates Rebate declaration certificate Resident of a retirement village unit form.


feat: add lint check for app (on fixture builds)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
In #3726 @clarkdo suggested to not refactor the syntax in the app folder until we have some eslint in place. As I think it would be quite difficult to fully lint all the tags in those templates, my suggestion for this would be to run the lint on the builded test fixtures and loosen the lint rules where necessary.
If you agree this is a good (or good enough) solution I will fix the linting issues as well.
Just for fun, running yarn lint:app currently results in:
✖ 36176 problems (35740 errors, 436 warnings)
  33092 errors and 436 warnings potentially fixable with the `--fix` option.

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests passed.

Codecov Report

Merging #3916 into dev will decrease coverage by 0.08%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev    #3916      +/-   ##
==========================================
- Coverage   97.64%   97.56%   -0.09%
==========================================
  Files          18       18
  Lines        1231     1231
  Branches      335      335
==========================================
- Hits         1202     1201       -1
- Misses         28       29       +1
  Partials        1        1

Impacted Files
Coverage Δ

lib/builder/builder.js
96.31% <100%> (ø)
:arrow_up:

lib/core/nuxt.js
94.16% <0%> (-0.84%)
:arrow_down:

Continue to review full report at Codecov.

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

What about https://www.npmjs.com/package/eslint-plugin-lodash-template ? Maybe it could work fine

I couldnt get it to work because its seems to be aimed at linting a html template instead of a vue component.

@pimlie It's a good idea and you're right eslint-plugin-lodash-template only works for HTML syntax unfortunately.
@Atinux @pi0 Are we going to refactor the templates ? If not, I think we can merge this one after the release 2.

Looking at the errors I actually already found a possible bug. Didnt look into it further yet but for the with-config fixture it seems the loading.duration property is empty and therefor the generated nuxt-loading component has a parse error: duration: ,

@clarkdo @Atinux If we don't refactor/change templates, this PR is great. However on long term we might consider writing an own linting plugin for js lodash templates (in case we keep this way of templates for long)

@manniL In case we keep using this way of templates, couldnt this also be more of an and  situation instead of an or? I agree that having a eslint-plugin-lodash-template-vue plugin would be nice as template readibility is probably more important then correctly linted output of those templates. Therefore we probably will need to loosen the lint rules a bit. But looking at the nuxt-loading issue above, having a lint check on the generated templates as well seems to provide at least some safe guards against templating errors.

Of course both solutions will provide the best coverage! If we'd write an own lint plugin, it won't replace this solution 👌

We can add this, and when templates refactored (to reconsider since it's not a big priority) we could change it.

This PR is ready for review again. I have fixed only the lint errors I was quite sure about (and have ignored nuxt-loading because of my other PR). Most errors that still exist are no-unused-var errors, but I am not 100% sure this is because they are really not used or there is a test case missing which would use that var.
Taking this into account, the same could apply to const / let uses. I have checked them to my best ability, but please review these changes carefully.
For better maintainability I have added an isTest prop to nuxt.options. With this prop we can selectively add eslint-disable comments in the templates where needed (eg all serialize, devalue and JSON.stringify statements).
I have added a special eslint formatter which merges all the messages for a template and adds an occurence count of the file and the message. It can also display the source code where the error occured (run ESLINT_SHOWSRC=1 yarn test:app).
This is an example of one of the errors that still exist:

I will close this issue as its not likely this will ever be merged due to the global name PR. Or let me rephrase that, I will not try to merge the changes of that PR into this one as I like to stay sane and re-linting will most likely be much quicker. I guess there was some miscommunication about this between us.
In the mean time I have created this eslint-multiplexer package which provides a generic solution for linting generated app templates. When the time comes we could use that to help with re-linting the app templates again.

@pimlie excellent work -- we'll make sure to revisit this.


Support OpenSSL secret encryption workflow

In my day to day work, environmental secrets are stored encrypted in src/main/secrets and src/main/secrets/values and sub directories thereof. I have a set of scripts to make adding and reviewing and managing the life cycle of secrets easier but it would be nice if this was built into the tool used for managing the source code and doing the builds.
I understand there used to be a kubesec implementation in branchout and that it may be found in the history somewhere - I'll check that out before getting too deep into this, but some thoughts on commands needed:

clean decrypted files - removes plain text secrets from the disk once you're done working with them - all disks should be encrypted now, so short term presence isn't an issue, but they shouldn't be left laying around longer term or they might be exposed
clean all decrypted files - same but for ALL projects in a branchout tree, not just the current directory structure.
decrypt all - find and decrypt secrets in this project, including legacy secrets with earlier and later encryption, and values with later encryption, name the files .text or .open or .plain or something, but assymetric so that running encrypt after decrypt doesn't find and re-encrypt EVERY secret
encrypt all - find .raw files in the hierarchy and encrypt them with appropriate suffix
encrypt one file -  encrypt the specified file with the appropriate suffix - used by the above to do bulk operations without duplicate code
encrypt one value - similar to above, but capture the value during the run rather than requiring a .raw file be present
scan for trailing newlines in values directory and report any found
compare the secrets from one git revision with another using an external recursive visual diff tool such as kdiff3 or similar

This should have a few smarts:

take in the pass phrase at the start of each command and reuse it for each iteration internally
produce a summary of what was done for each command
when encrypting, first validate the credential against some kind of canary encrypted test file to ensure it matches the existing encrypted files in the repo and doesn't create a broken content tree with mixed passphrases
work correctly from the project root (home of .git, pom.xml, src/ etc)  and anywhere below that, doign what git does, and finding the root by looking upward and basing actions on that location, not the current one.
validate the correctness of the version of OpenSSL (YAGNI, its good enough on mac, win, and lin now)

I will review this and edit in more or correct things tomorrow, however that's a good start in terms of a spec, and clearly there's a priority order for commands from basic/essential to fancy/optional/extra.

This will need some configuration with defaults:

Secrets directory: Default: src/main/secrets/values
OpenSslEncryptMethodArgs: Default: enc -md sha256 -pbkdf2 -aes-256-cbc -base64
OpenSslDecryptMethodArgs: Default: enc -md sha256 -pbkdf2 -aes-256-cbc -d -base64
Encrypted secret suffix: Default: .sha256.aes256
Decrypted secret suffix: Default: .txt
Ready to encrypt secret suffix: Default: .raw

Commands should be:

branchout secrets verifykey - requests key, finds all existing secrets, decrypts them into /dev/null or equivalent and reports statistics if further argument silent is not given - return code 0 indicates success, N secrets, all of which successfully decrypted by the provided key, If failing report the file name of the bad secrets one by one as processed as quiet means nothing if it's going to fail.
branchout secrets encrypt - requests key, runs verifykey quiet finds all ready to encrypt files and encrypts them into the encrypted suffix file name variant
2.branchout secrets decrypt - requests key, runs verifykey quiet, finds all encrypted secret files and decrypts them into the decrypted suffix file name variant
branchout secrets clean - no key required, removes all decrypted and ready to encrypt files leaving only encrypted files and  any subdirectories (ambivalent to empy dirs, neither create nor remove)
branchout secret create  - requests key, requests value, runs verifykey quiet, creates .raw file, encrypts it, then removes .raw file
Items 1/2/3 can take a subpath/filename argument without suffix and without base dir and only operate on that particular secret - no args means all files found
branchout secrets check

As per original ticket it should establish the project base directory and use that and function identically anywhere below that. Eg if you have:
~/projects/myProject/myGroup/myRepo/ and in it is src/main/secrets/values and numerous other files/dirs, then it should work in that base dir and anywhere below it equally well. It should use the standard branchout project structure to do this, not search for a .git directory as sometimes projects are built locally before git init, commit, and being pushed to the remote repository.
Output for 1, 2, 3 should be like this:
Decrypted N secrets from DIR matching *SUFFIX
Encrypted N secrets in DIR matching *SUFFIX
Cleaned N secrets in DIR matching *SUFFIX and *SUFFIX
With 0 outputting something like:
Found and successfully decrypted N secrets in DIR
OR
Found N secrets in DIR but failed to decrypt Y of them, only X were valid
And 4 being the same as 1 but with a leading line like:
Created secret with value N bytes long and name NAME in DIR
And then followed by the output from 1 which it calls before cleaning up using 3
This spec is a bit different than my original post but I think it's more thorough and useful, too. For review by @stickycode before I go ahead and implement it.


Actors uses different serializers for different purposes, not all of them are pluggable

Expected Behavior
Actors uses a single serializer by default, and allows flexiblity for different choices for compatibility or user freedom.
The problem with not providing a consistent default is that different serializers have non-overlapping features sets, and different configuration settings. The choice of serializer usually ends up being tightly coupled with the users' data model through attributes and other extensibility.
For instance DataContract serializer requires types and properties to "opt-in" to serialization - System.Text.Json assumes that types and public properties should be serialized - and you should "opt-out" for anything you want to exclude. It takes non-obvious work to migrate between these models, and many users are not familiar with the nuances.
Actual Behavior
Actors uses DataContract serializer (XML) for "remoting" method invocation (the choice of DCS is not configurable).
Actors uses System.Text.Json (JSON) for "non-remoting" method invocation (neither the choice of S.T.J nor the options passed to it are configurable).
Actors uses System.Text.Json (JSON) for state storage (the serializer and options have a replaceable abstraction).
Sidenote: Actors currently uses BinaryFormatter for exceptions in "remoting" method invocation, but that is planned for removal.
Steps to Reproduce the Problem
Build an Actor system that uses "remoting". Try to share data models between the state store and the actor method invocation. You'll find that you need to annotate data models for both DataContract serializer and System.Text.Json.
Release Note
We need to surface a design proposal and assess the impact of a change here. This is not a good users experience, but no simple change will fix it.

We're not going to make any changes here. This has some rough edges (using the same types with state and actor proxy invocation) but users that are using Actors today are overall happy with the experience. We'll revisit this in the future based on feedback.

We're not going to make any changes here. This has some rough edges (using the same types with state and actor proxy invocation) but users that are using Actors today are overall happy with the experience. We'll revisit this in the future based on feedback.

We are actually having issues with this. Would be good to standardize on one serializer.

We are actually having issues with this. Would be good to standardize on one serializer.

This is a also an issue for us. @rynowak I started conversation on discord in the dotnet-sdk channel. I want to make a proposal for the change. Can you please comment on that and let me know if you think I should create new proposal.

Having a ton of issues with this..

Is there an update to this issue?
Now we encounter that if some newer types (such as dateonly) are returned in the interface method of the actor, DCS(DataContract serializer)related errors  will appear
Under Net7, STJ can support dateonly these types
Now you can only temporarily use DateOnly to be converted to DateTime as an Actor's interface to external calls

Is there a documentation on unsupported actor method parameters serialization features?

Using Data Contract serialization is utterly excruciating in 2023. I would love to be able to transmit JsonElements without hacky workarounds.

We're also having this issue.
We expect a base class as an actor method parameter and want to store that in the actore state.
Currently on the base type we have to set "KnownTypes" for the client -> actor communication to get it serialized correctly and then we need to also need to add "JsonDerivedType" to get actor -> state communication working.
Is that really needed?

@RobertConanMcMillan you can try using the experimental JSON serializer, unfortunately it's undocumented
on server:

on client:

Does the UseJsonSerialization property apply to actor state storage as well as actor invocation?

@onionhammer Thanks for the tip, unfortunately this doesn't seem to work correctly, do I need to provide some special JsonSerializerOptions?
All methods with parameters fail with this exception:
Dapr.Actors.ActorMethodInvocationException: Remote Actor Method Exception,  DETAILS: Exception: JsonException, Method Name: Read, Line Number: 0, Exception uuid: 6e524ebf-2f91-4af7-9816-a17b9b427cad
 ---> Dapr.Actors.ActorInvokeException: The JSON value could not be converted to WrappedMessageBody. Path: $ | LineNumber: 0 | BytePositionInLine: 16.
   --- End of inner exception stack trace ---
   at Dapr.Actors.DaprHttpInteractor.InvokeActorMethodWithRemotingAsync(ActorMessageSerializersManager serializersManager, IActorRequestMessage remotingRequestRequestMessage, CancellationToken cancellationToken)
   at Dapr.Actors.Communication.Client.ActorRemotingClient.InvokeAsync(IActorRequestMessage remotingRequestMessage, CancellationToken cancellationToken)
   at Dapr.Actors.Client.ActorProxy.InvokeMethodAsync(Int32 interfaceId, Int32 methodId, String methodName, IActorRequestMessageBody requestMsgBodyValue, CancellationToken cancellationToken)

@darraghjones It does, storing complex polymorphic models works perfectly with it enabled 👍

It seems like the current experimental implementation is broken, because a recursion is happening that shouldn't happen:
Dapr.Actors.dll!Dapr.Actors.Communication.ActorMessageBodyJsonConverter<WrappedMessageBody>.Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) Line 48
	at /_/src/Dapr.Actors/Communication/ActorMessageBodyJsonConverter.cs(48)
System.Text.Json.dll!System.Text.Json.Serialization.JsonConverter<WrappedMessageBody>.TryRead(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options, ref System.Text.Json.ReadStack state, out WrappedMessageBody value, out bool isPopulatedValue) Line 197
	at /_/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.cs(197)
System.Text.Json.dll!System.Text.Json.Serialization.JsonConverter<WrappedMessageBody>.ReadCore(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, ref System.Text.Json.ReadStack state) Line 52
	at /_/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.ReadCore.cs(52)
System.Text.Json.dll!System.Text.Json.JsonSerializer.Read<System.__Canon>(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.Serialization.Metadata.JsonTypeInfo<System.__Canon> jsonTypeInfo) Line 301
	at /_/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.Utf8JsonReader.cs(301)
Dapr.Actors.dll!Dapr.Actors.Communication.ActorMessageBodyJsonConverter<WrappedMessageBody>.Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options) Line 78
	at /_/src/Dapr.Actors/Communication/ActorMessageBodyJsonConverter.cs(78)

In the Stacktrace above you can see the ActorMessageBodyJsonConverter<WrappedMessageBody>.Read is called twice.
The problem for me is I don't understand why.
The JSON that was tried to be converted was:
{
  "value": {
    "loadData": {
      "someStringProperty1": " anice string",
      "someStringProperty2": "a nice string",
      "someStringProperty3": "a nice string",
      "someArrayProperty": []
    }
  }
}

The value and loadData are probably from WrappedMessageBody.
The problem is the reading of the json currently happens as following:

Start reading json and detect StartObject
System.Text.Json calls the ActorMessageBodyJsonConverter to convert that object
ActorMessageBodyJsonConverter detects the property value
ActorMessageBodyJsonConverter calls JsonSerializer.Deserialize<T>(ref reader, options) and the content of value
JsonSerializer does some stuff until it reaches again the StartObject token (the value of value)
JsonSerializer  calls the ActorMessageBodyJsonConverter to convert that object
ActorMessageBodyJsonConverter tires to detect the property value
ActorMessageBodyJsonConverter fails because their is only the property loadData in that object

So I guess the currently this experiment can't be used.
@onionhammer are you aware of this issue or do you have any tips?

@onionhammer, I debug this behavior with a colleague a bit more. And actually, the issue is more the constructor than the if statement.
In the constructor you check that the wrappedRequestMessageTypes only contains one type. But usually it contains for my project up to 3 generated types. (generated by the dapr actor framework)
In my case it looks like that:

As you can see there are 3 types defined.
The next line is:
if (this.wrappedRequestMessageTypes != null && this.wrappedRequestMessageTypes.Count == 1)
{
    this.wrapperMessageType = this.wrappedRequestMessageTypes[0];
}

This line checks if the count is exactly 1.
So wrapperMessageType is never assigned.
So the method Read will never start the actually deserialization of the type, because the following if statement will always be false:
if (this.wrapperMessageType != null)
{
   /// deserialization logic
}

Hi @paule96, if you're able to create a PR with a failing test (such as in E2ETests.CustomSerializerTests.cs) I will take a look


More flexible iterator recv() form in select?

My situation is that I have a vector of "client" structures, each of which has a channel.
In version 0.1, I had a manual Select loop with the following:
                for mut client in &mut clients {
                    if let Ok(msg) = select.recv(&client.chan) {
                        /* process msg here, which uses `client` mutably */

That is, I need a mutable reference to the containing struct inside the handling code.
With the new select, there is a nice way to use an iterator over receivers, but I can't build that in a way that would allow me the mutable access to client.
I see two ways to make this possible:

Add a form that in addition to the iterator, also passes a closure that retrieves an actual channel from the iterator items, but pass the iterator item, not the channel, as from.

Make the trait for the first argument to recv public, so that I could implement it for Client, or add a trait for the items of the iterator.

Is there anything else?

Would something like this work for you?
let (msg, i) = select! {
    recv(
        clients.iter().map(|c| &c.chan),
        msg,
        from,
    ) => {
        let i = clients.iter()
            .enumerate()
            .find(|(_, c)| &c.chan == from)
            .unwrap()
            .0;
        (msg, i)
    }
};
let client = &mut clients[i];

Hopefully this becomes a little bit easier once we get NLL.

It would work, but would be even uglier than that, since the select also has other cases, one of which is another such vector.
I also don't like the extra loop over the vector, which is not particularly efficient (and which would remain even with NLL).

I also don't like the extra loop over the vector, which is not particularly efficient (and which would remain even with NLL).

This shouldn't be a concern. The select! macro already does the following, at the very least:

Iterates over the vector, and fills a SmallVec with receivers.
Randomly shuffles the SmallVec.
Iterates over the SmallVec in an attempt to execute receive operations.

One extra pass that compares channel addresses should comparatively take a negligible amount of time.
Rather than adding extra syntax to select!, I'm hoping the following becomes possible, assuming we get NLL and add index_of to Itertools:
let chans = clients.iter().map(|c| &c.chan);
select! {
    recv(chans, msg, from) => {
        let index = chans.index_of(from);
        let client = &mut clients[index];
        // ...
    }
}

This isn't too bad, but I'll give it some more thought.

Thanks for considering. (Having a trait for "something you can get a receiver from" would not require new syntax.)

I just tried the suggested replacement, and it fails because clients is also borrowed mutably in another arm of the select... even #[feature(nll)] doesn't seem to allow something like this:
select! {
    recv(x, y) => channels.push(y),
    recv(&channels, y, from) => ...
}

All in all, this makes it pretty unattractive for me to update to 0.2.

I can confirm that it doesn't work with even with #![feature(nll)]. PR #60 will fix that.

Thanks, that helps! Still think that the trait would be a good way to handle this more nicely :smiling_imp:

The solution suggested in this comment is the way to go (as soon as we get NLL). And the cost of iteration is really negligible so that shouldn't be something to worry about.
Sorry if this is not the solution you were hoping for, but I don't think it's much worse than exposing the RecvArgument trait. Thanks for the discussion - this was really helpful! If you have any other thoughts or comments, let me know. :)
Closing.

Or use Select from https://github.com/crossbeam-rs/crossbeam-channel/pull/86?

So select! accepts a static list of cases, while Select can add cases dynamically at the cost of being somewhat slower and more restrictive with respect to borrow checking.
I don't think Select will be useful in this situation.


Incorrect example wis2box/examples/config/surface-weather-observations.yml

Using the example wis2box/examples/config/surface-weather-observations.yml
Will result in the error:
Error: sequence item 0: expected str instance, dict found
when using this .yml in the commands 'wis2box metadata discovery publish' or 'wis2box data add-collection'

It would be good if we could retro-actively fix the archive for wis2box-1.0b1-release to include the fixed examples once this issue is addressed.

Fixed via #385.  wis2box-setup-1.0b1.zip archive updated on the 1.0b1 release page.


Community index page

Staged at https://snoopycrimecop.github.io/www.openmicroscopy.org/community/
Only a few bits added here but I've merged other blurb etc so Liza could work on the styling so probably would be good for someone else to look at this at this stage and see how they think it's looking.

Agreed this strategy today so merging


Add testing to example snippets in docs

Expected Behavior
When we include example snippets of code (yaml?) in our docs, we should be confident that they actually work.
Actual Behavior
Our snippets are completely untested, for example our tutorial (https://github.com/tektoncd/pipeline/blob/master/docs/tutorial.md) falls behind all the time and then we have to rely on users telling us what is wrong with it.
Additional Info
I'm not sure the best way to solve this but I bet we could do something cool!

/assign

I am going to start out by making a POC with a task/taskrun. Then, we can go from there.

Should we look at gauge ?

Should we look at gauge ?

I cant tell what this product is from the landing page. :sweat:

@popcor255 ahah sorry, wrong link :man_facepalming: : https://gauge.org/index.html

/reopen

sorry, this is moving slowly.

/remove-lifecycle rotten


Confirm cEUR bucket size parameters for cEUR activation

An initial value for cEUR bucket sizes is included in Contracts Release 3. However, because cEUR Mento is impossible to use before there are oracle reports, we have another chance to adjust this value based on further analysis.
This issue is done when:

We have decided on a final value for this parameter.
If that final value is different than the initial value set in #6817, the new value is included in the cEUR activation governance proposal

The work remaining:

run analysis with newer data
take into account any new listings
assess if we can make the bucket sizes

Confirmed: we're sticking with the bucket size set in CR3.
Remaining work: remove the placeholder from the activation proposal

@pedro-clabs to check if buckets are removed from the activation proposal


.github/workflows/ci.yml: run 'cargo valgrind test --lib'

[X] I agree to follow the project's code of conduct.
[ ] I added an entry to CHANGES.md if knowledge of this change could be valuable to users.

I expected this to be slower, but 30 seconds isn't bad at all.

I'm thinking it might be a good idea to run this in the 3.8 container, since LTS might not have some of the APIs (like MD) we've implemented.

Great, we can disable it for now.
https://github.com/georust/gdal/tree/master/gdal-sys#build might help with linking.

Not sure if that, but we might be leaking the data type in the error case at https://github.com/georust/gdal/blob/master/src/raster/mdarray.rs#L166.

ok, the leak in read_into_slice() is fixed now, but there's a "system leak" related to threads & TLS, that is IMHO a false positive. But I can't find an option to specify a Valgrind suppression file to cargo valgrind. I guess we need to skip 3.8.1 testing for now

Yeah, let's disable it. I'll merge this in the morning.

Yeah, let's disable it. I'll merge this in the morning.

I've dropped the 3.8.1 related commit

Funny, I don't get the TLS leak on my system (Gedora 39, GDAL 3.7.3).
I think we can pass in a suppressions file with VALGRINDFLAGS="--suppressions=gdal.supp" cargo valgrind test.


Transport

Since the callback parameter in JavaScript:
Tone.Transport.scheduleRepeat((time) => {
	osc.start(time).stop(time + 0.1);
}, "8n", "1m");

doesn't exist in Python, we take the name time as a convention. The JS callback becomes a context manager in Python, and is more limited as to what you can execute. Also, the parameters to methods of audio nodes (start, stop...) must be passed as strings:
with ipytone.transport.schedule_repeat("8n", "1m"):
    osc.start("time").stop("time + 0.1")

Awesome! I really like the idea of using a context manager! I wonder if the attributes and logic used to construct the callback on the JS side could be moved into its own, dedicated widget. This might allow some more flexibility (maybe also allow using time as a function argument instead of using strings?) and ease further development. A decorator might help too for adding some syntactic sugar. I have no clear idea yet on how this would look, though.

I'm not sure what you mean by "dedicated widget", something separate from ipytone that would allow to write Python code and translate it to JS?

Hmm I was thinking out loud and after looking more in-depth at your PR I find it clever. I haven't found something better so far :-).

we take the name time as a convention [...] Also, the parameters to methods of audio nodes (start, stop...) must be passed as strings

Maybe we could have something like this:
with ipytone.transport.schedule_repeat("8n", "1m") as time:
    osc.start(time).stop(time + 0.1)

where time would be some kind of ipytone.TimeExpression object (with all convenient operators so that time + 0.1 returns another ipytone.TimeExpression object) that can be used on the JS side to construct a Tone.Time from the time parameter of the callback function and pass it to the method.

I ended up re-arranging a lot of things in #15, sorry in advance for the conflicts here!

No worries, I have not been very responsive :smile:
I'm not sure we will really gain something in having a ipytone.TimeExpression, because we can't do anything with it on the Python side, right? As I understand it, it would just be a way to not evaluate in Python and defer the evaluation until we are in the browser, which is also what we achieve with strings. On the other hand, I agree that it looks less of a hack than "passing JS into strings". And maybe we will need something like a ipytone.TimeExpression in the future, I don't know. Maybe you were thinking about something else?

No I wasn't thinking about much else. I guess it could be used to (more easily) perform some validation / error report on the Python side and maybe avoid the eval of the raw string passed on the JS side (by splitting and encoding the expression into multiple traits and/or widget instances). But it is probably overkill at this stage (definitely undeveloped thoughts). String are perfectly fine.

Should we merge this? I'm happy to do it (maybe after moving Transport in  core or its own module, if you don't mind).

Yeah maybe it is be better to move it to its own module. I feel what you've implemented until now is the "structural" part of the audio API, and the scheduling part is very different. In particular, I think it will involve more functionality on the Python side, if we want to have some interactivity (not just specify some kind of sequence from Python to play in the browser).
Should I name this module transport?

Yes a transport module would be good!
Yeah I think there's now most of the core building blocks for detailed replication and control of the structure of the audio graph from Python. There are still some features missing like audio node multiple channels that I'll implement later. Currently there's only Tone's main audio context that is supported. I don't know yet if we'll ever need to support multiple (and offline) contexts...
Tone's sequencer features is another exciting part indeed! It would be already nice if we can send/start/stop/cancel sequences and events from Python to Tone.js, but I agree it would be great to also have some info/data sent back to Python (either single-events or scheduled on a regular interval) to interact with the playing audio.

Great, I'm going to merge this now. We can add some tests later.
Thanks @davidbrochart !!


Limit number of dependencies downloaded

I tried to ask this question on stack overflow but the tag mentioned doesn't exist.
I only want to use the WebComponent option to model elements on my web page, but the list of dependencies this project downloads is huge.  Is there a lightweight version or someway to exclude all the dependencies except those required for WebComponent?

Sorry about that, I'll remove it from the docs. Looks like you need at least 1500 stackoverflow points to create a new tag.
I had the project separated into maven modules previously but it took to mutch time to maintain realises.
Though I don't the issue with the list of dependencies the framework includes since it is only test dependencies. Though I could give it a try making the footprint  smaller. Are your concerns about transitive dependencies or the ones implemented in the framework?

My issue with the dependencies would probably be all of them.  Poor answer I know.  It seems to me that I only require a small subset of what this project will do.  It might be that over time as I get more comfortable with it my requirements might grow, but at the moment I'm quite happy with the page object pattern that I am using.  Our project does however have some quite complicated pages (its a dojo based website) and it seems to me that wrapping some of the elements on a page into custom elements that understand how to drive the dojo widgets would make for simpler page objects.
I already have all the selenium dependencies, etc I need and we've just gone through a big approvals process just to use mockito (big sigh), so I'd hate to think what would happen if they saw the list that this is downloading.
If its not really feasible I'll just stick with adding code to page objects or initializing specific web controls from a webelement rather that decorating the page with @FindBy... CustomElement.
There's also selophane which would achieve the same thing I'm trying to do with this project.

Need approvals for using dependencies, then I understand your problem :smile:
If you only want to use WebComponents you could implement it in your code by creating a custom FieldDecorator and use the parts from WebDriverExtensionFieldDecorator that decorates the WebComponent fields.
I could maybe give you some more hints on how to do that if you need it.


Projector Capabilities

In projectors themselves multiple records should be allowed. This would allow for multiple tables in a single projector for joining on result.
In on-clauses of projector handlers ideally the following is possible:
on event:

create, update, or remove for record type
with index for create, for example create record Table1Fields with index Table1Fields.id
with for checking rows to alter

update record Table1Fields with Table1Fields.Name equals Event.Name

can perform action on multiple records

remove records Table1Fields with Table1Fields.DateCreated less than today() [now() is also necessary]

when for conditional on with:

create records ProductOrderFields with index Event.id when ProductFields.SKU equals Event.SKU (prevents Orders with bad SKUs having Product entries created for them)

set field in record

set Table1Fields.Name to Event.Name

on query:

filter
join
piping ie use result of previous step
sorting of results
transforming results to use a Map

@AlexWeinstein92 - some conclusions I've made from considering your suggestion:

Projectors cannot be queried. They have no data. They are merely transformation services. Consequently, I've removed the ability for Projectors to have "on query <query-path_id>" clauses in a recent push.   Queries should be on repositories
All of the items in your on event bullet points can/should be done by sending messages to the repository.
There needs to be a clause in the projector to indicate which repository is the backing store that the projector updates. This is not yet implemented, but the syntax will be like:

updating repository MyRepository


Fix: ChannelMicroThreadAwaiter pooling bug

PR Details
When >= 4096 awaiters are pooled, more awaiters are also added to the pool without being reset. This has the effect of possibly causing some await Script.NextFrame() points to continue immediately. This PR fixes that issue.
Related Issue

n/a
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] I have built and run the editor to try this change out.

Thanks !


Allow using a local view_component gem for test/local development

Related to https://github.com/github/view_component/issues/525
If VIEW_COMPONENT_PATH env var is set, it will install the gem in that location instead of using RubyGems

@BlakeWilliams may I have a 👍  here?


Cleanup android/macos integration tests

In the test project we are currently duplicating tests in androidTest and macosTest due to bugs in Android Studio preventing us from running these when placed in the commonTest folder.
However, this is super confusing when modifying existing code. So we should IMO always place these tests in the commonTest-folder, and if people need to manually debug them, they can copy them to the appropriate type dir.

Fixed by https://github.com/realm/realm-kotlin/pull/187


treat tfn as string, update contact name

Tenure File Number was sometimes being treated as a number causing it to lose leading 0's, treat it as a string in all cases now.
The Contact Agent variable was set to just use the first name and middle name of the contact, added the last name as well.

backend coverage reportCoverage after merging tfn-and-contact-fixes into main will be2.51%
Coverage ReportFileStmtsBranchesFuncsLinesUncovered Linessrc   app.controller.ts81.82%100%66.67%87.50%15   app.module.ts0%0%100%0%1, 10–13, 15–18, 18, 18–19, 2, 21, 29, 29, 3, 31, 31–32, 32, 4–5, 50, 6–9   app.service.ts100%100%100%100%   main.ts0%100%0%0%1, 14–15, 17, 19, 2–3, 6–7src/document_template   document_template.controller.ts0%100%0%0%1, 10–12, 16–17, 21, 26, 29, 31, 34, 36, 39, 41, 9   document_template.module.ts0%100%100%0%1, 12, 2–5   document_template.service.ts0%0%0%0%1, 12, 19, 2, 20–28, 3, 31, 31, 31–34, 36–38, 38–39, 42–45, 54, 57–59, 59, 6, 60, 64, 68–71, 73–78, 82, 86, 9src/document_template/dto   create-document_template.dto.ts0%100%100%0%1–2, 4   document_template.dto.ts0%100%100%0%1   update-document_template.dto.ts0%100%100%0%1–2, 4src/document_template/entities   document_template.entity.ts0%0%0%0%1, 10–11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 53, 53, 53–54, 54, 54–55, 55, 55–56, 56, 56–57, 57, 57–58, 58, 58–59, 59, 59–60, 60, 60–61, 61, 61–62, 62, 62–63, 63, 63src/print_request_detail   print_request_detail.controller.ts0%100%0%0%1, 12, 18–19, 22, 24, 27, 29, 3, 32, 34, 37, 39, 6, 8   print_request_detail.module.ts0%100%100%0%1, 12, 2–5   print_request_detail.service.ts0%0%0%0%1, 100–101, 104–105, 105–107, 107–110, 113, 116, 116, 116–119, 12, 120, 120–123, 13, 19, 2, 20–29, 3, 30–41, 43–49, 5, 51–52, 58, 6, 64–65, 70, 72, 77, 80, 84–86, 88, 9, 95, 95, 95–96, 96, 96–98, 98–99src/print_request_detail/dto   create-print_request_detail.dto.ts0%100%100%0%1–2, 4   print_request_detail.dto.ts0%100%100%0%1   update-print_request_detail.dto.ts0%100%100%0%1–2, 4src/print_request_detail/entities   print_request_detail.entity.ts0%0%0%0%1, 10–11, 110, 110, 110–111, 111, 111–112, 112, 112–113, 113, 113–114, 114, 114–115, 115, 115–116, 116, 116–117, 117, 117–118, 118, 118–119, 119, 119–120, 120, 120–121, 121, 121–122, 122, 122–123, 123, 123–124, 124, 124–125, 125, 125–126, 126, 126–127, 127, 127–128, 128, 128–129, 129, 129, 13, 130, 130, 130–131, 131, 131–132, 132, 132–133, 133, 133–134, 134, 134–135, 135, 135–136, 136, 136–137, 137, 137–138, 138, 138–139, 139, 139, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75   print_request_detail_vw.ts0%100%0%0%1–2, 38–39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 6, 61, 63, 65, 67, 69, 71, 73, 75src/print_request_log   print_request_log.controller.ts0%100%0%0%1, 13, 17, 2, 20, 22, 25, 27, 30, 32, 4, 7, 9   print_request_log.module.ts0%100%100%0%1, 12, 2–5   print_request_log.service.ts0%100%0%0%1, 11, 17–19, 2, 20–25, 29, 3, 33, 41, 46, 48–49, 5, 51, 8src/print_request_log/dto   create-print_request_log.dto.ts0%100%100%0%1–2, 4   print_request_log.dto.ts0%100%100%0%1   update-print_request_log.dto.ts0%100%100%0%1–2, 4src/print_request_log/entities   print_request_log.entity.ts0%0%0%0%1, 10–11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 41, 41, 41–42, 42, 42–43, 43, 43–44, 44, 44–45, 45, 45–46, 46, 46–47, 47, 47

DEV deployments have completed successfully!
Backend available
Frontend available

Your Pull Request code is being promoted!  Please follow the link below.
Main Merge Workflow


Two ways of Channel Versatile Filters

https://github.com/iamhankai/Versatile-Filters/issues/1#issue-494954964
Hi, I think the original code emphasizes "sharing the same weights" across all input channels, ensuring that every channel influences the weight update. In contrast, this approach allows only a subset of input channels to be involved in weight updates (a little bit of cross interaction of input channels since the update of weight is sliding along input channels dimension?), similar to group convolution when the number of groups equals to the c_hat. Am I right?

Yes, you're right.

Alright, thank you for the innovative work!


bug: Fix 3 weird behavior about BinaryOperatorSpacesFixer

Solve https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6444#issuecomment-1167578049
and https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6445#discussion_r907618897
cc @SpacePossum and @julienfalque

can we please look into the other 2 merged PR's first before this one? If not, than it is fine by me, but at the same time I'm just saying I'm not likely to prioritize this anytime soon.

can we please look into the other 2 merged PR's first before this one? If not, than it is fine by me, but at the same time I'm just saying I'm not likely to prioritize this anytime soon.

Dunno why you're trying to blackmail about my PR like this.
I proposed two bug fixes with tests. They were merged.

One of them discovered an existing bug
The other introduced a bug, because there was no test about it.
With this PR both of them are solved and there is now tests about those situations.
All I see overall is an improvement of this fixer with a total of 4 bug fixes.

BTW:
https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6444 solved

https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/3986

https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6445 solved

The example 2 and 3 of https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6379

I just introduced a similar fix for double arrow (only checking the first double arrow of a line) and it solves:

https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6351
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5020
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5667

I assume the same king of fix I introduced here (by using a currentLevel when opening an array) could be used  to solve

https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5648
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6379 (the example 1)
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5896
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6223
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5980
but I prefer to do it on another PR to avoid too much changes.

lets call it a day, we see things different

Sorry for not following your reasoning. I do appreciate your interventions and I was pretty sure you would find use case for the code I modified. I had in mind to fix those, that's why I do it here, even if the previous PR is merged.

good luck with the people who can merge 👍

Thanks

Coverage increased (+0.006%) to 92.747% when pulling 71064060e3b54bb3c4b5045f3107727e5ad55132 on VincentLanglet:fixBinaryOperator into 29d9dc888f7fc68e06bfeb11b46aed90cd3df611 on FriendsOfPHP:master.

@keradus @julienfalque I saw you release https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/tag/v3.9.1
I would have hope this PR to be merged before, because it fixes possible bugs reported as
https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6444#issuecomment-1167578049
https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6445#discussion_r907618897

Thank you @VincentLanglet.

You're welcome. I'll see if I can solve

https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6220
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5648
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6379
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5896
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6223
https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5980

now

I opened https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6515 for four of them


154 cell phone vs telephone

Fixes #154

This closes #154

Fixes #154

I updated the guard to use data guards only. Also, I think Lisa was very specific about wanting mobile phones for her needs, not a generic 2 phone solution... we can discuss with Keith and/or Julia to make sure I'm remembering correctly.

Also, I think the different guard won't work out of the box, though it is fine for now... ideally it should do some better logic to check that they aren't the same phone number with minor formatting differences (like dashes vs spaces being the only difference)

Ah I didn't think that was possible based on the old docs: http://guardsjs.com/data.html.

@anthonylebrun I opened https://github.com/on-site/guards.js/issues/26 to address this. Also Dave has complained about the duality of the docs... it's set up as a walkthrough vs more complete docs, and the walkthrough isn't quite as thorough or up to date, while the docs is generated straight from the code comments (mostly), and is also more up to date.
The data attributes are better documented here: http://guardsjs.com/data_attributes.html
With grouped attributes here: http://guardsjs.com/data_attributes.html#data-guard-lt-name-gt-group


www service cannot be installed due to conflicting styled-components depency

After cloning current repo and running taito develop
 => ERROR [full-stack-template_full-stack-template-www 9/9] RUN npm run install-site              29.1s
------
 > [full-stack-template_full-stack-template-www 9/9] RUN npm run install-site:
#0 1.130
#0 1.130 > install-site
#0 1.130 > if [ -f ./site/package-lock.json ]; then cd site && mkdir -p node_modules && npm ci; elif [ -f ./site/package.json ]; then cd site && mkdir -p node_modules && npm install; fi
#0 1.130
#0 28.46 npm ERR! code ERESOLVE
#0 28.46 npm ERR! ERESOLVE unable to resolve dependency tree
#0 28.46 npm ERR!
#0 28.46 npm ERR! While resolving<EMAIL_ADDRESS>#0 28.46 npm ERR! Found<EMAIL_ADDRESS>#0 28.46 npm ERR! node_modules/styled-components
#0 28.46 npm ERR<EMAIL_ADDRESS>from the root project
#0 28.46 npm ERR!
#0 28.46 npm ERR! Could not resolve dependency:
#0 28.46 npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>#0 28.46 npm ERR! node_modules/unstyled
#0 28.46 npm ERR<EMAIL_ADDRESS>from the root project
#0 28.46 npm ERR!
#0 28.46 npm ERR! Fix the upstream dependency conflict, or retry
#0 28.46 npm ERR! this command with --force, or --legacy-peer-deps
#0 28.46 npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
#0 28.46 npm ERR!
#0 28.46 npm ERR! See /home/node/.npm/eresolve-report.txt for a full report.
#0 28.46
#0 28.46 npm ERR! A complete log of this run can be found in:
#0 28.46 npm ERR!     /home/node/.npm/_logs/2022-05-04T09_28_10_520Z-debug-0.log
------
failed to solve: executor failed running [/bin/sh -c npm run install-site]: exit code: 1

Removing the unstyled dependency causes the build to crash due to some C++ compilation error?


Fix #14 - portmidi interface has been changed

An identical PR #17 has just been merged, so this can be closed.


Integration Test - Release - 2020/09/25 16:29:52

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

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


Lint all markdown files once, guided by markdown-cli2

Lint-free documentation is more readable, more welcoming, and more maintainable!
See https://github.com/DavidAnson/markdownlint-cli2
This PR intends to tidy every markdown file according to markdownlint rules without negatively impacting any of the writing/formatting. In the near future, we may introduce an automation layer for checking & fixing files with markdownlint-cli2, but this PR should only get .md files to a better place.
I've gone through every markdownlint error this repo generated on main and either improved some formatting or ignored a rule.
Remaining rules ignored:

commands-show-output
line-length
no-duplicate-heading

This one is inconvenient because we sometimes do## Section A

### Subsection X

## Section B

### Subsection X

no-emphasis-as-heading

This one is inconvenient because we sometimes do### Zig

**version: 0.9.1**

no-inline-html
no-trailing-punctuation

Do we actually want any of these enforced, instead of ignored?
(I'm happy to un-ignore them, but they're annoying in one way or another when applied to the Roc repo.)

@rtfeldman Last time I tried this, you didn't like the no-trailing-punctuation rule. This time, I've figured out the config side of this much better! 😅


Add key argument to SScan, HScan, ZScan

Apparently, these functions have never worked

Cool, I should have added a test for them. Thank you @slon7.


Visit artifacts before interfaces in yaml visitor

This PR changes to visit order of TNodeTemplate:

Before: Node's Interfaces are visited before node's artifacts
After:  Node's Artifacts are visited before node's interfaces

Reason: Interfaces can depend on artifacts - however, artifacts can not depend on interfaces.
The new behaviour is useful in the stupro TOSCAna, where I'm converting the whole TServiceTemplate into a different model.

[x] Ensure that you followed http://eclipse.github.io/winery/dev/ToolChain#github---prepare-pull-request. Especially, we require a single commit
[x] Ensure that the commit message is a good commit message
[x] Ensure to use auto format in all files
[ ] Change in CHANGELOG.md described
[ ] Tests created for changes
[ ] Screenshots added (for UI changes)

Can one of the admins verify this patch?


Fix cluster config build in Makefile

This removes a yq command from the bases/tools/Makefile.custom.mk that was messing up with the cluster ConfigMap during bootstrap.
This was rendering the original cluster config useless since it shades every configuration property under global
See this PR for context: https://github.com/giantswarm/mc-bootstrap/pull/945
Some hints on changes to this repository
Public information only
This is a public repository. The content and commit history is visible to everyone.
Do not provide any customer-specific details. Use the customer's repository for that.
Descriptive PR title
Please write a descriptive pull request title. In this repo we don't maintain a changelog file, so the PR title (becoming the commit message after squash-merge) is the main information to understand a change in retrospect.

Do you know how we could test this? I'm afraid that this change will happen to all MCs once we merge? I'm not sure

From what I've seen, this only runs during mc-bootstrap. That part I've tested it in this PR https://github.com/giantswarm/mc-bootstrap/pull/945
I'm pretty sure it's not going to change all current MCs, otherwise the current configuration of those would be "broken" in the same way it is for new bootstrapped clusters. But my knowledge on this is rather limited, so I'm not 100% sure if this is used anywhere else.

It can be sort of tested the same way we discussed on Slack.

It can be sort of tested the same way we discussed on Slack.

@uvegla I already tested it like that. I've created a branch on the CMC repo that points to this branch, and then I pointed to that CMC branch from my mc-bootstrap PR. Is that what you meant? If so, that's already done and it works.
What I'm not sure is if this target of the Makefile (build-${INSTALLATION}) is used anywhere else or just during bootstrap. Do you know @uvegla ?

It is used in diff generation for the flux kustomization on CMC PRs, but this part only ran when ENFORCE_PSS was enabled, so it is fine. Thanks for testing it!


GSF IEF Meeting Agenda 2024-02-08

Time 10:30am (GMT) / 4:00pm (IST) - See the time in your timezone

Lead – @srini1978 (Microsoft)
Co-Lead @navveenb (Accenture)
Co-Lead – @jawache (GSF)
PM - @jmcook1186 (GSF)

Antitrust Policy
Joint Development Foundation meetings may involve participation by industry competitors, and it is the intention of the Joint Development Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.
If you have questions about these matters, please contact your company counsel or counsel to the Joint Development Foundation, DLA Piper.
Roll Call
Please add 'Attended' to this issue during the meeting to denote attendance.
Any untracked attendees will be added by the GSF team below:
Agenda

[ ] Refactor progress update
[ ] PRs merged in last week
[ ] Hackathon ideas board

Attended

Attended

Attended

Attended

Attended

Attended

Attended

attended


What kind of URLs supported for radioURL()?

I defined the radioURL() with SHOUTcast URL
// ...
RadioPlayer.radioURL('https://s9.viastreaming.net:17020/stream');
// ...

and got an error saying
TypeError: null is not an object (evaluating '_reactNativeRadioPlayer.default.radioURL')

The URL you provided works for me.
Are you on iOS or android? Which version of the lib are you using (the last one is 0.2.2)?

The URL you provided works for me.
Are you on iOS or android? Which version of the lib are you using (the last one is 0.2.2)?

Are you on iOS or android? Which version of the lib are you using (the last one is 0.2.2)?

Android and I'm using the latest lib
I run the project on Expo btw, or maybe this should be meant to work on Vanilla RN?

Are you on iOS or android? Which version of the lib are you using (the last one is 0.2.2)?

Android and I'm using the latest lib
I run the project on Expo btw, or maybe this should be meant to work on Vanilla RN?

As I never used Expo, I don't know how it works. But this lib is using native code for playback and I think Expo can't execute native code.

As I never used Expo, I don't know how it works. But this lib is using native code for playback and I think Expo can't execute native code.

same problem here, solved this error?

same problem here, solved this error?

the Android and IOS folders were missing from my project, I ran the following command: npm execute eject, then edited the gradle.properties file inside android folder and added the following line org.gradle.jvmargs = -Xmx4608m, when I ran the npm run android command and it worked perfectly

the Android and IOS folders were missing from my project, I ran the following command: npm execute eject, then edited the gradle.properties file inside android folder and added the following line org.gradle.jvmargs = -Xmx4608m, when I ran the npm run android command and it worked perfectly


Improved to avoid all threads to use the same map

One HashMap per thread: 23" to 18" locally but hopefully more on the server
Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh

Execution time: 18"
Execution time of reference implementation:  3'53"

00:12.565 now, nice.


config.rocmSupport: init option

Description of changes
Add a nixpkgs config option to enable rocmSupport in packages that support it. This is for example useful to get a coherent python package set, when using torch with other dependencies that may otherwise introduce a different torch package.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

[ ] 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/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

I'm all for this, but I tried to add this in #261578 and we may want to look at the potential pitfalls mentioned there.
cc @lovesegfault

I'm all for this, but I tried to add this in #261578 and we may want to look at the potential pitfalls mentioned there. 01bcd69 (commits) cc @lovesegfault

Making cuda and rocm mutually exclusive is not something I want to get into.

I think having these top-level options to gate features is essential to being able to push down other configuration options into a set of modules (like what I've been working on with #256324).
I adore @SomeoneSerge's idea of eventually moving to a more general accelerators attribute set similar to
config.accelerators.cuda.enable # config.coprocessor, whatever
config.accelerators.cuda.gencodes
config.accelerators.rocm.enable
config.accelerators.rocm.targets

because there are so many more wonderful accelerators than just CUDA and ROCm (like Intel's GPUs!).
That said, I think this is great first step!

I think having these top-level options to gate features is essential to being able to push down other configuration options into a set of modules (like what I've been working on with #256324).
I adore @SomeoneSerge's idea of eventually moving to a more general accelerators attribute set similar to
config.accelerators.cuda.enable # config.coprocessor, whatever
config.accelerators.cuda.gencodes
config.accelerators.rocm.enable
config.accelerators.rocm.targets

because there are so many more accelerators than just CUDA and ROCm (like Intel's GPUs!).
That said, I think this is great first step!

Agreed. Generalizing the config GPU options (and maybe more?) into config.accelerators would be preferable to the current situation.

I'm all for this, but I tried to add this in #261578 and we may want to look at the potential pitfalls mentioned there. 01bcd69 (commits) cc @lovesegfault

Making cuda and rocm mutually exclusive is not something I want to get into.

It's just kind of an iffy situation, because the majority of projects I've seen that use cuda or rocm tend to not compile them both.

Once we make this assertion at the nixpkgs.config level it is hard to get around it, once someone decides to do such an experiment.
I think it's fine to let people hurt themselves trying, or succeed if it's possible.


Datapack verison 1.18. on server

What datapack(s) do you have installed (including ones made by me- include version if possible).

Datapack-Utilities-3.4.1, MechConfig_v3.1.0, Mechanization_v3.1.0 and on server is resourcepack MechResourcepack_v3.1.0.zip
2. Run /reload. Copy/paste or post a screenshot of what appears in chat (should say [Loaded  ]).

What environment are you running the datapack? (Vanilla single player, Vanilla multiplayer, Forge, fabric, spigot, bukkit, paper, optifine, realms, etc). Please specify exact Minecraft version as well.
Datapack is running on PaperMC 1.18
What if happening vs. what you expect to happen?
When I use /function give:mech_all everything is ok, but I can craft nothing, and mechanical manual dont work too.

where is problem

That "Triggered (mech manual) set value to x" message is normal. Due to the limits of Minecraft, clicking the icon for the section you want doesn't actually take you there. Instead, it's best to think of it as the icons set the content for the rest of the book.
After you click the icon for the section you want, click the forward arrow in the right lower corner to actually go there and start reading.
As for the machine table, that's weird, it looks like your layout is right. Try breaking the table with the wrench (shift + right click with the wrench) and replacing it.
I suppose it's possible it's some sort of weird interaction with paper as well, but last I heard, things were generally working well on that front.