stages/dracut: Add functionality to build initoverlayfs with dracut

As an alternative to just initramfs. Upstream initoverlayfs project:
https://github.com/containers/initoverlayfs

Nice and clean but I'd love to see a test for this.  Looks good, but I have no idea if it works :laughing:

Nice and clean but I'd love to see a test for this. Looks good, but I have no idea if it works 😆

We will be testing thing as part of our sample-images CI builds once this is made available:
https://gitlab.com/CentOS/automotive/sample-images

Fwiw, I would love to see a small test for this functionality, I created
0001-stages-dracut-add-small-unittest-for-initoverlayfs.patch.txt
that validates that the option is running the expected thing. Ideally also a test in test/run/test_stages.py:test_dracut, I will look into this.

I wrote a small "stage" test for this now that does an end-to-end type test (it will need tweaks but is a useful starting point) for the feature (see attached patch)
0002-test-add-stage-integration-test-for-initoverlayfs-fe.patch.txt
Unfortunately this fails during the creation of the image with an error that --no-hostonly  is unknown:
org.osbuild.dracut: e30a0aaa9351c35b3a70d8529fe33de68265af135daef250517b34296953684c {
  "kernel": [
    "6.6.4-200.fc39.x86_64"
  ],
  "initoverlayfs": true
}
Building initramfs for 6.6.4-200.fc39.x86_64
+ [[ 8 -gt 0 ]]
+ case $1 in
+ echo 'Unknown option --no-hostonly'
Unknown option --no-hostonly
+ exit 1
Traceback (most recent call last):
  File "/run/osbuild/bin/org.osbuild.dracut", line 228, in <module>
    r = main(args["tree"], args["options"])
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/run/osbuild/bin/org.osbuild.dracut", line 217, in main
    subprocess.run(["/usr/sbin/chroot", tree, bin,
  File "/usr/lib64/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/sbin/chroot', '/run/osbuild/tree', '/usr/bin/initoverlayfs-install', '--no-hostonly', '--kver', '6.6.4-200.fc39.x86_64', '--force', '-v', '--show-modules', '--no-early-microcode', '--reproducible']' returned non-zero exit status 1.

⏱  Duration: 0s

-- END ---------------------------------
FAILED

so the way our dracut stage drives dracut seems to not quite align with the way initoverlayfs-install expects it?

I wrote a small "stage" test for this now that does an end-to-end type test (it will need tweaks but is a useful starting point) for the feature (see attached patch)
0002-test-add-stage-integration-test-for-initoverlayfs-fe.patch.txt
Unfortunately this fails during the creation of the image with an error that --no-hostonly is unknown:
org.osbuild.dracut: e30a0aaa9351c35b3a70d8529fe33de68265af135daef250517b34296953684c {
  "kernel": [
    "6.6.4-200.fc39.x86_64"
  ],
  "initoverlayfs": true
}
Building initramfs for 6.6.4-200.fc39.x86_64
+ [[ 8 -gt 0 ]]
+ case $1 in
+ echo 'Unknown option --no-hostonly'
Unknown option --no-hostonly
+ exit 1
Traceback (most recent call last):
  File "/run/osbuild/bin/org.osbuild.dracut", line 228, in <module>
    r = main(args["tree"], args["options"])
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/run/osbuild/bin/org.osbuild.dracut", line 217, in main
    subprocess.run(["/usr/sbin/chroot", tree, bin,
  File "/usr/lib64/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/sbin/chroot', '/run/osbuild/tree', '/usr/bin/initoverlayfs-install', '--no-hostonly', '--kver', '6.6.4-200.fc39.x86_64', '--force', '-v', '--show-modules', '--no-early-microcode', '--reproducible']' returned non-zero exit status 1.

⏱  Duration: 0s

-- END ---------------------------------
FAILED

so the way our dracut stage drives dracut seems to not quite align with the way initoverlayfs-install expects it?

This package, the Fedora 39 rpm, is not up to date with upstream, it's expected to fail.

We are probably not going to backport either. I would suggest merging this as it's blocking other MRs and add the test at a later point once the corresponding changes have propagated to Fedora.
This change will not break any existing osbuild scripts as initoverlayfs defaults to false.

This package, the Fedora 39 rpm, is not up to date with upstream

Does that mean it's already available in F39? We can just update the repos used in the test to newer snapshots (we made new ones on Friday).

Integration of initoverlayfs with Fedora will probably be a Fedora 41 kind of thing... But we am currently using it with osbuild via the Automotive SIG osbuild manifests...

@mvo5 isn't the test doomed to fail given that --no-hostonly is not yet available in Fedora? Or am I missing something?

Yeah it would just fail, I don't see the harm in this MR, the option is defaulted to False, so people who are gonna use this have to explicitly set it to True (the people with the correct rpms)...

@mvo5 isn't the test doomed to fail given that --no-hostonly is not yet available in Fedora? Or am I missing something?

Yeah, I was just wanted to get confirmation from someone more experienced that we are okay with merging this even though we don't have a full end-to-end test (yet) :)

I think I'm fine with that given that this is a new technology, not yet available downstream. We can of course pull the package from somewhere else, but that feels expensive... I think that not blocking this initiative is more important to me. I agree though that this test SHOULD be added when the package lands in a "mainstream" repository.

I changed a variable name to initfs_bin , think pylint didn't like the bin variable name


chore(ci): 🔧 update semantic release

Updates semantic release to a newer version

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Status jet benches

This issue tracks our progress on the Elements jet benchmarks.
At the moment, all jets have a generic benchmark with random Simplicity values as input and a dummy Elements environment (that should not be used by the jet). If a jet needs special inputs or environments, then this should be noted down in the following table. If a benchmark is fully implemented, then the corresponding checkbox should be ticked.

Jet
Implemented
Special treatment

Add32
[x]

AnnexHash
[ ]

AssetAmountHash
[ ]

Bip0340Verify
[x]
xonly pubkeys

BuildTapbranch
[ ]

BuildTapleafSimplicity
[ ]

CalculateAsset
[ ]

CalculateConfidentialToken
[ ]

CalculateExplicitToken
[ ]

CalculateIssuanceEntropy
[ ]

CheckLockDistance
[ ]

CheckLockDuration
[ ]

CheckLockHeight
[ ]

CheckLockTime
[ ]

CheckSigVerify
[ ]

CurrentAmount
[ ]

CurrentAnnexHash
[ ]

CurrentAsset
[ ]

CurrentIndex
[ ]

CurrentIssuanceAssetAmount
[ ]

CurrentIssuanceAssetProof
[ ]

CurrentIssuanceTokenAmount
[ ]

CurrentIssuanceTokenProof
[ ]

CurrentNewIssuanceContract
[ ]

CurrentPegin
[ ]

CurrentPrevOutpoint
[ ]

CurrentReissuanceBlinding
[ ]

CurrentReissuanceEntropy
[ ]

CurrentScriptHash
[ ]

CurrentScriptSigHash
[ ]

CurrentSequence
[ ]

Decompress
[ ]

Eq256
[x]

Eq32
[x]

FeAdd
[ ]

FeInvert
[ ]

FeIsOdd
[ ]

FeIsZero
[ ]

FeMultiply
[ ]

FeMultiplyBeta
[ ]

FeNegate
[ ]

FeNormalize
[ ]

FeSquare
[ ]

FeSquareRoot
[ ]

FullAdd32
[x]

FullMultiply32
[x]

FullSubtract32
[x]

GeIsOnCurve
[ ]

GeNegate
[ ]

GejAdd
[ ]

GejDouble
[ ]

GejGeAdd
[ ]

GejGeAddEx
[ ]

GejInfinity
[ ]

GejIsInfinity
[ ]

GejIsOnCurve
[ ]

GejNegate
[ ]

GejNormalize
[ ]

GejRescale
[ ]

GejXEquiv
[ ]

GejYIsOdd
[ ]

Generate
[ ]

GenesisBlockHash
[ ]

InputAmount
[ ]

InputAmountsHash
[ ]

InputAnnexHash
[ ]

InputAnnexesHash
[ ]

InputAsset
[ ]

InputOutpointsHash
[ ]

InputPegin
[ ]

InputPrevOutpoint
[ ]

InputScriptHash
[ ]

InputScriptSigHash
[ ]

InputScriptSigsHash
[ ]

InputScriptsHash
[ ]

InputSequence
[ ]

InputSequencesHash
[ ]

InputUtxosHash
[ ]

InputsHash
[ ]

InternalKey
[ ]

Issuance
[ ]

IssuanceAsset
[ ]

IssuanceAssetAmount
[ ]

IssuanceAssetAmountsHash
[ ]

IssuanceAssetProof
[ ]

IssuanceBlindingEntropyHash
[ ]

IssuanceEntropy
[ ]

IssuanceRangeProofsHash
[ ]

IssuanceToken
[ ]

IssuanceTokenAmount
[ ]

IssuanceTokenAmountsHash
[ ]

IssuanceTokenProof
[ ]

IssuancesHash
[ ]

Le32
[x]

LinearCombination1
[ ]

LinearVerify1
[ ]

LockTime
[ ]

Low32
[x]

Multiply32
[x]

NewIssuanceContract
[ ]

NonceHash
[ ]

NumInputs
[ ]

NumOutputs
[ ]

One32
[x]

OutpointHash
[ ]

OutputAmount
[ ]

OutputAmountsHash
[ ]

OutputAsset
[ ]

OutputNonce
[ ]

OutputNoncesHash
[ ]

OutputNullDatum
[ ]

OutputRangeProof
[ ]

OutputRangeProofsHash
[ ]

OutputScriptHash
[ ]

OutputScriptsHash
[ ]

OutputSurjectionProof
[ ]

OutputSurjectionProofsHash
[ ]

OutputsHash
[ ]

ParseLock
[ ]

ParseSequence
[ ]

PointVerify1
[ ]

ReissuanceBlinding
[ ]

ReissuanceEntropy
[ ]

ScalarAdd
[ ]

ScalarInvert
[ ]

ScalarIsZero
[ ]

ScalarMultiply
[ ]

ScalarMultiplyLambda
[ ]

ScalarNegate
[ ]

ScalarNormalize
[ ]

ScalarSquare
[ ]

Scale
[ ]

ScriptCMR
[ ]

Sha256Block
[ ]

Sha256Ctx8Add1
[ ]

Sha256Ctx8Add128
[ ]

Sha256Ctx8Add16
[ ]

Sha256Ctx8Add2
[ ]

Sha256Ctx8Add256
[ ]

Sha256Ctx8Add32
[ ]

Sha256Ctx8Add4
[ ]

Sha256Ctx8Add512
[ ]

Sha256Ctx8Add64
[ ]

Sha256Ctx8Add8
[ ]

Sha256Ctx8AddBuffer511
[ ]

Sha256Ctx8Finalize
[ ]

Sha256Ctx8Init
[ ]

Sha256Iv
[ ]

SigAllHash
[ ]

Subtract32
[ ]

TapEnvHash
[ ]

Tapbranch
[ ]

TapbranchHash
[ ]

TapleafHash
[ ]

TapleafVersion
[ ]

TxHash
[ ]

TxIsFinal
[ ]

TxLockDistance
[ ]

TxLockDuration
[ ]

TxLockHeight
[ ]

TxLockTime
[ ]

Verify
[ ]

Version
[ ]

Never mind, it looks like Github flavored markdown can't do this. I'll leave it to the philosophers whether this is a bug in github, or whether using a totally unspecified document "format" is the real bug.

https://github.com/sanket1729/rust-simplicity/tree/benches  has the majority of the jets sighashall chapter from tech report.
I and Chris have decided to split up the jets, so we can proceed on this faster. He will be focussing on the secp jets, and I will be looking at hashing jets along with other elements jets.


Fix plural-s for cmd-clean-reply and cmd-remove-reply

After creating your pull request, tick these boxes if they are applicable to you.

[x] I have tested my changes against the review branch (the latest developmental version), and this pull request is targeting that branch as a base
[x] I have tested my changes on Python 3.5.3 or higher

Description
Fixes the logic that determines if a plural "s" is added to item/items or message/messages in cmd-remove-reply and cmd-clean-reply, previously producing messages like "Cleaned up 0 message".
Somewhat related, I feel like the "item(s)"  in cmd-remove-reply (l. 2944, entry_text) should be part of the translation string such that only the "s" is added as needed, like for cmd-clean-reply. This would allow for better translations that include custom translations for the word "item" but would also require changes to all existing translation files.
If that sounds reasonable to you, I could add the change here and adjust all translation files to produce the same output as before, from where they could be individually updated to provide an actual translation of "item".
Cheers!
Related issues (if applicable)

Looks like a good change to me, all translation files are done by volunteers however and as far as I know we have no sure fire way of communication with them it would be up to users to adjust the translation files as needed, I do think you should add it though, could you also please run black over any changes you make? python -m pip install black then python -m black {file/s}

Sure can, I'll change this to a draft for now

Seeing as you're already making changes, I think perhaps we could additionally add some logic for if no messages are deleted, something like if len(deleted) < 1: "No messages have been cleared" of course if you don't feel up to that, that's fine, just a suggestion.

Hmm, I personally feel like that wouldn't be worth the added complexity — especially since you'd still need the "s" check, and it would 'break' existing translations. So I think I'll leave it at that for now, but thanks for the suggestion :)
The last commit I added should not change visible behaviour at all. I've only tested the English version, but the change is basically the same in all files so there shouldn't be any issues.


[untyped] not in docs

As far as I can tell you can still use [untyped] in config but it is not documented in the flow docs.

Oh, true. Anyone welcome to PR on this one.


/security/ not accessible via the navigation

The "Report a Security Vulnerabiity" takes user to https://kubernetes.io/docs/reporting-security-issues/ which redirects to https://kubernetes.io/security/.
However there are no way to directly land https://kubernetes.io/security/ from the sidebar.

Issue no longer valid, closing.


Harbor + Redis meshed with Linkerd

Harbor Team: We are provisioning a Harbor HA registry in Rancher RKE2 backed by Spotahome Redis, PostgreSQL, and Minio S3. All meshed with Linkerd. The Redis cluster never fully stabilizes. This in turn renders Harbor un-stable. I created an issue on the Spotahome github repo (https://github.com/spotahome/redis-operator/issues/390) but there doesn't appear to be a lot of traffic there.
I wondered if there is an exemplar for running Harbor HA as described meshed with Linkerd. (Specifically the Redis component.) Thank you.

Whether your problem can be solved by deploying redis cluster mode. @aceeric


xorg.libX11: 1.6.12 -> 1.7.0 (security)

Motivation for this change
https://lists.x.org/archives/xorg-announce/2020-November/003065.html
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

[x] Fits CONTRIBUTING.md.

I expect we'll also want something in 20.09, but I'm not sure how much to hurry with that.  And 1.7.0 maybe brings a bit too many changes for a stable release, even if though no real incompatibilities were announced.


cephfs: implement getFscID() with go-ceph

Reduce the numbed of ceph fs command executions, and use go-ceph with a cached/shared connection.
Fixes: #1550
~Do-Not-Merge: depends on #1545, which needs to get merged first~

/retest ci/centos/mini-e2e-helm/k8s-1.18

/retest ci/centos/mini-e2e/k8s-1.19

/retest ci/centos/upgrade-tests

/retest ci/centos/mini-e2e-helm/k8s-1.19

/retest ci/centos/mini-e2e/k8s-1.18

/retest ci/centos/mini-e2e/k8s-1.19.2

@Madhu-1 @humblec this PR has two failed jobs for k8s-1.19.3, but passed them on k8s-1.19.2. Once you added your +1's, Mergify will merge it.


Ux init

- What I did
Made UX changes to the init subcommand:

removed the maintainer flag
removed the description flag
removed implicit compose file search

- How I did it
Removed a bunch of code.
- How to verify it
Run docker app init --help, the flags description and maintainer should no longer be there.
- Description for the changelog
Docker App doesn't implicitly select a docker-compose.yml file on init.
The flags --description and --maintainer heve been removed.
- A picture of a cute animal (not mandatory but encouraged)

Argh, I already merged it. My bad 😢


APP-2466 Update RPC API: CreateKey API protos, update Authorization proto

Adding a new rpc method CreateKey, as well as a corresponding message request and response. Adding a new field to Authorization message.
https://viam.atlassian.net/browse/APP-2466

Moved to a branch on api. I'm going to close this PR.


Debugging not working well in Webpack Branch

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Windows 10

Versions. Please run ng --version. If there's nothing outputted, please run
in a Terminal: node --version and paste the result here:
Beta 10 (webpack / master branch)

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.

The log given by the failure. Normally this include a stack trace and some
more information.

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

The debugging isnt working anymore in firefox, chrome or edge.
When I put a breakpoint nothing happens.
When I put a debugger command, it's debugging at strange lines. not where I put the debugger command.

Some issue on Chrome dev tools side, AFAIK

@sirajc It's also not working in Firefox for me.

I've noticed this actually. If I place a breakpoint inside a mapped TS file, the breakpoint will move up the file about 10-20 lines above and obviously not work. It seems the maps aren't quite correctly generated

I believe this is a Typescript-mapping problem only. Mapping onto Javascript files (e.g. node dependencies) work fine.

@thelarkinn Can you have a look please

I have also noticed that console errors point to lines far from where the actual error occurred

Tried to update to the latest Angular CLI Beta 11 Webpack, (NPM) but not worked.

Actually, for me it's sometimes not working properly even before upgrading to webpack (using PhpStorm)

@Namek  Do you mean the Webpack Branch or just the Masterbranch where Webpack is inside?

Yesterday I didn't even touch anything related to webpack in this project. Maybe my webstorm is broken.

Actually the problem is being caused by the sourcemap-istanbul-instrumenter-loader which was setup to always instruments the typescript app code in  the webpack-build-test.js. Would be better to have a task specific for coverage where the instrumentation would take place. The test tasks will run without instrumentation so we could debug it.

We did just cut a new release on the webpack tag this morning with improved coverage settings. Would you mind just double checking if mappings work on prod and dev.

@TheLarkInn going to check it today!

@TheLarkInn are there plans to push it to npm? When?

The issue isn't the coverage itself. Coverage is OK in master branch. The problem is the instrumented code, when you debug the tests on karma http://localhost:9876/debug.html. All the application code will look like this:

If i just comment out this part of node_modules/angular-cli/addon/ng2/models/webpack-build-test.jswebpack-build-test.js:
    //   postLoaders: [
    //     {
    //       test: /\.(js|ts)$/, loader: 'sourcemap-istanbul-instrumenter-loader',
    //       exclude: [
    //         /\.(e2e|spec)\.ts$/,
    //         /node_modules/
    //       ],
    //       query: { 'force-sourcemap': true }
    //     }
    //   ]
    // },

And run karma again,  so i will be capable of debug the code:

But obviouslly  i won't have any coverage data :

My proposal is to have two different tasks:

ng test which will allow run the tests without coverage allowing to debug the application source code;
ng test-coverage, which will run tests and generate the coverage reports;

I would try make this changes and submit a merge request.

Maybe the Karma fixed the problem?
But my problem was debugging of just the Source Codes. like app.component.ts etc. etc.
This evening im gonna test it.

So in test you actually get the sourcemaps for your spec files. So set a breakpoint and you will see those correctly.

We're still investigating sourcemaps on prod and dev modes though.

@TheLarkInn Nice to hear that, hopefully we find a quick solution for it! :) Now only can console.log hehe

So we will have to change these to source-map for now which is ok. This comes with the expense of webpack generating accurate sourcemaps that chrome and firefox won't flake out on (which we [as in the webpack org] is looking into). This comes at the expense of a slightly slower dev env build. But since this is in memory-fs when being ng serve'd it may not even be noticeable.

You can see more information about how webpack processes sourcemaps are configured here and what the tradeoffs are

@TheLarkInn  thanks, but I can not find the webpack configuration file or the place where to create it?

Using a webpack config is only one of may ways to use webpack. It also can be invoked through node using the webpack nodeAPI which we do

@TheLarkInn sorry for me being an asshole, but I'm new to Webpack.  Need some guide on this how to acchieve applying this setting, so debugging is working. Sorry.

if we add an arg --debug on ng test tasks we could conditionally not add the instrumenter plugin and not generate the coverage reports (because without the instrumenter the coverage info isn't generated).
This way we would debug on tests also!

Is this issue back in beta 18? I created a new project this morning (ng new testproject) and changed only the following code in app.component.ts
import {Component, OnInit} from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent extends OnInit {
  ngOnInit(): void {
    this.dosomething();
  }

  title = 'app works!';

  dosomething() {
    this.title = "trying to do something";
    this.title = "trying to do something else";
  }
}

In chrome dev tools, breakpoint doesn't seem to match the scope

I've also tested in my other projects which i've updated to beta.18 with the same issue.
ng --version:
angular-cli: 1.0.0-beta.18
node: 6.8.1
os: darwin x64
running:
Npm: 4.0.0
OSX: 10.12.1
Chrome:  54.0.2840.71

Happening for me too. Source maps seem to be out by only a few lines, so breakpoints are out too (ridiculous workaround: surround breakpoint with lots of superfluous lines)
angular-cli: 1.0.0-beta.18
node: 6.7.0
os: win32 x64
NPM: 3.10.8
OS: Windows 10 x64
Chrome: 54.0.2840.71 m (64-bit)

I am getting this debug/mapping mal-config problem too (same as @sherwopj).  The debugging was working fine for a while, but after my app got to a critical mass (like around 20 components) it has started to get wonkie:   breakpoints won't hit, or impossible to set breakpoint (off by x number of lines)

@nukuuk was it working fine with beta18?
We just migrated our app to use angular-cli and are suffering with this annoying issue. I tried downgrading to beta17 but other errors arose

reverting to beta17 did the trick for me

instead of reverting you could use this patchy fix from issue #2811 :
Edit node_modules/angular-cli/models/webpack-build-development.js
and change cheap-module-source-map to source-map

The issue was back on beta18, fixed on beta19-3 in https://github.com/angular/angular-cli/pull/2857.

I'm still seeing this
➜  web git:(master) ✗ ng -v
angular-cli: 1.0.0-beta.19-3
node: 6.7.0
os: darwin x64


key control of player working propperly

The hotkey control of the player can be set up in two was ... that they work on whole site or only in the player itself. (impractical since you have to click in the player each time before you can starting to use keys)
For a very long time you could set it up to work on the whole page but it would ignore key if you are writing a comment.
Now the player reacts when writing a comment and eating up all white spaces. (only effect instead of having a white space in the comment is that the playback toggles)

Duplicate of #1546.


How to handle cell edit event (excel addin)?

Hello!
Could you please advise a proper way to handle cell edit event (or document edit mode), when user has not finished cell edit but trying to press any buttons on task pane. The issue is that context.sync() produces the exception in this case.

Hi @andrewkhramov,
The section on Run Options should have the information you need. It explains the delayForCellEdit property.
For broader strategies of when to set this property and when to allow the app to throw that error, I'd recommend posting to Stack Overflow with the tag "office-js". That way, the community can learn from your experiences and discover coding patterns.
I'll close this issue. If you feel the organization of the documentation prevented you from finding this information, please let respond to this thread and we'll see what we can do.
Thanks!

Hi @AlexJerabek,
Thank you for your answer, I tried this option, but this doesn't work in a proper way in my situation. It is just a delay and when user pressing button and nothing is happening it looks like addin doesn't work. Moreover when user leaves the cell (finishing edit), delayed code will run multiple times if user pressed button many times.  It would be better to block task pane in cell edit mode like some native Excel buttons . But anyway I will try to post this issue on stack overflow.

@andrewkhramov
I found a related feature request on UserVoice. We use input from there to prioritize feature requests, so upvoting and commenting on that helps increase this issue's visibility.
We're also holding an Office Add-ins community call Wednesday morning where you can ask direct questions of the developers. Here's the calendar invite.

There is even this related user-voice:
https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/31752895-js-api-function-to-prevent-user-from-sheet-interac


Bumped production RELEASE for 1.21-13

Bumped production RELEASE for 1.21-13
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

IGNORE
I'm testing something


ModuleNotFoundError: No module named 'desktop_cleaner'

Traceback (most recent call last):
File "cleandesk.py", line 5, in
import EventHandler
File "/Users/khantanveer/Desktop/desktop_cleaner/EventHandler.py", line 7, in
from desktop_cleaner.extensions import extension_paths
ModuleNotFoundError: No module named 'desktop_cleaner'

This was my fix I also had to add the PYTHONPATH

@jpulley101
Not sure if I understand correctly.
What else did you do get correct :No module named 'desktop_cleaner'?


[Enhancement]: Add a VSTU / Rider compatible debugging server feature

Describe the new feature or enhancement
I currently use bepInEx 6 (with my own change to support doorstop 4) and I was looking at melon as an alternative to this, but I found this feature I was using wasn't in melon and when asked about it in the discord, there was interest to open an issue about it so here I am. I'll describe my concrete setup so everyone can understand why it's such a useful feature to have.
I have a lot of plans to bring modding tools and libraries to mod Bug Fables, a mono game in unity 2018.4.12f1. It uses the older then deprecated mono runtime, but I found an easy way to upgrade it without breaking anything. My goal at first is to inspect the code in details so I can document its internals in technical details so I can build off this info later. This requires a bit of debugging to understand more complex stuff so naturally, I checked what everyone recommended at first, dnspy/dnspyEX.
However, I found this tool is not suitable for this. For developmental reasons (mostly not being aware this can become an issue), there are very large MonoBehaviors in this game (at least 3 are big enough to be a problem while they are a core part of the game) and one method is INSANELY long (about 30k lines after decompilation) which happens to be very essential to analyse. Due to this, dnspyEX can literally take MINUTES to decompile while debugging the code and nothing is cached so this has to be done every debugging session (which wasn't found to be very stable, the connexion could just drop). This is on top of ILSpy's version being too old while I get very decent decomp with recent ones so really, dnspyEX is just not the good tool to use here.
But it turns out I am able to decompile the entire code with ILSpy such that it's VERY close to be able to recompile it (there's only 2 issues where ILSpy failed to inline stuff, but it's very easy to fix). So what i effectively was able to do is to recompile the Assembly-CSharp.dll, overwrite the vanilla one and the game was still working. Since I have the code, I can make pdb from it and debug it.
The problem is that it's not as simple as attaching to the EXE because the exe is the unity player which works differently. What you actually need is to turn the game build into a dev build which autostarts a Unity debug server that your IDE can connect to. However, doing this is very annoying: it involves picking a lot of files from an actual unity install and overwriting them on top of the fact this can be checked at runtime which means doing this can have side effects so you're changing the behavior of the game.
It turns out doorstop 4 has a feature where you no longer need to do this: you simply configure it so it will start the server on its own. This is supported since doorstop 4 at least for mono games, but you can learn more here: https://github.com/NeighTools/UnityDoorstop#debugging-in-unitymono To note, it seems to only work with newer mono (.net standard 2, not .net 2), but it worked after I figured out how to upgrade the runtime on the game.
The neat thing is because it starts a server, it allows for remote debugging: I could have the game running on my steam deck, but debug on my desktop pc.
This issue is to ask if it could be possible to implement this in melon. Since melon doesn't use Doorstop, it seems that it would need to be implemented in melon's entrypoint directly so hence why I submit this.

So what is the feature exactly?

So what is the feature exactly?

I am referring to this ini option: https://github.com/NeighTools/UnityDoorstop/blob/eab4428a0ad8b3e6e55730c3b08fecea1a601b9a/assets/windows/doorstop_config.ini#L29
What this will do is it will start a mono debugging server bound at the address and port you set it to. It's similar to what happens when you have a unity game's dev build where it starts a debugging server you can connect with an IDE, but you don't need to have a dev build.
I need this to debug the game because dnspyex doesn't work well (it crumbles with very large methods and is in general limited such as working on windows only). This way, I can decompile the code with ILSpy, recompile them with a dll and a pdb and then start a server that way to debug the code as a unity dev would be able to do (every tools the IDE provide works like the evaluator and stuff).
I suggest you check the doorstop 4's repo and docs to learn more, but that's the gist of it: you can have an alternative way to debug the game or mods that doesn't involve dnspyex.

This should already be doable simply by running the game with MelonLoader with the --melonloader.debug Launch Option.
You can skip the part in the guide that needs you to copy patched files and continue on after that.
https://github.com/dnSpy/dnSpy/wiki/Debugging-Unity-Games#debugging-release-builds


Automatically run pre-commit on all PRs

#179 managed to get merged without passing pre-commit's linting checks (linting re-applied in  https://github.com/zarr-developers/VirtualiZarr/commit/47303fa0df8f71dead57bbfc48a6f2db4aee6cba). It would be better to run pre-commit on every PR and either loudly fail or automatically push commits to that branch, like xarray does.

Looks like the pre-commit CI Github app was missing. I added it to the repo.

This should now be fixed! This PR shows the .pre-commit CI action working.


Pipsolar inverter pv1 and pv2

my pipsolar inverter has two pv inputs. how should I insert pv2 and pv Total into yaml files to see the complete parameters? Now i see only Pv1

Are you aware of this freature branch? https://github.com/syssi/esphome-pipsolar/tree/pip8048
Please try one of these examples:
https://github.com/syssi/esphome-pipsolar/blob/pip8048/esp32-example.yaml
https://github.com/syssi/esphome-pipsolar/blob/pip8048/esp8266-example.yaml


Is Kafka eventing likely to be in version 3.0 of Conductor?

Hi,
I've been looking into Microservice orchestrators for my organisation and Conductor fits most of our requirements really well.
One missing thing was the ability to start a process via a message on a Kafka Topic. I saw this PR which was closed in 2019 and was wondering if anything like this is on the roadmap for Conductor?
Great project BTW.

I have this working on our local implementation. I keep getting distracted from contributing it back though. It is working great but contributing it back is the tough part - test cases, documentation, etc. I also have added the ability to send any errors during the processing of the event to an 'errors' topic and to send an email if there is a failure. Also I have added jaas security capability to it so that you can specify a jaas config file, etc.
Again, I have to find time to make it contributable but would be happy to share what I have if you like - not sure logistically how to do that though...

This definitely seems like a valuable addition, but might take a while until we reach there in our roadmap. We'd very much welcome the discussion and contribution from the community.

Thanks for the responses, I'm currently asking around in my org to see if there is any appetite to support this.
I'm also happy to contribute to any efforts (although my Java is a little Rusty), is there a recent fork available to work on @rickfish?

@NeuralViva do you have access to https://github.com/rickfish/conductor? That is my fork. The branch is feature/kafka-event-source. There is a document under conductor/docs/docs/kafkaeventsource.md that should have enough info to get you started. I can use some suggestions if the document does not cover everything or is confusing. I currently do not have any test cases yet.

Sorry for the really slow reply on this, busy few weeks.
I can access your fork, from reading the docs your solution looks really fully formed 👍
I'll pull your fork today and get it running, and start looking at some tests.

I just created PR #1911 for this. I am sure there will be lots of back and forth before it is accepted though.


Crash when trying to run 2 clients, multi-threading issue

When trying to instantiate a second aiotdlib.Client while a first one is running, I run into this:
INFO:CredentialsValidation:Starting client
2023-11-27T10:33:28.616461274Z INFO:CredentialsValidation:Session workdir: /var/lib/slidge/slidge.localhost/tdlib/.aiotdlib/xxx
2023-11-27T10:33:28.616519104Z INFO:CredentialsValidation:Authorization process has been started with phone
DEBUG:aiotdlib.tdjson:[me >>>] Sending b'{"@extra":{"request_id":"updateAuthorizationState"},"@type":"getAuthorizationState"}'
2023-11-27T10:33:28.617194587Z [ 0][t 0][1701081208.617133140][Client.cpp:284]	Receive must not be called simultaneously from two different threads, but this has just happened. Call it from a fixed thread, dedicated for updates and response processing.

I think this is due to Client.receive awaiting self.loop.run_in_executor(None, self.__tdjson.receive, timeout).
I tried to fix that by wrapping Client.receive with a global asyncio.Lock:
class MultiAccountClient(Client):
	global_receive_lock = asyncio.Lock()

	async def receive(self, timeout=1.0) -> Optional[BaseObject]:
		async with self.global_receive_lock:
			return await super().receive(timeout)

This prevents the crash, but it makes it impossible to authorize the second client:
DEBUG:aiotdlib.tdjson:[me >>>] Sending b'{"@extra":{"request_id":"updateAuthorizationState"},"@type":"getAuthorizationState"}'
2023-11-27T12:40:26.667542049Z DEBUG:aiotdlib.tdjson:[me <<<] Received b'{"@type":"updateOption","name":"version","value":{"@type":"optionValueString","value":"1.8.18"},"@client_id":2}'
2023-11-27T12:40:26.667902010Z DEBUG:aiotdlib.tdjson:[me <<<] Received b'{"@type":"updateOption","name":"commit_hash","value":{"@type":"optionValueString","value":"ceee1ad79a9191411b3ea488aeecfb134ab72add"},"@client_id":2}'
2023-11-27T12:40:26.668405902Z DEBUG:test@localhost:No handler for updateOption, ignoring
2023-11-27T12:40:26.668510902Z DEBUG:aiotdlib.tdjson:[me <<<] Received b'{"@type":"updateAuthorizationState","authorization_state":{"@type":"authorizationStateWaitTdlibParameters"},"@client_id":2}'
2023-11-27T12:40:26.668730783Z DEBUG:aiotdlib.tdjson:[me <<<] Received b'{"@type":"authorizationStateWaitTdlibParameters","@extra":{"request_id":"updateAuthorizationState"},"@client_id":2}'
2023-11-27T12:40:26.669027274Z DEBUG:test@localhost:No handler for authorizationStateWaitTdlibParameters, ignoring
2023-11-27T12:40:26.769470313Z DEBUG:aiotdlib.tdjson:[me >>>] Sending b'{"@extra":{"request_id":"updateAuthorizationState"},"@type":"getAuthorizationState"}'
2023-11-27T12:40:26.769727763Z DEBUG:aiotdlib.tdjson:[me <<<] Received b'{"@type":"authorizationStateWaitTdlibParameters","@extra":{"request_id":"updateAuthorizationState"},"@client_id":2}'

Traceback (most recent call last):
2023-11-27T12:40:36.778980401Z   File "/usr/local/lib/python3.11/asyncio/tasks.py", line 500, in wait_for
2023-11-27T12:40:36.778985131Z     return fut.result()
2023-11-27T12:40:36.778989431Z            ^^^^^^^^^^^^
2023-11-27T12:40:36.778993871Z   File "/usr/local/lib/python3.11/asyncio/locks.py", line 213, in wait
2023-11-27T12:40:36.778998231Z     await fut
2023-11-27T12:40:36.779003011Z asyncio.exceptions.CancelledError
2023-11-27T12:40:36.779007441Z
2023-11-27T12:40:36.779011511Z The above exception was the direct cause of the following exception:
2023-11-27T12:40:36.779015871Z
2023-11-27T12:40:36.779019921Z Traceback (most recent call last):
2023-11-27T12:40:36.779024101Z   File "/venv/lib/python3.11/site-packages/legacy_module/gateway.py", line 94, in validate_two_factor_code
2023-11-27T12:40:36.779046121Z     await asyncio.wait_for(auth_task, config.REGISTRATION_AUTH_CODE_TIMEOUT)
2023-11-27T12:40:36.779050611Z   File "/usr/local/lib/python3.11/asyncio/tasks.py", line 489, in wait_for
2023-11-27T12:40:36.779054981Z     return fut.result()
2023-11-27T12:40:36.779059001Z            ^^^^^^^^^^^^
2023-11-27T12:40:36.779062991Z   File "/venv/lib/python3.11/site-packages/aiotdlib/client.py", line 1098, in start
2023-11-27T12:40:36.779067381Z     await self.authorize()
2023-11-27T12:40:36.779071391Z   File "/venv/lib/python3.11/site-packages/aiotdlib/client.py", line 1067, in authorize
2023-11-27T12:40:36.779075661Z     result = await next_action()
2023-11-27T12:40:36.779079761Z              ^^^^^^^^^^^^^^^^^^^
2023-11-27T12:40:36.779083891Z   File "/venv/lib/python3.11/site-packages/aiotdlib/client.py", line 798, in _auth_start
2023-11-27T12:40:36.779088111Z     return await self.api.get_authorization_state(request_id=AUTHORIZATION_REQUEST_ID)
2023-11-27T12:40:36.779092281Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T12:40:36.779096451Z   File "/venv/lib/python3.11/site-packages/aiotdlib/api/api.py", line 7556, in get_authorization_state
2023-11-27T12:40:36.779100801Z     return await self.client.request(
2023-11-27T12:40:36.779104951Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T12:40:36.779109041Z   File "/venv/lib/python3.11/site-packages/aiotdlib/client.py", line 995, in request
2023-11-27T12:40:36.779113411Z     await pending_request.wait(raise_exc=True, timeout=request_timeout)
2023-11-27T12:40:36.779117561Z   File "/venv/lib/python3.11/site-packages/aiotdlib/utils.py", line 159, in wait
2023-11-27T12:40:36.779121751Z     result = await asyncio.wait_for(self.__ready_event.wait(), timeout=timeout)
2023-11-27T12:40:36.779125962Z              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T12:40:36.779131042Z   File "/usr/local/lib/python3.11/asyncio/tasks.py", line 502, in wait_for
2023-11-27T12:40:36.779135282Z     raise exceptions.TimeoutError() from exc
2023-11-27T12:40:36.779139372Z TimeoutError
2023-11-27T12:40:36.779143382Z
2023-11-27T12:40:36.779147362Z During handling of the above exception, another exception occurred:
2023-11-27T12:40:36.779151552Z
2023-11-27T12:40:36.779155762Z Traceback (most recent call last):
2023-11-27T12:40:36.779159872Z   File "/venv/lib/python3.11/site-packages/slidge/command/adhoc.py", line 84, in __wrap_handler
2023-11-27T12:40:36.779164172Z     return await f(*a, **k)
2023-11-27T12:40:36.779168262Z            ^^^^^^^^^^^^^^^^
2023-11-27T12:40:36.779172242Z   File "/venv/lib/python3.11/site-packages/slidge/command/register.py", line 160, in two_fa
2023-11-27T12:40:36.779176572Z     await self.xmpp.validate_two_factor_code(user, form_values["code"])
2023-11-27T12:40:36.779186892Z   File "/venv/lib/python3.11/site-packages/legacy_module/gateway.py", line 96, in validate_two_factor_code
2023-11-27T12:40:36.779191542Z     raise XMPPError(
2023-11-27T12:40:36.779195602Z slixmpp.exceptions.XMPPError: not-authorized

This traceback is a bit dense because it's my full thing and not a MWE, but the interesting part is that await self.api.get_authorization_state(request_id=AUTHORIZATION_REQUEST_ID) times out, despite Received b'{"@type":"authorizationStateWaitTdlibParameters","@extra":{"request_id":"updateAuthorizationState"},"@client_id":2}'.
I did not manage to get anything more fruitful from my investigations.
Any idea how to enable multi-account support?

Aiotdlib doesn't support running multiple clients at the moment.
Although tdlib supports it via its tdjson interface. You can slightly reimplement TDJson class for your use case.
Create multiple clients instead of one and handle "@client_id" field thoroughly instead of dropping those updates like it's implemented now in tdjson.py.
You can read more about this design here
Probably I will implement it as well as pedantic v2 support soon, but PRs are always welcome

Oh, I missed this line. Besides making sure we only call receive() from a single thread at once, and not dropping this client_id field, do you foresee any trouble supporting multiple clients? I'll give it a try, soonish.

Oh, I missed this line. Besides making sure we only call receive() from a single thread at once, and not dropping this client_id field, do you foresee any trouble supporting multiple clients? I'll give it a try, soonish.

I wouldn't name it a trouble.
But we need to make TDJson instance kind of singleton, handling all updates in it in separate single thread.
It might be good to rewrite Client class using pub/sub pattern instead of creating TDJson instance.
It's not a problem I think, but I have no time for now, therefore any pull requests are welcome 🙏


[QUESTION] ExceededMaxResultBufferException on a big transaction with maxResultBuffer property applied

Question
I'm trying to understand behavior of the maxResultBuffer connection property.
Setup: Debezium Server is used to stream transactions from a source MSSQL Database to a downstream system.
Given: when there is a "big" transaction (for example, many rows are inserted in a single transaction), the process fails with an OOM error. My assumption was that if I apply maxResultBuffer connection string property, my "big" transaction would be split up into chunks of size equal or less than the maxResultBuffer and chunks will be processed one by one. This will ultimately save me from the OOM.
Instead, when the transaction is executed, the process first gets the "MaxResultBuffer property exceeded..." log error and then fails with the "com.microsoft.sqlserver.jdbc.SQLServerException" "The TDS protocol stream is not valid.".
Is it an expected behavior to get an exception when the MaxResultBuffer value is exceeded and how should it be handled?
Relevant Issues and Pull Requests
maxResultBuffer doc: https://learn.microsoft.com/en-us/sql/connect/jdbc/setting-the-connection-properties?view=sql-server-ver16
maxResultBuffer PR: https://github.com/microsoft/mssql-jdbc/pull/1431

Hi @artyomdmitriev,
Can we get the full error trace(s), not just the most relevant lines, as well as the connection string used where maxResultBuffer is set? From your results, it looks like maxResultBuffer might not be behaving correctly. We'll need to look into this more and the above information will help. Thanks!

Hi @Jeffery-Wasty,
Thanks a lot for a quick reply!
Query that I'm using inserts all rows from table into itself (which doubles the amount of rows): "INSERT INTO table_name(col1, col2, etc) SELECT col1, col2, etc FROM table_name"
Driver version: mssql-jdbc-9.4.1.jre8.jar
Connection string used by Debezium:
{
    "timestamp": "2022-10-19T14:23:06.601Z",
    "sequence": 185,
    "loggerClassName": "org.slf4j.impl.Slf4jLogger",
    "loggerName": "io.debezium.jdbc.JdbcConnection",
    "level": "DEBUG",
    "message": "Connected to jdbc:sqlserver://<redacted>;databaseName=<redacted> with {password=***, server.name=<redacted>, maxResultBuffer=30percent, history=io.debezium.relational.history.FileDatabaseHistory, user=<redacted>}",
    "threadName": "pool-7-thread-1",
    "threadId": 17,
    "mdc": {},
    "ndc": "",
    "hostName": "<redacted>",
    "processName": "io.debezium.server.Main",
    "processId": 84
}

Stack trace from Debezium:
{
    "timestamp": "2022-10-19T14:26:05.838Z",
    "sequence": 90646,
    "loggerClassName": "org.slf4j.impl.Slf4jLogger",
    "loggerName": "io.debezium.pipeline.ErrorHandler",
    "level": "ERROR",
    "message": "Producer failure",
    "threadName": "<redacted>",
    "threadId": 25,
    "mdc": {
        "dbz.databaseName": "<redacted>",
        "dbz.connectorName": "<redacted>",
        "dbz.connectorType": "SQL_Server",
        "dbz.connectorContext": "streaming"
    },
    "ndc": "",
    "hostName": "<redacted>",
    "processName": "io.debezium.server.Main",
    "processId": 84,
    "exception": {
        "refId": 1,
        "exceptionType": "com.microsoft.sqlserver.jdbc.SQLServerException",
        "message": "MaxResultBuffer property exceeded: 38,937,279. MaxResultBuffer was set to: 38,928,384.",
        "frames": [
            {
                "class": "com.microsoft.sqlserver.jdbc.MaxResultBufferCounter",
                "method": "throwExceededMaxResultBufferException",
                "line": 56
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.MaxResultBufferCounter",
                "method": "checkForMaxResultBufferOverflow",
                "line": 50
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.MaxResultBufferCounter",
                "method": "increaseCounter",
                "line": 36
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.TDSReader",
                "method": "readPacket",
                "line": 6663
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.TDSCommand",
                "method": "startResponse",
                "line": 7802
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement",
                "method": "doExecutePreparedStatement",
                "line": 613
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd",
                "method": "doExecute",
                "line": 537
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.TDSCommand",
                "method": "execute",
                "line": 7417
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.SQLServerConnection",
                "method": "executeCommand",
                "line": 3488
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.SQLServerStatement",
                "method": "executeCommand",
                "line": 262
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.SQLServerStatement",
                "method": "executeStatement",
                "line": 237
            },
            {
                "class": "com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement",
                "method": "executeQuery",
                "line": 456
            },
            {
                "class": "io.debezium.jdbc.JdbcConnection",
                "method": "prepareQuery",
                "line": 603
            },
            {
                "class": "io.debezium.connector.sqlserver.SqlServerConnection",
                "method": "getChangesForTables",
                "line": 329
            },
            {
                "class": "io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource",
                "method": "executeIteration",
                "line": 190
            },
            {
                "class": "io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource",
                "method": "executeIteration",
                "line": 59
            },
            {
                "class": "io.debezium.connector.sqlserver.SqlServerChangeEventSourceCoordinator",
                "method": "executeChangeEventSources",
                "line": 98
            },
            {
                "class": "io.debezium.pipeline.ChangeEventSourceCoordinator",
                "method": "lambda$start$0",
                "line": 109
            },
            {
                "class": "java.util.concurrent.Executors$RunnableAdapter",
                "method": "call",
                "line": 515
            },
            {
                "class": "java.util.concurrent.FutureTask",
                "method": "run",
                "line": 264
            },
            {
                "class": "java.util.concurrent.ThreadPoolExecutor",
                "method": "runWorker",
                "line": 1128
            },
            {
                "class": "java.util.concurrent.ThreadPoolExecutor$Worker",
                "method": "run",
                "line": 628
            },
            {
                "class": "java.lang.Thread",
                "method": "run",
                "line": 829
            }
        ]
    }
}

I hope this helps. Please let me know if I can provide anything else.
Thanks!

Thanks. I was able to confirm maxResultBuffer is being used correctly in this case. As for how to handle the actual overflow, it's not handled by the driver, and expected to be handled somewhere else. maxResultBuffer is only responsible for limiting how much is read. For a Debezium solution you can use max.queue.size and max.queue.size.in.bytes.

Thanks for an explanation! Closing the topic.


[BUG]: Sync template v2 (powerapps users shared with)

Describe the bug
Run solution flow : Admin | Sync Template v2 (Power Apps User Shared With)
Admin | Sync Template v2 (Power Apps User Shared With)
and got a fail to flow action : « Get_App_Role_Assignments_as_Admin »
To Reproduce
I'm import the script and execute
Error Message I got:
The request failed with error: 'The environment '' could not be found in the tenant ''.'. The tracking Id is '8b01e7e6-9354-4f11-8384-65cc6fe92a20'.

I.m using the latest version of Coe core 1.53

Hi there. There is another issue, #369 , which tracks this same issue. Can you please hop over there and help with the repro?
It's a slightly different repro solve is a different flow but it sounds like the same bug. Please see if you can answer the latest questions there to help us debug.
Duplicate of #369

I'll go see the other issue.
Regards.

oops didnt mean to reopen


Respect .editorconfig indent_size and indent_type when generating code

🚀 Feature request
Command (mark with an x)

[x] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[x] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Description
It would be more than awesome for Angular generated files to use indent size and type that is specified for the project it is used in.
It is annoying to have to open each file and reformat it after being generated (either by ng new or ng g).
What ends up happening is commits often have just reformatting of files, which is pretty pointless and seems to be not so difficult to address.
Similar issues or requests are / were being discussed in #10777 and #9953
Describe the solution you'd like
Use .editorconfig indent_size and indent_type property from appropriate section (file type wildcard) when generating files.
This looks to be the best solution since Angular is providing by itself this file. So using those properties makes sense.
Initial ng new could also accept properties that set those, but it's like a stretch goal :)
Describe alternatives you've considered
Alternative solution would be to run a formatter that would fix the intendation automatically.

Thanks for this issue.
Let’s continue tracking this in https://github.com/angular/angular-cli/issues/10777 as that is the desired resolution.
Also duplicate of https://github.com/angular/angular-cli/issues/16684


Allow actions to return JS Promise directly

With Promises now part of the JS standard library (ES6 onwards+), it would be nice to replace the return value for async actions from the whisk function calls to a native Promise. See the example below.
This would have many benefits for the user including allow them to directly return responses from many third-party modules that return Promises without having to add unnecessary boilerplate to handle the response and then return.

function main() {
   setTimeout(function() {
       return whisk.done({done: true});
   }, 20000);
   return whisk.async();
}

to....

function main() {
   return new Promise(function (resolve, reject) {
       setTimeout(function() {
           resolve({done: true});
       }, 20000);
   })
}

As mentioned in the discussion on PR #78,   we currently plan to revisit this after supporting Node 6

Now that we support NodeJS6 we can start work on this.
Also according to http://node.green/ we should be able to support Promises in NodeJS 0.12
@jasonpet did this work but his taking a well deserve break, and I think this is something that @bjustin-ibm can pick up
cc @browezilla

I recommend that we mark deprecated whisk.async() and whisk.done() once we get this in.
We can also discuss the ability to support callback as a parameter in addition of supporting Promises like:
function main(params, context, callback) {
... }

@tuler this might be a topic that might interest you.


Backend 99 testcases

Implemented test case generation and additional file creation.  Templates are created on assignment creation.  Additional files are created for editable files for each test case.

LGTM :D


4.2.0 Cannot do amplify push with ENV 'NONE'

Describe the bug
I'm able to do amplify push using 3.17 but on 4.2 I get the following error:
✖ An error occurred when pushing the resources to the cloud

Failed to create backend environment.The environment name NONE is invalid. Environment name should be between 2 and 10 characters (only lowercase alphabets).
An error occured during the push operation: Failed to create backend environment.The environment name NONE is invalid. Environment name should be between 2 and 10 characters (only lowercase alphabets).

Note that 'NONE' is a legacy environment name back when amplify did not have the envs feature.
I am not creating a new environment, this is the existing environment I've always maintained.
To Reproduce
Do a push on an environment with name of 'NONE'
Expected behavior
A succesfull push.
Desktop (please complete the following information):

OS: OSX 10.15.1
Node Version. v10.9.0

@hisham , the fix for this issue is now available.


[Store Helper] typo in 'quanitity' parameter effect purchase function to work

There is typo in quantity parameter:
I double-check with the server it's quantity not quanitity
The effect in emit event :
https://github.com/dawalters1/wolf.js/blob/474fef3b9918fbaf4f95d08e90227ecfad429354/src/helper/store/Store.js#L207-L257

2.2.1


Add ExecutionResources multiplication

Add ExecutionResources multiplication
We need  ExecutionResources * u64 implementation in starknet_in_rust
https://github.com/starkware-libs/cairo-lang/blob/master/src/starkware/starknet/business_logic/execution/os_usage.py#L37
Checklist

[ ] Linked to Github Issue
[x] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

LGTM ser

A pleasure to comeback


Create devicetree for x86_64

Pass memory region infomation from devicetree

I made some changes regarding your requests. Could clippy::new_ret_no_self be allowed?


Extend relationships between nodes on the scene only

The title says everything.
There are often too much nodes and relationships to see all at the same time. So to make good use of your data, you use the filtering option. To make the filtering option more usuable, the following workflow whould exists.
You query the nodes you want
You filter the ones you don't want
You show the relationships linking these filtered nodes ( This part is not possible yet )
Having to show up all nodes and relationships you are interrested in at first is to heavy, having this function it would be a better workflow.

Hello @Mintactus
Thanks for reaching us out, there is already a feature to outline the relationships of selected nodes, it is called "Reveal Relationships".
So based on your sequence of operations you can:
1 Query the nodes that you want
2 Filter them based on your criteria
3 Select all the nodes using Ctrl+A (Win) or Cmd+A (Mac) or normal selection box
4 Right click on one of the selected node and select "Reveal Relationships"
Once activated you can show the relationships that are actually connecting the nodes in the Scene.
If you have trouble with that let us know.
BR

Thanks, I'll check them out.
On Mon, Aug 26, 2024 at 12:37 PM Claudio Gallina @.***>
wrote:

Hello @Mintactus https://github.com/Mintactus
Thanks for reaching us out, there is already a feature to outline the
relationships of selected nodes, it is called "Reveal Relationships".
So based on your sequence of operations you can:
1 Query the nodes that you want
2 Filter them based on your criteria
3 Select all the nodes using Ctrl+A (Win) or Cmd+A (Mac) or normal
selection box
4 Right click on one of the selected node and select "Reveal Relationships"
Once activated you can show the relationships that are actually connecting
the nodes in the Scene.
If you have trouble with that let us know.
BR
—
Reply to this email directly, view it on GitHub
https://github.com/neo4j-devtools/neo4j-bloom/issues/78#issuecomment-2310617841,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHIBVDONRJ5WMYW2ZZRNAETZTNKWBAVCNFSM6AAAAABNASBK5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJQGYYTOOBUGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi Br
I could see the revealed relationships in the option on Bloom 2.11 ( The
highest version in Desktop and Aura ) but the option was "Denied" with a
red mark or just didn't work at all after multiple attempts.
If it hasn't been fixed in Bloom 2.14 it's not working, as you can see in
the attached video, but thanks for reminding me of the option.
On Tue, Aug 27, 2024 at 1:05 AM Gabriel Tardif @.***>
wrote:

Thanks, I'll check them out.
On Mon, Aug 26, 2024 at 12:37 PM Claudio Gallina @.***>
wrote:

Hello @Mintactus https://github.com/Mintactus
Thanks for reaching us out, there is already a feature to outline the
relationships of selected nodes, it is called "Reveal Relationships".
So based on your sequence of operations you can:
1 Query the nodes that you want
2 Filter them based on your criteria
3 Select all the nodes using Ctrl+A (Win) or Cmd+A (Mac) or normal
selection box
4 Right click on one of the selected node and select "Reveal
Relationships"
Once activated you can show the relationships that are actually
connecting the nodes in the Scene.
If you have trouble with that let us know.
BR
—
Reply to this email directly, view it on GitHub
https://github.com/neo4j-devtools/neo4j-bloom/issues/78#issuecomment-2310617841,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHIBVDONRJ5WMYW2ZZRNAETZTNKWBAVCNFSM6AAAAABNASBK5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJQGYYTOOBUGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello @Mintactus ,
unfortunately I cannot see the attachment in Github, would you mind to attach it using the web ui?
We'd like to get more info, if you want to try out the version 2.14.0 you can use the following links:
https://workspace-preview.neo4j.io/workspace/explore
https://explore.neo4j.io
You can connect them with a local database and the visualization is only running in your machine, so no data is sent to us in that case.
Thanks,
Claudio

Thanks for providing these links, the only major problem with these links
is that it requires secure connection via SSL or TLS which are not setup by
default for both Neo4j Desktop or Server.
I'm using Neo4j for local projects only on a personal network and computer
with no domain name or dedicated server, which makes it a bit difficult if
not annoying to quickly and efficiently implement SSL.
But, if making the secure connection works can allow me to use bloom via
these links that would be great, I guess it means that bloom for desktop
will no, or is progressively no longer supported.
But I'm not sure how the "bloom online" will make the difference between
desktop, enterprise server or community server.
If I only have the desktop version of Neo4j, can the 'bloom online' connect
to it ?
Thank you
On Fri, Aug 30, 2024 at 9:37 AM Claudio Gallina @.***>
wrote:

Hello @Mintactus https://github.com/Mintactus ,
unfortunately I cannot see the attachment in Github, would you mind to
attach it using the web ui?
We'd like to get more info, if you want to try out the version 2.14.0 you
can use the following links:
https://workspace-preview.neo4j.io/workspace/explore
https://explore.neo4j.io
You can connect them with a local database and the visualization is only
running in your machine, so no data is sent to us in that case.
Thanks,
Claudio
—
Reply to this email directly, view it on GitHub
https://github.com/neo4j-devtools/neo4j-bloom/issues/78#issuecomment-2321287819,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHIBVDPFBESZXLQ2MNTUQJTZUBYQVAVCNFSM6AAAAABNASBK5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRRGI4DOOBRHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thank you for your message! I understand your concerns about setting up SSL/TLS for Neo4j Desktop or Server, especially when working on local projects without a domain or dedicated server.
The good news is that SSL/TLS isn’t necessary to connect Bloom to Neo4j Desktop through those links, and the most up-to-date version of Bloom is available there. Regarding "Bloom Online," it can indeed connect to Neo4j Desktop, so there’s no need to worry about compatibility between Desktop, Enterprise Server, or Community Server.
Note that we are not currently releasing new versions of Neo4j Bloom for Desktop, so the URLs listed are the best way to ensure you’re using the latest version. It is also possible to download and self-host the latest version of Neo4j Bloom on your own local web server from our Deployment Centre at https://neo4j.com/deployment-center/#tools-tab.
I think the documentation may also be helpful: https://neo4j.com/docs/bloom-user-guide/current/about-bloom/
Let me know if you need any further clarification!


Passing by reference

Hi,
How can I pass an array by reference to the "process_child_run" I can pass arrays by value no problem but whn I need to pass by reference so I can update  a signular class objects I am unable to do that?
Thanks

@tapit69 sorry for the delay, can you give us more details on what you are trying to do?


Create Caddy example

Create an example of using tinyhttp and a web server, Caddy in this case.
The demo should show that Host, X-Forwarded-For and are passed to req.ip and req.host respectively.
The demo also must have HTTPS enabled (self signed would be fine) to show that req.secure also works.
File structure of the demo:
caddy
  Caddyfile
  package.json
  README.md
  server.js

I looked at this issue. I don't know Candy  :) but I can do it. Please assign it to me. I think I can do that like Http2 example

@huseyinsimsekk HTTP/2 example is already present in the examples folder
and if you don't know Caddy I can't assign you, because you won't be able to create an example with a technology you don't know

Ok. I see

Closed via #164


at text size 1.1 and greater option in "ui option" went down to News make it look like news option.

Describe the bug
at text size 1.1 and greater option in "ui option" went down to News make it look like news option.
To reproduce
Steps to reproduce the behavior:
1.click on preference
2. text size set to 1.1 or greater
3. See error
Expected behavior
option should be below ui so that it can feel sensible while reading.
Screenshots

Browser [e.g. chrome]

This still occurs at sizes greater than 1.2 for different font sizes. Is it still a valid issue?

This still occurs at sizes greater than 1.2 for different fonts. Is it still a valid issue?

yes it occurs for 1.1 and greater.

@Chaitanyassr , it occurs for text size greater than 1.8 for me. I use latest Chrome and Ubuntu 18.04.

@sachin10101998 and @shrenikr235 are you saying that the issue doesn't appear at smaller sizes for you?

@jobara , yes.
At text size 1.8:

At text size 1.9:

could everyone please indicate which browsers (including version) and which platform you are testing with.

I am using the following:
Browser: Chrome
Version: 80.0.3987.122 (Official Build) (64-bit)
OS: Ubuntu 18.04

@jobara at text size 1.7

Browser: firefox
OS: Ubuntu 18.04

I'm closing this as we are currently beginning a redesign process which will address this issue alongside other improvements. Thanks for reporting it!


Unused script setup directives

Volar doesn't seem to be aware that imported directives inside script-setup are used in template.
(Maybe it's because the final version of script setup was changed to require a v prefix to local directives?)

I can't reproduce, please provide a repro case by https://github.com/johnsoncodehk/volar-starter.

@johnsoncodehk do you have TS option noUnusedLocals active?
The most basic example does it for me, see this repro:
https://github.com/jods4/bug-volar-directive/blob/master/main.vue
Which looks like this in my VS Code:

TS 4.3.5
Volar 0.26.8

I found a possibly related bug (mentioned above) in the vue compiler itself that would ignore imported local directives with a capital V when lang="ts" (yes, I know, it's pretty specific).
Just want to point out that this is not the complete issue when it comes to Volar.
Using a lowercase v works around the problem in Vue SFC compiler, but not in Volar as demonstrated in the following screenshot:

This use case is not yet support in volar, I don't know how this working currently. I will check it, if you can provide more use cases I can resolve it earlier. (I need to confirm how should type-checking working in directives expression.)

I'm sorry, I don't think I can help more than that.
I suppose it should work as local components?

I did not use this before so I can't say. I will check it.


Specify address pool for MetalLB

I am trying to deploy KNE on an existing k8s cluster with dockerd and flannel-cni. And nodes in cluster are all VMs. But kne deploy is stuck at below. It seems that KNE can't get the right address pool. So is there a way to specify addresses, just like what it is to be in deploying MetalLB using kubectl apply.
k8s@master:~$ kne deploy kne/deploy/kne/external.yaml

INFO[0001] Applying metallb ingress config
WARN[0001] Failed to create address polling (will retry 5 times)
WARN[0007] Failed to create address polling (will retry 4 times)
WARN[0012] Failed to create address polling (will retry 3 times)
WARN[0017] Failed to create address polling (will retry 2 times)
WARN[0023] Failed to create address polling (will retry 1 times)
Error: Internal error occurred: failed calling webhook "ipaddresspoolvalidationwebhook.metallb.io": failed to call webhook: Post "https://webhook-service.metallb-system.svc:443/validate-metallb-io-v1beta1-ipaddresspool?timeout=10s": EOF

OS: Ubuntu 20.04 server
K8s version: v1.26.3
Thanks

I am trying to deploy KNE on an existing k8s cluster with dockerd and flannel-cni. And nodes in cluster are all VMs. But kne deploy is stuck at below. It seems that KNE can't get the right address pool. So is there a way to specify addresses, just like what it is to be in deploying MetalLB using kubectl apply.
k8s@master:~$ kne deploy kne/deploy/kne/external.yaml

INFO[0001] Applying metallb ingress config
WARN[0001] Failed to create address polling (will retry 5 times)
WARN[0007] Failed to create address polling (will retry 4 times)
WARN[0012] Failed to create address polling (will retry 3 times)
WARN[0017] Failed to create address polling (will retry 2 times)
WARN[0023] Failed to create address polling (will retry 1 times)
Error: Internal error occurred: failed calling webhook "ipaddresspoolvalidationwebhook.metallb.io": failed to call webhook: Post "https://webhook-service.metallb-system.svc:443/validate-metallb-io-v1beta1-ipaddresspool?timeout=10s": EOF

OS: Ubuntu 20.04 server K8s version: v1.26.3 Thanks

How did you fix this, am I getting the same error?


npm postInstall message directed at users of achambers/ember-cli-deploy

Thought that maybe it might be a good idea to add a post install message for this version that basically says "Things have changed.  If you are upgrading from achambers/ember-cli-deploy then follow the migration instructions at ".

Closed by #85


Clarification on scope of Knapsacks.jl

Is there a list of types/variations of knapsack problems that Knapsacks.jl addresses? For example, does the package focus on the 0-1 traditional knapsack problem, or does it also address continuous knapsack problems and other variants?
I'm not that experienced in knapsack problems, so I couldn't tell for certain from the source code.

DynamicProgramming, BinaryModel, and ExpandingCore solve the 0-1 Knapsack, and Heuristic solves a sort of fractional Knapsack (probably without the last item), but only with integral input.

Thank you!


Provide syntax highlighting for JSON

Inspecting a JSON file, should provide highlighting

Is this closed due to an implementation being added? I'd be interested to see the commit referenced. I am curious about how much work is involved in adding a new syntax colouring mode in GToolkit.

The implementation is in the gt4smacc repository (https://github.com/feenkcom/gt4smacc). There is a special styler in that repository for SmaCC parsers. Using that styler, I was able to do the JSON styling with this method:
GtSmaCCParserStyler class>>jsonStyler: aParserClass
	<smaccStyler: #JSONParser priority: 50>
	^ (self forParser: aParserClass)
		stylerRules:
			{(GtSmaCCNodeStylerRule
				nodeClassName: #JSONLiteralNode
				styleBlock: [ :styler | styler foreground: Color blue ]).
			(GtSmaCCNodeVariableStylerRule
				nodeClassName: #JSONMemberNode
				variableNames: #(name)
				styleBlock: [ :styler | styler foreground: Color purple ]).
			(GtSmaCCNodeVariableStylerRule
				nodeClassName: #JSONObjectNode
				variableNames: #(leftBrace rightBrace commas)
				styleBlock: [ :styler | styler bold ]).
			(GtSmaCCNodeVariableStylerRule
				nodeClassName: #JSONArrayNode
				variableNames: #(leftBracket rightBracket commas)
				styleBlock: [ :styler | styler bold ]).
			(GtSmaCCNodeVariableStylerRule
				nodeClassName: #SmaCCError
				variableNames: #(dismissedTokens errorToken)
				styleBlock: [ :styler | styler foreground: Color red ])

In that repository, there are also stylers for Java & Javascript. There is also one for generic SmaCC parsers that styles keywords, comments, and errors.

Thanks for explaining @j-brant!

gt4smacc is now part of GToolkit


std.digest style fix: space between operators

follow-up to #4239

Closed in favor of doing it one PR - #4240
Sorry for the spam.


Fixes Android dismissModal from user_profile and thread screens

Ticket Link
https://mattermost.atlassian.net/browse/RN-463
https://mattermost.atlassian.net/browse/RN-515

Is not identical one uses pop and the other popToRoot


Warnings when using maven clean install

Using Maven's clean install command causes the following warnings to appear:
[WARNING] StatusNPC-1.1.0.jar, checker-qual-2.5.8.jar, gson-2.8.0.jar, matt-framework-1.3.jar, text-api-3.0.3.jar, text-serializer-gson-3.0.3.jar define 1 overlapping resources:
[WARNING]   - META-INF/MANIFEST.MF
[WARNING] maven-shade-plugin has detected that some class files are
[WARNING] present in two or more JARs. When this happens, only one
[WARNING] single version of the class is copied to the uber jar.
[WARNING] Usually this is not harmful and you can skip these warnings,
[WARNING] otherwise try to manually exclude artifacts based on
[WARNING] mvn dependency:tree -Ddetail=true and the above output.
[WARNING] See http://maven.apache.org/plugins/maven-shade-plugin/

Note, that the build jar still works without issues, but I would like to get rid of those warnings.
My pom.xml as of now: https://paste.helpch.at/qofonacoda.xml

That is odd, I don't get that warning when I do it.

Didn't mean to close it.


occlusion detection

Hi,
RAFT-Stereo is producing disparities also in regions that are occluded to one of the cameras of the stereo pair.
As a result the disparites are good when scene is similar to the training set. In terms of generalization it then
produces more errors in those partially occluded regions that are less similar to data in the training set.
In SGM implementations the left-rigth and right-left  consitency check is used to implicitly find occluded regions.
This check is done in SGM within the cost cube computed within one run (only left-right or only right-left) by swithching the Cost look up direction.
Where in the RAFT-Stereo implementation would you suggest implementing an equivalent for occlusion check without having to implement the full disparity computation twice?
Thanks.

Sorry for the late response.
The context features could be reused to compute flow in the opposite direction (although you might need to re-train). So flipping the cost volume and running additional GRU iterations to estimate right-left disparity should be relatively inexpensive.

The context features could be reused to compute flow in the opposite direction (although you might need to re-train). So flipping the cost volume and running additional GRU iterations to estimate right-left disparity as well should be relatively inexpensive, which you can use for a self-consistency check.

Hi, I swapped the left and right images and fed them into RAFT-Stereo to compute the right-to-left disparity. However, the result is not as accurate as the left-to-right disparity:

Does this mean that to compute the right-to-left disparity, re-train is necessary? Or am I missing anything to compute an accurate right-to-left disparity?


Completion not working in eshell

What did you expect to happen?
Pressing TAB in eshell after find-file  or e  should give completions.
What actually happened?
Emacs outputs Wrong type argument: stringp, nil to the message area.
Additional details:
The described behaviour is seen with:

my doom configuration;
fresh doom with only eshell added.

 I get completion after installing fish itself, but it isn't as convenient as before with company. Can I use eshell as before fish was introduced?

For some reason :init (setq fish-completion-fallback-on-bash-p t) in eshell module config had no effect and completion did not work without fish anyway.

It seems we can actually have both company and fish, it seems to work for me. Unfortunately, I can't get directories expanded anymore (D/co/ra to Documents/code/racket, for example) even with company-only, while it used to work before.

fish-completion-mode gets added to eshell-mode-hook on the following line: https://github.com/hlissner/doom-emacs/blob/7cf2109b1a0ca43f2a8567db1da0c426477c6cab/modules/term/eshell/config.el#L177
From what I can tell, the advice added just below this causes fish-completion--list-completions-with-desc to return nil when the "fish" executable doesn't exist.  The result of this function is used directly as an argument to split-string and subsequently string-match which is generating the error as it is expecting a string rather than nil.
I'm assuming that this advice should handle the case where "fish" isn't found, perhaps deferring to bash-completion?
If I disable the fish-completion-mode minor mode for the Eshell buffer, file and directory completions work fine.

Thanks @polaris64 for zeroing in on the cause. As of 1529dca this issue should be resolved. Let me know if that isn't the case and I'll reopen it. Thanks for bringing it to my attention!

No problem :)
Alternatively, I was looking at the fish-completion functions.  fish-completion--list-completions uses fish-completion--list-completions-with-desc and expects the latter to return a string, which is where this problem originated. However, the former function is allowed to return an empty list as fish-completion-complete (the function calling it) explicitly checks for this case and falls back to bash completion otherwise.  So, if the advice was kept the same as before but instead changed to advise fish-completion--list-completions then returning nil if "fish" is not found would be correct behaviour.
I'm not sure which is cleanest, so I'll leave that up to you, but I just wanted to let you know that this option also appears to follow a nice clean path too.


Error when deploying to production in Rails 5

Hi,
I am getting the following error when deploying to production server:
remote:        NameError: uninitialized constant ActionController::TestRequest
remote:        /tmp/build_c921c5050ebe0693cf4cd93b38e9b5d4/vendor/bundle/ruby/2.3.0/gems/draper-3.0.0.pre1/lib/draper/view_context/build_strategy.rb:41:in `block in controller'
remote:        /tmp/build_c921c5050ebe0693cf4cd93b38e9b5d4/vendor/bundle/ruby/2.3.0/gems/draper-3.0.0.pre1/lib/draper/view_context/build_strategy.rb:40:in `tap'
remote:        /tmp/build_c921c5050ebe0693cf4cd93b38e9b5d4/vendor/bundle/ruby/2.3.0/gems/draper-3.0.0.pre1/lib/draper/view_context/build_strategy.rb:40:in `controller'

This is using draper-3.0.0.pre1 in Rails 5.
Thanks

That was caused by some removed code: https://github.com/drapergem/draper/commit/5d9e6919c4736fa31d7fdf4770e326f621bf7e76#diff-a8e206117ed83e6691706a055f946081L41
What exactly is your setup, where TestRequest isn't loaded? I removed the defined? check because the tests didn't fail, but apparently it is needed.

@seanlinsley Thanks for the quick response
It seems that the error is happening during asset precompilation.
Some parts of our javascript code is dynamically generated so we have files such as example.js.erb
The .js.erb files contain Rails code that helps generate the final javascript file, some of this code might be using my presenters (which uses draper).

Additional information: the error is also happening in some of my background (Sidekiq) workers.

I'm running into a similar issue: Sometimes (but not always) one of my ActiveJobs raise the same error. Since this seems to be code that (presumably) only applies to the test environment, shouldn't it be run only in the test environment rather than development, production etc.?

For those running into a similar issue, you can use my fork for the time being: https://github.com/hgani/draper
Put this in your Gemfile:
gem 'draper', git: 'https://github.com/hgani/draper.git'

@hgani
gem 'draper', github: 'hgani/draper'

For security, since bundler 1.x is insecure by default:
# near top of Gemfile
git_source(:github) { |r| r += "/#{r}" if r !~ /\//; "https://github.com/#{r}.git" }

Could we get this merged ? It breaks when a decorator is loaded in the context of a background worker, for example taking care of email etc.

@fbatista no one actually opened a PR. Feel free to do that yourself.

Someone has made a pull request to address the same issue here: https://github.com/drapergem/draper/pull/763

i just rebased it.

Good job. Thanks @McRip

Any ideas when this is going to get merged, or should we keep using hgani's fork in Rails 5?

I've merged #763. Can someone confirm it's working as expected?

It is working for me.

Thanks for confirming @McRip. Once the other Rails 5 issues are fixed, I'll publish a new Rubygems release.


feat: Continuous real-valued functions separate points in T3.5-spaces.

Continuous real-valued functions separate points in T3.5-spaces, spelled in terms of SeparatesPoints. There was a brief Zulip discussion.

Looks neat to me 💎

bors r+
Thanks!


Guider

j.aimerais
mais je sais pas comment je peux aussi traverser ces pont

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

ID: 8865b382-b73c-1575-de19-8d46682c18cf
Version Independent ID: 84d8320e-423e-7219-e413-34acf2ab101a
Content: What is the Microsoft commercial marketplace?
Content Source: articles/marketplace/overview.md
Service: marketplace
Sub-service: partnercenter-marketplace-publisher
GitHub Login: @mingshen-ms
Microsoft Alias: mingshen

@Huncho3511 Can you please elaborate what is the feedback here about this Azure document?

@Huncho3511 As we didn't hear back from you so closing this issue for now. Let me know if you have any further questions with regards to this topic so we can continue our discussion here. Thanks.


std.algorithm.splitter for strings has opportunities for improvement

schveiguy (@schveiguy) reported this on 2013-03-04T11:10:42Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=9646
CC List

andrei (@andralex)
greensunny12
jack (@JackStouffer)
qznc

Description
Based on the way std.algorithm.splitter is implemented, it should perform at least as well as a simple hand-written range that does a brute force search for separators.

However, with certain test data, and a simple range, it does not perform as well.

An example (take from a post on the newsgroups), along with a simple MySplitter type that can split on any substring.  I have not done any in-depth research as to why this works better:

import std.stdio;
import std.datetime;
import std.algorithm;

struct MySplitter
{
    private string s;
    private string separator;
    private string source;
    this(string src, string sep)
    {
        source = src;
        separator = sep;
        popFront();
    }

    @property string front()
    {
        return s;
    }

    @property bool empty()
    {
        return s.ptr == null;
    }

    void popFront()
    {
        if(!source.length)
        {
            s = source;
            source = null;
        }
        else
        {
            size_t i = 0;
            bool found = false;
outer:
            for(; i + separator.length <= source.length; i++)
            {
                if(source[i] == separator[0])
                {
                    found = true;
                    for(size_t j = i+1, k=1; k < separator.length; ++j, ++k)
                        if(source[j] != separator[k])
                        {
                            found = false;
                            continue outer;
                        }
                    break;
                }
            }
            s = source[0..i];
            if(found)
                source = source[i + separator.length..$];
            else
                source = source[$..$];
        }
    }
}

auto message = "REGISTER sip:example.com SIP/2.0\r
Content-Length: 0\r
Contact:
<sip:12345@<IP_ADDRESS>:59788;transport=tls>;expires=4294967295;events=\"message-summaryq\";q=0.9\r
To<EMAIL_ADDRESS>User-Agent: (\"VENDOR=MyCompany\" \"My User Agent\")\r
Max-Forwards: 70\r
CSeq: 1 REGISTER\r
Via: SIP/2.0/TLS
<IP_ADDRESS>:59788;branch=z9hG4bK2910497772630690\r
Call-ID:<PHONE_NUMBER>026445\r
From: <sip:12345@comm.example.com>;tag=2910497618150713\r
\r
";

void main()
{
    enum iterations = 5_000_000;
    auto t1 = Clock.currTime();
    foreach(i; 0..iterations)
    {
        foreach(notused; splitter(message, "\r
"))
        {
            if(!i)
                writeln(notused);
        }
    }
    writefln("std.algorithm.splitter took %s", Clock.currTime()-t1);
    t1 = Clock.currTime();
    foreach(i; 0..iterations)
    {
        foreach(notused; MySplitter(message, "\r
"))
        {
            if(!i)
                writeln(notused);
        }
    }
    writefln("MySplitter took %s", Clock.currTime()-t1);
}

result (macbook pro 2.2GHz i7):

REGISTER sip:example.com SIP/2.0
Content-Length: 0
Contact:
<sip:12345@<IP_ADDRESS>:59788;transport=tls>;expires=4294967295;events="message-summaryq";q=0.9
To<EMAIL_ADDRESS>User-Agent: ("VENDOR=MyCompany" "My User Agent")
Max-Forwards: 70
CSeq: 1 REGISTER
Via: SIP/2.0/TLS
<IP_ADDRESS>:59788;branch=z9hG4bK2910497772630690
Call-ID:<PHONE_NUMBER>026445
From: <sip:12345@comm.example.com>;tag=2910497618150713

std.algorithm.splitter took 5 secs, 197 ms, and 89 μs
REGISTER sip:example.com SIP/2.0
Content-Length: 0
Contact:
<sip:12345@<IP_ADDRESS>:59788;transport=tls>;expires=4294967295;events="message-summaryq";q=0.9
To<EMAIL_ADDRESS>User-Agent: ("VENDOR=MyCompany" "My User Agent")
Max-Forwards: 70
CSeq: 1 REGISTER
Via: SIP/2.0/TLS
<IP_ADDRESS>:59788;branch=z9hG4bK2910497772630690
Call-ID:<PHONE_NUMBER>026445
From: <sip:12345@comm.example.com>;tag=2910497618150713

MySplitter took 3 secs, 668 ms, and 714 μs

github-bugzilla commented on 2016-06-02T20:40:40Z
Commit pushed to master at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/a9d5b8ca779d2dd89c8b49abae385e793d469e5d
Improve speed of find for random access needles (strings)

For find a string within a string, std.algorithm.searching.find was
unnecessarily slow. The reason is it created intermediate slices. A
naively written nested-for-loop implementation was a few times
faster.

For random access ranges (which strings are) this uses an index based
algorithm, which does not need to create an intermediate slice. Speed
is now comparable to the nested-for-loop implementation even in rather
pathological cases.

This might help with issue 9646.

qznc commented on 2016-06-28T17:31:20Z
For an update. This is still an issue for LDC 1.0.0 and DMD 2.071.0.

One problem is certainly that find does not get inlined. While everything of MySplitter gets inlined. Maybe this is more of a dmd than a phobos bug.

Does LDC use the LLVM inliner?

greensunny12 commented on 2018-03-30T01:16:31Z
New numbers:

DMD (2.079.0):

std.algorithm.splitter took 2 secs, 736 ms, 348 μs, and 3 hnsecs
MySplitter took 3 secs, 176 ms, 18 μs, and 9 hnsecs

LDC (1.8.0):

>  ldc -O4 -mcpu=native -release -flto=full

std.algorithm.splitter took 1 sec, 954 ms, 444 μs, and 9 hnsecs
MySplitter took 1 sec, 635 ms, 394 μs, and 8 hnsecs

So I there's still an opportunity for improvement with LDC.

github-bugzilla commented on 2016-10-01T11:45:16Z
Commit pushed to stable at https://github.com/dlang/phobos

https://github.com/dlang/phobos/commit/a9d5b8ca779d2dd89c8b49abae385e793d469e5d
Improve speed of find for random access needles (strings)


Update ember-cli to v2.11

Ran ember init and update blueprints
Modified index.js to match ember-cli recommended pattern
Added a test to ensure that the library is exported

I did this in preparation for dropping the bower dependency and moving it to NPM - seemed like updating was probably a useful first step.

@joebartels any feedback on this?

@joebartels are you still maintaining this library?

@jrjohnson I am (however not actively). The upgrade looks great. You covered a lot of grounds with it - thank you!


React 15 updates

This PR has a few updates to make this work better with React 15:

Remove onLevelChange from div. Fixes #6.
Fix React 15 warning about mutating style. The suggestion is to clone the style in the render method which is what this does using deepcopy.
Adds deepcopy as a dependency.

Thanks for this component, it's been handy in a few places for us.

Any chance this will get merged?


Fix javadoc malformed link warning

src/main/groovy/lang/ObjectRange.java:79: warning - Tag @link: malformed: "ObjectRange,"
These warnings are emitted during gradle javadoc task.

Whoops, I guess that was a load-bearing comma. :smile:

LOL, right :)  Thanks for PR.


Add backend routes and frontend service for admin CRUD of ModelRegistries

Closes https://issues.redhat.com/browse/RHOAIENG-7058

Description

Adds the following admin-only backend API routes:

GET /api/modelRegistries - lists ModelRegistries
POST /api/modelRegistries - creates a ModelRegistry
GET /api/modelRegistries/:modelRegistryName - gets a ModelRegistry
PATCH /api/modelRegistries/:modelRegistryName - updates a ModelRegistry
DELETE /api/modelRegistries/:modelRegistryName - deletes a ModelRegistry

And adds the new frontend/src/services/modelRegistryService.ts with functions to call these routes using axios.
Also adds a new constant MODEL_REGISTRY_NAMESPACE to backend/src/utils/constants.ts since there are some places where we were hard-coding the use of the odh-model-registries namespace.
How Has This Been Tested?

The admin page where this will be used does not exist yet (it is being created in https://github.com/opendatahub-io/odh-dashboard/pull/2810). I tested the two GET routes by inserting this temporary code into another existing page:
  React.useEffect(() => {
    const fetchData = async () => {
      const registries = await listModelRegistriesBackend();
      console.log('Registries!', registries);
      const registry = await getModelRegistryBackend('internal-registry');
      console.log('Registry!', registry);
    };
    fetchData();
  }, []);

This worked as expected. I did not yet test the POST, PATCH or DELETE routes because I don't want to mess with what's currently set up on the shared cluster. Those will be tested as part of upcoming PRs to consume these routes, and any issues we find at that time can be addressed in those PRs.
Test Impact

No tests here currently. There are no existing tests for any of these backend routes or corresponding services. They are also a temporary workaround to be removed when we access these services via a passthrough API (per @lucferbux) so tests here would be removed soon anyway.
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

@lucferbux @gitdallas I updated this to add the DELETE route, if you don't mind re-reviewing


[CI] Update autorest CI to use Python 3.9

Bumping the Python version up as some CI dependencies no longer support Python 3.8

/azp run python - autorest - pr


fix #1747: updated the way to parse application id in command-line (2…

…) included DynamicDagSpec

+1


Silence texinfo deprecation warnings with recent Perl

Patch obtained from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898994

Use patch -p1 -i ${srcdir}/0006-Fix-unescaped-left-braces-in-regexps-deprecated-sinc.patch
Use updpkgsums in the directory.

@wiiaboo will you fix issues?


Swift3

Updates to support the new swift 3 beta in Xcode 8 beta 6 (merged in some changes from zwaldowski/swift_3-preview_6)

See #191. Thanks!


Github check for private repo on Travis CI fails due to 403 Forbidden error

Running the latest 0.9.9 release through the new Github app integration check. However, reviewdog fails with the following:
reviewdog: status=400: fail to parse diff: GET https://api.github.com/repos/{owner}/{repo}/pulls/123:
403 Resource not accessible by integration []

The command I'm running is:
$ ./bin/reviewdog -version
0.9.9

$ ./bin/rubocop --config .rubocop.yml --rails | ./bin/reviewdog -f=rubocop -reporter=github-pr-check
reviewdog: status=400: fail to parse diff: GET https://api.github.com/repos/{owner}/{repo}/pulls/123:
403 Resource not accessible by integration []

I've tried this both with the REVIEWDOG_TOKEN set and unset. Same error both times.
If it helps, here's what Github shows the app config as:

Thanks for the report. it's dup of #140.
it's not related with REVIEWDOG_TOKEN or Travis CI but it might be a problem of GitHub API and reviewdog app persmissin.

@cupakromer
It was the problem of permission setting. I updated reviewdog app permission as written in
https://github.com/haya14busa/reviewdog/issues/140#issuecomment-395104341
Can you accept the new permission and try it again? Thanks!

👍 works great now. 💙 Thanks!


Netopeer support that set the password for the private key in merge_hostkey.sh?

Actually, I am not certain whether this is supported or not but I think it might, it depends to some extent on libssh. Just try to use the data of a password-encrypted private key and you will see what happens.

Actually, I am not certain whether this is supported or not but I think it might, it depends to some extent on libssh. Just try to use the data of a password-encrypted private key and you will see what happens.

When use password-encrypted private key, Netopeer occur error:
"Feb 16 08:12:20 ORU3668_MAIN daemon.err netopeer2-server[913]: Failed to set hostkey "genkey" (/tmp/RsZ9HY)".

Maybe Netopeer check private key format.

It seems libssh does not support using password-protected host keys so it is not going to work no matter what we do. On one hand it seems like a reasonable use-case, on the other you are the very first to ask about it so I suppose it is not used in practice. There is also the problem of how to get the password, the server is not supposed to be interactive in any way.


[GEP-1651] add a note about multi-network + routability

This adds a section to the GEP highlighting the discussion I had with the sig-multi-network folks.
I will bring this up in the SIG-NETWORK meeting tomorrow 08/28
/hold
Update GEP-1651 - Gateway Routability with details from meeting with sig multi-network

/cc @robscott

Once #2689 merges, this will need a rebase and update - the GEP files have moved.

@robscott rebased - please take a look

As it relates to this GEP, check out https://github.com/kubernetes/enhancements/pull/4477. The KNI project might be a way in which we can eventually achieve some of the routability GEP and various other "network awareness" type things.

/lgtm


Loading private certificate (pfx) from Linux container

Hi team,
The code snippet to load a public certificate in a Linux app is mentioned on the page. However, the code snippet to load the private certificate is missing. Could you confirm if the below code would work?
using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;

...
var bytes = File.ReadAllBytes("/var/ssl/private/<thumbprint>.pfx");
var cert = new X509Certificate2(bytes, new ReadOnlySpan<char>(passphrase.ToCharArray()));

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

ID: fbf6dd80-7e07-3e24-7aa8-d3f278f34588
Version Independent ID: e06a85f1-9a8c-7b94-a86d-33bdf2daf9d5
Content: Use a TLS/SSL certificate in code - Azure App Service
Content Source: articles/app-service/configure-ssl-certificate-in-code.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@ankitvijay Thanks for the feedback. We are investigating the issue and will update you shortly.

HI @RohitMungi-MSFT, I'm finally able to figure it out. Raised a PR to fix the documentation
https://github.com/MicrosoftDocs/azure-docs/pull/73572

@ankitvijay Thanks again for the feedback and raising PR. I have assigned the issue to the content author @cephalin for further  to review on this.

@ankitvijay Thanks for the PR. I've approved it. #please-close


Remove unnecessary enumerate in expand_maiyamok

What does this changes
Remove an unnecessary enumerate() in a loop

coverage: 52.821% (+0.01%) from 52.81%
when pulling cbcf8f28b1e6d438fc31828d0bdb9720cc0a9454 on bact:update-maiyamok
into 33fa45ada2b957a2cafa1521b63e1e787fa0b77a on PyThaiNLP:dev.


Look into using re2

google-re2 1.0
Might be much faster, might not be compatible.

Isn't compatible (we use look-around assertions). Speed isn't really a problem anyway.


fix(TextMessage): Allow for more complex list output

In Composer AI, we were seeing bad list rendering when lists contained complex formatting. React-markdown seems to categorize the complex formatting as p tags. Since they all had an inline-block on them, this caused rendering issues when the p tag was in an li. This should fix it. I also brought in a silly, more complex example based on Composer AI.

This is a little silly @edonehoo - let me know if you want a more real-life example here. I just need the bold and code formatting in the list.

Should be all set @edonehoo! Thank you.