Shell integration failed to activate in VS code Ubuntu

Does this issue occur when all extensions are disabled?: Yes, and also with all extensions enabled too

VS Code Version: 1.78
OS Version: Ubuntu 22.04.2 LTS

I am getting this:
bash

Process ID (PID): 78677

Command line: /usr/bin/bash '--init-file' '/usr/share/code/resources/app/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh'

Shell integration failed to activate

The following extensions have contributed to this terminal's environment:

Git

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

@octonawish-akcodes what happens when you run this in the terminal?
/usr/bin/bash --init-file /usr/share/code/resources/app/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh

@Tyriar Whenever I am opening my terminal in VS code it's just blank and not loading and the same goes on with Ubuntu direct terminal.

@octonawish-akcodes if Ubuntu direct terminal (gnome-terminal?) does that, then it's not an issue with vscode, but with your environment

Still have it, latest update, just installed plugin, remote ubuntu is VM "container" in home lab prox mox server.

Error screenshot

Visual studio version

Remote host version

Actual host version

ubuntu 22.04, vscode 1.90.1
I got the same problem. Can not launch integrated terminal in vscode, and raise error "vscode execvp(3) failed. argument list too long"

ubuntu 22.04, vscode 1.90.1
This same problem happened to me today. When I run the same command in my terminal it has no issue.
/usr/bin/bash '--init-file' '/snap/code/161/usr/share/code/resources/app/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh'


Automatic ASCII content population for branches in .tree files

Currently, creating .tree files as per the BTT framework involves either manually transferring the ASCII content of the branches, or to trust GitHub Copilot to accurately predict what ASCII symbols to fill in after already having written several lines in the .tree file.
An improvement for the dev experience would be to implement an auto-complete feature for tree branches that automatically fills in the ASCII content of a branch as a developer begins a new line. Furthermore, this feature would dynamically modify the ASCII content based on changes in line indentation.

@scorpion9979 you might find the Ascii Tree Generator](https://marketplace.visualstudio.com/items?itemName=aprilandjan.ascii-tree-generator) extension helpful.


⚠ Bofrost.at has degraded performance

In d58261a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1927 ms

Resolved: Bofrost.at performance has improved in f90e9cc after 7 minutes.


Disabled mount tests on AIX

One cannot create a ramdisk in a WPAR, since it shares filesystem with the LPAR host. Since we use ramdisk for the test, mount tests only work in LPARs. In the future we should find a way to test this code.
@btm @jaym

oh man, those WPARs these days.
:+1:

sigh :+1:
if there's any way of doing loopback mounts on AIX to files, that could be used instead of a ramdisk.
i think the only reason for a ramdisk in these is that its a temporary thing that you can mount and unmount...

@lamont-granquist Yeah I looked at looking a loopback mount but that's going to take some serious time and testing just to get the test in the right place. I don't want to hold up the release because of that :(

:+1:


Changing spacing around text on connector doesn't work

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
I have a text on a connector. I want to increasing the padding of the rectangle containing that text so that the connector isn't too close to the text. Increasing spacing doesn't work but moves the textbox around the anchor point.
To Reproduce
Steps to reproduce the behavior:

Create an arrow connector
Double-click on it to create a text "Text"
Select the text box, and in the format panel, click on the Text tab
Changing the values of the spacing (either top, left, bottom, right or globat) doesn't add any space around the label

Expected behavior
Increasing the spacing values should add padding to the text box. Instead, it seems like it's moving the textbox around the anchor point.
Screenshots

draw.io version (In the Help->About menu of the draw.io editor):

draw.io version 24.8.4

Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Browser Version 130.0.6723.117

I tested the problem in incognito/private mode with all browser extensions switched off, write "yes" below:

yes

This is what I would expect:


[WIP] Kovan deploy 2019 10 30 13 00

getting error

clearing application data didn't help. I think there is a real issue.


Enhanced functions naming in tests

In tests, the function that returns the resource config is named like testResourceConfig. But it's not actually testing anything, so it may be better to be named like getTestResourceConfig.
So testAwsNatGatewayConfig would change to getTestAwsNatGatewayConfig.

The Terraform Provider docs and examples seem to use the testAwsNatGatewayConfig naming - see testAccExampleResource here: https://www.terraform.io/docs/extend/testing/acceptance-tests/testcase.html. But I equally see how this could be confusing. I don't have a strong opinion so feel free to update them.

That's interesting, so now I think compatibility with the terraform source code might have its own advantages. So we can let them be as they are.


[Bug]: Crash when opening Nearby when location permission hasn't been granted yet

Summary
The app crashes when trying to open the Nearby screen. I observe this on a fresh installation when the app doesn't have the location permission.
Steps to reproduce

Install the app afresh
Login to the app
Click on Nearby
Observe the app crashing (likely due to lack of location permission)

Expected behaviour
The app should open the Nearby screen properly requesting for the location permission.
Actual behaviour
The app crashes with the exception trace found below. The location permission request is shown after the app screen goes away.
Device name
OnePlus Nord
Android version
12
Commons app version
Should be reproducible on master
Device logs
java.lang.RuntimeException: Unable to resume activity {fr.free.nrw.commons/fr.free.nrw.commons.contributions.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'double org.osmdroid.util.GeoPoint.getLatitude()' on a null object reference
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4935)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4974)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:60)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2345)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)

Screen-shots
No response
Would you like to work on the issue?
None

@nicolas-raoul @sivaraam I would like to work on this issue, if no one else is on it.

I tried to reproduce this issue on some physical devices (Android 13, 12 and 8), but the app behaved correctly, asking for permission first and thus did not crash. Interestingly, it did crash on both the emulators I tested upon, with the same device logs as given above.

I faced the same issue on my device that has android 14.

@sivaraam @nicolas-raoul Kindly review the above PR :]

Hi @sivaraam @nicolas-raoul ,

I am an Android developer with 4 yrs exp working for Infosys.
I would like to contribute to this repository, If you have any task for me. Please let me know.

@abhineshchandra1234 Please follow the instructions at https://github.com/commons-app/apps-android-commons/issues/5427 thanks! :-)

Does this issue still persist?

@bhoomigadhiya Sorry we will test @ShashwatKedia 's pull request soon.


Bit slice

Adding binary to fixed using bit slicing instead of multiplication. Use the -b flag to use this version instead

Hi folks! Is there something that is blocking us from merging this PR? CC @bcarlet

@Angelica-Schell, gentle reminder, when you get the chance could you check whether the implementation of binary_to_fixed_bit_slice that got merged as part of #2185 was meant to supersede this one? If so, then we can close this PR without merging.


NextJS SSR not working in production

Describe the feature you would like to request
Unable to deploy NextJS with Edge in Cloudfare Pages
Provide a brief explanation of why this feature is necessary
We should be using SSR to minimize the client js bundle size and render dynamic pages
Acceptance Criteria
List down criterias that should be included in this issue. This is to help reviewers look out for expected changes in PR.

[ ] Configure Nextjs with Edge API
[ ] /claim/ticket/100 should be able to be rendered without getStaticProps/getStaticPath

Provide an estimation of how long the developers should spend on implementing this feature
Estimations can be in terms of hours or a specific deadline.
References
https://developers.cloudflare.com/pages/framework-guides/deploy-a-nextjs-site/

Decided to go for Client side routing (Parcel-React) instead


An exception has occured while trying to execute cluster diagnostic checks container on the cluster. Exception: [Errno 8] Exec format error:

This k3s cluster is running on an "AMR64" architecture in an raspberry PI 4 , but there is a helm folder inside the azure folder that is on AMD64.

@bebound for awareness

connectedk8s does not support arm64. See https://github.com/Azure/azure-cli-extensions/issues/2701
It hardcodes amd64
https://github.com/Azure/azure-cli-extensions/blob/87aebb4f369015fa83003885d4e193977c1331a0/src/connectedk8s/azext_connectedk8s/custom.py#L455-L458

Thank you very much @bebound
I'll see if I create just one ControlP on an AMD machine I can solve this.

@vitorafgomes Please let us know if you need any further help on this issue.

Are we planning to update this, because its still hardcoded.

@SaurabhSharma-MSFT Can you please help me here?


Tabs indicator props ignored on initial render

First off, thanks for making this library, I hope it continues to gain momentum.
I'm having this problem and I'm not sure if it's something I'm doing wrong or a bug.
When I setup a tabs header row and style the indicator with the indicator props, it renders as expected:

When I add the tabs body and add some panels, on the initial render the indicator props are ignored and it defaults to the white indicator:

After a re-render the indicator props are picked up and the component is styled as desired.

Is there something I need to set to get it working from initial render?
FYI, this module is loaded in an iframe if that makes any difference.
const tabData: any = {     Requests: { label: "Requests", panel: RequestsPanel },     Faq: { label: "FAQ", panel: FaqPanel },     DataSharingPrivacy: { label: "Data Sharing & Privacy", panel: DataSharingPrivacyPanel },   };   return (     <div>       <Tabs value="Requests" className="bg-ob_bg_blue">         <TabsHeader className="rounded-none bg-inherit" indicatorProps={{ className: "!rounded-none !bg-ob_hl_blue" }}>           {Object.keys(tabData).map((key: string) => (             <Tab key={key} value={key} className="!text-white">               {tabData[key]["label"]}             </Tab>           ))}         </TabsHeader>         <TabsBody>           {Object.keys(tabData).map((key: string) => (             <TabPanel key={key} value={key}>               {React.createElement(tabData[key]["panel"], {})}             </TabPanel>           ))}         </TabsBody>       </Tabs>     </div>   );
Thanks.

Hi @elwoodhouse,
Could you please send me a link of the code you've done, you can use codesandbox or something similar to it for sharing the live code.
Cheers,
Sajad

Hi @elwoodhouse,
The issue is fixed now please update your @material-tailwind/react project by running:
npm i @material-tailwind/react@latest.
Cheers,
Sajad

Sorry it took me so long to get back to this issue. Yes this is fixed now, thanks for fixing so promptly.


proposal: runtime: add LockOSThreadRecursive to lock descendent goroutines recursively (for fine-grained Linux Landlock)

