fix: Exclude generation of Javadoc for openapi classes

Codecov Report

Merging #78 (d854244) into main (44b5002) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #78   +/-   ##
=========================================
  Coverage     88.16%   88.16%
  Complexity      371      371
=========================================
  Files            52       52
  Lines          1124     1124
  Branches         73       73
=========================================
  Hits            991      991
  Misses          119      119
  Partials         14       14

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 44b5002...d854244. Read the comment docs.


Avoid accessing @logger before definition

Fixes the message warning: instance variable @logger not initialized that shows up when the tests are run.

Coverage decreased (-0.01%) to 94.8% when pulling a04f7a5f022247ea8af98a3b78e1db897c93bee2 on mvz:fix-ivar-warning into ea7710d10b9fe57fc0f1b0d6f3c220a6ea959873 on enkessler:master.

Coverage decreased (-0.01%) to 94.8% when pulling a04f7a5f022247ea8af98a3b78e1db897c93bee2 on mvz:fix-ivar-warning into ea7710d10b9fe57fc0f1b0d6f3c220a6ea959873 on enkessler:master.

Coverage decreased (-0.01%) to 94.8% when pulling a04f7a5f022247ea8af98a3b78e1db897c93bee2 on mvz:fix-ivar-warning into ea7710d10b9fe57fc0f1b0d6f3c220a6ea959873 on enkessler:master.

This should already be fixed by #116

Indeed it is. I hadn't noticed the dev branch. Sorry for the noise.

Not your fault. I haven't pointed that branch out to people yet.


MedicationStatement resource

Hi!
I'm in a bit of a confusion regarding the support for MedicationStatement FHIR resources in Synthea. According to the HL7 FHIR wiki page, MedicationStatement is supported with the R4 and US Core option. However, I found this commit from late 2019, where MedicationStatement was apparently removed. Does this mean that the above wiki page is not up-to-date and in fact MedicationStatement is currently not supported at all?
If so, can I ask why that change was made? Additionally, is there a way we can nevertheless generate MedicationStatement resources with Synthea or is that not an option at all?

US Core does not use MedicationStatement
MedicationStatement is not in the current version of US Core. See https://www.hl7.org/fhir/us/core/medication-list-guidance.html
Here is a screenshot from the US Core specification (the above link I provided):

How Synthea represent medications
US Core uses Medication and MedicationRequest.
Synthea uses Medication, MedicationRequest, and MedicationAdministration. We removed MedicationStatement when it was dropped from US Core because it was redundant. It did not contain any information that wasn't already in the other resources. We kept the administration resource because clinicians who peer-reviewed the work said it was important.
There are 145 resources in FHIR R4. Approximately 16 resources are related to Medications. Do we need to support all of them? Will any system?
Options
If users are limited by the lack of MedicationDispense or MedicationStatement then Synthea data can be post-processed (e.g., an ETL process) in order to create matching dispense resources and statement resources for every request and administration that gets generated.
Synthea doesn't do that out of the box, because frankly it is noise.
An alternative is to edit the FHIR R4 exporter and add code so those resources get generated at runtime. If there are enough users who really really want MedicationStatement we'll accept that pull request, or add it in ourselves (eventually).

Also, I apologize for the wiki being out of date. There are a few pages and we often forget to update details here and there. Thank you for pointing that out. It is now corrected.


Add variant option color on product page in demo store

WHY are these changes introduced?
This adds the usual functionality common to e-commerce
WHAT is this pull request doing?
This implementation allows the user to see the colour of the product variants and select the product of the desired colour

Clicking on a coloured square will take you to the page of the selected product variant.
The selected colour variant is highlighted with a frame
Unavailable colour variant is crossed out with a diagonal line.

HOW to test your changes?

Go to a page of product that has several colour variants
Here you will see squares with the colours of the product variants.
Click on a colour you want to go to the page of the selected product variant.
Chek selected and unavailabled pvoduct variants
Check with browser dark theme

Checklist

[x] I've read the Contributing Guidelines
[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've added a changeset if this PR contains user-facing or noteworthy changes
[ ] I've added tests to cover my changes
[ ] I've added or updated the documentation

I've signed the CLA!

I've signed the CLA!


README doesn't mention that a running ollama server is required

It seems I'm not the only one that looked at the README and assumed that the library is taking care of running the backend, resulting in a "Connection Refused" error when I try the example code in the README.  If I understand well, I need to first run the ollama server.  This should perhaps be made clear in the README.

this must be very frustrating for most of the users starting

How can I run de Ollama Server? I'm encounter this error in my django App:
[WinError 10061] No se puede establecer una conexión ya que el equipo de destino denegó expresamente dicha conexión

You need to have a local ollama server running to be able to continue. To do this:

Download: https://ollama.com/
Run an LLM: https://ollama.com/library

Example: ollama run llama2
Example: ollama run llama2:70b

There is a PR to add this to the docs (mentioned above).

I had to update the Readme when working on iterative chats (chats with history), so I ended up migrating in these changes into the PR here: https://github.com/ollama/ollama-python/pull/64

Revisiting issues - think that following covers the part about running the model.

The Ollama Python library provides the easiest way to integrate Python 3.8+ projects with Ollama.


76,5% Accuracy on LFW

Hello,
I have low accuracy on LFW using this FaceNet implementation. I'm using "All images as gzipped tar file" - the first offered dataset from list of downloadable datasets on http://vis-www.cs.umass.edu/lfw/
Photo attached:

Am I doing something wrong? Which dataset should I use to check accuracy and get 0.919+-0.008?
It would be great if you could help we with that issue.
Thank you.

training dataset and testing dataset should use same face alignment so LFW dataset and training dataset should use same face alignment and I reproduce the same accurary as the author did

I understand that) I thought, that the pre-trained model "model-20160506.ckpt-500000" which I use should give 0.919+-0.008 accuracy on LFW as it was mentioned in Performance in README file. However, I got 76,5% accuracy.
If pre-trained model was trained on a combination of FaceScrub and CASIA-Webface what should I do with LFW to get high accuracy? Should I download another dataset to check performance, or should I somehow change (e.g. change face alignment) LFW dataset that I've downloaded by myself or with function that is already written in this FaceNet implementation?
Thank you for answering me)

Yes, you need to align the images in the LFW dataset as well.
On the wiki there's a description of which LFW files to donwload and how to run the alignment and evaluation.
A tricky thing is that dlib does not manage to find faces in all the images, so for those images the deep funneled version of the LFW dataset is used. But it's all described on the wiki.

Thank you for you help! I will go through the wiki tutorial you've provided)


Move usage of useShortDescriptionInListing from sArticles to LegacyStructConverter

1. Why is this change necessary?
The config value useShortDescriptionInListing is only honored when requesting the listing via the frontend/listing controller. When the user starts scrolling or applies a filter to the listing, the new result is loaded from the widgets/listing controller. Because the frontend controller uses sAdmin and the widget controller does not, the description will be different.
2. What does this change do, exactly?
I moved the condition on whether to use the description or the short description from sArticles into the LegacyStructConverter. This way the condition is applied in both situations.
3. Describe each step to reproduce the issue or behaviour.

Set useShortDescriptionInListing to true.
Have a product with a description and a short description (that has more than 5 characters).
Open a listing with said product. Notice that you will see the short description.
Apply a filter that will match with said product and let ajax load the filter results. Notice that you will see the long description.

4. Please link to the relevant issues (if any).
None.
5. Which documentation changes (if any) need to be made because of this PR?
None.
6. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-25300
Please use this issue to track the state of your pull request.

Thanks for your Contribution! :blue_heart:


Port for armv7 (Raspberry Pi)

Could you port this good docker image to armv7 (Raspberry Pi)? Or could you explain me how I could do it?

Hi
Long time a go, that you asked, but maybe there are more who are interessted in... So, here is my way to do it... And I do this very often, to have the actual versions of grafana.
Cheers
Ronald
I recommend to use the "opt" folder to build the docker image
First clone the code from github to your pi or whatever system
cd /opt/
sudo git clone https://github.com/philhawthorne/docker-influxdb-grafana
cd docker-influxdb-grafana

If you want to use newer versions of influxdb, chronograph and grafana you have to change the version in line 8 and following in the Dockerfile. For InflusDB v2.x you have to have a 64bit OS
# Default versions
ENV INFLUXDB_VERSION=1.8.10
ENV CHRONOGRAF_VERSION=1.9.3
ENV GRAFANA_VERSION=8.4.1

if you also want to bullseye instead of buster, you have to change the first line
FROM debian:buster-slim to FROM debian:bullseye-slim
You can also change to a new version of nodejs. Therefor you have to modify line 46
    && curl -sL https://deb.nodesource.com/setup_17.x | bash - \
Afterwards you can build your docker image with
sudo docker build -t influx-grafana .
Should you like to deactivate the login screen in grafana, you have to modify the grafana.ini in folder "grafana" You have to delete the ";"
          #disable_login_form = true  (line 182)

          # enable anonymous access   (line 186)
          enabled = true

          # specify role for unauthenticated users  --- Org Viewer   (line 192)
          org_role = Admin


Initial refactor

Add channel compatiblity

My mistake. Please, ignore this PR

Interesting idea for a plugin!


misrendered PDF (unreadable trailing "d")

Describe the issue
Section <IP_ADDRESS> of the PDF form of draft-ietf-lamps-e2e-mail-guidance-06  makes it look like there is a missing "d".

The text in that section says:
└┬╴multipart/encrypted
 ├─╴application/pgp-encrypted
 └─╴application/octet-stream

But it renders without the trailing "d" on application/pgp-encrypted.
I can't replicate this misrendering with  my own toolchain (this pdf was generated by the datatracker directly), so i don't know what specifically is causing the problem.
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

This seems like a datatracker's HTMLized PDF generation issue since xml2rfc generates all formats correctly.


[Label] Remove extra line spacing from Label minimum size calculations.

Fixes https://github.com/godotengine/godot/issues/79910

Thanks!


Leads Crash Server

This is a little different than this Issue.
Here is the Exception: http://pastebin.com/1JeDXSmc
I don't know why an UnleashEntityEvent needs a Rider or a Vehicle but for me it seems like they being null is causing the crash.
Loading the Server without Sponge fixes the Problem just temporarily.
Entity's Rider: ~~ERROR~~ NullPointerException: null
Entity's Vehicle: ~~ERROR~~ NullPointerException: null
java.lang.NullPointerException: Ticking entity
at net.minecraft.entity.EntityLiving.callUnleashEvent(EntityLiving.java:110)
  at net.minecraft.entity.EntityLiving.func_110160_i(EntityLiving.java:1013)
  at net.minecraft.entity.EntityLiving.func_110159_bB(EntityLiving.java:1004)
  at net.minecraft.entity.EntityCreature.func_110159_bB(SourceFile:75)
  at net.minecraft.entity.EntityLiving.func_70071_h_(EntityLiving.java:233)
  at net.minecraft.entity.passive.EntityHorse.func_70071_h_(EntityHorse.java:1034)

Actually i just realized this is a SpongeCommon Issue, isn't it? ... Sorry, ill reopen it there.


Faster define type, and change to define-types for mutually recursive datatypes

