add more visitor methods to RuleWalker

I have a need for a visitor method for the following SyntaxKind types:

NoSubstitutionTemplateLiteral
StringLiteral
EmptyStatement
WithStatement
TypeReference

Currently, I just override visitNode and look at the node.kind, but a visitor method would be nicer.

@HamletDRC We don't have a StringLiteral one? Yikes! I can add these for you

@HamletDRC What should the node type be for NoSubstitutionTemplateLiteral? StringLiteral perhaps?

you should add these methods in an ad-hoc manner as you find the need for them in your rule walkers. we don't need to pre-emptively add methods for walking all syntax kinds. if you need this in custom rules, you can override the visitNode method in your custom rule walker and call super.visitNode accordingly.

I think custom rules should be able to expect these methods to be implemented - there's no reason there should only be methods available for the built-in rules. Forcing custom rules to override visitNode makes them use a different paradigm than built-in rules, which is non-obvious.
The only downside of adding the methods is the performance impact of one more case in a switch statement and one more method call deep on the stack. But if that was critical, then we'd make the built-in rules only handle the cases they care about, which we don't. We could even switch things away from a switch statement to a data-structure with constant access performance, but I doubt that would speed things up really. (Although worth trying maybe sometime?)

@adidahiya These 5 are the SyntaxKind entries that I am explicitly testing against in my visitNode methods in my rule set.
@JKillian Is the type perhaps ts.TemplateExpression? If the kind entry does not map to a Node subclass then don't bother adding the visit method.

NoSubstitutionTemplateLiteral and EmptyStatement have no corresponding SyntaxKind so not going to add them. The two PRs above have StringLiteral, WithStatement, and TypeReference added though

This is merged then. At what point is the issue closed?

Now :)


nexrender-cli-macos failing to render for "an unknown reason"

Describe the bug
I'm trying to do a test nexrender on a simple project with a text layer.
{
  "template": {
      "src": "file:///Users/gooseus/nexrender-pipeline/test-nexrender.aep",
      "composition": "TestComp",
      "outputModule": "H.264 - Match Render Settings - 15 Mbps",
      "outputExt": "mp4",
      "settingsTemplate": "Best Settings"
  },
  "assets": [
    {
      "type": "data",
      "layerName": "PLACEHOLDER",
      "property": "Source Text",
      "value": "Gooseus"
    }
  ]
}

But am getting an error without a lot of information, even with the --debug flag:
$ NEXRENDER_ENABLE_AELOG_LEGACY_TEMP_FOLDER=TRUE ./nexrender-cli-macos -f myjob.json --debug --skip-cleanup
> starting nexrender-cli
using automatically determined directory of After Effects installation:
 - /Applications/Adobe After Effects 2024/aerender
checking After Effects command line renderer patch...
command line patch already is in place
[_v5CsAHfy9qUL2u8YoAj9] setting up job...
[_v5CsAHfy9qUL2u8YoAj9] working directory is: /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/_v5CsAHfy9qUL2u8YoAj9
[_v5CsAHfy9qUL2u8YoAj9] applying predownload actions...
[_v5CsAHfy9qUL2u8YoAj9] downloading assets...
[_v5CsAHfy9qUL2u8YoAj9] applying postdownload actions...
[_v5CsAHfy9qUL2u8YoAj9] applying prerender actions...
[_v5CsAHfy9qUL2u8YoAj9] running script assemble...
[_v5CsAHfy9qUL2u8YoAj9] rendering job...
[_v5CsAHfy9qUL2u8YoAj9] setting aerender log path to temp folder: /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/aerender-_v5CsAHfy9qUL2u8YoAj9.log
[_v5CsAHfy9qUL2u8YoAj9] spawning aerender process: /Applications/Adobe After Effects 2024/aerender -project /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/_v5CsAHfy9qUL2u8YoAj9/test-nexrender.aep -comp TestComp -output /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/_v5CsAHfy9qUL2u8YoAj9/result.mp4 -OMtemplate H.264 - Match Render Settings - 15 Mbps -RStemplate Best Settings -r /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/_v5CsAHfy9qUL2u8YoAj9/nexrender-_v5CsAHfy9qUL2u8YoAj9-script.jsx
[_v5CsAHfy9qUL2u8YoAj9] skipping the clean up...
> job rendering failed
Error: aerender.exe failed to render the output into the file due to an unknown reason
    at ChildProcess.<anonymous> (/snapshot/nexrender/packages/nexrender-core/src/tasks/render.js)
    at ChildProcess.emit (node:events:537:28)
    at maybeClose (node:internal/child_process:1091:16)
    at Socket.<anonymous> (node:internal/child_process:449:11)
    at Socket.emit (node:events:537:28)
    at Pipe.<anonymous> (node:net:747:14)

If I copy the aerender command and add escapes for spaces and quotes for the options it works exactly how I was expecting with the desired output:
$ /Applications/Adobe\ After\ Effects\ 2024/aerender -project /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/xHJUmaaYWXJJE2t9hff-C/test-nexrender.aep -comp TestComp -output /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/xHJUmaaYWXJJE2t9hff-C/result.mp4 -OMtemplate "H.264 - Match Render Settings - 15 Mbps" -RStemplate "Best Settings" -r /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/xHJUmaaYWXJJE2t9hff-C/nexrender-xHJUmaaYWXJJE2t9hff-C-script.jsx
aerender version 24.1x78
PROGRESS: Launching After Effects...
Running Script: /var/folders/gm/hdxp66557mz7dn415qlccnfw0000gn/T/nexrender/xHJUmaaYWXJJE2t9hff-C/nexrender-xHJUmaaYWXJJE2t9hff-C-script.jsx
PROGRESS: Adding specified comp to Render Queue
PROGRESS:  1/25/24 2:01:26 PM EST: Starting composition “TestComp”.
...

Information about environment

Which version of nexrender are you using?

nexrender-cli-macos --> 1.46.9

What kind of the setup do you have?

CLI

Are you using pre-built binaries or globally installed npm packages?

pre-built macos binaries

Which kind (and version) of operating system you are running it in?

Apple M1 running macOS 13.5.2 (22G91)

Additional information

Running node 18.18.1 from within a vscode zsh terminal

Expected behavior
I expected the nexrender CLI command to spawn the aerender command and run exactly how it did when I manually ran the command with the generated jsx temp folder assets.

Could you share the aerender log related to that render job?

Hello,
I'm having the same issue with Mac mini M2. No log is generated even skipping cleanup parameter.
I have tried with the latest release (1.48.4) and previous one (1.48.3), same issue. Seems that there is an issue while forking the aerender process.
If I run the spawn process manually everything goes well.
After Effects is the latest (24.1).
I spent hours trying to find the issue without succeed.
For information, on the first launch of nexrender-cli-macos I had a "Bad CPU" warning, after rosetta 2 installation the message vanished.
Thanks for your help.
Phil

It could be indeed related to macOS binaries being built for x64. Let me try uploading custom-built ARM binaries here later today to verify that this is the case. Would you be able to test that?

Hi again,
Strange thing here if I use this binary : /opt/homebrew/bin/nexrender-cli
it works ...

Here is a testing file: https://github.com/inlife/nexrender/releases/download/v1.48.4/nexrender-cli-macos-arm-test

Hello,
Thanks for the binary  but this does not solve the issue. Same Error.

I see. Another option is getting the Nodejs installed locally and installing nexrender via NPM.  That way, you would have a natively running Node.js, which could solve the issue.

I manage to find out a solution without really understanding why.
if I use this binary /opt/homebrew/bin/nexrender-cli it does work
Any clue ?

Hi, I have been trying to solve this error for many days but have not been successful. I am using aerender also but it is working correctly This is the error:
starting nexrender-cli
checking After Effects command line renderer patch...
command line patch already is in place
[RIGtcE9g_4Mqg6o-ndcM-] setting up job...
[RIGtcE9g_4Mqg6o-ndcM-] working directory is: /var/folders/t_/tlb6h5cj2zxbwh1bcsgm4bd80000gn/T/nexrender/RIGtcE9g_4Mqg6o-ndcM-
[RIGtcE9g_4Mqg6o-ndcM-] applying predownload actions...
[RIGtcE9g_4Mqg6o-ndcM-] downloading assets...
[RIGtcE9g_4Mqg6o-ndcM-] applying postdownload actions...
[RIGtcE9g_4Mqg6o-ndcM-] applying prerender actions...
[RIGtcE9g_4Mqg6o-ndcM-] running script assemble...
[RIGtcE9g_4Mqg6o-ndcM-] rendering job...
[RIGtcE9g_4Mqg6o-ndcM-] setting aerender log path to project folder: /var/folders/t_/tlb6h5cj2zxbwh1bcsgm4bd80000gn/T/nexrender/RIGtcE9g_4Mqg6o-ndcM-/aerender.log
catching the error internally
[RIGtcE9g_4Mqg6o-ndcM-] cleaning up...

job rendering failed
Error: aerender.exe failed to render the output into the file due to an unknown reason
at ChildProcess. (/snapshot/nexrender/packages/nexrender-core/src/tasks/render.js)
at ChildProcess.emit (node:events:537:28)
at maybeClose (node:internal/child_process:1091:16)
at Socket. (node:internal/child_process:449:11)
at Socket.emit (node:events:537:28)
at Pipe. (node:net:747:14)

@MuazAshraf could you please provide logs coming from that file: /var/folders/t_/tlb6h5cj2zxbwh1bcsgm4bd80000gn/T/nexrender/RIGtcE9g_4Mqg6o-ndcM-/aerender.log

I see. Another option is getting the Nodejs installed locally and installing nexrender via NPM. That way, you would have a natively running Node.js, which could solve the issue.

Just as a side note for anyone else running into this issue like I was earlier today, doing this solved it for me.

@MuazAshraf could you please provide logs coming from that file: /var/folders/t_/tlb6h5cj2zxbwh1bcsgm4bd80000gn/T/nexrender/RIGtcE9g_4Mqg6o-ndcM-/aerender.log

I have the same issue and log file is totally missing. It's not been created.

I'm seeing this issue as well. Tried your suggestion @wmwccdd but still getting the same error.
The job was getting accepted, also passed to the worker from the server, but when the rendering process starts, it says some tmp/result.mp4 file is not found. Not sure what is causing this issue.
JSON Request --> http://localhost:3000/api/v1/jobs

@tommycotter please provide contents of this log file:

Hey @inlife I think it got removed when I closed the server. Don't have anything here. But I remember the file being empty.

Hey !
I have the same error after upgrading to After Effects v24.4 on macOS Sonoma 14.5.
When aerender is spawned by nexrender, the rendering process ends immediatly. The job log file is empty.
By debugging I discovered that the exit code on instance close is null.
If I copy the aerender process command and add quotes around some parameters it runs fine.
@inlife Do you have any idea to get more error logs from the spawned process ?

