StorageClass: add reclaimPolicy

StorageClass in chart lacks ability to define retainPolicy which is a pain in some sensible environments.
This PR solves it by adding a setting and maintaining the previous behavior as default (Delete)

hello I want to change my reclaim policy to retain but I don't know how to do it when I do
kubectl patch storageclass longhorn -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}, "reclaimPolicy":"Retain"}'
I have this error
The StorageClass "longhorn" is invalid: reclaimPolicy: Forbidden: updates to reclaimPolicy are forbidden.

hello I want to change my reclaim policy to retain but I don't know how to do it when I do kubectl patch storageclass longhorn -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}, "reclaimPolicy":"Retain"}' I have this error The StorageClass "longhorn" is invalid: reclaimPolicy: Forbidden: updates to reclaimPolicy are forbidden.

@delta-whiplash
If you want to modify the default storage class in Longhorn, please edit the longhorn-storageclass ConfigMap.When editing the storage class, you will find two reclaimPolicy fields. The first one can be edited and is located in the metadata section under annotations.
e.g. kubectl -n longhorn-system edit configmaps longhorn-storageclass

thank you seem to be working where could I found this explaination ?

thank you seem to be working where could I found this explaination ?

I didn't find any explanation for that in the official documents, so it's possible that I may have missed some information. However, I searched for the previous discussion thread and read the longhorn-test case to summarize the results based on my own experiments, so that I can share it with you.

Thank you soo much
I am very noob with kubernetes do you have a simple exemple to let me create a simple service that claim a storage volume with his name and If I destroy the pod and recreate it with the same volume name I could reach my old data on my new pod
Hi @delta-whiplash :

You can follow the steps below to deploy the "ubuntu-mountvol0" pod using the "pod_mount_1vol.yaml" file provided in the following link:
https://github.com/longhorn/longhorn/issues/5312#issuecomment-1430764966
To deploy the pod, you can use the following command:
kubectl apply -f pod_mount_1vol.yaml

pod_mount_1vol.yaml
kind: Pod
apiVersion: v1
metadata:
  name: ubuntu-mountvol0
  namespace: default
spec:
#  nodeSelector:
#    kubernetes.io/hostname: ryao-master-w1-b97476c8-tgxrz  # worker node
  containers:
    - name: ubuntu
      image: ubuntu
      command: ["/bin/sleep", "3650d"]
      volumeMounts:
      - mountPath: "/data/"
        name: vol-0
  volumes:
    - name: vol-0
      persistentVolumeClaim:
        claimName: vol-0

Once the pod is deployed, you can test if the volume is mounted correctly by executing the following command:
kubectl exec -it ubuntu-mountvol0 -- /bin/bash
This will open a bash shell inside the pod. You can then navigate to the mounted directory (/data) and create some files to test if the data persists.
If you delete the pod and recreate it with the same volume name, the data should still be available.

I tried but I have this issue
0/3 nodes are available: 3 persistentvolumeclaim "vol-0" not found. preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling.
this is my environnement

I did this PVC
#PVC for vol-0
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vol-0
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: longhorn
But when I remove the pvc and pods and recreate them my data are on another volume and the new one is blank

I remove the pvc and pods and recreate them my data are on another volume and the new one is blank

You can refer to the following link from Longhorn's documentation: https://longhorn.io/docs/1.4.0/concepts/#appendix-how-persistent-storage-works-in-kubernetes.

@delta-whiplash
I hope my previous comment could help you better understand PVC. When you delete a PVC, the corresponding storage volume is also deleted. Therefore, if you recreate a new PVC, it will be associated with a new blank volume that will not contain any of your previously stored data. If you have any advanced questions, you are welcome to join the Slack channel and provide your doubts at https://communityinviter.com/apps/cloud-native/cncf, or file a ticket to ask your question (refer to https://github.com/longhorn/longhorn/issues/5405).

Ok I understand thank you soo much

do you know how Can I route all pods traffic to another interface (eth1 for exemple ) avaible on all of my hosts ?


size mismatch error: RuntimeError: Error(s) in loading state_dict for CPnet