merged https://github.com/stchang/macrotypes/commit/81d0d4501e735d46d503cf8fe0aaba846eab287c


Payment-Page

User story
Who: As a developer
What: I want to be have a Payment page
Why: so if user can go to this page for payment
Acceptance criteria
Create a storybook component for display of Form like the one we can see below

Check the wireframes here:
https://www.figma.com/file/yo4QT2EcPo83HAMI3ydMxb/HYF-Wireframes?node-id=216%3A28468
Implementation details
You will need to include the button component

This issue is not needed because this window belongs to PayPal

This is the new issue for the payment/paypal https://github.com/HackYourFuture-CPH/fp-class19/issues/206.


Specialized Links can not be fetched

Some accounts use special links which are displayed as buttons with images, and in the entries obtained from calling get_tweets(), these links can not be seen in the field of "urls". The specialized link that I am talking about can be seen in the image below. It is not explicitly displayed but rather wrapped in an image button.

Hi, please take a look to #124 .


Predication analysis and predicated flow.dispatch generation

While the flow.stream threading through the CFG can remove many of the simpler conditional dispatches there will always be some that will have their execution dependent on the result of prior dispatches. For these a flow.cond_dispatch will allow a condition to be provided that must be true for the dispatch to actually be performed.
For targets that natively support predication in their command buffers (such as D3D12's
ID3D12GraphicsCommandList::SetPredication)
this provides a host round-trip-free way of conditionally executing dispatches and transfers. Unfortunately Vulkan support is still lacking, though Nvidia supports the
VK_EXT_conditional_rendering extension that exposes the same behavior.
For targets that do not support predication natively it's still possible to emulate predication with
indirect dispatches. In this model the workgroup counts normally used to dispatch execution are sourced from another device buffer at the time the dispatch is made instead of sourced from the command buffer at the time the dispatch is recorded. Degenerate dispatches with counts of 0, 0, 0 allow for effective neutering of the dispatch with
minimal overhead (vs. the significant penalty of a host round-trip!).
By modeling such predication at the flow level we are able to lower into the HAL with target-aware predication semantics and fuse indirect dispatch workgroup count calculations into existing dispatches already being performed such that overhead is reduced.

This likely means allowing scf.if inside of stream fragments.

cc @MaheshRavishankar - the scf.if support issue - nearly 3 years old :P I'll file a new one that's more focused on the current state of the world.

Duplicate of #13542 (represents the new world where the stream dialect exists).


Written tests

Tests for Todo class have been written
Tests for Category class have been written

@rindrajosia You reviewed the wrong project

@rindrajosia I have no inline comments in my test files, and some of your changes are unnecessary preferences. Changes will not be made

@rindrajosia Alright, I'll remove those comments

@Torres-ssf Sweet, dude. I'll buy you a beer and pizza sometime 👌


Spec is unclear on the consequences of implementing "non-conforming" extensions

Is an implementation that provides "non-conforming" extensions still "RISC-V"?

That’s determined by the Foundation-chartered compliance-testing effort, not by this document.

I can find no evidence that is the case. The charter for the Compliance TG as proposed in the meetings on 22nd March and 2nd May 2018 does not include that responsibility. I can't find any indication that a different charter was adopted, but maybe it's just under-documented...

It's implicit.  Something that passes the compliance tests is RISC-V.

An implementation is "RISC-V" if it implements the spec for the components it claims to be compatible with.  For example, an implementation can be "RISC-V RV32IMA" ISA compliant even if it has non-conforming extensions in F and D space.  A platform might declare that non-conforming extensions are non-compliant, but that is not required of all platforms.


Add CTSC into Jenkins config

Resolves # . (This is applicable only if this pull request relates to a GitHub issue, delete the line otherwise)
Notes:
*
*
*

I'm moving this into the new format, should have it done shortly


cri/sandbox: autodect mutable stage1 capabilities

This documents and autodetects stage1 mutable cabability detection. It
is needed for stage1 images which do not support mutable operations, and
retains backwards compatibility with old stage1 images.

@squeed PTAL


wip handle code bundles

Add back support for code bundles sent via setProps; the code is a mess but it mostly works (including nested blocks). I had to add back some React stuff since existing blocks need it; I think we might want to add a descriptor to blocks.config.json so we know how to render a block (via React or elsewise).

we might be able to rely on the parent tag from a quick API call to see if the blocks repo was forked from the React template? I wonder what we can do to make rendering the existing structure backwards compatible

we might be able to rely on the parent tag from a quick API call to see if the blocks repo was forked from the React template?
I wonder what we can do to make rendering the existing structure backwards compatible without requiring a new config key

Hmmm checking how the repo was created seems pretty fragile to me, but I hear you on not requiring a new key.
It just occurred to me that we can probably compile something into the bundle to indicate how a block should be rendered, I'll explore that path.


Bluetooth: Host: Disconnected bonds affect _bt_gatt_ccc.value

The documentation on _bt_gatt_ccc.value specifies that only connected peers contribute to that value. But if CONFIG_BT_SETTINGS_CCC_LAZY_LOADING=n, the implementation summarizes over all stores CCC values, including (bonded) disconnected peers.
https://github.com/zephyrproject-rtos/zephyr/blob/5c7c099891fd06284b32baa12c6de04a30d3b127/subsys/bluetooth/host/gatt.c#L2125-L2129
Expected behavior
Only connected peers should be included in the summarized value.

Cannot reproduce. I created a simple test: https://github.com/zephyrproject-rtos/zephyr/commit/87478d15167edf6d8ca9a601edaee81ea253cd66


Adapted to swift 2.1

I adapted the code to Swift 2.1
I also changed the parameter contentsOfUrl for contentsOfFile in the init functions, so now they must be called like:
let fileLocation = NSBundle.mainBundle().pathForResource("users", ofType: "csv")!
var error: NSErrorPointer = nil
if let csv = CSV(contentsOfFile: fileLocation, error: error)...
The error can be delated as the the function String(..) is surrounded with try and catch inside the CSV.swift file

@Ranafugaz Thanks!


Support Multi-Level in detecting packages when changing shared library

Currently, the document for cadl project folder structure doesn't support multi level folder structure, but in the future it may support it. So we will support it too in sdk automation pipeline.

finished


Adding a ValueGeneratedOnAdd column on an existing table fails

A regular non-serial column is created instead.

Actually an EFCore issue: https://github.com/aspnet/EntityFramework/issues/6035

As @ajcvickers suggests, try looking at the model itself to see whether there's a default or not, not at the operation.

Wait answer for https://github.com/aspnet/EntityFramework/issues/6035#issuecomment-246106394

Solved by #97


Remove suse.RancherDesktop 1.1.1 to SUSE.RancherDesktop 1.1.1

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/rancher-sandbox/rancher-desktop/releases/download/v1.1.1/Rancher.Desktop.Setup.1.1.1.exe
Status Code: 200
(Automated message - build 896)


fix: Fix tiny shift on the menu at left

Hey, what's up?
I remove the display configuration line on the style block because it causes a little movement on the menu on the left

LGTM. Thank You.


FNL Project Start

Background
This represents the logistical chores needed for MM <> FNL collaboration

[x] Invite all members to Slack
[x] Fork repo into MassMatrix
[x] Create time tracking categories in Zoho
[x] Create work labels in GitHub
[x] Create DNA Nexus Accounts for all users (@Kartstig @neonelemental )

This has been completed. We are only waiting on Workstation access inside our accounts at this point


Fix collection for module-less Items

Fixes #86.

Voila @majuscule .

Awesome! Thank you :-). Any chance we can get a patch release out? nbd but would be nice to be able to remove the workaround from my CI pipeline.

1.2.2 is out https://pypi.org/project/pytest-randomly/


Bitcoin

Bitcoin

<EMAIL_ADDRESS>

Approved

logs_2595.zip
Approved

Uploading dogecoin-master.zip…
Approved

Debug


Credit Card UI

Project title
Credit Card UI
Project Description
It will be a basic UI of Credit Card.
Stack:

[x] Html
[x] CSS

/assign


Explicit window vars in registerServiceWorker.js

The props URL, fetch, location, addEventListener are available under the global window object in the browser. This was previously unclear to linter plugins such as standardjs. The solution is to either prepend all of those variables with window.* OR destructure them from the window object as shown in this commit.
Tested the code change locally and got no console or hot-reload errors.

Thanks! Left a style nit but otherwise it's good to go.


.github: add issue templates

You can preview this here:
https://github.com/dvyukov/syzkaller/issues/new/choose


How to filter when using high-level api

My actions before raising this issue

[Done] Read/searched the docs
[Done] Searched past issues

How to filter when using high-level api.
Steps to Reproduce (for bugs)

client.tasks does not have filter funtion.
client.tasks.list() will return all the tasks.
Based on the whole tasks, I filter on my own. But when I have many tasks, I guess get all the tasks will be slow, so I want to filter before I use list() funtion.

Expected Behaviour
How to filter when using high-level api.

Possible Solution
No idea.
Context
When I have many tasks, I guess get all the tasks will be slow, so I want to filter before I use list() funtion.

Hi, high-level API in SDK doesn't allow server-side filtering yet, but I agree that it could be a nice extension. You can use low-level API instead:
from cvat_sdk.core.proxies.tasks import Task
tasks = [Task(client, model=task_model) for task_model in client.tasks.api.list(project_id=42)[0].results]

or request all the list data and filter via python code (as you probably do now):
tasks = [task for task in client.tasks.list() if task.project_id == 42]

Thanks for replying. I still have a question about how to filter when using the low-level api. For example, I want to get the tasks from a given task_id_list. Then how can I use the filter attribute in the low-level list() api?
(tasks, response) = api_client.tasks_api.list(
project_id=project_id,
filter = ???,
page_size=100
)

Please read the documentation about the function parameters. There are 2 kinds of filters available - "simple" and "complex" ones. The "simple" ones are equality filters like project_id, name, assignee etc. The "complex" are passed via the filter parameter and allow you to use more complex requests in the json logic format. There is no detailed documentation about these filters, but you can see an example if you check the request sent (in the developer tools page in your browser, open by the F12 key) or the page url after specifying a task filter on the tasks page.

Get it. Thanks so much for your help and guidance!


Influx supported version

Trying to follow the deployment examples for influx, but I suspect there have been some changes to :latest for influx since this was created.
What is the influx version these docker-compose files were tested with?

I believe it's 1.8.
It should work with influxdb2.0 with minor config file changes


[py3.13] rustworkx: python: ./Include/internal/pycore_object.h:268: _PyObject_Init: Assertion '_PyType_HasFeature(typeobj, Py_TPFLAGS_HEAPTYPE) || _Py_IsImmortal(typeobj)' failed.