@torresf could you share your aeprocess command line both before and after adding quotes?

@torresf could you share your aeprocess command line both before and after adding quotes?

Of course, here is the log :
[nYsEfcbNSwYgTfVgUsln-] spawning aerender process: /Applications/Adobe After Effects 2024/aerender -project /var/folders/7p/mqjfrnb967n28vzl_9p9j0_00000gp/T/nexrender/nYsEfcbNSwYgTfVgUsln-/hfqn6xk6z9h..aep -comp LANDSCAPE_COMP -output /var/folders/7p/mqjfrnb967n28vzl_9p9j0_00000gp/T/nexrender/nYsEfcbNSwYgTfVgUsln-/result.mp4 -RStemplate Auguste Preview -r /var/folders/7p/mqjfrnb967n28vzl_9p9j0_00000gp/T/nexrender/nYsEfcbNSwYgTfVgUsln-/nexrender-nYsEfcbNSwYgTfVgUsln--script.jsx

And here is the working command line :
"/Applications/Adobe After Effects 2024/aerender" -project /var/folders/7p/mqjfrnb967n28vzl_9p9j0_00000gp/T/nexrender/nYsEfcbNSwYgTfVgUsln-/hfqn6xk6z9h..aep -comp LANDSCAPE_COMP -output /var/folders/7p/mqjfrnb967n28vzl_9p9j0_00000gp/T/nexrender/nYsEfcbNSwYgTfVgUsln-/result.mp4 -RStemplate "Auguste Preview" -r /var/folders/7p/mqjfrnb967n28vzl_9p9j0_00000gp/T/nexrender/nYsEfcbNSwYgTfVgUsln-/nexrender-nYsEfcbNSwYgTfVgUsln--script.jsx

Could it be a permission problem ?

It could be -RStemplate problem, at least judging by the generated line

I tried without the -RStemplate option but I get the same result.
Another info that might be useful : I have the same setup on Windows and it runs correctly with After Effects v24.
My guess is that it could come from node not having the right permission to run aerender as a child process on macOS or something like that.

Oh, great. Glad to hear that!


Print error messages returned by the server in the Windows PowerShell script

This improved version changes the Windows PowerShell script to print the result that the Happening server returns when deploying a plugin fails. Previously it would only print that the upload of the ZIP file failed, which does not help with debugging. It will also print an exception when the zip file creation does not work.

Merged, with some slight textual changes. Thanks!


chore(blockifier): add struct ExecutionFlags to AccTx & use instead of transaction::ExecutionFlags

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2429  👈 (View in Graphite)
#2428 : 1 other dependent PR (#2354 )
#2412
#2377
#2331
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Generate source map

Is your feature request related to a problem? Please describe.
Generate a source map so we can link runtime errors in the Python code to DSL code.
See https://github.com/langium/langium/blob/7f3fc78a9fcedd92fe7cb848278e0fd5e8f88781/packages/langium/CHANGELOG.md#generator-tracing

@WinPlay02 This would be another useful addition to the code generator. However, the Python server has higher priority at the moment.


for all solutions chatflows show the wg configurations before wg-quick command

we should show wg config to copy or to download then show wg-quick command not the other way around

Fixed at https://github.com/threefoldtech/jumpscaleX_threebot/commit/852ed1aa41673a689b4b2bdb8ea831db4eb3e0f6

Verified


Office computer calls itself "higgs"

Which is not what we really want. :(

And so does my new one - a big messy name of some sort.

whatsmyip.com will give us the IP address that it looks like we are coming from. This should be an IP address that is available to all - and it should be better suited to figuring out where the computer is. Of course, this will delay things a bit by forcing an IP address lookup.

This looks to add about a half second onto things.


add quote to QDRANT_CLIENT_TIMEOUT/consoleApi/appApi

lack of quote cause creating configmap error

@kaktos Thanks for your contribution. Could you please make merge request to dev branch instead since master branch were designed to trigger chart release process with current github actions define.


Missing Node Types

Installed the package but getting an error:
Flows stopped due to missing node types.
stripe-config
stripe

Also getting this:

What version of node-red are you using?
I tried to make this compatible with 2.x but their types for TypeScript is not really consistence and some internal API is not even typed. Since the last time I checked, their official site still has documentations for 1.x when it comes to custom nodes like this one.
I had to fallback to 1.x only, or explicitly use any and hope for the best.
I would definitely try again if more information is available, would you mind doing some research on this front?

I solved it for now by removing this node and directly using the API.

This node is supposed to safe you from directly working with the SDK, thanks for not contributing.


Add batch protocol layer

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[x] C++ Guidelines
[x] Doxygen docs
[x] Unit tests
[x] No unwanted commits/changes
[x] Descriptive title/description

[x] PR is single purpose
[x] Related issue listed

[x] Comments in source
[x] No typos
[x] Update changelog
[x] Not work-in-progress
[x] External references or docs updated
[x] Self review of PR done
[x] Any breaking changes?

redo https://github.com/Azure/azure-sdk-for-cpp/pull/3002
closes https://github.com/Azure/azure-sdk-for-cpp/issues/3000

Hi @vhvb1989 , I redid https://github.com/Azure/azure-sdk-for-cpp/pull/3002 as part of this PR, can you approve this?

/azp run cpp - storage

@vhvb1989 can you take time to look at this PR?

Are you planning to merge this for Azure Core - May Release ?

Yes

This change in Azure Core will be required by Storage, so you will need to update all the Azure Core Min Version

Only blob package uses this new feature, so I only need to update azure core min version of blob package, is that correct?

Are you planning to merge this for Azure Core - May Release ?

Yes

This change in Azure Core will be required by Storage, so you will need to update all the Azure Core Min Version

Only blob package uses this new feature, so I only need to update azure core min version of blob package, is that correct?

IIRC, blob package uses azure-common for consuming azure-core.  So, all azure storage packages are affected, and we would want to release azure-common and azure-blobs.   You will make the choice of going beta or not for this feature.

IIRC, blob package uses azure-common for consuming azure-core. So, all azure storage packages are affected, and we would want to release azure-common and azure-blobs. You will make the choice of going beta or not for this feature.

Oh, right.
So do you have anything else to release for Azure Core SDK in May? If yes, let's just ship this feature along with that.
This is a minor change. I don't think beta release is necessary. But if you want preview other features/changes, it also works for me.
We'll ship common/blob GA release and blob batch preview release in June. I'm still trying to get things done by May, but I'm afraid it's less likely to happen)


Add translation support for nested strings

Fixes issue where intl variables used within FormatMessage component were not always set up for translation themselves.
example:
// Incorrect, as "not" does not get translated
              values={{ not: not }}
// Corrected to:
              values={{
                not: (

                    <FormattedMessage defaultMessage="not" />

                ),
              }}

Extracts remaining strings, including "Mainnet" and "____ testnet" for translation.
Also capitalized "Mainnet" and the testnet names for consistency

Note: There are some CLI variables such as --num_validators and --chain that are currently being translated. @CarlBeek Want to confirm that this is aligned with the staking-deposit-cli script.

I thought the code looks good but something appears to be screwy with the logic:

lowercase mainnet should be uppercase
Either the current networks is wrong or the Switch to Mainnet is wrong

I'm still confused. Why would we use NETWORK_NAME = 'Mainnet' if IS_MAINNET is false?
Perhaps we should update:
export const NETWORK_NAME          = (IS_MAINNET || !process.env.REACT_APP_TESTNET_LAUNCHPAD_NAME) ? 'Mainnet' : process.env.REACT_APP_TESTNET_LAUNCHPAD_NAME;

to be
export const NETWORK_NAME          = IS_MAINNET ? 'Mainnet' : TESTNET_LAUNCHPAD_NAME;

Given that we have a fallback for that variable if REACT_APP_TESTNET_LAUNCHPAD_NAME is falsey?


Make bool UseLua in Scripts do what it says

i.e
UseLua = false means that ultrakit wont try to load Lua scripts and cause a Error

It might be better to just check if UKScript is null and remove the need for the bool entirely
Especially since you can just do script?.Globals?.Get()?.Call to only call if the script and the global exists


How can I disconnect the crouton web extension?

Please paste the output of the following command here: sudo edit-chroot -all

name: trusty
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/trusty...
crouton: version 1-20180611074759~master:3697b784
release: trusty
architecture: amd64
xmethod: xiwi
targets: xiwi,unity
host: version 10575.54.0 (Official Build) beta-channel edgar
kernel: Linux localhost 3.18.0-17554-g9194949d4df2 #1 SMP PREEMPT Tue Jun 5 18:05:38 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Not unmounting /mnt/stateful_partition/crouton/chroots/trusty as another instance is using it.
name: xenial
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/xenial...
crouton: version 1-20180611074759~master:3697b784
release: xenial
architecture: amd64
xmethod: xorg
targets: x11,xorg,xfce
host: version 10575.54.0 (Official Build) beta-channel edgar
kernel: Linux localhost 3.18.0-17554-g9194949d4df2 #1 SMP PREEMPT Tue Jun 5 18:05:38 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...
I am trying to remove the crouton web extension by removing xiwi, but
it won't let me. Is there any way I can remove xiwi from unity (trust) or delete unity
and install gnome?

If I try to install gnome without uninstalling unity (sudo sh ~/Downloads/crouton -t gnome), this is what comes up:
/usr/local/chroots/xenial already has stuff in it!
Either delete it, specify a different name (-n), or specify -u to update it.
If I use -u instead of -t, it gives me a really long message about -b, -d, -e, etc and what they do.

@sidharthmrao,
There is no provision to remove a target/xmethod currently, you will probably have to get into your chroot using 'sudo enter-chroot -n xenial' and then edit both '/.crouton-targets' & '/etc/crouton/targets' as root to remove the 'xwi' entries in those files.
Then you can replace the xiwi target/xmethod with xorg by doing a crouton update using something like:

sudo sh ~/Downloads/crouton -n xenial -t xorg -u

'xiwi' will still be present but won't be used or updated any longer with this workaround.
You can also disable or remove the 'crouton integration' extension if you like.
Hope this helps,
-DennisLfromGA

@sidharthmrao,
The command you entered 'sudo sh ~/Downloads/crouton -t gnome' will try to install a new 'xenial' chroot without the '-u' option.  To add the plain vanilla 'gnome' target (approx. 400MB) or the 'gnome-desktop' target (approx. 1100MB) use something lke this:

sudo sh ~/Downloads/crouton -n xenial -t gnome[-desktop] -u

Hope this helps,
-DennisLfromGA

