[BUG] [GSSOC' 21] Message area expanding more than its parent box

Describe the bug

In contact us section the message(textarea) expands more than the size of its parent box making it look not great

To Reproduce
Steps to reproduce the behavior:

Goto the site
Click on contact us button
Goto the message area
Expand the message area the see the bug

Expected behavior
A clear and concise description of what you expected to happen.
Logs
If applicable, add logs to help explain your problem (e.g. the error message and/or exception traceback).
Environment (please complete the following information):

OS: Windows 10 pro
Browser: Google Chrome, Tor, Edge, FireFox

Additional context
@Vishal-raj-1 @ridsuteri

@Aditya201551 message box is looking fine

check once again please :)

@ridsuteri sir the box is expandable so if you expand the textarea more than the parent div the textarea gets out of the  parent div, the video is provided below for reference:
https://user-images.githubusercontent.com/32588231/113972082-a1428500-9857-11eb-8a6f-347c58f25281.mp4

oh ohk @Aditya201551 go ahead with it

Sure starting the work now!


rough min model replicas

Thanks for the PR Sam! I discussed this with other-Sam offline and we came to the conclusion it makes the most sense to put this into the models helm chart:
all:
  podDisruptionBudget: # Would apply to all models via a label selector that matches any model that has a "model" key
    create: false
    # ... values for availability


Crash on startup

Original Issue: https://github.com/tterrag1098/WAILAPlugins/issues/47#event-350097474
Using mapwriter in Opis

i fixed this in my version.
will take it out of beta this weekend and post in on curse.
https://www.dropbox.com/s/s4mzbyfuozc6pbu/MapWriter-1.7.10-2.1.5-Beta-2.jar?dl=0

dang i'm still crashing on start up from mapwriter on forge 1492

need a bit more information then that.....
what version of mc?
what version of mapwriter?
crashlog?

Sry i'll post a crash log when i get home, i'm at work atm, i'll also provide client and server clean logs.
In the crash log it says mapwriter and a bunch of colored forced blocks. I haven't been able to disable anything in the configs.
MC 1.7.10 ,
Opis-1.2.5_1.7.10.jar
MobiusCore-1.2.5_1.7.10.jar
Thanks for a reply, i really need to find out what mod is causing my tps to drop on the server.

aaah you are using opis....
i cant directly fix the problem there. but what you could try is open the latest mapwriter jar with a zip program. and copy the assets folder, mapwriter folder and the mapwriter file to the opis jar.
this should update all of the mapwriter code in opis and fix your bug.
note: this might introduce new bugs.

Thanks i'll try that. I'll test out just mapwriter first to make sure it works then i'll try adding it.
Any way to disable mapwriter from opis temporarily??, i really need to provide proof that a certain mod is causing lag.

omfg dude your a freaking genius!! it worked!!

it doesn't work on the server due to genchesthooks errors.
http://pastebin.com/4cheJui1
It seems it is happening to everyone that uses cauldron, but there is no support for it :-(

I doubt it's realy fixable, i'm just making a guess here but what i think the problemen is:
Mobiuscore modifies base classes and this works fine in normale forge. But in cauldron those classes are already modifies so the changed from mobiuscore will interfere with thr code.
As for not suporting cauldron i agree, cauldron changes forge in the wrong way. There is nothing wrong with adding forge and spigot, but that shouldnt change the working of forge


Support Tavily as built-in search tool.

What does this PR do?
Add Tavily as a built-in search tool, in addition to Brave and Bing.
Test Plan
It's tested using ollama remote, showing parity to the Brave search tool.

Install and run ollama with ollama run llama3.1:8b-instruct-fp16
Build ollama distribution llama stack build --template ollama --image-type conda
Run ollama stack run /$USER/.llama/distributions/llamastack-ollama/ollama-run.yaml --port 5001
Client test command: python - m agents.test_agents.TestAgents.test_create_agent_turn_with_tavily_search, with enviroments:
MASTER_ADDR=<IP_ADDRESS>;MASTER_PORT=5001;RANK=0;REMOTE_STACK_HOST=<IP_ADDRESS>;REMOTE_STACK_PORT=5001;TAVILY_SEARCH_API_KEY=tvly-;WORLD_SIZE=1

Test passes on the specific case (ollama remote).
Server output:
Listening on ['::', '<IP_ADDRESS>']:5001
INFO:     Started server process [7220]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://['::', '<IP_ADDRESS>']:5001 (Press CTRL+C to quit)
INFO:     <IP_ADDRESS>:65209 - "POST /agents/create HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:65210 - "POST /agents/session/create HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:65211 - "POST /agents/turn/create HTTP/1.1" 200 OK
role='user' content='What are the latest developments in quantum computing?' context=None
role='assistant' content='' stop_reason=<StopReason.end_of_turn: 'end_of_turn'> tool_calls=[ToolCall(call_id='fc92ccb8-1039-4ce8-ba5e-8f2b0147661c', tool_name=<BuiltinTool.brave_search: 'brave_search'>, arguments={'query': 'latest developments in quantum computing'})]
role='ipython' call_id='fc92ccb8-1039-4ce8-ba5e-8f2b0147661c' tool_name=<BuiltinTool.brave_search: 'brave_search'> content='{"query": "latest developments in quantum computing", "top_k": [{"title": "IBM Unveils 400 Qubit-Plus Quantum Processor and Next-Generation IBM ...", "url": "https://newsroom.ibm.com/2022-11-09-IBM-Unveils-400-Qubit-Plus-Quantum-Processor-and-Next-Generation-IBM-Quantum-System-Two", "content": "This system is targeted to be online by the end of 2023 and will be a building b...<more>...onnect large-scale ...", "url": "https://news.mit.edu/2023/quantum-interconnects-photon-emission-0105", "content": "Quantum computers hold the promise of performing certain tasks that are intractable even on the world\'s most powerful supercomputers. In the future, scientists anticipate using quantum computing to emulate materials systems, simulate quantum chemistry, and optimize hard tasks, with impacts potentially spanning finance to pharmaceuticals.", "score": 0.71721, "raw_content": null}]}'
Assistant: The latest developments in quantum computing include:

* IBM unveiling its 400 qubit-plus quantum processor and next-generation IBM Quantum System Two, which will be a building block of quantum-centric supercomputing.
* The development of utility-scale quantum computing, which can serve as a scientific tool to explore utility-scale classes of problems in chemistry, physics, and materials beyond brute force classical simulation of quantum mechanics.
* The introduction of advanced hardware across IBM's global fleet of 100+ qubit systems, as well as easy-to-use software that users and computational scientists can now obtain reliable results from quantum systems as they map increasingly larger and more complex problems to quantum circuits.
* Research on quantum repeaters, which use defects in diamond to interconnect quantum systems and could provide the foundation for scalable quantum networking.
* The development of a new source of quantum light, which could be used to improve the efficiency of quantum computers.
* The creation of a new mathematical "blueprint" that is accelerating fusion device development using Dyson maps.
* Research on canceling noise to improve quantum devices, with MIT researchers developing a protocol to extend the life of quantum coherence.

Verified with tool response. The final model response is updated with the search requests.
Sources
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Ran pre-commit to handle lint / formatting issues.
[x] Read the contributor guideline,
Pull Request section?
[x] Updated relevant documentation.
[x] Wrote necessary unit or integration tests.

Please run pre-commit. See https://github.com/meta-llama/llama-stack/blob/main/CONTRIBUTING.md#pre-commit-hooks

@jeffxtang going to be happy with this one

This is where it is failing.


Create pyb.pyi.

From: https://github.com/hlovatt/PyBoardTypeshed.
Generated by: https://github.com/hlovatt/PyBoardTypeshedGenerator.

@hlovatt You might be interested in how I added pyb to be available for code insight if your device type is "Pyboard" in the MicroPython settings in PyCharm: see the corresponding commit 138fcee18da1f0339f9f739f0445afc29a1e362e. It's really a one-line change.

Thanks. Unfortunately I had to write pyb.py manually :(
-- Howard.
On Tue, 22 Sep 2020 at 09:43, Andrey Vlasovskikh<EMAIL_ADDRESS>wrote:

Merged #116 https://github.com/vlasovskikh/intellij-micropython/pull/116
into master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vlasovskikh/intellij-micropython/pull/116#event-3790981113,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAIV2LN3BGG3PFXNVUPDWDSG7QINANCNFSM4PHIEESQ
.

This PR fixes most of the issues mentioned #16.

Thanks. Unfortunately I had to write pyb.py manually :( -- Howard.

Ouch... That's a huge amount of work. Thanks for working on this!


ARROW-253: restrict ints to 8, 16, 32, or 64 bits in V1

@wesm @jacques-n for your review

Looks good. +1

+1 from me also


Update WebGPU examples with the latest @huggingface/transformers package

This PR updates WebGPU examples, and replaces their old package @xenova/transformers with @hugginface/transformers, which will fix some breaking changes in WebGPU spec, such that
GPUAdapter.requestAdapterInfo() is no longer supported in the latest Chrome browser (An issue is reported at https://github.com/huggingface/transformers.js/issues/815#issuecomment-2453115813).
The folder name of florence2 is also unified with other WebGPU examples (prefixed with "webgpu").

@xenova PTAL

Hi @gyagp! Thanks for this. However, we're aiming to move all example applications to https://github.com/huggingface/transformers.js-examples/ instead of keeping them in this repo. Additionally, we'd need to update all the demo spaces we've put out! 😅

It's great to have a unified place to host all the examples, which will be easier for maintenance. Let me close this.


[20.09] sddm: add patch for CVE-2020-28049

Motivation for this change

Local privilege escalation due to race condition in creation of the Xauthority file.

https://www.openwall.com/lists/oss-security/2020/11/04/2
Fixes: CVE-2020-28049
Things done

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

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

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

Looks like this changeset applies to 20.03 as well, so when merged I'll pick this commit.


Added more capabilities to the CMake build.

This commit includes changes that enable the following:

Building protobuf from source.
Building grpc from source.
Building the TensorFlow distributed runtime.
Building the TensorFlow Python bindings (excluding tf.contrib).

This commit also includes minor changes to remove the implicit
dependency between a CPU-only build of the runtime and stream executor,
and makes minor changes for compatibility with Protobuf 3.0.0 (regarding
compatibility between Protobuf's and TensorFlow's int64 representation).

Thanks, @mention-bot, but I think @keveman would be a better reviewer :).
@keveman: Can you pay particular attention to the C++ changes? Each of them was done mostly to get things to build, but I think they are all uncontroversial.

C++ changes look good to me. Feel free to merge.

@tensorflow-jenkins test this please.


Include more options for niche definitions

Currently, squidpy focusses mostly on local spatial neighborhoods  for niche analysis purposes. However, there are other definitions which one could use. Including other options could increase tool usage and enable other usecases, f.e. nische-detection-robustness testing?
Pinging @melonora @LLehner @MohammedZidane

Hey @LLehner, let's discuss the feature in this issue. Here there's the monkeybread package that we mentioned during the meeting: https://monkeybread.readthedocs.io/en/latest/

Neighborhood based:

monkeybread (clustering of neighborhood profiles)
CellCharter (performs dimreduction, neighborhood calculation, aggregation and clustering)

VI-based:

DestVI ("Unlike other methods, DestVI learns both discrete cell-type-specific profiles and continuous sub-cell-type latent variations using a conditional deep generative model")

OT-based:

SPOT (Cluster cells based on their niche similarity, not their expression similarity)

GRN based:

NicheHotSpotter ("NicheHotSpotter calculates the probability that a signalling node participates in niche–stem cell signalling from the stationary distribution of a finite discrete time-homogenous Markov chain model")

Cell-Cell-Communiation based:
One could reason about niches by analyzing cellular interactions:

CellPhoneDB
NicheNet
NCEM

pre-trained (foundational) models:
Perhaps one could utlize pre-trained (foundational) models to predict niches.

Nicheformer

Amazing, thank you! Could you also briefly look into the respective requirements? Ideally I'd hope that there is a small subset that we can add without adding to our dependencies (core) and the other methods will complain about their specific solvers or whatever not being installed when they're called (addon).
Then we could start with the core methods and also merge them without adding to the dependency load of the base package before things are evaluated and stable and later on cast the addon ones into the template we talked about

Great progress in #831! @migueLib and I think about adding Kasumi from @jtanevski to squidpy, also referring to the recent addition of sliding_windows in #859

Hi @chiarasch, thank you for the offer! That would indeed be a great addition. I just skimmed through the paper and if i understand correctly the third level representation which is part of the output is the cluster label, which would be the niche a cell is assigned to, right?
Another question: If you are set on implementing this, do you have a rough timeline in mind until when its ready? Just asking because if you plan to start right now you could add it to #831, otherwise make a new PR, as that one should get merged soon.

Hi @LLehner. You are right that the third level is the output. However, Kasumi outputs a class label per tissue patch/window and not per cell. That makes it a bit different from the related approaches. The package is updated and it allows also for clustering of windows based on the composition of cell types or marker abundance/expression in general as an alternative that, as a scope and representation, lends itself also to application of other approaches.

Hi @LLehner. You are right that the third level is the output. However, Kasumi outputs a class label per tissue patch/window and not per cell.

Ah, i see. Well that shouldn't be a problem, i mean you can just assign the patch label to every cell that resides within this patch (if one is interested in labels per cell). But just to understand correctly the third level label can be interpreted as a niche label?

Hi @LLehner. You are right that the third level is the output. However, Kasumi outputs a class label per tissue patch/window and not per cell.

Ah, i see. Well that shouldn't be a problem, i mean you can just assign the patch label to every cell that resides within this patch (if one is interested in labels per cell). But just to understand correctly, can the third level label be interpreted as a niche label?

In principle yes, but it's going to be tricky if you want to do that since the windows can overlap leading to a fuzzy instead of crisp assignment :)

Thanks for checking @LLehner! It is indeed a bit trickier to compare it to the more "classical" niche identification methods, also in the context of how you are comparing them atm. We thought about adding it during the hackathon in November, so I would create another PR and we can deepen our discussions then! :)
Out of interest, which other methods do you plan to add to the current PR?

I'll let @LLehner elaborate more on the exact method choices, but the core thought is "We don't want crazy imports or massive reimplementation work" 👌
Just wanted to ping @FrancescaDr who's working on the sliding window PR. This method could f.e. be a cool way to demonstrate both functionalities later for squidpy-notebooks, wdyt?

We thought about adding it during the hackathon in November, so I would create another PR and we can deepen our discussions then! :)

Great, looking forward to it!

Out of interest, which other methods do you plan to add to the current PR?

SPOT will be added next. Then we would also like to implement BANKSY and perhaps a HMRF-based approach.


Generic.WhiteSpace.ScopeIndent false positive with nested match-es

Describe the bug
The ScopeIndent sniff suggests a quite strange indentation when processing multi-nested match-statements
// It's a copy of my bug report from the old repo (squizlabs/PHP_CodeSniffer#3875)
// Thank you, Juliette, for an amazing initiative in keeping the project going!
Code sample
<?php

echo match (1) {
    0 => match (2) {
        2 => match (3) {
            3 => 3,
            default => -1,
        },
    },
    1 => match (2) {
        1 => match (3) {
            3 => 3,
            default => -1,
        },
        2 => match (3) {
            3 => 3,
            default => -1,
        },
    },
};

How that code will look if formatted as suggested
<?php

echo match (1) {
    0 => match (2) {
        2 => match (3) {
            3 => 3,
            default => -1,
        },
    },
    1 => match (2) {
        1 => match (3) {
            3 => 3,
            default => -1,
        },
            2 => match (3) {
                3 => 3,
                default => -1,
            },
    },
};

Custom ruleset
N/A — reproducible with PSR12
To reproduce
Steps to reproduce the behavior:

Create a file called test.php with the code sample above
Run phpcs -s --standard=psr12 test.php
See errors displayed

------------------------------------------------------------------------------------------------------------------------------
FOUND 4 ERRORS AFFECTING 4 LINES
------------------------------------------------------------------------------------------------------------------------------
 15 | ERROR | [x] Line indented incorrectly; expected at least 12 spaces, found 8
    |       |     (Generic.WhiteSpace.ScopeIndent.Incorrect)
 16 | ERROR | [x] Line indented incorrectly; expected at least 16 spaces, found 12
    |       |     (Generic.WhiteSpace.ScopeIndent.Incorrect)
 17 | ERROR | [x] Line indented incorrectly; expected at least 16 spaces, found 12
    |       |     (Generic.WhiteSpace.ScopeIndent.Incorrect)
 18 | ERROR | [x] Line indented incorrectly; expected 12 spaces, found 8 (Generic.WhiteSpace.ScopeIndent.IncorrectExact)
------------------------------------------------------------------------------------------------------------------------------
PHPCBF CAN FIX THE 4 MARKED SNIFF VIOLATIONS AUTOMATICALLY
------------------------------------------------------------------------------------------------------------------------------

Expected behavior
No indentation errors.
Versions (please complete the following information)

Operating System
macOS 12.5

PHP version
8.0

PHP_CodeSniffer version
3.9.0

Standard
PSR2

Install type
Local composer

Additional context
none
Please confirm:

[x] I have searched the issue list and am not opening a duplicate issue.
[x] I confirm that this bug is a bug in PHP_CodeSniffer and not in one of the external standards.
[x] I have verified the issue still exists in the master branch of PHP_CodeSniffer.

The issue is still present in v3.9.0.

The issues is still present in v3.9.0.

@jrfnl I'm in no way rushing it, and I want to do a patch at some later date. Sorry if it sounded like an attack, that wasn't my intention :)
I just saw that there were some changes around the processing of match-es in the last releases, and I wanted to save some time on retesting to anybody stumbling upon this ticket.