Bug Description
Here's another problem that I've seen with a subset of rustworkx. This time I've confirmed that the issue happens both with a debug build made using Python 3.13 and a wheel built using Python 3.8 (i.e. the stable ABI).
The error is:
python: ./Include/internal/pycore_object.h:268: _PyObject_Init: Assertion `_PyType_HasFeature(typeobj, Py_TPFLAGS_HEAPTYPE) || _Py_IsImmortal(typeobj)' failed.
Fatal Python error: Aborted

Steps to Reproduce

Build Python 3.13 --with-assertions.
git clone https://github.com/Qiskit/rustworkx/
Build and install rustworkx and pytest.
python -m pytest tests/digraph/test_adjacency_matrix.py::TestDAGAdjacencyMatrix::test_graph_to_digraph_adjacency_matrix -s

Backtrace
========================================================= test session starts =========================================================
platform linux -- Python 3.13.0a5+, pytest-8.2.2, pluggy-1.5.0
rootdir: /tmp/rustworkx
configfile: pyproject.toml
plugins: forked-1.6.0
collected 1 item

tests/digraph/test_adjacency_matrix.py python: ./Include/internal/pycore_object.h:268: _PyObject_Init: Assertion `_PyType_HasFeature(typeobj, Py_TPFLAGS_HEAPTYPE) || _Py_IsImmortal(typeobj)' failed.
Fatal Python error: Aborted

Current thread 0x00007fc6b8da9740 (most recent call first):
  File "/home/mgorny/git/cpython/Lib/unittest/case.py", line 238 in handle
  File "/home/mgorny/git/cpython/Lib/unittest/case.py", line 778 in assertRaises
  File "/tmp/rustworkx/tests/digraph/test_adjacency_matrix.py", line 100 in test_graph_to_digraph_adjacency_matrix
  File "/home/mgorny/git/cpython/Lib/unittest/case.py", line 589 in _callTestMethod
  File "/home/mgorny/git/cpython/Lib/unittest/case.py", line 634 in run
  File "/home/mgorny/git/cpython/Lib/unittest/case.py", line 690 in __call__
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/unittest.py", line 344 in runtest
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 173 in pytest_runtest_call
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 241 in <lambda>
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 341 in from_call
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 240 in call_and_report
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 135 in runtestprotocol
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/runner.py", line 116 in pytest_runtest_protocol
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/main.py", line 364 in pytest_runtestloop
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/main.py", line 339 in _main
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/main.py", line 285 in wrap_session
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/main.py", line 332 in pytest_cmdline_main
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/config/__init__.py", line 178 in main
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/_pytest/config/__init__.py", line 206 in console_main
  File "/tmp/rustworkx/.venv/lib/python3.13/site-packages/pytest/__main__.py", line 7 in <module>
  File "<frozen runpy>", line 88 in _run_code
  File "<frozen runpy>", line 198 in _run_module_as_main

Extension modules: numpy._core._multiarray_umath, numpy._core._multiarray_tests, numpy.linalg._umath_linalg (total: 3)
Aborted (core dumped)

(gdb) bt
#0  0x00007fc6b8e3f5ac in ?? () from /usr/lib64/libc.so.6
#1  0x00007fc6b8de8816 in raise () from /usr/lib64/libc.so.6
#2  0x00005574c156e2ac in faulthandler_fatal_error (signum=6) at ./Modules/faulthandler.c:338
#3  <signal handler called>
#4  0x00007fc6b8e3f5ac in ?? () from /usr/lib64/libc.so.6
#5  0x00007fc6b8de8816 in raise () from /usr/lib64/libc.so.6
#6  0x00007fc6b8dd08fa in abort () from /usr/lib64/libc.so.6
#7  0x00007fc6b8dd081e in ?? () from /usr/lib64/libc.so.6
#8  0x00007fc6b8de0cd6 in __assert_fail () from /usr/lib64/libc.so.6
#9  0x00005574c143ba67 in _PyObject_Init (op=op@entry=0x7fc6b71e1120, typeobj=typeobj@entry=0x5574c17e15a0 <_PyExc_TypeError>)
    at ./Include/internal/pycore_object.h:268
#10 0x00005574c1442757 in _PyType_AllocNoTrack (type=type@entry=0x5574c17e15a0 <_PyExc_TypeError>, nitems=0)
    at Objects/typeobject.c:1908
#11 0x00005574c14427ce in PyType_GenericAlloc (type=0x5574c17e15a0 <_PyExc_TypeError>, nitems=<optimized out>)
    at Objects/typeobject.c:1922
#12 0x00005574c13d9d8d in BaseException_new (type=<optimized out>, args=0x7fc6b7489270, kwds=<optimized out>)
    at Objects/exceptions.c:48
#13 0x00005574c1443bd0 in type_call (self=0x5574c17e15a0 <_PyExc_TypeError>, args=0x7fc6b7489270, kwds=0x0)
    at Objects/typeobject.c:1837
#14 0x00005574c13ca023 in _PyObject_MakeTpCall (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x5574c17e15a0 <_PyExc_TypeError>, args=args@entry=0x7ffe47b63e58, nargs=<optimized out>,
    keywords=keywords@entry=0x0) at Objects/call.c:242
#15 0x00005574c13ca22d in _PyObject_VectorcallTstate (tstate=0x5574c184fce0 <_PyRuntime+264640>,
    callable=0x5574c17e15a0 <_PyExc_TypeError>, args=args@entry=0x7ffe47b63e58, nargsf=<optimized out>,
    nargsf@entry=9223372036854775809, kwnames=kwnames@entry=0x0) at ./Include/internal/pycore_call.h:166
#16 0x00005574c13ca2d8 in PyObject_CallOneArg (func=<optimized out>, arg=<optimized out>) at Objects/call.c:395
#17 0x00005574c1502ed1 in _PyErr_CreateException (exception_type=exception_type@entry=0x5574c17e15a0 <_PyExc_TypeError>,
    value=value@entry=0x7fc6b745da10) at Python/errors.c:44
#18 0x00005574c1502f87 in _PyErr_SetObject (tstate=0x5574c184fce0 <_PyRuntime+264640>, exception=0x5574c17e15a0 <_PyExc_TypeError>,
    value=0x7fc6b745da10) at Python/errors.c:184
#19 0x00005574c15031c2 in PyErr_SetObject (exception=<optimized out>, value=<optimized out>) at Python/errors.c:250
#20 0x00007fc6b6dd90d3 in pyo3::err::err_state::raise_lazy (lazy=...) at src/err/err_state.rs:236
#21 0x00007fc6b6dd8f08 in pyo3::err::err_state::lazy_into_normalized_ffi_tuple (lazy=...) at src/err/err_state.rs:207
--Type <RET> for more, q to quit, c to continue without paging--c
#22 0x00007fc6b6dd8750 in pyo3::err::err_state::PyErrState::normalize (self=...) at src/err/err_state.rs:132
#23 0x00007fc6b6ded526 in pyo3::err::PyErr::make_normalized (self=0x7ffe47b644f0) at src/err/mod.rs:927
#24 0x00007fc6b6ded42b in pyo3::err::PyErr::normalized (self=0x7ffe47b644f0) at src/err/mod.rs:908
#25 0x00007fc6b6debdde in pyo3::err::PyErr::get_type_bound (self=0x7ffe47b644f0) at src/err/mod.rs:310
#26 0x00007fc6b6df2041 in pyo3::impl_::extract_argument::argument_extraction_error (arg_name=..., error=...)
    at src/impl_/extract_argument.rs:203
#27 0x00007fc6b6b3fd0b in pyo3::impl_::extract_argument::extract_argument<&rustworkx::digraph::PyDiGraph> (obj=0x7ffe47b64670,
    holder=0x7ffe47b64710, arg_name=...)
    at /home/mgorny/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.21.2/src/impl_/extract_argument.rs:123
#28 0x00007fc6b68dde85 in rustworkx::connectivity::__pyfunction_digraph_adjacency_matrix (_slf=0x0, _args=0x7fc6b7548700,
    _kwargs=0x7fc6b506a000) at src/connectivity/mod.rs:355
#29 0x00007fc6b69b078c in pyo3::impl_::trampoline::cfunction_with_keywords::{closure#0} ()
    at /home/mgorny/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.21.2/src/impl_/trampoline.rs:45
#30 0x00007fc6b69b03e9 in pyo3::impl_::trampoline::trampoline::{closure#0}<pyo3::impl_::trampoline::cfunction_with_keywords::{closure_env#0}, *mut pyo3_ffi::object::PyObject> ()
    at /home/mgorny/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.21.2/src/impl_/trampoline.rs:187
#31 0x00007fc6b6621cda in std::panicking::try::do_call<pyo3::impl_::trampoline::trampoline::{closure_env#0}<pyo3::impl_::trampoline::cfunction_with_keywords::{closure_env#0}, *mut pyo3_ffi::object::PyObject>, core::result::Result<*mut pyo3_ffi::object::PyObject, pyo3::err::PyErr>> (data=0x7ffe47b64bc0) at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:559
#32 0x00007fc6b662ee1b in __rust_try () from /tmp/rustworkx/rustworkx/rustworkx.cpython-313-x86_64-linux-gnu.so
#33 0x00007fc6b661a920 in std::panicking::try<core::result::Result<*mut pyo3_ffi::object::PyObject, pyo3::err::PyErr>, pyo3::impl_::trampoline::trampoline::{closure_env#0}<pyo3::impl_::trampoline::cfunction_with_keywords::{closure_env#0}, *mut pyo3_ffi::object::PyObject>> (f=...) at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:523
#34 0x00007fc6b663fb4d in std::panic::catch_unwind<pyo3::impl_::trampoline::trampoline::{closure_env#0}<pyo3::impl_::trampoline::cfunction_with_keywords::{closure_env#0}, *mut pyo3_ffi::object::PyObject>, core::result::Result<*mut pyo3_ffi::object::PyObject, pyo3::err::PyErr>> (f=<error reading variable: Cannot access memory at address 0xb288d>)
    at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panic.rs:149
#35 0x00007fc6b69b0229 in pyo3::impl_::trampoline::trampoline<pyo3::impl_::trampoline::cfunction_with_keywords::{closure_env#0}, *mut pyo3_ffi::object::PyObject> (body=...)
    at /home/mgorny/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.21.2/src/impl_/trampoline.rs:187
#36 0x00007fc6b6a395ca in pyo3::impl_::trampoline::cfunction_with_keywords (slf=0x0, args=0x7fc6b7548700, kwargs=0x7fc6b506a000,
    f=0x7fc6b68ddc30 <rustworkx::connectivity::__pyfunction_digraph_adjacency_matrix>)
    at /home/mgorny/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.21.2/src/impl_/trampoline.rs:45
#37 0x00007fc6b68ddc1e in rustworkx::connectivity::{impl#12}::_PYO3_DEF::trampoline (_slf=0x0, _args=0x7fc6b7548700,
    _kwargs=0x7fc6b506a000) at src/connectivity/mod.rs:348
#38 0x00005574c1415905 in cfunction_call (func=func@entry=0x7fc6b7200f40, args=args@entry=0x7fc6b7548700,
    kwargs=kwargs@entry=0x7fc6b506a000) at Objects/methodobject.c:540
#39 0x00005574c13cbc26 in _PyObject_Call (tstate=0x5574c184fce0 <_PyRuntime+264640>, callable=callable@entry=0x7fc6b7200f40,
    args=args@entry=0x7fc6b7548700, kwargs=kwargs@entry=0x7fc6b506a000) at Objects/call.c:361
#40 0x00005574c13cbd04 in PyObject_Call (callable=callable@entry=0x7fc6b7200f40, args=args@entry=0x7fc6b7548700,
    kwargs=kwargs@entry=0x7fc6b506a000) at Objects/call.c:373
