Understanding patch processing in EViG modules

Hello,
Thank you for sharing the code.
While reading the paper I understood that the Vision Graph module first splits an image into patches that will then be treated as nodes in a graph, but as I studied the original ViG code and also this one I couldn't figure out where the patches were! As you based this architecture on the nnunet framework I saw the patches being mentioned in the data loader part, but the way I see it the original image is cropped using this patch size and that's it, not an image being split into multiple patches which are then sent forward in the network.
The only other place where I thought the splitting into patches could be done is in the position embedding with the n parameter, but that only represents the number of voxels in an image (for 3D).
In the end, as I see from the code, the Grapher module treats each voxel as a node, finding its k nearest neighboring voxels based on their features, which I don't think is as useful as the patch approach discussed in both papers.
If you could please help me understand how these patches are processed or if there are any at all, it would help my research a lot! Thank you again and sorry for bothering!

Hello @danielIonita2022,
Thank you for your insightful question. It's great to see such deep engagement with the code and the underlying concepts.
Your observation about the handling of patches in the Vision Graph (ViG) module is astute. In the ViG, as seen in the stem operation of the ViG, an image is first split into patches. This is conceptually similar to the OverlapPatchEmbed used in the PVT, which you can examine OverlapPatchEmbed of the PVT. In these operations, different convolutions are applied, such as a kernel size of 7 with a stride of 4, and three kernels of size 3, with two having a stride of 2 and one with a stride of 1. This essentially achieves a downsampling effect, which is consistent with the operations in the ViG.
The patches in the context of these models should be understood as portions of the input image at each stage, with the embedding dimensions corresponding to the number of channels. Each stage has its distinct patch embedding.
Regarding your specific query about the Grapher module's treatment of voxels as nodes and the application of k-nearest neighbors based on features, your understanding is correct.
If you have further questions or need more clarification, feel free to ask.
Best,
Pengcheng

Thank you for the quick and detailed response!
I believe this clears some of my confusion regarding the patches, all that remains is for me to take a deeper dive into the code to understand precisely what you told me. I will come back with another reply in the coming days if I get stuck again, otherwise this issue can be closed.
Best regards,
Daniel Ionita


Cooldown not Working

If you do .help [command] the slowmode will say undefined

Fixed in the latest commit


How to Broadcast event only to the Sender?

Hi Team & @oklemenz2 ,
We are trying to use this WebSocket plugin in our Chat app to handle the streaming of Chat responses coming from OpenAI to the UI in streams.
We were able to use the plugin in a POC and raise WebSocket event from the CAP function. But we want to broadcast the event only to the sender client and not to all the other clients connected to the Server. We tried to use the Identifier concept using the annotation<EMAIL_ADDRESS>but what we figured from the code is that it works the other way around to exclude the Identified sender client and broadcast to other clients.
Please let us know how we can broadcast the event only to the Sender client and ignore all other clients.
Appreciate your help.
Thanks & Regards,
Vishal Sharma

Hi,
yes this should be possible. Assuming you are in a ws-aware context, e.g. handling an socket event via an CDS operation handler.
Then you should have access to the ws client facade emit via:
req.context.ws.service.emit(event, data)
Maybe I expose this as part of CDS event emit in future, if this is common use-case.
Can you check.
Best regards,
Oliver

Hi @oklemenz2,
Thank you for your suggestion. I tried to implement this and it works as expected when there is a Websocket-enabled function that is called from UI to CAP, in the handler of which we call the Websocket-enabled event using your suggested method req.context.ws.service.emit(event, data).
But in my scenario from UI, we want to call a normal CAP action that is not WebSocket enabled, in the handler of the action I want to emit the WebSocket based Event to the caller of the Action only.
Please let us know if this is possible. Much appreciate your help.
Thanks & Regards,
Vishal Sharma

Ok, I see. This is then currently not possible. But I will see, that I implement a solution based on the identifier concept, to only send to this identifier client. Stay tuned…

Include User is implemented with ws 1.2.0:
https://github.com/cap-js-community/websocket/releases/tag/v1.2.0
Please check.


release(8.0.0): release 8.0.0

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Other information

Codecov Report

Merging #3680 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #3680      +/-   ##
==========================================
- Coverage   95.43%   95.42%   -0.01%
==========================================
  Files         699      699
  Lines       14491    14491
  Branches     1913     1913
==========================================
- Hits        13829    13828       -1
  Misses        237      237
- Partials      425      426       +1

Impacted Files
Coverage Δ

components/version.ts
100% <100%> (ø)
:arrow_up:

components/time-picker/time-holder.ts
97.26% <0%> (-0.69%)
:arrow_down:

Continue to review full report at Codecov.

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


Step 4 fail: Conda install pytorch==1.10 torchvision torchaudio cudatoolkit==11.1 -c pytorch -c conda-forge

conda install pytorch==1.10 torchvision torchaudio cudatoolkit==11.1 -c pytorch -c conda-forge
I get back:  Solving Environment: failed with initial frozen solve.
It tries twice and says: PackagenotFoundError:

Cudatoolkit==1.1

Any ideas? I see you said this was difficult for you with trial and error in that section. Any suggestions?

remove one = from cudatoolkit==11.1


Roll Engine from 3dbf9638d206 to 1e676eefa0d4 (26 revisions)