This is my cmd:
python -m cellpose --use_gpu --verbose --train --dir cellpose/data/train --pretrained_model nuclei --chan 0 --chan2 0 --n_epochs 10 --learning_rate 0.1 --weight_decay 0.0001 --test_dir cellpose/data/test --mask_filter '_seg.npy' --save_png --all_channels
I get the below error:
    raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format( RuntimeError: Error(s) in loading state_dict for CPnet:         size mismatch for downsample.down.res_down_0.conv.conv_0.0.weight: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.conv.conv_0.0.bias: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.conv.conv_0.0.running_mean: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.conv.conv_0.0.running_var: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.conv.conv_0.2.weight: copying a param with shape torch.Size([32, 2, 3, 3]) from checkpoint, the shape in current model is torch.Size([32, 3, 3, 3]).         size mismatch for downsample.down.res_down_0.proj.0.weight: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.proj.0.bias: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.proj.0.running_mean: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.proj.0.running_var: copying a param with shape torch.Size([2]) from checkpoint, the shape in current model is torch.Size([3]).         size mismatch for downsample.down.res_down_0.proj.1.weight: copying a param with shape torch.Size([32, 2, 1, 1]) from checkpoint, the shape in current model is torch.Size([32, 3, 1, 1]).
    What am I missing?

@carsen-stringer , could you please help

you cannot start from a pretrained model if you want to use --all_channels. You have 3 channels in your images I'm guessing but the nuclei built-in model has only 2 input channels


Update aws-ebs-csi-driver to latest release (v1.10).

No breaking changes in either the chart or the binaries. 1.10 driver is still compatible with any supported k8s version.
https://github.com/kubernetes-sigs/aws-ebs-csi-driver#kubernetes-compatibility-matrix
https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/charts/aws-ebs-csi-driver/CHANGELOG.md#v290
https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/CHANGELOG.md#v1100

Deployed to integration, daemonset and deployment look healthy, logs all look good. Gonna apply to staging now too.


Unable to get Skeleton V2 working in Storybook

Current Behavior
In v1 getting skeleton styles to load in Storybook (after setting up tailwind support) was as simple as adding
import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>
to the top of the preview.ts.  Now that these don't exist, anything using skeleton styles doesn't seem to work.  My guess is that the tw-plugin isn't being run, but I have no idea how to get it working as there's no documentation around this.
Here's an example of a component and how its rendered.  You can see that built in tailwind stuff works, but anything skeleton specific doesn't come across:
<button type="button" class="bg-red-500 btn-icon variant-filled">(icon)</button>
<button type="button" class="btn variant-filled">Button</button>
<button type="button" class="btn variant-filled">
	(icon)
	Button
</button>

Expected Behavior
Skeleton CSS is passed on to Storybook
Steps To Reproduce

Run Skeleton CLI - pnpm create skeleton-app@latest appName
Run storybook CLI - pnpm dlx storybook@latest init
Follow Tailwind setup guide: https://storybook.js.org/recipes/tailwindcss#tailwindcss
open preview.ts and change the import to import '../src/app.postcss';
Run pnpm storybook

Or just clone the linked repo
Link to Reproduction / Stackblitz
https://github.com/rory-orennia/skeleton-v2-storybook
More Information
I tried adding skeleton or tw-plugin to postcss.config.cjs to see if I could force it to run the skeleton css processor but I couldn't get it to see the plugin so storybook wouldn't start.

@rory-orennia admittedly we haven't really explored implementing Skeleton within Storybook. The fact that it worked in v1 is a surprise to me. Unfortunately I'm not sure that this is something we're able to provide support around at this time. We really only provide official support for Skeleton running on SvelteKit. We do not provide support for running directly within Vite, even though it should be technically possible.
Generally speaking you seem to have the right idea - that styling is now provided by the Tailwind plugin rather than directly importing stylesheets. So if you can get Tailwind working, then the styles should work as well. That would be my expectation.
Given this is likely outside the scope of what we cover, I'm going to close your issue. But I do encourage a post on GItHub Discussion and sharing this in the #off-topic section within our Discord. While it does involve Skeleton, it's running on a "stack" we do not support, hence the recommendation. But I've seen a number of our community members and help with similar situations - such as getting Skeleton running for a Chrome Extension.
Good luck though! If you do find a solution feel free to share it here. It might help the next person!

@endigo9740 Turns out it's a storybook bug and no tailwind plugins work at all.  Hopefully fixing the linked issue will result in Skeleton working out of the box with storybook.  If not I'll try to get it working again and post the instructions

For anyone else who ends up finding this.  The solution is that you need to add your theme to the  inside the iframe that storybook hosts its view in.  You can do that by adding a file .storybook/preview-body.html and then setting the data-theme:


requests.get() URL Encode Issue

Hi,
I noticed URL encode issue in get() --
In [32]: r = requests.get(r'http://i.ebayimg.com/00/s/ODAzWDEyODA=/$(KGrHqV,!o8E63YcElkoBPFMhH2vUQ~~60_1.JPG')
In [33]: r.status_code
Out[33]: 404
In [34]: r = urllib2.urlopen("http://i.ebayimg.com/00/s/ODAzWDEyODA=/$(KGrHqV,!o8E63YcElkoBPFMhH2vUQ~~60_1.JPG")
In [35]: r.getcode()
Out[35]: 200
In Wireshark, I see that it's because requests further encodes the URL (path) to """/00/s/ODAzWDEyODA%3D/%24%28KGrHqV%2C%21o8E63YcElkoBPFMhH2vUQ%7E%7E60_1.JPG"""
Is it a bug?

No, escaping urls is proper. Someone's working on a patch to make this optional, though.

I'm having this issue with a project I'm working on and would like the patch for this being optional. Do you know who that "someone" working on the change is? Otherwise I could give it a go - I'd just like to avoid any duplicate work.

I'm pretty sure this is a bit wonky, somehow:
passing the URL: http://localhost:6060/test/United Kingdom/
hits the server as: [03/Feb/2012 09:41:27] GET /test/United%2520Kingdom/
passing the URL: http://localhost:6060/test/United Kingdom/
hits the server as: [03/Feb/2012 09:43:44] GET /test/United%2520Kingdom/
Both of which don't match what a browser sends, for example:
[03/Feb/2012 09:45:14] GET /test/United%20Kingdom/

In what way is this behaviour proper? It shouldn't be up to the library to re-encode parts of a URL, I'm pretty sure that doesn't even make sense.
For example, as far as I can tell it's impossible to GET any url with an escaped slash in it. e.g if I try to get "/%2F_blah", it will be escaped to "/%252F_blah", which is wrong.

This case is reopened to support the "canonical" behavior.

@stringfellow that's a bug. It's double-encoding. This happened when I added Python 3 support. I'm working on it.
@gfxmonk as I said, someone's working on a patch to make the escaping optional.

@kennethreitz but you seem to be indicating that it is correct behaviour for most (or even some) cases. I can't see how it could ever be right, so it bothers me to see it even implemented (regardless of whether you can turn it off).

somesite.com/ø

That's not a valid URL - this should be an error. The user must encode their URL components before combining them, you can't possibly guess after the fact which characters were intended to be used literally and which weren't.
If you must support requesting a unicode URL, you should at least restrict the encoding to only affect non-ascii characters (since they couldn't have possibly be meant literally, and therefore encoding them is at least reasonable, if not strictly correct).

@gfxmonk it's not a URL, it's an IRI. Quoting needs to be optimized and optional.

@kennethreitz What do you mean by optimised? Quicker? Or restricted to non-ASCII characters?
I admit I hadn't heard of IRIs before now, but from a quick skim of the spec converting IRIs sounds like it must not escape an existing percent character, which the current code is doing.

That's exactly what I mean :)
I'm going to look closely at what chrome does. It seems to do this as we all expect.

Ahh ok, sounds good. Sorry for spamming the thread, but one last thing - you may want to look at: http://unspecified.wordpress.com/2012/02/12/how-do-you-escape-a-complete-uri/
This explains it pretty well, and with specifics.

Awesome, thanks.
You're always welcome to implement of course :)

Hi. I'm the author of the post @gfxmonk posted above. I've had a look at the requests library and fixed both of the bugs in this thread. My branch py3-uri-encoding contains both fixes, as well as test cases.
There are two separate issues: the double-encoding and the quoting of reserved characters. (Perhaps we should have two bugs and two branches, but I was short on time.)
First, the double-encoding is only a problem on Python 3 for me. In Python 2, it works great -- it unquotes and then quotes the path, which means that any illegal characters (such as '<') become quoted (to "%3C"), while any already-quoted characters (such as "%3E") remain quoted. It works on Unicode characters too. However, in Python 3, it has completely different behaviour: it simply encodes the path to UTF-8 (not necessary, since Python 3's quote automatically does this if given a Unicode string) and then quotes it. This results in double-quoting: '<' becomes "%3C", but "%3E" becomes "%253E".
My fix was basically to remove the Python 3 specific code and make it work the same as Python 2. I had to make a quick fix to utils.requote_path, and then it worked. On Python 3, it now just does the unquote and the requote, and that works.
As for the quoting of reserved characters, that is a more tricky issue. It is essentially the same problem as I outlined in my blog post. For some reason, all of this only concerns the path (I'd have applied it to the full URI, but for now, I'm just addressing how the path is handled). The current behaviour is to quote every character in the path except for '/', '%' and most of the unreserved characters. That violates RFC 3986:

URIs that differ in the replacement of a reserved character with its
corresponding percent-encoded octet are not equivalent.  Percent-
encoding a reserved character, or decoding a percent-encoded octet
that corresponds to a reserved character, will change how the URI is
interpreted by most applications.  Thus, characters in the reserved
set are protected from normalization and are therefore safe to be
used by scheme-specific and producer-specific algorithms for
delimiting data subcomponents within a URI.

You should NOT be tampering with any reserved characters. But I understand the desire to a) encode illegal characters (such as spaces and non-ASCII characters) so they form a valid URI, and b) unencode unreserved characters (such as '-') so they are easier to read without changing the semantics of the URI.
This took a bit of work, but I have rewritten requote_path so that it behaves the following way:

Unquote only the unreserved characters, leaving reserved and illegal characters as-is.
Quote only illegal characters, leaving reserved and unreserved characters as-is.

Note that I have also changed how the tilde ('~') character is treated -- for some reason Python treats it as a reserved character, which is wrong. It is unreserved, so it ought to be unquoted.
That means that percent-encoded unreserved characters will end up being unquoted (which is legal, because they are equivalent either way), illegal characters will end up being quoted (which is required for a valid URI), and reserved characters will remain exactly as they were. This solves the original problem of this bug report (I can successfully pull down that eBay URL) because the special characters in the path '=' and '$' are left unquoted.
There isn't any point in making this "optional" -- the current behaviour is a violation of the RFC and is erroneously tampering with valid URIs. If you must make it optional, you should make the correct behaviour the default, and add an option to quote all reserved characters in the path.
I have included comprehensive test cases for all of the behaviour described above.
P.S. As you mentioned you were interested, in my blog post I described exactly how Chrome performs URI cleaning. It is largely the same as I have implemented here, but it has a few wonky characters that don't get escaped properly.

Is this issue now resolved?

Hopefully! I need to poke around a bit first.


NetworkLoggerPlugin curl fixes.

Fixes #1913. Alamofire changed how they print curlDescription so we have to adapt as well!

Fails

:no_entry_sign:

danger-swift` failed.

Log
Cloning and building inline dependencies: import DangerSwiftProse // package: https://github.com/f-meloni/danger-swift-prose.git, import DangerXCodeSummary // package: https://github.com/f-meloni/danger-swift-xcodesummary.git, this might take some time.
ERROR: 💥  Failed to compile script

  Generated by :no_entry_sign: dangerJS against ebcd5387d8e628283d2a117c3dc5e410029d2c66


[draft] appveyor: Compile with Visual Studio 14 2015

Signed-off-by: David Wagner<EMAIL_ADDRESS>

This pull request is now managed with CodeReviewHub. Refresh.

@krocard it works :)

(do not merge yet)


fix: resource updated_price currency_options field type

Fixing resource update_price currency_options field type.
It should be optional currency with update options as a value

Docs: https://stripe.com/docs/api/prices/update
Codegen: https://github.com/arlyon/async-stripe/blob/master/openapi/src/codegen.rs#L1280
Checklist

[x] ran cargo make fmt
[x] using conventional commits to hightlight user-facing fixes and features

cc @arlyon

Hi! Unfortunately I cannot accept changes to the generated code since each week it is overwritten by the open api spec. There are two places this could be incorrect. First, the spec may be wrong (please check out the stripe open api repo to confirm). If the open api is correct, then it must be that our codegen is wrong and we will have to look deeper into it. Let me know what you would like to do.

Thanks will check the spec

I haven't found any conditional difference between CreatePrice and UpdatePrice in stripe.json spec
However codegen generates:
/// The parameters for `Price::create`.
#[derive(Clone, Debug, Serialize)]
pub struct CreatePrice<'a> {
    /// Prices defined in each available currency option.
    ///
    /// Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
    #[serde(skip_serializing_if = "Option::is_none")]
    pub currency_options: Option<CurrencyMap<CreatePriceCurrencyOptions>>,

and UpdatePrice
/// The parameters for `Price::update`.
#[derive(Clone, Debug, Serialize, Default)]
pub struct UpdatePrice<'a> {
    /// Prices defined in each available currency option.
    ///
    /// Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
    #[serde(skip_serializing_if = "Option::is_none")]
    pub currency_options: Option<CurrencyMap<Option<CurrencyMap<UpdatePriceCurrencyOptions>>>>,

The former is clearly wong because it requires one to supply an optional map that has keys defined as optional currency map with keys and then price update struct.


Capacity does not indicate the safe buffer size

The convention in the C++ runtime is that capacity() is merely an indication of the memory allocation that might have been done. However, it is not considered safe to write to this memory as far as I know.
Potentially unsafe usage:
https://github.com/ada-url/ada/blob/e79260ca4cce3e2db580a38151e179b4dc701bf8/src/parser.cpp#L53

You are absolutely right. The latest pull request fixed this issue. Closing it.


git-credential-manager: init at 2.1.2

Description of changes
This change is adding git-credential-manager at version 2.1.2. GCM is a secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
Announcement Blog
Git Repo
Latest Release
Tested tool's diagnostic function:
Running diagnostics...

 [ OK ] Environment
 [ OK ] File system
 [ OK ] Networking
 [ OK ] Git
 [ OK ] Credential storage
 [ OK ] Microsoft authentication (AAD/MSA)
 [ OK ] GitHub API

Diagnostic summary: 7 passed, 0 skipped, 0 failed.

As well as tested storing a local secret via git-credential-manager+gpg with git send-email.
Things done

Built on platform(s)

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

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

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

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

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

[X] Fits CONTRIBUTING.md.

I realize now there is a much better PR for this at #236850, going to close this on in preference of that PR.


feat(signature-validation): add ed25519 signature validation to twilight-util

Implementing #2169. This PR is not complete, but I felt like making what I wrote just now public quickly so people know progress exists.

It would be nice if we could use a digest API for the signature so we don't have to allocate a vec for it. A quick look makes it seem like it is currently not possible but it may be possible in version 2 of ed2519-dalek. Though it may need a pr such as the below one.
https://github.com/dalek-cryptography/ed25519-dalek/pull/196

It would be nice if we could use a digest API for the signature so we don't have to allocate a vec for it. A quick look makes it seem like it is currently not possible but it may be possible in version 2 of ed2519-dalek. Though it may need a pr such as the below one.
dalek-cryptography/ed25519-dalek#196

I agree, it'd be really nice to have that. So, I'm following up over there to see if we can get what we need for that added.

Okay, I've been a little busy for a bit, but I'm going to have a solid few days soon I can dedicate to this.
While it would be nice to have that feature on ed25519-dalek, I believe that this isn't actually blocked on that, since merging such an improvement would be entirely internal here- it wouldn't need to break this API.
So with that in mind, my goal is going to be getting this in a working state and ready to merge here, and later on pushing the stuff over at ed25519-dalek to completion.

Side note: For avoiding the extra allocation, it seems we are waiting on one of these two PRs to be merged over at curve25519-dalek:

https://github.com/dalek-cryptography/curve25519-dalek/pull/583
https://github.com/dalek-cryptography/curve25519-dalek/pull/556

Should we get it merged and then have a issue tracking the version with less allocations in a issue?

Should we get it merged and then have a issue tracking the version with less allocations in a issue?

Yeah, that'd be for the best. I'm going to do some housecleaning on this PR today, and then it should be ready for final review and merge.

It's essentially done at this point, but I'd like to suggest doing additional feature gates to support someone using only check_interaction() and not getting an unused serde_json dep pulled in.

Rebased to fix conflict with updates to the main branch (in particular, in the examples directory) that appeared after I made this PR.

Added the last doc comment required by your Clippy configuration. But I have no idea what's making these tests fail.

Added the last doc comment required by your Clippy configuration. But I have no idea what's making these tests fail.

They fail because of the issue solved here: https://github.com/twilight-rs/twilight/pull/2326 so you can just look away from those.

There's a few formatting and documentation issues too that I've not commented on that I'll cover in the next round of reviews. Sorry for letting this linger.

...Next round of reviews? I'd rather be able to churn through all your change requests in one session. Mind if I just wait until you're done?

...Next round of reviews? I'd rather be able to churn through all your change requests in one session. Mind if I just wait until you're done?

The next round will just be documentation and formatting pointers (see CONTRIBUTING.md), if we stick with my changes. Formatting doesn't matter that much until the API is finalized.

I should state this publicly. I am no longer going to be working on this PR.
The maintainers are invited to edit and bikeshed it to completion. This PR has the "Allow edits by maintainers" option checked.
If no one does anything, I'm going to change gears and build a separate crate.

I don't think this PR offers any measurable advantage for users over just using dalek directly, it rather only adds new code that needs maintaining. As it is, I'm against merging this PR. The only way in which I can see this being useful is if we were to add APIs for a webserver that accepts interactions, but I think that is out of the scope of twilight.

Alright then.


Filter starred articles

I’d like to be able to see my starred articles for a particular feed. Right now all of the starred articles appear together, with no way to filter by feed. It would be nice to add the option to filter by feed on the starred articles page, and to filter by starred articles on each feed’s page, similar to how you can filter by read / unread.

This would be great, it would be even better if you could apply the same filter to a folder.

Would it be too unusual to turn the filter unread button into a long-press option that allows one to filter by starred articles instead of unread articles?

Would like to be able to show both starred and unread posts


Error installing Amplify CLI

Describe the bug
Cannot install Amplify CLI.
To Reproduce
Steps to reproduce the behavior:
f01898655589:~ bimin$ npm -v
6.9.0
f01898655589:~ bimin$ node -v
v10.16.0
f01898655589:~ bimin$ npm install -g @aws-amplify/cli
npm WARN deprecated<EMAIL_ADDRESS>CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated<EMAIL_ADDRESS>use String.prototype.padStart()
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR!      /Users/bimin/.npm/_logs/2019-05-29T00_32_03_466Z-debug.log

Expected behavior
Install without sudo access.
Desktop (please complete the following information):

OS: macOS Mojave 10.14.5

Continuing report #942

The main concern is why do you require sudo to be able to install this tool?

It can have various reasons as to why you would need sudo. It might as well be that the first time you installed any pacakge from npm or even when installing the CLI, you might've used sudo which gives the directory /usr/local/lib/node_modules admin rights. If you want to prevent this in the future, try removing lib/node_modules or change auth permissions using chown for the  node_modules directory.

Also, it's not specific to "this tool". Try installing any package form npm and you should see this permission issue.


time series plot showing multiple data product on the same axes

It should be possible to plot different time series data inside one plot

Janis, I can take care of this

By all means! :)


noarch run_exports shouldn't include *_perl5

fixes #58

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

I'm not 💯 % sure that this will fix #58 but I think it will.  I guess to test it fully, I'd have to use the built package here to build one of the downstream noarch packages and see that they will work on Windows.
Also @mingwandroid is still a code owner here 😭

@conda-forge-admin, please rerender

@mbargull you might want to take a look at this since you were the last to modify the run_exports.noarch in 9695e1f7f46e5fb01c5366c37e9833a42b1125cb as a part of #49
My reasoning for this PR was put into the issue at https://github.com/conda-forge/perl-feedstock/issues/58#issuecomment-1933216022

we shouldn't specify *_perl5 or *_strawberry in the run_exports.noarch
The problem occurs because noarch packages are only built on linux-64 and pickup the run_exports from the unix perl package and *_perl5 isn't satisfiable on Windows because perl on windows is _strawberry.

This is exactly working as intended.
Unless someone puts in the work to build Perl on Windows from source so that we can align the directory structures on all platforms, we need to have a distinction between builds that have already been built with one or the other layout.
With gh-49 we got at least Windows and macOS packages aligned so that we could have noarch Perl packages (which we couldn't do at all before).
Our Windows packages are still just a repackaging on Strawberry Perl's builds which have another layout.
If we'd drop the *_perl5 build string match, we'd let those noarch packages built for the lib/perl5/... layout install on Windows, but the user wouldn't be able to use the installed packages at all since the repackaged Strawberry Perl doesn't look at the paths they are installed at.
Adding *_perl5/*_strawberry constraints lets us ensure users don't install broken packages.
The problem is that the package manager doesn't give us any facility to say "use can't install the package because of ".
If you'd want certain packages available (on usable!) on Windows, too, you'd need 2 builds:

one build for noarch which can be use on Linux/macOS,
another one explicitly for Windows.(ideally without noarch since the Strawberry Perl layout is only used on Windows).

The other/better solution would be to get someone to work on a Windows build with a directory layout we have on the other platforms too (I won't be able to look into this anytime soon, unfortunately).

Also @mingwandroid is still a code owner here 😭

Ray would certainly be someone I would've liked to work with on these pesky Windows issues :neutral_face:


docker  AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

ajinkya@VirtualBox:~/articulate$ docker-compose up
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 9, in
load_entry_point('docker-compose==1.8.0', 'console_scripts', 'docker-compose')()
File "/home/ajinkya/.local/lib/python2.7/site-packages/pkg_resources/init.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/home/ajinkya/.local/lib/python2.7/site-packages/pkg_resources/init.py", line 2691, in load_entry_point
return ep.load()
File "/home/ajinkya/.local/lib/python2.7/site-packages/pkg_resources/init.py", line 2322, in load
return self.resolve()
File "/home/ajinkya/.local/lib/python2.7/site-packages/pkg_resources/init.py", line 2328, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/lib/python2.7/dist-packages/compose/cli/main.py", line 14, in
from . import errors
File "/usr/lib/python2.7/dist-packages/compose/cli/errors.py", line 9, in
from docker.errors import APIError
File "/home/ajinkya/.local/lib/python2.7/site-packages/docker/init.py", line 2, in
from .api import APIClient
File "/home/ajinkya/.local/lib/python2.7/site-packages/docker/api/init.py", line 2, in
from .client import APIClient
File "/home/ajinkya/.local/lib/python2.7/site-packages/docker/api/client.py", line 5, in
import requests
File "/home/ajinkya/.local/lib/python2.7/site-packages/requests/init.py", line 95, in
from urllib3.contrib import pyopenssl
File "/home/ajinkya/.local/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 46, in
import OpenSSL.SSL
File "/usr/lib/python2.7/dist-packages/OpenSSL/init.py", line 8, in
from OpenSSL import rand, crypto, SSL
File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 118, in
SSL_ST_INIT = _lib.SSL_ST_INIT
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

This doesn’t look like an Articulate problem, but rather a Docker problem. Can you tell us which version of Docker you have installed, how you installed it, and where (OS) it’s installed?

I would recommend trying something like this in your virtual box.
https://github.com/EmpireProject/Empire/issues/429#issuecomment-275199239

Yes I'm trying this on virtual machine only

Were you able to try the fix above?

yes , I fix that error but now facing error in fetching its files, I tried it for several times but each time it happen to stop.

Please do suggest some alternative way to install articulate.

@Ajinkz I don't know if that problem is your internet or Docker Hub issues. I would recommend trying again today to see if it is any better. You could also try to pull them in pieces with docker-compose pull api docker-compose pull ui etc until you have all of them.
If your internet still isn't cooperating I can provide you with a cloud instance to test with.

Ok sure I will try once again

In case someone's still looking for a fix, updating pyopenssl version via pip install --upgrade pyopenssl solves the issue.

As @parasjain1 said, confirming that pip install --upgrade pyopenssl fixed the issue for me.
Thanks mate.


Allow Choice of Card Images

Sometimes when new sets are spoiled, cards that are reprinted can have images that aren't the best. Since the site currently defaults to whatever Scryfall shows (which is the most recent English printing, by default), these images can show on the site. See the example below with Phyrexian Altar (showing the 2X2 upcoming reprint as the image). It would be good if, as part of the admin controls, we could force a different image to show for all Phyrexian Altar combos, at least for a set length of time.

What do you mean with "set length of time"?


[Bug] Unable to open existing weekly note

Hi,
When opening existing periodic notes using the command palette (except for daily notes), I get the following error:
"Unable to create new file"

The same behaviour occurs for both create and open

Hi, can you send me a screenshot of your weekly note configuration?

I am running into the excact same issue. My configuration looks like this:

And the current weekly is already existing.

I have this issue as well.  You can't use hotkeys or the toolbar icon to call up an existing weekly note.

More screenshots:
Creating a new weekly note

Error

Trace

Also, I think your file scanner might be conflicting with the create/open functionality. Definitely the filescanner should detect that the file exists and then simply open it.

I had the same issue. It happened when I changed the weekly note format from YYYY-[W]ww to GGGG-[W]ww, and it worked when I used YYYY-[W] format again. (The weekly note was created using YYYY-[W]ww, FYI)


new bug for: sscan

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
latest
Minimal reproduce step
check redis command.
What did you expect to see?
if count==0 ,return ok! and for count!=0.
What did you see instead?
SSCAN with COUNT >0 , retrun error.
Anything Else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Hi @lt1946 , could you provide more info about your case? What is the error message?
I just executed the following:
<IP_ADDRESS>:6666> sadd set1 10 20 30 40 50 60 80 80 40 50 20
(integer) 11
<IP_ADDRESS>:6666> sscan set1 0 count 10
1) "0"
2) 1) "10"
   2) "20"
   3) "30"
   4) "40"
   5) "50"
   6) "60"
   7) "80"

In this case, count is greater than 0 and there is no error.

Close this issue since it has no further feedback. Feel free to reopen if you have any questions or feedback.


camera_avfoundation iOS crash The selected imageFormatGroup is not supported by iOS. Defaulting to brga8888

camera:
dependency: transitive
description:
name: camera
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.10.0+4"
camera_android:
dependency: transitive
description:
name: camera_android
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.10.0+4"
camera_avfoundation:
dependency: transitive
description:
name: camera_avfoundation
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.9.8+6"
camera_platform_interface:
dependency: transitive
description:
name: camera_platform_interface
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.0"
camera_web:
dependency: transitive
description:
name: camera_web
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.0+1"
I running app on iPhone8 device(iOS 12.4.1 ) , when take photos or videos, xcode print "The selected imageFormatGroup is not supported by iOS. Defaulting to brga8888", then crash and xcode show alert which display 'Message from debugger: Terminated due to memory issue'

Hi @sunjianios
Do you face this issue with camera/example sample code? If not so, please provide a completed and minimal reproducible code sample so that we may verify this. Also, please provide the output of flutter run -v and flutter doctor -v as well. Thank you!


Would love to have some submodule awareness

I have this set up and running, but I store all my stuff in a git repo, a dotfiles repo.
I suppose I could have done something to install all the stuff outside of it, but it'd be an awesome feature to have it not just clone, but detect if the directory it's cloning into was also a git directory, and instead do a submodule.
Additionally, it'd be nice to know what things are .gitignore-able, it seemed to have done lots of metadata changes, not all I thought I needed, but I'm not really sure :)
So it'd be pretty sweet if this could have some logic around it that if it knows it's being used in a git repo, or what metadata is per-machine and shouldn't be tracked, or something like that.
Thanks!

I think it is too complex and not useful.
Closing.

I don't like submodule feature.

Can you explain this? #353 also went into this direction and you went with implementing something by yourself rather than using an existing solution like git submodules for this.

Really?  I don't want to explain it in English...
git submodule is complex feature and I often forget git submodule commands.
If the feature is really needed, you can implement it.
This is open source solution.

git submodule is complex feature and I often forget git submodule commands.

That depends on who you ask. I now looked closer at dein#save_rollback and dein#load_rollback. You basically reimplemented git submodules with that. Submodules also tracks the commit hash. The main difference is that you decoupled it form git. You could have achieved the same by creating an independent parent repository which holds all the submodules below ~/.cache/dein. Then you would have all the metadata and the full power of git for free.
So my take on complexity is different here. If everybody presents their own solution I would now need to learn 100 instead of just one.

If the feature is really needed, you can implement it. This is open source solution.

The question is would you merge it :) ?

I don't want to depends on git submodule behavior.
If I use git submodule, it breaks current downloaded repositories and it adds complexity.

The merge is depends on your diff size and the advantages.
I think the advantage is not so big.

Thanks, I will consider it. It depends a bit on if SpaceVim would be onboard also (ref: https://github.com/SpaceVim/SpaceVim/issues/4024). A migration strategy would be needed of course and is possible. My idea would be that people don't need to deal with submodules until they need advanced features like rollback.
But as I am thinking about it, it may be better to start a plugin manager fresh with git submodule support as it’s "selling point". But dedicating the amount of time into it to make it happen is not something I can do short term.

Hm. If it has compatibility and the advantage is big, I will consider about  it.


fixes broken canonical share pages

Description
Music year: 1963

List of changes

Issue(s)
Fixes #
How to test

Go to https://deploy-preview-2859--oak-web-application.netlify.thenational.academy
Click on ______
You should see ______

Screenshots
How it used to look (delete if n/a):
{screenshots}
How it should now look:
{screenshots}
Checklist

[ ] Added or updated tests where appropriate
[ ] Manually tested across browsers / devices
[ ] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner
[ ] Does this PR update a package with a breaking change

Ticket created to fix this

Looks good. One question though - as a result of this change, canonical lesson pages have their own share pages. Previously, users were being redirected to the share page for an equivalent non-canonical lesson. I assume this behaviour is not an issue?
Also, does this clash with #2880 @njblore ?

Sorry meant to close this PR. We're going to continue with Tash' work as it's a better overall fix, rather than just a stop gap!


Scraping is unintuitive

Is there a reason for scraping the HTML and "traversing" links? You can scrape markup and get pages using their specific endpoints and formats.

Page list in JSON: https://wiki.facepunch.com/gmod/~pagelist?format=json
Page in markup: https://wiki.facepunch.com/gmod/GM:DoPlayerDeath?format=text

I think the code would be clearer if you were to scrape using the markup instead of the HTML, but it's just a suggestion.

Hey thanks for your interest.
You're exactly right. To be honest I haven't played Gmod in a while, nor have I looked seriously at the Gmod Wiki. This project was more an excuse to code something and I hadn't even found the JSON endpoints 😅
Thanks for your suggestion though, it would make the scraping more intuitive.
I'll mark this as a future improvement. Though I probably won't work on it anytime soon, since everything works fine atm.

@all-contributors please add @yogwoggf for ideas


Select with selectedIndex = -1 still shows the first option

Current behavior
As u can see on the screenshot http://prntscr.com/dotsln select has selectedIndex equals to -1 value is empty, but it shows the first option.
I can workaround it by explicitly calling document.getElementById('test').selectedIndex = -1;, but I can't write a test for it because select has all correct properties (selectedIndex = -1, value = '').
Expected behavior
I think it should never be the case. If select has selectedIndex equals to -1 then it should show a blank line, otherwise it should have selectedIndex equals to 0.
Minimal reproduction of the problem with instructions
https://plnkr.co/edit/jZNAV8IMFO5dV4ypmAFE?p=preview
The repro includes angular 2 code, but it's irrelevant to the issue. At first I thought it's a bug in angular, but it works as expected in Chrome/Firefox.
Browser:
IE 9-11/Edge

Hi @DzmitryShylovich - thank you for opening this issue. However, this does not appear to be an issue in Chakra- this sounds like an Edge issue. Please open an issue on the Edge team by following these steps.

@digitalinfinity done. should I close this one?

Yes please- thanks again for reporting the issue!


Update versions supported by for the SAS token functionality

Update versions supported by for the SAS token functionality

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

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


Initial Load on non GFX Laptop (Unity 2019.3.01f)

Hi,
I am having some issues overcoming Entities errors. As a new kid to ECS & DOTS and coding and so on, this is probably past my capabilities. The exe described in your blog does not execute on my laptop, and in the project I am getting errors on Entity creation.
I have in my packages list:
"com.unity.2d.sprite": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
"com.unity.addressables": "1.1.10",
"com.unity.ads": "2.0.8",
"com.unity.analytics": "3.3.2",
"com.unity.collab-proxy": "1.2.16",
"com.unity.entities": "0.3.0-preview.4",
"com.unity.ext.nunit": "1.0.0",
"com.unity.ide.rider": "1.1.0",
"com.unity.ide.vscode": "1.1.3",
"com.unity.inputsystem": "1.0.0-preview",
"com.unity.physics": "0.2.4-preview",
"com.unity.purchasing": "2.0.6",
"com.unity.render-pipelines.universal": "7.1.5",
"com.unity.rendering.hybrid": "0.1.1-preview",
"com.unity.test-framework": "1.1.3",
"com.unity.textmeshpro": "2.0.1",
"com.unity.ugui": "1.0.0",
but I get errors:
ArgumentException: The entity does not exist
Unity.Entities.EntityComponentStore.AssertEntityHasComponent (Unity.Entities.Entity entity, Unity.Entities.ComponentType componentType) (at Library/PackageCache/com.unity.entities@0.3.0-preview.4/Unity.Entities/EntityComponentStoreDebug.cs:231)
and warnings in the editor:
Assets_Project\Scripts\CameraEntityBridge.cs(25,25): warning CS0618: 'World.Active' is obsolete: 'World.Active has been deprecated. The most common & incorrect usage has been to use World.Active from a ComponentSystem. From a ComponentSystem you should use the ComponentSystem's World property directly. It returns the world that this system belongs to. There are some rare cases where a MonoBehaviour needs to inject data into the active world, in this case use World.DefaultGameObjectInjectionWorld. (RemovedAfter 2020-01-22)'
Clearly I am missing something. Sorry - maybe this is not a package error, but an "end user is thick" error. Any help is appreciated :)

Just to be clear. I can load Level 1, but get errors on all other screens. Also errors occur on the level but it does not stop the initial gameplay, until shooting stops due to entity issues.


Does the image use SELinux or AppArmor?

Does the image use SELinux or AppArmor? If not, should it?
This image is based on Raspbian, isn't it?
Thanks!

I'm not aware that we have added SELinux or AppArmor. What is your use-case?
Yes, the SD card image is based on Raspbian, the rootfs is built at https://github.com/hypriot/os-rootfs
Some tools are missing and due to the other kernel you may find issues with additional hardware.

Thank you very much for your quick answer. I cannot name a specific use-case. But I read about the discussion to connect e.g. AppArmor and Docker multiple times. Would it make the system safer in your opinion?

Yes, the docker-ce packages installs libapparmor as dependency https://travis-ci.org/hypriot/image-builder-rpi/jobs/322848909#L2123
But it is up to the user to use the Docker options to run containers more securely.

So you have not set that up yet in general? For other applications?
Can you guess if Raspbian uses AppArmor by default?

No I don't know. Please use https://gitter.im/hypriot/talk for more questions / discussions. :-)


[DO NOT MERGE] SEO edits for Group Policy to control OneDrive sync

Edited metadata title to use configure instead of control.
Edited description to add "configure".
Added an intro sentence to the Computer Configuration policies to insert the high-value keywords "disable OneDrive Group Policy Object". Per the SEO expert, this is a very high-hit phrase. The individual settings seem to indicate enabling and disabling, but I'm not sure if these are considered GPOs. If the sentence is technically inaccurate, I will remove it.
@DaniHalfin

@DaniHalfin These changes are good to merge. I added "OneDrive for Business" to the title since we have removed that branding.


Fuzzing: panic in parseGatewayIP

Expected Behavior

Current Behavior
panic: runtime error: slice bounds out of range
goroutine 1 [running]:
github.com/networkservicemesh/networkservicemesh/dataplane/pkg/common.parseGatewayIP(0xfb8210, 0x1, 0x1, 0x1, 0xfb8210)
/home/user/go/src/github.com/networkservicemesh/networkservicemesh/dataplane/pkg/common/egress_interface.go:96 +0x1c6
github.com/networkservicemesh/networkservicemesh/dataplane/pkg/common.FuzzParseGatewayIP(0x794aed72f000, 0x1, 0x1, 0x3)
/home/user/go/src/github.com/networkservicemesh/networkservicemesh/dataplane/pkg/common/egress_interface_fuzz.go:25 +0xb1
go-fuzz-dep.Main(0xc0000ddf78, 0x2, 0x2)
/tmp/go-fuzz-build528173389/goroot/src/go-fuzz-dep/main.go:36 +0x1b6
main.main()
/tmp/go-fuzz-build528173389/gopath/src/github.com/networkservicemesh/networkservicemesh/dataplane/pkg/common/go.fuzz.main/main.go:17 +0x5d
goroutine 19 [syscall]:
os/signal.signal_recv(0x0)
/tmp/go-fuzz-build528173389/goroot/src/runtime/sigqueue.go:139 +0x9c
os/signal.loop()
/usr/share/go/src/os/signal/signal_unix.go:23 +0x52
created by os/signal.init.0
/usr/share/go/src/os/signal/signal_unix.go:29 +0x41
exit status 2
References
#1518
crashers.GatewayIP.zip

parse-gateway-crash adds a unit test for this case.


Support auth

WebSocket server should auth incoming connection
Avoid accept anonymous access
Load auth info from config file

Finished at b84fc77881cf42f832e6d9ecfab82ff9a02cc380


Add interop test for status description with special characters

Fixes #16113

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,380      Total (=)      1,976,380

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,770,427      Total (>)     10,770,424

 No significant differences in binary sizes

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,380      Total (=)      1,976,380

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,770,422      Total (<)     10,770,423

 No significant differences in binary sizes

Adding @menghanl as Go representative. Adding @yashykt as C representative. Feel free to change that out with someone more appropriate.


Start using php-fig standards

Very few improvements. Can't be used in production yet.
Start using http://www.php-fig.org/
Some ideas:

stop using tabs, use 4 space insteads
stop declare and use static methods
use more interface to define your models
add some phpdoc
Don't declare your class as final, it use to be extends by your customers

Best read here https://github.com/php-fig/fig-standards

Thanks for the link, will definitely look into it.
Could you please explain what do you mean by "Can't be used in production yet"?
Also, thanks for the contribution, will review and merge it ASAP.

We have choose to implement it by ourself without using your depot for this two reasons:

This kind of synthax is dangerous for many reasons

There are no tags or releases, specs may change to implement new features without taking care of current application of the actual version. We should define strictly which version we use, with a guarantee of no specs breaks.

The HAPI Client is versioned and tagged. We follow the MAJOR.MINOR.PATCH semantic so any external code depending on a major version of this client is backward compatible with all previous releases under the same major version.
Also, as it has come to your attention, the master may contain minor commits not compromising the stability of the code and not important enough to cause a tag and release. These minor commits will be included in the next release.
Regarding the syntax, thank you again for the link.
I would like to add that we chose to publish this HAPI Client on GitHub because it can be of use to anyone using an API based on HAL+json and not only the SlimPay API. We are hoping that people like you would help improve it. As you can see, we are still at the v1.0.0 which means that we still have room for improvements :)
PS: Making the entry point URL as a const is not possible since APIs may have a baseUrl looking like https://example.org and an entry point not at the root ("/") but at a custom URL (e.g https://example.org/index).

If you have a release strategy, maybe you should write on it in the readme to make it clear for the new users :smile:
I've made some small patch for the php compatibility: main php framework like Symfony 2.X are php 5.3.9 compatible. It's not a great idea to exclude all thoses php versions (and so framework and existing tools) just for using array shortsyntax.
I don't understand where there is a problem with the entry point url declaration like this
const ENTRY_POINT_URL = '/';
public function __construct($apiUrl = null, $entryPointUrl = self::ENTRY_POINT_URL, $profile = null, AuthenticationMethodInterface $authenticationMethod = null)

And this ?
public function __construct($apiUrl = null, $entryPointUrl = '/', $profile = null, AuthenticationMethodInterface $authenticationMethod = null)

I didn't see you were still using the const as default value in the constructor. What if the $entryPointUrl is set to some other value when instantiating? You would have a public const with a value different from the attribute itself inducing some incoherence.
Regarding your commits could you please review your changes to only provide PSR-2 compliance like your commit messages suggest. If you want to push other commits in order to be PHP 5.3 compatible, please use another pull request/commit or at least specify it in the commit message.
Thank you.

I didn't see you were still using the const as default value in the constructor. What if the $entryPointUrl is set to some other value when instantiating? You would have a public const with a value different from the attribute itself inducing some incoherence.

No this don't work like this. It won't change the constant value, it will just don't use the default value (the constant).

Regarding your commits could you please review your changes to [..]

No I won't. I've spend enough time on a repos I don't use ;)

I understand, no problem. We will split it ourselves since it is bad practice to "Mix two unrelated functional changes." in one commit.
Thanks again for the contribution!

PSR-2 coding style released under v1.0.1.
PHP 5.3 compatibility won't be merged since this version is obsolete (support for security issues ended on 14 Aug 2014 so you should definitely not use it in production anyway)
More PHPDoc will be added when time allows it :)
Sorry for the delayed merge and have a good day.

PSR-2 coding style released under v1.0.1.
PHP 5.3 compatibility won't be merged since this version is obsolete (support for security issues ended on 14 Aug 2014 so you should definitely not use it in production anyway)
More PHPDoc will be added when time allows it :)
Sorry for the delayed merge and have a good day.


Add 1.3 beta release notes

First draft of 1.3 release notes under beta. Please feel free to recommend further updates to the notes now or after the 1.3 beta notes are merged. Targeting for this to be merged and beta on Wednesday, July 31st.
As with previous betas, the beta will be cut directly from master and the betas and rcs will continue to be released from master. There is no restriction on merging during the beta period, however if a feature is specifically not intended for 1.3, we should wait to merge it. Once the rc period has started, then merges into master should only be bug/stability fixes or low risk changes. We will cut the 1.3.0 tag directly from master.
View a test generation of the notes here

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3465   +/-   ##
=======================================
  Coverage   44.24%   44.24%
=======================================
  Files         124      124
  Lines       13732    13732
=======================================
  Hits         6076     6076
  Misses       6725     6725
  Partials      931      931

Flag
Coverage Δ

#linux
48.04% <ø> (ø)
:arrow_up:

#windows
39.86% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Going to get this merged as this document will continuously change during the beta period.


.Net: Monitor & Troubleshoot the Semantic Kernel C# SDK using the KernelFunction

.Net: Observability
We are using the Semantic Kernel C# SDK, but having some troubles identifying the possibilities to monitor & troubleshoot this solution.
We are using a KernelFunction using OpenAI and within that, the Azure OpenAI is throwing 429's.
Nevertheless, it seems that this is captured within the code of the Semantic Kernel & we cannot distinguish the issues when we get back the result from the kernel.
So we have a few questions:

Are we missing a functionality in that regard?
If Yes, where?
If No, is this something considered in the roadmap?

Thanks for the feedback!

Hi @markbartolocodit
what exception are you seeing?  Also can you provide some sample code and a stack trace for the issue. Thanks!

Semantic Kernel is being initialised in an ASP.NET Core App as folllows:
 var kernel = Kernel.CreateBuilder()
        .AddAzureOpenAIChatCompletion(
          myConfig.KernelMemory.DefaultOverrides.ChatModelDeployment,
          myConfig.KernelMemory.Services.OpenAIService.Endpoint,
          myConfig.KernelMemory.Services.OpenAIService.ApiKey
        )
        .Build();

The code that is using the semantic kernel in a Controller is the following:
Microsoft.SemanticKernel.Kernel kernel;
...
KernelFunction? myFunction = kernel.CreateFunctionFromPrompt(finalPrompt);
FunctionResult? result = await myFunction.InvokeAsync(kernel, arguments).ConfigureAwait(false);

The exception is occuring in myFunction.InvokeAsync
In AppInsights I'm seeing:

There is no way to interfere to see any exception happening from within the Kernel.
The main goal would be for the 429 to bubble up in the myFunction.InvokeAsync.

Hi @markbartolocodit
I created a unit test to check this behaviour, take a look here: https://github.com/microsoft/semantic-kernel/pull/9772/files
Based on this you should be able to catch a HttpOperationException. Let me know if this doesn't work for you.

@markbartolocodit If you have ASP.NET Core app, you are invoking Kernel in Controller and you don't see an exception, make sure that you don't have global filter/middleware in your app that intercepts the exception automatically. If you want to catch 429 exceptions in controller, you need to make sure that global exception handling doesn't include 429 error.

@markbartolocodit Closing this for now, if you are still having issues please create a new issue.

Thanks @markwallace-microsoft. Will delve deeper in this, and keep you posted should I require further information.


fix(input): make sure 1-line hint is fully contained by input container.

fixes #5539

This doesn't appear to fix overflow in a dialog.
http://plnkr.co/edit/1duXQ6?p=preview (the button opens example dialog)

@code-tree I don't see any scrollbar in that demo. The demo also doesn't contain this change yet

@mmalerba Yes, sorry, to clarify, I merged these changes locally and tested but the dialog still showed a scrollbar when input has an md-hint.
Strange you don't see it in the plunker though. I'm using Chrome Linux 60.0.3112.20


Deprecated Task?

I noticed when adding this task to my pipeline that the name is "[Deprecated] Deploy SQL DACPAC" - is this really deprecated and if so what is the recommended replacement with like functionality aka replacement?
Also I did notice when importing my build and release definitions from one environment into another this task is the only one that does not import. It appears like it is not recognized, Is this because its deprecated?

I believe I may be looking at two different extensions - I noticed the GUID on the deprecated is 70a3a82d-4a3c-4a09-8d30-a793739dc94f while you guys here use 063c7649-4934-49e8-9eac-37121fe7e350.
So now my question is, how can I get hold of this extension to deploy into my new environment? It is available in my older environment as I believe I installed from the marketplace - this extension does not appear to be on the marketplace from what I can tell.

Please disregard _ I found the extension I needed in the IIS Web App Deployment Using WinRM packaged on the marketplace.


_Deployment

Deployment
User Story
As a boot camp student
I want the pre-work notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website using the URL,
THEN I can access my website from any browser

Webpage deployed oat 2:20am 9/12/2024


Cannot read property 'initialPreferences' of undefined - Jest test

I'm using this library and working nice in the App. But when I try run the tests (using jest and react test renderer) the console plot the follow error:

Same issue here.
Attempted to mock it:
`// mocks/react-native-appearance.js
jest.mock('react-native-appearance', () => {
return {};
});`
But got TypeError: Cannot read property 'getColorScheme' of undefined instead. Mocking that function doesn't solve the problem either. Probably i'm not mocking it correctly

@lissau  I solved this issue.
Follow above what I need did:

import { Button, Icon } from '~/components';
import { Props as ButtonProps } from '~/components/Button';
import { ThemeProvider } from 'styled-components/native';
import darkTheme from '~/theme/ThemeContext/dark';
import lightTheme from '~/theme/ThemeContext/light';

jest.mock('react-native-appearance', () => ({
  theme: jest.fn(),
}));
const onClick = jest.fn();
let wrapper = {};
let props: ButtonProps = { title: 'Test', onPress: onClick, iconDirection: 'start', variant: 'pay' };
let theme = lightTheme.theme;

describe('<Button />', () => {
  beforeAll(() => {
    jest.useFakeTimers();
  });

  beforeEach(() => {
    wrapper = create(
      <ThemeProvider theme={theme}>
        <Button {...props} />
      </ThemeProvider>
    );
    return wrapper;
  });
  it('renders correctly in Light Theme', () => {
    props = { ...props, ...{ iconName: 'add', iconDirection: 'end' } };
    expect(wrapper).toMatchSnapshot();
  });
});

The ThemeProvider is required to use props.theme in styled components.
I hope help someone!

Thanks for the quick reply @DwCleb
Actually, I found a mock in the module, so all I did was:
// __mocks__/react-native-appearance.js
export * from 'react-native-appearance/src/mock';

Thank again

@lissau hi there, then how to use it then, the mocks, I am having a similar problem, where theme is used in the button component

@lissau hi there, then how to use them, the mocks, I am having a similar problem

I am trying to test a custom Button component
In this component, I have a custom hook const { theme } = useTheme()
the hook is simply getting theme from reducer
useTheme
const useTheme = () => {

    const dispatch = useDispatch();

    const { theme } = useSelector(
        (state: RootState) => state.app
    );

    const toggleTheme = useCallback(
        () => {
            dispatch(setTheme({ theme: theme.$mode === 'dark' ? themes.light : themes.dark }))
        },
        [theme]
    );

    return { theme, toggleTheme };
};

export default useTheme;

the error points way down in the reducer
'use strict';

import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import { AppState, Theme } from '../types';
import { themes } from '../utils/theme';
import { Appearance } from 'react-native-appearance';   <-- the error is pointing here

/**
 * take system's mode preference
 */
const systemTheme = Appearance.getColorScheme();

/**
 *
 * @param mode light | dark | no-preference
 * @returns [Theme]
 */
const getSystemTheme = (mode: 'light' | 'dark' | 'no-preference') => {
    if (mode === 'no-preference' || mode === 'light') return themes.light;
    return themes.dark;
}

/**
 * set initial state for theme
 */
const initialState: AppState = {
    theme: getSystemTheme(systemTheme)
}

// code omitted

i have same issue did you solve this?


SILOptimizer: a new small optimization pass to remove redundant basic block arguments.

The BlockArgumentOptPass eliminates block arguments which have the same value as other arguments of the same block.
This also works with cycles, like two equivalent loop induction variables. Such patterns are generated e.g. when using stdlib's enumerated() on Array.
preheader:
  br bb1(%initval, %initval)
header(%phi1, %phi2):
  %next1 = builtin "add" (%phi1, %one)
  %next2 = builtin "add" (%phi2, %one)
  cond_br %loopcond, header(%next1, %next2), exit
exit:

is replaced with
preheader:
  br bb1(%initval)
header(%phi1):
  %next1 = builtin "add" (%phi1, %one)
  %next2 = builtin "add" (%phi1, %one) // dead: will be cleaned-up later
  cond_br %loopcond, header(%next1), exit
exit:

Any remaining dead or "trivially" equivalent instructions will then be cleaned-up by DCE and CSE, respectively.
rdar://problem/33438123

@swift-ci test

@swift-ci benchmark

Build failed
Swift Test OS X Platform
Git Sha - 5b290c7d7f4b9ea2a509794782916c9448d57358

@eeckstein Not reviewing this, but curious, doesn't simplify cfg do this? Why do we need an extra pass. Are you hoping to remove that code from simplify-cfg?

@gottesmm No, SimplifyCFG does not perform this optimization. I didn't want include this into SimplifyCFG, because

It doesn't need to. No other SimplifyCFG optimization depends on this.
SimplifyCFG is already very complex
Compile time: this optimization doesn't need to run every time SimplifyCFG runs.

@swift-ci test

@swift-ci test

@swift-ci benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

SortIntPyramid
360
450
+25.0%
0.80x

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendRepeatCol
500
400
-20.0%
1.25x (?)

MapReduceClass2
23
19
-17.4%
1.21x

MapReduce
209
185
-11.5%
1.13x (?)

MapReduceAnyCollection
213
194
-8.9%
1.10x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

MapReduceLazyCollectionShort
26
47
+80.8%
0.55x

SortIntPyramid
410
730
+78.0%
0.56x

SortAdjacentIntPyramids
710
1005
+41.5%
0.71x (?)

IterateData
860
930
+8.1%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendSequence
550
370
-32.7%
1.49x (?)

ArrayAppendRepeatCol
500
410
-18.0%
1.22x (?)

Code size: -Osize
Performance: -Onone
Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@eeckstein my thought was maybe we could use this to remove that functionality from simplify cfg.

and thus simplify simplify cfg.

@gottesmm As I said, there is no such optimization in SimplifyCFG

@atrick Thanks for the review! I added some comments.
About complexity: you are right that in pathological cases it can blow up. Even worse, it can also happen with no cycles: in case there are very long chains of side-effect-free instructions.
So I just added a limit for the worklist size as well. I made some experiments with the benchmarks and chose the limit accordingly.

@swift-ci smoke test

@swift-ci smoke test

@eeckstein Good, I'm glad you thought about the pathological case. You're right, this is a problem even if the phi chains don't end up being redundant, so just processing it in RPO order won't solve it. I just know I had to be very careful when implementing this in the past. But in my case, I wanted to guarantee all redundant phis were removed for verification purposes. If you just want to weed out the cases that happen in practice, a limit on the worklist should be fine.

Yeah, makes sense. I renamed it

@swift-ci smoke test

@swift-ci smoke test

@swift-ci smoke test

@eeckstein I think that this change might have triggered a regression in the Foundation build with optimizations.  I'm going to try to isolate a test case and see if this is truly the case, but perhaps you can spot it faster than I can do that.  The failure logs are at https://dev.azure.com/compnerd/3133d6ab-80a8-4996-ac4f-03df25cd3224/_apis/build/builds/28960/logs/82

@compnerd Hm, this verification failure doesn't look like it's related. Maybe the optimization uncovered another bug.
Can you run the compiler with -Xfrontend -sil-verify-all? It should give you the optimization pass which really causes the problem.


Performance issues

Unfortunately I had to switch to another render library because of perfomance issues with ScrollView. If I try to render several notes with code syntax highlighting inside the ScrollView, the application gets stuck completely.
Code example:
ForEach(notes) { note in         // each "note" contains md text with code block
  HStack {
      MarkdownView(note.data)
          .textSelection(.enabled)
      Spacer()
}

MarkdownView: 1.7.0
MacOS: 13.6.6
Xcode: 15.2

Will investigate it soon

@mitrakov it seems normal. Can you provide more details like how many MarkdownView are rendered in parallel? And did you try lazy-containers to solve performance issue on your side?


Add one_to_n_address and chain_id as arguments to

OneToN.claim().  Otherwise, the same IOU would be usable on different
instances of OneToN contract.
This commit fixes https://github.com/raiden-network/raiden-contracts/issues/849

By the way, chain_id value is never checked in any contracts https://github.com/raiden-network/raiden-contracts/issues/855. That should be fixed.

True.  And why does the new test succeed.


firestore-bigquery-export: Add additional parameter to specify target dataset location in BigQuery

[REQUIRED] Step 2: Extension name
Extension name: firestore-bigquery-export
What feature would you like to see?
It would be great if we could expose an additional parameter in extensions.yaml to specify the BigQuery dataset location in the extension config when uploading data from firestore
Reference : params
How would you use it?
An additional option in extensions.yaml to specify the target dataset location being created in BigQuery will help us configure when installing the extension

That's a reasonable request, I'm sure the Firebase team will consider it.  Thanks for the suggestion!

Looks like this is doable by adding a param to extension.yml and updating the initializeDataset function to call bq.dataset with the location option. We'd probably have to update the import script with this option too?

@jhuleatt That's correct. We'd have to pass the location here. Documentation.
The FirestoreBigQueryEventHistoryTracker class is used by the BigQuery extension and import script.


simplify make mod-tidy

Codecov Report

Merging #211 (4523fd5) into main (d369d21) will increase coverage by 0.01%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #211      +/-   ##
==========================================
+ Coverage   86.83%   86.85%   +0.01%
==========================================
  Files         102      102
  Lines       10704    10704
==========================================
+ Hits         9295     9297       +2
+ Misses       1085     1084       -1
+ Partials      324      323       -1

see 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Wrong Lag/TotalLag count.

I am getting wrong Lag and TotalLag when I navigate to consumers section. Topic has 20 partitions and all of them had messages and partition offset values. After segment retention period those messages were deleted and off course depending on the segment retention properties of __consuemr_offsets topic, offsets for that consumer group also got deleted and currently only 3 partitions are getting data (active) and consumer is consuming the data from those partitions, but the Lag on other (inactive) topics and Total Lag is getting calculated based on the Topic partition offset values.

This was fixed right?  I merged the PR.

Yes, This was fixed with PR #362.


chore(develop): release odin 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-09-21)
Features

Add logging and error handling to refresh token endpoint (fdfc9ba)

Bug Fixes

odin: remove certs dependency as they are already set in lb (92ec8a0)
odin: remove https redirection (11cdfb6)
odin: use correct name for access token (d7aabcb)

Performance Improvements

odin: add https support (17d199d)
odin: add lua filter for appending access/refresh tokens from/to requests/responses (884b168)
odin: increase expiry time for newly created access tokens (9e86619)
prod: update SameSite attribute for cookies to None (7d143ad)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

odin/v1.0.0
:sunflower:


FIX fix array index func with decimal

Proposed changes
Issue Number: close #xxx
fix array index func with decimal
in old analyzer when sql with array_position or array_contains with decimal , may loss precision to which will make result wrong

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run compile

run clickbench

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.3 seconds
stream load tsv:          544 seconds loaded<PHONE_NUMBER>9 Bytes, about 131 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          29.5 seconds inserted 10000000 Rows, about 338K ops/s
storage size:<PHONE_NUMBER>0 Bytes

run p0

run p1


Encrypted?

The latest Web / Mobile Apps looks like now the content is encrypted, currently the projekt still working.
Please can you check if it's possible to add the encrpytion?

Content is not encrypted, but encoded in a binary format (gRPC+protobuf). This library supports both the legacy JSON API and the new gRPC endpoint.
Documentation and usage examples could be found here.


Add support for Linux clipboard reading

Pillow 10.0.0 fixed the last outstanding issue with grabclipboard on Linux X11 so we can now use it for grabbing the clipboard on all OSs and session types.
Summary:

Remove code path that blocks Linux clipboard mode, now use Pillow for all OS types
Add suppression of unnecessary Pillow errors (--verbose to show them again)
Minimum python version changed to 3.8 due to Pillow upgrade, 3.6 and 3.7 are unsupported now anyway
Maximum python version changed to 3.11 since PyTorch 2 supports it and manga-ocr runs perfectly under it

Thanks


Examples should have test suites that are run as part of CI

Since examples are used heavily in the documentation, we need to make sure that they still work across code changes.
The ideal way this should work is when developing locally or running in CI it would link to the built assets in the workspace to make sure they provide the expected output.

@adobe export issue to Jira project CAI


Additional comma after Saturday

Quick fix, for lines 208-216, there is an additional comma after day 'Saturday' in .filter('dayName', ...).
This is problematic as it's obviously not great syntactically but it also makes Closure compiler fail.

Okay I will add this to the fixes of the next release, hoping to get caught up by Sunday.
Thanks for pointing it out!

Fixed in 1.4.2


MonadRandom monad support

Hello, I don't know if you'll agree, but here goes. This changes your code from pure functions to Rand and RandT functions, which basically means we're using the MonadRandom monad to thread the random generator. This saves the user of the library to have to return the new generator, which makes the client code easier to write. The downside is that there are more dependencies on other libraries and maybe the code is more intimidating to new Haskell users. I've checked and the parallelism is not impacted (all cores are used when running with +RTS -N).

I believe this change will make "simple" genetic algorithm implementation not so simple for people who has little experience in Haskell. Besides I'm not writing Haskell a lot lately and prefer to accept only minor changes in Haskell libraries which I maintain. But I admit, MonadRandom is a much better solution. Perhaps you would be interested in creating a fork of this library.


latest-tag-button is showing "+0" and "HEAD isn't tagged"

Please ensure:

[X] The bug is caused by Refined GitHub. It doesn't happen if I disable the extension.
[X] The bug happens after clearing extension cache. The "Clear cache" button below can also be found at the bottom of the options page.

Example URLs
https://github.com/kas-elvirov/gloc
Extension version
22.2.13
Browser(s) used
Safari 15.3
Description
I'm opening an issue to track https://github.com/refined-github/refined-github/pull/5365#issuecomment-1047870611

HEAD is tagged:

Include in this issue:

[X] Screenshots/video/gif demonstrating the bug, if it’s visual
[ ] Console errors, if any

I think we just need to fix this condition:
https://github.com/refined-github/refined-github/blob/1d9dd9f0208c327351512beb6d6a22279bc47807/source/features/latest-tag-button.tsx#L120
From currentBranch === defaultBranch to !currentBranch || currentBranch === defaultBranch or something like that


[Feature Request]

How to use $literal in project to add new field when do a query?
Bids Collection
{ "_id" : 1, "item" : "abc123", price: "$2.50" } { "_id" : 2, "item" : "xyz123", price: "1" } { "_id" : 3, "item" : "ijk123", price: "$1" }
db.bids.aggregate( [ { $project: { total: { $literal: 100 } } } ] )
{ "_id" : 1, "item" : "abc123", price: "$2.50" ,total:100} { "_id" : 2, "item" : "xyz123", price: "1" ,total:100} { "_id" : 3, "item" : "ijk123", price: "$1",total:100 }

How to use $literal


Allow respect_gitignore when not in a git repo

Summary
Allow respect_gitignore even when not in a git repo
Test Plan
Within the Ruff repository:

Renamed .git to .hello-world
Added test.py in root folder
Added test.py to .gitignore
Ran cargo run --bin ruff -- check --no-cache --isolated --show-files . with
and without --respect-gitignore flag

fixes: #5930

Current dependencies on/for this PR:

main

PR #5937   👈

This comment was auto-generated by Graphite.

Thanks! Great test plan too.


Mutually recursive let bindings

After #23 it is [temporarily] impossible to define mutually recursive let bindings.
It has been proposed to use and to join let bindings into a single explicit "set" for resolution:
let A = struct {
   val b: Option(B)
}
and A = struct {
  val a: A
}
and struct T {
}
and interface {
}
// ...

An opinion that may be we should not allow mutually recursive bindings at the moment: https://github.com/tact-lang/spec/discussions/12#discussioncomment-2738370


Microprimes stagger rates

As discussed in the prime-holders meeting this reduces the microprime stake rates over a 4 month period to better account for the much larger balances that microprimes can hold vs their ZC counterparts
This also changes the required balance on the microprime to match the microprime stake group at the same time as the fork.
Currently this includes #340 as it's required and should be rebased before merge.
Same with #340 this is forking code however the timestamp for when the fork occurs still needs to be set (currently it's a place holder to force the build)

Does this signal the death of Orion class staking, with MicroPrimes filling the void at an in-between rate? Shouldn't the normal wallet rate likewise be set to 20% of Prime?

@dbroyhill technically speaking if a wallet can/does stake it is an orion as far as the original devs coded it.
Otherwise lowering the standard wallet stake rate has been discussed, as to whether that's going to happen I'm uncertain at this time.


Include 'compiler-bridge_2.12' module compilation to warm up step

Example of output during docker build command:
[info] compiling 1 Scala source to /home/sbtuser/project/target/scala-2.12/sbt-1.0/classes ...
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.14. Compiling...
[info]   Compilation completed in 7.163s.
[info] done compiling

Side note
I wonder why we have that Temp.scala in the root. Sbt will only look in src/main/scala?
Will check this PR tomorrow

I thought the same way.. but apparently sbt does compile Temp.scala in the root:
$ docker run -ti hseeberger/scala-sbt:11.0.11_1.5.5_2.13.6 bash
root@25012b56e55b:~# mkdir foo && cd foo
root@25012b56e55b:~/foo# sbt sbtVersion && \
>   mkdir -p project && \
>   echo "scalaVersion := \"${SCALA_VERSION}\"" > build.sbt && \
>   echo "sbt.version=${SBT_VERSION}" > project/build.properties && \
>   touch project/Dependencies.scala && \
>   echo "case object Temp" > Temp.scala && \
>   sbt compile
[info] Updated file /root/foo/project/build.properties: set sbt.version to 1.5.5
[info] welcome to sbt 1.5.5 (Oracle Corporation Java 11.0.11)
[info] loading project definition from /root/foo/project
[info] set current project to foo (in build file:/root/foo/)
[info] 1.5.5
[info] welcome to sbt 1.5.5 (Oracle Corporation Java 11.0.11)
[info] loading project definition from /root/foo/project
[info] compiling 1 Scala source to /root/foo/project/target/scala-2.12/sbt-1.0/classes ...
https://repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.5.7/compiler-bridge_2.12-1.5.7-sources.jar
  100.0% [##########] 52.5 KiB (141.8 KiB / s)
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.14. Compiling...
[info]   Compilation completed in 8.038s.
[info] loading settings for project foo from build.sbt ...
[info] set current project to foo (in build file:/root/foo/)
[info] Executing in batch mode. For better performance use sbt's shell
[info] compiling 1 Scala source to /root/foo/target/scala-2.13/classes ...
[success] Total time: 2 s, completed Sep 16, 2021, 5:57:22 AM
root@25012b56e55b:~/foo# find . -name *.class
./project/target/config-classes/$8028d69ce41334672f67$.class
./project/target/config-classes/$8028d69ce41334672f67.class
./target/scala-2.13/classes/Temp.class
./target/scala-2.13/classes/Temp$.class

So, Temp.class is there.

I wonder how we can best add a comment about why this line is there. Otherwise the next person working on those files might think this is superfluous.
Maybe echo "//force sbt compiler-bridge download" > project/Dependencies.scala

The base dir indeed is also seen as main src
https://www.scala-sbt.org/1.x/docs/Howto-Customizing-Paths.html#Disable+using+the+project’s+base+directory+as+a+source+directory

@fcv can you apply that suggestion? Then we can merge.

Maybe echo "//force sbt compiler-bridge download" > project/Dependencies.scala

That sounds good to me.
TBH I'm not really a sbt expert but as I understand sbt downloads compiler bridges for each Scala version used in the project.
I guess the point is that in most of cases the Scala version used by the project itself, defined in build.sbt, and the Scala version used to compile files under project folder, e.g. plugin.sbt, Dependencies.scala.., are different. As I was told sbt will always use Scala 2.12 to compile files under project folder, regardless of the version defined in build.sbt.
In one of my tests I built a docker image for sbt 1.5.5 and Scala 2.13.6. Then I've got the output:
Step 17/21 : RUN   sbt sbtVersion &&   mkdir -p project &&   echo "scalaVersion := \"${SCALA_VERSION}\"" > build.sbt &&   echo "sbt.version=${SBT_VERSION}" > project/build.properties &&   touch project/Dependencies.scala &&   echo "case object Temp" > Temp.scala &&   sbt compile &&   rm -r project && rm build.sbt && rm Temp.scala && rm -r target
 ---> Running in e21d6c3dc2e7
copying runtime jar...
[info] [launcher] getting org.scala-sbt sbt 1.5.5  (this may take some time)...
[info] [launcher] getting Scala 2.12.14 (for sbt)...
[info] Updated file /home/sbtuser/project/build.properties: set sbt.version to 1.5.5
[info] welcome to sbt 1.5.5 (Oracle Corporation Java 11.0.12)
[info] loading project definition from /home/sbtuser/project
[info] set current project to sbtuser (in build file:/home/sbtuser/)
[info] 1.5.5
[info] welcome to sbt 1.5.5 (Oracle Corporation Java 11.0.12)
[info] loading project definition from /home/sbtuser/project
[info] compiling 1 Scala source to /home/sbtuser/project/target/scala-2.12/sbt-1.0/classes ...
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.14. Compiling...
[info]   Compilation completed in 7.756s.
[info] done compiling
[info] loading settings for project sbtuser from build.sbt ...
[info] set current project to sbtuser (in build file:/home/sbtuser/)
[info] Executing in batch mode. For better performance use sbt's shell
[info] compiling 1 Scala source to /home/sbtuser/target/scala-2.13/classes ...
[info] Non-compiled module 'compiler-bridge_2.13' for Scala 2.13.6. Compiling...
[info]   Compilation completed in 7.335s.
[info] done compiling
[success] Total time: 11 s, completed Sep 15, 2021, 6:31:07 PM

My understanding is that sbt downloads a compiler bridge for each Scala version it uses .. and it will use 2.12.x for project's meta files.
So, the download of the compiler bridge used to compile project's files was already covered. My change also forces the download of the compiler bridge used to compile project's "meta files" (files under "project" folder).
Projects using multiple Scala versions, other than the one "natively" support by the docker image, would still need to download other compiler brigdes afaik. But I guess that doesn't need to be supported here.
Sorry about the long message. Just wanted to share that.
I will apply your suggestion in a sec.

Yes, the meta-build sticks to the sbt selected scala version. This is a great improvement as it shaves of 5-20 seconds!
Thanks a lot


Tiering: Prototype for SHS to dept. heads and housemasters

Taking some earlier prototype work and releasing it to white-listed users as a conversation piece and aid for user research, not as a product feature.
This won't be actively developed this next quarter.

Considering this 🚢 in https://github.com/studentinsights/studentinsights/pull/1801.


[stable/jenkins] ability to manually set Jenkins URL

What this PR does / why we need it: Adds the ability to set the Jenkins URL system config manually
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): N/A
Special notes for your reviewer: Use-case is that my ingress configuration terminates TLS at the LoadBalancer (ELB in my case). The ingress resources themselves do not have TLS configured, but the user-facing URL is "https" due to the TLS termination downstream. The current Jenkins URL logic is insufficient in my case because it is set based on the ingress TLS configuration. This PR adds an "escape hatch" to set the Jenkins URL manually for non-standard cases like mine.

/assign @lachie83

/ok-to-test

/lgtm

@asmith60 Can you sign-off your commits? See https://www.helm.sh/blog/helm-dco/index.html