I was able to use 'sudo enter-chroot -n xenial' but when I entered /.crouton-targets into the shell it gave me the error:
(xenial)sidharthmrao@localhost:~$ /.crouton-targets
-su: /.crouton-targets: Permission denied
(xenial)sidharthmrao@localhost:~$ /usr/local/chroots/xenial already has stuff in it!
-su: /usr/local/chroots/xenial: No such file or directory
(xenial)sidharthmrao@localhost:~$ Either delete it, specify a different name (-n), or specify -u to update it.

I was successfully able to install gnome though.

@sidharthmrao,

I was able to use 'sudo enter-chroot -n xenial' but when I entered /.crouton-targets into the shell it gave me the error: ...

You were attempting to execute the file with that command, it won't work.
I said you need to edit the files as root, that means use your favorite editor and delete the 'xiwi' entries.
Something like the following should work, I use 'vi' but you can use 'nano' or the editor of your choosing:

sudo enter-chroot -n xenial
sudo vi /.crouton-targets
sudo vi /etc/crouton/targets
exit

Hope this helps,
-DennisLfromGA

When sudo asks me for a password, I enter the password I set but it doesn't work.

@sidharthmrao,

Is there any way to reset my password?

See: How do I change my password in Linux?
You may need to bone up on your Linux skilz a little, Google is your friend for that....
Hope this helps,
-DennisLfromGA

Sorry, but the sudo password still doesn't work, so I will probably just powerwash unless there is another way. Like I said, I forgot my sudo password (or the computer made a mistake, which I doubt) so I can't use 'passwd' to reset it.

Thank you for all your help though.

@sidharthmrao,
Make sure you know which user's password the application is asking for.
If it's the 'root' or 'administrative user' password that it's asking for there isn't one set by default so you may need to assign one, but that's unusual.
If you're talking about the password for the username you created in the chroot when you installed it you can get into the chroot as root and change it if that would be easier.
If you need more help with this let me know.
Also, there is no need to powerwash, that's a pretty drastic step and not at all necessary.
You can delete the entire chroot and reclain all the space with a simple command and then start over if you like.  To delete the your chroot use this:

sudo delete-chroot xenial

Hope this helps,
-DennisLfromGA


[5.4] Preserve route parameters name

As reported in: https://github.com/laravel/framework/issues/18593
This PR ensures that the parameter keys are preserved so that if you override Illuminate\Routing\Controller@callAction in your controller the $parameters is an associative array,
public function callAction($method, $parameters)
{
    return call_user_func_array([$this, $method], $parameters);
}

This behaviour was broken in https://github.com/laravel/framework/pull/17973, this PR should get back the original behaviour.

Would probably be good to add the test-case from that issue too, as a guarantee for the future.


adding fake-news-english-5

made suggested changes and created a PR here: https://github.com/huggingface/datasets/pull/1598


Cirrus CI: run clippy to catch common Rust mistakes

Signed-off-by: Lokesh Mandvekar<EMAIL_ADDRESS>@mheon @baude @flouthoc @Luap99 PTAL

@flouthoc @baude remind me, do we prefer clippy pre-installed in the CI env we use here, or can we just setup a separate task to install deps in cirrus.yml itself?


lyrics of the songs

Hi Antony,
I understand that as of January 2019 SoudBox stops working, but will it be possible that the lyrics of the songs in SoundBox format can be played with OnlyM?

@gonzo041 Sorry, there is no support for playing Folio lyrics (if that's what you mean by "SoundBox format"). You can play the song videos using OnlyM.

It's a shame, because there are many Kingdom halls (like ours), that we have projected screens, and the videos of the songs put their lyrics in the center making those of us sitting from the middle back of the room, we can not see the lyrics .
With the Folio de letras de SoundBox, we can adapt our need by configuring the projection of the letters to 50% of the screen at the top, so that we can all see the letters wherever we are sitting.
I hope you can understand what I want to convey, since I do not speak English and I write everything through a WEB translator.
Antony, thank you equally for everything you do for us.
Best regards.

@gonzo041 Yes, I understand the problem - we have exactly the same in our KH. We are moving to JWL and will likely reposition the projector to the right of the platform and reduce the size of the projected image. OnlyM does allow you to modify the size and position of the prohjection for images and videos. Have you tried it? See Settings Margins. It may help if you reduce the size and position top right (or left)

Yes, I tested the margins when the OnlyM application came out, but it looked too small the letter, which led to the conclusion that the brothers located behind the KH and with vision problems would not read. I will also follow your suggestion using more test time and see if we achieve better results.
As I said before, it's a real pity that you do not have support for the lyrics of SoundBox and play them in OnlyM.
Greetings.

Projectors are game of angles and distances. You could tilt the projector up ever so slightly, and use the digital zoom to shrink the image, and move the screen forward a couple feet, which would effectively raise the image relative to the audience. Or you could try just simply titling the projector up just a little and see how it does. Or you could give the projector and lyrics a fair shake where they are. The last time we used our projector with a large audience was the AM last year, had both TVs and the center projector going. While the center of the image projected about lecturn high, the songs didn't cause much of a problem.

Hi Antony,
I did the variation tests in the margins of OnlyM for the reproduction of videos, and I came to the conclusion that it will not be practical.

It is displayed too small as I mentioned earlier for the brothers in the back of the KH.
Modifying the margins would also affect the size in the reproduction of the other videos for the meeting, and since not all the brothers have the technical capacity to operate, they could not vary from one video to the other. We were advised to be the most practical and simple to ensure the operation of the meeting.
We will see what we can do to solve this problem.
Meanwhile I ask you if you decide later to include support for the reproduction with the lyrics of SoundBox in the APP OnlyM, keep me up to date as that is our solution and probably thousands of KH more.
Thank you very much for your attention and apologize for the inconvenience caused.
Christian greetings

@gonzo041

I understand that as of January 2019 SoudBox stops working

Technically speaking, SoundBox will still work but, after the meeting format changes, you won't be able to use the timing function properly and nobody's going to fix it.
 Having more screens could help if the last seats are too far. In a KH in our city the LDC installed three displays, two on the sides of the rostrum and one in the middle-left of the room, fixed to the ceiling.

@gonzo041 Yes, I'll let you know if there are any further developments.


Add links and fix a typo in README

Could you amend your commit? I've removed the "Widget Inspector" part since it's not implemented yet, but your commit re-adds it.
Otherwise, LGTM, thanks!

Should be fixed now :)

There were some CI problems unrelated to this PR, so I merged it anyway. I do need to fix those now.


VNC Container failed to startup because of missing X11 connection (timing issue)

Bug description
When starting a new selenium browser over the moon-ui a new browser pod is scheduled correctly but the VNC connnection can not be established. We tested it with edge, chrome and firefox but in the following print outs I always use the output of chrome.
From our analysis it looks like X11 was started correctly but was ready after VNC was already started and therefore failed.
Analysis/Experienced Behaviour
According to the output of kubectl the vnc-server was terminated. Output of oc describe pod chrome-...:
kubectl-describe-chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b.log
I attached the log of the VNC Container but as far as I could see, the log says that VNC could not be started because of the missing connection to X11:
chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b-vnc-server.log
The X-Server Container seems to work and verified it with debugging the VNC Container were I could start VNC correctly. It looks to me like a timing issue. Here is what I did:
$ oc debug pod/chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b -c vnc-server
Starting pod/chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b-debug ...
Pod IP: ***
If you don't see a command prompt, try pressing enter.

$ x11vnc -xrandr -passwd selenoid -noxrecord -forever -display :0 -shared -rfbport 5900
18/10/2022 12:18:10 passing arg to libvncserver: -passwd
18/10/2022 12:18:10 passing arg to libvncserver: -rfbport
18/10/2022 12:18:10 passing arg to libvncserver: 5900
18/10/2022 12:18:10 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 7
18/10/2022 12:18:10 Using X display :0
18/10/2022 12:18:10 rootwin: 0x50d reswin: 0x400001 dpy: 0x79c065a0
...
The VNC desktop is:      chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b:0
PORT=5900

Expected Behaviour
There should either be some flag for a startup delay or some type of retry or startup when x11 ready behaviour.
Additional Context

OpenShift 4.8.24  (Kubernetes v1.23.5+012e945)
Moon 2.3.7
Selenium Browsers:

microsoft-edge-stable 101.0.1210.39-1
google-chrome-stable 101.0.4951.54-1
firefox-mozilla-build 99.0.0-1

Please make sure that you are using xvfb-server image for x-server
container instead of x-server.
вт, 18 окт. 2022 г., 15:33 Michael Mühlebach @.***>:

Bug description
When starting a new selenium browser over the moon-ui a new browser pod is
scheduled correctly but the VNC connnection can not be established. We
tested it with edge, chrome and firefox but in the following print outs I
always use the output of chrome.
From our analysis it looks like X11 was started correctly but was ready
after VNC was already started and therefore failed.
Analysis/Experienced Behaviour
According to the output of kubectl the vnc-server was terminated. Output
of oc describe pod chrome-...:
kubectl-describe-chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b.log
https://github.com/aerokube/moon/files/9810367/kubectl-describe-chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b.log
I attached the log of the VNC Container but as far as I could see, the log
says that VNC could not be started because of the missing connection to X11:
chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b-vnc-server.log
https://github.com/aerokube/moon/files/9810204/chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b-vnc-server.log
The X-Server Container seems to work and verified it with debugging the
VNC Container were I could start VNC correctly. It looks to me like a
timing issue. Here is what I did:
$ oc debug pod/chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b -c vnc-server
Starting pod/chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b-debug ...
Pod IP: ***
If you don't see a command prompt, try pressing enter.
$ x11vnc -xrandr -passwd selenoid -noxrecord -forever -display :0 -shared -rfbport 5900
18/10/2022 12:18:10 passing arg to libvncserver: -passwd
18/10/2022 12:18:10 passing arg to libvncserver: -rfbport
18/10/2022 12:18:10 passing arg to libvncserver: 5900
18/10/2022 12:18:10 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 7
18/10/2022 12:18:10 Using X display :0
18/10/2022 12:18:10 rootwin: 0x50d reswin: 0x400001 dpy: 0x79c065a0
...
The VNC desktop is:      chrome-101-0-4951-54-1-e9865711-e22c-4e1e-9d28-462416abd57b:0
PORT=5900
Expected Behaviour
There should either be some flag for a startup delay or some type of retry
or startup when x11 ready behaviour.
Additional Context

OpenShift 4.8.24 (Kubernetes v1.23.5+012e945)
Moon 2.3.7
Selenium Browsers:

microsoft-edge-stable 101.0.1210.39-1
google-chrome-stable 101.0.4951.54-1
firefox-mozilla-build 99.0.0-1