https://github.com/flutter/engine/compare/3dbf9638d206...1e676eefa0d4
2021-02-27<EMAIL_ADDRESS>Roll Dart SDK from 632ae0dee554 to d3320177ee9a (1 revision) (flutter/engine#24676)
2021-02-27<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from 7jkJkkEng... to kLoBz4ZY4... (flutter/engine#24674)
2021-02-27<EMAIL_ADDRESS>Roll Dart SDK from cf3ef9e5ced1 to 632ae0dee554 (1 revision) (flutter/engine#24671)
2021-02-27<EMAIL_ADDRESS>Roll Skia from deed7f65ff6b to 07c8401a54d3 (5 revisions) (flutter/engine#24670)
2021-02-27<EMAIL_ADDRESS>Hardware Keyboard: Windows (flutter/engine#23465)
2021-02-26<EMAIL_ADDRESS>Add third_party/libpng repository and roll buildroot (flutter/engine#24616)
2021-02-26<EMAIL_ADDRESS>Roll Skia from 6706c9fa14c4 to deed7f65ff6b (3 revisions) (flutter/engine#24669)
2021-02-26<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from kfjppUrzf... to Idk0D_EZk... (flutter/engine#24667)
2021-02-26<EMAIL_ADDRESS>Roll Skia from f20e75619cd3 to 6706c9fa14c4 (2 revisions) (flutter/engine#24666)
2021-02-26<EMAIL_ADDRESS>Revert "TextStyle level leadingDistribution (#24025)" (flutter/engine#24665)
2021-02-26<EMAIL_ADDRESS>Roll Dart SDK from ac2d5fd1c35d to cf3ef9e5ced1 (1 revision) (flutter/engine#24664)
2021-02-26<EMAIL_ADDRESS>Roll Skia from 96f6d9a37f1c to f20e75619cd3 (5 revisions) (flutter/engine#24661)
2021-02-26<EMAIL_ADDRESS>remove useless code (flutter/engine#24546)
2021-02-26<EMAIL_ADDRESS>Update shell_fuchsia_unittests.cc (flutter/engine#24660)
2021-02-26<EMAIL_ADDRESS>Roll Skia from 1f57a0f1ae0b to 96f6d9a37f1c (3 revisions) (flutter/engine#24659)
2021-02-26<EMAIL_ADDRESS>Roll Skia from 453f143dba3f to 1f57a0f1ae0b (6 revisions) (flutter/engine#24658)
2021-02-26<EMAIL_ADDRESS>Fixed problem where AndroidShellHolder was trashing the ThreadHost in its deconstructor (flutter/engine#24644)
2021-02-26<EMAIL_ADDRESS>Roll Dart SDK from 9ef3cef4a36c to ac2d5fd1c35d (1 revision) (flutter/engine#24656)
2021-02-26<EMAIL_ADDRESS>Roll Skia from 34c7e114928a to 453f143dba3f (1 revision) (flutter/engine#24655)
2021-02-26<EMAIL_ADDRESS>Roll Skia from 2d247a10f3de to 34c7e114928a (1 revision) (flutter/engine#24654)
2021-02-26<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from VyKdR4ouE... to 7jkJkkEng... (flutter/engine#24653)
2021-02-26<EMAIL_ADDRESS>Roll Dart SDK from 3870a33d25fb to 9ef3cef4a36c (1 revision) (flutter/engine#24652)
2021-02-26<EMAIL_ADDRESS>Roll Skia from e3a8980915b7 to 2d247a10f3de (1 revision) (flutter/engine#24650)
2021-02-26<EMAIL_ADDRESS>Roll Dart SDK from aa0fea71185b to 3870a33d25fb (1 revision) (flutter/engine#24649)
2021-02-26<EMAIL_ADDRESS>Roll Skia from a42c6192ff67 to e3a8980915b7 (1 revision) (flutter/engine#24648)
2021-02-26<EMAIL_ADDRESS>Roll Dart SDK from a6fb0acd71ea to aa0fea71185b (2 revisions) (flutter/engine#24647)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from kfjppUrzf7k3 to Idk0D_EZk23z
fuchsia/sdk/core/mac-amd64 from VyKdR4ouEZ3F to kLoBz4ZY4F3t
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

AutoRoller is stopped; closing the active roll.


Restrict to main region or specific regions

Requires the exclusion of global services and account factory cross account roles.

+1, especially as CT will not take care of that, as we learned from the roadmap. You can refine my attempt :)
https://controltower.aws-management.tools/security/restrict_regions/

Made simple initial spike to enumerate policy-enabled global service as a foundation for such an SCP using https://github.com/salesforce/policy_sentry. Currently I'm not 100% sure we'll be able to automate the policy creation without exceptions - maybe those additional opinions could be separated (along the lines of other opinionated SCPs that are planned)?
Current discovery WIP (not yet producing correct - in the sense of being true global services - results):
#!/usr/bin/env python3
import boto3
from policy_sentry.querying.actions import get_actions_for_service

session = boto3.session.Session()

for service in session.get_available_services():

    client = session.client(service)
    service = client._endpoint._endpoint_prefix
    regions = session.get_available_regions(service, 'aws')

    if len(regions) == 0:

        try:
            get_actions_for_service(service)
            print("GLOBAL WITH ACTION {service} {regions}".format(service=service,regions=regions))
        except:
            print("GLOBAL {service}".format(service=service))

    else:
        print(" LOCAL {service}".format(service=service))

Requires an installation of policy_sentry and an initial policy_sentry initialize --fetch.

Maybe this can also be solved by disabling regions per account? Unclear (to me) is how that disabling us-std plays with global services ...

@frumania thanks! This looks good, and esp already allows several CT principals as exception.
Our current version is:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyAllOutsideEU",
            "Effect": "Deny",
            "NotAction": [
                "cloudfront:*",
                "iam:*",
                "route53:*",
                "support:*",
                "billing:*",
                "cloudtrail:*",
                "a4b:*",
                "budgets:*",
                "ce:*",
                "chime:*",
                "cur:*",
                "globalaccelerator:*",
                "health:*",
                "importexport:*",
                "mobileanalytics:*",
                "organizations:*",
                "shield:*",
                "trustedadvisor:*",
                "waf:*",
                "wellarchitected:*",
                "chatbot:*"
            ],
            "Resource": "*",
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalARN": "arn:aws:iam::*:role/AWSCloudFormationStackSetExecutionRole"
                },
                "StringNotEquals": {
                    "aws:RequestedRegion": [
                        "eu-west-1"
                    ]
                }
            }
        }
    ]
}

aSecureCloud: https://asecure.cloud/a/scp_whitelist_region/

Descoped from 1.0

Descoped from 1.0

It might probably worth waiting for CT region selection feature since otherwise we would have to create exceptions for CT and it's sub-services like e.g. AWS Config Rules.

It might probably worth waiting for CT region selection feature since otherwise we would have to create exceptions for CT and it's sub-services like e.g. AWS Config Rules.

This can also be done with an AWS Organization SCP (Service Control Policy), here is one I have used:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowApprovedRegionsOnly",
      "Effect": "Deny",
      "NotAction": [
        "iam:*",
        "organizations:*",
        "route53:*",
        "budgets:*",
        "waf:*",
        "cloudfront:*",
        "globalaccelerator:*",
        "importexport:*",
        "support:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": [
            "us-east-1",
            "us-east-2"
          ]
        },
        "ArnNotLike": {
          "aws:PrincipalArn": [
            "arn:aws:iam::*:role/AWSControlTower*",
            "arn:aws:iam::*:role/aws-controltower-*",
            "arn:aws:iam::*:role/aws-service-role/*",
            "arn:aws:iam::*:root"
          ]
        }
      }
    }
  ]
}

It might probably worth waiting for CT region selection feature since otherwise we would have to create exceptions for CT and its sub-services like e.g. AWS Config Rules.

This is now possible: https://aws.amazon.com/about-aws/whats-new/2021/02/aws-control-tower-now-provides-region-selection/

This is now possible: https://aws.amazon.com/about-aws/whats-new/2021/02/aws-control-tower-now-provides-region-selection/

Control Tower now rolls itself out only to its home region:

Can you please clarify what's the needed work here? There seem to be multiple ways how to achieve "this".

I would actually postpone this (despite speeding the installation up) and wait for #26. Unless we decrease the actually supported regions I don't think it makes sense to restrict CT regions maybe? Not super sure TBH.

I would actually postpone this (despite speeding the installation up) and wait for #26.

This is #26. :)

So, initially we'd need some configurations for regions as a parameter list maybe? Maybe AP/EU/US and US- (everything except us-std 🥇)?

So, initially we'd need some configurations for regions as a parameter list maybe? Maybe AP/EU/US and US- (everything except us-std 🥇)?
I'd say initially  - to keep it simple - we should just support the CT home region (and exceptions for our RootMail setup)?!

Scoping this out from 1.1 because of rumors...


Doesn’t work on www

Extension works for https://iatiregistry.org but not for https://www.iatiregistry.org
Via @JamesCoe.

Fixed in cd70621.


prepare release 2.0.0

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@7600994). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #5583   +/-   ##
=========================================
  Coverage          ?   82.72%
  Complexity        ?    11707
=========================================
  Files             ?     1391
  Lines             ?    45306
  Branches          ?     5617
=========================================
  Hits              ?    37479
  Misses            ?     5211
  Partials          ?     2616

Impacted Files
Coverage Δ
Complexity Δ

core/src/main/java/io/crate/Version.java
71.42% <100%> (ø)
12 <0> (?)

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 7600994...1d90b19. Read the comment docs.


Multi-gamepad input

Allow multiple gamepads to pipe input to a single player. This is useful for accessibility (and could enable in-engine pairing of single Joy-Cons if we really wanted to support that).

Resolving this meaningfully seems fraught and unmanageable to me. Would prefer device-mixing to be single-player only as in mixed input (#19).

Bindings need to track device index

...which is a duplicate of #286


IRGen: Only emit resilient tag numbers for resilient enums

rdar://24057946

@swift-ci Please test

I’m surprised this wasn’t caught by tests - are you sure this whole check isn’t dead somehow?

Or can you add IRGen tests ensuring the tag numbers are emitted in the right circumstances?

I will add positive and negative tests for the globals.
Here is my understanding. Before this commit:
The check if( isResilient(theEnum, ResilienceExpansion::Maximal)) return; -- if this definition is resilient in the local domain was a no-op (as you pointed out) and so we are always emitting globals even for non-resilient enums.
After this commit:
 if (!isResilient(theEnum, ResilienceExpansion::Minimal))) return -- if this definition is not resilient in the minimal expansion then we have a fragile enum for which we should not emit a global. (resilient class thunk emission uses the same test)

@swift-ci Please smoke test

Oh you’re absolutely right. Thanks for the explanation. Now I see that only negative tests would’ve caught this (or TBD tests actually, since it’s an error to have an IRGen symbol that’s not in the TBD).

@swift-ci Please smoke test


DecisionStartToCloseTimeoutSeconds is not being used

We only create timer tasks to timeout StickyDecisions, but regular decision will never timeout. I verified that in local laptop. The behavior makes sense since our matching engine has persisted the regualr decision tasks and just need to wait for poller to pick up.
But we need to remove this parameters from client(in startWorkflowOptions) and events to make it less confusing

Wrong issue( mis read )


fix(cactus-example-electricity-trade): Enable tsconfig strict flag and fix all the warnings

Enable strict flag and fix all the warnings in electricity-trade sample app.
Part of #1671

@rwAT17


How is current buffer highlighted ?

I am not sure I understand the way how current buffer is highlighted :

is there any way to customize this setting ?

It seems like you aren’t using True Colour as explained in the readme. To enable True Colour you should add the following to your vimrc:
set termguicolors

Make sure you remove any colourscheme-related settings apart from the actual colorscheme setting, such as set t_Co=256.

It seems like you aren’t using True Colour as explained in the readme. To enable True Colour you should add the following to your vimrc:
set termguicolors

Make sure you remove any colourscheme-related settings apart from the actual colorscheme setting, such as set t_Co=256.

@arzg, so this color scheme is not working well with terminals that do not support true color? I'm using rxvt-unicode as my daily terminal and got the same issue.

@idnsunset As mentioned in the readme:

However, if you’re planning to use vim-colors-xcode in a terminal, the terminal must support 24-bit colour, also known as True Colour.

I’m not sure if urxvt supports True Colour, but if it doesn’t then vim-colors-xcode will not display accurately.

There is an unofficial true color patch for urxvt, but almost all major Linux distributions didn't apply it.

It seems like you aren’t using True Colour as explained in the readme. To enable True Colour you should add the following to your vimrc:
set termguicolors

Make sure you remove any colourscheme-related settings apart from the actual colorscheme setting, such as set t_Co=256.

Thanks for the Great Job, this color scheme looks amazing and looks nice especially at night.
I am basically coming into a same problem as him, but if I use termguicolors option, the theme will failed to load and everything except the airline would look bad...
(Tested on OS X terminal(no true color support) and Alacritty(with true color support), and they looks exact the same with that option on.  And I tested another theme, and difference do show.)
But after all it looks nice enough even with no true-color option on.(only the airline scheme looks kind of wired)
Is there a fix or anyway to modify it into a version with no true-color needed?
Thanks in advance for any help.


Support cover bonuses or chat reminders for cover

sdenecToday at 3:39 PM
How exactly does the cover feature of dnd5e helper work? If I set tokens as interfering I do get a message for half cover but it doesn't seem to affect the roll or AC of the target ... can someone explain?
Kandashi (He/Him)Today at 3:40 PM
it is currently jsut a chat popup, we might be adding effects to rolls in the future
sdenecToday at 3:41 PM
Ah, check! If it stays a pop up at least I would really appreciate a reminder of the AC bonus. +2 for half cover? :sweat_smile:
Kandashi (He/Him)Today at 3:42 PM
the issue is that different DMs rule cover differently
sdenecToday at 3:42 PM
oh, alright then :wink:
Kandashi (He/Him)Today at 3:42 PM
ill put it as something to work on

A reasonable request and falls in line with the RAW implementation cover and line of sight.
half = +2 to ac and dex saves
3/4 = +5 to ac and dex saves
Will add to the docket! Note, as Kandashi indicated, it will be feedback only for the time being (no automation).

A reasonable request and falls in line with the RAW implementation cover and line of sight.
half = +2 to ac and dex saves
3/4 = +5 to ac and dex saves
Will add to the docket! Note, as Kandashi indicated, it will be feedback only for the time being (no automation).

A small reminder is included in 1.8.6.
Considering automation options for 1.9.0

A small reminder is included in 1.8.6.
Considering automation options for 1.9.0

Added in 1.11.0


Withdrawal of collateral can leave a small amount

When Self Serviced Loan retrieves the collateral, it can keep a relatively small part in it, which may cause problems when taking it out on the web
address: 5Coiddko324JRzZpr7yKMEhXhhmEEZS1PL3bW3zuydiiyj1G

should withdraw all collateral if user input amount has little difference with max amount.


Menus should be configurable to not overlap with parent button

Steps to reproduce
Looking at the docs from MenuStyle it says:
  /// Determines the desired alignment of the submenu when opened relative to
  /// the button that opens it.
  ///
  /// If there isn't sufficient space to open the menu with the given alignment,
  /// and there's space on the other side of the button, then the alignment is
  /// swapped to it's opposite (1 becomes -1, etc.), and the menu will try to
  /// appear on the other side of the button. If there isn't enough space there
  /// either, then the menu will be pushed as far over as necessary to display
  /// as much of itself as possible, possibly overlapping the parent button.
  final AlignmentGeometry? alignment;

The important part is the last sentence: possibly overlapping the parent button.
I am seeing this behaviour with DropdownMenu as I have lots of entries and when I click the entries get on top of the DropdownButton. Normally this wouldn't be an issue, but my DropdownMenu is filterable, so I can type on it, and when the menu covers the DropdownButton, I can't see what I am typing.
Thus, Menus should have the option to cover or not to cover the parent button that opened them, as in cases of filterable DropdownMenu this will be undesirable.
Actual results
Menus will decide themselves if they will cover their parent button or not.
Logs
No response
Flutter Doctor output
Flutter version 3.24.4

Hi @feinstein, can you share a screenshot of this and the complete code sample that reproduces the issue?

I don't think I have to, I am quoting the docs and explaining why the documented behaviour is not good in some cases.


lxd/db/generate/db/stmt: Add joinon tag

Allows specifying the column name on which to join on.
Works like this:
type Service struct {
        ID                  int
	MemberID            int
	Member              string `db:"primary=yes&join=internal_cluster_members.name-ON-member_id"`
	Service             string `db:"primary=yes"`
}

@masnax is there a readme file that you can document this (and the existing) db: tags?

@masnax in the example you gave here, why is MemberID also not joined?

@masnax would it be safer/more flexible to introduce a joinon tag, e.g.
type Service struct {
        ID                  int
	MemberID            int
	Member              string `db:"primary=yes&join=internal_cluster_members.name&joinon=member_id"`
	Service             string `db:"primary=yes"`
}

That way no risk of conflicting with the field name.

Ah actually wait, saw a bug

Fixed now. Just a string typo.

Testsuite passed


feat!: allow using only one index in a query

Issue being fixed or feature implemented

Since GroveDB doesn’t support indexes intersection, we need to validate query to make sure that only one index is being used.
What was done?

allow using only one index in a query
How Has This Been Tested?

Unit tests
Breaking Changes

Only one index can be used in a query
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated relevant unit/integration/functional/e2e tests
[x] I have made corresponding changes to the documentation

For repository code-owners and collaborators only

[x] I have assigned this pull request to a milestone

@shuplenkov we got more clarity on how this thing should work:
All properties in where conditions must much exactly one of the indices and sequence of fields used in where must match how they defined in the index.
In orderBy, it can be only one property from the last condition


About rotation order

https://github.com/SceneView/sceneform-android/blob/ba2c818151b91296f048711f494e1acc239ff809/core/src/main/java/com/google/ar/sceneform/math/Quaternion.java#L388
Hello!
The document said the order of Euler rotation is ZYX, but it seemed like the rotation order is applied with ZXY.
I think the code is rotating Z axis quaternion first, then rotating X axis quaternion, and then Y.
Am I wrong?
I appreciate your help

Hi!
I haven't tested it but looking at the multiply method documentation it seems that the order is XYZ:
https://github.com/SceneView/sceneform-android/blob/ba2c818151b91296f048711f494e1acc239ff809/core/src/main/java/com/google/ar/sceneform/math/Quaternion.java#L233

So yes, you are probably right.

Thanks for your check!


Do not allow opening disputes if the seller has already released

When the seller releases the sats it no longer makes sense for either party to open a dispute because both have already fulfilled their part, but currently mostro is allowing it
I made a test sale and after I released the sats and they arrived to the buyer I opened a dispute without problems, then i resolved the dispute see:
Mostro sent you this message for order id: 0e419e99-b278-4974-b77c-a02705c5de44 at 12:56 date - 22/03/2024

Action: Release
Content: None

Mostro sent you this message for order id: 0e419e99-b278-4974-b77c-a02705c5de44 at 12:56 date - 22/03/2024

Action: PurchaseCompleted
Content: None

Mostro sent you this message for order id: 0e419e99-b278-4974-b77c-a02705c5de44 at 12:56 date - 22/03/2024

Action: RateUser
Content: None

Mostro sent you this message for order id: 0e419e99-b278-4974-b77c-a02705c5de44 at 12:57 date - 22/03/2024

Action: DisputeInitiatedByYou
Content: None

Mostro sent you this message for order id: 0e419e99-b278-4974-b77c-a02705c5de44 at 13:59 date - 22/03/2024

Action: AdminSettle
Content: None

Starting fix via #230

closing it via #230


Spatial Shader with render_mode world_vertex_coords prevents skinning

Characters with a Skeleton stop skinning altogether when their Material uses a Shader that sets render_mode to world_vertex_coords
I'm not sure if this is expected behavior, but I couldn't find any mention of it in the documentation.
Simplest shader to reproduce the issue:
shader_type spatial; render_mode world_vertex_coords;
Tested Version: Godot 3.2.alpha3.official
OS: Ubuntu 19.10

Can anyone still reproduce this bug in Godot 3.2.3 or any later release?

I can confirm it still happens in Godot 3.2.3.stable.official using my shader snippet above.
Tested Version: Godot 3.2.3.stable.official
OS: Ubuntu 20.04.1 LTS

When using world vertex coords to project the uv of a shader assigned on an Overlay Material, this material will glitch with black lines.

@PolyVector RockyMadio Please upload a minimal reproduction project to make this easier to troubleshoot.

@PolyVector @RockyMadio Please upload a minimal reproduction project to make this easier to troubleshoot.
Also, please check whether this occurs in 4.0.alpha16 🙂

This is the result

This is how the shader setup is made:
The top one is a simple spatial material ( no changes)
The bottom one is a custom shader which I provide here.

shader_type spatial;
render_mode blend_mul,specular_schlick_ggx,world_vertex_coords,shadows_disabled;
varying vec3 world_uv;
void vertex(){
	world_uv = VERTEX;
	}

I will try to godot 4.0 eventually :D

Can you upload a minimal reproduction project? We don't have time to recreate every scene setup individually, especially when it requires a skinned mesh to be reproducible.

Sure thing Calinou, here's a quick project to reproduce the issue for you.
Godot 3.5 Project
Issue is still happening as of Godot 3.5
Godot 4.0 Project
Issue appears to be fixed in Godot 4.0, however there is some nasty z-fighting
I'm guessing the z-fighting in 4.0 is simply FP error due to differences in the various render passes (since one is now calculating in a different space)

Godot 4.1, the tearing is still an issue:
image](https://github.com/godotengine/godot/assets/35220750/72d4ebf0-7a92-42fb-ac04-86c24cdd4364)

For people who can confirm the z-fighting issue, can you please post what graphics card models you are using?
I suspect NVidia, as I can't reproduce the issue on an intel chip

Nvidia rtx 4090 (windows on cpu amd 3960X if relevant...)
I have access to a linux intel cpu with integrated + amd graphics card, will post results when I can.
Thanks!

For people who can confirm the z-fighting issue, can you please post what graphics card models you are using?
I suspect NVidia, as I can't reproduce the issue on an intel chip

I also experience this on an RTX 2080 SUPER.

I opened another ticket more specifically outlining exactly what triggers this issue with a super minimal MRP, @bitsawer has referenced the project. To inform your suspicion, I am also running an NVidia GPU.
https://github.com/godotengine/godot/issues/80917


Make migrations Sqlite3 friendly

Fixes #197.
This PR modifies an existing migration in two ways:

Splits a raw SQL call, avoiding the need to install sqlparse [1]
Removes a CASCADE from a DROP statement, because it’s invalid syntax in Sqlite3 and doesn’t appear to be doing anything anyway (it removes dependent views, of which there are none)

@andylolz We won't look at this until the existing tests are passing.

@andylolz We won't look at this until the existing tests are passing.

Absolutely. I’ll sort it out now.
I suspect this is actually fine, but I think I confused travis by initially sending the PR to the default branch (master) so strict linting ran & failed.

Yeah, tests are passing now.

With the base branch change, tests and linting now pass.
I’m not able to remove the “incomplete” label, but this PR is complete.

No worries! I really only sent this because I ran into issues when following the installation instructions.
I might send a PR to fix the installation instructions if that’s okay, just to clarify that you have to use postgres.


Scheduling tasks with high priority after-the-fact

This may be out of scope for the library, or potentially I've missed a way to do it. What I would like to be able to do is add a number of tasks with no particular priority and have them be scheduled in parallel in no particular order, but I would want the ability to immediately run one if I discover that it's particularly needed soon (while allowing others to still be scheduled as/when).
The sketched idea is to have the main thread push tasks for a bunch of deferred operations as it's processing something, but then if the results of one of those deferred operations is needed it wants to either immediately run that task on the main thread or spinloop if it's already been scheduled. The tasks can come in any order so you could push 100 different tasks and then want the results from number 50 before continuing, so waiting for 1-49 would not be ideal as then the main thread can't continue processing in parallel with them.
As far as I can tell unless I'm misunderstanding the code, WaitForTask does not prioritise the task you pass in to wait on but it looks at all tasks at equal priority. I don't see a way to elevate the priority of a task after it has been created either. I also wondered if the way to solve this would be to add a new task with a dependency on the one I want to run, but at least from a layperson's eye that doesn't seem like it would change the scheduling order.
Is there a way to do this, and/or is it something you'd be interested in supporting? In principle this could be refactored such that there is no main thread needing to sync, and everything including its processing becomes task-based so this translates into dependency management, but that's further than I'd want to go.

If you can keep track of any work done you can also only process what's needed in the new task, but it might be simpler just to discard it depending on what you're doing.

I can think of a way to do this in enkiTS, with a little extra work. Elevating a tasks priority would be fairly expensive, but it could be done. The work the threads are already doing cannot currently be interrupted, so this wouldn't guarantee that it would get processed immediately but it would be able to move it to the front of all other tasks or subtasks (the internal unit of work) which had not yet started processing. I'll think a bit more before committing to writing any code and get back to you.

That totally makes sense, it's co-operative rather than pre-emptive after all. I was only after an "as soon as possible" scheduling rather than immediate. For my part though I think your suggestion of cancelling and re-queuing with high priority is sufficient, so if this would be expensive or awkward to implement then feel free to close.


(bug): Github thinks that the /docs/support.html file is contributing docs.

What happened?
https://github.com website
iOS 15.2
When submitting a contribution to the repo, Github thinks that the /docs/support.html file is a “Support guidelines” file.

Reposilite version
3.x
Relevant log output
No response

It points to proper contribution file:

So it's just a visual bug 🤔 Kinda strange tbh, might be a good idea to report them

Oh ok thanks


Yatin: Watch kupper-mounts.myshopify.com

Yatin requests the watch of the watch_keyword kupper-mounts\.myshopify\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by tripleee in Charcoal HQ

kupper-mounts\.myshopify\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.


ItemsRepeater/StackLayout incorrectly aligns inside nested ScrollViewer

Describe the bug
When an ItemsRepeater appears anywhere in the tree down from a ScrollViewer with HorizontalScrollBarVisibility="Auto", the ItemsRepeater does not respect the HorizontalAlignment of items.
Steps to reproduce the bug
    <!-- Works correctly if HorizontalScrollBarVisibility is removed -->
    <ScrollViewer HorizontalScrollBarVisibility="Auto"
                  VerticalScrollBarVisibility="Auto">
        <ScrollViewer HorizontalScrollBarVisibility="Disabled"
                      VerticalScrollBarVisibility="Auto">
            <Border Background="LightBlue">
                <controls:ItemsRepeater x:Name="repeater">
                    <controls:ItemsRepeater.ItemTemplate>
                        <DataTemplate>
                            <Border BorderBrush="Red" BorderThickness="1">
                                <TextBlock HorizontalAlignment="Stretch" Text="{Binding}"/>
                            </Border>
                        </DataTemplate>
                    </controls:ItemsRepeater.ItemTemplate>
                </controls:ItemsRepeater>
            </Border>
        </ScrollViewer>
    </ScrollViewer>

Expected behavior
The TextBlock created by the item template should stretch to the width of its surrounding Border. Instead the items are left-aligned.
Screenshots

Version Info

NuGet package version:
2.2.190917002

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

May 2019 Update (18362)
Yes

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Mobile

Xbox

Surface Hub

IoT

Additional context
The problem appears to be caused because ItemsRepeater arranges the controls based only on their DesiredSize from the measure pass. The first ScrollViewer with horizontal scrolling enabled causes the measure constraint to be infinity in the X axis, meaning that the control cannot calculate its stretched size.
I think the arrange pass needs to do a max(desiredWidth, arrangeWidth) on the constraint passed to TextBlock.Arrange as WPF's StackPanel does.
Note I've only been talking about vertical layouts here, I assume the same applies to horizontal layouts

Interesting bug! @ranjeshj, what do you think? Is @grokys suggested fix reasonable?

Sounds like a reasonable fix.


Azure Sentinel Template: Guided Investigation - Process Alerts.ipynb - Buggy feature with Get List of Alerts widget

Under the section: Get List of Alerts --> Set query time boundaries, users need to select a time range.  Not any time range would work, especially the default one.  An error like below would be displayed.  The error did not give needed info to help users to understand the issue was with time range selection.  I intuitively guessed out it was related to the range selection by giving it different values.
MsticpyDataQueryError - we've hit an error while running
StatusDescription None
(err_code: None)
Query:
SecurityAlert | project-rename StartTimeUtc = StartTime, EndTimeUtc = EndTime, AlertDisplayName = DisplayName, Severity = AlertSeverity | extend AlertType = iif(isempty(AlertType), AlertName, AlertType) | where true | where TimeGenerated >= datetime(2021-10-26T10:14:13.361754Z) | where TimeGenerated <= datetime(2021-10-28T11:14:13.361754Z) | extend extendedProps = parse_json(ExtendedProperties) | extend CompromisedEntity = tostring(extendedProps["Compromised Host"]) | project-away extendedProps
;
For more help on fixing this error see:
Query failed

!

Thanks for reporting.
Yeah it's difficult to know how best to fix this since it is the query running in Log Analytics that's failing because it is trying to do some operations on no data.
I guess we could try a simple query for alerts prior to calling the main one.

Seems to be old issue in old notebook. No action/comments for > 1 year


Regression line disappears when React state changes

Description
In my application whenever React state changes and causes Highcharts to rerender the regression line disappears.
Steps to reproduce
In this code sandbox example if you click the toggle button below the chart that will cause the state to change and the regression line will disappear.
Notes
I don't know if I've set something up wrong but it all seems correct to me.

@ghost where you able to resolve this? I'm having a same issue to.

hi there, anyone around who maintains this project to take a look?


New command: m365 notes

Usage
m365 notes pages list / m365 notes pages get / m365 notes pages patch / m365 notes pages add
Description
List, get, patch, create and patch onenote notebooks, sections and pages.
Options
m365 notes pages list

Option
Description

-ui, --uid <id>
ID of the user. Specify uid or gid but not both.

-gi, --gid <id>
ID of the group. Specify uid or gid but not both.

Additional Info
https://docs.microsoft.com/en-us/graph/api/resources/onenote-api-overview?view=graph-rest-1.0

Thank you for the feature request @to-s. To keep the work manageable, I'd suggest that we break the issue into 4 separate commands. That way, more folks can help with the implementation and we can track the progress independently.
As for the spec, let's consider a few adjustments before we continue:

in command names, we use singular nouns, so page instead of pages
options will differ between commands, eg. for the onenote page list command, it will be enough to specify either the user or the group, but to get information about a specific page, update or delete it, we'll also need some kind of a way to identify this page (title, ID, etc.), that should be expressed by an option
to update a page, we'll also need options of properties to update, what are these options?
in our specs, we distinguish between optional parameters, denoted by [], eg. [userId] and required parameters, denoted by <>, eg. <userId>
short options can be one letter only, because in Bash, -ui is treated as -u -i

Let's update the spec with some more information so that we can start implementing it 👍

Hey @to-s, are you still interested in working with us on these commands?

@waldekmastykarz If needed, I can pick this one up. 👍

Awesome @Abderahman88! We should start with creating separate specs for the different commands. Once we have them, we could proceed with the implementation.

Hi @Abderahman88,
are you still interested in working on this one?
As suggested by @waldekmastykarz we could use this issue here to describe the m365 notes pages list command and create three separate issues to handle the other three commands.
Thank you for your feedback

Hi @plamber,
Yes, I will try to make some time this week.
This issue is related to #3097 and #3100

@Abderahman88, just checking, are you still working on this?

@milanholemans Yes still working on this one.

Hi @Abderahman88 are you still working on this?


LSP is stuck on "Initializing" step

Describe the bug
I've installed both Clojure LSP 2.3.1 and Clojure REPL 0.1.6.
I was able to start a REPL, but cannot use the LSP. It is stuck on the LSP: Initializing step and I could not navigate through files or functions.
Screenshots

Environment (please complete the following information):

IntelliJ Version: IntelliJ IDEA 2023.3.4 (Community Edition)
Build #IC-233.14475.28, built on February 13, 2024
Runtime version: 17.0.10+1-b1087.17 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.6.5
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Metal Rendering is ON
Registry:
ide.experimental.ui=true
Non-Bundled Plugins:
com.github.clojure-repl (0.1.6)
manjaro.mpb (1.9)
com.github.catppuccin.jetbrains_icons (1.4.0)
com.github.clojure-lsp (2.3.1)
izhangzhihao.rainbow.brackets (2024.2.2-233)
com.github.copilot (<IP_ADDRESS>85)
com.mallowigi (94.1.0)
Kotlin: 233.14475.28-IJ

OS: MacOS Ventura 13.6.5 (22G621)

Additional context
Before install I removed the Cursive plugin to avoid any conflicts, but no success.

Hey @lucasfcoelho1 , seems this is an issue with LSP please open in the lsp plugin project: https://github.com/clojure-lsp/clojure-lsp-intellij


Increase the radius at launch, when the storage limit increases

Before #614, the radius was always resetting to 100% at the beginning of every run. This felt wrong when we had already identified the radius on previous runs with the same storage limit, so #614 identifies the radius based on the existing storage.
This works fine when the storage limit stays the same between runs, but when the storage increases on a new run, it means the radius stays too small. The node will sub-optimally avoid storing things that it ought to be interested in storing.
Before and after #614, trin correctly handles when you decrease the storage limit: it will prune down the database and reduce the radius as needed.
Some options:

Keep the previous storage limit in the database, to detect if there was a change on launch and adjust the radius
Adjust the radius as a percentage increase based on the amount used vs the limit
?

I think # 2 is the best option here

My academic opinion on this:

CLI should accept only one of: --kb or --data-radius

--kb means radius is a function of total storage
--data-radius means that radius is fixed and total storage is infinity.

In the event that the client is using --data-radius, then storage is effectively unlimited and we operate using a hard-coded radius.  This is un-interesting and should be reasonably easy to implement.
In the event that the client is using --kb then we need to handle the following situations.

disk_usage() < max_disk_usage() -> radius = 100%
disk_usage() >= max_disk_sage() -> radius = computed_radius() and maybe_evict(storage)

In the case where we call maybe_evict(), I think the eviction logic should be roughly as follows.
loop {
    furthest_content_id = get_furthest_content_id()
    furthest_content_size = get_content_size(furthest_content_id);
    if disk_usage() - furthest_content_size >= max_disk_usage() {
        // only evict if we will still be maxed out on storage.
        evict(content_id);
    }  else {
        break;
    }
}

The idea is to only evict when our usage after the eviction will still be at 100% utilization.  I think this avoids the situation where we have to treat storage as being full when actually it isn't quite full, it just was full a moment ago before we evicted anything.  I think this approach lets us simply always compute our radius based on the amount of storage the client was configured with and to maximize that storage.
I agree that there's some small amount of in-efficiency in setting radius to 100% when we only have a small amount of capacity, however, I think this is the correct way to go about it and I think it keeps things simple.

--data-radius means that radius is fixed and total storage is infinity.

AFAIK, we don't support a --data-radius flag, and I'm happy leaving it that way. I know I confused things by saying "user-supplied" sometimes when talking. The starting radius is always a hard-coded default, which is 100% for an empty DB.

In the event that the client is using --kb then we need to handle the following situations.
* `disk_usage() < max_disk_usage()` -> `radius = 100%`

* `disk_usage() >= max_disk_sage()` -> `radius = computed_radius()` and `maybe_evict(storage)`

I started in roughly this direction. Here's why I changed: there is roughly no situation in which we start up with exactly the storage used. So then in the typical case, you're always resetting to 100% on restart, accepting content way out of range and then evicting.
I see the proposed approach to that is to always overfill the storage a bit. Calculating the relative radius (as in #625) isn't too hard. I'm not sure one is obviously better than the other either way, except that #625 is already built. I'm not convinced that it's worth this change just to add a few kb at the margins on clients.
Is there any other benefit I'm missing?


Fix up symbol arrays

Closing in favour of #20, but thank you so much for this, it got me basically to where I needed to be!

No worries at all! Loving your progress on this, it looks great!


Update faq.md

clarify the blocktime. further improvement welcome

Need to be even more specific:

the network block time of 1.5s and the chain block time of 30s

Thx for the PR 😄


[FEAT] Add @ForwardGroups() annotation to forward groups to inner objects

Informations
Is your feature request related to a problem? Please describe.
I have @Groups() defined on sub models which is ignored when I do something like @Response(200, ResponseModel).Groups('group.name')
Describe the solution you'd like
Be able to specify @ForwardGroups() on the property of the sub model. Whether the sub model is an object, collection, etc it should pass the groups on.
@Generics('T')
export class ResponseModel<T> {
   @ForwardGroups('group')
   @Property('T')
   innerType: T;
}

export class InnerType {
  @Groups('group')
  id: number;
}

// Usage
@Response(200, ResponseModel).Of(InnerType).Groups('group')

Describe alternatives you've considered
No alternatives could be found.
Acceptance criteria

[ ] @ForwardGroups() forwards the groups one level deeper, at any lever in the hierarchy.

Related code:
https://github.com/TypedProject/tsed/blob/production/packages/schema/src/utils/serializeJsonSchema.ts#L149

:tada: This issue has been resolved in version 6.42.0 :tada:
The release is available on:

v6.42.0
GitHub release

Your semantic-release bot :package::rocket:


No, it isn't me doxxing Seth on deepweb reddit. On a similar note, can binary Fate kindly stop trying to bribe OVH staff to get my data?


Best algorithm for random integers

Based on your experience and testing, do you have a suggested best tuning for sorting random 128-bit keys?

128 bit keys are hard... The defaults in the library are pretty much the best I was able to achieve for random, well distributed 128 bit data on a few different devices I had on hand. That said, it varies considerably based upon:

The size of the object being sorted (I tested the StandardTuner primarily on pure Vec<u32|u64|u128>, structs behave very differently)
The amount of items being sorted
The distribution of keys
The hardware

Are you able to provide any more details on these? Particularly a type definition if the keys are embedded in a struct or tuple. I'll try to replicate your case and see if there's a better combo if it's possible.
I do know that voracious_sort does a little better on 128 bit keys most of the time. Presumably this is due to the way the byte lookups for keys have been unrolled. I wasn't able to entirely eliminate the cost of having the additional flexibility around keys that rdst provides, so voracious_sort may be better here if it's compatible with your dataset.
If you have fairly large structs / tuples that contain the keys, you could try utilizing the Regions sort in this library via a custom tuner. I didn't ever get the performance I expected out of it for plain integer slices, but for larger structs it does theoretically minimize the expensive copying of data a little. Ska sort might also be good here on the single-threaded side. These also sometimes come out on top when the data is unevenly distributed.
I assume your dataset is huge, otherwise there would be no need for a custom tuning. Given that, you'll definitely want your custom tuner to start off with a parallel, most-significant-byte first sort for the first byte and then to switch in something more efficient as soon as possible. By sorting the MSB first, you'll effectively split the sorting into separate chunks based upon their first byte, and that'll help you distribute the workload across cores.
For that first byte, there are three multi-threaded choices:

Scanning sort
Recombinating sort
Regions sort

You can see more detail on each algorithm at the top of their respective files under sorts/ in this repo. The standard tuner typically chooses Scanning sort for the largest datasets >50M keys, then Recombinating sort for anything between 260K and 50M keys. From there, as the workload is broken down into distict workloads it uses Ska sort and finally LSB sort on each core as they are single-threaded and much more computationally efficient. This worked out to be the best on average across an M1 & M2 Pro Macbook, a m6gd.metal AWS Graviton 2 (64 core 512GB RAM), a low-power Xeon, and a Ryzen 3600x for pure Vec<u32|u64|u128>. While not 100% optimal on all of them, the difference was generally negligible.
For a custom tuner for very large 128 bit key datasets, you'll likely want the same pattern as the StandardTuner:

Parallel algorithm at first, to break the workload down and utilize all cores (though somewhat inefficiently) on the first byte
Single-threaded algorithm as soon as the work has been well divided across cores

For larger structs, theoretically you may have better luck with Regions sort and Ska sort as they are more efficient memory-wise. If it's just Vec, you're only likely to see more marginal improvements over the StandardTuner based upon your hardware by changing the thresholds or switching out the algorithms.
Let me know if you can provide any more details on your situation and I can try to test out a few options!

Ah, I just followed the trail of GitHub issues. This tuning is worth trying:
struct MyTuner;

impl Tuner for MyTuner {
    fn pick_algorithm(&self, p: &TuningParams, _counts: &[usize]) -> Algorithm {
        match p.level {
            15 => Algorithm::Scanning,
            // Also worth trying, particularly if you increase the count
            // 15 => Algorithm::Regions,
            _ => Algorithm::Ska,
        }
    }
}

Full benchmark for testing
use block_pseudorand::block_rand;
use criterion::{
    black_box, criterion_group, criterion_main, AxisScale, BatchSize, BenchmarkId, Criterion,
    PlotConfiguration, Throughput,
};
use rdst::{RadixKey, RadixSort};
use std::time::Duration;
use rdst::tuner::{Algorithm, Tuner, TuningParams};

const TOTAL_ITEMS: usize = 160_000_000;

struct MyTuner;

impl Tuner for MyTuner {
    fn pick_algorithm(&self, p: &TuningParams, _counts: &[usize]) -> Algorithm {
        match p.level {
            15 => Algorithm::Scanning,
            // Also worth trying, particularly if you increase the count
            // 15 => Algorithm::Regions,
            _ => Algorithm::Ska,
        }
    }
}

#[derive(Debug, Clone, Copy)]
pub struct ComplexStruct {
    pub key: [u64; 2],
    pub val: u64,
}

impl RadixKey for ComplexStruct {
    const LEVELS: usize = 16;

    #[inline]
    fn get_level(&self, level: usize) -> u8 {
        (self.key[1 - level / 8] >> (level % 8) * 8) as u8
    }
}

fn gen_input(n: usize) -> Vec<ComplexStruct> {
    let data: Vec<u64> = block_rand(n);
    let data_2: Vec<u64> = block_rand(n);
    let data_3: Vec<u64> = block_rand(n);

    (0..n)
        .into_iter()
        .map(|i| ComplexStruct {
            key: [data[i], data_2[i]],
            val: data_3[i],
        })
        .collect()
}

fn full_sort_complex(c: &mut Criterion) {
    let mut input_sets: Vec<(&str, Vec<ComplexStruct>)> = vec![
        ("random", gen_input(TOTAL_ITEMS)),
    ];

    let tests: Vec<(&str, Box<dyn Fn(Vec<ComplexStruct>)>)> = vec![
        (
            "rdst_custom",
            Box::new(|mut input| {
                input
                    .radix_sort_builder()
                    .with_tuner(&MyTuner {})
                    .sort();
                black_box(input);
            }),
        ),
        (
            "rdst_standard",
            Box::new(|mut input| {
                input
                    .radix_sort_builder()
                    .sort();
                black_box(input);
            }),
        ),
    ];

    let mut group = c.benchmark_group("complex_sort");
    group.sample_size(10);
    group.measurement_time(Duration::from_secs(5));
    group.warm_up_time(Duration::from_secs(5));
    group.plot_config(PlotConfiguration::default().summary_scale(AxisScale::Logarithmic));

    for set in input_sets.iter_mut() {
        let l = set.1.len();
        group.throughput(Throughput::Elements(l as u64));

        for t in tests.iter() {
            let name = format!("{} {}", set.0, t.0);

            group.bench_with_input(BenchmarkId::new(name, l), set, |bench, set| {
                bench.iter_batched(|| set.1.clone(), &*t.1, BatchSize::SmallInput);
            });
        }
    }

    group.finish();
}

criterion_group!(complex_sort, full_sort_complex,);
criterion_main!(complex_sort);

And in Cargo.toml:
[[bench]]
name = "complex_sort"
harness = false

Run with:
RUSTFLAGS="-C opt-level=3 -C target-cpu=native" cargo bench --profile=release --target=aarch64-apple-darwin --features=bench complex_sort

With StandardTuner and 160M items on an M1 MBP:
Benchmarking complex_sort/random rdst_standard/160000000: Collecting 10 samples in estimated 23.215 s (10 itercomplex_sort/random rdst_standard/160000000
                        time:   [1.3425 s 1.5079 s 1.8094 s]
                        thrpt:  [88.427 Melem/s 106.10 Melem/s 119.18 Melem/s]

With that custom tuner:
Benchmarking complex_sort/random rdst_custom/160000000: Collecting 10 samples in estimated 27.631 s (10 iteratcomplex_sort/random rdst_custom/160000000
                        time:   [1.2497 s 1.2860 s 1.3312 s]
                        thrpt:  [120.19 Melem/s 124.42 Melem/s 128.03 Melem/s]

That structure of specifically tuning around levels is convenient if you are tuning for a single target. But once you go deeper into supporting varying sizes of input array you'll want to also deviate based upon the number of items being sorted.


How to use autoplay methods with useRef hook and typescript

I'm currently using "typescript": "^3.7.5" and "react-slick": "^0.25.2".
The problem I am facing is that I'm not able to use the auto play methods slickPlay and slickPause with the new useRef hook and typescript.
Goal: To be able to pause auto play and resume auto play with a play/pause button. My play/pause button will be next to the pagination dots.
My Code:
import React, { useStateuseRef } from 'react';

const myComponent = () => {
  const [autoPlayOn, setAutoPlayOn] = useState<boolean>(true);
  const sliderRef = useRef<typeof Slider | null>(null);

  <Slider
    ref={sliderRef}
    appendDots={(dots): JSX.Element => (
      <MyButton
        onClick={() => {
          setAutoPlayOn(!autoPlayOn);
          if (autoPlayOn) {
            sliderRef.slickPlay();
          } else {
            sliderRef.slickPause();
          }
        }}
      />
    )}
    {...otherSettings}
  >
}

The type error that I am getting is:
No overload matches this call.
  Overload 1 of 2, '(props: Readonly<Settings>): Slider', gave the following error.
    Type 'MutableRefObject<typeof Slider | null>' is not assignable to type 'string | ((instance: Slider | null) => void) | RefObject<Slider> | null | undefined'.
      Type 'MutableRefObject<typeof Slider | null>' is not assignable to type 'RefObject<Slider>'.
        Types of property 'current' are incompatible.
          Type 'typeof Slider | null' is not assignable to type 'Slider | null'.
            Type 'typeof Slider' is missing the following properties from type 'Slider': slickNext, slickPause, slickPlay, slickPrev, and 8 more.
  Overload 2 of 2, '(props: Settings, context?: any): Slider', gave the following error.
    Type 'MutableRefObject<typeof Slider | null>' is not assignable to type 'string | ((instance: Slider | null) => void) | RefObject<Slider> | null | undefined'.
      Type 'MutableRefObject<typeof Slider | null>' is not assignable to type 'RefObject<Slider>'.

I'm also getting another error when clicking on the button:
TypeError: sliderRef.slickPlay is not a function
I'm attempting to call the slick methods slickPlay and slickPause, however I'm running into type errors. I've looked at the examples https://github.com/akiran/react-slick/blob/master/examples/AutoPlayMethods.js however I'm not able to achieve the desired result still.
It confuses me to use these methods for functional components instead of class-based components.  Adding in the layer of typescript makes it that much more challenging.
Thank you in advance.

I was able to get this to work by making a check on .current instead of sliderRef.
const sliderElement = sliderRef.current;

if (sliderElement) {
  // do stuff
}

This small nuance was able to pass the type errors.
For the useRef declaration, this line worked:
const sliderRef = React.useRef<Slider | null>(null);


Speed up CI using cargo-nextest

Which components does the task require to be changed? (think hard pls)
other (describe below)
Description
We can leverage cargo-nextest to speed up our CI for forge integration and cast tests, similarly as we currently do for forge e2e tests.

Please can I be assigned to this issue @ddoktorski

Hey, thanks for applying, however we mostly accept applications for tasks marked with "help wanted" or "good first issue" label.


Force discontinuities when adding contact

Hello,
When adding a new contact, the contact forces of the other contacts computed by the InverseDynamicsFormulationAccForce solver are discontinuous. See the plot below that shows the forces along z of the 4 feet of a quadrupedal. At the beginning, only 3 feet are in contact, at t=6.10 the LF foot create contact.

As you can see, the total force is immediately (in one iteration) distributed between the 4 contacts, which create discontinuities.
Is there any way in the current implementation to have a 'smooth' change of the force distribution after adding a new contact or do I have to compute a force reference myself and send it with contact.setForceReference() ?

I think there're two ways to achieve this.
Adjust the regularization weights
When you add a new contact you can specify the regularization weight. If you initially set this weight quite high (e.g., 1) with a zero reference, I expect the initial force is gonna be almost zero. Then you can smoothly change this weight to reach a small value (e.g., 1e-5), which will allow the contact force to increase.
Use a time-varying upper bound on normal force
This is already done when you remove contacts so it shouldn't be too hard to do the same when you add contacts, but it's still more work than the previous solution because it requires you to modify the code. The idea is to have a time-varying bound on the normal force, so that it's forced to change smoothly. For the case when you remove a force, what's currently implemented is an upper bound that goes from the current value to almost zero as a linear function of time. The user can decide how fast this transition is using the parameter transition_duration.

This is the result with your first solution:

It is working as expected, thanks. I had to add updateRigidContactWeights to the python API, I will make a PR.

Nice!


new add_fiber_array has issues

    component = gf.components.mzi_phase_shifter()
    c = gf.Component()
    ref = c << component
    routes = gf.routing.route_fiber_array(
        c,
        ref,
    )
    c.show()
    c.pprint_ports()

@sebastian-goeldi

https://github.com/gdsfactory/kfactory/issues/486


[Airflow-1737] Handle execution_dates with fractional seconds in www/views

Make sure you have checked all steps below.
Jira

[X] My PR addresses the following AIRFLOW-1737 issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-1737

Description

[X] Adds a simple util method to handle execution_date strings with and without fractional seconds based on length & uses it to address linked issue.

Tests

[X] does not need (additional) testing for this extremely good reason: Should be covered under existing tests

Commits

[X] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[X] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[X] Passes git diff upstream/master -u -- "*.py" | flake8 --diff
well... git diff 1b53882a7cc64358e09eed3afb53069c1fba2b94 -u -- "*.py" | flake8 --diff
aka git diff upstream/v1-9-test -u -- "*.py" | flake8 --diff... yes.

Oh :hankey: I just saw parse_execution_date on the master branch: https://github.com/apache/incubator-airflow/commit/313f5bac4a3f804094bcd583e0e5fbc3b5f405bb
Probably better to pull that method over rather than using my different one for v1-9-*.

this shouldn't be an issue for master branch any more.

did I misunderstand the workflow here? I assumed v1-9-test is still accepting pull requests.

@7yl4r , I don't think we update 1.9 branch any more.

Do we still need this in 1.10/master or does the linked commit also fix the issue reported here?
We're unlikely to create a 1.9.1, so if this is still needed could you retarget against master (and I'll cherry-pick it in to the 1.10.1 branch.)

@ashb, I think this issue is only on 1.9 branch. The master branch has fixed this issue(https://github.com/apache/incubator-airflow/commit/313f5bac4a3f804094bcd583e0e5fbc3b5f405bb).

Yes, this is only an issue in the 1.9 branch. Since there isn't a 1.9.1 planned I will close this and focus my efforts on keeping nodes up-to-date. :wink: :+1:


chore: remove circular dependency in DropdownSelectedItem

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


Container port on testkube-dashboard pods not configurable

Cannot make the container port on the testkube-dashboard pods as the readiness/liveness probes will fail
The testkube-dashboard service is configured to use the http(80) as the target port for testkube-dashboard pods.
Thus I updated the values file to make the testkube-dashboard pods to expose port 80 as given below.
testkube-dashboard:
  enabled: true
  service:
    type: ClusterIP
    port: 80

But the testkube-dashboard pods are not coming to a running state as the liveness/readiness probes are failing. The liveness/readiness probes ports are not configurable as given here
Is this a missing feature or am I missing something here?
Version / Cluster

testkube version : v1.8.95
Kubernetes cluster: EKS
Kubernetes version: v1.23

Screenshots

thank you @ashishkurian let us check it out

Hello @ashishkurian,
We have made a change in our helm charts so now you should be able to specify a service port for dashboard without any issues. Please try and let us know about the results.

@vsukhin : Sorry for a slight confusion that I created by opening this issue. To simply explain my issue, I tried to use the port number 80 as the container port for the dashboard pods.
But if I do that, the readiness and liveness probe will never success and thus the pods will never come to a running state. I think this could be because the container image is blocking the readiness/liveness probes at any port except 8080.
The dashboard pods goes into a crashloopbackoff state as seen in the screen shots.

The pod events are as follows

Due to this issue, as I am using AWS eks, the ALB will never register a healthy target and thus the dasboard url will never come up.

So I think the container image need to be updated to accept the readiness/liveness probes at the port that is opened for the pods.

Closed as resolved.

After discussing with the developers, it is understood that the container port for the dasbboard pods should always be 8080.
@ypoplavs : As a suggestion, I would say to make the container port of the dashboard pods to be static 8080 rather than configurable from the values file.

Thank you for a suggestion, @ashishkurian! We will discuss this with a team.


Add confirmation message to newsletter form

Added confirmation message to newsletter form
Description
Added a modal popup for subscription confirmation with a teal background and white text.
Related Issues

Closes #803

Type of PR

[ ] Bug fix
[yes ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes]

Checklist

[X ] I have gone through the contributing guide
[X ] I have updated my branch and synced it with project main branch before making this PR
[X ] I have performed a self-review of my code
[X] I have tested the changes thoroughly before submitting this pull request.
[ X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X ] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

@varshith257 sir please check


Fix compiler chunk size issue in StringUtils for Xbox One

Discovered issue with Closure Compiler that results in the removal of necessary code validation of the buffer. This change ensures that the necessary code is not removed by the compiler.

Added Vimeo Inc. as a contributor
Changed StringUtils to have previous solution which also ensures that code will not be truncated by Closure Compiler

Closes #2433

We have submitted our own version of this, with associated tests. This PR is no longer necessary, but thank you for your initiative.


Update Kitchen Suites

Adds dokken
Adds Amazonlinux-2
Removes Fedora
Remove references to Ubuntu 14.04

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger

This needs starting from scratch again!


Gitsigns setqflist should work for the whole repo

Hey all, I guess this is a feature request or an enhancement proposition.
What I wanted to do in neovim is to have a next/prev hunk behavior but for the whole repository, not just for the current buffer.
Gitsigns has Gitsigns setqflist and Gitsigns setloclist commands, so I logically thought that loclist would fill location list with hunks from current buffer and qflist would fill quickfix list with hunks from the whole repo. Unfortunately, this is not the case as both work only in the scope of a single buffer, they only differ with the target list.
So my questions are:

what do you think about changing this behavior? In my opinion, as qflist is global, it should handle hunks from the whole repo, while loc list should stay as it is.
is this something relatively simple to implement?

gs.setqflist(‘all’)


Opening generated .csproj freezes VS2017

From @kakins on June 16, 2017 23:43
I have VS2017 (latest update as of today).
I did the following

dotnet new --install Microsoft.AspNetCore.SpaTemplates::*
dotnet new angular
Opened the generated .csproj in VS2017.

VS2017 freezes indefinitely.
However, I did notice that the .csproj opens if I do "dotnet restore" and "npm install -d" after creating the angular project.  Perhaps Visual Studio is freezing when trying to resolve all the dependencies?  That seems odd though.  At this point I'm not sure if it's a VS issue or not.
Copied from original issue: dotnet/templating#962

From @seancpeters on June 17, 2017 0:49
Hi @kakins,
Could you run the command dotnet --info and paste the output here?
Also, could you post the exact version of VS you're running, from help > about?
That info will help us troubleshoot your issue. Thanks!

From @kakins on June 17, 2017 1:12
Sure thing...
VS
Microsoft Visual Studio Professional 2017
Version 15.2 (26430.13) Release
VisualStudio.15.Release/15.2.0+26430.13
dotnet
Product Information:
Version:            1.0.4
Commit SHA-1 hash:  af1e6684fd
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.15063
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\1.0.4

cc @SteveSandersonMS

There might be a VS issue in older versions of VS to do with restoring dependencies, but I haven't been able to reproduce any such issue. It certainly works OK in the latest VS 15.3.0 Preview 5.
Since there's a workaround (pre-restoring the dependencies), it's not been reported by others, and it doesn't appear to be an active issue in the forthcoming version of the product, there probably isn't anything for us to do on this, so I'll close it. If we find a repro or get more reports we can reconsider.


Extensible parsing

There are entirely too many areas of mathematics for a semantics aware editor to be able to parse them all.
So parsers should be extensible, at runtime.
As in, someone else should be able to define a few custom additions to the default grammar and add it. And it should be possible to add multiple different custom grammars at the same time.

Examples

Sometimes the set builder notation with the | makes sense
Sometimes 0xe is a hexadecimal number, other times it's 0 \cdot x \cdot e

The heck is my poor editor supposed to do when a user types in something like this?

Or we could apply the parsers in reverse order.
That way, if $ln$ is a predefined rule (logarithm) and the user then defines $l := 1$ and $n := 3$, then... $ln$ would be parsed as $l \cdot n$
We would, however, need to pick a syntax for saying "wait, I actually mean the logarithm ln"

The whole "writing two variables next to each other" deal happens quite frequently in mathematics

$ax$ being a times x
$ab$ being the concatenation of a and b (see: formal grammars and stuff)
$AB$ with A and B being vectors

And it can make sense to look ahead as much as possible

$0x$ should be 0 times x
$0x3f$ should be the hexadecimal 0x3F

Multi letter names can happen naturally when

you have a function, like $arccos$
you are an engineer and have a lookup table, like for material strength

Assignment makes parsing harder
$x := 1$
$i := 2$
$\displaystyle \sum_{xi := 0} xi ^2$

Here's a compromise option: The parser is nice and straightforward, such that when someone writes $abc$, then that's definitely "abc" as one variable.
However, the editor is also smart:tm: and will suggest autocomplete results. Like suggesting $ab \cdot c$ when you type in $ab \cdot c$. And you can accept those autocomplete results with tab or enter or maybe even with the space bar.
And other things like parsing derivatives, or parsing hexadecimal numbers, can be done with the simple "try out parsers until one works" approach. Or we could whip out the "try all parsers and take the longest result" option.

For getting a single token (like a lim sup token when you have $\limsup_{x \to 0}$), we could whip out multiple approaches

Point a fully blown parser at it

https://loup-vaillant.fr/tutorials/earley-parsing/
https://bodil.lol/parser-combinators/
https://www.sitepen.com/blog/unlocking-the-power-of-parser-combinators-a-beginners-guide
https://gist.github.com/yelouafi/556e5159e869952335e01f6b473c4ec1

Regular expressions

https://rcoh.me/posts/no-magic-regular-expressions-part-2/
https://rcoh.me/posts/no-magic-regular-expressions-part-3/
With maybe some tricks to efficiently execute lots of user-added something | something else (or) patterns, like https://stackoverflow.com/questions/14676833/combining-deterministic-finite-automata

Exact matches and a "anything" for the bottom part of a $lim$

Parsing chains of < <= doesn't need special treatment, since it's fine if I parse $1 < x < 3$ as $1 < (x < 3)$.
And then I treat $x < 3$ as a "domain restriction".

Changing syntax should not be as expensive later on. It should just be "change an imported library version and you're done"

Here's a bit of interesting info regarding Pratt parsing https://github.com/zesterer/chumsky/pull/515#issuecomment-1718173403


Added a SetMtu method for change the default mtu size 20 for Android

The Mtu cannot be set on PlatformInit() method it doesnt work.
I have added a public SetMtu(value) method, it request Mtu size only for Android platform

Thanks for submitting this. I think there is potential to still allow the Mtu to be requested as required but then the request is made internally after the connection state changed callback (as you've said the call after the connect method will fail as connection is not yet established). If set when already connected then the request can be made directly. The reason for setting a new default value is the Android default of 20 bytes is very small and completely out of step with the default values on other platforms.

Ok

Where can be fixed! is a bug it doesnt work please can be fixed or add a method Gatt.SetMtu(ushort value)

Sorry, I didn't get around to this push request due to illness. The intention is to add a RequestMtu method which can be called at any time to set a preferred value. On Android this will not be physically set until the connection is established. Changes in the Mtu will be reflected back in the public Mtu property.
Remember that for all of these wrapper types you can access the underlying native object for the RemoteGattServer in device specific code by casting to an Android.Bluetooth.BluetoothGatt as all these types have implicit operators.

Perfect I didn't remember to cast it to RemoteGattServer and it works


Quotes are not handled when reading Rofi command from configuration file

My configuration file at ~/.config/splatmoji/splatmoji.config:
rofi_command=rofi -dmenu -p '' -i -font "Roboto Mono 14"

Expected behavior

'' should be interpreted as a single blank argument
"Roboto Mono 14" should be interpreted as a single argument Roboto Mono 14
Rofi runs with a blank prompt (-p '') and using the font Roboto Mono (-font "Roboto Mono 14")

Actual behavior

'' is interpreted literally as the two-character argument ''
"Roboto Mono 14" is interpreted as three arguments: "Roboto, Mono, and 14"
Rofi errors, complaining that it cannot find the font "Roboto

Furthermore, backslash escapes do not work. For example, Roboto\ Mono\ 14 is interpreted as three arguments: Roboto\, Mono\, and 14.

Thanks! You made me realize another odd problem along the way so we have two commits as a result of this issue: e34fb3a, 4a1b63c

And now I realize that I forget how rofi works first commit didn't fix anything, so putting it back: 858da86
your quote interpolation should be good though! 🙂

Thank you very much for the quick response and fix! :+1:


HHH-10888 : PluralAttribute#isAssociation returns true for @ElementCo…

…llection

This is already fixed by this commit. I'm going to close the issue.


88 search filters on course page

Changes

Created filter for courses in courses page
Created CourseFilter component

Tests applied

Manual Testing

Issue ticket number(s)

Resolves #88

Checklist

[x] Documented
[x] Linting tests successful
[x] merge updated prod branch into development branch

Also potentially resolves #12. I'll leave it up to @joaomad247 to add it the the original PR text.


Difference of comportement between atom.workspace.open and atom.workspace.toggle.

Prerequisites

[X ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
There is a difference of comportement between atom.workspace.open and atom.workspace.toggle that I can't explain when reading the documentation.
I wrote a package with a view. In the "toggle" method i wrote initially:
toggle() {
    atom.workspace.toggle('atom://my-package');
}

When I have a left workspace and a right workspace, the package view can be present in only ONE of the workspaces. Even if I click on an editor of the right worspace when the view is opened in the left workspace, if I use the command of the package the view closes in the worspace it was present.
When I change the code to:
toggle() {
    atom.workspace.open('atom://my-package');
}

Then I expect the same behaviour than toggle except that the view will be focused instead of being closed. If you have the package view opened in the left workspace, if you focus the right workspace and trigger the "toggle" method, then a 2nd package view opens ... instead of focusing the existing one.
Expected behavior: [What you expect to happen]
Workspace.Open should focus the instance of the package view.
Actual behavior: [What actually happens]
Workspace.Open opens a 2nd instance of the package view if another workspace is selected.
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Versions
Atom    : 1.23.3
Electron: 1.6.15
Chrome  : 56.0.2924.87
Node    : 7.4.0
Additional Information
The plugin http://flight-manual.atom.io/hacking-atom/sections/package-active-editor-info/ is the one on which I found that bug.

Please include exact steps to reproduce the problem. Atom only has one "workspace", there's no such thing as "left workspace" and "right workspace", so I'm not sure what it is you're saying is going wrong.

Talked it over on Slack. "workspace" → "pane". Explained the searchAllPanes: true option for atom.workspace.open. This is the expected behavior.


UI Enhancement : The text Inside the Generate button is getting overshadowed

I want improve the UI of the generate button in the dark theme

@ashutosh-rath02 assign me this under GSSOC'24

That's a feature it is disabled when nothing is typed in the search bar


Free events should look free

For Scenarios 2 and 3 in https://github.com/redbadger/pride-london-app/issues/100

Ignore 'High' and 'Low' pricing if the event is marked as 'Free'
If 'High' and 'Low' pricing are both '£0' the event should be treated as if it is marked 'Free'

Pre-flight check-list
Before raising a pull request

[ ] Documentation
[x] Unit tests

Pre-merge check-list

[x] Link to Trello ticket/GitHub issue (If applicable) https://github.com/redbadger/pride-london-app/issues/100
[ ] Any risky areas identified
[ ] Test plan provided
[ ] Tester approved

Tester check-list

[ ] Tested on multiple devices / OS versions (Test on the physical device(s) you have access to, otherwise use BrowserStack):

[ ] Galaxy S8 (Android 7.0/8.0)
[ ] Galaxy S7 (Android 6.0)
[ ] iPhone X (iOS 11.x)
[ ] iPhone 8 (11.x)
[ ] iPhone 7 (iOS 10.x)

Optional:

[ ] Google Pixel 2
[ ] Galaxy S8 Plus
[ ] Galaxy S7 Edge
[ ] Galaxy S6
[ ] iPhone 7+
[ ] iPhone 6

Accessibility Testing (If applicable)

[ ] Text-to-Voice (Android: Voice Assistant / iOS: Speak Selection)
[ ] Large Text (=<200%)
[ ] Landscape Screen orientation

Weak connection testing (If applicable)

[ ] Airplane mode
[ ] 2G/3G Network Settings

I'd try to reduce the redundancy of price information:

When fetching data, look at the three values and set the prices we'll use in the app, free events having a price of 0 - 0. We can also swap the prices in case they are the wrong way around. This then means we don't have to drag around the isFree flag and reproduce the logic every time we're deciding whether an event is free or not.
In the price formatting function, which we hopefully use everywhere when displaying a price, we can just make the exception that if both prices are 0, we display "Free"

Does that make sense?

@charypar I would suggest we drop the isFree input from contentful too then. We can add help text to the Event Price Low field to call this out.

Closed - now working in https://github.com/redbadger/pride-london-app/pull/257 with @matt-paul


Missing operators in @searchBy directive

Hello,
In package lara-asp-graphql there are some missing operators:

notContains
notStartsWith
notEndsWith

With them, I think there will be complete of useful operators.

Thanks for the idea. New operators available since v5.2.0 🎉


Async worker: reconnect correctly after redis connection errors

This PR fixes a bug: the async worker was not reconnecting correctly after redis connection errors.
The reason is that it was instantiating a client without the "resque" namespace.

bors r=@unleashed

bors retry


Implement a .copy() function for the class MeMoModel

I'll try to figure and let you know if cobrapy's copy() method is enough!


Tag next release

What is process for doing a release in testing_frameworks?
It will be helpful if you can do another release (may v0.1.1) with the fix in #62.
It will benefit us (kubebuilder team) and federation team.

/assign @hoegaarden

@mengqiy
There is no process -- yet. I will manually tag the current head with v0.1.1 and think about how to processify / (semi-)automate that. If anyone has opinions on how that should be handled, please shout!


chore(deps): update iOS SDK to 3.18.0 and Android SDK to 7.16.0

:scroll: Description
Updated the Android and iOS dependencies of the Sentry SDK. The iOS version is updated to 8.38.0, and the Android version to 7.16.0.
:bulb: Motivation and Context
This update is required to ensure the SDK uses the latest versions of the dependencies on Android and iOS. It allows benefiting from the latest bug fixes and new features provided by the Sentry SDKs for these platforms.
:green_heart: How did you test it?
Unit test, testing with widget, manual test
:pencil: Checklist

[x] I reviewed submitted code
[ ] I added tests to verify changes
[ ] No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
[ ] I updated the docs if needed
[ ] All tests passing
[ ] No breaking changes

:crystal_ball: Next steps

hey, we have our deps updater that will create a PR with the proper changelog but thanks for opening this!


Lockfree stack

This pull request includes the lockfree stack implementation along with serial and multithreaded tests.

Since this code isn't used yet, the only relevant test so far is its own. It is passing that on both Jenkins and Travis (Travis only has unrelated Python flakes, and Jenkins has those issues plus some could-not-bind errors on Mac).

I'm going to merge it into a branch and get the server up with it from there.


Refactor reason() into multiple methods (2)

redone the PR #170

still a lot of work to do here - but the PR is fine from my side


MeApps

What issue are you talking about? Would you like to use AppConfig?

Yes

Nice. Does it work when following these steps?


Abhishek's pascal triangle in C

Please write a comment at the starting of your program about what it does

Sir I have added the required comments to the file

nice


Improve width of content area for medium and small screens

The width of the content area needs to be changed as follows:

Medium screens: Do not make the central area too thin
Small screens and mobile views: Use the entire width.

@mariobehling i have been pretty active on github lately, can I work on this issue?


🐛 BUG:Tries to init with main branch but fails on older git versions

Hello! :wave:
Wrangler version: 2.0.7
OS: Linux/Ubuntu
I just tried my first wrangler init and it asked me if I wanted to use git to manage this Worker. I said yes but unfortunately the command failed because it did a git init --initial-branch=main and that's not a valid option for my git version of 2.25. Based on this StackOverflow answer, the option was only added in v2.28.
I'll look into updating my git version, but maybe wrangler can avoid using this option for older git versions? If you'd like to still call the branch main with older git versions, maybe that can be achieved with a git branch -m?

Looking into this git branch -m, which renames the current branch seems like a very reasonable backward compatible way to achieve this.


Failed to Connect Wallet using MetaMask

Description:
I'm having trouble connecting my wallet to the CerboAI platform using MetaMask. When I attempt to connect, I receive an error message/ the connection times out/ the wallet doesn't respond.
Steps to Reproduce:

Open the CerboAI app/website.
Click on the 'Connect Wallet' button.
Select MetaMask as the wallet provider.
Attempt to connect the wallet.

Expected Behavior:
Successful connection of the MetaMask wallet to the CerboAI platform.
Actual Behavior:
Failed connection/ error message/ timeout.
Environment:

Device: [Infinix note 12pro]
Operating System: [Android OS]
Browser:[chrome]
Additional Information:

I've tried [e.g., clearing cache, restarting browser, updating MetaMask]. If you need further information or logs, please let me know.

Hello @Vikram455
If you're experiencing an infinite connection timeout in your MetaMask wallet, it could be due to a few reasons:
Network Issues: Sometimes, network congestion can cause transactions to get stuck. Check if the Ethereum network is experiencing high traffic.
Gas Fees: Ensure that you're setting an appropriate gas fee. If the gas price is too low, your transaction might not get processed, causing it to retry endlessly.
Contract Issues: If the swap involves a specific token or contract, there might be issues with that contract. Make sure the token is supported and the contract address is correct.
Browser Issues: Try clearing your browser cache or using a different browser to see if that resolves the issue.
MetaMask Update: Make sure your MetaMask extension is up to date.
This issue will be preview on the Pull Requests. To resolve, Visit the official live support page to initiate a chat with an agent using the chat button via support


feat: Create Dev Squidex Backup

see: https://trello.com/c/1oHlF3sU/1204-create-and-store-dev-squidex-data-dump

This is WIP because:

trigger was changed to push - does not look like manual triggers are supported off a branch on github
S3 resource cration was enabled for this PR (should be dev only)
bucket name was fixed to this PR (should be dev)
syncing only the schema from squidex

Also I am unsure about this approach of installing cli here - i dont think there is a docker image with the cli available but we might need to create one ourselves and push it OR make this part a github private action. TBD


Unable to update SSL - [INFO] No valid hosts found for Exchange Back End.

I am trying to renew our exchange server 2016 certificates and keep getting the below error message;
[INFO] No valid hosts found for Exchange Back End.
I am selecting option N from the first screen and then try to bind multiple SSL site and gives me the above error message.
I am using the latest version of the app.
Any ideas?
Thanks.

You have to choose "Manually input hostnames", because the program can't figure out which (sub)domains to order a certificate for based on the selected IIS sites, likely because there are no named bindings on them (as Exchange typically uses blank/catch-all bindings).


Update OWNERS_ALIASES

What this PR does / why we need it:
Updated the repo OWNERS_ALIASES list
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

NONE

@machadovilaca I had to close the other PR. Recreated it here and updated @avlitman in the list. Please review.


DEBUG: Request not made from data

I have an issue regarding the debug message mentioned in the title.
I am putting raw links as strings in the redis queue xxx:start_urls and I'm getting the the error message:
DEBUG: Request not made from data b'http://www.xxx.com'
When I turn on in scrapy-redis the redis decode_responses option I still get the same error but this time without the b in front of the url:
DEBUG: Request not made from data 'http://www.xxx.com'

It was again my failure again! I had to provide the function
def make_requests_from_url(self, url): """Returns a request to be scheduled or none."""         return scrapy.Request(url)
this is the most minimalistic version of that function.

One more sentence for clarification. You don't have to provide that function. I've been reading through some pages of the scrapy documentation, encountered that function and pasted it empty in my code with a pass statement for later use. That is why I had these problems.

Now I have the same problem, how did you solve it?

did you redefine this function? if so delete it, I think you shouldn't redefine it if you don't have a reason since it is implemented in it's simplest way in some base class, if I remember right...