Proposal Details
Currently, runtime.LockOSThread does not lock the caller's descendent goroutines to the caller's OS thread recursively.
I'd like to propose adding a new function LockOSThreadRecursive to allow recursive locking.
This proposal does not affect the behavior of the existing LockOSThread function.
Expected usecase: Landlock
One of the expected usecases is to apply Landlock (Linux kernel's security module) to a specific package/function of Go program while leaving other packages/functions unconfined.
The target package/function will be wrapped with a goroutine that is recursively locked to a specific OS thread.
https://docs.kernel.org/userspace-api/landlock.html

Every new thread resulting from a clone(2) inherits Landlock domain restrictions from its parent. This is similar to seccomp inheritance (cf. Seccomp BPF (SECure COMPuting with filters)) or any other LSM dealing with task’s credentials(7). For instance, one process’s thread may apply Landlock rules to itself, but they will not be automatically applied to other sibling threads (unlike POSIX thread credential changes, cf. nptl(7)).

LockOSThreadRecursive will ensure that the Landlock policy isn't accidentally jailbroken when the goroutine spawns child goroutines.
(Side note: the meaning of "lock" in "Landlock" is different from "lock" in "LockOSThread")
Caveats
A thread confined with Landlock may still affect other threads' behavior by changing other threads' variables, via unsafe, cgo, asm, reflect, /proc/PID/mem, process_vm_writev(2), etc.
These loopholes may be detected with a third-party linter tool.
Relevant discussion
There was once a similar proposal submitted by another person on February 9th, 2018:

https://github.com/golang/go/issues/23758

Their proposal was rejected on March 6th, 2018: https://github.com/golang/go/issues/23758#issuecomment-370580337

Sorry, but no. This is a whole different scheduler from Go's current design, not just a simple tweak, as @aclements comments start to explain.

However, as the context has changed since 2018 (Landlock wasn't available in the upstream Linux kernel at that time), it might be worth reconsidering the decision.
Implementation
As discussed in 2018, the implementation will not be straightforward.

src/runtime/runtime2.go:

struct m: lockedg guintptr has to be changed to a slice

src/runtime/proc.go:

schedule, startlockedm, etc. have to be changed to force preemption of multiple g on a single m

Related Issues

proposal: runtime: add ForEachOSThread and LockThreadAndDescendentsExclusive #23160 (closed)
Proposal: option to lock child goroutines to same OS thread #23758 (closed)
proposal: syscall: add landlock support on Linux #47049 (closed)
proposal: runtime: allow N goroutines to be simultaneously locked to the same OS thread #49848 (closed)
proposal: runtime: pair LockOSThread, UnlockOSThread calls #20458 (closed)

Related Code Changes

runtime: don't start new threads from locked threads

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Given that this was previously rejected due to implementation complexity on the Go side, I don't see how that has changed significantly enough to warrant a reevaluation.

Given that this was previously rejected due to implementation complexity on the Go side, I don't see how that has changed significantly enough to warrant a reevaluation.

The previous discussion in 2018 predates the introduction of asynchronous preemption (SIGURG on 10ms timeout) in Go 1.14 in 2020.
So it might be still worth reevaluating the complexity.

I don't understand how this could work in practice. If every goroutine is locked to the caller's thread, even the simplest channel communication seems likely to deadlock.
Note that asynchronous preemption did not affect the scheduler in a significant way.  The scheduler already supported synchronous preemption, asynchronous preemption just added another preemption path.

Hi! I am a Landlock contributor in the Linux kernel and maintainer of the Go-Landlock library.
I also do not believe that this can be made to work - A Landlock sandbox that only applies to a subset of a processes' threads would just be as strong as the boundaries that the runtime can enforce between these (OS) threads, to keep nefarious threads to influence other threads' behavior.
However, threads influencing each others behavior or scheduling work for each other is a normal thing that (intentionally) happens in multi-threaded programs and there are no strong security boundaries between them that would keep them from messing with each other's data (e.g. through object aliasing).
Enforcing a Landlock policy on only one thread would make the entire code in userspace (Go runtime, all loaded program code) the "Trusted Computing Base" for that Landlock sandbox, and it seems unrealistic to harden that in a way so that threads can't influence each other.
TL;DR:

When we use Landlock for the full process, the kernel can give guarantees and reason on its own about the security of that.
If we used Landlock for individual threads only, we need to make security assumptions about how threads can interact within the process, which are unrealistic to make (and which fully go out of the window once a pooly written cgo dependency is linked).

Also see my remark on the original bug: https://github.com/landlock-lsm/go-landlock/issues/32#issuecomment-2566321271


Missing end_run(), finalise()

The problem:
When we try to run the following Cairo0 programs as examples, we see, that they all differ from python-vm in terms of execution and memory traces.
%builtins range_check
from starkware.cairo.common.math import assert_le_felt

func main{range_check_ptr: felt}() {
    assert_le_felt(1, 2);
    assert_le_felt(-2, -1);
    assert_le_felt(2, -1);
    return ();
}

%builtins ecdsa
from starkware.cairo.common.cairo_builtins import SignatureBuiltin
from starkware.cairo.common.signature import verify_ecdsa_signature

func main{ecdsa_ptr: SignatureBuiltin*}() {
    verify_ecdsa_signature(
        2718,
<PHONE_NUMBER>668487605176656616876767369909409133946409161569774794110049207117,
<PHONE_NUMBER>278599376317923499561306189851900463386393948998357832163236918254,
<PHONE_NUMBER>89502599949712887611119751108407514580626464031881322743364689811,
    );
    return ();
}

This is caused by the lack of finalisation and incorrect calculation of relocation offsets. Currently, during relocation we are using the actual segment sizes. That’s wrong approach in terms of builtins segments. Currently, when for example the range_check builtin segment is empty, we assume, that the size of this segment is zero, whereas we should be calculating the number of allocated memory units and using that as a size for range_check segment. If we try to run this program:
from starkware.cairo.common.find_element import find_element
from starkware.cairo.common.alloc import alloc

func main{range_check_ptr}() -> () {
    alloc_locals;
    let (local array_ptr: felt*) = alloc();
    assert array_ptr[0] = 1;

    let (element_ptr: felt*) = find_element(
        array_ptr=array_ptr, elm_size=1, n_elms=1, key=1
    );
    assert [element_ptr] = 1;

    return ();
}

We will notice, that the segments for relocation look like this:

Our VM: [1 65 108 110 111]
Python VM: {0: 1, 1: 65, 2: 108, 3: 108, 4: 1644, 5: 2156, 6: 2172}
In our relocation offsets, the builtins segments are entirely skipped, because they are empty, whereas in the python vm, the relocation segments offsets are incremented by the number of allocated memory units.

What we are currently missing are 3 functionalities, that are present in python-vm, rust-vm and go-vm. They are placed right after the program stops running and before the relocation. Those are the 3 functionalities:

End run

What it does - runs, until sufficient number of vm steps have been executed, to allocate needed number of memory cells for the builtins segments.
How it works:

Calculates the SegmentUsedSizes for all segments
Run for the next power of 2 steps
Until not InsufficientAllocatedCells - thrown by any check described in part 1.3 if any check is wrong

Run for 1 step
Run for the next power of 2 steps

Set run ended to true

Helper methods that need to be implemented:

check_used_cells
check_range_check_usage
check_memory_usage
check_diluted_check_usage

Read return values
FinalizeSegments - calculate the actual offsets used for relocation

What is finalisation - this method assigns the given segment size to the SegmentSizes map (stored for instance in MemoryManager). Those SegmentSizes are later used as offsets during relocation. Moreover it assigns public memory offsets for given segment. If public memory passed to finalize is nil, assign empty list.
Public memory - used in check_memory_usage
How FinalizeSegments works

Check if run ended
Finalize data segment, with segment index 0, size of program data length and public memory as (i, 0) for i in range(len(self.program.data))
Finalize execution segment, with segment index 1, size as nil and public memory as (x + self.execution_base.offset, 0) for x in self.execution_public_memory
Finalize all builtin segments:

Calculate builtin segment size:

Finalize builtin segment with segment index, calculated size and no public memory

Changes required in current code:

Relocation:

Memory manager should contain SegmentSizes map (assigned during finalisation)  and SegmentUsedSizes map (actual sizes of the segments). They could be placed here.
Currently during relocation we are calculating the offsets table dynamically using the actual sizes of the segments. This causes problems, as we should use the sizes calculated during finalisation for builtins segments (even when they are empty), instead of directly taking the builtins segments sizes (0 if empty), for the memory trace to exactly match the python-vm.

Builtin runners:

They need to contain this following information which is currently not present: ratio, cells per instance, instances per component. Maybe turning the BuiltinRunner from interface to datastruct would help.
They need to implement method, responsible for calculating allocated memory units
Layout flags? Some builtins may not be present in executed code, but may be needed in the python-vm output.

please if this is an issue, can I be assigned this?

Hi @Osatuyi, this issue is currently just a writeup and requires further discussion.

alright.

Hey @MaksymMalicki thanks for gathering all these information! I have some questions, hope you can answer.

End run What it does - runs, until sufficient number of vm steps have been executed, to allocate needed number of memory cells for the builtins segments.

I am not sure I understand, running steps for the sake of running steps won't allocate extra slots in the builtins as far as I know. Once you hit the end of program running extra steps won't generate any changes on the pc.  Also, the runner already runs to the power of 2 when in proof mode.

Helper methods that need to be implemented:
check_used_cells
check_range_check_usage
check_memory_usage
check_diluted_check_usage

I am uneasy that you know with such clarity what methods are already needed before writing a solution. Are you by default saying that we should use the Python implementation? If it is the best way to do it for our project, then great, but I am unsure that you've already went through that line of thought.
I think before saying what's missing, we should now why is it missing. Why is it required by the VM, and then how do we solve it. I believe there are subtle but important differences there.

Read return values

Same thing here. We dont need "read return values", I have no idea what does that means. From what I gather by reading the definition, we need to include in the memory trace a pointer to each builtin segment last accessed/allocated value. I dunno this explanation is correct, but at least there was an attempt to understand the VM..
If you don't understand what's missing then it makes sense to just use the python solution and not thinking too much about it. If that's the goal of this VM, then great, but then again, all VMs already do that... .

They need to contain this following information which is currently not present: ratio, cells per instance, instances per component. Maybe turning the BuiltinRunner from interface to datastruct would help.

What is ration, cells per instance and instance per component? Could you expand on what each of those fields represent.
I will stop signalling other stuff. I agree with the diagnosis, I disagree with everything else. All the solutions suggested seems to follow the thought of "We will be implementing it like this, because someone 3 years ago implemented it like this". Not taking into account the current context, the difference between languages and the difference in architecture that both projects have.
Again, that's not a bad approach but I think it is not the correct one, unless the goal is making a mediocre product. And again, if that's the best solution let's implement it that way, but first let's prove that's the best solution and if not then let's create it ourselves. I think that's the right approach.

Hi @rodrigo-pino, thanks for the feedback. I rewrote the issue context, focusing more on the diagnosis of the problem and what causes the differences. I agree that the previous version was very suggestive and written with the approach influenced by the existing solutions.


Factor indexer support out of maptos-opt-executor

Is your feature request related to a problem? Please describe.
The support for the indexer service was added to maptos-opt-executor.
This adds significantly to the dependencies, including some native dependencies like libpq, which may be undesirable for SDK crate users that need just the executor protocol unit.
Describe the solution you'd like
Consider moving the indexer service into a separate micro-crate with its own dependencies.
Describe alternatives you've considered
If not possible to make a clean split, consider feature-gating the indexer support.
Additional context
cargo tree -p maptos-opt-executor before and after #210 got merged into main.
The current implementation of the indexer shares the API context, the database connection, and bits of configuration with the executor.

The indexer service has been removed from Suzuka executor and moved to a separate service that use gRpc indexer entry point of the Suzuka node to get notified of new transactions.
See PR #295 #431  #436

Need an e2e test in production env with current Suzuka node Testnet DB to validate the initial dump of the indexer DB.


DM-45079: Exclude notebooks if required services are not provisioned

This got bigger than expected, as usual.  I'm glad to break it up into separate PRs for subsets of the commits.
Don't run notebooks in environments that don't have the necessary services

Add a list of available services to app config (to be replaced by some kind of service discovery at some point)
Parse a 'mobu' section out of notebook metadata
Don't run the notebook if it declares required services in the metadata and the services aren't available in the environment.

Putting the required services in the notebook metadata can be done in JupyterLab, though is not the nicest UX for this.  We now have an in-repo config file (mobu.yaml), maybe it would be better to keep a manifest in there?  I like having it closer to the notebook though. I'm open to other suggestions.
Consolidate all notebook filtering logic to the business
... instead of being split/duplicated in the business and the CI worker.

This is nice because it is easier to understand and less error prone
This stinks because a job that didn't find any notebooks to run will look just like a job that successfully ran notebooks

I'd like to mark the check run as neutral in this case, but I think it can wait until another PR.
There are a few ways to do it:

Inspect the log output in the SolitaryResult. The more I think about this, given this notebook runner is the only case of this third type of result from a solitary execution (aside from 'success' or 'failure'), the less opposed I am to do it...
Factor the filtering logic out and use it in both the CI worker and in the NotebookRunner. I don't love this, because:

it requires looking at the contents of all of the files in both places, which isn't horrible I guess
We'd have to remember to factor out any future logic that gets added to NotebookRunner outside of the filtering that causes a wacky situation like this

Thread a result type through the solitary execution path and have the NotebookRunner return a SolitaryNeutralResult.  This is probably the right way to do it, but it would add a lot of changes to this already-big-ish PR.

Another related thing would be putting execution logs in the github check details.  I haven't done this so far because I'm worried that this would make it easy to accidentally leak some kind of sensitive info.
Testing

Notebooks with required services metadata don't get run
In-repo exclude_dirs overrides flock exclude_dirs
CI runs where all notebooks are filtered succeed

Gonna split this up into smaller PRs.


Is it planned to be released in the Store?

AFAIK this plugin will be released in the Store after a few checking processes.


project deploy start command throws error when there are no changes to deploy

Summary
When project deploy start is run on a source tracked or (source:push) it fails with a non-zero exit code when there are no changes to deploy. force:source:push doesn't throw an error when there are no changes to deploy, which seems like the correct behavior. I think it makes sense to throw error when a source path or metadata directory is specified and there are no changes to deploy, but not for push
Steps To Reproduce:
Repository to reproduce: dreamhouse-lwc

Push the code to a scratch org using project deploy start.
Run the project deploy start command again

Expected result
The message no changes to deploy should be displayed with a non-zero exit code.
Actual result
An error is thrown with the message No local changes to deploy
System Information

bash in wsl2

If you are using sfdx

  "cliVersion": "sfdx-cli/7.196.7",
  "architecture": "wsl-x64",
  "nodeVersion": "node-v19.7.0",
  "osVersion": "Linux <IP_ADDRESS>-microsoft-standard-WSL2",
  "shell": "bash",
  "rootPath": "/home/suraj/.npm/lib/node_modules/sfdx-cli",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 2.1.8 (core)",
    "@oclif/plugin-commands 2.2.10 (user)",
    "@oclif/plugin-help 5.2.9 (core)",
    "@oclif/plugin-not-found 2.3.23 (core)",
    "@oclif/plugin-plugins 2.4.4 (core)",
    "@oclif/plugin-search 0.0.15 (core)",
    "@oclif/plugin-update 3.1.9 (core)",
    "@oclif/plugin-version 1.3.2 (core)",
    "@oclif/plugin-warn-if-update-available 2.0.33 (core)",
    "@oclif/plugin-which 2.2.18 (core)",
    "apex 2.2.10 (core)",
    "auth 2.7.11 (core)",
    "community 2.2.9 (core)",
    "custom-metadata 2.1.11 (core)",
    "data 2.3.9 (core)",
    "deploy-retrieve 1.8.10 (core)",
    "info 2.6.4 (core)",
    "limits 2.3.12 (core)",
    "org 2.6.12 (core)",
    "packaging 1.16.3 (core)",
    "schema 2.3.6 (core)",
    "settings 1.4.3 (core)",
    "signups 1.4.11 (core)",
    "sobject 0.1.4 (user)",
    "source 2.9.4 (core)",
    "telemetry 2.1.3 (core)",
    "templates 55.4.5 (core)",
    "trust 2.4.6 (core)",
    "user 2.3.7 (core)",
    "@salesforce/sfdx-plugin-lwc-test 1.0.1 (core)",
    "@salesforce/sfdx-scanner 3.10.0 (user)",
    "queryAll 0.0.1 (link) /home/suraj/projects/cli-plugins/queryAll",
    "sfdmu 4.26.8 (user)",
    "sfdx-apex-typings-generator 3.0.1 (user)",
    "sfdx-cli 7.196.7 (core)"
  ]
}```

@vertexcs-suraj you're not the first person to comment on this...coming from push it's definitely different having these all in the same command.
What would you expect to happen for the same command if you provided a -m CustomObject or -d force-app/main/defaul/classes or -x package.xml and there was nothing to deploy?  Do those still feel like 0 or would that be a 1?
If 1, would you want only the "deploy changes like push" to return zero for empty deploys?


Support monero transfers

MoonRamp should have a transfer API for sending Monero
Monero is uniquely complicated in generating transactions. Ideally this is all done with JsonRPC calls and monero-rs, however even this is fairly complicated so embedding wallet_api.h is probably the lower hanging fruit.

Worth checking out https://github.com/serai-dex/serai/tree/develop/coins/monero


clean up some comments in Ast.v

I've been browsing through the code and saw some comments with typos in them. These are probably (mostly) my typos from the first version.

Is the entire system failing to build? This seems to be a bug in reify.ml4.
Ultimately, what branch should commits like this go into?

I think it's a coq version problem in .travis.yml, it was still targeting coq.8.7.1, I've tried pushing a fix

We're rather working on master now, and backporting when necessary.

Merged in 8.8 now


PowerBI Desktop Prerequisite Missing Version/Type Details

In order to bind a parameter to a table column, you need to work off the standard Power BI Desktop. I was trying this on Power BI Desktop optimized for the Report Server, and this feature does not work on that edition/type of Power BI Desktop. Adding this disclaimer could save a lot of time for another Power BI developer.

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

ID: dc66475d-11b3-ba33-cde4-9948dc07ea2c
Version Independent ID: 46aeb704-a74f-2064-307f-24660579ef4c
Content: Dynamic M query parameters in Power BI Desktop - Power BI
Content Source: powerbi-docs/connect-data/desktop-dynamic-m-query-parameters.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

I added that limitation to the article, thanks!


Correct cargo install command

Seems there are a few more installable crates in the repo than just the lsp, so you need to be explicit :)

I also noticed in https://github.com/helix-editor/helix/pull/7474 that no wiki on this existed yet, so made one https://github.com/helix-editor/helix/wiki/How-to-install-the-default-language-servers#typst - anything further that should be mentioned there?

no longer needed, as helix has the right config

Yes... But no. Because the PR has a quite old commit (ecf8596336857adfcd5f7cbb3b2aa11a67badc37) it will leverage an outdated version. A PR to update the version is welcome but as I plan to bring important modifications to the grammar #19 I wait to complete those change before making a new PR. Especially because, those modifications should fix an important bug #17
But still, once the new release of Helix is out, I can change the installation instructions, indicating it is only to benefit from an up to date grammar.

Oh... wait no actually. Someone already updated the commit hash. The ecf8596336857adfcd5f7cbb3b2aa11a67badc37 commit is very recent. That's great.


PID Location

Where am I supposed to put the PID?

Is there any solution for this?

Hello @cpgb85 .
I am not sure what you mean by PID.
Can you be more specific please

Feel free to reopen if needed @cpgb85


Compile error with -DNOWEBVIEW=ON

Setting it skips checking for QTwebengine however during build it still tries to compile with it
[ 45%] Building CXX object CMakeFiles/opensteam.dir/src/client/gui/dynamicwebviewlibrarymanager.cpp.o
In file included from /Games/AUR/opensteam-git/src/opensteamclient/src/client/gui/dynamicwebviewlibrarymanager.cpp:3:
/Games/AUR/opensteam-git/src/opensteamclient/src/client/gui/../../dynamicwebview/dynamicwebviewinterface.h:4:10: fatal error: QWebEngineView: No such file or directory
4 | #include

Fixed in new commit. Please retry.

i also had this issue and can confirm it's fixed my side.
when trying to launch opensteam i get Failed to load steamclient.so should i open a issue on it or are you supposed to copy it over manually in the alpha?

It should be downloaded automatically, but it is kind of buggy and sometimes requires a couple starts to get it going.

i deleted the comment because i wasn't certain if it was fixed
compiled it a few more times and seames to be pretty reliable now
it also doesn't seam to need qt6-webengine as a dep anymore.

couple starts to get it going

cool i'm gonna take that as open a seperate issue to not clog this one

Yep. Closing this one.


removing bufferVolumeMetrics sidecar from drainer job so it can complete

Q
A

Bug fix?
yes

New feature?
no

API breaks?
no

Deprecations?
no

Related tickets
fixes #952

License
Apache 2.0

What's in this PR?
remove bufferVolumeMetrics sidecar from drainer job as its a daemon and will never exit which prevents the job from ever completing
Why?
drainer job can never complete.
Additional context
I don't believe the metrics exposed by the drainer job can be picked up by prometheus anyway, and if they could should they?
Checklist

[x] Code meets the Developer Guide
[x] User guide and development docs updated (if needed)
[x] Related Helm chart(s) updated (if needed)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Don Wonders seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @wondersd, thanks for your contribution! Because we've merged this pr https://github.com/banzaicloud/logging-operator/pull/986
and this solves the root cause of the problem. I'll close this. I hope this is okay for you too; if not, let me know; thanks again

@ahma works for me, thanks for taking a look at it!


Auto Date in Title

First of all thank you for taking on the task of working on Tomboy-ng.
I have been using Tomboy for many years.
There's are two things I would like to address in the settings:
Version installed 0.34 GTK2
1- There needs to be a "No Date or Blank" option is the Date option. I find that very frustrating, as I always give my notes a proper title that makes sense.
2- On Linux Mint 20.2, when I make changes to the settings page, the changes are not stored and are not applied to the next note. Even after closing the app and restarting it.
Any help would be great!
Thank you

Hi Joseph, thanks for the report.
No Date or Blank ?  You mean the default title for a new note ?  I have there, slavishly followed the original Tomboy and a couple of people have commented on that choice.  We do need to be sure there is a title because the note is autosaved if any change is made.  But, honestly, no one leaves that default, its horrible !  Hmm, what if I auto selected it on create, that way, if you started typing (without moving cursor first) what you type first becomes the new title ? Yes, "something" needs to be done.

On Linux Mint 20.2 ...

Now, that sounds really nasty. No idea whats happening there. The config file is (almost certainly) in $HOME/.config/tomboy-ng/tomboy-ng.cfg - can you please see if its there, when it was last changed ?
Does the problem apply to all config options, not just one specific one ?
It is possible to alter where the config file is, its a command line option so, maybe starting tomboy-ng from the command line where you can be sure there is nothing added ? Don't forget to stop the existing instance before starting a new one.
I do test against Linux Mint, did not see anything like this !
Davo

Any further info on this topic ?
Davo

No further info on this problem, I guess we have to assume its no longer an issue.
So, I'll close
Thanks for the report.
Davo


SemanticsDebugger should use SemanticsNodes directly

Instead of reading the mojom serialization and re-inflating it, the
SemanticsDebugger now shows the SemanticsNode objects directly.

@Hixie

LGTM.
Since you have the read-only SemanticsData structure already, it seems like it'd be worth going all the way and not exposing the mutable data structures at all. Then you could just expose the SemanticsData objects directly on the RenderObjects.

Since you have the read-only SemanticsData structure already, it seems like it'd be worth going all the way and not exposing the mutable data structures at all. Then you could just expose the SemanticsData objects directly on the RenderObjects.

I'd like to try getting rid of the SemanticsData objects by moving the merging logic into the semantics compiler.  Having the merge operation still pending in SemanticsNode tree is pretty awkward.


Support activity types development

part of edenlabllc/ehealth.api#4871

Review all specs
Test Transactions Validations
Review old validations
Test Cron Job
Legal entity type validations


Filter Relationship

Hi there!
Thanks for this awesome package, i really like to use it however, im facing the issues when i do some implementation. It cannot filter the relationship as you were explain in the videos. id like to use it in $contains approach, here are my code. The idea is i wanted to filter the member by its phone_number field.

DATA FILTERED

DATA UNFILTERED

As you can see, there are member with phone_number 17.

Hello, @masitings. glad to hear that purity helped you.
everything seems to be alright from here.
make sure you added Filterable trait in both User and Member classes.
if you did so and still didn't get anything, provide me with a detailed error by changing silent variable to false in purity.php config file.

Hi @abbasudo
This is the message that i got when i set the silent variable to false. Im guessing that the error was something about relation that User cannot get the Member right ? I also attached my model in here whic 1 User can only have 1 Member.

User model

Member model

oh thats actually a problem with the package. it only considers hasMany relations in the allowed fields.
this issue will be fixed in the next update.
however, to quickly solve this problem by yourself add this variable to your User model in order to overwrite allowed fields.
protected $filterFields = [
    'first_name',
    'last_name',
    'email',
    'member',
    // etc ...
];

hasOne relations do not extend Relation model directly so we have a problem identifying them in this line
any PR to fix this will be accepted

i see, another questions.. So, actually the Member has relation with Tier too, do you think with that kind of approach i can put the fiilterFields there by using 'member.tier' or i need to put the hasManyThrough relationship to be able to put in there ?

i see, another questions.. So, actually the Member has relation with Tier too, do you think with that kind of approach i can put the fiilterFields there by using 'member.tier' or i need to put the hasManyThrough relationship to be able to put in there ?

hasManyThrouth extends Relation so you are fine. however you should define filterFields with tier in Member class to overwrite allowed fields of Members

@abbasudo noted! Thanks, well helped!

@masitings Glad to help. feel free to open issues anytime.

You must define return type in relationship methods in order to package to identify them as allowed fields by default.

Hello, I'm struggling with some relationship filters. In short, I'm having trouble filtering relationships (One to Many (Polymorphic) [morphTo]). I did a lot of debugging of the SQL query that was being executed and I saw that the morphTo relationship was never used. So I came here to look for issues, and I believe it seems to be related to this issue. I saw that they said that the HasOne relationship is also not recognized. Since they said that this would be fixed in the future, I did some tests here with a HasOne, but I don't think it works yet, right?
I refactored my production environment to use purity filters, and I'd like to take this opportunity to say that the package is amazing. Unfortunately, I didn't notice that this type of relationship stopped working. It used to work with my old strategy (https://github.com/savannabits/primevue-datatables).
I've tried with and without filling in the $filterFields, I've also made sure that all relationships have the return type filled in, and the Models use the Filterable trait.
I'd like to check if I'm doing something wrong or if it really is a current limitation?


Fix c++11 requires at least one argument for ...

@wjwwood FYI

changes propagated to ros2 branch in #72


Apple Silicon Compatibility

This may not be so much an issue as question: How well does the Python implementation of xgboost currently work on the new Apple silicon? Does it compile? Are there pre-compiled pip/conda packages available? What are people's experiences?

Currently there is no precompiled binary package for Apple Silicon. Running pip install xgboost will download the source distribution and compile it.

Maybe we can try https://aws.amazon.com/about-aws/whats-new/2021/12/amazon-ec2-m1-mac-instances-macos/ ?
XGBoost built from source can work on m1 I believe, at least it's passing tests on cran and rhub.

@trivialfis AWS requires minimum 24 hour allocation for Mac instances. So each time we launch this machine, we'd be charged for 24hour period. I'm afraid we can't afford this with our current budget.

@RoyalTS You can install XGBoost with Apple Silicon binary using Conda:
conda install -c conda-forge xgboost

which will install XGBoost built with osx-arm64 architecture. See https://github.com/conda-forge/xgboost-feedstock/pull/79

@hcho3 Can we document this?

Also, we have jvm packages.

@trivialfis Where are those JVM packages? I couldn't find a libxgboost4j.dylib in any of the Conda packages.

Conda is for the Python package only.

In that case I think this issue should be reopened.

Hello everyone, we plan to publish a PyPI package that's compatible with Apple Silicon (M1). If you have an Apple Silicon device, can you help us out by trying it out today?
Install the nightly by running
pip install https://s3-us-west-2.amazonaws.com/xgboost-nightly-builds/master/xgboost-1.6.0.dev0%2B34a238ca98d98b090c441d494ae7338276742b64-py3-none-macosx_12_0_arm64.whl

I could train a simple model on some randomly generated data, using Python 3.9.9 on macOS 12.2 running on a 13" M1 MBP.

@Craigacp Thanks for trying it out!

Update: I ran the full suite of Python tests on a Macbook Pro (16 inch, 2021) and all passed. We should be able to upload osx_arm64 wheel on Pip.

@Roh-codeur No, XGBoost does not use the GPU on Apple machines.

Hello everyone, we plan to publish a PyPI package that's compatible with Apple Silicon (M1). If you have an Apple Silicon device, can you help us out by trying out the nightly build?
Install the nightly by running
pip install https://s3-us-west-2.amazonaws.com/xgboost-nightly-builds/master/xgboost-1.6.0.dev0%2B34a238ca98d98b090c441d494ae7338276742b64-py3-none-macosx_12_0_arm64.whl

Thanks so much!

@zachwill nice work. Tested OK with a simple Iris dataset pipeline my macbook air M1 chip

@Roh-codeur No, XGBoost does not use the Apple GPU.

Is there any plan to support Apple Silicon with Metal Acceleration?

No, we do not plan to support Apple GPU.

@hcho3 Think this can be closed with 1.6.0 stable shipped! 🎉

@zachwill Not yet, since the JVM package doesn't yet support Apple Silicon.

Hi everybody, is there currently a way to implement using XGBoost on Apple Silicon?

Closing in favor of https://github.com/dmlc/xgboost/issues/8054 .

Hello everyone, we plan to publish a PyPI package that's compatible with Apple Silicon (M1). If you have an Apple Silicon device, can you help us out by trying out the nightly build?
Install the nightly by running
pip install https://s3-us-west-2.amazonaws.com/xgboost-nightly-builds/master/xgboost-1.6.0.dev0%2B34a238ca98d98b090c441d494ae7338276742b64-py3-none-macosx_12_0_arm64.whl

Thanks so much!

device

is not success in my laptop

Hi everyone, we are seeking donations to rent a Mac Mini (M2) from MacStadium. If we reach our goal of 110 USD/month, we will be able to natively support JVM packages on Apple Silicon. Please consider making donations at https://opencollective.com/xgboost/projects/ci-for-apple-silicon?slug=ci-for-apple-silicon.
See https://github.com/dmlc/xgboost/issues/9570 for more details.


Execution in Order visible

Question
how to make action execution visible? If I click a button to execute a script, the script is executed but the execution is hidden. If in the intervals of execution there is an update of some text fields, for example, it does not matter where at the beginning, in the middle or at the end, I will see all this only after the complete execution of the script. no fields are updated during execution.

Kind of hacky but it you return from the script block multiple times and re-execute it you can do it:
Start-PodeServer -Threads 3 {
    Add-PodeEndpoint -Address localhost -Port 8092 -Protocol Http
    Enable-PodeSessionMiddleware -Secret 'ZZZ' -Duration (60 * 60 * 24) -Extend

    Use-PodeWebTemplates -Title 'Tool'

    $InfoSection = New-PodeWebCard -Content @(
        New-PodeWebButton -Id 'But' -Name 'But' -ScriptBlock {
            Start-Sleep -Seconds 0.5
            $WebEvent.Session.Data.Progress += 5
            if ($WebEvent.Session.Data.Progress -le 100) {
                Update-PodeWebProgress -Value $WebEvent.Session.Data.Progress -Name 'Download'
                Invoke-PodeWebButton -Id 'But'
            } else {
                Show-PodeWebToast -Message 'Download complete'
                $WebEvent.Session.Data.Progress = 0
            }
        }
        New-PodeWebProgress -Name 'Download' -Value 0 -Colour Green -Striped -Animated
    )

    Add-PodeWebPage -Name 'Page1' -Icon 'cart-minus' -Layouts $InfoSection
}

I see on the roadmap:
Everything uses AJAX at present, if we move to using WebSockets then Output actions can happen on the fly

Hallo @ili101,
Message: Die Eigenschaft "Progress" wurde für dieses Objekt nicht gefunden.
StackTrace:    bei System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext funcContext, Exception exception)
   bei Invoke-PodeScriptBlock(Closure , FunctionContext )
   bei System.Management.Automation.PSScriptCmdlet.RunClause(Action`1 clause, Object dollarUnderbar, Object inputToProcess)
   bei System.Management.Automation.PSScriptCmdlet.DoEndProcessing()
   bei System.Management.Automation.CommandProcessorBase.Complete()

