Usage with miniflare v2

Miniflare is throwing error when creating new Request using relative url. Thus I'm getting this error Failed to parse URL from /~$~/identify when running this.
 const room = await identify(gid, reqid, {
    parent: env.LOBBY,
    child: env.ROOM,
  })

Any updates on this? miniflare unfortunately doesn't seem to respect durable_object_fetch_allows_relative_url, which was the solution in #8.

Hey, @mrbbot. I am using 2.3.0 version of Miniflare with this setup in my wrangler.toml:
compatibility_date = "2021-11-10"
compatibility_flags = [ "durable_object_fetch_allows_relative_url" ]

The dog is still failing with this output:
[mf:err] TypeError: Failed to parse URL from /~$~/identify
    at new Request (./node_modules/undici/lib/fetch/request.js:83:23)
    at new Request (./node_modules/@miniflare/core/src/standards/http.ts:407:13)
    at identify (./dist/webpack:/@toptal/topworker/node_modules/dog/index.js:422:17)
    at x.fetch (./dist/webpack:/@toptal/topworker/src/queue/proxy.ts:30:27)
    at x.processQueue (./dist/webpack:/@toptal/topworker/src/queue/proxy.ts:45:23)
    at Object.scheduled (./dist/webpack:/@toptal/topworker/src/index.ts:27:19)
    at ./node_modules/@miniflare/core/src/standards/event.ts:340:19
    at ./node_modules/@miniflare/shared/src/event.ts:29:9
    at EventTarget.<anonymous> (./node_modules/@miniflare/shared/src/event.ts:77:9)
    at EventTarget.[nodejs.internal.kHybridDispatch] (node:internal/event_target:569:20)
[mf:err] Cause: TypeError: Invalid URL
    at new NodeError (node:internal/errors:371:5)
    at onParseError (node:internal/url:552:9)
    at new URL (node:internal/url:632:5)
    at new Request (./node_modules/undici/lib/fetch/request.js:81:21)
    at new Request (./node_modules/@miniflare/core/src/standards/http.ts:407:13)
    at identify (./dist/webpack:/@toptal/topworker/node_modules/dog/index.js:422:17)
    at x.fetch (./dist/webpack:/@toptal/topworker/src/queue/proxy.ts:30:27)
    at x.processQueue (./dist/webpack:/@toptal/topworker/src/queue/proxy.ts:45:23)
    at Object.scheduled (./dist/webpack:/@toptal/topworker/src/index.ts:27:19)
    at ./node_modules/@miniflare/core/src/standards/event.ts:340:19

I tried to fix this issue on dog's side by setting a fake host (a similar thing I did in my project before trying to use dog). Here's my solution https://github.com/cloudflare/dog/pull/15


Fix conflict Rocky8

Fix merge conflict docker of Rocky8
================================================================================
INFO: Elapsed time: 1419.294s, Critical Path: 334.19s
INFO: 3608 processes: 1160 internal, 2448 local.
INFO: Build completed successfully, 3608 total actions
Test cases: finished with 1189 passing and 0 failing out of 1189 test cases

Executed 247 out of 247 tests: 247 tests pass.
INFO: Build completed successfully, 3608 total actions
Cleaning up scratch dir

Thank you! With both PRs changing the original centos7 files, it definitely was a tricky rebase. And my git-fu is not strong enough so I had to fumble my way through.

Thanks ^^;


AttributeError: module 'yaml' has no attribute 'FullLoader'---centos8.1 with elastalert-0.2.4

elastalert-create-index --config config.yaml
Traceback (most recent call last):
File "/usr/local/bin/elastalert-create-index", line 11, in
load_entry_point('elastalert==0.2.4', 'console_scripts', 'elastalert-create-index')()
File "/usr/local/lib/python3.6/site-packages/elastalert-0.2.4-py3.6.egg/elastalert/create_index.py", line 195, in main
data = yaml.load(config_file, Loader=yaml.FullLoader)
AttributeError: module 'yaml' has no attribute 'FullLoader'
env：
centos8.1.1911
elk-7.10.0
elastalert-0.2.4
I am using python3 that comes with centos8.1.1911

pip install PyYAML>=5.1

By the way, you installed it by the following operation. That should install PyYAML as well.
git clone https://github.com/Yelp/elastalert.git

# Install the module:
pip install "setuptools>=11.3"
python setup.py install

thanks!
I have resolved
i remove the centos8.1 python3
and i Compile install python3 ,Use the following command
tar xf Python-3.6.8.tar.xz yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release cd Python-3.6.8/ ./configure && make && make install

For CentOS 8
sudo dnf group install "Development Tools"
sudo dnf install python36 python3-devel python3-setuptools python3-libs python3-pip libffi-devel openssl-devel

# Python3.6 Create virtual environment
python3 -m venv ~/py36/

# Python3.6 Virtual environment switching
source ~/py36/bin/activate

Please close if resolved

Yelp/elastalert is no longer maintained. Please use jertel/elastalert2.
https://github.com/jertel/elastalert2


Fix overwriting alternate registry token

When executing cargo login, 2nd alternate registry token overwrites
1st alternate registry token.
Fixes #7701.

r? @ehuss
(rust_highfive has picked a reviewer for you, use r? to override)

Thank you for reviewing!
As you say, it seems better to avoid creating a second registry in the other tests, so I fix it. Could you review this again?
I will squashed these commits at the end.

Looks good to me, thanks!
@bors r+

:pushpin: Commit b7bc069fbb3fda9226dc3d6e0484f6469caf34bf has been approved by ehuss

:hourglass: Testing commit b7bc069fbb3fda9226dc3d6e0484f6469caf34bf with merge fc29c9cae1041442d19a1789e7723ecc040e0f2d...

:sunny: Test successful - checks-azure
Approved by: ehuss
Pushing fc29c9cae1041442d19a1789e7723ecc040e0f2d to master...


Fixed missing config

This Pull Request fixes the missing configuration in the env file. As requested, from trying to run the bot.

Good find! Thanks for contributing.


Google Recaptcha v2

hello! can anybody please help me how i can insert recaptcha v2 into this whole validation thing?
the code on the template i use looks like this:

$(".form .btn[type='submit']").on("click", function(e){
var button = $(this);
var form = $(this).closest("form");
button.prepend("

");
form.validate({
submitHandler: function() {
$.post("assets/php/email.php", form.serialize(),  function(response) {
button.find(".status").append(response);
form.addClass("submitted");
});
return false;
}
});
});

thanks in advance!

Don't know if you saw these or if they help, but for reference:

https://github.com/jquery-validation/jquery-validation/issues/1600
https://github.com/jquery-validation/jquery-validation/issues/1980

hello. yes i saw those posts, but they did not help me.

How about the example in the docs https://jqueryvalidation.org/documentation/#link-using-remote-validation-to-help-with-captchas.
Specifically, look at the captcha.js file in the source code of the page.

hey, that looks promising :-)
thank you!
i gonna mess with it later today and will share outcome.

ok, i figured out that i should seperate the recpatcha process from the validation process.
having 1 php file for the recaptcha check and 1 for the validation and sendmail.
so i made it like this: hide the html send button until the capctha box is checked, in the button click function of the jquery validation process i added the seperate check for recaptcha before the validation/form submit.
and only if the recaptcha resonse is valid then continue with validation and form submit.


Allow specification of the instance's root disk size

🗣 Description
This pull requests adds an optional input variable specifying the size of the FreeIPA instance's root disk in GB.  The new variable is optional, so it will not break existing code.
See also cisagov/cool-sharedservices-freeipa#42.
💭 Motivation and context
In some cases it makes sense to have more space than the 8GB size of the AMI.
🧪 Testing
I have successfully applied these changes to our production COOL environment.
✅ Checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated to reflect the changes in this PR.
[x] All new and existing tests pass.

The checks are currently failing due to the Terraform version upgrade.  I will re-run them when the dust settles and they should pass.


Sensor: Pasteboard

Sense for updates to the pasteboard

Consider using the publisher created by Sindre Sorhus here: https://github.com/sindresorhus/Pasteboard-Viewer


DIDKit Feature request: [FEATURE] DID Onion & TorGap