Pff.. this was complex one. PR #502 should fix it though. Testing appreciated.

Thank you, @jrfnl!
I just checked the master branch — the issue is gone for all the examples I had at hand.

Thanks @andrey-yantsen for testing and confirming!


pypi package contains tests but missed tests/data

The last version of certomancer on pypi contains tests but an attempt to run it failed, because it had missed tests/data folder.
Shall tests/data be included into package?

That's strange; the pyproject.toml file should have been set up to exclude tests altogether---there's an argument to be made for including them in source dists, but given that certomancer only ships with universal wheels, there's not much point to that.
I don't have much time to look into this now, but this is what I want:

The source dist should either not include any tests, or include tests + test data.
The wheels should most definitely NOT include any tests---if they do, it potentially causes all sorts of havoc at runtime.

Apparently the first condition is currently not met, but I'd have to look up how to deal with this without breaking the wheels (which are far more important).

Just a proof that it really has tests without data:
√ /tmp % cd xzy/
√ xzy % wget https://files.pythonhosted.org/packages/94/64/8dbc2e51612c1a6ea43d98c73dd65d0c30e98ff83e1a7ab80f5a4502eb6f/certomancer-0.11.0.tar.gz
--2023-12-18 01:46:25--  https://files.pythonhosted.org/packages/94/64/8dbc2e51612c1a6ea43d98c73dd65d0c30e98ff83e1a7ab80f5a4502eb6f/certomancer-0.11.0.tar.gz
Resolving files.pythonhosted.org (files.pythonhosted.org)... <IP_ADDRESS>
Connecting to files.pythonhosted.org (files.pythonhosted.org)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 74450 (73K) [application/octet-stream]
Saving to: ‘certomancer-0.11.0.tar.gz’

certomancer-0.11.0.tar.gz            100%[===================================================================>]  72.71K  --.-KB/s    in 0.03s

2023-12-18 01:46:25 (2.17 MB/s) - ‘certomancer-0.11.0.tar.gz’ saved [74450/74450]

√ xzy % tar xzf certomancer-0.11.0.tar.gz
√ xzy % ls certomancer-0.11.0/
LICENSE			PKG-INFO		README.md		certomancer		certomancer.egg-info	pyproject.toml		setup.cfg		tests
√ xzy % ls certomancer-0.11.0/tests/
test_animator.py	test_certs.py		test_services.py	test_utils.py
√ xzy %

ping


2.3.0 Release

@kattrali  Sorry if this sounds like I'm impatient.... ;)
What's the release process to get this up on NPM? I'm more curious than anything. v2.3.0 looks good to me.
It's not super urgent for us. Although it would be great if it gets up there in the next day or two. Thanks.

lol no worries. I didn't notice that npm publish failed. cheers!


Update to use RBAC rather than access policy

[Enter feedback here]
The document refers to using Access policies but that is not available anymore and RBAC are encouraged to use.

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