I don't quite understand what you want to show. I also use Progressbar but it doesn't show progress update/change although I add progress update after certain task but still I get only end result and full progressbar at once.

The error is probably as you missing the Enable-PodeSessionMiddleware line.
The general idea is as it can't be done correctly, split your task into steps, in every step update the progress and execute the next step. It works but it's hard to implement and can brake potentially so I don't recommend it.
The best solution is as listed in Badgerati roadmap is to use WebSockets, I don't know how big of a task it is.
I new see that there is a timer in Pode.Web New-PodeWebTimer.
So in the script that executing the task we can save the progress into a Pode state. And set a timer to update the progress bar every 10 seconds from the state value:
Start-PodeServer -Threads 3 {
    Add-PodeEndpoint -Address localhost -Port 8092 -Protocol Http
    Enable-PodeSessionMiddleware -Duration (60 * 60 * 24) -Extend

    Use-PodeWebTemplates -Title 'Tool'

    $InfoSection = New-PodeWebCard -Content @(
        New-PodeWebButton -Id 'Do' -Name 'Do' -ScriptBlock {
            Set-PodeState -Name ("Progress" + $WebEvent.Session.Id) -Value 0
            $Tasks = 1..200
            for ($i = 0; $i -lt $Tasks.Count; $i++) {
                Start-Sleep -Seconds 1
                Set-PodeState -Name ("Progress" + $WebEvent.Session.Id) -Value (($i + 1) / $Tasks.Count * 100)
            }
        }

        New-PodeWebProgress -Name 'Download' -Value 0 -Colour Green -Striped -Animated

        New-PodeWebTimer -Interval 10 -ScriptBlock {
            $Progress = Get-PodeState -Name ("Progress" + $WebEvent.Session.Id)
            Update-PodeWebProgress -Value $Progress -Name 'Download'
        }
    )

    Add-PodeWebPage -Name 'Page1' -Icon 'cart-minus' -Layouts $InfoSection
}