Is your feature request related to a problem? Please describe.
I’m desire a correlation-resistant endpoint.
Describe the solution you'd like
Support did:onion and your other DIDs over a TorGap.
Describe alternatives you've considered
DID-BTCR is correlation resistant if you communicate with bitcoin-core over a TorGap. We have implemented Bitcoin Standup Scripts (Linux & VPS) and Gordian Server that do this.
/cc @gorazdko @wolfmcnally @henkvancann

Hi @ChristopherA and @gorazd, with https://github.com/spruceid/didkit/pull/125 and https://github.com/spruceid/ssi/pull/147, I believe we have did-onion support. Could you please describe how two DIDs would initiate a TorGap comms link, and how messaging routing works? I am reading the documentation but any additional implementer-focused overviews/tips would be much appreciated.

Both parties can get the x25519 key agreement keys from each other’s did:onion documents. Then they can just do a simple key agreement with each other, asymmetrically encrypting with the shared key unique between the two pairs (4 keys). An example of x25519 key agreement is RFC 7748 & ssh.
This is only required some scenarios for mutual trust — unique to did:onion as compared to other DIDs you know since you were able to retrieve did:onion document at all, that the server had control of its private key associated with the public key embedded in its onion address. Both parties can do that independent without the extra step of key agreement.

Thanks for the details and references. Is there a preferred transport that you typically use with TorGap? Would TLS/mTLS be ideal for now?

Technically you don’t need TLS with tor to an onion address, as it encrypts the transport. Many sites do anyhow, but by default our demo does not.

Thanks for the clarification. didkit can now resolve did-onion with a running local proxy server. If this suits Blockchain Commons, we'd be glad to have DIDKit added under the implementation section!

Sounds great!
I’m particularly looking forward to .git files being signed with detached VCs so we can have better software provenance.

I think @dhuseby and @mlodder are working on that

I'm a huge fan of didkit's approach to SSI. We need libraries that support
did:key, did:web, and at least one or two other categories of dids in the
rubric sense. I'd like to understand where did:onion and TorGap fit in.
When applied to dids that identify human personas, I'm particularly
interested in
(a) ways we expect Verifiable Presentations to prove that two VCs issued to
two separate same-domain did:key are actually under the control of the same
subject / controller, and
(b) ways to avoid correlation of service endpoints to a self-sovereign
agent in a did:peer or other method that allows control over a service
endpoint.
Is there a reference or write-up that explains either (a) or (b) as it
relates to did:onion and/or TorGap?

Adrian

On Tue, Apr 13, 2021 at 12:07 AM wyc @.***> wrote:

I think @dhuseby https://github.com/dhuseby and @mlodder are working on
that
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/spruceid/didkit/issues/68#issuecomment-818416686, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABB4YMTXIJAYNCV7AXLSETTIO7PTANCNFSM4XLSR6GQ
.

Is there a reference or write-up that explains either (a) or (b) as it relates to did:onion and/or TorGap?

did:onion transport is inherently non-correlatable. However, if your VCs themselves correctable, the transport is not going to help any.
Using tor to connect onion address supports overall privacy through:

service anonymity - you don't get to know where the onion service is hosted
identity psuedonymity - through a self-issued 25519 public key (both parties - the tor browser and onion service - have a public keys , but only the onion service's key is persistent)
the internet traffic of both the tor browser and that of the onion server are encrypted and non-correalatable
both browser and onion server have some measure of routing censorship-resistance.

Torgap architecture adds to this a design a seperation-of-interests and reduces single-points-of-failure.
Torgap with did:onion has one other odd features in the did/vc world, which the act of connecting to an onion server and getting its did document, the holder knows that the server has control of the private key if they match, as you can't connect to the onion server unless it has that control.
See the Torgap FAQ on the advantages of did:onion and torgaps.
-- Christopher Allen


Fix #118 - don't error exit if None passed into generate_stix20_id fo…

…r the stix20 type name when the id is malformed.

Codecov Report

Merging #115 into master will decrease coverage by 0.03%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master     #115      +/-   ##
==========================================
- Coverage   71.92%   71.88%   -0.04%
==========================================
  Files          12       12
  Lines        3188     3191       +3
==========================================
+ Hits         2293     2294       +1
- Misses        895      897       +2

Impacted Files
Coverage Δ

stix2elevator/ids.py
89.18% <60%> (-2.37%)
:arrow_down:

Continue to review full report at Codecov.

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

I'm assuming you mean that this fixes #114 (not 118)?


fixed activities count for consistency

In freeCodeCamp.org/learn and freeCodeCamp.org/news it states in the search bar that it is 6,000 activities +. However, on the forum, it states 5,000+ activities.

[X] I have read freeCodeCamp's contribution guidelines.
[X] My pull request has a descriptive title (not a vague title like Update index.md)
[X] My pull request targets the master branch of freeCodeCamp.
[X] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes: #38794 on the main repository

Thank you for reporting this and submitting a fix, @MarceloDamian. We're look forward to your next contribution :+1: :+1:


[locale] ky: Fix spelling typos

@ichernev @marwahaha
Fixed small spelling errors in Kyrgyz locale.
This and this are the references from Google Translate for proof :)

Coverage decreased (-0.05%) to 88.089% when pulling 6970ab65ef62f70a9095c5fdbaa1818600f121d3 on acutexyz:fix-ky-spelling into c68b4f111c9bedfb00b96652fde09ae78138e3ee on moment:develop.

@chyngyz approval?


Do not pass camera kwargs to object base constructor