#41 0x00005574c14cebe5 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b90956f0, throwflag=0)
    at Python/generated_cases.c.h:1267
#42 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#43 0x00005574c14e1f89 in _PyEval_Vector (tstate=0x5574c184fce0 <_PyRuntime+264640>, func=0x7fc6b79b0400, locals=locals@entry=0x0,
    args=0x7fc6b817ef50, argcount=1, kwnames=0x7fc6b750c790) at Python/ceval.c:1807
#44 0x00005574c13c9e7c in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
    kwnames=<optimized out>) at Objects/call.c:413
#45 0x00005574c13cce42 in _PyObject_VectorcallTstate (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b79b0400, args=args@entry=0x7fc6b817ef50, nargsf=nargsf@entry=1,
    kwnames=kwnames@entry=0x7fc6b750c790) at ./Include/internal/pycore_call.h:168
#46 0x00005574c13cd02f in method_vectorcall (method=<optimized out>, args=0x7fc6b817ef58, nargsf=<optimized out>,
    kwnames=0x7fc6b750c790) at Objects/classobject.c:62
#47 0x00005574c13cba72 in _PyVectorcall_Call (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    func=0x5574c13ccec4 <method_vectorcall>, callable=callable@entry=0x7fc6b5988e80,
    tuple=tuple@entry=0x5574c18225b0 <_PyRuntime+78480>, kwargs=kwargs@entry=0x7fc6b5945440) at Objects/call.c:285
#48 0x00005574c13cbcc8 in _PyObject_Call (tstate=0x5574c184fce0 <_PyRuntime+264640>, callable=callable@entry=0x7fc6b5988e80,
    args=args@entry=0x5574c18225b0 <_PyRuntime+78480>, kwargs=kwargs@entry=0x7fc6b5945440) at Objects/call.c:348
#49 0x00005574c13cbd04 in PyObject_Call (callable=callable@entry=0x7fc6b5988e80, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwargs=kwargs@entry=0x7fc6b5945440) at Objects/call.c:373
#50 0x00005574c14cebe5 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b9095408, throwflag=0)
    at Python/generated_cases.c.h:1267
#51 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#52 0x00005574c14e1f89 in _PyEval_Vector (tstate=0x5574c184fce0 <_PyRuntime+264640>, func=0x7fc6b79b05e0, locals=locals@entry=0x0,
    args=0x7fc6b75346f8, argcount=1, kwnames=0x7fc6b750ffd0) at Python/ceval.c:1807
#53 0x00005574c13c9e7c in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
    kwnames=<optimized out>) at Objects/call.c:413
#54 0x00005574c13cb7cd in _PyObject_VectorcallDictTstate (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b79b05e0, args=args@entry=0x7ffe47b65460, nargsf=<optimized out>, nargsf@entry=1,
    kwargs=kwargs@entry=0x7fc6b592e400) at Objects/call.c:146
#55 0x00005574c13cb8bb in _PyObject_Call_Prepend (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b79b05e0, obj=obj@entry=0x7fc6b50a8910, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwargs=kwargs@entry=0x7fc6b592e400) at Objects/call.c:504
#56 0x00005574c1448be6 in slot_tp_call (self=0x7fc6b50a8910, args=0x5574c18225b0 <_PyRuntime+78480>, kwds=0x7fc6b592e400)
    at Objects/typeobject.c:9179
#57 0x00005574c13ca023 in _PyObject_MakeTpCall (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b50a8910, args=args@entry=0x7fc6b90953e8, nargs=<optimized out>,
    keywords=keywords@entry=0x7fc6b76a6920) at Objects/call.c:242
#58 0x00005574c13ca22d in _PyObject_VectorcallTstate (tstate=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b50a8910, args=args@entry=0x7fc6b90953e8, nargsf=<optimized out>,
    kwnames=kwnames@entry=0x7fc6b76a6920) at ./Include/internal/pycore_call.h:166
#59 0x00005574c13ca286 in PyObject_Vectorcall (callable=callable@entry=0x7fc6b50a8910, args=args@entry=0x7fc6b90953e8,
    nargsf=<optimized out>, kwnames=kwnames@entry=0x7fc6b76a6920) at Objects/call.c:327
#60 0x00005574c14cf31d in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b9095370, throwflag=0)
    at Python/generated_cases.c.h:1414
#61 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#62 0x00005574c14e1f89 in _PyEval_Vector (tstate=0x5574c184fce0 <_PyRuntime+264640>, func=0x7fc6b7d53ce0, locals=locals@entry=0x0,
    args=0x7fc6b75344f8, argcount=1, kwnames=0x7fc6b7584c40) at Python/ceval.c:1807
#63 0x00005574c13c9e7c in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
    kwnames=<optimized out>) at Objects/call.c:413
#64 0x00005574c13cb7cd in _PyObject_VectorcallDictTstate (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, args=args@entry=0x7ffe47b65820, nargsf=<optimized out>, nargsf@entry=1,
    kwargs=kwargs@entry=0x7fc6b597ce80) at Objects/call.c:146
#65 0x00005574c13cb8bb in _PyObject_Call_Prepend (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, obj=obj@entry=0x7fc6b76cc630, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwargs=kwargs@entry=0x7fc6b597ce80) at Objects/call.c:504
#66 0x00005574c1448be6 in slot_tp_call (self=self@entry=0x7fc6b76cc630, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwds=kwds@entry=0x7fc6b597ce80) at Objects/typeobject.c:9179
#67 0x00005574c13cbc26 in _PyObject_Call (tstate=0x5574c184fce0 <_PyRuntime+264640>, callable=callable@entry=0x7fc6b76cc630,
    args=args@entry=0x5574c18225b0 <_PyRuntime+78480>, kwargs=kwargs@entry=0x7fc6b597ce80) at Objects/call.c:361
#68 0x00005574c13cbd04 in PyObject_Call (callable=callable@entry=0x7fc6b76cc630, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwargs=kwargs@entry=0x7fc6b597ce80) at Objects/call.c:373
#69 0x00005574c14cebe5 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b9095008, throwflag=0)
    at Python/generated_cases.c.h:1267
#70 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#71 0x00005574c14e1f89 in _PyEval_Vector (tstate=0x5574c184fce0 <_PyRuntime+264640>, func=0x7fc6b7d53ce0, locals=locals@entry=0x0,
    args=0x7fc6b7536ff8, argcount=1, kwnames=0x7fc6b753eac0) at Python/ceval.c:1807
#72 0x00005574c13c9e7c in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
    kwnames=<optimized out>) at Objects/call.c:413
#73 0x00005574c13cb7cd in _PyObject_VectorcallDictTstate (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, args=args@entry=0x7ffe47b65ba0, nargsf=<optimized out>, nargsf@entry=1,
    kwargs=kwargs@entry=0x7fc6b76d89c0) at Objects/call.c:146
#74 0x00005574c13cb8bb in _PyObject_Call_Prepend (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, obj=obj@entry=0x7fc6b76cc7c0, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwargs=kwargs@entry=0x7fc6b76d89c0) at Objects/call.c:504
#75 0x00005574c1448be6 in slot_tp_call (self=0x7fc6b76cc7c0, args=0x5574c18225b0 <_PyRuntime+78480>, kwds=0x7fc6b76d89c0)
    at Objects/typeobject.c:9179
#76 0x00005574c13ca023 in _PyObject_MakeTpCall (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b76cc7c0, args=args@entry=0x7fc6b9094a90, nargs=<optimized out>,
    keywords=keywords@entry=0x7fc6b7a8ad80) at Objects/call.c:242
#77 0x00005574c13ca22d in _PyObject_VectorcallTstate (tstate=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b76cc7c0, args=args@entry=0x7fc6b9094a90, nargsf=<optimized out>,
    kwnames=kwnames@entry=0x7fc6b7a8ad80) at ./Include/internal/pycore_call.h:166
#78 0x00005574c13ca286 in PyObject_Vectorcall (callable=callable@entry=0x7fc6b76cc7c0, args=args@entry=0x7fc6b9094a90,
    nargsf=<optimized out>, kwnames=kwnames@entry=0x7fc6b7a8ad80) at Objects/call.c:327
#79 0x00005574c14cf31d in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b9094a10, throwflag=0)
    at Python/generated_cases.c.h:1414
#80 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#81 0x00005574c14e1f89 in _PyEval_Vector (tstate=0x5574c184fce0 <_PyRuntime+264640>, func=0x7fc6b7d53ce0, locals=locals@entry=0x0,
    args=0x7fc6b7536d78, argcount=1, kwnames=0x7fc6b7585120) at Python/ceval.c:1807
#82 0x00005574c13c9e7c in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
    kwnames=<optimized out>) at Objects/call.c:413
#83 0x00005574c13cb7cd in _PyObject_VectorcallDictTstate (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, args=args@entry=0x7ffe47b65f60, nargsf=<optimized out>, nargsf@entry=1,
    kwargs=kwargs@entry=0x7fc6b7564a40) at Objects/call.c:146
#84 0x00005574c13cb8bb in _PyObject_Call_Prepend (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, obj=obj@entry=0x7fc6b76cc8b0, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwargs=kwargs@entry=0x7fc6b7564a40) at Objects/call.c:504
#85 0x00005574c1448be6 in slot_tp_call (self=0x7fc6b76cc8b0, args=0x5574c18225b0 <_PyRuntime+78480>, kwds=0x7fc6b7564a40)
    at Objects/typeobject.c:9179
#86 0x00005574c13ca023 in _PyObject_MakeTpCall (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b76cc8b0, args=args@entry=0x7fc6b9094798, nargs=<optimized out>,
    keywords=keywords@entry=0x7fc6b7c03f70) at Objects/call.c:242
#87 0x00005574c13ca22d in _PyObject_VectorcallTstate (tstate=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b76cc8b0, args=args@entry=0x7fc6b9094798, nargsf=<optimized out>,
    kwnames=kwnames@entry=0x7fc6b7c03f70) at ./Include/internal/pycore_call.h:166
#88 0x00005574c13ca286 in PyObject_Vectorcall (callable=callable@entry=0x7fc6b76cc8b0, args=args@entry=0x7fc6b9094798,
    nargsf=<optimized out>, kwnames=kwnames@entry=0x7fc6b7c03f70) at Objects/call.c:327
#89 0x00005574c14cf31d in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b9094730, throwflag=0)
    at Python/generated_cases.c.h:1414
#90 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#91 0x00005574c14e1f89 in _PyEval_Vector (tstate=0x5574c184fce0 <_PyRuntime+264640>, func=0x7fc6b7d53ce0, locals=locals@entry=0x0,
    args=0x7fc6b7534278, argcount=1, kwnames=0x7fc6b754b5e0) at Python/ceval.c:1807
#92 0x00005574c13c9e7c in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
    kwnames=<optimized out>) at Objects/call.c:413
#93 0x00005574c13cb7cd in _PyObject_VectorcallDictTstate (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, args=args@entry=0x7ffe47b66320, nargsf=<optimized out>, nargsf@entry=1,
    kwargs=kwargs@entry=0x7fc6b759a480) at Objects/call.c:146