Hey @eugen257, @ili101,
Timers and State is the usual approach I tell people to use - or Files in place of State. And like how you've mentioned, have a button/etc update the State, and the Timer retrieve this to update elements dynamically. It's not elegant, but about the best way to achieve it.
As you've spotted @ili101, I do want to look at moving over to WebSockets instead of using AJAX which would make this a whole lot simpler!


Nobb z subdirectories

https://github.com/exercism/xerlang/pull/84 originally from here.

Sorry, totally forgot that I wanted to squash today... Quite to much things
to do everywhere...
Tim McGilchrist<EMAIL_ADDRESS>schrieb am So., 31. Jan. 2016
23:50:

Merged #87 https://github.com/exercism/xerlang/pull/87.
—
Reply to this email directly or view it on GitHub
https://github.com/exercism/xerlang/pull/87#event-533415450.


ARM version

https://github.com/epoweripione/docker-php/blob/2f7f6c5bff05b48f53974788969e87ab266e95c0/php-fpm-8.1/Dockerfile#L78
If you add the UNAME variable for pdflib download url it will work for ARM (aarch64)
    UNAME_M=$(uname -m) && \     curl -fSL -o pdflib.tar.gz https://www.pdflib.com/binaries/PDFlib/1000/PDFlib-10.0.0p1-Linux-${UNAME_M}-php.tar.gz && \