ID: f7fd1350-6158-4eb0-b41b-5c7b9a776e96
Version Independent ID: 713b91b9-d810-aca5-0ab4-00e0a4ee0fed
Content: Azure Key Vault VM Extension for Linux - Azure Virtual Machines
Content Source: articles/virtual-machines/extensions/key-vault-linux.md
Service: virtual-machines
Sub-service: extensions
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@babaknaderi
Thanks for your feedback! We will investigate and update as appropriate.

@babaknaderi
Here is the link to the official Microsoft documentation on using Azure RBAC with Azure Key Vault:
https://learn.microsoft.com/en-us/azure/key-vault/general/rbac-guide?tabs=azure-cli
https://learn.microsoft.com/en-us/azure/role-based-access-control/best-practices
if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


[FLINK-33884] Update Pulsar dependency to 3.0.2 in Pulsar Connector

Purpose of the change
Update the Pulsar dependency version to pick up patch fixes.
Brief change log

Update pulsar.version to 3.0.2 in pom.xml.

Verifying this change
This change added tests and can be verified as follows:

Manually verified by running the Pulsar connector on a local Flink cluster.

Running this on a production workload did not uncover any issues.
Significant changes
(Please check any boxes [x] if the answer is "yes". You can first publish the PR and check them afterwards, for
convenience.)

[x] Dependencies have been added or upgraded
[ ] Public API has been changed (Public API is any class annotated with @Public(Evolving))
[ ] Serializers have been changed
[ ] New feature has been introduced

If yes, how is this documented? (not applicable / docs / JavaDocs / not documented)

The license file version should also be bumped in the mean time.

@dchristle I've triggered the CI, but I'm expecting that upgrading the version will also have impact on the license checks (the listed versions in the NOTICE files)

@dchristle I've triggered the CI, but I'm expecting that upgrading the version will also have impact on the license checks (the listed versions in the NOTICE files)

Got it. Yes, I see the CI check for the NOTICE file failed due to out-of-date info. I updated the dependency versions in the META-INF NOTICE file. I also updated the year to 2024, in case that could also prevent the CI check from passing. We can bump the year in a separate hotfix PR, if you'd prefer, as well.

Thanks, there are no issues from my side. @tisonkun Can you help me double check this PR?


Add authentication state check when enabling grace period

Task/Issue URL: https://app.asana.com/0/414709148257752/1205462483244180/f
Tech Design URL:
CC:
Description:
Adds check of authenticator state when determining whether or not to enable the login grace period

Steps to test this PR:

Attempt to access the Logins screen but do not authentication to succeed.
Cancel the biometric prompt and the Login screen should dismiss.
Attempt to access the Logins screen again and confirm you are again prompted to authenticate
Minimise the app and again try to access the Logins screen and confirm you are again prompted to authenticate
Access the Logins screen and this time allow authentication to succeed. Confirm you can now see the list of logins
Back out of the Logins screen and immediately try to access it again. This time you should see the list of logins without an authentication prompt (grace period is active)
Back out of the Logins screen again and wait 20 seconds before attempting to access the screen again. This time you should be prompted to authenticate (grace period has expired)

Copy Testing:

[ ] Use of correct apostrophes in new copy, ie ’ rather than '

Orientation Testing:

[ ] Portrait
[ ] Landscape

Device Testing:

[ ] iPhone SE (1st Gen)
[ ] iPhone 8
[ ] iPhone X
[ ] iPhone 14 Pro
[ ] iPad

OS Testing:

[ ] iOS 14
[ ] iOS 15
[ ] iOS 16

Theme Testing:

[ ] Light theme
[ ] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template

Closing as this was merged as part of 7.88.1 hotfix release


Receive failed with error "Software caused connection abort"

[x] I've read, understood, and done my best to follow the *CONTRIBUTING guidelines.

What did you do?
Very easily, I perform a POST request to Google Cloud Vision API, in order to extract some text from an image. Everything works fine, I actually get the text, but when the app goes in the background and then re-enters, between sceneWillEnterForeground and sceneDidBecomeActive, the following warning appears:
[] nw_read_request_report [C1] Receive failed with error "Software caused connection abort"

Alamofire Environment
Alamofire version: 5.2.0
Xcode version: 11.5
Swift version: 5.0
Platform(s) running Alamofire: iOS 13.4
macOS version running Xcode: 10.15.4
Demo Project
        let image = UIImage(named: "EXAMPLE_IMAGE")
        let apiKey = "API_KEY"
        let requestJson: [String: Any] = [
            "requests" : [
                "image" : [ "content": image?.base64String ],
                "features" : [ "type" : "DOCUMENT_TEXT_DETECTION" ]
            ]
        ]

        let data = try! JSONSerialization.data(withJSONObject: requestJson, options: .prettyPrinted)

        let url = URL(string: "https://vision.googleapis.com/v1/images:annotate?key=\(apiKey)")
        var request = URLRequest(url: url!)
        request.httpMethod = HTTPMethod.post.rawValue
        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
        request.httpBody = data

        AF.request(request).responseJSON { json in
            do {

                let model = try JSONDecoder().decode(Model.self, from: json.data!)
                let textsFromImage = model.responses?[0].parsedText
                // then update UI (for example)
            } catch {
                print(error)
            }
        }

Yes, this is an underlying system error that can happen when network requests are killed during backgrounding. I suggest you implement background tasks around your network requests to keep them alive long enough to complete while in the background. You can find thorough documentation on Apple's dev forums. Once you properly handle that transition, the errors should stop, or give you a chance to properly cancel the requests.