—
Reply to this email directly, view it on GitHub
https://github.com/aerokube/moon/issues/353, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKY23IIN5T65I27OUPRZUDWD2KHXANCNFSM6AAAAAARIBF3VE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Yes we are using the xvfb-server image as you can see in the describe output. But looking at the checksums, the two images are identical.

I created a workaround which confirmed my suspicion about the timing issue:
I wrapped your VNC image with the following container:
FROM quay.io/aerokube/vnc-server:2.3.7
USER root

ADD wait-for-it.sh /opt
RUN chmod +x /opt/wait-for-it.sh

USER 4096

CMD ["x11vnc", "-xrandr", "-passwd", "selenoid", "-noxrecord", "-forever", "-display", ":0", "-shared", "-rfbport", "5900"]

ENTRYPOINT ["/opt/wait-for-it.sh", "localhost:6000", "-t", "10", "--", "/usr/sbin/init"]

With this it works. But it is more a hack than something else. I guess it would be a good idea if you add something similar to the official vnc-server image. I can give it a go but I could not find the correct repositories for those images.

@mikevader ok, one more possible solution is trying to use a bit older image: aerokube/xvfb-server:2.3.5.

Any update on this? We seem to run into the same issue with Moon 2.6.7 (we use official images), the vnc server container sometimes (e.g. 1 in 10 runs) exits with:
16/10/2024 11:45:12 passing arg to libvncserver: -passwd
16/10/2024 11:45:12 passing arg to libvncserver: -rfbport
16/10/2024 11:45:12 passing arg to libvncserver: 5900
16/10/2024 11:45:12 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 11
16/10/2024 11:45:12 XOpenDisplay("<IP_ADDRESS>:0") failed.
16/10/2024 11:45:12 Trying again with XAUTHLOCALHOSTNAME=localhost ...
16/10/2024 11:45:12 ***************************************
16/10/2024 11:45:12 *** XOpenDisplay failed (<IP_ADDRESS>:0)
*** x11vnc was unable to open the X DISPLAY: "<IP_ADDRESS>:0", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.
...
Maybe a simple loop with nslookup for X-server service should be added to the vnc container, since the order of container startup is not guaranteed by Kubernetes, the x-server may start too early (or too late).

Looks like x server did not start, please check x-server container log.
Anyway, try to upgrade to latest 2.7.2 release, there all service container
images have been reworked and contain only needed binaries, also it
dramatically decreased imege size, please check it.
ср, 16 окт. 2024 г., 15:00 bukovjanmic @.***>:

Any update on this? We seem to run into the same issue with Moon 2.6.7 (we
use official images), the vnc server container sometimes (e.g. 1 in 10
runs) exits with:
16/10/2024 11:45:12 passing arg to libvncserver: -passwd
16/10/2024 11:45:12 passing arg to libvncserver: -rfbport
16/10/2024 11:45:12 passing arg to libvncserver: 5900
16/10/2024 11:45:12 x11vnc version: 0.9.16 lastmod: 2019-01-05 pid: 11
16/10/2024 11:45:12 XOpenDisplay("<IP_ADDRESS>:0") failed.
16/10/2024 11:45:12 Trying again with XAUTHLOCALHOSTNAME=localhost ...
16/10/2024 11:45:12 ***************************************
16/10/2024 11:45:12 *** XOpenDisplay failed (<IP_ADDRESS>:0)
*** x11vnc was unable to open the X DISPLAY: "<IP_ADDRESS>:0", it cannot
continue.
*** There may be "Xlib:" error messages above with details about the
failure.
...
Maybe a simple loop with nslookup for X-server service should be added to
the vnc container, since the order of container startup is not guaranteed
by Kubernetes, the x-server may start too early (or too late).
—
Reply to this email directly, view it on GitHub
https://github.com/aerokube/moon/issues/353#issuecomment-2416608906, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKY23N27Y6SGZ4KT76KETTZ3ZIMBAVCNFSM6AAAAABQBJNR56VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJWGYYDQOJQGY
.
You are receiving this because you commented.Message ID:
@.***>

Hello,
we have tried version 2.7.2 and it is the same. @bukovjanmic has a suspicion that this might be related to startup order as mentioned in @mikevader comment - the solution is so far to wait for the service to start


ocamlPackages.zed: refactor; ocamlPackages.charInfo_width: use Dune 2

Motivation for this change
Use Dune 2.
cc maintainer @FlorentBecker (zed).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build reason

@GrahamcOfBorg build reason


row_reader_test and terminate_handler_test reliably crash

Does this issue affect the google-cloud-cpp project?
Yes.
What component of google-cloud-cpp is this related to?

Cloud Bigtable.

What version of google-cloud-cpp are you using?
b9f13771d418cfdfe2d484c79e83673adf364a2f
What compiler and version are you using?
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.2.1 20181215 (Red Hat 8.2.1-6) (GCC)

What operating system and version are you using?
Fedora 29
What were you trying to do?
Run ctest
What did you expect to see?
No crashes. It doesn't affect the tests, but it's annoying since it fills up my abrt folder/notifications
What did you see instead?
Tests finish successfully, but two tests (see title) always crash after they finish
Anything else you would like us to know?
Here's a backtrace for row_reader_test:
#0  0x00007fea50a2b53f in raise () from /lib64/libc.so.6
#1  0x00007fea50a15895 in abort () from /lib64/libc.so.6
#2  0x00007fea50deae9b in ?? () from /lib64/libstdc++.so.6
#3  0x00007fea50df12fc in ?? () from /lib64/libstdc++.so.6
#4  0x00007fea50df0319 in ?? () from /lib64/libstdc++.so.6
#5  0x00007fea50df0cc8 in __gxx_personality_v0 () from /lib64/libstdc++.so.6
#6  0x00007fea50bca273 in ?? () from /lib64/libgcc_s.so.1
#7  0x00007fea50bca7e1 in _Unwind_RaiseException () from /lib64/libgcc_s.so.1
#8  0x00007fea50df15ab in __cxa_throw () from /lib64/libstdc++.so.6
#9  0x00000000004e02a9 in void (anonymous namespace)::RaiseException<std::runtime_error>(char const*) ()
#10 0x00000000004e00ff in google::cloud::v0::internal::RaiseRuntimeError(char const*) ()
#11 0x00000000004927d5 in google::cloud::bigtable::v0::RowReader::~RowReader()
    ()
#12 0x000000000043d7da in std::default_delete<google::cloud::bigtable::v0::RowReader>::operator()(google::cloud::bigtable::v0::RowReader*) const ()
#13 0x00000000004377b1 in std::unique_ptr<google::cloud::bigtable::v0::RowReader, std::default_delete<google::cloud::bigtable::v0::RowReader> >::reset(google::cloud::bigtable::v0::RowReader*) ()
#14 0x00000000004275b9 in RowReaderTest_NoExceptionDestructorWillRaiseIfErrorNotRetrived_Test::TestBody() ()
#15 0x00000000006ea3ca in void testing::internal::HandleExceptionsInMethodIfSupp--T--Type <RE--Type <-----Type <RET> for more, q to quit, c to continue without paging--
orted<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#16 0x00000000006e25c9 in testing::Test::Run() [clone .part.610] ()
#17 0x00000000006e2825 in testing::TestInfo::Run() [clone .part.611] ()
#18 0x00000000006e29ab in testing::TestCase::Run() [clone .part.612] ()
#19 0x00000000006e2fbb in testing::internal::UnitTestImpl::RunAllTests() ()
#20 0x00000000006ea88a in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#21 0x00000000006e3126 in testing::UnitTest::Run() ()
#22 0x00000000004dd8a0 in RUN_ALL_TESTS() ()
#23 0x00000000004dd839 in main ()

N.B.: doesn't seem to happen if I run the test directly.

Didn't realize that those were death tests.


What are the recommended i18n framework for t4?

I'm using this one
https://github.com/ivanhofer/typesafe-i18n

@masrurimz Does that have a flash of un-translated text, or does SSR take care of displaying the correct translation?
If you could, a video of it working would be helpful.

typesafe-i18n it is!

I happened upon some rather sad news. Ivan Hofer, the maintainer of typesafe-i18n, recently passed away.
https://github.com/ivanhofer/typesafe-i18n/issues/739
It seems like his buddys are months away to a successor to that wonderful library called paraglide-js. No doubt this will be an ongoing topic.


Augment testing with an in-process MySQL server

Over the past couple of days, I've written up a library for emulating a MySQL server. It essentially implements the "other side" of the MySQL network protocol, and delegates handling of queries to a user-defined backend (also implemented in Rust). I found the mysql crate super helpful in working out its kinks, and I re-use code from mysql_common wherever possible.
The crate works fairly well at this point, and even self-tests by using this crate to connect to itself, and then running a bunch of queries (see tests starting from here). It occurred to me that this might also help test the mysql crate without relying on an externally-running MySQL DB. Feel free to close if you don't think it's a good idea.

Just a note that you probably want to run tests against a real mariadb/mysql instance, to get real-world feedback from all of their quirks.


Unable to Upgrade/Install Dependencies

Version
5.0.4
Environment info

Environment Info:

  System:
    OS: Windows 10 10.0.19043
    CPU: (8) x64 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
  Binaries:
    Node: 14.17.3 - C:\Program Files\nodejs\node.EXE
    Yarn: Not Found
    npm: 8.12.1 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: Not Found
    Edge: Spartan (44.19041.1266.0), Chromium (102.0.1245.33)
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.2.1
    @vue/babel-helper-vue-transform-on:  1.0.2
    @vue/babel-plugin-jsx:  1.1.1
    @vue/babel-plugin-transform-vue-jsx:  1.2.1
    @vue/babel-preset-app:  5.0.4
    @vue/babel-preset-jsx:  1.2.4
    @vue/babel-sugar-composition-api-inject-h:  1.2.1
    @vue/babel-sugar-composition-api-render-instance:  1.2.4
    @vue/babel-sugar-functional-vue:  1.2.2
    @vue/babel-sugar-inject-h:  1.2.2
    @vue/babel-sugar-v-model:  1.2.3
    @vue/babel-sugar-v-on:  1.2.3
    @vue/cli-overlay:  5.0.4
    @vue/cli-plugin-babel: ~5.0.0 => 5.0.4
    @vue/cli-plugin-eslint: ~5.0.0 => 5.0.4
    @vue/cli-plugin-router:  5.0.4
    @vue/cli-plugin-vuex:  5.0.4
    @vue/cli-service: ~5.0.0 => 5.0.4
    @vue/cli-shared-utils:  5.0.4
    @vue/compiler-core:  3.2.37
    @vue/compiler-dom:  3.2.37
    @vue/compiler-sfc:  3.2.37
    @vue/compiler-ssr:  3.2.37
    @vue/component-compiler-utils:  3.3.0
    @vue/eslint-config-standard: ^6.1.0 => 6.1.0
    @vue/reactivity:  3.2.37
    @vue/reactivity-transform:  3.2.37
    @vue/runtime-core:  3.2.37
    @vue/runtime-dom:  3.2.37
    @vue/server-renderer:  3.2.37
    @vue/shared:  3.2.37
    @vue/web-component-wrapper:  1.3.0
    eslint-plugin-vue: ^8.0.3 => 8.7.1
    vue: ^3.2.13 => 3.2.37
    vue-eslint-parser:  8.3.0
    vue-hot-reload-api:  2.3.4
    vue-loader:  17.0.0 (15.9.8)
    vue-style-loader:  4.1.3
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce
Create new project using 'vue create project'
Run npm outdated
Run npm upgrade or npm install @formkit/vue
What is expected?
Project dependencies to be upgraded or FormKit or be installed and added as a dependency
What is actually happening?
NPM will throw the following:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/eslint-plugin-vue
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@vue/eslint-config-standard
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\Jon\AppData\Local\npm-cache\eresolve-report.txt for a full report.