Fixed, since I don't use the ARM version, need more testing.

ARM64 version added.


Osnap support base

Summary
We aim to support the Base network in Osnap.
How to Test

In a Snapshot space with a treasury in Base, configured with the Osnap module, create a new vote on the Base network to transfer an amount of tokens from the Safe (treasury) to an address.
Verify that the Tenderly simulation of the transactions on the Base network works properly.
Vote for and wait for the vote to finalize.
After the vote is approved, execute the transactions with Osnap and verify that they work correctly.

we have tested this internally and looks good!


Nvm install fails with version 14.17.1

Operating system and version: MacOS 12.0
nvm debug output:

nvm --version: v0.39.0
$TERM_PROGRAM: Apple_Terminal
$SHELL: /bin/zsh
$SHLVL: 1
whoami: 'ryan'
${HOME}: /Users/ryan
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${NVM_DIR}/versions/node/v16.3.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.8 (x86_64-apple-darwin21.0)'
uname -a: 'Darwin 21.0.1 Darwin Kernel Version 21.0.1: Tue Sep 14 20:56:24 PDT 2021; root:xnu-8019.30.61~4/RELEASE_ARM64_T6000 arm64'
checksum binary: 'shasum'
OS version: macOS 12.0 21A344
curl: /usr/bin/curl, curl 7.77.0 (x86_64-apple-darwin21.0) libcurl/7.77.0 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.42.0
wget: not found
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/bin/git, git version 2.30.1 (Apple Git-130)
ls: grep:: No such file or directory
grep: grep: aliased to grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}), grep (BSD grep, GNU compatible) 2.6.0-FreeBSD
awk: /usr/bin/awk, awk version 20200816
nvm current: v16.3.0
which node: ${NVM_DIR}/versions/node/v16.3.0/bin/node
which iojs: iojs not found
which npm: ${NVM_DIR}/versions/node/v16.3.0/bin/npm
npm config get prefix: ${NVM_DIR}/versions/node/v16.3.0
npm root -g: ${NVM_DIR}/versions/node/v16.3.0/lib/node_modules

nvm ls output:

->      v16.3.0
        v17.0.1
         system
default -> node (-> v17.0.1)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v17.0.1) (default)
stable -> 17.0 (-> v17.0.1) (default)
lts/* -> lts/gallium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.7 (-> N/A)
lts/fermium -> v14.18.1 (-> N/A)
lts/gallium -> v16.13.0 (-> N/A)

How did you install nvm?

Homebrew
What steps did you perform?
nvm install 14.17.1
What happened?
It looked like it was installing but then it started to loop and error out indefinitely
What did you expect to happen?
I expected it to install the node version. I tested with other node versions and they installed and worked correctly.
Is there anything in any of your profile files that modifies the PATH?

.zshrc

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

*   Trying <IP_ADDRESS>:443...
* Connected to nodejs.org (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use h2
* Server certificate:
*  subject: OU=Domain Control Validated; OU=PositiveSSL Wildcard; CN=*.nodejs.org
*  start date: Oct 21 00:00:00 2019 GMT
*  expire date: Jan 18 23:59:59 2022 GMT
*  subjectAltName: host "nodejs.org" matched cert's "nodejs.org"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x143811000)
> HEAD /dist/ HTTP/2
> Host: nodejs.org
> user-agent: curl/7.77.0
> accept: */*
> accept-encoding: deflate, gzip
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 200
HTTP/2 200
< date: Fri, 29 Oct 2021 15:25:08 GMT
date: Fri, 29 Oct 2021 15:25:08 GMT
< content-type: text/html
content-type: text/html
< last-modified: Fri, 29 Oct 2021 14:35:10 GMT
last-modified: Fri, 29 Oct 2021 14:35:10 GMT
< cache-control: max-age=14400
cache-control: max-age=14400
< cf-cache-status: HIT
cf-cache-status: HIT
< age: 2446
age: 2446
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< vary: Accept-Encoding
vary: Accept-Encoding
< server: cloudflare
server: cloudflare
< cf-ray: 6a5d6a2e7f0635fd-LAX
cf-ray: 6a5d6a2e7f0635fd-LAX
< content-encoding: gzip
content-encoding: gzip