I find a feature in iOS 11, that is waitsForConnectivity, can this solved this problem?
Connectivity might be temporarily unavailable for several reasons. For example, a device might only have a cellular connection when [allowsCellularAccess](doc://com.apple.documentation/documentation/foundation/nsurlsessionconfiguration/1409406-allowscellularaccess?language=occ) is set to false, or the device might require a VPN connection but none is available. If the value of this property is true and sufficient connectivity is unavailable, the session calls the [URLSession:taskIsWaitingForConnectivity:](doc://com.apple.documentation/documentation/foundation/nsurlsessiontaskdelegate/2908819-urlsession?language=occ) method of [NSURLSessionTaskDelegate](doc://com.apple.documentation/documentation/foundation/nsurlsessiontaskdelegate?language=occ) and waits for connectivity. When connectivity becomes available, the task begins its work and ultimately calls the delegate or completion handler as usual.
If the value of the property is false and connectivity is unavailable, the connection fails immediately with an error, such as [NSURLErrorNotConnectedToInternet](doc://com.apple.documentation/documentation/foundation/1508628-url_loading_system_error_codes/nsurlerrornotconnectedtointernet?language=occ).
This property is relevant only during the establishment of a connection. If a connection is established and then drops, the completion handler or delegate receives an error, such as [NSURLErrorNetworkConnectionLost](doc://com.apple.documentation/documentation/foundation/1508628-url_loading_system_error_codes/nsurlerrornetworkconnectionlost?language=occ). For help dealing with dropped connections, see [Handling “The network connection was lost” Errors](https://developer.apple.com/library/archive/qa/qa1941/_index.html#//apple_ref/doc/uid/DTS40017602).
This property is ignored by background sessions, which always wait for connectivity.


Mixed extension imports are skipped

Given:
// app.js
import helpers from './helpers'

// helpers.ts
export default {}

When I run:
$ madge --extensions js,ts --warning app.js

I get:
Processed 1 file (649ms) (1 warning)

app.js

✖ Skipped 1 file

./helpers

If I rename app.js to app.ts, it works.

I'm having the same issue

Closing in favour of https://github.com/pahen/madge/issues/207


Unable to get vibrancyEffectStyle working

How vibrancyEffectStyle is supposed to work?
My code has no effect.
progressViewContainer.cornerRadius = 8
progressViewContainer.vibrancyEffectStyle = .dark
Do yo have an idea?
Thanks

@thierrybucco How is vibrancyEffectStyle not working, can you put up a simple example project or upload some screenshots?
There is a technical limitation for vibrancyEffectStyle. Please have a look at the documentation comment.
/**
   Vibrancy effect style: `extraLight`, `light`, `dark`, `regular` (iOS 10+) or `prominent` (iOS 10+). Once specify the vibrancy effect style, all subviews of blur effect view will apply this vibrancy effect. The property should set once. Because once we use `UIVisualEffectView`, Apple uses a private class like `_UIVisualEffectContentView` to contain subviews which will change the view hierarchy. After that, we are not able to restore the original view hierarchy. Also, the Auto Layout constraints will be broken when the system change the view hierarchy. We need to manually re-set up the constraints or use Autoresizing masks to layout the subviews.
   */
  var vibrancyEffectStyle: UIBlurEffectStyle? { get set }

Looks like you are using it as a Container. All elements within it will lose the layout because of the technical constraints.

Thanks @JakeLin for you answer.
Here is a screenshot. There is no subview for in my tests.
(lldb) po progressViewContainer!
<IBAnimatable.AnimatableView: 0x7f9bc249b2d0; frame = (137.5 251.5; 100 100); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x618000238fe0>>

@thierrybucco  haha, you should use blurEffectStyle for the blur effect, vibrancyEffectStyle is used for the content on top of the blur effect.

Oh! Sorry...
Thanks a lot for your help.

@thierrybucco my pleasure 😉


Add version of SDL2 package with MSVC release build fix.

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.2907
https://travis-ci.org/ingenue/hunter/builds/310944623?utm_source=github_status&utm_medium=notification

Uploading:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.2908
https://travis-ci.org/ingenue/hunter/builds/310956330?utm_source=github_status&utm_medium=notification

Released: https://github.com/ruslo/hunter/releases/tag/v0.19.177


Remove unused variables in the spec code

I just want to remove the unused variables in the spec file.
That becomes unused variables by https://github.com/rspec/rspec-core/commit/648b344d8 .
or we might be able to put assertions (should) for the variables like this.
expect(group.example("first", spec_metadata)).to be_truthy
expect(group.example("second", spec_metadata)).to be_truthy

group.example(...) has the side effect of creating an example and updating group's internal tracking of the example. These specs would no longer exercise the code paths we intend them to exercise if we remove these lines as you have in this PR.

@myronmarston sure. thanks for working to remove the lines!


Take advantage of aggregate semantics defined in model.

Define included properties
When you get an entity from the database and you also want to get a "child entity", you need to pass that "child object" as an expression in order to also get it from the database (when not using lazy loading).
public class Parent
{
    public Child Child { get; set;}
}
public class Child
{
}

var dataContext = new DataContext();
var parents = dataContext.Parents.Include(p => p.Child).ToList();

Would it be possible to add an new attribute that will be read by the datacontext and add the include statements automatic?
public class Parent
{
   [Include]
    public Child Child { get; set;}
}
public class Child
{
}

var dataContext = new DataContext();
var parents = dataContext.Parents.ToList();  // Child entity is also read from the database

@kennytordeur this is a very dangerous feature. In a large application someone would "think" they always want to load B & C together with A. However in other parts of the code this creates issues due to the fact that it creates overly complex queries (perf) or loads more than necessary (attach/detach scenarios over the wire/web services) or breaks some logic IE: someone checks if B is not loaded (== null) then loads B and B1+B2 etc (an entire graph) after this change application is broken because B is loaded but not B1+B2.
Also there are alternative solutions to this, like:
A repository pattern:
List<Parent> GetParents(){return datacontext.Parents.Include(p => p.Child);}
Which is also more flexible because it allows you to customize the query with more than just includes.

@kennytordeur Your request maps to some of our thinking around being able to declaratively define the shapes of aggregates in an EF model. While I agree with @popcatalin81 that in many applications it is dangerous to assume that aggregates are fixed and always need to be loaded together, I also believe that many applications can use this behavior After all, loading full aggregates only is the primary behavior you get when you use a document database. Of course if the database is relational, the overhead of loading from multiple tables is higher, but at least in EF7 the queries that we would generate are simpler than in EF6.

cc @rowanmiller in case he knows if we already have something covering aggregates in the backlog (I couldn't find it) and to suggest whether we should have it as a separate item to this.

I thought we had something... but I can't find it... so we should just keep this one open to track it :smile:

Thanks. I moved it to backlog and changed the title to make it more general about aggregates.

Thanks. It would be nice to define fetch strategies for aggregates.

I have worked around this issue using extension methods that include a defined subset of the children I want to load.
public static IQueryable<Adult> IncludeAll (this IQueryable<Adult> query)
{
    return query.Include(f => f.Relationships).ThenInclude(f => f.Child)
        .Include(f => f.CreatedBy)
        .Include(f => f.ModifiedBy);
}

I really, really liked the idea implemented in this package for EF6. Basically it's using expressions to define what is part of the aggregate and what is referencing other aggregates of the model, e.g.:
context.UpdateGraph(order, map => map
    .OwnedCollection(ord => ord.LineItems)
    .AssociatedItem(ord => ord.Customer));

Unfortunately the project is a) abandoned and b) not ported to EF Core. A package inspired by this exists, but it seems to be in an early unstable phase.

From this documentation, it sounds like the [Required] attribute is already being used to indicate a part-whole relationship.  Is that a correct interpretation?  I would find it more intuitive if this attribute were named [Part].  Is it too late to rename or replace it?
Just because an entity's property is an aggregate part of the entity, doesn't mean you always want to include it.  But sometimes you do.  Instead of introducing an entirely new [Include] attribute how about, after appropriately dispersing [Part] attributes throughout your model,  you could query like this:
var parents = dataContext.Parents.IncludeParts().ToList();

This would recursively load parts and parts of parts, etc..
Also consider adding a RequiresFilter property to [Part] like this:
public class PartAttribute : Attribute
{
	public bool RequiresFilter { get; set; }
}

Setting this property to true indicates that a filter must be specified for the property as part of a query with IncludeParts, or else an exception is thrown upon loading.

Note for triage: @bricelam called out that most of what is described in this issue is either implemented already (owned entities, [Owned] attributes) or captured elsewhere:

support for collections of owned entities #8172
support for collections of scalars (using value converters) #4179

I would like to propose that we close this and make sure additional issues exist for other aggregate goodness, for example:

Delete orphans/cascade delete policy can be applied by convention to owned entities (if it isn't the case already).
Smarter logic can be applied to infer the intended state of objects while merging a detached graph into a context: non root objects within the aggregate that are no longer reachable can be marked as deleted, while non root objects that appear for the first time within the aggregate being merged can be marked as added. The same assumptions can't be made with the same confidence across aggregate boundaries.
Concurrency control could be delegated to the aggregate root.

Consider key configuration--see #12078

Note: consider client-only cascade delete for aggregates, which should be fully loaded and hence won't have issues with some entities needing to be deleted in the store. However, also consider that an aggregate cannot have true cycles, and hence the SQL Server limitation might not be as bad. See #12168

See also #13036

See also scenarios in #14113 and #14145

Note for triage: @bricelam called out that most of what is described in this issue is either implemented already (owned entities, [Owned] attributes) or captured elsewhere:

As I see it, the problem with suggesting owned entities in place of automatic Includes is that the limitations of owned entities make value objects in separate tables problematic.
How would you get around having to Include a linked department entity (to get department name) with every query with owned entities to a separate table while still supporting adding / deleting of department entities separately (e.g. needing a DBSet<Department> for a separate ASP.Net Core scaffold).
Also, there is the limitation "Instances of owned entity types cannot be shared by multiple owners" that makes sharing e.g. department among users and conference rooms (?) problematic.

@NetMage Automatic include is tracked by #2953

See #24267, which is about determining whether or not an aggregate has been modified.


Error while packaging app with the Python Plugin

Hi, I ran into an odd issue while attempting to package our unreal application with the plugin. I got a bunch of compile errors while trying to package saying they can't find included header files. It's weird because the project compiles fine in visual studio 2017 and runs completely fine in the editor, only when I attempt to package it does it start to give me errors.
I have attached the output, thank you.
UE4_Packaging_Error_Log.txt
Edit:
Currently I suspect that this is due to the header reorganizations, seems like there are files that still need to have their headers adjusted? Anyways, I'll attempt to do that tomorrow. If it works then I'll submit a pull request. Of course if I'm off the mark on this issue please let me know, thank you.

@Aszutai yep, it is caused by headers reorganization. Just add #if WITH_EDITOR where you get errors. I will fix it next week (unless you manage to make a pull request). Thanks

@rdeioris Hi robb, I actually did fix a few shortly after I posted the issue, but a bunch of other similar errors popped up afterwards. Been busy with other task in the past 2 days so I haven't worked further on it yet. But yea, I'll make a pull if I managed to get enough time to finish it before you get to it :)

Went through the source files and fixed all of the header issues that popped up for me. Although without spending more time on it I can't say for sure that what I did was correct for the Python Plugin as a whole, but I was able to successfully package the app and everything functioned like it should for me.
Please check the pull request and let me know. Thank you :D


Migrate load clip to all clip module

https://github.com/rom1504/all_clip

For anyone reading this: the goal is to let anyone interested in easily loading clip to that module and let clip-retrieval free from the loading consideration

that will also make it possible to split clip-retrieval in multiple packages to increase the potential usefulness of the components #144


Add command flag to "get" for JSON output

Added a --json/-j flag to the get command to print the output in JSON.  I wanted the JSON output to use the response in additional tools.  I may work on a caching method later that will cache the AWS SSO credentials and refresh them when needed.

Love it, thanks for the PR!


useSlider reads one value behind input value

Provide a general summary of the issue here
When testing useSlider in VoiceOver for both Chrome and Safari, it seems to be reading one value behind the actual input value of the slider. Instead of reading the updated value it reads the previous one.

🤔 Expected Behavior?
That the Slider reads the same value as what would be displayed to sighted users.
😯 Current Behavior
The VoiceOver reads previous value for input range instead of updated value. i.e. Instead of saying 21, it reads 20.
💁 Possible Solution
No response
🔦 Context
No response
🖥 Steps to Reproduce
Can test by going to any single sliders on the docs, turning on VoiceOver for Chrome or Safari, and moving the slider. Gets really funky when you start to go forward and backwards too.
https://react-spectrum.adobe.com/react-aria/useSlider.html#single-thumb
Version
react-aria 3.29.1, react-stately 3.27.1
What browsers are you seeing the problem on?
Firefox, Chrome, Safari
If other, please specify.
No response
What operating system are you using?
macOS Sonoma 14.1.1
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

Thanks for reporting. Chiming in from my phone, I can't reproduce on iOS 17.1.2. I or one of my teammates will try desktop soon. Just another data point with iOS.
Does it work any better if you use the VO key? (Ctrl+Opt+arrow) or is that what you were using already?

I've tested the useSlider issue with VoiceOver on my setup and couldn't replicate the problem.
Here's what I used:

MacOS Sonoma 14.1.1
Chrome Version 120.0.6099.71
Safari Version 17.1 (196<IP_ADDRESS>.7)

In these environments, VoiceOver read the slider values correctly. Not sure if it's an environment-specific issue or something else. Could you provide more information or specific steps on how you encountered this issue? It might help in narrowing down the cause.
Safari
https://github.com/adobe/react-spectrum/assets/76232929/633ccfb7-12f3-4ab7-a8ef-d70d1a3a6e56
Chrome
https://github.com/adobe/react-spectrum/assets/76232929/a6a4242d-4b53-448d-ae56-c202846b3653

https://github.com/adobe/react-spectrum/assets/14795226/50defe41-fdef-43a9-bf72-cc069cda952b
I don't do anything special I don't think. I turn on voice over, navigate to the slider, VO down arrow into the slider and start moving it.

Just tried on Chrome 120 MacOS 14.1.2 Intel, and Safari 17.1 MacOS 14.1 M2, and couldn't reproduce the issue.
Using Option+Left/Right to navigate.
https://github.com/adobe/react-spectrum/assets/8961049/0e57b820-67d7-4922-8ec4-535c17011f73
https://github.com/adobe/react-spectrum/assets/8961049/594e24ad-c3dc-4672-bc26-ae2eb4af4d77

Yeah if you hold option it works but what about quick nav arrow keys? As that is also a viable way to navigate

I believe with Quick Nav turned on, you can simultaneously press the left and right arrow keys to enter the slider, then use left and right arrow keys to adjust the slider value, then to exit the slider you can simultaneously press the left and right arrow keys again.

Yes exactly, that's how I use Quick Nav. When having Quick Nav on is when I come across these issues. Did you try it with quick nav on?

I'm able to reproduce on MacOS 13.5.2, Chrome 119 when I shift + control + option + down when I'm on the slider, then use the left and right arrow key to adjust the values.

I have observed the same behavior on the Color Viewer Slider Example | APG | WAI | W3C.
This suggests that the issue may not lie with the useSlider itself, but rather with some aspect of macOS's reading functionality.


[DOC] Link to internal methods and torch functions

Might be a bit brittle because I'm not sure how to do it other than a relative link (maybe using MkDocs Macros Plugin?), but the cross-referencing links are working for the moment at least.

After some googling, I think this is what we want.

I will merge this because it is an improvement over the existing docs. It would be great if we figure out how to use the correct mkdocs plugin and switch to that in a separate PR.


OptionalQuery support

It would be nice to support optional query similar to axum-extra

@samscott89 Hi, do you think the proposed PR can be merged?

@samscott89 Just checking. Is there anything I can do to help push this through?

@samscott89 ?

@samscott89 Any chance you can have a look at this?


⚠ GitLab Server has degraded performance

In 9d477f9, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 14137 ms

Resolved: GitLab Server performance has improved in a2775fa.


use entrySet iterator instead of keySet iterator

use entrySet iterator instead of keySet iterator
conditionRoute must not be null
use entrySet iterator instead of keySet iterator

Sorry, the developing activity is mainly on refactor-with-go branch now.

So we only accept bugfix for develop branch. I am really sorry but I have to close this pull request. Thank you very much for your contribution.


Avoid registering exporters at the init function

... so a context can be passed to the exporter

@kpacha Thanks for opening the issue.
A quick updated from my end: we ended up replacing this package in our KrakenD API GW with our own implementation for the prometheus metrics, as we are currently only interested in the prometheus metrics part of opencensus.
After fixing #28 and #30 still have not been able to get our existing test suite running with this package in place, because of the global state and the init() functions. The problem boils down to us starting and stopping the Krakend based API GW multiple times during our test-suite, which conflicted heavily with the global state introduced by this package (we had panics and nil pointer exceptions). The reason for this are mostly the metrics collectors being registered multiple times.
The above mentioned "context can be passed to the exporter" was less of a problem for us.

hi @breml, I am looking for a grafana dashboard to visualize my prometheus metrics. There is a great dashboard for influxdb here but not able to find on for prometheus.
Just wanted to ask did you use grafana or something else for creating useful dashboards. Thanks.

Hi @suadev, we used Grafana for the visualization of the results. That being said, I have no longer access to these dashboards.

Thank you for you response @breml
It looks like we need to create our grafana dashboards from scratch :/
or maybe @kpacha and @alombarte may know where I can find one?  ( sorry for mention guys )

Hello,
Thank you for opening this issue. KrakenD has traditionally offered its telemetry integration through this OpenCensus component, which has provided reliable service for over six years, but it is now transitioning to the more modern and robust OpenTelemetry framework, including the Prometheus dashboard @suadev .
Due to a change in the industry, the OpenCensus integration is no longer maintained by its creators, and all efforts are focused on OpenTelemetry. KrakenD shifted to OTEL too.
Issues found with OTEL can be opened in the repository krakend-otel
Thank you


feat: Additional runtime support via Serverless Offline invocation endpoint

An alternate approach to #56 for runtimes where sls invoke is very slow (e.g. runtimes requiring docker)

Lambda datasources are invoked using the serverless offline invocation endpoint: e.g. http://localhost:${context.options.lambdaPort}/2015-03-31/functions/${func.name}/invocations
If a custom port is provided for sls offline (either via yml or cli) it will be used (default is 3000).

Thank you @seanvm for your PR.
There is already support for external functions that does something similar:
https://github.com/bboure/serverless-appsync-simulator#external-functions
Have you tried that solution as a workaround? Basically, it works the same I think.
That said, I understand why you did this and I think it's not a bad idea 👍 Making it the default behaviour avoids additional boilerplate and configuration. We would support all runtimes out of the box.
I'd like to see how it performs and if there is any downside or it's breaking change.
Let me know when this is testable and I will surely give it a try in my own projects.

Thank you @seanvm for your PR.
There is already support for external functions that does something similar:
https://github.com/bboure/serverless-appsync-simulator#external-functions
Have you tried that solution as a workaround? Basically, it works the same I think.

I did try the other solution and encountered some issues with it. I use the package: individually: true option with serverless which appears to make the sls invoke command take quit a long time.
I haven't take a deep dive into the expected behavior but it looks like serverless is actually packaging ALL functions when calling sls invoke --function. As a result invoking a single function takes 10+ seconds.
Using the invocation endpoint from serverless offline is much quicker in my scenario.

That said, I understand why you did this and I think it's not a bad idea 👍 Making it the default behaviour avoids additional boilerplate and configuration. We would support all runtimes out of the box.
I'd like to see how it performs and if there is any downside or it's breaking change.
Let me know when this is testable and I will surely give it a try in my own projects.

Here are some stats using Golang with package: individually: true and 1 "hello-world" style function defined in my serverless.yml
1st Invocation:

Using invoke local: ~11s
Using invocation endpoint: ~4s
2nd invocation:
Using invoke local: ~9s
Using invocation endpoint: ~120ms

One thing I am not sure about is whether serverless-offline exposes the port it is running on as part of the context. At first glance I didn't see it as part of the context object.

@seanvm Something just hit my mind.
Can we make sure we don't break PIPELINE resolvers with this?
I don't see why it would, but just in case :)
Thanks!

@bboure sorry I have been very busy, but I finally had a chance to try this out with a pipeline resolver.
My test case was very simple (2 lambda functions) but it seems to be working as expected. I was able to see the results from the first invocation as part of the request to the second function.
I'm not sure if there are other test scenarios you had in mind but it seems to be working well.

@seanvm After testing this, all looks good. Things like env vars and PIPELINE resolvers seem to be working as expected.
I only fond one bug that I commented in the code.
Additionally, it seems like the code on lines 89-96 and 111-119 is pretty much the same. The only difference is really the url and method parameters. Can we "collapse" these 2 blocks of codes into one? with what you just implemented being the default.
Thank you again for the great work!

Sorry I haven't had a chance to look at these comments. Will take a look at refactoring those sections. 👍

Will tackle this this week

@bboure this should be good to go now. I've refactored the sections you mentioned. Seems to be working on my end. It should also be up to date with the master branch as well.

Thank you @seanvm I have been wanting to close this for some time too.
I just had a look and it all looks good. I found a couple of issues though.
I fixed them and also simplified the code a bit.
I also updated the Doc to remove an option that is no longer relevant (loadLocalEnv: local envs are always loaded with serverless-offline).
I'm also considering to version bump a major release here, because of that removed option and because this change is significant enough to deserve a major release, I think (even though the behaviour should not change).
I want to test it for a day or 2 and I'll merge!
Thanks again!
Great work! 🚀

@bboure just had to find my way here as well with my python lambda resolvers. I am very much looking forward to this getting merged.

@ccmattr feel free to clone the repo and test it for a few days to see if it works well for you

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@seanvm Thank you for you contribution!
Would you mind adding some example for running Go lambda in the README?
thanks

@all-the-contributors please add @seanvm for code

@all-contributors please add @seanvm for code


New version: Ollama.Ollama version 0.1.29

Pull request has been created with komac v2.1.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree


No way to detect  button combinations

So it's probably my lack of expertise with async programming speaking here but I could not figure out as to  how to detect any button combinations being made on the controller, any way to do so or to implement some the filters to do the same?

Hi there (:
Unfortunately, XInput-Python does not offer this as a built-in feature, but it's still fairly simple to implement.
I've assembled two examples of how this can be done using the EventHandler class:
import XInput

class CustomHandler(XInput.EventHandler):

    A_AND_B_BUTTONS = XInput.BUTTON_A | XInput.BUTTON_B

    MASK = 0xFFFFFF

    def __init__(self, *controllers):
        super().__init__(*controllers, filter = CustomHandler.A_AND_B_BUTTONS)

        self.buttons_pressed = 0

    def process_button_event(self, event):
        if event.type == XInput.EVENT_BUTTON_PRESSED:
            self.buttons_pressed |= event.button_id
        else:
            self.buttons_pressed &= (CustomHandler.MASK ^ event.button_id)

        if self.buttons_pressed == CustomHandler.A_AND_B_BUTTONS:
            print("CustomHandler detected: A and B have been pressed.")

    def process_stick_event(self, event):
        pass
    def process_trigger_event(self, event):
        pass
    def process_connection_event(self, event):
        pass

class AlternativeCustomHandler(XInput.EventHandler):

    def __init__(self, *controllers):
        super().__init__(*controllers, filter = XInput.BUTTON_A | XInput.BUTTON_B)

        self.buttons_pressed = {"A" : False, "B": False}

    def process_button_event(self, event):
        if event.type == XInput.EVENT_BUTTON_PRESSED:
            self.buttons_pressed[event.button] = True
        else:
            self.buttons_pressed[event.button] = False

        if all(self.buttons_pressed.values()):
            print("AlternativeCustomHandler detected: A and B have been pressed.")

    def process_stick_event(self, event):
        pass
    def process_trigger_event(self, event):
        pass
    def process_connection_event(self, event):
        pass

main_handler = CustomHandler(0, 1, 2, 3)
alt_handler = AlternativeCustomHandler(0, 1, 2, 3)
thread = XInput.GamepadThread(main_handler)
thread.add_event_handler(alt_handler)

Each of the event handlers filter out any buttons, except for the A and B buttons, which in this example are the ones that shall be pressed together.
The event handlers then keep track of the state of both buttons in some way and print a message on the console when both buttons are currently being pressed.
Admittedly, the filter/handler system isn't very great. Maybe I'll come up with a better solution some day.
Cheers,
--Zuzu_Typ--


[FIX] Disable basic Tenor parameter

@Thanasis1101 Followed to the recent package update with the new feature. An error occurred while searching a GIF.
"media_filter": "basic", Tenor URL Parameter limit the returned object and doesn't return mediumgif url.
We have to remove it.

@anthlasserre thanks for noticing !
I saw your PR and eventually came up with a modification. Consulting the number 6 of the Best Practices from the Tenor API documentation, I reshaped the code so that we use media_filter optimally, according to what previewGifQuality and selectedGifQuality is being used.

Quoting the Tenor API suggestions I consulted:

Use the media_filter parameter to reduce the number of GIF formats returned. This can reduce the response object size by 25-75%.

NAME
TYPE
DEFAULT VALUE
DESCRIPTION

media_filterSTRONGLY RECOMMENDED
string
n/a
(values: basic | minimal) Reduce the Number of GIF formats returned in the GIF_OBJECT list.minimal - tinygif, gif, and mp4.basic - nanomp4, tinygif, tinymp4, gif, mp4, and nanogif

My logic is that if, say that medium is selected for both preview and selected gif, this corresponds to tinygif which will be returned if we set media_filter: "minimal" and will minimize the response object size. Same logic was followed for all possible quality values and I ended up with the final code, which you can check out in this diff.
Updated code was published as v.1.3.2 !

@Thanasis1101 Hey mate. I just check your updates. That's perfect. Thank you so much for your quick publish.
Keep in touch for next feature: adapt quality on device connection.


Add a random number templating function

issue #23

Coverage decreased (-0.2%) to 32.411% when pulling 7fb603c3ae5c98b6c0544bb78cae7160b25062d9 on justwatchcom:feature/random_number_func into 0ae72da4357bd7627eda99602d0139faaf437d06 on snowplow:master.

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://github.com/snowplow/snowplow/wiki/CLA to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.

CLA not signed yet, pushing back


perf test script fixes

Add "WScript.Echo" definitions to all SunSpider js files to support
non-Chakra hosts.
perftest.pl:

Fix dir name cases.
Change to "-?" in test_switch ("/?" not supported on xplat).
Add "-testfile:" switch to save perf test result to a file as well,
by default to "perftest???.txt". This is useful if we want to use the
test numbers as baseline for subsequent perf runs.
Add "-skipCheckSwitch" to support non-Chakra hosts. It is not meaningful
to test for Chakra switches, and in addition may run into trouble (host
may start command loop instead of exit).

:shipit:

Thanks @obastemur !


Missile freezes when "fire" key is pressed

Still need to debug which keys do left and right movement.  I think the 8/9 key is fire

fixed by id: e93e6dda42dfe62d9b8b1a40842806b3751e9d4c


Feature/v4

Add feature tests
require php 7.4
update packages
add phpstan with baseline

Coverage remained the same at 100.0% when pulling 9e44f31b5f3d66cd43ce48560ba1a9cb35c84f57 on feature/v4 into 562acc229df2442098270817e7ac584471c70e48 on master.


All original configs must be passed to MetricReporters

You may want to target this fix to 6.0.x branch.


Improved Docs

Sorry, but, what a nonsense pull request. Duplicate contents.

Context: https://blog.domenic.me/hacktoberfest/ @tunggnu

@spekulatius WOW!

This is a duplicate. The same talk is in position 17.


fix(aws): use correct signing region

See https://github.com/aquasecurity/trivy/issues/4883

@simar7 Test_FileScanExampleWithResultFunction test fail only on Windwos. Is the test fluky?

@simar7 Test_FileScanExampleWithResultFunction test fail only on Windwos. Is the test fluky?

Hmm not sure.
I can try to spin one up as well to see what's going on.

@simar7 I have a windows pc, I'll try

@simar7 The same test fell in another PR

@simar7 I'm waiting for this PR to be merged

@simar7 I'm waiting for this PR to be merged

Merged

@simar7 Can you restart tests?

@simar7 You enabled auto-merge, but you didn't approve it. Is it a mistake or intended?

@simar7 You enabled auto-merge, but you didn't approve it. Is it a mistake or intended? I'd include this fix in v0.44.1.

Not entirely sure what happened there. I had approved the changes but my approval seems to be missing from GitHub. I've reapproved again. Once it goes through, I will cut a new defsec patch release.


Node 20

Node16 has been deprecated an it's not recommended for usage any more.
Announcement: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

I think this is the culprit! https://github.com/cinotify/github-action/blob/54636e4cba2c7409a15a7061dcfb9af9eae18672/action.yml#L20 will see if I can publish a fix soon


[Bug]: Image not shown at full resolution

Describe the problem

I link this widget to a map which contains small text
I want to see the map in full resolution when I tap on it
Single photos can only View photo in full screen when tapped
However, the map loads with blurred text even though I enabled View original photo, i.e. it was resized smaller
Possible to show the map at original resolution?
If not, make View in gallery also available to single photos?
Or Open with..., like Shortcut Image https://shortcut-image.en.softonic.com/android

Device model
Samsung A50
Android version
Android 10
App version
1.18.1
Additional information
No response

Hi @bilogic, thanks for opening this issue!
When an image is added to a widget, it’s automatically resized to a maximum of 3840x3840 during import. As you correctly guessed, the View original photo option displays this resized version, not the true original. In this context, "original" refers to the image without additional modifications like rotation or cropping.
Originally, this resizing was intended to minimize device storage usage. However, over time, the maximum dimensions were increased to accommodate cases like yours. At this point, the benefit of reduced storage usage is marginal, as we now accept images up to 4K resolution.
Let me explore the best way to address this. I’m considering removing the resizing limit entirely, allowing the widget to retain the original dimensions. If implemented, the View original photo feature would then work as you’re expecting.

Hi @bilogic, photos will no longer be resized from the next app version onwards. This means that using View in full screen with View original photo enabled should work as you're expecting. Please note that you will have to recreate a widget to import photos with their original size instead.
Thanks for the suggestion, I'll leave the issue open until a version containing the change is released.

Wow thanks! Is there a beta that I can download and test out?

I noticed you use the word "import" on your latest commit comments.
Are the selected photos copied somewhere else to be used by the widget, or is it always loaded from the source?

I noticed you use the word "import" on your latest commit comments.
Are the selected photos copied somewhere else to be used by the widget, or is it always loaded from the source?

@bilogic when choosing photos, they are copied over to the internal app storage. This way, widgets won't break if the original photo is deleted. When choosing folders, the reference to the folder is saved instead and photos are loaded from the source, except if you crop and/or rotate, in which case the modified version of the photo is saved to the internal app storage.
As for a beta, there's no option for that currently.

Hi @bilogic, a new setting to control the image quality is included in version 1.19.0, released today. Thanks for your suggestion!

thanks, i don't see it in Play store yet


Code to replace with streaming bot

Goal
Show which code to replace with the streaming version of the bot.
Approach

DirectMessageReader calls TWITTER_CLIENT.direct_messages_received, which the streamer will replace and so should be deleted.
NotifyBot calls DirectMessageReader and so should be deleted.
The :read_and_notify task calls NotifyBot and so should be deleted.
Delete corresponding specs.

Pull Request Test Coverage Report for Build 692208400

0 of 0   changed or added relevant lines in 0 files are covered.
8 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-8.7%) to 87.879%

Files with Coverage Reduction
New Missed Lines
%

app/models/read_direct_message.rb
2
0%

app/services/notify_bot.rb
6
0%

Totals

Change from base Build 692207026:
-8.7%

Covered Lines:
87

Relevant Lines:
99

💛  - Coveralls

Focus moved to outreach so this feature was no longer needed.


Vertically scaling glyphs should not increase their width

Description
Hi -
The lr() function vertically scales glyphs like |,angle.l,angle.r, {, } if the content is higher than normal (say, lowercase alphabets). However, when these glyphs are scaled vertically, their width also increase, creating an inconsistent look with normal glyphs.
Especially the | glyph.
$
{x} { sum_(i=1)^oo integral x_i upright(d)t } \
|x| lr(|sum_(i=1)^oo integral x_i upright(d)t|)
$

LaTeX:
$$ |x| \left|\sum_{i=1}^\infty \int x_i \mathrm{d}t\right| $$

Reproduction URL
Also mentioned in https://github.com/Leedehai/typst-physics/issues/16.
Operating system
macOS
Typst version

[X] I am using the latest version of Typst

This is a font issue and not a typst issue. You could try for instance Stix Two Math.

Does this mean it'd be better for Typst to use LaTeX's font by default? It appears LaTeX's font was designed for a reason.
There's also another issue where the space between the vertical bar and the adjacent characters is too tight.

For collaborators: does this mean it'd be better for Typst to use LaTeX's font by default? It appears LaTeX's font was designed for a reason, and a new font--however similar it is--has rough edges here and there, as demonstrated here.
There's also another issue (mentioned by Leedehai/typst-physics#16) where the space between the vertical bar and the adjacent characters is too tight. It's probably caused by the font too.

Typst already uses the closest possible thing, New Computer Modern Math, which is based on latin modern, which in turn is an opentype remake of computer modern math.
Though an older version, so maybe you'd be happier if you updated to the most recent version (you can find it on CTAN)


use tryReboot() wrapper for all reboots

reboots sometimes lead to errors being thrown due to the usb device gone missing. the tryReoot() wrapper got introduced for that case but was not used everywhere.
with this PR the flashFactoryZip() method uses this wrapper for all of its reboots

I'm not sure this is correct. We use tryReboot after flashing the bootloader and radio packs because some devices reboot by themselves after flashing special firmware image packs. That shouldn't be happening for regular images like those flashed before the other reboot calls.


[AutoPR cognitiveservices/data-plane/SpeechServices] api spec for speech

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5445

(message created by the CI based on PR content)

Codecov Report

Merging #4649 into restapi_auto_cognitiveservices/data-plane/SpeechServices will decrease coverage by 3.94%.
The diff coverage is n/a.

@@                                     Coverage Diff                                      @@
##           restapi_auto_cognitiveservices/data-plane/SpeechServices    #4649      +/-   ##
============================================================================================
- Coverage                                                     53.45%   49.51%   -3.95%
============================================================================================
  Files                                                         10573     6330    -4243
  Lines                                                        221253   177194   -44059
============================================================================================
- Hits                                                         118268    87731   -30537
+ Misses                                                       102985    89463   -13522

Impacted Files
Coverage Δ

...afactory/azure/mgmt/datafactory/models/__init__.py
50.67% <0%> (-49.33%)
:arrow_down:

...ights/azure/applicationinsights/models/__init__.py
51% <0%> (-49%)
:arrow_down:

...e/cognitiveservices/vision/face/models/__init__.py
51.11% <0%> (-48.89%)
:arrow_down:

...services/language/textanalytics/models/__init__.py
51.16% <0%> (-48.84%)
:arrow_down:

...iveservices/search/entitysearch/models/__init__.py
51.25% <0%> (-48.75%)
:arrow_down:

azure-eventgrid/azure/eventgrid/models/__init__.py
51.25% <0%> (-48.75%)
:arrow_down:

...ration/azure/mgmt/datamigration/models/__init__.py
51.27% <0%> (-48.73%)
:arrow_down:

...ure/mgmt/recoveryservicesbackup/models/__init__.py
51.46% <0%> (-48.54%)
:arrow_down:

...ce/azure/mgmt/containerinstance/models/__init__.py
51.8% <0%> (-48.2%)
:arrow_down:

...tiveservices/search/videosearch/models/__init__.py
52.08% <0%> (-47.92%)
:arrow_down:

... and 4327 more

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 a5f9f13...cde8d56. Read the comment docs.


Pipeline on Windows

Can someone please explain why the pipeline mode is disabled on non-POSIX platforms? Enabling it doesn't give me any errors and at least seems to provide a correct output. I can't rigorously check the output for correctness at the moment, but even if I'm wrong, I think it's worthwhile to add some documentation since disabling pipeline makes mystem work on multiple inputs slower by ~3 orders of magnitude.

No specific reason for this. You are welcome to propose a pull request where it is enabled!


My Expressions Library: Reuse expressions across multiple graphs.

This plugin allows you to save the hashes of graphs into an "expressions library." You can then import expressions, folders, or entire graphs into other graphs.

Not sure what's breaking the integration tests. That's weird.

Okay, looks like it isn't a fluke.

Disabling-then-enabling the plugin causes errors The key: "dsm-library-menu" is not unique. Forgot to remove the menu  when disabling the plugin.

Remark. This is part of the class of errors that would not happen if plugin menus was a facet (I have a wip about getting codemirror-style facets working).

DesModder metadata should be merged into the outer graph's metadata.
Can't Ctrl+Z in the "Graph Hashes" textarea
I like how you can insert specific expressions from a graph!
Each graph should be collapsible in that menu, to make scrolling faster.
Love love love how you insert dependency expressions.
Going to need a custom icon. The IcoMoon Free "library" icon looks good

Instead of storing hashes, it should store the full graph link, to tell apart /3d and /calculator and /geometry.

Also, what's up with the integration tests? In theory nothing I added should have broken them, and yet they're broken.

Added indentation to multiline settings since there's so many dependent options. This should work for other plugin settings too.

Plans for what to do next:

Do a complete overhaul of the CSS (it's a bit ugly right now)
Make each graph (and folder too probably) into its own collapsible section. Keep this info in localStorage.
Store full graph links to allow imports from other calculators (and potentially locally-hosted content as well to allow for 3d model loading, SVG loading, et cetera.).
Fix undo in graph hashes textarea.
Allow adding library graphs in the library graphs list instead of just in the settings menu
Find out some way of making the graph library list nice to edit in the settings menu given the limited space.
Remove the menu when the plugin is disabled.

Big UI styling rework.

More TODOs:

[ ] Make "add/remove graph" options have instant feedback instead of waiting for everything to reload.
[ ] Lazy-load graphs for MyExprLib because right now there's a huge start-up lag, especially if you have to load big graphs into the library. Maybe even force it to cache the graphs since they're immutable anyway.
[ ] Have a loading screen for when MyExprLib hasn't loaded.
[ ] Make textarea in normal settings menu expandable, possibly a modal since there's no way it's fitting nicely into the settings menu.

Notes on lazy-loading:

Use the Cache API to cache graph state for MyExprLib. This might pose a problem though because we really have no idea how much space the cache is using compared to all the other forms of local storage. Really it seems impossible to figure this out without having to manually iterate over everything, which could potentially get slow. Maybe we check the space used every time we add a new cache entry? I could do this in a separate thread for speed or spread out the computation over time using the event loop. I propose a default limit of maybe like 10, 20 megabytes. That should be more than enough for most users and I can have that as a setting that can be adjusted.
Store graph metadata (mainly just the graph name) locally all all times. That way it can appear in the MyExprLib menu. Only actually try to fetch the graph when it's expanded.

This could probably move to "Core" since it adds a pillbox button (we may want to do the same for Performance display). But we should wait for a few weeks after first releasing this plugin since "Core" implies a level of polish that will require some real-world testing.
Using placeholders to describe the purpose of an input field is bad practice. These should be Search: <input/> and Insert graph: <input placeholder="https://www.desmos.com/calculator/qeyvrz2qvy"/>.

The placeholder should be the current graph link, since you (smartly!! this is a nice decision) decided to have the current graph inserted if the  is empty. Actually nvm it seems you didn't decide this and the graph link is stored as "" empty string. It was a great accidental behavior though: If there's no graph link in the input field, then add the current graph (What to do if there's unsaved changes? Show a toast? Disable the "add graph" button? Autosave?).
Bug: if the same graph is inserted twice, the toast "Added graph with link...." still pops up, even though there's no change to the library.
When I first open the menu (with no graphs), the "Search" field looks like it's intended to search through my account saved graphs, rather than the my-expressions-library list of graphs. It should be moved to below the "Add graphs" button (and above the list of graphs) since it refers to searching through the my-expressions-library graphs list of graphs.
The "Search" field should search for not just latex but also graph titles and folder titles. E.g. https://www.desmos.com/calculator/qeyvrz2qvy should show up when searching for "Complex".
This is a complaint I have with Desmos's native search as well: If you search for "sq", that turns up the one expression that defines the s_q(z) function. But if you want a different function in that graph, you have to guess what the name of that graph or function is. Proposal:

Clicking on the expression itself should jump to the folder/graph that it's contained inside.
Use dcg-icon-replace as the button you have to press to insert the expression/graph

When the user saves a graph whose parentHash is in the my-expressions-library list of graphs, then we might want to update the corresponding my-expressions-library graph. (An alternative flow which currently works would be to delete the current version of the graph and add the new one). Then the library list of graphs behaves more like the user saved graphs list in the left sidebar. This update should either be manual (provide an offer "Do you want to update the my-expression-library graph?") or automatic-with-undo (do it, then provide a toast to Undo the change).
Is there any way to get a graph by link from the list of graphs? Perhaps a button to "open in new tab" the graph link. So then someone could share the same graph link to someone else without digging through the user Saved Graphs.
I get a horizontal overflow when hovering over a folder name:

Closed in favor of https://github.com/DesModder/DesModder/pull/906, which builds on all these changes.


Review all error handling in Ark CLI

As we lead up to 1.0, I think it would be helpful to do a comprehensive review of all error handling in the Ark CLIs to ensure we have friendly error messages and associated troubleshooting documentation.
Spun out of #492 and other error related issues.

[ ] https://github.com/heptio/ark/issues/492

Not sure if we should lump this together or not, but we should also review our server log messages & levels. It would be nice for info-level server logging to have a consistent level of information across all controllers.


swift build --build-tests doesn't allow disabling tests with --skip or --filter

Description
This is particularly useful when cross-compiling the test runner for a package, as I do for Android:
swift build --build-tests --enable-test-discovery --destination ~/swift-android-sdk/android-aarch64.json

The idea here is to be able to cross-compile the test runner and skip some tests: an alternative would be to add a --skip-run flag to swift test, so it builds but won't run the tests.
Expected behavior
Be able to skip or filter certain tests when cross-compiling the tests
Actual behavior
> ~/swift-DEVELOPMENT-SNAPSHOT-2022-09-24-a-ubuntu20.04/usr/bin/swift build --build-tests --enable-test-discovery --filter Contended
error: Unknown option '--filter'

Steps to reproduce

~/swift-DEVELOPMENT-SNAPSHOT-2022-09-24-a-ubuntu20.04/usr/bin/swift build --build-tests --enable-test-discovery --filter Contended

Swift Package Manager version/commit hash
5.7 and 5.8
Swift & OS version (output of swift --version && uname -a)
Never worked in Swift on Ubuntu 20.04 x86_64

Looking into this further, I notice that the way those two flags are implemented now is to change the list of test names given to the test runner to execute at runtime, whereas what I'd like is either to disable the test runner from even having the option of running those tests or not compiling those tests altogether, ie changing how the test runner is built instead of how it is run.

Don't think that's doable since filtering can work on an individual test method which would require generating a new subset source file. Allowing to filter on the basis of a test target (in the package manifest sense) at build time seems appropriate, though.

Sorry for the late reply! Disabling a test is a runtime feature, not a compile-time feature. It would not make sense to pass --filter or --skip to swift build because they don't impact code generation.

@grynspan, I think you misunderstand this issue: I'm asking for precisely the ability to disable tests at compile-time.
There are at least two reasons you might want such a feature. One is that the source itself is broken in some way and you'd like a quick way to not build it for now, without having to comment out or delete the test entirely. That is not my problem, and @neonichu noted that would be hard with XCTest, though maybe not with swift-testing.
The issue I'm concerned with is that after cross-compiling the test runner binary, the current XCTest approach only has two options when running that test binary on the cross-compilation target: it either runs all tests when invoked or you have to give it a list of the specific tests you want to run.
The way the XCTest test runner binary works now even natively with --skip and --filter is that it creates a list of tests to run and passes it to the .xctest test runner:
> swift test --filter UsageGenerationTests --vv
-- snip unrelated output --
Build complete! (1.73s)
debug: /data/data/com.termux/files/home/swift-argument-parser/.build/aarch64-unknown-linux-android24/debug/swift-argument-parserPackageTests.xctest --dump-tests-json
debug: registering '/data/data/com.termux/files/home/swift-argument-parser/.build/aarch64-unknown-linux-android24/debug/swift-argument-parserPackageTests.xctest ArgumentParserUnitTests.UsageGenerationTests/testFlagSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testNameSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testNonwrappedValues,ArgumentParserUnitTests.UsageGenerationTests/testPositionalSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithCustomization,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithDefaultValueAndTransform,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithDefaults,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithHidden,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithMultipleCustomNames,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithOptional,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithPostTerminatorParsingStrategy,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithRepeats,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithSingleDashLongNameFirst,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithTooManyOptions,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithTransform' with terminator
debug: /data/data/com.termux/files/home/swift-argument-parser/.build/aarch64-unknown-linux-android24/debug/swift-argument-parserPackageTests.xctest ArgumentParserUnitTests.UsageGenerationTests/testFlagSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testNameSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testNonwrappedValues,ArgumentParserUnitTests.UsageGenerationTests/testPositionalSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testSynopsis,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithCustomization,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithDefaultValueAndTransform,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithDefaults,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithHidden,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithMultipleCustomNames,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithOptional,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithPostTerminatorParsingStrategy,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithRepeats,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithSingleDashLongNameFirst,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithTooManyOptions,ArgumentParserUnitTests.UsageGenerationTests/testSynopsisWithTransform
Test Suite 'Selected tests' started at 2024-07-24 20:07:56.157
Test Suite 'UsageGenerationTests' started at 2024-07-24 20:07:56.164
Test Case 'UsageGenerationTests.testFlagSynopsis' started at 2024-07-24 20:07:56.164
Test Case 'UsageGenerationTests.testFlagSynopsis' passed (0.004 seconds)

That may be fine for native compilation and test runs, but for cross-compilation, it would be better if tests could be selected at compile-time to not be run.
As for whether it "would not make sense to pass --filter or --skip" for this, that is merely my suggested interface for this feature.
The real question is whether the feature of skipping tests at compile-time through command-line flags will be implemented, the particular flag names chosen is irrelevant.
If you're unsure about implementing that underlying feature, better to reopen this, as I think it is a worthwhile feature, given the limitations of the current test runner.

If you have a test that doesn't work on some platform, the canonical way to disable it at compile time is with #if:
#if !os(Android)
func testThatDoesNotWorkOnAndroid() { ... }
#endif

It is also possible to set up compiler conditionals for this purpose:
// In Package.swift:
.define("RUN_FANCY_TESTS", .when(platforms: [.android])),

// In test files:
#if RUN_FANCY_TESTS
final class FancyTests: XCTestCase {
  ...
}
#endif

If the test compiles but fails at runtime, you can also use the XCTSkip API family to skip the test.

If you have a test that doesn't work on some platform, the canonical way to disable it at compile time is with #if:

Yes, I'm aware of all that. The advantage of the --skip and --filter flags is to be able to do that quickly on the command-line. That currently only works for native test runs though, hence asking for this feature to help with cross-compilation test runs.

What precisely do you envision these flags doing at compile time? Presumably you intend for them to affect exactly what part of a test target is compiled, effectively commenting out any test functions that are not included?

In that scenario, the code will still need to compile, but it would affect the output of swift test list (and --dump-tests-json.) Note that on Apple platforms, XCTest behaves differently and there is no pregenerated list of tests, so this feature would not work there.
Why is it not sufficient to write e.g.:
#if os(Android)
throw XCTSkip("Not supported on Android.")
#endif

Or something similar? What is the immediate benefit of introducing a new feature here if a developer can already effectively accomplish the same task in several different ways?

In that scenario, the code will still need to compile, but it would affect the output of swift test list (and --dump-tests-json.)

Yes, I'm just trying to change the list of tests run, however it's implemented.

Note that on Apple platforms, XCTest behaves differently and there is no pregenerated list of tests, so this feature would not work there.

OK, I don't use Apple platforms, but given how most Swift code is cross-compiled, this might be useful there too, even if it would need to be implemented differently.

What is the immediate benefit of introducing a new feature here if a developer can already effectively accomplish the same task in several different ways?

Why have --skip/--filter CLI flags at all then? I completely agree that it is possible to do this much more laboriously now: the advantage of this new feature would be to quickly and easily change the subset of tests run on the fly by using the CLI.

OK, I don't use Apple platforms, but given how most Swift code is cross-compiled, this might be useful there too, even if it would need to be implemented differently.

I would wager a significant percentage of Swift developers do use Apple platforms. 😁 Generally speaking, developers expect that any changes to swift-corelibs-xctest functionality are going to be compatible with Apple's XCTest implementation. This sort of change would not be straightforward to implement in Apple's XCTest, so please keep that in mind.

Why have --skip/--filter CLI flags at all then?

I'm not questioning the utility of filtering tests at runtime. I'm questing the utility of filtering them at compile time in another way. Adding --skip/--filter to swift build means that, if you call swift build with different options, you'd end up rebuilding the test target each time. This is expensive compared to building the tests, then just running them with different configurations as needed.

Generally speaking, developers expect that any changes to swift-corelibs-xctest functionality are going to be compatible with Apple's XCTest implementation. This sort of change would not be straightforward to implement in Apple's XCTest, so please keep that in mind.

OK, is this feature available now when running Swift packages' tests on the iOS simulator, ie being able to change the subset of tests run from the CLI? If not, don't you think it would be useful?

I'm questing the utility of filtering them at compile time in another way. Adding --skip/--filter to swift build means that, if you call swift build with different options, you'd end up rebuilding the test target each time. This is expensive compared to building the tests, then just running them with different configurations as needed.

These are implementation details that can likely be avoided.
Note the goal of this feature is still the same as the current --skip/--filter flags: change the list of tests that are run, but because these tests are cross-compiled, it has to be done differently. Another way to implement this feature would be to give the final .xctest test runner binary a richer command-line interface, eg being able to pass it --skip/--filter flags, rather than only a full list of tests now.

Ping @grynspan, this should be reopened, as you yourself admit these flags are useful when natively compiling and cross-compilation is the dominant use of Swift, where they don't work. Whether implementation will be easy is irrelevant, someone else from the community may always implement this if Apple doesn't have the resources.

Another way to implement this feature would be to give the final .xctest test runner binary a richer command-line interface, eg being able to pass it --skip/--filter flags, rather than only a full list of tests now.

This is a significantly different problem/solution than we were originally discussing here, and one that is more feasible to implement.
The good news is that Swift Testing already supports this functionality. On non-Darwin platforms, directly executing the .xctest executable and passing --testing-library swift-testing will call the Swift Testing library's entry point function which performs its own argument parsing and can interpret --skip, --filter, and various other arguments. This is, in fact, what swift test does. (On Darwin platforms, a helper executable is now included with Swift Package Manager that loads the .xctest bundle and then triggers the same entry point function.)
The less good news is that for similar functionality to be implemented in swift-corelibs-xctest, we need to also implement it in the XCTest framework included in Xcode. Xcode is Apple's proprietary software and not part of the Swift open source project, while swift-corelibs-xctest is an open-source reimplementation of XCTest that seeks to provide a subset of the functionality available from XCTest.
If this solution would meet your needs, we can transfer this issue to Swift Testing (once the repo moves to swiftlang in a few days) and reopen it. I'd also ask that you file feedback with Apple asking for the same feature in XCTest and share the FB number here.

This is a significantly different problem/solution than we were originally discussing here

It isn't, the original description always stated the problem to be solved: "The idea here is to be able to cross-compile the test runner and skip some tests." The rest was just discussing how that might be implemented.

The good news is that Swift Testing already supports this functionality. On non-Darwin platforms, directly executing the .xctest executable and passing --testing-library swift-testing will call the Swift Testing library's entry point function which performs its own argument parsing and can interpret --skip, --filter, and various other arguments.

Great, I did not know that was an option: it will probably suffice for this issue.

The less good news is that for similar functionality to be implemented in swift-corelibs-xctest

I'm just invoking SwiftPM, which library is used underneath isn't important to me.
I have not been following the transition to swift-testing, I will start doing so now that you say it has a feature like this.

If this solution would meet your needs, we can transfer this issue to Swift Testing (once the repo moves to swiftlang in a few days) and reopen it. I'd also ask that you file feedback with Apple asking for the same feature in XCTest and share the FB number here.

That's okay, I'm just interested in using this feature in SwiftPM. I will try it out and report back, this issue can be kept closed in the interim.
As for XCTest having this feature too, that doesn't really matter to me. What matters to me is that some combination of flags passed to SwiftPM in my CI, then to the cross-compiled test binary, allows me to quickly enable and disable what tests are run without having to patch the source. Precisely which testing library executes this underneath is irrelevant to me. 😄

Alright, looked into this by creating a test project with one XCTest test and one using the new Testing library. It looks like SwiftPM executes the resulting test runner .xctest executable twice: once to run XCTest tests using that library and again a second time with --testing-library swift-testing to run those tests.
When using --skip/--filter, the XCTest tests all have to be listed out for the runner, while the Testing tests use the new --skip/--filter flags in the test runner that you mention.
Since those new runner flags can only be used for Testing tests, they are not useful for the vast majority of packages that only use XCTest.

for similar functionality to be implemented in swift-corelibs-xctest, we need to also implement it in the XCTest framework included in Xcode.

Why? There are certainly differences already between the way SwiftPM operates on macOS versus other platforms.

we can transfer this issue to Swift Testing (once the repo moves to swiftlang in a few days) and reopen it.

I don't see why, you've pointed out that this feature already exists for Testing tests.

I'd also ask that you file feedback with Apple asking for the same feature in XCTest and share the FB number here.

Not my concern, as I don't use Apple platforms.
@grynspan, I take your point that this has been implemented in swift-testing, but that is no help to me since the vast majority of Swift tests are XCTest tests. Please reopen, and I will specify in the OP that this has been implemented in swift-testing but not XCTest.
Obviously this is a useful feature, or swift-testing would not have implemented it. There are probably at least 3-4 ways it could be implemented for XCTest driven by SwiftPM also, this issue is asking for that and discussing ways it could be done.
Apple's internal rules and requirements shouldn't matter for discussion and implementation of this feature. If Apple doesn't want this for XCTest, it could be implemented by others outside Apple and only available on non-Darwin platforms with XCTest, just as there are already Apple-specific features in SwiftPM.

Ping @grynspan, this should be reopened: it's great that swift-testing supports this, but XCTest and thus most Swift packages do not. I will update the OP to point out this is currently only needed for XCTest once it's reopened.

Ping @neonichu, please reopen: the rationale for closing this makes no sense, and he has stopped responding.

As explained in the readme for swift-corelibs-xctest:

This version of XCTest implements the majority of unit testing APIs included in XCTest from Xcode 7 and later. Its goal is to enable your project's tests to run on all the platforms Swift supports without having to rewrite them.

In other words, features not present in XCTest.framework (part of Xcode) are not generally considered candidates for inclusion in swift-corelibs-xctest. As I wrote previously, the next step here is to file a feature request with Apple. If you are unable to do so, I can file one for you.
Separately, swift-corelibs-xctest has been migrated to the swiftlang organization on GitHub, so we can transfer this issue now. I'll do that momentarily, so don't be surprised if you see this issue disappear from swift-package-manager.


Update readme + example

Version vigilante is lying -- no version bump is required here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

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

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
967

Relevant Lines:
1054

💛  - Coveralls