Npm 8 is a lot more strict in dependency resolution. You can use 'npm i --legacy-peer-deps' command until these packages are fixed/updated. You'll have the same issue with audit fix command too.

I forced an upgrade by editing package.json. I did see Vue-CLI released a new version too so hopefully that fixes the problem too even though I am not seeing anything in the release notes about it.

Yup, it seems with the latest NPM, it is broken out of the box:
Vue CLI v5.0.8
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, Linter
? Choose a version of Vue.js that you want to start the project with 3.x
? Pick a linter / formatter config: Standard
? Pick additional lint features: Lint on save
? Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files
? Save this as a preset for future projects? (y/N)

It looks like the culprit is @vue/eslint-config-standard, which has a peer dependency on eslint-plugin-vue at version 7 (^.7.0.0) only. I tried several combinations to resolve the conflict but have not won just yet.
Strangely the material claims the stricter rules for peer dependencies was added in NPM 7/8 but everything worked perfectly on npm version 8.3 but does not on the 8.16.


Adding new API uploadFromFileWithResponse for DataLakeFileClient

resolves #25475

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-file-datalake


Fix 'rake gettext:store_model_attributes'

That rake task can parse the database columns that can be translated (it ignores commonly untranslated columns like ID, type, etc).
It fails with error
$ rake gettext:store_model_attributes

writing model translations
to: /home/jzigmund/manageiq/vmdb/config/locales/model_attributes.rb
[Error] Attribute extraction failed. Removing incomplete file
(/home/jzigmund/manageiq/vmdb/config/locales/model_attributes.rb)
rake aborted!

ActiveRecord::StatementInvalid: PGError: ERROR: relation
"miq_region_remotes" does not exist
LINE 5: WHERE a.attrelid = '"miq_region_remotes"'::regc...
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"miq_region_remotes"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum

Tasks: TOP => gettext:store_model_attributes

MiqRegionRemote is a special ActiveRecord model that does not have a backing table.  It is not meant to be used like a normal model, but needs to be an ActiveRecord type in order to benefit from ActiveRecord's connection pool.

Fixed by #1310


Allow to set default log level

Currently info output won't be displayed unless I set RUST_LOG=info.
I would suggest to add a default log level via Cargo feature.