<
* Connection #0 to host nodejs.org left intact

Console output (shortened because it's way too much)

Downloading and installing node v14.17.1...
Downloading https://nodejs.org/dist/v14.17.1/node-v14.17.1-darwin-arm64.tar.xz...
curl: (22) The requested URL returned error: 404

Binary download from https://nodejs.org/dist/v14.17.1/node-v14.17.1-darwin-arm64.tar.xz failed, trying source.
grep: /Users/ryan/.nvm/.cache/bin/node-v14.17.1-darwin-arm64/node-v14.17.1-darwin-arm64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Detected that you have 10 CPU core(s)
Running with 9 threads to speed up the build
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
Local cache found: ${NVM_DIR}/.cache/src/node-v14.17.1/node-v14.17.1.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/src/node-v14.17.1/node-v14.17.1.tar.xz
$>./configure --prefix=/Users/ryan/.nvm/versions/node/v14.17.1 <
Node.js configure: Found Python 3.9.7...
INFO: configure completed successfully
/Library/Developer/CommandLineTools/usr/bin/make -C out BUILDTYPE=Release V=0
  LD_LIBRARY_PATH=/Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/lib.host:/Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/icu; mkdir -p /Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj/gen; "/Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/icupkg" -tl ../../deps/icu-tmp/icudt69l.dat "/Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj/gen/icudt69l.dat"
  c++ -o /Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj.target/bytecode_builtins_list_generator/deps/v8/src/builtins/generate-bytecodes-builtins-list.o ../deps/v8/src/builtins/generate-bytecodes-builtins-list.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.67"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ARRAY_BUFFER_EXTENSION' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' -I../deps/v8 -I../deps/v8/include  -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.13 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/.deps//Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj.target/bytecode_builtins_list_generator/deps/v8/src/builtins/generate-bytecodes-builtins-list.o.d.raw   -c
  c++ -o /Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj.target/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecodes.o ../deps/v8/src/interpreter/bytecodes.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.67"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ARRAY_BUFFER_EXTENSION' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' -I../deps/v8 -I../deps/v8/include  -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.13 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/.deps//Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj.target/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecodes.o.d.raw   -c
  c++ -o /Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj.target/torque_base/deps/v8/src/torque/implementation-visitor.o ../deps/v8/src/torque/implementation-visitor.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.67"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DV8_ARRAY_BUFFER_EXTENSION' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' -I../deps/v8 -I../deps/v8/include  -O3 -gdwarf-2 -fstrict-aliasing -mmacosx-version-min=10.13 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-strict-aliasing -MMD -MF /Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/.deps//Users/ryan/.nvm/.cache/src/node-v14.17.1/files/out/Release/obj.target/torque_base/deps/v8/src/torque/implementation-visitor.o.d.raw   -c

@ljharb so if I have a mac with M1 I won't be able to install node with different versions without rosetta2? (btw, I checked there are available node v12+ for m1)

@zaxoavoki whatever versions of node they do not provide with m1 support, you indeed require rosetta to install, yes.
If node provides a version with m1 support, you should be able to install it on an m1 mac, with or without nvm.

I had the same issue and installed node v16 because it supports M1

having the same issue


Apple App Store Release task is failing while updating release notes

Type: Question/Bug
Azure Devops Task used in pipeline : Apple App Store Release
Extension task URL : https://marketplace.visualstudio.com/items?itemName=ms-vsclient.app-store
Issue description :
We could send app to test-flight using non 2FA account with token based authentication, but task is failing while setting release notes. One of the contributor of ms-vsclient.app-store analysed issue and he thinks issue might be related to fast lane.
Any idea how to fix this ? your help in this is greatly appreciated
Environment
Server : Azure Pipelines
Agent : Hosted ( macOS latest )
Glimpse Of Error log:
[2021-02-19T11:38:17.6281720Z ##[warning]You specified releaseNotes - so you need to provide fastlane session, app specific password only won't work
2021-02-19T11:46:43.5226050Z and 309 more at: https://github.com/fastlane/fastlane/search?q=undefined method `status' for nil&type=Issues&utf8=✓
2021-02-19T11:46:43.5226420Z
2021-02-19T11:46:43.5227280Z 🔗 You can ⌘ + double-click on links to open them directly in your browser.
2021-02-19T11:46:43.5228530Z /Users/runner/.gem-cache/gems/fastlane-2.175.0/spaceship/lib/spaceship/connect_api/api_client.rb:181:in handle_response': [!] undefined method status' for nil:NilClass (NoMethodError)
2021-02-19T11:46:43.5229770Z from /Users/runner/.gem-cache/gems/fastlane-2.175.0/spaceship/lib/spaceship/connect_api/api_client.rb:135:in `patch']

I think the error message is pretty clear: You specified releaseNotes - so you need to provide fastlane session, app specific password only won't work
You cannot use the app specific password for that action. You will need to provide a valid fastlane session.


Conform NSDate to Comparable

Personally, I think compare function can be shortened so it does not introduce unnecessary overhead, to:
func <(lhs: NSDate, rhs: NSDate) -> Bool {
    return lhs.timeIntervalSinceReferenceDate < rhs.timeIntervalSinceReferenceDate
}

@JiriTrecak, good point.

This pull request contains an API change, so let’s follow the Swift evolution process, starting with discussing the idea on the swift-evolution and swift-corelibs-dev lists.


Laravel 8.0 Support

@mpociot would be really nice if you could merge and tag this.
Thanks in advance 😉


empty directories are installed

dlib installs empty directories, here from git master, on linux64, gcc7:
$ cmake -DCMAKE_INSTALL_PREFIX=$PWD/install . && make install
...
-- Installing:
...
$ find ./install -depth -type d -empty
./install/include/dlib/all
./install/include/dlib/travis
./install/include/dlib/external/libpng/arm
./install/include/dlib/cmake_utils/test_for_cpp11
./install/include/dlib/cmake_utils/test_for_neon
./install/include/dlib/cmake_utils/test_for_cudnn
./install/include/dlib/cmake_utils/test_for_libpng
./install/include/dlib/cmake_utils/test_for_avx
./install/include/dlib/cmake_utils/test_for_cuda
./install/include/dlib/cmake_utils/test_for_sse4
./install/include/dlib/cmake_utils/test_for_libjpeg
./install/include/dlib/test/gui
./install/include/dlib/test/blas_bindings
./install/include/dlib/test/tools
./install/include/dlib/test/examples
./install/include/dlib/appveyor

If this is troubling you then you should submit a PR to change it.


Align queue packet array address

The packet array must come after the queue header and it must be aligned to the packet size (dispatch_packet_t). Make sure there is enough space for the queue header.
Signed-off-by: Joel Nider<EMAIL_ADDRESS>

It seems this has been found & fixed several times but never merged:
https://github.com/muwyse-amd/mlir-air/pull/6/commits/a40ab490317d83c22295c1da72751bc1ed931257
https://github.com/Xilinx/mlir-air/pull/140#discussion_r1072915925
My fix does not use loops or floating point.


Upgrade to clap for argument parsing

As mentioned on #28, command line arguments could use an overhaul, so kicking it off with an upgrade to clap since gumdrop seems to be no longer maintained.
I set this up to break as little as possible existing behaviour, if we are willing to change the version flag to clap default -V from -v it removes the need to have a version arg also.
Output of cargo-aur --help - Old
Usage: /home/nickd/.cargo/bin/cargo-aur [OPTIONS]

Positional arguments:
  free                 Absorbs any extra junk arguments.

Optional arguments:
  -h, --help           Display this help message.
  -v, --version        Display the current version of this software.
  -o, --output OUTPUT  Set a custom output directory (default: target/).
  -m, --musl           Use the MUSL build target to produce a static binary.
  -d, --dryrun         Don't actually build anything.

Output of cargo-aur --help - New
Prepare Rust projects to be released on the Arch Linux User Repository.

Usage: cargo-aur [OPTIONS]

Options:
  -o, --output <OUTPUT>  Set a custom output directory (default: target/)
  -m, --musl             Use the MUSL build target to produce a static binary
  -d, --dryrun           Don't actually build anything
  -v, --version          Print version
  -h, --help             Print help

Thanks for this. I know that gumdrop doesn't see much activity, but clap is a massive dependency and the needs of cargo aur are fairly simple. As-is, this increases the binary size by about 65%, so I'm leaning towards not including this. What do you think?

Your call here, binary size is not a personal concern for me but understood for some it is.

clap is otherwise an excellent tool and I use it elsewhere, but in this case I think it doesn't buy us much. Although I'm going to close this, thanks for the effort.


npm install fails at React template

npm install fails with dependency errors:
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@universe%2ffrontend-utils - Not found
npm ERR! 404
npm ERR! 404  '<EMAIL_ADDRESS>is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of '@happeouikit/content-renderer'

Same problem exists with package @happeouikit/copy-to-clipboard-button

Hi @TR-Livion, it seems that our email-notifications are not set since we didn't get notified from your message... 6 months ago. I apologies about that.
The dependency problem is now fixed by removing @happeouikit/copy-to-clipboard-button and @happeouikit/content-renderer. We are checking if we need to expose these through the WidgetSDK or if we can move the functions used from the internal package to the @happeouikit.


2.0.0 beta demo update

Pull Request Test Coverage Report for Build 49

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 86.538%

Totals

Change from base Build 45:
0.0%

Covered Lines:
30

Relevant Lines:
34

💛  - Coveralls


upgrade env_logger

https://github.com/env-logger-rs/env_logger/releases/tag/v0.8.0
https://github.com/env-logger-rs/env_logger/releases/tag/v0.8.1
https://github.com/env-logger-rs/env_logger/releases/tag/v0.8.2
https://github.com/env-logger-rs/env_logger/releases/tag/v0.8.3
https://github.com/env-logger-rs/env_logger/releases/tag/v0.8.4
https://github.com/env-logger-rs/env_logger/releases/tag/v0.9.0

$ cargo upgrade env_logger
docs-rs:
    Upgrading env_logger v0.7 -> v0.9.0

r? @Nemo157


[SPARK-34171][SQL] Add 'SHOW COLUMNS' as table-valued function

What changes were proposed in this pull request?
Add SHOW COLUMNS as  table-valued function 'show_columns'
In origin, we can't directly analysis column metadata information  in SQL, we need export it out and then analysis on it.
Now, we can just use SQL to do this.
Analysis columns count? check column name with regex like ecth
Why are the changes needed?
Make it convenient for user to analysis metadata
Does this PR introduce any user-facing change?
User can use show_columns table-valued function such as .
sql("CREATE TABLE t(id INT) PARTITIONED BY (part STRING)")
sql("SELECT * from show_columns('t')")
+--------+
|col_name|
+--------+
|      id|
|    part|
+--------+

How was this patch tested?
added UT

Test build #134984 has started for PR 31506 at commit 70d8f13.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/39567/

Test build #134984 has finished for PR 31506 at commit 70d8f13.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/134984/

Do other DBMSs support this as a built-in show_columns function? If then, could you update the PR description by adding those references?

after a long time search, no other DBMS support this kind of functions. But it's really helpful for data analysis user to have a better insight  for metadata.


built-in site search functionality

Issue Summary
Doesn't seem to be working!
Do we need to enable something or ... ?
Steps to Reproduce
upgrade to 5.3.1
Ghost Version
5.3.1
Node.js Version
1.21.0
How did you install Ghost?
linux
Database type
MySQL 8
Browser & OS version
Chrome Version 103.0.5060.114
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

Hi @yannickcof - the feature will work out-of-the-box if you've followed the docs: https://ghost.org/docs/themes/search/
If you need help setting it up, I'd suggest posting on the forum: https://forum.ghost.org/


ArcanistScriptAndRegexLinter not usable?

I tried to use ArcanistScriptAndRegexLinter.php in .arclint, but i got
Got unexpected parameters: linter.scriptandregex.script
my file looked like this:
{
"linters": {
"sample": {
"type": "jshint",
"include": "(\.js$)",
"severity": {
"W030" : "disabled"
}
},
"space-linter": {
"type": "script-and-regex",
"linter.scriptandregex.script": "sh -c 'test.sh'"
}
}
}

We no longer accepts bug reports and feature requests on GitHub. Please take the time to:

Update your install to HEAD.
Verify issue still persists.
File task on https://secure.phabricator.com/ with steps to overly complete steps to reproduce.

More information on filing bug reports:
https://secure.phabricator.com/book/phabcontrib/article/bug_reports/
More information on filing feature requests:
https://secure.phabricator.com/book/phabcontrib/article/feature_requests/
Thank you for your interest in Phabricator.


Fix upload_file for large_files

Description
Passing a callback to grab the VersionId works for single-part uploads (put_file), but not multi-part uploads. This PR adds a separate codepath for single-file uploads (i.e. not directories) that checks the file size and uses a multi-part upload for large files. It grabs the VersionId from complete_multipart_upload. There is likely an opportunity to speedup large-file uploads by parallelizing the uploading of the separate parts, but I'm saving that for a future PR.

LGTM for fixing the current issue, but this is continuing the highlight the messiness of our datamodel wrt to guarantees of reproducibility.
I think that we should seriously consider dropping support for logical key directories. Since they can't be versioned, they produce different behavior for a package's immutability guarantees. Calling set('/','/') vs for i in set: set(/+'i',/+'i') produce packages that behave differently, one of which is reproducible because it attaches versioning, the other isn't.


Error deserializing GZip

For every gzip response I get an error :
[INFO] Mon, 06 Jul 2015 11:32:38 GMT  mtproto.type.Gzip_packed end > this._buffer.length 1170 952
[WARN] Mon, 06 Jul 2015 11:32:38 GMT  message.EncryptedMessage Unable to decrypt the message, the authKey ids do not match!
[ERROR] Mon, 06 Jul 2015 11:32:38 GMT  net.RpcChannel Unable to deserialize response 1ff1af6482ccce1a58231aaae......
 from mtproto.type.Msgs_ack due to Error: Unable to decrypt the message, the authKey ids do not match!
    at EncryptedMessage.deserialize (C:\Users\...\node_modules\telegram.link\node_modules\telegram-mt-node\lib\message\encrypted-message.js:135:15)
    at EncryptedRpcChannel._deserializeResponse (C:\Users\...\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\encrypted-rpc-channel.js:206:99)
    at C:\Users\....\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\rpc-channel.js:64:35
    at Socket.onData (C:\Users\...\node_modules\telegram.link\node_modules\telegram-mt-node\lib\net\tcp-connection.js:143:13)
    at Socket.g (events.js:199:16)
    at Socket.emit (events.js:107:17)
    at readableAddChunk (_stream_readable.js:163:16)
    at Socket.Readable.push (_stream_readable.js:126:10)
    at TCP.onread (net.js:538:20)

Happens every time with getContact, sometimes with getDialogs if requesting too much results.
If you have some clue I can try to fix it
Edit: In fact it is working sometimes with DialogSlice
Edit2: This seems to always happen when the response is composed by at least 4 messages.
Below 4 messages, no problem

@enricostara any idea how this can be fixed? I tried to dig a bit, but didn't find anything

Any update ?

therefore could be a problem with long responses.. may you check for yourself if all the data are fetched from the server ?

The error is indeed with long responses, from what I saw we get multiple blocks, and from a certain point, the blocks can't be deserialized. I'm pretty sure we get all the data, for example with getRecentChats, when having a limit of 3 or 4 it's ok, then with 5 it'll start being an issue. And the difference in the amount of data received seems to be coherent.

Could you isolate the problem? we need to know if it's a issue with:

HttpConnection class (http node library wrong use/implementation?)
gunzip method: for instance, you could try to change zip library
I'll happy to merge the fix :)

Already tried, without success sadly
I think this issue is not with the gzip library since the error is with the auth key, for the first block no issue, but from some point, the authKey is wrong
But from the logs, this one could be only a side effect of the length error : the first line of the provided log

Therefore could you try using TCP instead? (adding the connectionType: 'TCP' app property when you create the client)

Oh, didn't precise my bad, already tried using tcp and http

I fixed the problem on TCP.. :)
tomorrow I try to fix also on HTTP
I will share the fixes asap!

Awesome man !
Can you explain quickly what was the issue please ? I couldn't even figures that out ! :)

It did not fetched all the data and tried to deserialize only with the first chunk

It should be fixed now!


python37Packages.djangoql: 0.12.6 -> 0.13.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-djangoql/versions.
meta.description for python37Packages.djangoql is: '"Advanced search language for Django"'.
meta.homepage for python37Packages.djangoql is: '"https://github.com/ivelum/djangoql"

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.13.0 with grep in /nix/store/yz42kbdxikv7589f5iw8wxxq2sxd7n1r-python3.7-djangoql-0.13.0

directory tree listing: https://gist.github.com/84bb688a8719d66ac6810b81ab7d4a87

du listing: https://gist.github.com/e3a0fb9d11f9fb2c99e57be54520ae23

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)
3 package rebuild(s)
3 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
paperless
python27Packages.djangoql
python37Packages.djangoql

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yz42kbdxikv7589f5iw8wxxq2sxd7n1r-python3.7-djangoql-0.13.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A python37Packages.djangoql https://github.com/r-ryantm/nixpkgs/archive/1fba1ff9addd0793d0cf666376e13fc168c51c4e.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yz42kbdxikv7589f5iw8wxxq2sxd7n1r-python3.7-djangoql-0.13.0
ls -la /nix/store/yz42kbdxikv7589f5iw8wxxq2sxd7n1r-python3.7-djangoql-0.13.0/bin

cc @erikarvstedt for testing.

looks like the regression sorted itself out.
[4 built, 11 copied (120.3 MiB), 46.3 MiB DL]
https://github.com/NixOS/nixpkgs/pull/69805
3 package were build:
paperless python27Packages.djangoql python37Packages.djangoql


IE fix for event bindings on unmounted components

Addresses #1234

@jquense Is there anything else I need to do to get this merged?

thanks!


"Generator not found" if installed from rubygems.

Expected Behavior
VIew are generated-
Actual Behavior
"Generator not found"-error
Steps to Reproduce the Problem

Install gem `gem 'devise-bulma-views'.
Run rails generate devise:views:bulma_extensions.

Specifications
devise-bulma-views 0.1.0
rails 6.1.0
ruby 2.7.2
macOS Big Sur
The solution seems to be to install the gem from github instead of rubygems.
gem 'devise-bulma-views', github: 'thecodechef/devise-bulma-views'

Replicated @robowraith 's described behavior and workaround.

Replicated @robowraith 's described behavior and workaround.


Additional Metrics collected and exposed via prometheus

This PR refactors the metrics measuring and Prometheus exposing entity in sc-service into its own submodule and extends the parameters it exposes by:

[x] system load average (over one, five and 15min)
[x] the TCP connection state of the process (lsof), refs #5304
[x] number of tokio threads
[x] block import/validation times*
[x] number of known forks
[x] count items in each unbounded queue (with internal unbounded channels)
[x] number of file descriptors opened by this process (*nix only at this point)
[x] number of system threads (*nix only at this point)

refs #4679

* While this would be a good case for a histogram, the way this works in promotheus doesn't fit our use case for two reasons: 1. it assumes a set of pre-known buckets the value should fall under; 2. it locks and calculates this bucket right there and then – which leads to a significant performance drop (50% bps here). Thus, this uses an internal ringbuffered queue (based off this future-rs patch) to track them without locking and then calculate count, average and medians when we tick.

Are we aware that the content of primitives/utils/src/channels is not going to be maintainable by us?
Is this code destined to stay there long term?

@tomaka hopefully not, as the FIXME said. Unfortunately neither std nor futures-rs exposes the internally used queue, otherwise I would have taking a much slimmer approach than copying the entire folder over from the PR – we only want the non-blocking ringbuffer feature here after all. Either way, once they accept and release or reject that PR, this part is prone for being overthrown.

because of timing and priority, I postponed

block production times
count of block productions failure

for a future PR.

@tomaka hopefully not, as the FIXME said. Unfortunately neither std nor futures-rs exposes the internally used queue, otherwise I would have taking a much slimmer approach than copying the entire folder over from the PR – we only want the non-blocking ringbuffer feature here after all. Either way, once they accept and release or reject that PR, this part is prone for being overthrown.

This is a complete no go! This pr will probably never be accepted, it does not even compiles. We can not break the whole ecosystem because we think this is the right approach. If you want to track the size of an unbounded channel, wrap the channel:
struct UnboundedSender<T> {
    futures::UnboundedSender<T>,
    channel_size: Atomic,
}

impl UnboundedSender<T> {
    fn unbounded_send(data: T) {
        self.channel_size.increase();
    }
}

struct UnboundedReceiver<T>
    futures::UnboundedReceiver<T>,
    channel_size: Atomic,
}

impl UnboundedReceiver<T> {
    fn receiver() -> T {
        self.channel_size().decrease()
    }
}

That way we don't need to copy tons of code and make it work now, properly.

In regards to @bkchr suggestion, you could as well uses https://github.com/mxinden/instrumented-mpsc.

In regards to @bkchr suggestion, you could as well use https://github.com/mxinden/instrumented-mpsc.

Even better!

@bkchr did you read the PR? The internally used channel is not being used for the tracing_unbounded – that is a wrapper more or less as you described. The only place the internal one is used as a ringbuffer for the block-import measurements. It was added later, for teh pure reason that if you don't flush that vec (e.g. because you didn' tset up no prometheus), we'd add a leak.
This code  not used adnywhere else.