If you create a camera with an arbitrary kwargs property (eg. rosys.vision.Camera(id='cam', some_property=True)), we currently get:
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/rodja/Projects/rosys/main.py", line 27, in <module>
    camera = rosys.vision.Camera(id='cam', some_property=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/rodja/Projects/rosys/rosys/vision/camera/camera.py", line 31, in __init__
    super().__init__(**kwargs)
TypeError: object.__init__() takes exactly one argument (the instance to initialize)

This PR fixes this by not passing the kwargs to the obj base constructor in Camera.

I would suggest solving your issue directly by adding back the streaming and polling_interval parameters. I had designed it so that they trigger a deprecation warning when used and are removed from persistence. We can then remove them fully in a future version


init function of OpTypePattern has a confusing if condition

Related file: tensorflow/tensorflow/contrib/quantize/python/graph_matcher.py
At master branch, line 62 to 64。
According to the description in ValueError, I think the condition in if should like below:
if len(inputs) >= 8 and not ordered_inputs:
raise ValueError('xxx')
May this helps! Thanks!

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

It has been 15 days with no activity and the awaiting response label was assigned. Is this still an issue?


Look at supporting Marvell Ethernet chip on Digilent board

Use instead of USB

This is supported in the new misoc based firmware at https://github.com/timvideos/HDMI2USB-misoc-firmware


Have non-binary gem build from source on install

Fall back to fetch and build Node from source when libv8 binaries are absent.

Done


isSupported does not work for anything other than NDEF on iOS

seems like isSupported never got updated on iOS from v1.
IsoDep is returning false for isSupported, even though it is supported
Code below shows we are only checking for Ndef or a blank string
RCT_EXPORT_METHOD(isSupported: (NSString *)tech callback:(nonnull RCTResponseSenderBlock)callback)
{
    if (isSupported()) {
        // iOS only supports Ndef starting from iOS 11.0 (on iPhone 7 onwards)
        if ([tech isEqualToString:@""] || [tech isEqualToString:@"Ndef"]) {
            callback(@[[NSNull null], @YES]);
            return;
        }
    }

    callback(@[[NSNull null], @NO]);
}

@thecalvinchan thanks for reporting, this should be fixed in next release.

Fixed in latest v2.0.2, thanks!


DOC: zeta only accepts real input

Is there any reason why it's def zeta(x, q=None, out=None) instead of def zeta(x, q=1, out=None)?  Looks like the latter would be identical and more clear.

See https://github.com/scipy/scipy/pull/6094.


Autocomplete prompt did not use content from other files

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS:
- Continue version:
- IDE version:
- Model:
- config.json:

Description
According to the doc context-selection, the context selection for codecomplete includes Definitions from the Language Server Protocol and Imported files, but I did not see these contents in the prompt log.

To reproduce
No response
Log output
No response

@liulisi16323 try setting tabAutocompleteOptions.useRootPathContext to true in config.json. This is a new feature that we've been incrementally rolling out and will make it fully used soon, but for now this will guarantee that we use the LSP

@liulisi16323 try setting tabAutocompleteOptions.useRootPathContext to true in config.json. This is a new feature that we've been incrementally rolling out and will make it fully used soon, but for now this will guarantee that we use the LSP

still not working. vscode v1.94.2, continue v0.9.217.
set in config.json
  "tabAutocompleteOptions": {
    "useRootPathContext": true
  }

same issue

I have the same issue, for autocomplete, it never include code from recent files and import.


Automanage - Added automation with ARM for Azure Arc-enabled servers

Added a new doc for Azure Arc-enable servers onboarding to Automanage using an ARM template

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

Hi @DavidCBerry13 - If you approve the addition of this new article, we will need to move it to the private repo for automated checks and PR review.
#label:"aq-pr-triaged"

@ju-shim - Are you still handling the automanage stuff?  Can you take a look at this?

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

@DavidCBerry13, okay to merge? Thanks.

PR reviewers: After this submission is approved, it will need to be moved to the private repo for automated checks and PR review.

@jborsecnik  - Yes, go for it

The commits in this PR were moved to the private repo in https://github.com/MicrosoftDocs/azure-docs-pr/pull/191080


[turborepo] prune - npm local filesystem package not working

What version of Turborepo are you using?
1.10.3
What package manager are you using / does the bug impact?
npm
What operating system are you using?
Mac
Describe the Bug
When one of the application in the workspace has local folder as a package - npm install will fail on "pruned" package-lock.json with error:
npm ERR! Cannot read properties of undefined (reading 'extraneous')

Expected Behavior
Turborepo should work with local folder npm package.
To Reproduce

npx create-turbo -e kitchen-sink - use npm
Add local file system (folder) as a package to api application:

  "dependencies": {
    "test-package": "./src/vendor/test-package"
  },

Run  turbo prune --scope=api --docker
Copy ./out/json/ to ./out2
Copy ./out/package-lock.json to ./out2/package-lock.json
Copy ./apps/api/src/vendor/test-package to ./out2/apps/api/src/vendor/test-package
Move out2 outside of the project (mimic Dockerfile) Try to npm i
Error will be thrown: npm ERR! Cannot read properties of undefined (reading 'extraneous')

Reproduction Repo
No response

Any update?

We have the same issue on Linux platforms.
node v18.13.0
npm v8.19.3

Not sure about any unintended consequences, but npm update before the npm install command seems to workaround the issue.
From our Dockerfile:
COPY .gitignore .gitignore
COPY --from=builder /app/out/json/ .
COPY --from=builder /app/out/package-lock.json ./package-lock.json

# update as a workaround for:
#   https://github.com/vercel/turbo/issues/5332
RUN npm update

RUN npm install

Since we are running update on the package.json and package-lock.json that turbo prune and spat out, we think it should be fine, but needs more testing.
A few caveats:

npm update will update to the latest within a semver range. We use exact versions, so not a big deal for us.
might be safer to run with --save=false to override it being set in .npmrc.
npm update is a slow operation, so it adds significant time to the image build process.

I added this line to my Dockerfile before running npm install, and looks like the npm version in node:18-alpine is just plain old (`8.19.3).
RUN npm install --global<EMAIL_ADDRESS>

Based on the comments above, it sounds like this is an npm issue rather than an issue with --prune.
I'll close this out but please open a fresh issue if you're still running into this problem.


Zally is not too strict for some kinds of YAML issues: semantic and structural

Hi, the following YAML

is perfect for Zally,
has three errors, detected by each of https://editor.swagger.io/, https://apitools.dev/swagger-parser/online/ and https://github.com/p1c2u/openapi-spec-validator, https://mvnrepository.com/artifact/com.atlassian.oai/swagger-request-validator-core:

Token "second" does not exist., must be fixed by removing line - $ref: '#/components/parameters/second'
Token "definitions" does not exist., must be fixed by replacing definitions with schemas
Swagger schema validation failed.  Data does not match any schemas from 'oneOf' at #/paths//endpoints/get/responses/default Expected type object but found type null at #/paths//endpoints/get/responses/default/content Missing required property: $ref at #/paths//endpoints/get/responses/default, must be fixed by uncommenting whole paths/endpoints/responses/default/content clause.

Summary by https://editor.swagger.io/:

Semantic error at paths./endpoints.get.parameters.1.$ref
$refs must reference a valid location in the document
Jump to line 26
Semantic error at paths./endpoints.get.responses.200.content.application/json.schema.$ref
$refs must reference a valid location in the document
Jump to line 33
Structural error at paths./endpoints.get.responses.default.content
should be object
Jump to line 36

These kind of errors happened with me when migrated from Swagger2 to OpenAPI3, and simultaneously simplifying the API, that resulted in dirty YAML.
Shouldn't these kind of errors be detected by Zally? Currently I cannot trust its linting, and downstream team reports issues, since they lint with more strict swagger-request-validator-core. As a short-term solution, I added extra lint step with openapi-spec-validator to our CI/CD pipeline.
It will be definitely nice, if Zally would not have much looser rules than other industry-used linters. In addition, these kind of errors are definitely nice to be detected.
Or, do you have real reasons to allow such YAML issues come unnoticed?
Note: it looks like fixing these issues would help to following main Zally topics:

Zally is a quality assurance tool. It's a linter for OpenAPI specifications, which:
Increases the quality of APIs
Provides best practices and advices

openapi: '3.0.3'
info:
  title: test
  x-api-id: 5fb3eef8-54cd-11eb-ae93-0242ac130001
  x-audience: company-internal
  description: My API
  version: "0.1.0"
  contact:
    name: Team
    email<EMAIL_ADDRESS>    url: https://team.email.de
servers:
  - url: "https://team-email.zalandoapis.com"
    description: "Production instance"
paths:
  /endpoints:
    get:
      security:
        - oauth2:
            - uid
      summary: Return list of something.
      tags:
        - Return
      parameters:
        - $ref: '#/components/parameters/first'
        - $ref: '#/components/parameters/second'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/definitions/Result'
        default:
          description: A processing or an unexpected error.
          content:
#          application/problem+json:
#            schema:
#              $ref: 'https://opensource.zalando.com/restful-api-guidelines/problem-1.0.1.yaml#/Problem'
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://identity.zalando.com/oauth2/token
          scopes:
            uid: Unique identifier of the user accessing the service.
  parameters:
    first:
      name: X-Frontend-Type
      in: header
      required: true
      schema:
        type: string
        example: mobile-app
      x-extensible-enum:
        - browser
        - mobile-app
      description: Examples:{browser|mobile-app}
  schemas:
    Result:
      type: object
      properties:
        recommendations:
          type: array
          description: List of something
          items:
            type: string

Hi @vsukharev!
Thank you for pointing these problems. Yes, I think Zally should catch these problems.
The validation you mentioned $refs must reference a valid location in the document is not a part of a library for API validation by the part of the editor. We would need to implement an additional check for all references.
Structural error at paths./endpoints.get.responses.default.content should be object seems to come from JSON or YAML validator.
Token "XXX" does not exist is not a default validation but a custom validation supported by other tools. I also think it is worth to add it here.


[Bug]: during upload autocomplete of categories loads forever

Summary
I am uploading files with the app and in Step 3 of 4: Categories the loading icon circles forever. It began to circle immediately when reaching this step, not only after entering some text. Entering text makes no difference: icon still spins, no suggestions are presented.
Steps to reproduce

open app
upload image
enter description
confirm you took the image yourself
skip depicted object
categories screen reached

Expected behaviour
Should load categories while typing. Before first text input screen should be clear or default/automatic categories be loaded.
Actual behaviour
No categories loaded. Seems to load forever.
Device name
Fairphone 3
Android version
Android 13 from LineageOS 20
Commons app version
4.0.3
Device logs
No response
Screen-shots
No response
Would you like to work on the issue?
None

Thanks! Does it happen to you every time, or just sometimes? Would you mind copy/pasting the exact version string from the About screen?

I uploaded several images today and the behavior was always as described. Version 4.0.3~cf35307d9
from F-Droid.

Thanks! Strangely I was able to get categories now using a very close version. Would you be able to send a log?

Interestingly, I did not have this issue in f-droid 4.0.3~cf35307d9, but am now hitting it (seemingly every time!) in f-droid 4.1.0~1649d1e2c on Android 10 (EMUI 12), Huawei P30 Pro.
It happens both on good mobile data, and on good wifi, no matter how long I wait. It does not happen in other searches (e.g. "depicts" step), which seem to rule out network connectivity issues.
here is video:
https://github.com/commons-app/apps-android-commons/assets/156656/9f3aa0eb-0a13-4ebe-9dcf-fb6e29c46f4f

and here is a log (click to expand...)
2023-06-17 11:24:31,660     [DEBUG] [file-logging-thread-1] [UploadModel] : File created date is<PHONE_NUMBER>813
2023-06-17 11:24:31,661     [DEBUG] [file-logging-thread-1] [FileMetadataUtils] : Retuning tags for pref:Author
2023-06-17 11:24:31,661     [DEBUG] [file-logging-thread-1] [FileProcessor] : Checking for tag: Artist
2023-06-17 11:24:31,662     [DEBUG] [file-logging-thread-1] [FileProcessor] : Exif tag Artist with value /mn/ OpenCamera wide my fork redacted.
2023-06-17 11:24:31,663     [DEBUG] [file-logging-thread-1] [FileProcessor] : Checking for tag: CameraOwnerName
2023-06-17 11:24:31,663     [DEBUG] [file-logging-thread-1] [FileMetadataUtils] : Retuning tags for pref:Copyright
2023-06-17 11:24:31,663     [DEBUG] [file-logging-thread-1] [FileProcessor] : Checking for tag: Copyright
2023-06-17 11:24:31,663     [DEBUG] [file-logging-thread-1] [FileMetadataUtils] : Retuning tags for pref:Serial Numbers
2023-06-17 11:24:31,663     [DEBUG] [file-logging-thread-1] [FileProcessor] : Checking for tag: BodySerialNumber
2023-06-17 11:24:31,663     [DEBUG] [file-logging-thread-1] [FileProcessor] : Checking for tag: LensSerialNumber
2023-06-17 11:24:31,673     [DEBUG] [file-logging-thread-1] [FileProcessor] : Calling GPSExtractor
2023-06-17 11:24:31,674     [DEBUG] [file-logging-thread-1] [ImageCoordinates] : EXIF data has location info
2023-06-17 11:24:31,676     [DEBUG] [file-logging-thread-1] [CategoryApi] : URL: https://commons.wikimedia.org/w/api.php?action=query&prop=categories%7Ccoordinates%7Cpageprops&format=json&clshow=%21hidden&coprop=type%7Cname%7Cdim%7Ccountry%7Cregion%7Cglobe&codistancefrompoint=45.50175094583334%7C16.371196746666666&generator=geosearch&ggscoord=45.50175094583334%7C16.371196746666666&ggsradius=10000&ggslimit=10&ggsnamespace=6&ggsprop=type%7Cname%7Cdim%7Ccountry%7Cregion%7Cglobe&ggsprimary=all&formatversion=2
2023-06-17 11:24:31,676     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.1
2023-06-17 11:24:31,677     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,690     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.2
2023-06-17 11:24:31,690     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,699     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.3
2023-06-17 11:24:31,699     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,704     [DEBUG] [file-logging-thread-1] [MediaLicenseFragment] : Position: 3 Attribution 4.0
2023-06-17 11:24:31,710     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.4
2023-06-17 11:24:31,711     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,717     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.5
2023-06-17 11:24:31,717     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,727     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.6
2023-06-17 11:24:31,727     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,740     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.7
2023-06-17 11:24:31,743     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,751     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.8
2023-06-17 11:24:31,752     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,759     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.9
2023-06-17 11:24:31,759     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,764     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 1.0
2023-06-17 11:24:31,764     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,874     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.1
2023-06-17 11:24:31,878     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:24:31,880     [INFO ] [file-logging-thread-1] [UploadMediaDetailAdapter$ViewHolder] : descItemEditText:fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText{3a800 VFED..CL. ......I. 0,0-0,0 #7f0900e4 app:id/description_item_edit_text}
2023-06-17 11:24:31,880     [DEBUG] [file-logging-thread-1] [UploadMediaDetailAdapter$ViewHolder] : UploadMediaDetail is UploadMediaDetail(languageCode=null, descriptionText=, captionText=)
2023-06-17 11:24:32,205     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,206     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,206     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,206     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,207     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,207     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,207     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,207     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,208     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,208     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,208     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,208     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,209     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,209     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,209     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,209     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,210     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,210     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,210     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,211     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,211     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,211     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,211     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,211     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,211     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,211     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,212     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,212     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,212     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,213     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,213     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,213     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,213     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:32,213     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:24:40,360     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Current image quality is -2
2023-06-17 11:24:40,361     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Checking the validity of image
2023-06-17 11:24:40,361     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Checking for duplicate image /data/user/0/fr.free.nrw.commons/cache/CommonsContributions/e8f7e90d-a957-46af-8198-e4b7d2769ee9.jpg
2023-06-17 11:24:40,361     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Checking for image geolocation /data/user/0/fr.free.nrw.commons/cache/CommonsContributions/e8f7e90d-a957-46af-8198-e4b7d2769ee9.jpg
2023-06-17 11:24:40,361     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Checking for dark image /data/user/0/fr.free.nrw.commons/cache/CommonsContributions/e8f7e90d-a957-46af-8198-e4b7d2769ee9.jpg
2023-06-17 11:24:40,361     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Checking for image title [UploadMediaDetail(languageCode=hr, descriptionText=, captionText=kip ispred crkve sv. , Sisak)]
2023-06-17 11:24:40,371     [INFO ] [file-logging-thread-1] [FileUtils] : File SHA1: f71320856465a064d45aaf53f6f3d27bae99367e
2023-06-17 11:24:40,552     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Result for valid title is false
2023-06-17 11:24:40,574     [DEBUG] [file-logging-thread-1] [ImageUtils] : Checking image darkness took 211 ms.
2023-06-17 11:24:40,576     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : Result for duplicate image false
2023-06-17 11:24:40,576     [DEBUG] [file-logging-thread-1] [ImageProcessingService] : duplicate: 0, geo: 0, dark: 0, title: 0fbmd:0exif:0
2023-06-17 11:24:48,366     [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"cirrussearch-backend-error","info":"We could not complete your search due to a temporary problem. Please try again later.","docref":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1447"}
	at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at retrofit2.OkHttpCall.execute(OkHttpCall.java:190)
	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleToObservable.subscribeActual(SingleToObservable.java:35)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.subscribe(ObservableCombineLatest.java:117)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest.subscribeActual(ObservableCombineLatest.java:71)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.subscribe(ObservableCombineLatest.java:117)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest.subscribeActual(ObservableCombineLatest.java:71)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableMap.subscribeActual(ObservableMap.java:32)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableZip$ZipCoordinator.subscribe(ObservableZip.java:110)
	at io.reactivex.internal.operators.observable.ObservableZip.subscribeActual(ObservableZip.java:72)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)

2023-06-17 11:24:48,374     [ERROR] [file-logging-thread-1] [CategoriesPresenter$onAttachView] : java.lang.IllegalStateException: closed
	at okio.RealBufferedSource.read(RealBufferedSource.kt:185)
	at okio.ForwardingSource.read(ForwardingSource.kt:29)
	at retrofit2.OkHttpCall$ExceptionCatchingResponseBody$1.read(OkHttpCall.java:290)
	at okio.RealBufferedSource.select(RealBufferedSource.kt:229)
	at okhttp3.internal.Util.readBomAsCharset(Util.kt:265)
	at okhttp3.ResponseBody$BomAwareReader.read(ResponseBody.kt:208)
	at com.google.gson.stream.JsonReader.fillBuffer(JsonReader.java:1291)
	at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:1329)
	at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:550)
	at com.google.gson.stream.JsonReader.peek(JsonReader.java:426)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:207)
	at org.wikipedia.json.PostProcessingTypeAdapter$1.read(PostProcessingTypeAdapter.java:26)
	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:39)
	at retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:27)
	at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:227)
	at retrofit2.OkHttpCall.execute(OkHttpCall.java:190)
	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleToObservable.subscribeActual(SingleToObservable.java:35)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.subscribe(ObservableCombineLatest.java:117)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest.subscribeActual(ObservableCombineLatest.java:71)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.subscribe(ObservableCombineLatest.java:117)
	at io.reactivex.internal.operators.observable.ObservableCombineLatest.subscribeActual(ObservableCombineLatest.java:71)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableMap.subscribeActual(ObservableMap.java:32)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableZip$ZipCoordinator.subscribe(ObservableZip.java:110)
	at io.reactivex.internal.operators.observable.ObservableZip.subscribeActual(ObservableZip.java:72)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)

2023-06-17 11:25:15,906     [INFO ] [file-logging-thread-1] [FileUtils] : File SHA1: 1e4f743da13708be611b4ec8de16054b5b2f5398
2023-06-17 11:25:15,907     [DEBUG] [file-logging-thread-1] [UploadModel] : Created timestamp while building contribution is<PHONE_NUMBER>813, Sat Jun 17 13:21:10 GMT+02:00 2023
2023-06-17 11:25:15,907     [DEBUG] [file-logging-thread-1] [UploadController] : UploadController/doInBackground, contribution.getLocalUri():/data/user/0/fr.free.nrw.commons/cache/CommonsContributions/e8f7e90d-a957-46af-8198-e4b7d2769ee9.jpg
2023-06-17 11:25:16,007     [ERROR] [file-logging-thread-1] [UploadWorker$doWork] : Queued Contributions: 1
2023-06-17 11:25:16,069     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 1, offset: 0
2023-06-17 11:25:18,109     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 1, offset: 524288
2023-06-17 11:25:18,112     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 2, offset: 524288
2023-06-17 11:25:19,720     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 2, offset: 1048576
2023-06-17 11:25:19,725     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 3, offset: 1048576
2023-06-17 11:25:21,424     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 3, offset: 1572864
2023-06-17 11:25:21,429     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Sending Chunk number: 4, offset: 1572864
2023-06-17 11:25:23,630     [DEBUG] [file-logging-thread-1] [UploadClient] : Chunk: Received Chunk number: 4, offset: 0
2023-06-17 11:25:23,632     [DEBUG] [file-logging-thread-1] [UploadClient] : Upload stash success e9213710-3088-4faf-9104-aa18c698dc3a
2023-06-17 11:25:23,632     [DEBUG] [file-logging-thread-1] [UploadWorker] : Upload to stash success for fileName: kip ispred crkve sv. , Sisak.jpg
2023-06-17 11:25:23,633     [DEBUG] [file-logging-thread-1] [UploadWorker] : Ensure uniqueness of filename
2023-06-17 11:25:24,028     [DEBUG] [file-logging-thread-1] [PageContentsCreator] : Template: == {{int:filedesc}} ==
{{Information
|description=

|source={{own}}
|author=[[User:Mnalis|Mnalis]]
|date={{According to Exif data|2023-06-17}}
}}
{{Location|45.50175094583334|16.371196746666666}}
== {{int:license-header}} ==
{{self|cc-by-4.0}}

{{Uploaded from Mobile|platform=Android|version=4.1.0~1649d1e2c}}
{{subst:unc}}
2023-06-17 11:25:24,620     [DEBUG] [file-logging-thread-1] [LocationServiceManager] : Provider network disabled
2023-06-17 11:25:24,881     [DEBUG] [file-logging-thread-1] [ContributionsFragment] : Number of notifications is 1
2023-06-17 11:25:25,168     [DEBUG] [file-logging-thread-1] [LocationServiceManager] : on location changed
2023-06-17 11:25:25,169     [DEBUG] [file-logging-thread-1] [NearbyController] : Loading attractions near lat/lng: (45.50148422552178,16.37106907640391)
2023-06-17 11:25:25,169     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.3
2023-06-17 11:25:25,170     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2023-06-17 11:25:25,385     [DEBUG] [file-logging-thread-1] [NearbyPlaces] : 1 results at radius: 0.300000
2023-06-17 11:25:25,385     [DEBUG] [file-logging-thread-1] [NearbyController] : Sorting places by distance...
2023-06-17 11:25:25,386     [DEBUG] [file-logging-thread-1] [NearbyNotificationCardView] : Update nearby card notification content
2023-06-17 11:25:26,746     [DEBUG] [file-logging-thread-1] [UploadWorker] : Stash Upload success..proceeding to make wikidata edit
2023-06-17 11:25:26,935     [DEBUG] [file-logging-thread-1] [WikidataEditService] : EntityId for image was received successfully: 133208310
2023-06-17 11:25:27,705     [DEBUG] [file-logging-thread-1] [WikidataEditService] : DEPICTS property was set successfully for 133208310
2023-06-17 11:25:28,431     [DEBUG] [file-logging-thread-1] [WikidataEditService] : Caption successfully set, revision id = org.wikipedia.dataclient.mwapi.MwPostResponse@185f608[success=1,errors=<null>]
2023-06-17 11:25:28,431     [DEBUG] [file-logging-thread-1] [UploadWorker] : WikiDataEdit not required, upload success
2023-06-17 11:25:28,855     [INFO ] [file-logging-thread-1] [FileUtils] : File SHA1: f71320856465a064d45aaf53f6f3d27bae99367e
2023-06-17 11:25:34,656     [DEBUG] [file-logging-thread-1] [MediaDetailFragment] : Media license is: CC BY 4.0
2023-06-17 11:25:34,659     [DEBUG] [file-logging-thread-1] [MediaDetailFragment] : Media license is: CC BY 4.0
2023-06-17 11:25:34,850     [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"badinteger","info":"Invalid value \"M133208310\" for integer parameter \"pageids\".","docref":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1412"}
	at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at retrofit2.OkHttpCall.execute(OkHttpCall.java:190)
	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:39)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleAmb.subscribeActual(SingleAmb.java:84)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)

2023-06-17 11:25:34,871     [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"badinteger","info":"Invalid value \"M133207322\" for integer parameter \"pageids\".","docref":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1388"}
	at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at retrofit2.OkHttpCall.execute(OkHttpCall.java:190)
	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleResumeNext.subscribeActual(SingleResumeNext.java:39)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleAmb.subscribeActual(SingleAmb.java:84)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)

2023-06-17 11:25:34,876     [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"missingtitle","info":"The page you specified doesn't exist.","*":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1427"}
	at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at retrofit2.OkHttpCall.execute(OkHttpCall.java:190)
	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)

2023-06-17 11:25:34,878     [DEBUG] [file-logging-thread-1] [MediaDataExtractor] : Error occurred while fetching discussion
2023-06-17 11:25:34,879     [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"missingtitle","info":"The page you specified doesn't exist.","*":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1421"}
	at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:90)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:221)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
	at retrofit2.OkHttpCall.execute(OkHttpCall.java:190)
	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:42)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
	at io.reactivex.Observable.subscribe(Observable.java:12267)
	at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleMap.subscribeActual(SingleMap.java:34)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.Single.subscribe(Single.java:3603)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)

2023-06-17 11:25:34,879     [DEBUG] [file-logging-thread-1] [MediaDataExtractor] : Error occurred while fetching discussion
2023-06-17 11:25:35,217     [DEBUG] [file-logging-thread-1] [MediaDetailFragment] : Media license is: CC BY 4.0
2023-06-17 11:25:35,302     [DEBUG] [file-logging-thread-1] [MediaDetailFragment] : Media license is: CC BY 4.0
2023-06-17 11:25:40,049     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,049     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,049     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,050     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,050     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,050     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,051     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,051     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,051     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,052     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,052     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022
2023-06-17 11:25:40,052     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2022

If I choose to skip categories despite warning, the image gets uploaded normally, and when it is uploaded, I can always edit the categories normally! So every upload has become two-step process now with 4.1.0 - upload file without categories, and then edit the file to add categories (it is even more annoying then just two-separate-steps-requiring-full-upload-first, as then I do not get suggested categories, which in normal workflow are suggested depending on what was chosen in depicts)

error seems to be of the format
2023-06-18 02:19:54,137     [ERROR] [file-logging-thread-1] [OkHttpConnectionFactory$UnsuccessfulResponseInterceptor] : java.io.IOException: {"error":{"code":"cirrussearch-backend-error","info":"We could not complete your search due to a temporary problem. Please try again later.","docref":"See https://commons.wikimedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."},"servedby":"mw1449"}

Which would be much more useful if it was logged with DEBUG priority prior to this actual HTTP call (with params) that app is actually doing when it receives that error...

I don't know if that is related, mediawiki-api-announce that this error code mentions has recently issues an announce about decommissioning of an API that Commons app might be using at about this time of the year: https://github.com/commons-app/apps-android-commons/issues/5239

It seems to occur only sometimes, depending on the server side. With the same hardware/software (4.1.0~1649d1e2c on Android 10/EMUI 12 on Huawei P30 Pro):

server throws error and app category "loading" circle loops forever on 16 and 17 June 2023
works normally (shows categories during adding media)  on 18 and 20 June 2023

So, the issue seems to be either server side, or a combination of server side and API app uses.
I've tried to ask at Commons:Village_pump "intermittent cirrussearch-backend-error when trying to select category in Wikimedia Commons Android app?"
Even if the issue is purely server-side (which I find somewhat unlikely, as I've encountered error dozens of times using commons app, but never when using https://commons.wikimedia.org/wiki/Special:UploadWizard - despite using web-upload page longer), app probably should:

log URLs with DEBUG priority which it is accesing (see above)
handle situation when server returns the error - i.e. show alert window cirrussearch-backend-error / We could not complete your search due to a temporary problem. Please try again later. to the user instead of showing "loading" spinner indefinitely.

Also of note, app still logs several errors like
"code":"badinteger","info":"Invalid value "M133255861" for integer parameter "pageids". and
"code":"missingtitle","info":"The page you specified doesn't exist."
even in cases where upload and selecting categories seem to work fine.

So, the issue seems to be either server side, or a combination of server side and API app uses.
I've tried to ask at Commons:Village_pump "intermittent cirrussearch-backend-error when trying to select category in Wikimedia Commons Android app?"

That's a good idea! You could also try posting on the wikitech-l mailing list. That's also a relevant place for such a query.

Some more digging found that this latest outage on 17./18. June 2023. was indeed worldwide server issue, as tracked in https://phabricator.wikimedia.org/T339810 and documented in https://wikitech.wikimedia.org/wiki/Incidents/2023-06-18_search_broken_on_wikidata_and_commons later. I'll assume previous encounters of the error were also likely to be such site-wide server issues.

Thus, regarding Commons app, it is likely only a matter of making the error visible to the user (and for later debugging in log, if some of the errors are not due to server failure but invalid API usage for example), i.e. as note above:

log URLs with DEBUG priority which it is accessing (see above)
handle situation when server returns the error - i.e. show alert window cirrussearch-backend-error / We could not complete your search due to a temporary problem. Please try again later. to the user instead of showing "loading" spinner indefinitely.

Thanks a lot @mnalis for the great investigation (and for all of your other recent contributions too)!
Would you mind creating a new bug issue explaining what needs to be implemented?

Hi @nicolas-raoul, I'm looking to contribute to open source for the first time. Can be assigned this issue?

@1fn0t Yes but first, did you manage to reproduce the issue? 🙂

@SUPWEZZ Did you manage to reproduce the issue? 🙂

The goal here is to make Commons server outages result in a user-friendly error popup, so it is OK to artificially make the error appear, for instance by disconnecting from the Internet just before proceeding to the categories selection screen.


komikku: 1.62.0 -> 1.63.0

Diff: https://codeberg.org/valos/Komikku/compare/v1.62.0...v1.63.0
Changelog: https://codeberg.org/valos/Komikku/releases/tag/v1.63.0

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

komikku

aarch64-linux

:white_check_mark: 1 package built:

komikku

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 356835

x86_64-linux

:white_check_mark: 1 package built:

komikku

aarch64-linux

:white_check_mark: 1 package built:

komikku

x86_64-darwin

:fast_forward: 1 package marked as broken and skipped:

komikku

aarch64-darwin

:fast_forward: 1 package marked as broken and skipped:

komikku


Async Chunk Generation Before Teleporting

Plugin Version:

2.11.1-BETA
Request:

Async chunk generation before teleporting.
How/Why:

If a player is teleported to a location without generated chunks nearby, a huge amount of the nearby chunks will be generate in main thread.
It will cause a sudden TPS Loss.
If we generate chunks asynchronously before teleporting, It will be solved.
You can find what I do here
PaperLib is a better solution maybe.
Additional Context:

None

I've attempted to load chunks async in the past, but the bukkit api does not allow to be called/run asynchronously. So this is fairly impossible to do to keep it compatible for most spigot and bukkit servers.

I've attempted to load chunks async in the past, but the bukkit api does not allow to be called/run asynchronously. So this is fairly impossible to do to keep it compatible for most spigot and bukkit servers.

Why not try PaperLib?

mhh, you know what, I just learned about maven plugins, i'll take you up on the challenge and try this out. I will let you know if i'm successful ;)

Using this library seems to work as expected. I will be doing some more tests, but this seems like I will be using this library moving forward. Thank you for the great suggestion ;)


File Manager example is broken

Just tried yo node-webkit and selected the File Manager and the example is too outdated.
Running on mac, and then running grunt dist-mac does not work, because of JShint errors.

Yes, it works! Thanks :)

Close as clarified


Skia: Modals do trigger assertion

Assertion https://github.com/stergiotis/imgui/blob/master/imgui.cpp#L5057 does not hold as the skia backend will not generate these vertices.
When commented out, modals work with a limitation: The dimmed background is above the modal instead of below.

Mitigated by https://github.com/stergiotis/imzero_client_cpp/commit/dd50ea81712dc55e0c5dfec399c6ce682f38f909


v2.0.1

Changes:

Bugfix: :bug: Make it work where there isn't a filesystem available #54 #55
Improvement: :sparkles: You may now use aliases in cp_isolation and cp_exclusion arguments #47
Bugfix: :bug: Using explain=False permanently disable the verbose output in the current runtime #47
Bugfix: :bug: One log entry (language target preemptive) was not show in logs when using explain=True #47
Bugfix: :bug: Fix undesired exception (ValueError) on getitem of instance CharsetMatches #52
Improvement: :wrench: Public function normalize default args values were not aligned with from_bytes  #53

Codecov Report

Merging #56 (82e84f3) into master (480fee6) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #56   +/-   ##
=======================================
  Coverage   84.40%   84.40%
=======================================
  Files          12       12
  Lines        1071     1071
=======================================
  Hits          904      904
  Misses        167      167

Impacted Files
Coverage Δ

charset_normalizer/version.py
100.00% <100.00%> (ø)

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 480fee6...82e84f3. Read the comment docs.

Have you done integration testing with Requests for this release?

Yes. Doing these as we speak. I need more time to finish these, but will soon. I will try to add an automated action afterward.

Do you have any more concerns regarding the core architecture?

@Ousret I didn't find any other problems no. I was curious about https://github.com/Ousret/charset_normalizer/blob/master/charset_normalizer/hook.py as it looks like it tries to use unicodedata2 which is a backport for Python 2? Maybe that file isn't needed anymore?

Yes. Doing these as we speak. I need more time to finish these, but will soon. I will try to add an automated action afterward.

Feel free to copy urllib3's integration testing format if you need inspiration.

Everything is OK! Will proceed then.


Fix forget password link in login interceptor modal

Description
In the login modal shown when the auth token is expired, the button "Forget Password?" does not work.
How to reproduce

Login as any user.
Delete the authToken for your local storage
Click on the "Forget Password?" button in the modal.

https://user-images.githubusercontent.com/38964092/165505466-9e737322-147d-4b8d-972f-fd5e160b893c.mp4
Cause
The bug comes from the migration to react-router v6 (commit).
The section causing the bug is the On Route Change not triggering when the route changes.
  // On Route Change
  useEffect(() => {
    if (isOpen && pathname !== pathnameRef.current) {
      updateToken(null);
      onClose();
    }
  }, [isOpen, updateToken, onClose, pathname]);

Useful links
Prevent navigation in react router v6: https://github.com/remix-run/react-router/issues/8139

Hi 👋
I take this issue if it's good for you 😀

Hi 👋 I take this issue if it's good for you 😀

@FlorianGille  Do you already have a solution to this bug?

Hi @joaoflaviosantos!
Not yet, I have not had much time in the last few days/weeks but I'll try to find a solution to this issue soon! (I hope this week)
Don't hesitate if you have any ideas 🙂

Hello :wave:
I prefer to unassign myself from this issue instead of keeping myself on it. If someone want to take it, feel free to do! :slightly_smiling_face:


Use returns as a result

The returns library was created for usage in dry-python I'm assuming.
We should replace our stories._return module with it.

Hi,
Yes, returns is a lightweight alternative to the stories library with a slightly different approach.
I still trying to wrap my head around this integration.
Maybe @sobolevn has some insights on it.
Regards, Artem.

I had some ideas on how to integrate them together, but typing did not work well.
So, I am open to any suggestions.

I guess the main goal for us - use @pipeline decorator on each step. So we need to integrate context object with it. @safe will be used on the implementation of each step in separate modules.

Not a the moment I guess.
The more I'm thinking about rollbacks implementation, the more I start to realize it'll be incompatible at all.
I guess we should keep stories and returns as a separate implementation of the same ideas with a different approach.


Assembly File version differs from Latest

Is it possible to update the assembly file version number to 1.9.1 instead of 1.9.0? That confuses a lot of people

Hi!! NativeUI is no longer supported and has been deprecated.

If you are a user, contact the mod developer and tell them to switch to LemonUI.
If you are a developer, switch from NativeUI to LemonUI by following the Upgrading from NativeUI guide


Add Autocomplete for wc3 resource paths

The easiest solution would be to just add constants for all icons, models, and sounds to the standard library.
A really good solution would include a preview of models and icons, search functionality, etc. That would be a lot of work.
So what do you want?

I think model previews would be a bit overkill, but  icon/texture previews should be doable.
As for the constants, sure generating a big list of constants from the list files would work, but there is also the problem with the names inside the editor being different from the model name in many cases.
Also what about autocomplete performance? And I wouldn't want them to show always. Maybe have an autocomplete prefix

Some thoughts:
We could put theese constants inside a wrapper class so they wouldn't affect normal autocompletion.
Another problem is the global variable limit, the war3.mpq contains around 10760 files. Ofc not all of them are needed but if each file gets it's own constant the limit will be reached easily. So we could use getter functions instead:
class Assets
    static function ReplaceableTexturesBarrensTreeBarrensTree() returns string
        return "ReplaceableTextures\\BarrensTree\\BarrensTree.blp"

//access the icon
function foo()
    string myIcon = Assets.ReplaceableTexturesBarrensTreeBarrensTree()

I think texture previews are pretty nice, and as far as i know OgerLord wrote already a blp2 loader. It also could be difficult to get theese file out of the mpq. Iam not sure if jmpq-v3 is fast enough to load them at runtime.
Nevertheless I could aready generate a wurstpackage with getter for all .blp .tga .mdx .mp3 .wav .mid files, if you are satisfied with my proposal.

I had similar thoughts...
I don't think the global variables would be a problem, since Wurst can remove unused variables.
Maybe we can generate these classes as an intermediate solution. I would prefer to have different classes for models, textures, and sounds. Also it would be nice to get more descriptive names like the ones in WorldEdit (as mentioned by Frotty). We just have to find the files where these names are written.
In the long run, we can probably create a file chooser dialogue with preview for blp files.

Also it would be nice to get more descriptive names like the ones in WorldEdit (as mentioned by Frotty).

I suggest just using aliases - object editor already does this, for example aliasing some item icon names to upgrade icon paths.

I don't think the global variables would be a problem, since Wurst can remove unused variables.

peq
So i would be a must have to enable the optimizer, wouldn't it?

I just looked up for the files which stores the nice names of the Models and Icons but without success. Any idea where they could be?

So i would be a must have to enable the optimizer, wouldn't it?

I am not sure, I think garbage is removed even without the optimizer. If that is not the case it would be easy to change and should be done anyway, I think.

I just looked up for the files which stores the nice names of the Models and Icons but without success. Any idea where they could be?

Water or Barade might know this.

Ogerlord provides a nice java libary which creates BufferedImage objects out of .blp and .tga files: https://github.com/OgerLord/WcDataLibrary/tree/master/src/de/wc3data/image it should be pretty easy to use this.
I also started working on generating the wurst package: https://github.com/Crigges/Wc3AssetConstants/
There are cases where different models got the exactly same name:
Path: buildings\other\CityBuildingSmall90_0\CityBuildingSmall90_0  |  Name: StadtgebÃ¤ude
Path: buildings\other\CityBuildingSmall90_1\CityBuildingSmall90_1  |  Name: StadtgebÃ¤ude
Path: buildings\other\CityBuildingSmall90_2\CityBuildingSmall90_2  |  Name: StadtgebÃ¤ude

How would you like to handle this conflicts?
-Use file name instead of the nice on
-Enumerate the occurrence like:
Path: buildings\other\CityBuildingSmall90_0\CityBuildingSmall90_0  |  Name: StadtgebÃ¤ude1
Path: buildings\other\CityBuildingSmall90_1\CityBuildingSmall90_1  |  Name: StadtgebÃ¤ude2
Path: buildings\other\CityBuildingSmall90_2\CityBuildingSmall90_2  |  Name: StadtgebÃ¤ude3

Hmm, I think when creating doodads with variations you would sometimes want the path without the number. So maybe try to generate the following constants:
Stadtgebäude: buildings\other\CityBuildingSmall90_0\CityBuildingSmall90
Stadtgebäude0: buildings\other\CityBuildingSmall90_0\CityBuildingSmall90_0
Stadtgebäude1: buildings\other\CityBuildingSmall90_0\CityBuildingSmall90_1
Stadtgebäude2: buildings\other\CityBuildingSmall90_0\CityBuildingSmall90_2

And of course it should use the English names instead of the German ones.
For the images I have to check how easy it is to include images in the auto-complete descriptions.

And of course it should use the English names instead of the German ones.
I was just testing with my german mpq files, ofc i will use the english ones for the package :D

Here is a prototype package still with german names: http://peeeq.de/code.php?id=9060

Nice work :+1:
Some small suggestions: Remove the type as it can be inferred and sort everything by name.

So this is the package for all models:
http://peeeq.de/code.php?id=9064
The package is generated as following:
The unitui.slk is parsed for all unit objects. With their unit id as key i look up in the
*UnitStrings.txt files for the proper model name.
Afterwards i parse the doodads.slk for models which aren't included yet, and use the "comment" field as variablename.
Finaly the war3.mpq and war3x.mpq is parsed for other .mdx files which aren't included yet, and use their filename as varibale name.
Any ideas to improve this procedure are welcome.
The wurstscript parser has a with the varnames since they start with a uppercased letter. So should they all start with a lowercased one or just ignore the warnings?

Some models have two .mdx endings.

The wurstscript parser has a with the varnames since they start with a uppercased letter. So should they all start with a lowercased one or just ignore the warnings?

yes

Related commit: 5b61d7d45fa3b0e8a31da9e24ff499d82d6b0b55

I don't think a static package is a good solution for this. Similar to code dependencies, you should be able to specify .mpqs from which you want the resources to be shown, so that imports can be shown as well.

I think it is a good temporary solution until we have a better solution. And we can later adjust the scripts from Crigges to do this automatically at runtime. @Crigges : maybe you can upload the script somewhere.

"Temporary" meaning that it stays till we forget about it? ;)

Tickets are never forgotten, but there are others with higher priority.

Okay, we are still missing all texture/icon path still though.
What happened to the icon preview for the eclipse plugin @Crigges ?

The texture browser already works as standalone version: https://github.com/Crigges/MpqTextureBrowser
But i have no idea how to include it into the eclipse plugin.

How should it be invoked? Should I just add a shortcut to launch the browser?

So Icons still missing

Icons and more have since been added


no-wait option on az vm availability-set create doesn't work

Description
nneul@skyhawk:/local/deploy $ az vm availability-set create --resource-group ${res_group} --name ${aset}-availset --location $region --no-wait
results in
Deployment failed. 'ClientRawResponse' object has no attribute 'done'
Works fine if I don't specify --no-wait

Environment summary
Install Method: nightly
CLI Version: azure-cli (2.0.12+1.dev20170808)
OS Version: ubuntu 16.04
Shell Type: bash

Thanks for the report @nneul!


logging: Set server-version tags immediately on fetch

We've been updating these only after the reducers do their work.
But there's quite a bit of surface area in the reducers -- and
particularly so in the handling of REGISTER_COMPLETE actions.
So we do sometimes have bugs that cause exceptions there.
When we do, make sure we get accurate information about what
Zulip server versions might be involved in triggering them,
to help with debugging.

Thanks, LGTM! Merged.


Simultaneous builds from single folder

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
When executing few simultaneous builds from the same checkout folder, they might interrupt each other. This is especially useful, when the project has more than one application target OR tests should run simultaneously with the application.
One solution I came up with is creating an action that will wrap build flow inside some temporary directory like build/{UUID} which are often inside .gitignore. Is it worth opening a PR to add this kind of action to fastlane master repo or it's better to maintain it by my own actions and migrate between projects?
The draft I've made is https://github.com/soxjke/fastlane/blob/e8cbac49fbdb560991efae94c678e9bee8901a45/fastlane/lib/fastlane/actions/sandbox_build.rb
Basic usage is
def build_and_deploy(options)
  sandbox_build(
    worker_block: Proc.new do
      ensure_git_status_clean
      cocoapods(use_bundle_exec: true)
      target = options[:target]
      match(app_identifier: config()["app_identifier"][target], type: options[:type] ? options[:type] : "development", readonly: true)
      gym(scheme: config()["scheme"][target],
        configuration: predict_configuration(options),
        workspace: "MyApp.xcworkspace",
        include_bitcode: options[:itunes] != nil)
      if options[:crashlytics] then
        crashlytics(api_token: config()["crashlytics_api_token"][target],
              build_secret: config()["crashlytics_build_secret"][target])
      elsif options[:itunes] then
        testflight
      end
    end
  )
end

Hey @soxjke, thanks for creating the issue! That does sound like a cool idea. I think it would be best for now to create a fastlane plugin for this! 🚀

Hey @ohayon , thanks.
I'll follow through plugin instruction seems to be straightforward.


glib and boost build failure under Windows 7

vcpkg used to work fine under Windows 7 but in the latest version I can't build anything that runs Python because Python 3.9 won't work under Win7. vcpkg is now pretty much useless for me.
Host Environment

OS: Windows 7
Compiler: VS 2019

To Reproduce
Steps to reproduce the behavior:
./vcpkg install glib
./vcpkg install boost
Failure logs
-- Using msys root at E:/Tools/vcpkg/downloads/tools/msys2/aa5af7b2aa7e90e8
-- Configuring x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
    Command failed: E:/Tools/vcpkg/downloads/tools/python/python-3.9.6-x64/python.exe E:/Tools/vcpkg/downloads/tools/meson/meson-aeda7f249c4a5dbbecc52e44f382246a2377b5b0/meson.py -Dbuild_tests=false -Dinstalled_tests=false -Dselinux=disabled -Diconv=external -Dinternal_pcre=false --buildtype plain --backend ninja --wrap-mode nodownload --native E:/Tools/vcpkg/buildtrees/glib/meson-nativ-x64-windows.log --default-library shared --libdir lib --native E:/Tools/vcpkg/buildtrees/glib/meson-nativ-x64-windows-debug.log -Ddebug=true --prefix E:/Tools/vcpkg/packages/glib_x64-windows/debug --includedir ../include -Dcmake_prefix_path=['E:/Tools/vcpkg/installed/x64-windows/debug','E:/Tools/vcpkg/installed/x64-windows','E:/Tools/vcpkg/installed/x64-windows/share'] E:/Tools/vcpkg/buildtrees/glib/src/glib-2-b84205c786.clean
    Working Directory: E:/Tools/vcpkg/buildtrees/glib/x64-windows-dbg
    Error code: Exit code 0xc0000135

    See logs for more information:

Call Stack (most recent call first):
  scripts/cmake/vcpkg_configure_meson.cmake:487 (vcpkg_execute_required_process)
  ports/glib/portfile.cmake:42 (vcpkg_configure_meson)
  scripts/ports.cmake:141 (include)

Error: Building package glib:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: glib:x64-windows
  Vcpkg version: 2021-08-12-85ab112d5ee102bc6eac8cdbbfdd173a71374e04

Additionally, attach any relevant sections from the log files above.

When I run the command manually:
---------------------------
python.exe - System Error
---------------------------
The program can't start because api-ms-win-core-path-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------

Additional context
I have another version of Python 3 already installed on the system, can I point vcpkg to use that installation instead?

Similar issue with https://github.com/microsoft/vcpkg/issues/16986.

Closing in favor of https://github.com/microsoft/vcpkg/issues/16986.


how does MM get the same h and w of feature map?

It is notice that the input picture size of coco dataset is 1333 * 800, but the output size of res18 is 16*16? How dose MM achieve it ？

The least resolution of ResNet outputs is /32. So it is strange that you get the output shape of 16*16.
What command did you run? Did you modify the configs?


Weird (?) warning in Kotlin task of build

I see:
:compileTestKotlin
w: The '-d' option with a directory destination is ignored because '-module' is specified

Clearly not a problem per se, but why is this reported?

may be this:
https://discuss.kotlinlang.org/t/kotlin-1-1-0-gradle-compile-warning/2360

I guess wait for 1.1.2 and see if it goes away.

It's probably worth trying this with Kotlin 1.1.2-eap-44

Kotlin 1.1.2 is out so I tried it out and it does resolve the issue


Fly region fix

Fix issues related to deprecation of fly apps region command.

Forgot to address fly open call in automate_all run.


Build against development builds of Quarkus to be always ready for the next release

Instructions:
https://github.com/quarkusio/quarkus-ecosystem-ci

Quarkus ecosystem integration has been implemented.
Now there is a daily job, triggered by a Quarkus, that runs a validation job for both main and 1.1 branches.
Issues #108 and #109 are re-opened if the validation fails and closed again upon successful builds.


Add Frescobaldi 2.20.0.

Add Frescobaldi 2.20.0.

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

Many users of this cask will already have a LilyPond installation, which may or may not be managed through Cask

That’s the case for every depends_on case. By that logic, we’d never use depends on and would always have caveats. Lilypond, as installed by as, is merely an app, so depending on it won’t be harmful.

@vitorgalvao I don't think you understood my point. This is not a case of mandatory dependency, so depends_on is inappropriate in this case.
Does Caskroom have a concept of "recommended but optional dependency"? If so, I'll use that.

Does Caskroom have a concept of "recommended but optional dependency"?

We do not.
In that case, I’ve removed the dependency. A caveat is also not appropriate, as those are to be used for necessary installation instructions. The correct case here is to have nothing as we are not a discoverability service and users are expected to have reasonable knowledge of what they are installing.

I suppose that works. I was thinking that the caveat was good for the case of "oh crap, why can't I use the IDE to compile LilyPond source", while not forcing experienced LilyPond users to install a second copy of LilyPond. But I understand your point about discoverability.


feat: use parking_lot

use parking_lot::{Mutex, Once, RwLock} can bring better performance
Signed-off-by: Chojan Shang<EMAIL_ADDRESS>

These places are not in performance critical path, I prefer not to introduce another dependency.

These places are not in performance critical path, I prefer not to introduce another dependency.

OK, I will close this PR


I can't pull images from docker hub with desktop

when I pull python image from docker hub ,errors is happend.
I can access the internet without proxy. can you help me solve it please.

Hey @chenjianqiang988 is this issue still occuring?


Intellicode not working - Authentication error while using Visual Studio IntelliCode Team Model Training

Product and Version [VS/VSCode]:
OS Version [macOS/Windows]:
IntelliCode Extension Version:
Target Platform or Language [e.g. Node.js]:
Steps to Reproduce / Scenario:

@ShaikSaheb, thanks for leaving an issue. Could you update with more information about what you're seeing so the team can help investigate your issue?

Removing doc-bug label.
@ShaikSaheb we are currently unable to take further action on this problem without additional information on what exactly you are seeing and when it shows up. If you are still seeing this problem please can you re-open with details of the problem being seen, when you see it, and the contents of your VS IntelliCode Output pane when the problem occurs, so we can investigate?
Thanks!


Update dependencies and workflows

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (653bd2c) to head (b437a15).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #135   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           38        38
  Lines          817       817
  Branches        57        57
=========================================
  Hits           817       817

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


📋 [TASK] - Generate an Example Document Requirements Model

Parent Feature
#65
Task Description
As an AaC Developer, I want to utilize a document requirements section from a set of project requirements, so that I can generate an example model for use in testing and evaluating the AaC tool.
Acceptance Criteria

[ ] Review the example requirements document to generate an initial requirements diagram.
[ ] Replicate the requirements diagram using the AaC DSL modeling structures.
[ ] Evaluate the model via check with AaC to test error handling.

Unresolved questions
No response

https://github.com/DevOps-MBSE/Example-Models/pull/1
This was completed within the Example Models repo with the above PR.