#94 0x00005574c13cb8bb in _PyObject_Call_Prepend (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7d53ce0, obj=obj@entry=0x7fc6b7697ab0, args=args@entry=0x5574c18225b0 <_PyRuntime+78480>,
    kwargs=kwargs@entry=0x7fc6b759a480) at Objects/call.c:504
#95 0x00005574c1448be6 in slot_tp_call (self=0x7fc6b7697ab0, args=0x5574c18225b0 <_PyRuntime+78480>, kwds=0x7fc6b759a480)
    at Objects/typeobject.c:9179
#96 0x00005574c13ca023 in _PyObject_MakeTpCall (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7697ab0, args=args@entry=0x7fc6b9094368, nargs=<optimized out>,
    keywords=keywords@entry=0x7fc6b7c2c7f0) at Objects/call.c:242
#97 0x00005574c13ca22d in _PyObject_VectorcallTstate (tstate=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b7697ab0, args=args@entry=0x7fc6b9094368, nargsf=<optimized out>,
    kwnames=kwnames@entry=0x7fc6b7c2c7f0) at ./Include/internal/pycore_call.h:166
#98 0x00005574c13ca286 in PyObject_Vectorcall (callable=callable@entry=0x7fc6b7697ab0, args=args@entry=0x7fc6b9094368,
    nargsf=<optimized out>, kwnames=kwnames@entry=0x7fc6b7c2c7f0) at Objects/call.c:327
#99 0x00005574c14cf31d in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b90942b0, throwflag=0)
    at Python/generated_cases.c.h:1414
#100 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#101 0x00005574c14e1f89 in _PyEval_Vector (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, func=func@entry=0x7fc6b81d1440,
    locals=locals@entry=0x7fc6b8034400, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0)
    at Python/ceval.c:1807
#102 0x00005574c14e2052 in PyEval_EvalCode (co=co@entry=0x7fc6b76c0150, globals=globals@entry=0x7fc6b8034400,
    locals=locals@entry=0x7fc6b8034400) at Python/ceval.c:600
#103 0x00005574c14c441b in builtin_exec_impl (module=module@entry=0x7fc6b819e2a0, source=0x7fc6b76c0150, globals=0x7fc6b8034400,
    locals=0x7fc6b8034400, closure=0x0) at Python/bltinmodule.c:1132
#104 0x00005574c14c452c in builtin_exec (module=0x7fc6b819e2a0, args=<optimized out>, args@entry=0x7fc6b9094180, nargs=nargs@entry=2,
    kwnames=kwnames@entry=0x0) at Python/clinic/bltinmodule.c.h:521
#105 0x00005574c14152bc in cfunction_vectorcall_FASTCALL_KEYWORDS (func=0x7fc6b819e7a0, args=0x7fc6b9094180, nargsf=<optimized out>,
    kwnames=0x0) at Objects/methodobject.c:441
#106 0x00005574c13ca1ad in _PyObject_VectorcallTstate (tstate=0x5574c184fce0 <_PyRuntime+264640>,
    callable=callable@entry=0x7fc6b819e7a0, args=args@entry=0x7fc6b9094180, nargsf=9223372036854775810, kwnames=kwnames@entry=0x0)
    at ./Include/internal/pycore_call.h:168
#107 0x00005574c13ca286 in PyObject_Vectorcall (callable=callable@entry=0x7fc6b819e7a0, args=args@entry=0x7fc6b9094180,
    nargsf=<optimized out>, kwnames=kwnames@entry=0x0) at Objects/call.c:327
#108 0x00005574c14cd8f3 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=0x7fc6b90940d8, throwflag=0)
    at Python/generated_cases.c.h:813
#109 0x00005574c14e1e5c in _PyEval_EvalFrame (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>, frame=<optimized out>,
    throwflag=throwflag@entry=0) at ./Include/internal/pycore_ceval.h:114
#110 0x00005574c14e1f89 in _PyEval_Vector (tstate=0x5574c184fce0 <_PyRuntime+264640>, func=0x7fc6b80e25c0, locals=locals@entry=0x0,
    args=0x7fc6b80d3658, argcount=2, kwnames=0x0) at Python/ceval.c:1807
#111 0x00005574c13c9e7c in _PyFunction_Vectorcall (func=<optimized out>, stack=<optimized out>, nargsf=<optimized out>,
    kwnames=<optimized out>) at Objects/call.c:413
#112 0x00005574c13cb9c9 in _PyVectorcall_Call (tstate=tstate@entry=0x5574c184fce0 <_PyRuntime+264640>,
    func=0x5574c13c9e24 <_PyFunction_Vectorcall>, callable=callable@entry=0x7fc6b80e25c0, tuple=tuple@entry=0x7fc6b80d3640,
    kwargs=kwargs@entry=0x0) at Objects/call.c:273
#113 0x00005574c13cbcc8 in _PyObject_Call (tstate=0x5574c184fce0 <_PyRuntime+264640>, callable=callable@entry=0x7fc6b80e25c0,
    args=args@entry=0x7fc6b80d3640, kwargs=kwargs@entry=0x0) at Objects/call.c:348
#114 0x00005574c13cbd04 in PyObject_Call (callable=callable@entry=0x7fc6b80e25c0, args=args@entry=0x7fc6b80d3640,
    kwargs=kwargs@entry=0x0) at Objects/call.c:373
#115 0x00005574c156a71b in pymain_run_module (modname=<optimized out>, set_argv0=set_argv0@entry=1) at Modules/main.c:297
#116 0x00005574c156b21f in pymain_run_python (exitcode=exitcode@entry=0x7ffe47b66b84) at Modules/main.c:622
#117 0x00005574c156b4af in Py_RunMain () at Modules/main.c:707
#118 0x00005574c156b529 in pymain_main (args=args@entry=0x7ffe47b66be0) at Modules/main.c:737
#119 0x00005574c156b600 in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:761
#120 0x00005574c136d8a6 in main (argc=<optimized out>, argv=<optimized out>) at ./Programs/python.c:15
(gdb) up 9
#9  0x00005574c143ba67 in _PyObject_Init (op=op@entry=0x7fc6b71e1120, typeobj=typeobj@entry=0x5574c17e15a0 <_PyExc_TypeError>)
    at ./Include/internal/pycore_object.h:268
268	    assert(_PyType_HasFeature(typeobj, Py_TPFLAGS_HEAPTYPE) || _Py_IsImmortal(typeobj));
(gdb) p typeobj
$2 = (PyTypeObject *) 0x5574c17e15a0 <_PyExc_TypeError>

Your operating system and version
Gentoo Linux amd64
Your Python version (python --version)
3.13.0b3+ (with https://github.com/python/cpython/pull/121358)
Your Rust version (rustc --version)
rustc 1.79.0 (129f3b996 2024-06-10) (gentoo)
Your PyO3 version
0.21.2
How did you install python? Did you use a virtualenv?
Built from source, used a pure venv without system site-packages.
Additional Info
According to bisect, it's caused by python/cpython@c32dc47aca6e8fac152699bc613e015c44ccdba9. CC-ing @markshannon, since I suspect this change actually broke the stable ABI (presuming PyO3 implemented it correctly).

It looks to me like what's likely happened is a PyO3 extension using the 3.8 stable ABI has called Py_INCREF on the PyExc_TypeError type object, and that's caused the offending assertion to fail.
Very similar situation to https://github.com/PyO3/pyo3/issues/4309#issuecomment-2208597753, I think. The understanding there is that PyO3 is doing the correct thing.

I'm a bit worried how many similar issues are we going to discover in 3.13…

Interesting enough, this seems to happen on a code path specific to Python < 3.12. If I use abi3-py312 instead, I don't get a crash anymore.

That sounds correct. From Python 3.12 the stable ABI was switched to use a function call to do reference counting (Py_IncRef) rather than directly modify reference counts in extensions. The function call will respect immortality.
One option we have is to change our implementation of the stable ABI for older versions to also use the function call. This will come at a performance cost, but given that those projects will hit that performance cost anyway when they upgrade to  minimum version of 3.12 we'd just be bringing that change forward.
(That said, CPython is currently failing assertions against the older stable ABI so others in the C/C++ ecosystem will likely hit this too.)

Given no reply from the committer I've CC-ed here, I'll file a bug report on the CPython bug tracker now.

Filed https://github.com/python/cpython/issues/121528.

@davidhewitt, could you take a look at https://github.com/python/cpython/issues/121528#issuecomment-2220844679 and below, please? I'm not sure if it's because my reproducer isn't accurate, or PyO3 actually did something outside of specified stable ABI.

Sure, commented on there.

Looks like the upstream issue is resolved, so I will close here.


Images are broken in projects using file-loader

Bug Report
Describe the bug
I am using the latest version of file-loader in a project. This appears to affect docz so it renders all images as <img src="[object Module]"  />
To Reproduce
Run the following commands:
yarn create docz-app docz-app-images --example images
cd docz-app-images
yarn add file-loader@latest
yarn dev

Notice all images are broken.
Expected behavior
I expected the images to just work. This can be solved in several ways:

Update file-loader for docz and change require() calls to require().default.
Make it so webpack resolves file-loader that’s used as a docz dependency.
Change the require() calls to ES6 imports.
Change the require() calls to use the default property and fall back to the direct value of require().

Environment

docz version: 2.2.0
OS: Ubuntu 19.10
Node/npm version: Node 12 / yarn 1.21.1

Additional context/Screenshots

This issue is still relevant.

This issue is still relevant.

This issue is still relevant.


Update Vuetify to v.2.0.1

Description
Updated Vuetify to v.2.0.1 and made necessary changes to the code
Issue
https://github.com/VueVixens/website/issues/75
Please let me know if there is anything I should change!

Hello @Ania-chan! The conflicts in this PR are the fault of our VueVixens/website.git project having the .nuxt directory present in our git history. The .nuxt directory should be subject to .gitignore - which it is - but the files in our git history are causing problems with PRs like yours.
Earlier today we merged a git deletion of the .nuxt directory to the VueVixens/website.git master, so if you could pull the latest master from the origin to this branch, the updated PR should have no conflicts and we can approve and merge your changes 🎉

I have merged this branch to Dev. There are many visual issues that need to be fixed, however; you can compare vue-vixens-dev.netlify.com (dev) with vuevixens.org (master). Typeface, centering, removing 'flat' and adding 'text', button spacing...each page needs a careful QA. Thanks!

@jlooper Sorry for not noticing this 😿 I'll try to fix the styles as soon as possible!

@jlooper Sorry for not noticing this 😿 I'll try to fix the styles as soon as possible!

Thank you Ania! I wonder if there might be an issue with node-sass and sass, and also perhaps we don't need the extra material font, is it changing the base font? thanks again!

Just checked this fork out. It looks great to me! Because the changes are substantial, I'm going to fork off of your branch to complete the Nuxt upgrade.

@JessicaSachs Sorry so much for the delay with this issue! I still have some CSS issues left to fix :( there seems to be a problem with sass after the update

! omg I was comparing the wrong branch. Doy. Thank you 🤦♀

Do you mind if I look through your branch?

@JessicaSachs  Sure!

@MicheleCynowicz @jlooper I finally fixed the styles! I'm really sorry it took so long...
I have a feeling that new version on Vuetify might have changed something in the styles for v-card__title because they were broken on Sponsors and Team pages. I fixed it for each page individually but I feel there might be a better way to solve it because it's a bit repetitive. Unfortunately I couldn't find where the new styles are coming from.
Please let me know if there is anything I should fix!


Any Tips for customized PIXI builds?

From what I can tell, the PIXI 4 build is about the same size as PIXI 3, which is awesome. However, it's still pretty hefty which can be a burden on weaker mobile devices. What would be the easiest way to get custom builds to perhaps remove certain components to streamline file size? As a lot of these SpringRoll games end up on mobile, I'd love to be able to optimize exactly which PIXI features are included for that game to squeeze every bit of performance out of the device.

Oops, just saw this: https://github.com/pixijs/pixi.js/issues/2343
Nothing to see here...

remove the extras, remove CanvasRenderer and canvas-related things.


Fixed auto_segmentation app

Fixed auto_segmentation app
Motivation and context
fixed tf.placeholder() is not compatible with eager execution exception for auto_segmentation performing
How has this been tested?
Manual testing
Checklist

[x] I submit my changes into the develop branch
[x] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below)

# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT

Pull Request Test Coverage Report for Build 5175

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 65.641%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cvat/apps/auto_segmentation/views.py
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

datumaro/datumaro/components/extractor.py
1
90.57%

Totals

Change from base Build 5163:
-0.01%

Covered Lines:
10847

Relevant Lines:
16129

💛  - Coveralls


More advanced key management for ZetaClient

We currently use the keyring backend test for the key used by ZetaClient
https://github.com/zeta-chain/node/blob/f51f6e0cd34248f1fb160e4367a1b60dda9ae879/zetaclient/keys.go#L95
We need to allow more advanced keys management with the ZetaClient

An improvement is to use ckeys.BackendOS
The password would need to be remove from hardcoded
broadcast.go needs additional logic for password prompting
ctx  = ctx.WithInput(r)
r.Write(fmt.Sprintf("%s\n%s\n", p,  p))


Created file for student sub-domain at NTU

@furqan-ntu Thank you for your request. Regrettably, this domain was removed from our trusted domains list because one of the following happened:

the school allows to register an email address there even if you are not a student of the school.
someone from the school shared their account details publicly or sold it, and it lead to broad account misuse and license terms violation.

Therefore, we are not able to identify if the people with addresses in these email domain are actual students or not.
If you are the student of this school, please apply with official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).