I did not read it in detail, however the point holds. The pr is open for almost a month, there was 2 comments. It is very unlikely that it will be accepted. However, we can just add a thin wrapper and use this instead of requiring the whole ecosystem to move to our model.
I don't see a reason to copy that much code. Stuff like block import is very likely not the problem we have, because if block import would stall the whole network would stall. Exposing the metrics to prometheus should be enough.

Following up on the performance drop mentioned above.

it locks and calculates this bucket right there and then – which leads to a significant performance drop (50% bps here).

As far as I can tell the Rust Prometheus histogram implementation does not use any locks, but depends on atomics:
pub struct HistogramCore {
    desc: Desc,
    label_pairs: Vec<proto::LabelPair>,

    sum: AtomicF64,
    count: AtomicU64,

    upper_bounds: Vec<f64>,
    counts: Vec<AtomicU64>,
}

The observe hotpath includes  3 atomic operations, each executed with ordering Relaxed.
Running the histogram benchmarks on my  Laptop (Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz) gives the following results:
test bench_histogram_no_labels         ... bench:          33 ns/iter (+/- 3)
test bench_histogram_with_label_values ... bench:          76 ns/iter (+/- 3)

In case an operation of ~100 nanoseconds slows down block-production by 50%, we could still leverage the local histogram feature, eliminating the above atomic operations within the hot path, only doing periodic flushes to the shared datastructure.