That doesn't particularly flexible to me, because we'd have to hard code the default level to use, right? (meaning users wouldn't be able to select warn instead (unless we have yet another feature for that)
I think an argument could be made to always log at info by default, because stuff is captured anyway, but not sure whether that makes all that much sense to change.

Defaults would be very useful, sometimes coming back to the tests after a long time I forget I can run the tests with RUST_LOG=info.
One thing I've done in the past is checking to see if the RUST_LOG environment variable is not set before configuring env_logger to a default level. Are you interested in a PR with those changes? Also crate features so it's opt-in to a specific default.

Maybe something like:
#[test_log::test(default_filter="info,foo=debug", tokio::test)]
async fn my_test() {

which expands to something like (I'm just making this up, not sure what the code expands to right now):
let _ = env_logger::builder().parse_env(Env::default().default_filter_or("info,foo=debug")).is_test(true).try_init();

Looking at the env_logger docs, this will parse the filter from RUST_LOG or default to "info,foo=debug" if there is nothing in the env:
https://docs.rs/env_logger/latest/env_logger/struct.Env.html#method.default_filter_or
https://docs.rs/env_logger/latest/src/env_logger/lib.rs.html#1080-1083
Haven't tested it though.

Ah, yeah, I think an argument to the attribute is a much easier sell than a crate-wide thing and would be entirely reasonable. Haven't thought through all the details yet either, but feel free to open a pull request.


BUG: Navbar Not Visible for mobiles

Is there an existing issue for this?

[X] I have searched the existing issues

What went down?

The hamburger icon for the top navbar is not aligned properly and so it is not visible in mobiles or tabs.

I want to fix this issue and make the navbar properly aligned and redesign the navbar for more look and feel.

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@SUGAM-ARORA I have already completed this work, Please assign this issue to me so that I will raise pull request.

@saketh-05 Issue assigned to you


Where do I run the PowerShell script for ALM Accelerator manual setup?

Hi There,
Trying to run the PowerShell script.
Not clear where I run this - on my Windows Machine or within the PowerShell console in the Azure Portal?
When running in Azure Portal I get error on the 3rd line:
New-PowerAppManagementApp: The 'New-PowerAppManagementApp' command was found in the module 'Microsoft.PowerApps.Administration.PowerShell', but the module could not be loaded. For more information, run 'Import-Module Microsoft.PowerApps.Administration.PowerShell'.
Thankyou

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

ID: 5d58c244-3aaa-48e6-8b6d-205521a0bc52
Version Independent ID: 5d58c244-3aaa-48e6-8b6d-205521a0bc52
Content: Set up ALM accelerator for Microsoft Power Platform components manually - Power Platform
Content Source: power-platform/guidance/coe/setup-almacceleratorpowerplatform.md
Service: power-platform
Sub-service: guidance
GitHub Login: @mikefactorial
Microsoft Alias: v-mikeochs

@MattyBearBytes recommend running this on your machine. I've never tried running it in Azure Portal console, but you should be able to run it locally.

If you have any follow-up questions can you open an issue on the github.com/microsoft/coe-starter-kit. We tend to triage / respond quicker over there. Closing for now.


Control-drive letter?

In Windows filer you can switch drives with Control+DriveLetter, for example if I am on C: and want to go to D: all I have to do is press CTRL+D and it will jump there.  Is this functionality missing?

CTRL+ALT+Driveletter works here

It does, but why not just CTRL+Dirveletter?  This is from the NT 4.0 winfile help:
To change drive
Or press CTRL and the letter of the drive you want to change to.
CTRL+Driveletter works in NT 4.0 filer as well as CTRL+ALT+Driveletter

CTRL+Letter is used here to have hotkeys for menu entries

I see that now.  I'll have to get used to using ctrl+alt for drive changes then.

I know... but it was more uncommon when you could not do it at all a few years ago, so I added the ALT to have it back

Sounds great!  Thank you!

Somewhat related to this is that CTRL-ALT-M does not select drive letter M:.  It works for other drives like CTRL-ALT-D, etc. however.  Perhaps something about CTRL and M being involved (CR) are an issue?

Somewhat related to this is that CTRL-ALT-M does not select drive letter M:.  It works for other drives like CTRL-ALT-D, etc. however.  Perhaps something about CTRL and M being involved (CR) are an issue?

This must be a specific problem on your side since it works in
many of my installations

It is.  It looks like my backup software (Macrium) is capturing CTRL-ALT-M so it isn't being passed through to winfile.  Thanks again!


Import of products with variations bug

Description
Import of product with variations not working.
v<IP_ADDRESS> Stable Version
Additional context
I am trying to import product with 2 variations. My properties are already set up by CMS admin. I am enclosing CSV files:

product import and
product variations import.

import-files.zip
Here is the flow.

Importing products (works ok)

I am getting product id from URL and set it in CVS file, then importing variations (works ok)

Going to product and try to generate variations hangs

As you can see, my properties are already selected as expected.

But when trying to generate them, app hangs like this.

Is there any other/prefered way of importing product with variations?

This should have been fixed in this ticket.


Reconcile unicode characters in record attributes/searchable terms

We handle non-ASCII characters in database records by converting them to HTML escape sequences:
(however github's markdown renderer will display them as unicode -- the actual text of the value below is & folloewd by alpha followed by ;)

"label": "CXCL12α",

http://normalize.cancervariants.org/therapy/normalize?q=pubchem.substance:135651881
However, these values aren't properly handled either in the SwaggerUI interface (the label value above is converted to CXCL12&alpha) or via an HTTP request (the label value above gets the escape sequence cut entirely and the final query is CXCL12 which is an entirely different drug)

[ ] html.unescape --> urrlib.parse.unquote

From recent analysis of concept mismatches, some concept's child terms are failing to normalize to anything. Not all, but a number of these seem possibly due to special characters.
concept-mismatches-nan-ddb20220915.xlsx


Lint unit tests via harnessSources in Jakefile.js

A couple of preprocessing tests needed to change because of deleting trailing whitespace. Otherwise the changes are straightforward.

@andy-ms can you take a look?

:+1:

Printing lintTargets shows some duplicates. This could make linting take unnecessarily long. Could we just add a step to remove duplicates?

I'm not sure of the correct Javascript way to do this.
Gets rid of 3 dupes, protocol.d.ts, session.ts and editorServices.ts.

:+1:


Failed to fetch tiktok data. Make sure your tiktok url is correct!

Hello, author. Recently, I have started getting the following error for the API v1. Any suggestions on what the problem may be? Would really appreciate the issue to be resolved. Thanks in advance.

These changes to params.js worked for me. The hardest part is getting your personal iid. There's some methods with modded tiktok on android. Maybe the already presented iid will work with the new parameters, but I haven't tried it.
const _tiktokApiParams = (args) => {
    return {
        ...args,
        device_platform: 'android',
        os: 'android',
        ssmix: 'a',
        _rticket: Date.now(),
        cdid: "00000000-0000-0000-0000-000000000000", //CHANGE TO RANDOM UID
        channel: 'googleplay',
        aid: "1233",
        app_name: "musical_ly",
        version_code: "340303",
        version_name: "34.3.3",
        manifest_version_code: "2023403030",
        update_version_code: "2023403030",
        ab_version: "34.3.3",
        resolution: '1080*2400',
        dpi: 420,
        device_type: 'Pixel 7',
        device_brand: 'Google',
        language: 'en',
        os_api: '34',
        os_version: '14',
        ac: 'wifi',
        is_pad: '0',
        current_region: 'US',
        app_type: 'normal',
        sys_region: 'US',
        last_install_time:<PHONE_NUMBER>,
        timezone_name: 'America/New_York',
        residence: 'US',
        app_language: 'en',
        timezone_offse: '-14400',
        host_abi: 'armeabi-v7a',
        locale: 'en',
        ac2: 'wifi5g',
        uoo: '1',
        carrier_region: 'US',
        op_region: 'US',
        build_number: "34.3.3",
        region: 'US',
        ts: Date.now() / 1000,
        iid: "YOUR IID HERE", //CHANGE TO YOUR IID
        device_id: "YOUR DEVICE ID HERE", //CHANGE TO YOUR DEVICE ID
        openudid: randomChar("0123456789abcdef", 16)
    };
};

These changes to params.js worked for me. The hardest part is getting your personal iid. There's some methods with modded tiktok on android. Maybe the already presented iid will work with the new parameters, but I haven't tried it.
const _tiktokApiParams = (args) => {
    return {
        ...args,
        device_platform: 'android',
        os: 'android',
        ssmix: 'a',
        _rticket: Date.now(),
        cdid: "00000000-0000-0000-0000-000000000000", //CHANGE TO RANDOM UID
        channel: 'googleplay',
        aid: "1233",
        app_name: "musical_ly",
        version_code: "340303",
        version_name: "34.3.3",
        manifest_version_code: "2023403030",
        update_version_code: "2023403030",
        ab_version: "34.3.3",
        resolution: '1080*2400',
        dpi: 420,
        device_type: 'Pixel 7',
        device_brand: 'Google',
        language: 'en',
        os_api: '34',
        os_version: '14',
        ac: 'wifi',
        is_pad: '0',
        current_region: 'US',
        app_type: 'normal',
        sys_region: 'US',
        last_install_time:<PHONE_NUMBER>,
        timezone_name: 'America/New_York',
        residence: 'US',
        app_language: 'en',
        timezone_offse: '-14400',
        host_abi: 'armeabi-v7a',
        locale: 'en',
        ac2: 'wifi5g',
        uoo: '1',
        carrier_region: 'US',
        op_region: 'US',
        build_number: "34.3.3",
        region: 'US',
        ts: Date.now() / 1000,
        iid: "YOUR IID HERE", //CHANGE TO YOUR IID
        device_id: "YOUR DEVICE ID HERE", //CHANGE TO YOUR DEVICE ID
        openudid: randomChar("0123456789abcdef", 16)
    };
};

Does that still work for you?

I tried to change this data but nothing works. Also it is extremely hard to get device_id as I don't have any android/windows os to somehow get it.

@heismauri @exx0dusss
It worked for like a week and suddenly stopped 14 hours ago. So i guess they patched something again unfortunately.

Any updates?

I modified the code and added a cookie to the request, in addition to placing it inside an asyncRetry.
I started to notice a certain delay after using it for a while, if anyone knows how to solve it in a better way, below is the code with the changes.
`axios
.head(formatedUrl)
.then(async ({ request, headers }) => {
const cookie =
headers?.["set-cookie"]
?.find((cookie) => cookie.startsWith("ttwid="))
?.split(";")?.[0] ?? "";
    const { responseUrl } = request.res;
    const ID = responseUrl.match(/\d{17,21}/g);

    if (!ID || !ID?.length)
      return res.status(500).json({ error: "get awemeId error" });

    if (!cookie)
      return res.status(500).json({ error: "ttwid cookie not found" });

    const aweme_id = ID[0];

    let response = {} as AxiosResponse<any, any>;

    await asyncRetry(
      async () => {
        const res = await axios({
          url: tiktokapi(
            new URLSearchParams(
              withParams({
                aweme_id,
              })
            ).toString()
          ),
          method: "GET",
          headers: {
            Referer: formatedUrl,
            "User-Agent":
              "com.zhiliaoapp.musically/2022600030 (Linux; U; Android 7.1.2; es_ES; SM-G988N; Build/NRD90M;tt-ok/<IP_ADDRESS>)",
            Cookie: cookie,
          },
        });

        if (res?.status === 200) {
          if (res.data) {
            response = res;
            return response;
          }
        }

        throw new Error("Data is empty!");
      },
      { forever: true, minTimeout: 0, maxTimeout: 0 }
    );

    if (response?.status === 200) {
      const data = response.data?.aweme_list?.find(
        (v: { aweme_id: string }) => v.aweme_id === aweme_id
      );

      if (!data) return res.status(500).json({ error: "parse data error" });

      return res.status(200).json({
        ...parseTikTokData(data),
      });
    }...`

Please try again guys, I've updated it. And the funny thing is that you only need to change the method in the request from "GET" to "OPTIONS" XD

Now the error is different :(
{
status: 'error',
message: 'Cannot convert argument to a ByteString because the character at index 512 has a value of 8230 which is greater than 255.'
}

is this tiktok downloader v1?

Yes, it is. It is the most useful one for me

Yes, it is. It is the most useful one for me

you can contact me via telegram or whatsapp, so i can help with more details


[Infra] Add Ruby 2.7 tests

add new ruby 2.7.1 tests to find out if danger works correctly on this ruby version
fix changelog link

A lot of warnings about deprecated stuff, but tests work which is good sign. Some of the warnings can be fixed by updating dependencies, will try to do that in another PR.

Cool 👍


Source comments on #include line cause error in C++ mode

In C++ (x86-64 gcc 7.2), the following program:
#include <cmath>       // std::(sin, cos, atan, ..., log)

gives an error:
<stdin>:1:1: no absolute or relative includes please

I suppose it is attempting to prevent #include <../foo> but used a naive parsing.

Doops yes, very naive parsing, and more to put people off than the real protection (which is more in depth than a bit of text parsing!)


sage: import sympy 1.9 update patch

Motivation for this change
A sympy update recently landed on master via #141684. Some Sage tests need to be updated.
Things done

Built on platform(s)

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

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

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

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

ofBorg's check-meta seems broken on aarch64-linux:
while evaluating 'handleEvalIssue' at /var/lib/gc-of-borg/nix-test-rs-6/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-6/pkgs/stdenv/generic/check-meta.nix:188:38, called from /var/lib/gc-of-borg/nix-test-rs-6/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-6/pkgs/stdenv/generic/check-meta.nix:303:14:
Package ‘python3.9-debugpy-1.5.1’ in /var/lib/gc-of-borg/nix-test-rs-6/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-6/pkgs/development/python-modules/debugpy/default.nix:86 is not supported on ‘aarch64-linux’, refusing to evaluate.

This is unrelated to Sage.


trap incorrect non-scalar variable creation more clearly

If a nimbleFunction contains code like
x[1] <- 5
before x has been created as a vector, the error message from compileNimble is not helpful.

Fixed by PR #739


tmux prompt corruption with git_prompt_info

Inside a tmux session, if you use zsh with oh-my-zsh themes that use the git_prompt_info, it causes corruption of the prompt/line when in a Git repository directory.
Steps:

Enable theme with git_prompt_info (I use flazz)
Go into a directory with .git
You should notice the prompt contains some extra spaces, and typing causes the characters to appear in the space. You should additionally notice that if you try editing a line from history, it will be shifted a few spaces forwards making it hard to edit it correctly.

Expected:
No issue in step 3
Possible cause:
Users on the zsh IRC channel said it was probably caused by the output of the git_prompt_info command, and not caused by tmux itself.

I have the latest tmux version (1.5 on Archlinux 64), and I'm not using OMZ, and I see an annoying space in tmux only (with or without a .git in the directory)
My .zshrc https://github.com/kooothor/Dotfiles/blob/master/.zshrc
I think the bug comes from tmux itself...

To solve the bug, start tmux with the -u flag (to get unicode working).
More info here http://comments.gmane.org/gmane.comp.terminal-emulators.tmux.user/1885

Thanks @kooothor this worked on my zsh tmux session on archlinux.


[GsoC 2019] Copy previous caption & description

Steps to reproduce the problem:

In Android gallery, choose 2 pictures
Share to Commons app
Enter caption for first picture
Press Next
Press "Copy previous title & description"
Problem: caption does not get copied.

Also, the button should be renamed to "Copy previous caption & description"

I'll fix this in the next commit

Hey @nicolas-raoul, I have fixed the Issue here n the commit https://github.com/vanshikaarora/apps-android-commons/commit/be6b726699d3f8e07b290b0e393ceb65d074f467

It works now, thanks for fixing! :-)

Related: #3035


Output to JSON with no results found fails with IndexError

If no results are found from a search, then the output to JSON fails:
Traceback (most recent call last):
  File "E:\Anaconda3\Scripts\recipy-script.py", line 9, in <module>
    load_entry_point('recipy==0.3.0', 'console_scripts', 'recipy')()
  File "E:\Anaconda3\lib\site-packages\recipyCmd\recipycmd.py", line 128, in main
    search(args)
  File "E:\Anaconda3\lib\site-packages\recipyCmd\recipycmd.py", line 326, in search
    search_text(args)
  File "E:\Anaconda3\lib\site-packages\recipyCmd\recipycmd.py", line 356, in search_text
    res_to_output = results[-1]
IndexError: list index out of range

Fixed by 06d5694


Remove version: Eraser.Eraser version 6.2.2989

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/eraser/files/Eraser 6/6.2/Eraser <IP_ADDRESS>89.exe/download
OK
(Automated message - build 923)

Close with reason: Duplicate;


Add support for Flag enums, continued

Continuation of #599, as discussed.
I'm interested in how to fix the tests - I added extra logic on which metaclass and  __str__ method to use as per https://github.com/wjakob/nanobind/pull/599#discussion_r1689110819, but this breaks more tests than before.

I would like that arithmetic continue to print the associated member. The actual numbers in an enumeration are often an irrelevant implementation detail, and it's the identifier that matters. (This is really useful when getting dumps of function signatures in error messages or generating stubs)

Fair. I added Enum.__str__ as the canonical __str__ method for all generated enum classes.
That leaves the "invalid value" error, which is a consequence of the STRICT boundary together with Flag._flag_mask_ being set to 0 for generated nanobind enums based on enum.Flag -  it should likely be 2 ** num_members - 1, but I don't know how to obtain the size of a C++ enum. I will investigate.

That leaves the "invalid value" error, which is a consequence of the STRICT boundary together with Flag.flag_mask being set to 0 for generated nanobind enums based on enum.Flag - it should likely be 2 ** num_members - 1, but I don't know how to obtain the size of a C++ enum. I will investigate.

How about just AND-ing together all the fields as they are registered?
By the way, to understand how to add enum entries after the fact, I found the following project helpful: https://github.com/ethanfurman/aenum
It's written by the creator of the enum package and includes a function to extend an enum, in a way that works across various Python versions and enum implementations. I used as inspiration when writing the new C++-based wrapper of the builtin Python enums.

Is this ready for a review and potential merge?

yes! I could not request a review on my own, it would be great if you could take a look (and potentially others from the original PR) when you have time. Thanks!

Just as a question of understanding before I start addressing the newest comments: Will the proposed enum actually require 64 entries (for uint64_t), or is it more about the All value being at the end of uint64_t range?

I'm thinking of enumerations that include one member representing a mask that has all bits set, not necessarily an enum with 64 separate flag entries.

I added tests for __str__/__repr__ as well as an unsigned uint64_t flag test case. The only failing test on my local machine is t.from_enum(t.UnsignedFlag.C) == 0xffffffffffffffff, presumably because of the overflow UB.
Is the coverage okay now? I went off the existing enum test cases (test 01), let me know if you would like to see more.

That's a confusing error message, too. It says "incompatible function arguments", but the invoker type is in the list of overloads (no. 4)?

Indeed, that's something not specific to enums. An even more confusing case are nd-arrays with an incompatible shape or layout. There is a tradeoff here: nanobind could have a complex system to communicate why an overload is not selected, but it would come at a cost that I think is incompatible with the design goals of this library.

No, I think I'm done for the moment. Thanks for the thorough reviews!

Thank you very much!


Could not get unknown property 'packageForR' for task

AS version: 3.1
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
Butterknife version：8.8.1
I update the androidstudio to 3.1, and found an error.
when you add "apply plugin: 'com.jakewharton.butterknife'" to any module ,you will get an error:
Could not get unknown property 'packageForR' for task ':app:processDebugResources' of type com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask.

Can I answer in Chinese

I found a solution to change the version of 'gradle_plugin' to 3.0.0， because it seems that the upgrade of 'gradle_plugin' has caused some of the fields to be lost。

use 9.0.0-SNAPSHOT

@zhupengxiang  是的，这样也能解决，将gradle_plugin改为这个版本


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/528 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target.git

Docs Build status updates of commit f71fc6a:
:clock10: Pending: waiting for processors (24 builds ahead of you)
:warning: Docs Build is busy, currently there are 24 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit f71fc6a:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-ServiceAccountCannotAccessRepository] Your repository https://github.com/VSC-Service-Account/docs-archive-test-source has enabled Docs Build service account. It seems that at least one of the accounts, e2ebd2, does not have Read permission to the repo. Please ask your repo admin to grant correct permission to service accounts (refer to this document: https://review.docs.microsoft.com/en-us/engineering/projects/ops/engdocs/how-to-grant-service-account-permission-in-your-repository?branch=master) and then retry the build.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


FormCollection does not seem to work

Trying to use FormCollection on Post actions throws a KeyNotFoundException.
I made a sample showing the error.

@vncastanheira could you push the sample to a github repository? That's more convenient than downloading the zip.

There it is, the repository.

@ajaybhargavb

Taking FormCollection as a parameter is not supported (yet) by MVC 6: https://github.com/aspnet/Mvc/issues/979 :dancers:
That said, it would be really trivial to add your own binder for FormCollection.

Sure!


Update .crowdin.yml

Preventing extra translated files creation in the PR

Just noticed that some extra files are included in the PR, proposed change should fix it
https://github.com/Crazy-Marvin/PimplePopper/pull/133/files

Thanks!


Google.Cloud.Logging.Nlog - Log correlation with traces

Hi!
Is your feature request related to a problem? Please describe.
I can't correlate stackdriver logs in the tracing panel inside the google console.

I think that's because of the lack of fields like trace, traceId mentioned here https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry
I tried to find in code place where LogEntry is filled and eg. field trace exist, but it's skipped at GoogleStackdriverTarget during object creation.
         var logEntry = new LogEntry             {                 Severity = s_levelMap[loggingEvent.Level],                 Timestamp = ConvertToTimestamp(loggingEvent.TimeStamp),                 LogName = _logName,                 Resource = _resource,             };
And at other places, algorithm flow fills labels, resources section, and nothing else.
Describe the solution you'd like
Giving the possibility to fill LogEntry fields required for tracing.
If it's possible to then sorry for asking. However, in this case, documentation should be updated.

Assigning to Amanda who knows more about the relationship between logging and tracing than I do. I strongly suspect this will be tricky to do without just providing some kind of interface (to be implemented by the user) for "here's how I discover the current trace".

@jskeet or by convention. Do you want to place a trace in the log entry? Then we can look at the JSON payload and assign the same values to it.
trace from payload -> trace inside logEntry
Less complicated i think. Or it'd be better to copy these fields from contextproperties

We do this automatically for the Google.Cloud.Diagnostics.AspNetCore* libraries, which do both tracing and logging (not suggesting you change to that by the way). I'd have to take a look at the NLog lib in more detail, to confirm the best way to do this, but I believe that indeed, something as what @jskeet  suggests will be necessary, and then we can obtain the trace values provided by that user implemented interface and add them to the LogEntry. I could look into providing an out of the box implementation of that interface for Google Cloud Trace.
I'll take a look this afternoon and confirm.

@orchowski: I don't think I'd want to tie this to using a JSON payload. It would perhaps be reasonable to have a property that could be specified in NLog entries that would be extracted automatically, but I'm not sure yet.

OK, first for associating log entries to traces we are talking about three values: TraceId, SpanId and TraceSampled (false indicates either that the trace was not sampled on the backend or that whether it was sampled or not was unknown at the time of writing the log entry). SpanId and TraceSampled don't need to be set, but if we are going to add the feature, we should support it fully. For the two options discussed above (properties and interface) we would define the type TraceContextForLogEntry that would contain these 3 values.
As for the options some intial rought thoughts (granted I might be missing a lot here, since I'm not very familiar with NLog):

Have a special property that if detected we extract a TraceContextForLogEntry and set the corresponding values in the LogEntry. This is fairly straightforward both for us to implement and for users to use. Still there a few loose ends:

Should that property be "removed" after use so that it's not added to the "normal" set of properties?
What if we remove it and there are references to it on layout, implying that the user expects to see it on the "normal" property set or somewhere else.
What if we don't remove it, and it's also added as normal property?
Should we add a config flag to remove it from normal properties?

I end up not liking adding "special" properties. This is something that could snowball if similar requests start to come in.

Have a ITraceContextProvider interface that users can implement and specify the type of their implementation in the config file. The problem here is how to inject this provider into the GoogleStackdriverTarget. And more importantly, how to inject it in a way that this provider can get its own dependencies through DI. Injecting dependencies in NLog is not straightforward and requires user code for configuring the logger, appart from the XML config file.

I'm favouring using NLog DI to inject an Microsoft.Extensions.DependencyInjection.IServiceProvider from which we can obtain the ITraceContextProvider implementation that the user specifies in config. We would have to take a dependency on Microsoft.Extensions.DependencyInjection though. (I'm thinking that users can wrap their own DI mechanism on an implementation of IServiceProvider)
An alternative is to have the user directly inject the ITraceContextProvider using NLog DI mechanism, but if other similar providers are needed in the future, constructor overload will explode. And we would be pushing solving DI to the user very strongly.

Thoughts welcome.

For NLog the expected approach would be the use of Layout-properties on GoogleStackdriverTarget.
The user can then configure the Layout-property to use the wanted layoutrenderer, and the user can also register custom layoutrenderers to capture context.

@snakefoot thanks for the info. It did feel like I was going down a rabbit hole earlier. I'll reply in more detail tomorrow.

@orchowski I might be able to work on this some next week, but I can't be sure right now. If it's not next week, then I won't get to it till next year.
@snakefoot , again, thanks for the info.

Maybe create a new NLog specific nuget-package that knows about Google.Cloud.Diagnostics.Common.ContextTracerManager and Google.Cloud.Diagnostics.Common.TraceHeaderContext.

We probably wound't do that. After all, Google.Cloud.Diagnositcs.* is just one way in which traces can be managed. We even, recently, got a feature request (#5044) to support external traces in the logging component of Google.Cloud.Diagnostics.*.
I've been thinking more about providing some out of the box trace provider for Google Cloud Trace in the NLog lib, and really, we could only (reliably) get the trace context as specified on the headers of the request, but that wouldn't be accurate because more spans could have been created during the request (through Google.Cloud.Diagnostics.* or anything else). So I feel more confortable adding an example showing how to extract the Google Cloud Trace info from headers and configure NLog to include those in the log entry than anything else.

Notice Microsoft DotNet have something called System.Diagnostics.Activity.Current that contains TraceId + SpanId. If Google-Cloud integrated nicely with System.Diagnostics.Activity.Current then NLog.DiagnosticSource might be all you need.

Yep, something that we might look at in the future, but not soon enough to address this FR.

@amanda-tarafa get the trace context as specified on the headers of the request

The NLog.Web.AspNetCore-nuget-package contains a layoutrenderer called ${aspnet-request-headers:HeaderNames=MyHeaderName}. Maybe it is just a matter of transforming the contents of the Google-Request-Header ?

Created #6024 as an example of how to implement this.

@orchowski, can you take a look at @snakefoot's PR #6024 and check that something like that would work for you. We can resolve separately the matter of how to extract Google Trace Trace Id and Span Id from the header or provide it in any other way.
Thanks!

Ok but tomorrow

Yep no rush at all.

Reopening, I'll add documentation before closing.

Guess with help from NLog.Web.AspNetCore then one could do this:
[LayoutRenderer("aspnet-google-traceid")]
[ThreadSafe]
public class GoogleManagedTracerRenderer : AspNetLayoutRendererBase
{
      protected override void DoAppend(StringBuilder builder, LogEventInfo logEvent)
      {
           var managedTracer = HttpContextAccessor?.RequestServices?.GetRequiredService<IManagedTracer>();
           string traceId = managedTracer?.GetCurrentTraceId();
           if (!string.IsNullOrEmpty(traceId))
           {
               builder.Append(traceId);
           }
           else
           {
               // TODO Make fallback to System.Diagnostics.Activity.Current
           }
      }
}

[LayoutRenderer("aspnet-google-spanid")]
[ThreadSafe]
public class GoogleManagedTracerRenderer : AspNetLayoutRendererBase
{
      protected override void DoAppend(StringBuilder builder, LogEventInfo logEvent)
      {
           var managedTracer = HttpContextAccessor?.RequestServices?.GetRequiredService<IManagedTracer>();
	   ulong? spanId = managedTracer?.GetCurrentSpanId();
           if (spanId > 0)
           {
               builder.Append(spanId.Value.ToString("X"));
           }
           else
           {
               // TODO Make fallback to System.Diagnostics.Activity.Current
           }
      }
}

Ah but that requires a dependency on Google.Cloud.Diagnostics.Common for the managed tracer.
I was thinking that with the layout renderer you mentioned a few comments up for accessing headers of ASP.NET Core requests and the replace layout renderer, you don't need the dependency and can probably skip having to write these classes. I haven't had time to test this though.
Here's the regular expression for it.

Yes using the header X-Cloud-Trace-Context directly would be more elegant:

X-Cloud-Trace-Context: 6518720b40e1efacf2299758d229210a/14866474463603563926

That uses the following format:

"X-Cloud-Trace-Context: TRACE_ID/SPAN_ID;o=TRACE_TRUE"

https://cloud.google.com/trace/docs/setup#force-trace
Maybe one could apply ${replace:regex=true} around ${aspnet-request-headers:headerNames=X-Cloud-Trace-Context}

Yep exactly those were my thoughts. Using a very similar regex to the one we have in Diagnostics, the one I linked above, I was thinking it could be possible to capture and replace by empty everything but the trace ID, then everything but the span ID and then everything but the sampling mask. I see if I can try that soon.

Maybe something like this:
<variable name="cloud-trace-regex" layout="^([A-Fa-f0-9]\{32}\)/([0-9]+)\$" />
<variable name="cloud-trace-header" layout="${aspnet-request-headers:headerNames=X-Cloud-Trace-Context}" />
<variable name="cloud-trace-traceid" layout="${replace:inner=${cloud-trace-header}:regex=true:searchFor=${cloud-trace-regex}:replaceWith=\$0}" />
<variable name="cloud-trace-spanid" layout="${replace:inner=${cloud-trace-header}:regex=true:searchFor=${cloud-trace-regex}:replaceWith=\$1}" />

Alternative to the slow RegEx could be this more crude way:
<variable name="cloud-trace-header" layout="${aspnet-request-headers:headerNames=X-Cloud-Trace-Context}" />
<variable name="cloud-trace-traceid" layout="${substring:inner=${cloud-trace-header}:length=32}" />
<variable name="cloud-trace-spanid" layout="${substring:inner=${cloud-trace-header}:start=33:length=16}" />

This has been released in Google.Cloud.Logging.NLog v3.3.0.
Thanks @orchowski for the request and @snakefoot for the work!

@snakefoot Thanks for the idea, I implemented your recommendation but have some suggestions for future reference:

we need an offset already for the trace id extraction as the extracted value includes the header name
instead of layout we should use value in the variable definition

<variable name="cloud-trace-header" value="${aspnet-request-headers:headerNames=X-Cloud-Trace-Context}" />
<variable name="cloud-trace-traceid" value="${substring:inner=${cloud-trace-header}:start=22:length=32}" />
<variable name="cloud-trace-spanid" value="${substring:inner=${cloud-trace-header}:start=55:length=16}" />

@amanda-tarafa Thank you for all your support around here. I just wanted to add that it was really hard for me to wire everything together. It would be nice if there would be a bit more documentation on how to connect google logging and tracing, e.g. on the google nlog package some information on how to use the google tracing header.

@danielwinkler Thank you for the feedback. Have fixed my original post, sorry about the confusion.

@danielwinkler I'll try to add some docs when I'm back in the office in January. Thanks!


Added signature verification helper to Crypto

Added signature verification
Refactored code dealing with libsecp256k1 functions
Added hashSHA3_256() helper
Added documentation to Crypto

@DmitryBespalov Thank you for contributing to EthereumKit. this is very helpful. I willl review this PR over this weekend.


[GSoD'19] in-product text guidelines

Summary of changes

New file documentation-UItext-guidelines.rst, which contains guidelines for writing and reviewing in-product text.
New folder images together with the following new image files: action.png, cheatsheet.png, field.png, help.png, label_after.png, label_before.png, menu.png, title.png, and tooltip.png. All of these image files are used in documentation-UItext-guidelines.rst
Updated file core.rst, to add a link to the new documentation-UItext-guidelines.rst in the Documentation Style Guide section of the Core handbook.

Thank you for your review @wiersgallak . I made the text changes and the formatting changes you suggested. I also added some content right after the 'Messages' subheading to include recommendations for voice and tense. Do they look okay?

This issue has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!
/cc @jasonblais @hanzei

This issue has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!
/cc @jasonblais @hanzei

The third bullet point under "General principles" is in bold+italics; it shouldn't be. I'll correct that when making the next round of updates.

Huge thanks @AninditaBasu for the updates! I left a few minor proposals above, Eric's feedback captures everything quite well already

Nice work @AninditaBasu hope the review comments are useful,

Thank you @esethna , very useful comments :)
I incorporated many of the changes suggested by you, @jasonblais, and @wiersgallak, and left questions of my own for some of them. Take a look?


Help wanted , installation

Hi, I want to install chapter-list.lua. as you mentioned it needs the scroll-list.lua.
I have the mpv-portable folder, I've created the
script-module and put the script in it, but nothing works.
Can you guide me step by step what to do?

You need to put scroll-list.lua into the script-modules folder and then chapter-list.lua into scripts folder.


ts 6133 '$join' is declared but its value is never read.

Bug Report
Note that, the bug you're reporting may have registered in the issues by another user. Even the bug you're reporting may have been fixed in the @next version. In such reasons, I recommend you to check the old issues and reproduct your code with the @next version before publishing the bug reporting issue.
`npm install --save-dev typia@next`

When the same error occurs even in the @next version, then please fill the below template:
📝 Summary
Write a short summary of the bug in here.

Typia Version: 5.2.0-dev.20231007
Expected behavior:
Actual behavior:

Write detailed description in here.
⏯ Playground Link
https://typia.io/playground
Visit above playground and write code occuring the bug.
After that, copy and paste link address of that.

Example Link
https://typia.io/playground/?script=JYWwDg9gTgLgBDAnmYBDOAzKERwERIqp4DcAUGcAHYwCmUGqAxrXAJICytIARvXAG8ycEXAD0AKglxhouNIACGaCFTwAruuAATGXPli9onQC44AZxhRqAc3KyRk6Q5GLlUVfG6pgAGyOiEoYu3n5mltZUdhRyTi7ycAqErFo08Yog1KDquABMAAzpibQAHky+6ubAAG60HKgl2bgAjPmF+kEuqDa0ZlQ5fFDkcmCoULQ0Zpzcg3AAPnD9vr7DokwAFn7a41RTXLz0ANoAuuQAvhRiYgC0t9dkV+wAyg83d2SEaAB0TONqtGxzAAeaYHKAAPgAFABKchAA

💻 Code occuring the bug
import { createAssert } from 'typia'

interface Reproduce {
  // xxx: Record<string, string>
  xxx: Record<string, unknown>
}

const assertReproduce = createAssert<Reproduce>()

export { assertReproduce }

    if (false === __is(input))
        ((input: any, _path: string, _exceptionable: boolean = true): input is Reproduce => {
            const $guard = (createAssert as any).guard;
            const $join = (createAssert as any).join;

Related
https://github.com/samchon/typia/issues/793

Be fixed maybe.


README: add contributing section

This section includes a link to the CONTRIBUTING.md guide.
Signed-off-by: Fernando Fernandez Mancera<EMAIL_ADDRESS>

Coverage remained the same at 88.796% when pulling dd5d92c7eccafd96df32fd21322fb34c98aa2c0d on ffmancera:contributing_section into 9eefdee101d277dfcc0ed3f67a00359ab1bdfa27 on nmstate:master.


Simplify audioquality option parsing logic.

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
A minuscule code improvement while parsing audioquality option.

I don't see any point in this change.

You don't think that the logic is just a wee clearer this way?

No, it's not cleaner. I just want to strip k and K. I don't want to lowercase it.

How about: .strip('Kk'). Such a usage is supported since Python 2.2


downloadTool does not support redirects

Hello,
I'm currently using the tool lib to install tool dependencies for our custom build task. I'm currently struggling with the problem, that we would like to download the external tools directly from GitHub releases. As you probably know, the logical download URL gets redirected to a blob location.
If this is the case, the download function fails because the response is a 302 and not 200.  I think this is a very common case that download links are often redirected and that the download function should support that.
Thanks for your feedback!
Marc

we will fix this

That would be great. Any ETA?

@bryanmacfarlane I can make this change after we get my current PR merged. It touches the same method.

@marc-mueller Could you try unzipping this file, and replacing the typed rest client in your node_modules folder and letting me know if it solves the redirect issue? Thanks!
typed-rest-client.zip

Sorry, was out-of-office. Will have a look at it.

We are pushing a change shortly that will make this library handle redirects! Will let you know.

Great!

Any news on that issue?

@marc-mueller Sorry for not updating you, we are working on it right now with #28. As soon as that's merged we will push a new version to NPM and redirects should work.

@marc-mueller The change has been merged, can you get the latest version (0.5.1) and test and see if it resolves your issue?

Thanks for the update, it looks like the redirect is working, but our code is failing since the update. What we do is a download and then an extract of the downloaded zip file.
 let downloadLocation = await to.downloadTool(installerUrl);
                tl.debug(`download locaton: ${downloadLocation}`)
                let extractedLocation = await to.extractZip(downloadLocation);
                tl.debug(`extracted location: ${extractedLocation}`)
                let cacheDir = await to.cacheDir(extractedLocation, 'GitVersion', downloadVersion);
                tl.debug(`cache location: ${cacheDir}`)
                return cacheDir;

But it fails with a strange path error.
2018-03-19T13:26:49.7238949Z At line:1 char:111
2018-03-19T13:26:49.7240884Z + ... catch { } ; [System.IO.Compression.ZipFile]::ExtractToDirectory('D:\a ...
2018-03-19T13:26:49.7241905Z +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2018-03-19T13:26:49.7350394Z     + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordE
2018-03-19T13:26:49.7497928Z    xception
2018-03-19T13:26:49.7507370Z     + FullyQualifiedErrorId : InvalidDataException
2018-03-19T13:26:49.7620877Z
```

@marc-mueller Will take a look at this today.

Please open a separate issue if the redirects are working.

Sure, I created a new issue #35 for the above error. I just wanted to point out that I could not test the whole process since our task is not able to work correctly since we updated the library. It does look like the redirect issue is solved but working with the downloaded file fails.


Code cleanup

No functionality changes
Sorts imports, fixes grammar/spelling, Uptrack -> UpTrack to match DownTrack, leads comments with spaces, defer called in loop, and other code inspections

@frostbyte73 Thank you! How did you catch all of that? Is there any tool that helps with this?

In GoLand, Code menu -> Inspect Code... gives a full report, or Code Cleanup... runs all the simple auto-fixes like sorting imports or spaces in front of comments