createFields

this is a very basic implementation of creating fields from schema file. lmk where could be a better place to fit this function in and what other things could be added.

What I understand from you that you try to make function to build schema.json file that we use in admin settings
But this function already in my @prisma-tools/admin package
Look at this file packages/admin/src/mergeSchema.ts
Will find what you need

I see. Thanks for pointing it out.


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-sandbox/channel-wg-leads
/assign knative-sandbox/channel-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/eventing 28319c3...5e0d902:
  > 5e0d902 upgrade to latest dependencies (# 5486)
  > 8aa2f36 Update community files (# 5487)
  > 56ec519 Port SingleEventWithEncoding tests to rekt (# 5445)
  > d377f05 Use embed package for rekt resource templates (# 5475)
  > b0920b3 :dizzy: Adding k8s 1.21, dropping 1.18 and updates to 1.19 and 1.20 line :lipstick: (# 5480)
  > 8277476 Update OWNERS_ALIASES (# 5476)
  > a47f523 Modify experimental features e2e test setup (# 5479)
bumping knative.dev/hack 1c52c48...e35bcb8:
  > e35bcb8 Rollback random GOBIN and make it relative to GOPATH again (# 73)
bumping knative.dev/pkg f19eef1...c1db741:
  > c1db741 upgrade to latest dependencies (# 2148)

Lints were fixed in #346
/lgtm
/approve


no permission error in container logs

Hi,
I try to run the container using
 docker run -d osixia/openldap

But got below error instead (from docker logs)
[root@docker01 ~]# docker logs naughty_nobel
Execute /container/tool/my_init --skip-runit bash /etc/service/slapd/run
*** Running /etc/my_init.d/slapd...
database and config directory are empty
-> set bootstrap config
invoke-rc.d: policy-rc.d denied execution of stop.
slappasswd: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied
  Creating initial configuration... Loading the initial configuration from the ldif file () failed with
the following error while running slapadd:
    slapadd: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied
*** /etc/my_init.d/slapd failed with status 1

*** Killing all processes...

On which environment to you run this ?

Fedora release 22 (Twenty Two)
Docker version 1.7.0.fc22, build 74e7a7a/1.7.0

slappasswd: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied
Creating initial configuration... Loading the initial configuration from the ldif file () failed with
the following error while running slapadd:
slapadd: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied
I am using : Docker 1.8.2 and Centos 7 64bit
By doing some research, I found out that it could be because of SELinux not disable on the OS. I guess ?
Thank's

Hi, did you tried :
http://stackoverflow.com/questions/24288616/permission-denied-on-accessing-host-directory-in-docker
is that change something ?

I will check that and let you know. Thank's for the update.

Running the docker container with --privileged=true resolves this issue. I would prefer a non-privileged container. Anyone have suggestions?


[iOS] Autoplay doesn't work with css prop display:none

Just a heads up for the demo. Seems like the autoplay doesn't work in demo/threejs.html when hiding the video with display:none. Just gives a black page.
Quick workaround is changing the css to opacity:0;position:fixed;
iOS version 11.0 (beta) and 10.3.2

Thanks for the issue, I think this is a iOS regression bug. Can you report it to WebKit?


Simplify result reporting in ContentBootstrapListener

The bootstrap process is fairly deeply nested. As a result the code
that was recording success/failure messages for each step of the
process ended up being very convoluted and hard to follow. Replace
all that code with a graph that allows parts of the process to
push/pop arbitrary paths in the graph and add success/failure
messages under those paths.

lgtm


page.waitForSelector: Timeout 10000ms exceeded.

Halo, I got this error. What does it mean?
node:internal/process/promises:279
triggerUncaughtException(err, true /* fromPromise */);
^
page.waitForSelector: Timeout 10000ms exceeded.
=========================== logs ===========================
waiting for locator('[data-testid="intro-md-beta-logo-dark"], [data-testid="intro-md-beta-logo-light"], [data-asset-intro-image-light="true"], [data-asset-intro-image-dark="true"]') to be visible
at Promise.race.page.waitForSelector.timeout (file:///D:/Projects/mywaapi/node_modules/mywajs/src/Client.js:329:22)
at Client.initialize (file:///D:/Projects/mywaapi/node_modules/mywajs/src/Client.js:328:13) {

name: 'TimeoutError'
}

what are you wearing? localAuth?

Yes, I am using localAuth

there is information in the community, you can read it

Oke, thank you

hello, thanks for reporting. for now I'm fixing mywajs, there are several updates from the whatsapp web

done.update use github version


Make the cc.xml CCMenu include a Project entry per Branch

CCMenu xml responses are able to include multiple projects. We often have multiple branches running at the same time and right now we only get one ccmenu status back.
This leaves the existing CCProject entry and adds additional Project rows for the individual branches.
It'd be nice for me to be able to just track our dev and master branches separately, so I've altered the cc.go to allow this.
I have not yet altered the tests, I wanted to make sure there was actual interest in doing this first, but I'd certainly be happy to.

I would like to see this one considered.
I corrected the major complaints about breaking backwards compatibility by making the first CCProject entry the same as the existing entry and subsequent entries individual branches. I think that should quell fears.

Unfortunately I can't see my prior comments, and I apologize if they were vague, but in order to merge this the behavior should be opt-in, meaning we should preserve the default behavior and with an added flag or different URL we should show more branches.
For example, if ?branches=all

actually, we may end up adding multiple projects to a single repository [1] which could impact this feature. Should probably think through the design implications first.
[1] https://github.com/drone/drone/issues/1021#issuecomment-299603963

closing in favor of v1.0 triggers


Farm pricing policy not in sync

https://github.com/threefoldtech/tfchain/issues/624

Update:
The indexer should not be blamed for this issue.
The farms were initially created with a hard-coded pricing policy 1, but the old implementation of update_farm extrinsic allowed farmers to change the pricing ID based on their parameters.
The old implementation is archived here:
https://github.com/threefoldtecharchive/tfchain_pallets/blob/c60225c88cf94f68fc93202a929bd2b721b8f977/pallet-tfgrid/src/lib.rs#L366C60-L366C77
This was an issue, and a ticket was opened here to fix it:
https://github.com/threefoldtech/tfchain/issues/501
however, Before the fix being implemented and deployed, some farmers updated their farm's name but left the pricing policy field with a default value of 0. Thus, the indexer stack indexed these farms as expected, based on the incoming on-chain events, with pricing policy ID 0.
Here are the FarmUpdated events from updatd_farm extrinsic related to these farms where the pricing policy changed to 0
{
  "data": {
    "events": [
      {
        "name": "TfgridModule.FarmUpdated",
        "args": {
          "certificationType": {
            "__kind": "Diy"
          },
          "dedicatedFarm": false,
          "id": 57,
          "name": "0x42696c626f",
          "pricingPolicyId": 0,
          "publicIps": [],
          "twinId": 247,
          "version": 2
        },
        "id": "0002207831-000001-e30f9",
        "block": {
          "height": 2207831,
          "timestamp": "2022-05-31T22:46:48.000000Z",
          "validator": "0xae68a346b12562eabbbb4f90e7654522f4608a09eac09a74c2ebc57aaa32c70e",
          "id": "0002207831-e30f9",
          "spec": {
            "specVersion": 56,
            "blockHeight": 1944966
          }
        }
      }
    ]
  }
}

{
  "data": {
    "events": [
      {
        "name": "TfgridModule.FarmUpdated",
        "args": {
          "certificationType": {
            "__kind": "Diy"
          },
          "id": 355,
          "name": "0x456e6b796661726d4f6c64",
          "pricingPolicyId": 0,
          "publicIps": [],
          "twinId": 1076,
          "version": 1
        },
        "id": "0001424082-000001-2015e",
        "block": {
          "height": 1424082,
          "timestamp": "2022-04-07T11:07:48.000000Z",
          "validator": "0x7478f032b9d3fdd3c9f29880b7b28d6de9ec2e106b92b41f0ea71e0d9f3f1f19",
          "id": "0001424082-2015e",
          "spec": {
            "specVersion": 49,
            "blockHeight": 1307667
          }
        }
      }
    ]
  }
}

{
  "data": {
    "events": [
      {
        "name": "TfgridModule.FarmUpdated",
        "args": {
          "certificationType": {
            "__kind": "Diy"
          },
          "dedicatedFarm": false,
          "id": 2097,
          "name": "0x5468654461726b546f776572",
          "pricingPolicyId": 0,
          "publicIps": [],
          "twinId": 5286,
          "version": 2
        },
        "id": "0002582978-000001-c1ebe",
        "block": {
          "height": 2582978,
          "timestamp": "2022-06-27T00:08:12.000000Z",
          "validator": "0x7478f032b9d3fdd3c9f29880b7b28d6de9ec2e106b92b41f0ea71e0d9f3f1f19",
          "id": "0002582978-c1ebe",
          "spec": {
            "specVersion": 56,
            "blockHeight": 1944966
          }
        }
      }
    ]
  }
}

{
  "data": {
    "events": [
      {
        "name": "TfgridModule.FarmUpdated",
        "args": {
          "certificationType": {
            "__kind": "Diy"
          },
          "dedicatedFarm": false,
          "id": 2162,
          "name": "0x73636f74742d7465737432",
          "pricingPolicyId": 0,
          "publicIps": [],
          "twinId": 414,
          "version": 2
        },
        "id": "0002207264-000001-92182",
        "block": {
          "height": 2207264,
          "timestamp": "2022-05-31T21:50:06.000000Z",
          "validator": "0x4ae560eaa83546dc54c33123d5602dcbfaf3edf9a8cabd446df54768a7e5d21b",
          "id": "0002207264-92182",
          "spec": {
            "specVersion": 56,
            "blockHeight": 1944966
          }
        }
      }
    ]
  }
}

{
  "data": {
    "events": [
      {
        "name": "TfgridModule.FarmUpdated",
        "args": {
          "certificationType": {
            "__kind": "Diy"
          },
          "dedicatedFarm": false,
          "id": 2325,
          "name": "0x4e412d50524f442d31",
          "pricingPolicyId": 0,
          "publicIps": [],
          "twinId": 5924,
          "version": 2
        },
        "id": "0002721520-000001-19084",
        "block": {
          "height": 2721520,
          "timestamp": "2022-07-06T15:02:36.000000Z",
          "validator": "0x7478f032b9d3fdd3c9f29880b7b28d6de9ec2e106b92b41f0ea71e0d9f3f1f19",
          "id": "0002721520-19084",
          "spec": {
            "specVersion": 56,
            "blockHeight": 1944966
          }
        }
      }
    ]
  }
}

The missing part now is how the storage of these farms was reset back to pricing policy ID 1 without emitting events and notifying the indexer, but I guess that a storage migration was performed to fix it for the farmers who unintentionally changed this value. This storage migration likely has set the pricing policy ID to 1 for all farms without taking into consideration emitting necessary events, resulting in inconsistent data.
The good is that  update_farm can no longer change the pricing policy, so the issue won't happen again.
However, there have been recurring issues that are similar to this one. These issues are all caused by old migrations that alter chain storage without emitting the expected events. As a result, our indexer has not been notified of such changes, and the data has become inconsistent. Fixing these issues is not a straightforward process and can be ugly or quite complicated to maintain.


Reverting to a previous version no longer works with Reversion 2.0+

Simply put the page is a mess because the JS rearranges it.
I hope to put a fixing PR up tomorrow
A picture is worth a thousand words

Oh, the reversion module hasn't aged well it seems. It definitely could use some TLC, thanks for looking into it!
I've seen such things happen but it mostly was when upgrading to a new version of feincms and the browser using a cached older version of the js for the admin pages, or me forgetting to collectstatic. That is, what you are seeing is the state of the page before the js rearranges it (yes, the admin interface is a little bit of a hack). I guess something structural has changed in the page and the js can't find the components any more, so it doesn't know what to do.

Thanks @mjl, that's more or less correct, but the page is neater before JS fires (I can send screenshot if you like), but anyway the fix for that is here but other issues stop this being a final fix.

@mjl Below is a page (different blog post) with JS disabled.  I have got the other issue fixed too, so will get 2 PRs submitted today

Further trying to click Save on the page raises a NoReverseMatch:
Reverse for 'app_list' with arguments '('',)' and keyword arguments '{}' not found.

@matthiask can i ask your view on this? IIUC you don't use FeinCMS with Reversion, but my experience is that it is simply broken when trying to use latest Reversion (2.0)

@djowett I don't know the code very well since - as you noticed - I'm not using reversion.
We are using changelist_url in our templates, and I can't find this variable in FeinCMS, Django or django-reversion. I'm wondering where this variable would come from? Same with app_label. Everyone else just passes Model._meta as opts and uses |admin_urlname and friends afterwards.
feincms/templates/admin/feincms/recover_form.html:9:                {{opts.verbose_name_plural|capfirst}} ›

Reversion 2.0 has been released in June 2016, maybe it would be best to drop compatibility with Reversion<2 for the next release of FeinCMS and rewrite the reversion templates from ground up?

@matthiask thanks for the reply!  changelist_url is defined twice in this file but it seems to disappear in 1.9+ (having been there since at least 1.3.3).
https://github.com/etianen/django-reversion/issues/445 is quite informative for changes required in other products which moved to Reversion 1.9 from a previous version.
Not sure about the compatibility issue, we are moving forward, but have only one deployment to support, but I would think that others might be restricted in their options. @mjl ?

I can't really contribute as I too, am not using reversion.

From your perspective, how intrusive is upgrading von reversion < 2 to reversion >= 2, on the reversion data side?  Or is it simply a "manage.py migrate"?

If upgrading reversion can be summarized as "do these three steps and you're done" then I see no problem with mandating reversion >= 2.

@mjl the reversion migration could be better in our view, as it removes fields at the same time as doing other structural and data changes (and then squashes them together). This means that the Reversion migration status has to match the Reversion code status - and therefore upgrades require a small 'maintenance window' there's no "phased approach" that would help in this, though I guess this does simplify support issues for Reversion.
However, given that, I've not seen any loss of data history (note we were using only one 'manager' and are only Versioning one 'db', so this is not the most complex setup).  Other than the above gripe, migration is straightforward - but if you need to rollback then it is fiddly (need to delete the squashed migration) and you at that moment will most likely wish the removed fields and their data were still there.  This is of course a 'pure' Reversion gripe,  nothing to do with FeinCMS.
We have yet to move this to production - we were hoping to ensure that PR gets merged and a release gets tagged first, but I guess that's a chicken & egg situation?
I can't guarantee I've solved all issues with taking Reversion 2.0, but I think FeinCMS needs to bite this bullet soon, as if users of both FeinCMS and Reversion want to upgrade Django past 1.8.x then they will need at least Reversion 1.10 (implied from here, but probably 2.0.x), but FeinCMS currently doesn't work with Reversion 1.10 or 1.9 (as mentioned above).
So without this PR FeinCMS is unfortunately blocking these users from upgrading past Django 1.8.

Well, if it's reasonably safe, and furthermore those old reversion versions are no longer useful with a recent django, then I'd say let's go for it. Matthias?

Yes, sounds good!

That's great. What's the next step?

@matthiask: will you do the merge? You're the boss here :-)
@daniel: do you have (or could you write) a short blurp about what
changed, why it changed, what people need to do if they use reversion?
Something to put in the release notes, pretty please? Doesn't need to be
an epic tale, so don't worry if it's just three sentences!

@mjl sure. How's this?
Fixed history (revision) form, recover form and breadcrumbs when FeinCMS is used with Reversion 2.0.x.  This accommodates refactoring that took place in Reversion 1.9 and 2.0.  If you are upgrading Reversion (rather than starting a new project), please be aware of the significant interface changes and database migrations in that product, and attempt upgrading in a development environment before upgrading a live site.

Great, thanks! Is there a web page somewhere with "upgrade to reversion 2.0 from reversion 1.x" instructions that you feel are useful and we should link to?

@mjl Np, I think the best/definitive place to go for that is https://django-reversion.readthedocs.io/en/stable/changelog.html


gulp-sass some time stop working on gulp.watch method

gulp-sass work well when i run (gulp sass) but when i use it in gulp.watch it some time work and some time not.  I make some change and save  it give me error message (File to import not found or unreadable: ./base.) in which file i change . but if i save it again it's work.

Is there any solution for this?

I find one. use gulp-wait;


Update/Add Ninja

Tool information

Tool name: Ninja
Tool license:
Add or update? Add
Desired version:
Approximate size:
If this is an add request:

Brief description of tool: Used for fast C++ builds
URL for tool's homepage: https://ninja-build.org/
Provide a basic test case to validate the tool's functionality:

Area for Triage:

Question, Bug, or Feature?:

Virtual environments affected

[ ] macOS 10.15
[ x] Ubuntu 16.04 LTS
[x ] Ubuntu 18.04 LTS
[x ] Ubuntu 20.04 LTS
[ x] Windows Server 2016 R2
[x ] Windows Server 2019

Can this tool be installed during the build?
Yes, need to download and add to path
Tool installation time in runtime

Are you willing to submit a PR?

Also, are there any plans for a CentOS hosted runner?

Hello, @sd185233.
Your request is a duplicate of #741. As were discussed in attached issue, currently we have no plans on adding ninja on our images.
I would like to suggest you to install ninja tool in runtime using the following steps:
# Ubuntu
sudo apt-get install ninja-build
# Windows
choco install ninja

As for your question related to centOS - currently we have no such plans. Different images and more flavors of existing images is something we're always considering. Unfortunately it is not possible for us to provide CentOS images at this time.

thanks for your suggestion but considering that it' easy to add Ninja to workflows on demand,...

I just asked runtime installation to be officially documented, please upvote:

#11235

Ever growing list of duplicates gathered at:

https://github.com/actions/runner-images/issues/514#issuecomment-2558554588


\llap is misaligned after \frac

\frac{1}{2}\llap| in Katex renders

However in Mathjax it renders

I confirmed that center alignment is what's supposed to happen (i.e. what happens in LaTeX).
I observe that adding a rule to .llap .inner of top: 0 fixes the problem in all examples I've tried.  But I'm not an expert in position: absolute.  Can anyone confirm that this is what we ought to do?
Some other bugs I encountered while testing (but none too important):

In LaTeX, | renders as a horizontal bar in text mode (including in \llap).  Confusing...  Not sure we want to implement this, but probably should at least in strict mode.
On the KaTeX demo page, \llap{$|$} fails with error message Cannot read property 'fontName' of undefined.  This seems to have been fixed in master though, perhaps by #1213.

PR #1162 fixes this problem. It isn't merged into master yet.

@ronkok I've tried brach with your PR. It is fixed indeed, but it introduces angother change - distance to left symbol is changed.
For example \sin\llap|1 from khan.github.io/KaTeX:

And the same in your brach (if I built it correctly):

I don't know which one is correct, just noticing.
I believe second breaks usage of lap with | as a cursor (it was mentioned in some issue) because distance between symbols change while cursor is moving.

Well, that's disappointing. Obviously my PR needs some work. I'll try to get it working before the next KaTeX release.

@spontaliku-softaria I've pushed a commit to PR #1162 that fixes the issue you found with horizontal alignment relative to an adjacent span.  Your example now renders as:

@ronkok thanks, now it works right in most places. But I stepped on another case where it looks wrong - \sqrt{\mathclap|a\mathclap|}\mathclap| :disappointed:. Here is your branch:

Here is original:

In particular, looks like it is last \mathclap| who is misaligned - it overlaps a while being outside of \sqrt\. Adding another symbol in the end fixes it:

I'm out of ideas. If anyone wants to take on this little Chrome nuance, feel free.

Fixed in #1162


.Net: Move documentation examples from documentation repo into SK repo

Motivation and Context
In order to keep documentation examples up to date, moving them to a repo where they will actually be built and run.
Description
Move documentation examples from doc repo to this one.
Contribution Checklist

[ ] The code builds clean without any errors or warnings
[ ] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[ ] All unit tests pass, and I have added new tests where possible
[ ] I didn't break anyone :smile:

@markwallace-microsoft btw. I have to create a few new samples. What is the new pattern of samples?

@markwallace-microsoft btw. I have to create a few new examples. What is the new pattern of examples?

@Krzysztof318 You can follow the ExampleNN syntax if it's a one of new sample. We are going to do an excise to group the samples and provide better names so make everything more discoverable.


Increased stack space in 0.4.3

When signing messages with private & public keys for MLDSA44, I am getting a stack overflow in 0.4.3 whereas in 0.4.0 the code executes fine.
Was there anything added between 0.4.0 and 0.4.3 that would substantially increase stack usage?
The code just gets a public key and a private key, and signs a message.
Would share, but it is proprietary.

Yes, the newer version expands both the public and private keys to internally include some pre-computed elements that speed sign/verify. Classic space-time tradeoff (and the library avoids using the heap). I will investigate this over the next few days aiming to tighten things. Three things may help for the moment:

what platform/OS are you using? How large is your message and is it on the stack?

could you add opt-level flags to your Cargo.toml as follows and let me know if it helps? This makes the compiler work a little harder to tighten things.

[profile.dev]
opt-level = 1

[profile.release]
opt-level = 1

can you try RUST_MIN_STACK=104857600 cargo test on your code? The value I have is likely way too large and can be trimmed.

Thank you!

Note also https://doc.rust-lang.org/stable/cargo/reference/profiles.html#overrides
It appears the clause below may also be sufficient. I think we may have to iterate together a bit to best resolve it (as the "fips204" syntax below is non-obvious to me).
# Set the default for dependencies.
[profile.dev.package."fips204"]
opt-level = 2

I am on Windows 11, rust compiler 1.79.0, toolchain stable-x86_64-pc-windows-msvc.

When I run with RUST_MIN_STACK=104857600 cargo test, the error does not occur. Why did you choose that value?
Message is 74 bytes long.
Adding the opt-level for fips204 in dev mode does not fix the issue.

Would it be possible to add heap allocated keys? Although I do not understand how a few thousand byte arrays would cause this. If help is required I'm willing to pitch in.
Can you detail the additional details you are storing? Maybe we could come up with a more space efficient way.

Quick follow up, maybe an alloc feature could be in order?

One of the primary requirements for the library is to run on an MCU without a heap allocator (at least for verify). So I would prefer to chase where the bloat is coming from for the moment. I believe Rust on Windows has a smaller default stack limit than Ubuntu, which partly explains why I didn't see this earlier. The 104857600 value was just an oversized guess to see if the problem could be temporarily bypassed.
Please could you rerun the RUST_MIN_STACK=104857600 cargo test with progressively smaller values to get a rough idea of where it breaks? From Windows-vs-Ubuntu, I am guessing between 1000000 and 2000000.
In parallel, I have a route towards removing two copies of a rather large object. I'll implement this either tonight or tomorrow and ping you a pointer.

I will run this when I get home in an hour or two. Which function specifically is so stack heavy? Or is it just the keys in general? Would like to take a look.

One of the primary requirements for the library is to run on an MCU without a heap allocator (at least for verify)
Fair enough. In the future an alloc feature flag could be useful.

Have a look at the keygen_internal function here https://github.com/integritychain/fips204/blob/abebea17b0c28cc3489507ffb0b60d8ba3df05dc/src/ml_dsa.rs#L360
It precomputes cap_a_hat (<- the variable you are referencing above) and stores it in both the private and public structs.
The latest commit moves the expansion of rho->cap_a_hat to the sign and verify just where it is needed. It will be transparent to users. It should dramatically shrink stack usage based on my local (and a bit goofy setup) experiments. Try picking it up per the directions at https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-git-repositories. Something like this should work:
[dependencies]
fips204 = { git = "https://github.com/integritychain/fips204.git" }

As a follow-up, without setting the stack space, stack overflow. Through trial and error, I see the error stops occuring around here,
RUST_MIN_STACK=2757600

Can confirm the latest version on git (e9553c24ee169b863119a5a61f8099a505fbc9cb) works as advertised. No stack overflow.

Thanks for this!
I need to find a few quality days to polish up some internal comments and maybe refactor a small bit of code. No externally-visible changes. I hope to do this next week, and then will release a new version. Please use the git reference until then.
As far as features, my ambition is to make this super robust and super accessible ... so more testing, more support, better docs, code reviews etc. At the moment, I don't have any new features in view as I feel it should do one thing well and avoid complexity.
I'll leave this issue open for the moment, and close it when the next release gets published.

v0.4.4 has been published and should eliminate the stack issues. Please let me know if you encounter any further issues. Thanks!


[tagger] Reduce allocations caused by passing an EntityID around

What does this PR do?
Optimizes CPU usage in the tagger by reducing heap allocations caused by passing EntityID objects as parameters.
This is a problem that was detected by AML benchmarks.
This only focuses on the default tagger store. In future PRs we'll probably need similar optimizations for the "composite" one.
Describe how to test/QA your changes
The changes here are covered by unit and integration tests. We just need to check that AML benchmarks show an improvement.

/merge


Show the amount of each item sold again , for example =sellto 10m 2 elite clues “buy for 10m or 5m each”

It used to be like this, dunno why it changed

slash commands now changed this completely, a anonymous log channel for all trades are planned tho.


Git integration (issue #7)

Add git integration (cf issue #7)
Use git2-rs to get git info. Unfortunately, it is not available on all targets. To enable it, use cargo build --features=git.
In travis config, this feature is enabled using a new FEATURES environment variable (where it is not set, git2-rs does not compile; cf https://travis-ci.com/github/hpwxf/lsd/builds/219208311).
git_stub.rs file contains a minimal set of empty/disabled features to minimize condition compilation in other files.

New git block is located by default on the left of name block and its location can be set using --blocks option
Use lsd --git --long to enable git status info (only available on long display)
Additional feature: sort by git status using lsd --sort=git --long
Default display use icons. Text display is also available.

NB: crate log has also been defined in Cargo.toml to provide debug feature. release_max_level_error feature disables log macros in release mode.

[x] Use cargo fmt
[X] Add necessary tests
[X] Add changelog entry

Codecov Report

Merging #495 (ffd940a) into master (34d12bf) will decrease coverage by 4.38%.
The diff coverage is 3.46%.

@@            Coverage Diff             @@
##           master     #495      +/-   ##
==========================================
- Coverage   84.40%   80.02%   -4.39%
==========================================
  Files          36       41       +5
  Lines        3444     3640     +196
==========================================
+ Hits         2907     2913       +6
- Misses        537      727     +190

Impacted Files
Coverage Δ

src/app.rs
95.83% <ø> (ø)

src/color.rs
56.64% <0.00%> (-22.00%)
:arrow_down:

src/config_file.rs
69.23% <ø> (ø)

src/core.rs
0.00% <0.00%> (ø)

src/display.rs
24.36% <0.00%> (-0.25%)
:arrow_down:

src/flags.rs
100.00% <ø> (ø)

src/flags/git_icons.rs
0.00% <0.00%> (ø)

src/git.rs
0.00% <0.00%> (ø)

src/git_stub.rs
0.00% <0.00%> (ø)

src/icon.rs
96.75% <0.00%> (-0.87%)
:arrow_down:

... and 13 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 34d12bf...ffd940a. Read the comment docs.

Since git2 has inconsistent behaviors on

arm-unknown-linux-gnueabihf
i686-pc-windows-msvc
x86_64-pc-windows-gnu
x86_64-pc-windows-msvc
and a compilation error on
i686-pc-windows-gnu
I will investigate what happens in git2.

Since git2-rs requires rust 1.45, I had to upgrade RUST_MIN_SRV to 1.45
Using a complex conditional compilation, git feature is always enabled except on

arm-unknown-linux-gnueabihf (tests fail in git2-rs)
i686-pc-windows-gnu (compilation fails in git2-rs)

new tests have been done to improve overall coverage (not only in new code for git feature)

NB: to support conditional compilation, I used a stub file (git_stub.rs) to provide minimal objects to avoid function signature to change or to be also conditional. This technique could reduce the patch coverage since only one version is covered by tests.

Hey, sorry about the delay. I have been pretty busy the past few weeks. Will try to get this reviewed by this week.

If I may give feedback, I've been using this branch on my machine for more than a week and found no issues whatsoever.

There is inconsistent behavior when listing outside of a repo vs inside a repo as compared with the yellow squares.  Similarly using --tree outside of a repo doesn't display status.

There is inconsistent behavior when listing outside of a repo vs inside a repo as compared with the yellow squares. Similarly using --tree outside of a repo doesn't display status.

Thank you for your comment. I will check ASAP (probably next week) what happens in this case and how to fix it.

Thank you for your comment. I will check ASAP (probably next week) what happens in this case and how to fix it.

Also I just noticed that the directory .. shows a question mark, but it isn't a repo so it shouldn't have any styling.  I put a green box around the mark in question.

Since git2-rs requires rust 1.45, I had to upgrade RUST_MIN_SRV to 1.45

Using a complex conditional compilation, git feature is always enabled except on

arm-unknown-linux-gnueabihf (tests fail in git2-rs)
i686-pc-windows-gnu (compilation fails in git2-rs)

new tests have been done to improve overall coverage (not only in new code for git feature)

May be https://crates.io/crates/git-repository could be a simple replacement to git2-rs.

Hey @hpwxf , sorry for kinda abandoning this PR. If you are still interested and won't mind fixing up the conflicts and addressing the previous issue we can get this in.

May be crates.io/crates/git-repository could be a simple replacement to git2-rs.

What do you think are the primary advantages of switching to this?

I'm closing this, but if folks want to continue on this, we can open this back up and continue work on this. Sorry that the work you did could not get merged.


Research if it's possible to provide better feedback for perma-denied permissions

We should investigate if it's possible to add a new method in PermissionListener to notify clients when the user denies a permission and asks Android to never ask him again about it.

The only way I know of doing it is by recording (e.g. using a shared preference) if the permission was ever requested before. If it was requested before AND showRationale() returns false, it means it was perma-denied. Recording the previous request is needed because showRationale() returns false both when perma-denied and when the permission was never requested at all.
It would be easy to add something like this to the library, but there are two issues I can see right away.
1 - All permission requests in the app should be done with the library, otherwise won't work
2 - If permissions were requested before the library was integrated in the app, again this won't work

Actually cross that. Since this check would happen in the listener, it means the permission must have been requested at least once before, specifically the request that invoked this very listener. So it might be sufficient to check shouldShowRationale() in the listener, and if false it's perma-denied.
Need to test this to confirm, but seems like it should work. I'd be glad to look into it and submit a PR

@anothem thanks for the insight! I'd add another case: what happens if the user changes the permissions manually through the android settings, will we be able to detect it somehow?
Feel free to send us a PR if you find a clean solution and we will be glad to review it.

Merged in master and added to release 2.0.0, thanks again @anothem !

No problem, glad to help :)

Sorry to reopen this old thread, but how exactly do I check if a permission request has been set to "never ask again" by an user?


TEST - TaskManager persistence - TaskCallback

Integration tests to be written for covering TaskCallbacks updating documents in Mongo.

Tests already added