@mxinden maybe I should rephrase: the Histogram blocks – when syncing flaming fir, there is like 300 entries between two ticks and I can see a 50% bps drop.
The bigger issue and what eventually made me move away from the Prometheus Histogram is their assumption that blocks fall in predefined buckets of ranges of timeframe. Even for a single chain, just considering that the clients run on very different hardware, this is already a stretch to assume, but for an approach generic over different chains we can clearly not defined any reasonable buckets here.
I  am very much interested in dropping the internal buffer and using existing prometheus tooling, but if that means a significant performance penalty from using metering that isn't acceptable.

Removed the Block Import Tracker and internally used ring buffer. Also applied the other requested changes. Please review again.


Add section on configuring anonymous login for OpenSearch Dashboards

Description
This PR adds information on how to configure OpenSearch Dashboards with anonymous login. I noticed that the documentation website shows how to see this up for the backend OpenSearch cluster, but does not specify how to configure it for OpenSearch Dashboards.
Checklist

[ ] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thank you, @cwperks ! Can you please address the Vale error?

Can you please address the Vale error?

@hdhalter I merged in the latest from main and see all passing checks. Where can I check for this error?

Can you please address the Vale error?

@hdhalter I merged in the latest from main and see all passing checks. Where can I check for this error?

Look in the files tab. It's minor - a problem with the capitalization in a heading.

a problem with the capitalization in a heading.

fixed.


doc: Remove empty sections from What's new in version files

Summary
Removing empty sections from What's new in version files, to make files consistent.
Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Run Locally: Verified that the docs build using make server, posted screenshots, verified external links. Test with HUGO_PARAMS_SEARCH_ENABLED=true if style changes will affect the search bar.
[ ] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[x] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[x] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

To make the files consistent with what? If you want to do this, you probably need to add a step to the release flow to remove empty sections, or in the future it won't happen

To make the files consistent with what? If you want to do this, you probably need to add a step to the release flow to remove empty sections, or in the future it won't happen

In some files empty sections were removed, while in some files they weren't - that's what I mean when I say make the files consistent. I updated the release template to include that step.


[http-cache-filter] Add optional thundering herd mitigation

Commit Message: [http-cache-filter] Add optional thundering herd mitigation
Additional Description: The current behavior of the cache filter is, if a request is received while a similar request is already inserting, the new request is passed through to the upstream (with filesystem cache only one performs an insert, with the simple cache both insert and the second one overwrites, but both requests go upstream). This is sometimes called the "thundering herd problem" - many requests before the cache is populated can overwhelm the upstream that the cache is expected to protect.
This change adds an optional thundering herd mitigation which, if configured, allows the filter to block these racing requests and then retry reading from the cache after the first one completes (or unblock for insertion if the first one fails).
Additional options make it configurable to allow some limited number of requests through, or allow an additional request through if an earlier one didn't complete within a specified timeframe; this may be useful because the cache streams its read into both the downstream and the cache in parallel. If the downstream is slow, this can prevent the cache from being populated, and cause the other blocked requests to time out. The downstream may also abort, preventing a cache write from succeeding. Allowing several insertions to attempt in parallel can mitigate (but not entirely prevent) this sort of blockage.
The filesystem cache should be configured with allow_parallel_inserts if the thundering herd manager is active.
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:

@jmarantz for domain coverage and main review.

/coverage

@toddmgreer can you do a pass first?

This is now passing 100/100 times an end-to-end test of parallel-requesting the same resource a bunch of times.
It's still going to need more unit tests to cover all these weird and wonderful edge cases that needed special handling, so I'm going to tag it waiting, but the non-test part of the code is ready for review.

/coverage
(It says they'll be rerendered when new runs happen, but they were not.)

/retest
(seems to be not failing locally as a coverage run, and weirdly only failed in coverage in CI.)

Thank you for reviewing Todd.
/wait
Since comments need to be addressed

Looking back on this, and on the effect introducing it had to our production cache (not as helpful as we had hoped), I think this is probably yet another attempt to plaster over a whole mess of more serious problems the cache filter has, and as such is not worth pursuing.
I'm going to have a shot at redoing the cache filter from the ground up, using some of the existing code but changing a significant part of the behavior, perhaps just introducing it as a new filter entirely because it's not going to be possible to make it backwards-compatible with the behavior of this one, and would just make for increasingly confusing spaghetti to try to toggle the behavior as a config option.
Problems that need to be addressed that simply don't fit in the existing model:

Thundering herd - blocking like this PR attempted seemed like it might be good enough, but it was really not, it resulted in a huge spike of traffic as soon as the queued clients were unblocked, potentially long delays, and the possibility of the first client ruining the behavior for subsequent clients. This is better fixed by making the cache-populating request out-of-band so it can't be cancelled by (or slowed by) the client, then other clients can stream the data while the cache entry is still being populated. This change would not be backwards compatible because if we make the request out-of-band we can't pass it through upstream filters, which will be a significant behavior change. We may require either a set of upstream filters configured inside the cache, or some configurable header transformations to be applied.
Reading from partially-written cache is not useable at all with the existing filter, because there is no guarantee the write operation will complete (it can be aborted at any time by one client).
Range requests when the cache is not populated currently pass through - for our use-case this is a disaster, as Microsoft BITS makes a lot of range requests without ever doing a full download, i.e. the cache is never populated and the upstream is not protected at all. The new filter model will be able to use a non-range request to upstream as the out-of-band request to populate the cache, and fulfill the range request as soon as the requested data is populated. This is another behavior change with another requirement; configured (or cached) foreknowledge of whether the upstream is expected to be cacheable, since if the body is not cacheable then the pass-through behavior is correct.

Please keep me in the loop as you design this. There are several CacheFilter design decisions that I would really love to change (approaches that worked well in a previous proxy did not map well into Envoy's architecture). One of our biggest challenges has been getting a response quickly inserted into cache even if the requesting client is too slow or drops the connection. The slow client case isn't so bad, but the dropped downstream connection case is proving difficult.
Please share a design doc, so we can make sure it handles all of the important use cases of CacheFilter. I don't want Envoy to have two competing HTTP cache filters. If it's too hard to morph CacheFilter into what you need, then I hope its successor can be a full replacement.

We've been working on making the upstream connection survive a downstream disconnect. We'd love to just ignore the disconnection and keep going, but I'm told that approach won't work well in Envoy. Would you be interested in meeting (virtually) with me and a couple other devs, to see if we can end up with a single cache filter that works for all of our use cases? Even if we all continue working on internal filters, if we can at least aim for a common target, we might be able to ultimately converging on the same (shared) thing.
Would 1pm or 1:30pm PDT on one of M-Th next week work for you?

Yep, any of those times works for me, you can take your pick.
If the disconnect thing can be solved that would make the rest of it a lot easier and less fraught with "nobody is going to want to approve this API because it genuinely is just a pretty bad API, but out of necessity".
It does seem like that should be solvable by something like registering an "alternative disconnect response" that allows us to do something else in lieu of destroying the request/response/filter-chain blob of objects (reassociating the downstream end with an equivalent of /dev/null or something, and/or disconnecting could call a registered callback with a bundle of unique_ptrs to transfer ownership.)


Whats New entries for deprecated modules removed [ci skip]

Covers #2689.

Just wanted to say: thanks for cross-referencing the original PR - made my life a lot simpler in commenting on another issue/PR. 👍