Internal server error (permissions issue) when getting document preview

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ x ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Run "azd up"
Access remote website
Make a request to the chatbot
Click one of the source links (citations)
This results in an internal server error inside the citation tab

Any log messages given by the failure

2023-11-21T14:02:38.232875426Z ERROR:app:Exception on request GET /content/datamanagement/Data Management Training And Operations Guide-41.pdf
2023-11-21T14:02:38.232895926Z Traceback (most recent call last):
2023-11-21T14:02:38.232901326Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/quart/app.py", line 1359, in handle_request
2023-11-21T14:02:38.232944427Z     return await self.full_dispatch_request(request_context)
2023-11-21T14:02:38.232948627Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.232952627Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/quart/app.py", line 1397, in full_dispatch_request
2023-11-21T14:02:38.232968727Z     result = await self.handle_user_exception(error)
2023-11-21T14:02:38.232972427Z              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.232976027Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/quart/app.py", line 1000, in handle_user_exception
2023-11-21T14:02:38.232979728Z     raise error
2023-11-21T14:02:38.232983228Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/quart/app.py", line 1395, in full_dispatch_request
2023-11-21T14:02:38.232987528Z     result = await self.dispatch_request(request_context)
2023-11-21T14:02:38.232991628Z              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.232995128Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/quart/app.py", line 1489, in dispatch_request
2023-11-21T14:02:38.233007628Z     return await self.ensure_async(handler)(**request_.view_args)
2023-11-21T14:02:38.233011228Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.233014728Z   File "/tmp/8dbea197830f7ca/app.py", line 78, in content_file
2023-11-21T14:02:38.233018328Z     blob = await blob_container_client.get_blob_client(path).download_blob()
2023-11-21T14:02:38.233021928Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.233025528Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/azure/core/tracing/decorator_async.py", line 88, in wrapper_use_tracer
2023-11-21T14:02:38.233029528Z     return await func(*args, **kwargs)
2023-11-21T14:02:38.233032928Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.233036528Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_blob_client_async.py", line 541, in download_blob
2023-11-21T14:02:38.233040228Z     await downloader._setup()  # pylint: disable=protected-access
2023-11-21T14:02:38.233043729Z     ^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.233047229Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_download_async.py", line 288, in _setup
2023-11-21T14:02:38.233052529Z     self._response = await self._initial_request()
2023-11-21T14:02:38.233056129Z                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.233059729Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_download_async.py", line 383, in _initial_request
2023-11-21T14:02:38.233063329Z     process_storage_error(error)
2023-11-21T14:02:38.233067229Z   File "/tmp/8dbea197830f7ca/antenv/lib/python3.11/site-packages/azure/storage/blob/_shared/response_handlers.py", line 184, in process_storage_error
2023-11-21T14:02:38.233071029Z     exec("raise error from None")   # pylint: disable=exec-used # nosec
2023-11-21T14:02:38.233074629Z     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-21T14:02:38.233078129Z   File "", line 1, in
2023-11-21T14:02:38.233087329Z azure.core.exceptions.HttpResponseError: This request is not authorized to perform this operation using this permission.
2023-11-21T14:02:38.233091129Z RequestId:461e04ac-201e-0109-6283-1c4671000000
2023-11-21T14:02:38.233094729Z Time:2023-11-21T14:02:37.7668686Z
2023-11-21T14:02:38.233098229Z ErrorCode:AuthorizationPermissionMismatch
2023-11-21T14:02:38.233101829Z Content: AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.
2023-11-21T14:02:38.233106329Z RequestId:461e04ac-201e-0109-6283-1c4671000000
2023-11-21T14:02:38.233109930Z Time:2023-11-21T14:02:37.7668686Z

Expected/desired behavior

A preview of the document is displayed in the website.

OS and Version?

Windows 10

azd version?

azd version 1.4.3 (commit d165bd2de96dae75de57604c0d8a5553ae214618)

Versions

Mention any other details that might be useful

It's notable that the app can apparently get text from the indices, but cannot get the files themselves. The chatbot gives a perfectly fine response.
When running locally, I am able to get the document previews without issue. There is only an error when doing this on a remote version of the website. It seems like this is surely due to the app service missing some permission for accessing the blobs; However, the app has every possibly relevant permission on the storage account: Storage Blob Data Contributor, Storage Blob Data Reader, and Storage Blob Delegator.

Thanks! We'll be in touch soon.

Hm, I notice the file is inside a folder in the path: "datamanagement/..."
I don't know if I've tried that in production myself, are there any files not inside a folder that you can try? I wonder if that's affecting the permissions.

Hm, I notice the file is inside a folder in the path: "datamanagement/..." I don't know if I've tried that in production myself, are there any files not inside a folder that you can try? I wonder if that's affecting the permissions.

Thanks for your attention; That's the GET request path, but I am taking the second string (e.g. datamanagement) as the container from which to get the files. I have several chatbots with access to different containers in the storage account. The actual file path is the final string, and the files are not in folders. Aside from that, there are no changes to this function in app.py.
It might be obvious, but from adding logs I see that the exception is occurring on this line in that function:
blob = await blob_container_client.get_blob_client(path).download_blob()
For context, this is the function:
@bp.route("/content/<copilotType>/<path>")
async def content_file(copilotType, path):
    blob_container_client = copilot_blob_dict[copilotType]
    blob = await blob_container_client.get_blob_client(path).download_blob()
    if not blob.properties or not blob.properties.has_key("content_settings"):
        abort(404)
    mime_type = blob.properties["content_settings"]["content_type"]
    if mime_type == "application/octet-stream":
        mime_type = mimetypes.guess_type(path)[0] or "application/octet-stream"
    blob_file = io.BytesIO()
    await blob.readinto(blob_file)
    blob_file.seek(0)
    return await send_file(blob_file, mimetype=mime_type, as_attachment=False, attachment_filename=path)

Hm. You say the role is already there, but I'll share screenshots of what I see, so that you can compare:

More details:

Assuming the role is correct, one thing you can try is turning the APP_LOG_LEVEL to DEBUG. Then you can typically see the request made to blob storage and see if anything seems off.

Thank you again--I've verified that I have permissions set up as given in your screenshots, which they are. I also have the log level as DEBUG. Here is a full set of logs from one of these failures, in case anything jumps out. The first 3 lines are my own logs, and I've just redacted the base address/IP ("redacted" in lowercase, in the logs).
2023-11-27T22:29:01.723256240Z INFO:root:Getting doc preview: copilotType datamanagement, path Data Management Training And Operations Guide-37.pdf
2023-11-27T22:29:01.724588554Z INFO:root:Getting doc preview: flag 0
2023-11-27T22:29:01.725051159Z DEBUG:root:Getting doc preview: flag 0 debug
2023-11-27T22:29:01.930471569Z INFO:azure.core.pipeline.policies.http_logging_policy:Request URL: 'https://[redacted].blob.core.windows.net/datamanagement-content/Data%20Management%20Training%20And%20Operations%20Guide-37.pdf'
2023-11-27T22:29:01.930519069Z Request method: 'GET'
2023-11-27T22:29:01.930525869Z Request headers:
2023-11-27T22:29:01.930529869Z     'x-ms-range': 'REDACTED'
2023-11-27T22:29:01.930533669Z     'x-ms-version': 'REDACTED'
2023-11-27T22:29:01.930537369Z     'Accept': 'application/xml'
2023-11-27T22:29:01.930540969Z     'x-ms-date': 'REDACTED'
2023-11-27T22:29:01.930544769Z     'x-ms-client-request-id': '5d7bc4b6-8d74-11ee-9e1b-b2b92e1c6807'
2023-11-27T22:29:01.930548569Z     'User-Agent': 'azsdk-python-storage-blob/12.18.2 Python/3.11.4 (Linux-<IP_ADDRESS>-2.cm2-x86_64-with-glibc2.31)'
2023-11-27T22:29:01.930552370Z     'Authorization': 'REDACTED'
2023-11-27T22:29:01.930556070Z No body was attached to the request
2023-11-27T22:29:02.014225229Z INFO:azure.core.pipeline.policies.http_logging_policy:Response status: 403
2023-11-27T22:29:02.014332030Z Response headers:
2023-11-27T22:29:02.014346130Z     'Content-Length': '279'
2023-11-27T22:29:02.014350230Z     'Content-Type': 'application/xml'
2023-11-27T22:29:02.014353930Z     'Server': 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0'
2023-11-27T22:29:02.014357430Z     'x-ms-request-id': '2195de17-d01e-005e-6d81-21ab90000000'
2023-11-27T22:29:02.014361130Z     'x-ms-client-request-id': '5d7bc4b6-8d74-11ee-9e1b-b2b92e1c6807'
2023-11-27T22:29:02.014365230Z     'x-ms-version': 'REDACTED'
2023-11-27T22:29:02.014368830Z     'x-ms-error-code': 'AuthorizationPermissionMismatch'
2023-11-27T22:29:02.014372431Z     'Date': 'Mon, 27 Nov 2023 22:29:01 GMT'
2023-11-27T22:29:02.062536525Z DEBUG:azure.storage.blob._generated._serialization:Ran into a deserialization error. Ignoring since this is failsafe deserialization
2023-11-27T22:29:02.062608026Z Traceback (most recent call last):
2023-11-27T22:29:02.062614426Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/storage/blob/_generated/_serialization.py", line 1542, in failsafe_deserialize
2023-11-27T22:29:02.062619126Z     return self(target_obj, data, content_type=content_type)
2023-11-27T22:29:02.062623426Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.062627526Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/storage/blob/_generated/_serialization.py", line 1413, in __call__
2023-11-27T22:29:02.062631926Z     data = self._unpack_content(response_data, content_type)
2023-11-27T22:29:02.062635826Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.062646326Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/storage/blob/_generated/_serialization.py", line 1571, in _unpack_content
2023-11-27T22:29:02.062651726Z     raise ValueError("This pipeline didn't have the RawDeserializer policy; can't deserialize")
2023-11-27T22:29:02.062655827Z ValueError: This pipeline didn't have the RawDeserializer policy; can't deserialize
2023-11-27T22:29:02.168204011Z DEBUG:charset_normalizer:Encoding detection: utf_8 is most likely the one.
2023-11-27T22:29:02.177250204Z DEBUG:charset_normalizer:Encoding detection: utf_8 is most likely the one.
2023-11-27T22:29:02.193031666Z DEBUG:charset_normalizer:Encoding detection: utf_8 is most likely the one.
2023-11-27T22:29:02.196507202Z DEBUG:charset_normalizer:Encoding detection: utf_8 is most likely the one.
2023-11-27T22:29:02.220623349Z DEBUG:charset_normalizer:Encoding detection: utf_8 is most likely the one.
2023-11-27T22:29:02.235714904Z ERROR:app:Exception on request GET /content/datamanagement/Data Management Training And Operations Guide-37.pdf2023-11-27T22:29:02.235734905Z Traceback (most recent call last):
2023-11-27T22:29:02.235740605Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/quart/app.py", line 1359, in handle_request
2023-11-27T22:29:02.235814505Z     return await self.full_dispatch_request(request_context)
2023-11-27T22:29:02.235822805Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235826805Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/quart/app.py", line 1397, in full_dispatch_request
2023-11-27T22:29:02.235831206Z     result = await self.handle_user_exception(error)
2023-11-27T22:29:02.235835106Z              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235838906Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/quart/app.py", line 1000, in handle_user_exception
2023-11-27T22:29:02.235843006Z     raise error
2023-11-27T22:29:02.235846706Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/quart/app.py", line 1395, in full_dispatch_request
2023-11-27T22:29:02.235850806Z     result = await self.dispatch_request(request_context)
2023-11-27T22:29:02.235861506Z              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235866306Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/quart/app.py", line 1489, in dispatch_request
2023-11-27T22:29:02.235870406Z     return await self.ensure_async(handler)(**request_.view_args)
2023-11-27T22:29:02.235874306Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235878206Z   File "/tmp/8dbebac4995e92f/app.py", line 81, in content_file
2023-11-27T22:29:02.235882206Z     blob = await blob_container_client.get_blob_client(path).download_blob()
2023-11-27T22:29:02.235886006Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235890006Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/core/tracing/decorator_async.py", line 88, in wrapper_use_tracer
2023-11-27T22:29:02.235894206Z     return await func(*args, **kwargs)
2023-11-27T22:29:02.235898106Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235901906Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_blob_client_async.py", line 541, in download_blob
2023-11-27T22:29:02.235906106Z     await downloader._setup()  # pylint: disable=protected-access
2023-11-27T22:29:02.235909906Z     ^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235913806Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_download_async.py", line 288, in _setup
2023-11-27T22:29:02.235919106Z     self._response = await self._initial_request()
2023-11-27T22:29:02.235923106Z                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235926907Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/storage/blob/aio/_download_async.py", line 383, in _initial_request
2023-11-27T22:29:02.235931107Z     process_storage_error(error)
2023-11-27T22:29:02.235934907Z   File "/tmp/8dbebac4995e92f/antenv/lib/python3.11/site-packages/azure/storage/blob/_shared/response_handlers.py", line 184, in process_storage_error
2023-11-27T22:29:02.235943907Z     exec("raise error from None")   # pylint: disable=exec-used # nosec
2023-11-27T22:29:02.235948207Z     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-11-27T22:29:02.235952007Z   File "<string>", line 1, in <module>
2023-11-27T22:29:02.235972207Z azure.core.exceptions.HttpResponseError: This request is not authorized to perform this operation using this permission.
2023-11-27T22:29:02.235976407Z RequestId:2195de17-d01e-005e-6d81-21ab90000000
2023-11-27T22:29:02.235980107Z Time:2023-11-27T22:29:02.0137280Z
2023-11-27T22:29:02.235983707Z ErrorCode:AuthorizationPermissionMismatch
2023-11-27T22:29:02.235987307Z Content: <?xml version="1.0" encoding="utf-8"?><Error>AuthorizationPermissionMismatch<Message>This request is not authorized to perform this operation using this permission.
2023-11-27T22:29:02.235992107Z RequestId:2195de17-d01e-005e-6d81-21ab90000000
2023-11-27T22:29:02.235995707Z Time:2023-11-27T22:29:02.0137280Z</Message></Error>
2023-11-27 22:29:01.663 +00:00 [Debug] Microsoft.AspNetCore.Server.Kestrel.Connections: Connection id "0HMVBLK4N0R4M" accepted.
2023-11-27 22:29:01.663 +00:00 [Debug] Microsoft.AspNetCore.Server.Kestrel.Connections: Connection id "0HMVBLK4N0R4M" started.
2023-11-27 22:29:01.672 +00:00 [Information] Microsoft.AspNetCore.Hosting.Diagnostics: Request starting HTTP/1.1 GET http://[redacted address]/content/datamanagement/Data Management Training And Operations Guide-37.pdf - -
2023-11-27 22:29:01.697 +00:00 [Trace] Middleware: Request came in on normal port, sending to normal target http://[redacted IP]:8000/content/datamanagement/Data%20Management%20Training%20And%20Operations%20Guide-37.pdf
2023-11-27 22:29:01.698 +00:00 [Trace] Middleware: Forwarding request to http://[redacted IP]:8000/content/datamanagement/Data Management Training And Operations Guide-37.pdf
2023-11-27 22:29:02.264 +00:00 [Trace] Middleware: Forwarded request finished in 565.768ms 200 Internal Server Error
2023-11-27 22:29:02.264 +00:00 [Debug] Microsoft.AspNetCore.Server.Kestrel.Connections: Connection id "0HMVBLK4N0R4M" completed keep alive response.
2023-11-27 22:29:02.264 +00:00 [Information] Microsoft.AspNetCore.Hosting.Diagnostics: Request finished HTTP/1.1 GET http://[redacted address]/content/datamanagement/Data Management Training And Operations Guide-37.pdf - - - 500 265 text/html;+charset=utf-8 592.4094ms
2023-11-27 22:29:03.219 +00:00 [Information] Microsoft.AspNetCore.Hosting.Diagnostics: Request starting HTTP/1.1 GET http://[redacted address].azurewebsites.net/ - -
2023-11-27 22:29:03.225 +00:00 [Debug] Microsoft.AspNetCore.Server.Kestrel.Connections: Connection id "0HMVBLK4N0R4M" completed keep alive response.
2023-11-27 22:29:03.225 +00:00 [Information] Microsoft.AspNetCore.Hosting.Diagnostics: Request finished HTTP/1.1 GET http://[redacted address].azurewebsites.net/ - - - 401 - - 5.8062ms

Thanks for sharing. I do see there's an earlier error in the log about deserialization, but I believe that error is caught by the SDK itself, per discussion at https://github.com/Azure/azure-sdk-for-python/issues/25954
At this point, I'd suggest you go into SSH from the App Service portal. Open a Python REPL in there and attempt to download a blob using similar code as app.py. If that fails, try setting up the Azure credential a different way (like with a key) and see if it also fails. If it does work with keys but not with ManagedIdentity credential, then we know there's something amiss with the identity.

I deployed the app using a connection string for the BlobServiceClient, instead of the default Azure credentials, and it worked correctly in production/remotely. So, you must be right, that it's an issue of the managed identity. I'm not sure how that could be, if the identity has the proper permissions; but I don't mind simply using the connection string for this purpose.
Thank you kindly for your help!


fixed go.mod

Adapt PR #2 to the apenella workspace.

@gedw99 I have simplified the actions you can perform in the Makefile, and I am going to merge this PR.


string representation of data base fails when no run_id is present

@sohailc could you in the future copy paste the text instead of screenshots? You can use githubs markdown to format it nicely


[TEVA-2283] add boilerplate for backstopJs visual testing

https://dfedigital.atlassian.net/browse/TEVA-2283
adds minimum boilerplate code to be able run tests. test will follow in next PR

Review app deployed to https://teaching-vacancies-review-pr-3155.london.cloudapps.digital


[Patch] Additional audit logging for PRM table

Changes Unknown when pulling fd1b6d6aae7009e6643f0984b284b579f5148634 on additional_audit_loggs_for_prm into ** on master**.

Changes Unknown when pulling fd1b6d6aae7009e6643f0984b284b579f5148634 on additional_audit_loggs_for_prm into ** on master**.

Changes Unknown when pulling 36d97959edabf462541e00285e62a1311db1eab6 on additional_audit_loggs_for_prm into ** on master**.


morphTo

morphTo relation is not being properly loaded when type and id of related model is null.
Example:
class Photo extends \Eloquent {
  public function imageable() {
    return $this->morphTo();
  }
}

class Staff extends \Eloquent {
  public function photos() {
    return $sthis->morphMany('Photo', 'imageable');
  }
}

// when creating new model
$photo = new Photo();
print $photo->imageable()->toSql();
// prints: select * from `photos` where `photos`.`` is null

// when loading existing model with imageable_type===null
print Photo::find(1)->imageable()->toSql();
// prints: select * from `photos` where `photos`.`` is null

// ... or
print Photo::find(1)->imageable;
// expect null, instead exception is thrown (bad query as seen in previous two examples)

Closing due to inactivity.

I believe this has been fixed with #8586 anyways...

Great. :)

In the future, could you write "Closes #8067" in your PR so that the issue actually gets closed. :)

I sent the PR in response to #8499. I didn't know of this issue until just now...

Right. :)


fix IWDG PR

@burrbull 's

It take this error in f3xx-hal as proof that it worked very well :)
error[E0599]: no method named `unwrap_or` found for enum `PR` in the current scope
   --> src/watchdog.rs:136:14
    |
130 |           let psc = self
    |  ___________________-
131 | |             .iwdg
132 | |             .pr()
133 | |             .read()
134 | |             .pr()
135 | |             .variant()
136 | |             .unwrap_or(PR::DivideBy256);
    | |             -^^^^^^^^^ method not found in `PR`
    | |_____________|
    |

and the generated code for the variant method:
pub const fn variant(&self) -> PR {
    match self.bits {
        0 => PR::DivideBy4,
        1 => PR::DivideBy8,
        2 => PR::DivideBy16,
        3 => PR::DivideBy32,
        4 => PR::DivideBy64,
        5 => PR::DivideBy128,
        _ => PR::DivideBy256,
    }
}

Awesome, thanks!

@usbalbin  https://github.com/stm32-rs/stm32-rs/pull/992 makes xWDG registers 16-bits wide to access them with half-word read/write + some patch refactoring.
What do you think?
Could you reopen it by yourself?

@usbalbin #992 makes xWDG registers 16-bits wide to access them with half-word read/write + some patch refactoring. What do you think? Could you reopen it by yourself?

I can not open a new one while #992 is open but if you close it, then sure

@usbalbin Closed


[BUG]

** QOTD is not working **
"Oops, I did it again" qotd is appearing each time i try to use the plugin
i´ve checked the plugin code and apparently the reffering app "https://florinbobis-quotes-net.hf.space/quotes" is not working
please can it be repaired ?
Thanks in advance !

Api being used was on a server that was offline. Now it's back online


Documentation issue: Expressions

Exists
Regarding the example code:
Future<List> emptyCategories() {
final hasNoTodo = notExistsQuery(
select(todos)..where((row) => row.category.equalsExp(categories.id)));
return select(categories)..where((row) => hasNoTodo);
}
Visual Studio Code indicates problems with the return statement. The problems are resolved when the return statement is changed to:
return (select(categories)..where((row) => hasNoTodo)).get();

Thanks for the report! I've fixed this in 4af9aed1905d618475a63e4a18a464bde7f35a91.


codebeat badge

Is it fine to add codebeat badge to README?
codebeat is automated code review tool for Swift,Ruby,Go & Python that helps get instant feedback on code quality.
"Quick wins" suggested by codebeat could be a nice candidate for a pull request and help other developers become contributors.
FYI. To be fully open and honest. I'm co-founder of codebeat.

Sorry, after browsing the codebeat page for mailcatcher there are no quick wins that I consider a problem, or for which I would probably accept a pull request. I like the size, simplicity, and encapsulation level of the MailCatcher::Mail module, and neither of the two repeated methods would be better extracted, imho.
Happy to be proven wrong with a compelling change. :-)


Unable to invite a new user to the workspace #admin room via mention

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.65-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @twisterdotcom
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1713995226150959
Action Performed:

Open any workspace admin room
Mention any user to invite

Expected Result:
System message appears with the option to invite and do nothing
Actual Result:
No option to invite. Able to invite to other rooms by mentioning
Workaround:
unknonw
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/38435837/f55a6618-cd84-4f5d-9952-a58bcd5a8020

View all open jobs on GitHub

I believe this is by design. All admins on a workspace are automatically members of the #admins room and anyone else cannot be invited.

@anmurali we agreed here this should be a feature: https://expensify.slack.com/archives/C03U7DCU4/p1713991481225909?thread_ts=1713968604.674249&cid=C03U7DCU4

Just confirming this in vip-vsb as not many people engaged in that thread @twisterdotcom

Based on this, I think we should close this. Doesn't feel critical.


Implement Testing for Project

Please do work for this task in a branch named issue-19.
Follow guidelines from E62: Experience testing your final project to accomplish testing requirements:

Implement TestCafe "availability" tests for all pages (testing all pages in the application are displayed, and all forms operate correctly with legal inputs
Use GItHub Actions (each time a commit is made to the master branch, the system is checked for ESLint errors and all TestCafe tests are run)
Display the current results of continuous integration via a badge on your project home page

commit 81f9270


Mazda CX-9 2021 no steer lockout and more torque

New Mazda updates:
Mazda CX-9 2021 does not have steering lockout
Mazda CX-9 2019 and newer have double the torque we have seen in earlier years/models
Mazda CX-5 2021 still has lockout, but the timeout was increased to 30 seconds up form 5
Mazda CX-9 has been added to readme as a supported car. It doesn't need a new fingerprint.
Old test routes from the initial port still apply.
Signed-off-by: Jafar Al-Gharaibeh<EMAIL_ADDRESS>

Converting to a draft until #20879 is merged

Thanks @adeebshihadeh. I made the changes.
I will work on getting routes for these two new cars tp pass the test.

This PR is in good shape, The last piece is just getting a  route to add to the tests. I'm still waiting to get one.

@adeebshihadeh , I did Mazda6 and other changes to #21167. Once we merge that one I will rebase this Mazda CX9 2021 PR.

I think it's best to get this merged as dashcam only until we can get a CX-9 to verify the port.

Can you add a test route?

Any update on this?

I asked the person to provide a drive and still waiting for one.


Merge refs/heads/issue/aggregations-behavior into alpha

Merge refs/heads/issue/aggregations-behavior into alpha

This PR has been merged into alpha and tagged as 2.0.0-alpha-202308192132. Thanks for your contribution!


Fix JSONPath inconsistencies in DiceDB

Reference: https://github.com/DiceDB/dice/issues/493#issuecomment-2350824277

Data Link
As you can see, there are several inconsistencies between redis and dice responses. This is largely because the JSONPath library DiceDB uses does not cover the entire redis JSONPath feature set.

@N3XT14 Any update on this issue? If in case you are not able to work on this, I am willing to work on this issue.

@lucifercr07 @JyotinderSingh FYI

@N3XT14 Any update on this issue? If in case you are not able to work on this, I am willing to work on this issue.
@lucifercr07 @JyotinderSingh FYI

@surya0180 Yeah working on it. implementing the necessary things

Quick Update:
I am progressing on it. Currently making it work between resp2 & resp3

@JyotinderSingh https://github.com/DiceDB/dice/pull/1266
Not ready for merge but would like to get some questions answered regarding RESP3 and other output structures.


Database driver failed jobs error for primary key

Laravel Version: ^7.0
PHP Version: 7.4.7
Database Driver & Version: mysql, 5.7.24

Description:
Using the database driver for queues. When a job fails, and there is already a failed job ahead of it, this error pops  up:
{"exception":"[object] (Illuminate\\Database\\QueryException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'PRIMARY' (SQL: insert into `failed_jobs` (`connection`, `queue`, `payload`, `exception`, `failed_at`)

Steps To Reproduce:
Use the db queue driver and php artisan queue:work. Get two jobs to fail after each other. The second job will error.

I doubt this really is an issue because the default table has an auto increment. This is probably something related to either a custom change or your database environment. Please try a support channel:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks.


Allow direct link access on vercel

When we navigate through the UI there is no error.
But, if we copy any link and directly access through it it throws 404.
Need to add a vercel config file to handle this.
Video:
https://github.com/thtauhid/open-profile/assets/13254850/2dcd74d9-c421-488f-8ad2-c270c809dbbb
Refer to https://stackoverflow.com/questions/64815012/why-does-react-router-not-works-at-vercel

Can you provide  a video or picture for more clarification and explain it in bit more detail

I could fix it


Git action buttons doesn't react to git action complete

Does this issue occur when all extensions are disabled?: Yes

Version: 1.91.0 (user setup)
Commit: ea1445cc7016315d0f5728f8e8b12a45dc0a7286
Date: 2024-07-01T18:52:22.949Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.19045

This is especially annoying when I go from a branch to main branch and do a pull and then try to delete the branch I was previously in
Steps to Reproduce:

Click Pull in the SCM panel's 3 dots menu
Open that menu again and wait for Pull to complete
Buttons are still disabled after Pull completed, needs to re-open the menu to click on those buttons

https://github.com/microsoft/vscode/assets/68118705/411cb1a8-0139-438d-8790-f4fdabce3aa8

It might not be possible for the enablement state of context menu items to be updated while the menu is open.
I suggest you watch the progress indicator on the view and only reopen the ...  menu when the indicator disappears.

Adding @jrieken who should be able to confirm whether this is possible to implement.

Adding @jrieken who should be able to confirm whether this is possible to implement.

Only half possible... Custom menus (as shown above) could react to menu update and could update/rerender (I'll leave it to @sbatten for why they don't) but native electron menus (like we use form macOS and linux) cannot be updated. That's an unfortunate Electron limitation

Custom menus attempt to mimic what we can do with native menus, nothing more.


coprocesser: make TimeIsNull be compatible with MySQL

What have you changed? (mandatory)
Make TimeIsNull be compatible with MySQL (also fix this issue https://github.com/pingcap/tidb/issues/9763).
The description below is from MySQL document, and it's why TimeIsNull is not compatible with MySQL now (NOT NULL is not considered):
For DATE and DATETIME columns that are declared as NOT NULL,
you can find the special date '0000-00-00' by using a statement like this:
"SELECT * FROM tbl_name WHERE date_column IS NULL"

What are the type of the changes? (mandatory)
The currently defined types are listed below, please pick one of the types for this PR by removing the others:

Improvement (change which is an improvement to an existing feature)

How has this PR been tested? (mandatory)
Please describe the tests that you ran to verify your changes. Have you finished unit tests, integration tests, or manual tests? What additional tests would give you greater confidence in this change?
Unit tests.

How about RPN exprs?

Thanks for your pull request! And I want to know that:

Can you design tests under SqlMode::NO_ZERO_DATE ?
We are now working on RPN exprs, can you support this pull request in RPN exprs?

It last too long. It will be closed


.NET framework 4.6 compatibility

Added target framework net47
Added target framework net462
Return APNS response

Hey @Arcantel! Thanks for your contribution. Per this document https://docs.microsoft.com/en-us/dotnet/standard/net-standard 4.6.2 supports netstandard2.0. I don't think we have to list all the targeting frameworks, and could just keep netstandard2.0 as the only one. It makes it easier to build too. (I'm building and releasing nuget packages manually for this lib for now). Let me know what your thoughts are?


Allow plugin ordering

Describe the solution you'd like

References #631 #432 #39

Plugins should be able to run in a predetermined order.
Anything else you would like to add:
As well described on #631 , the plugins could be able to run in a certain order configured on their manifests. The default behavior could stay the current execution (all in parallel), but it would be nice to run, for example in serial mode or a mix: A->B->C->(D&E)->F.
Also could be interesting if there's one flag if one plugin has failed, the following ones will not be executed (maybe also marked as failed?). It can be useful in preflights plugins which usually run on the begging to make some prechecks (like minimal resources, minimal performance checks, etc).

Thanks for the submission and for the specific ideas related to use cases and it is a good point to raise about whether or not to continue with execution or to stop if one fails.
Like we talked about in slack, this idea always leads me to think about passing data along the chain as well but that has to be out of scope for now if we want to get this in.

Here was my PR for this in the past; I might take a look again. I believe it did work but it looks like I was partially concerned about implementing a feature like this without fully thinking about all the potential ramifications. We never got more push for it from the community so it just fizzled out after that (which is why I'm glad you reached out about it).

Oop, didnt realize I forgot to paste the link: https://github.com/vmware-tanzu/sonobuoy/pull/627

@andrewyunt has picked this up and is tweaking my old PR to start. I think we'll have a PR soon to iterate on/discuss.


where is model_30.pth for MOT17 and where is other models?

python track_half.py mot --load_model "../exp/mot/$EXP_ID/model_30.pth" --conf_thres 0.4 --val_mot17 --exp_id "$EXP_ID" --arch "$ARCH"  --past_length 10 --future_length 2 --forecast --no_kf --use_embedding >> "$EXP_ID.txt"
where can I get this model_30.pth for MOT17?

I run this code:

sh experiments/mot17_half_ft_ch_jla.sh

and get this error:

FileNotFoundError: [Errno 2] No such file or directory: '../exp/mot/mot17_half_jla_ft_ch/model_30.pth'

And where are the models for MOT17 and MOT20 datasets?
The models in "jla_models" direction is not for these two datasets. When I run the code with models in "jla_models", it turns errors, like this:

But when I run the code with the models in FairMOT code, this cide can successfully detect images, but I get low results.

So where can I get the true models?

Hi, you can download the models here https://drive.google.com/drive/folders/1awA_Y49g2EnEtbdg7m8_ujm0iKWghD8-?usp=share_link

Thank you very much.
And the last four models are for MOTchallenge. The first four models for what?

@iTruffle
Hi, have you successfully reproduced the code?
I tried to reproduce, but encountered following errer:
raise InvalidGitRepositoryError(epath)
Have you encountered similar problem?
Thanks.


Update Set-CsClsConfiguration.md

Docs Build status updates of commit e97c3b4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Set-CsClsConfiguration.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Services no longer supports gmail account using Aggregate 1.4.15

Software and hardware versions
Android 5.1
Services rev 212a
Aggregate 1.4.15
Problem description
If you try to authenticate with a gmail account in Services rev 212a, you will get a toast message saying "Authentication Failed: android.accounts.AuthenticatorException: UNREGISTERED_ON_API_CONSOLE.
Steps to reproduce the problem
Using an Aggregate 1.4.15 instance and a gmail account on rev 212a, try to "Verify User Permissions" and you will consistently see the error described above.
Expected behavior
We should remove the option to use gmail accounts within Services.

Fixed by https://github.com/opendatakit/services/pull/57


Tjmadonna/442 bulk update datasets

New endpoints to add to API Gateway are
PUT /datasets
PUT /uploads


can't get the right route path in 'ready' method

Simplify my scene:
I wrote two components, a login.vue and a main.vue, after click a button in login.vue ,it executes 'route.go('/main')', the router-view renderered the main.vue content, but, in the main.vue's ready method, 'router.app.$route.path' returns '/login', not '/main', I don't know other ways to get the right route path  in 'ready' method after a router-view is changed
I use vue-router 0.4.0, and vue.js 0.12.10
is there a proper way to get the right path after change a route?
before I got the problem above, I use 'route.afterEach' method to capture the route change event, it's seems that this method is removed in vue-router 0.4.0
I find a way, use 'router._currentRoute.path' can read the right path in 'ready' method, but, I think it's not a good way

sorry, I don't read the new example completely, I saw the new 'route' attribute in vue component
but, look, I put a router-view label in main.vue, after I changed the menu item in main.vue, the main.vue's router-view's content changed, then main.vue's created method is revoked again...


Jenkins, Carthage and EearlGrey issue

Hi folks,
Im really struggling with this issue. Running Carthage with EarlGrey with Carthage under Jenkins, I get the following error
*** Building scheme "EarlGrey" in EarlGrey.xcodeproj
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /Users/doronkatz/.jenkins/workspace/Integration\ Test/Carthage/Checkouts/EarlGrey/EarlGrey.xcodeproj -scheme EarlGrey -configuration Release -derivedDataPath /Users/doronkatz/Library/Caches/org.carthage.CarthageKit/DerivedData/9.0.1_9A1004/EarlGrey/1.2.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath ./ SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO (launched in /Users/doronkatz/.jenkins/workspace/Integration Test/Carthage/Checkouts/EarlGrey)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/68/946ywfgx3jq3bwhy02std9tc0000gn/T/carthage-xcodebuild.pdeB5o.log
Build step 'Execute shell' marked build as failure
Finished: FAILURE

In my Cartfile, i have:
github "google/EarlGrey"                    "master"
If anyone has ant thoughts would be greatly appreciated!

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/68/946ywfgx3jq3bwhy02std9tc0000gn/T/carthage-xcodebuild.pdeB5o.log

Can you paste the contents of that file or upload it somewhere where we can see what's going on?

Also @bootstraponline if something is pretty obvious.

Does it work locally? Does the sample app compile with Carthage?

It does locally which is why its confusing, but when called via Jenkins it doesn’t

From: bootstraponline<EMAIL_ADDRESS>Sent: Friday, October 27, 2017 5:46:34 AM
To: google/EarlGrey
Cc: Doron Katz; Author
Subject: Re: [google/EarlGrey] Jenkins, Carthage and EearlGrey issue (#652)
Does it work locally? Does the sample app compile with Carthage?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/google/EarlGrey/issues/652#issuecomment-339961498, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAVEp1UYWhDhbMDgtYmp36zaqsEsEBGfks5swdCqgaJpZM4QIFxM.

Any update on this @doronkatz?


CNV AnnotateTargets: Shl doc annotate targets

Pending questions
Where can I find a list of the annotations that AnnotateTargets can call upon and their dependencies?

Great! Thanks David.


Request for a files

Hello, during the reproduction process, I encountered the following error: "No such file or directory: '/share/home/202220143416/time_series_data/dc_detector/MSL/MSL_train.npy' ". Could you provide this folder named " share" ? Thank you very much.

Thank you for your attention. We have updated the readme file, and now you can download the dataset. Please update the file_path accordingly to proceed with the default operation.
Datasets
You can download all datasets here.
(Thanks for DCdetector repo and its authors.)


cp.asarray calls fix

cp.asarray calls wrapping the phase profile are now no longer needed throughout the codebase. The phase is now generated on the respective device automatically, e.g., on the GPU if using CuPy and on the CPU if using NumPy.
In addition, np.asarray calls wrapped calls to the data file in all the data_manager tests. This is redundant as we implicitly convert to NumPy arrays using the [...] syntax.

Closes #12.


Ensure footer links out to correct pages

Currently the footer is a bit fucked up and links out to a lot of wrong pages... Lets tidy this up

@Lewisthiverval this also could be a quick fix and win for us x


(DO NOT MERGE)(QENG-1800) Use symlink convention to find MSIs

Previously, the ability to find MSIs for an acceptance run required
3 pieces of information:

Long SHA of puppet-agent repository
ARCH as either x86 or x64
The git describe of the puppet-agent repository, typically in the
x.y.z.XX.g format

Unfortunately, the git describe was not made available anywhere to
the job, and thus acceptance runs would need to have a change made to
make it easier to find the correct MSI.  On platforms other than
Windows, the git describe is actually not necessary as the SHA is
enough to find a repo config, which then contains the information
necessary to resolve packages with the specific version.  So Windows
needs a solution (as will other platforms not using repo configs like
Solaris and AIX).
Options discussed:

Pass the git describe through the pipeline as SUITE_VERSION.  This
is the least intrusive option, but adds an additional burden to
consumers of the MSI that are not part of the pipeline, since that
information may not be readily available.

Write a LATEST- file that would need to be retrieved that
contains the git describe that would be produced during packaging.
This carries a burden of a multi-step retrieve / string munging.

Use a standard convention in the file structure to symlink to the
"real" versioned MSI from a filename that does not include the
version.  This ends up making package consumption quite a bit
simpler for all consumers (not just Jenkins), since the SHA from
puppet-agent is enough to be able to resolve a package now.  This
third option is what was decided on.  So in a real example, the
following would occur:
puppet-agent//artifacts/windows/puppet-agent-x64.msi
points to
puppet-agent//artifacts/windows/puppet-agent-<IP_ADDRESS>.g22a154b-x64.msi

https://github.com/puppetlabs/puppet-agent/pull/55 needs to be merged prior to this


Allow user-specified cutoffs for parsing Olson databases.

When parsing Olson files, rules without set to fields only have transitions calculated up until the end of 2038. This leads to an inconsistency in how transitions are calculated: rules with set to fields will have transitions calculated after that cutoff date (even if they start after that cutoff date).
While a better long-term fix would be to re-architect the code so that further transitions could be calculated after the fact, this PR mitigates the issue by: allowing the user to pass in their own cutoff, and by making order_rules handle that cutoff in a consistent manner. The cutoff is now strictly enforced and to fields are truncated to that date.

Rule
Old Code
This Code (with max_year=2038)

from <= 2038, to <= 2038
all transitions
all transitions

from <= 2038, to > 2038
all transitions
transitions before 2039, to changed to 2038

from <= 2038, to = Null
transitions before 2039
transitions before 2039

from > 2038, to > 2038
all transitions
no transitions

from > 2038, to = Null
no transitions
no transitions

These two changes ensure that timezones more accurately reflect olson data, and users working with dates far in the future can easily use this library.

@bcj can you look into the 32-bit issues?

will do.

I'm a little confused about this coverage decreasing. I didn't touch local.jl but its coverage went down?


Filter by flag in feed view

Newsbeuter version (copy from newsbeuter -v):
2.9
Compilation date/time: Dec  7 2015 04:47:17
System: Linux 4.8.13-1-ARCH (x86_64)
Compiler: g++ 5.3.0
ncurses: ncurses 6.0.20161224 (compiled with 6.0)
libcurl: libcurl/7.52.1 OpenSSL/1.0.2j zlib/1.2.8 libpsl/0.16.1 (+libicu/58.2) libssh2/1.8.0 (compiled with 7.46.0)
SQLite: 3.16.2 (compiled with 3.9.2)
libxml2: compiled with 2.9.2

Steps to reproduce the issue:

Attempt to filter by flags in the filter view.

Other info you think is relevant:
I've started using newsbeuter, and despite some misgiving about the lack of panes, I'm loving it! (Thank you!) However, I had one suggestion about filters.
Context: I sync with Tiny Tiny RSS, so that I can also read RSS on my phone. I often read an article on my phone, and then star it so that I can investigate it in more detail later on my proper computer.
If I use Tiny Tiny RSS's web GUI on my computer, it shows all the starred items in a folder at the top of the feed list. Thus, I can easily see when there are "pending" articles to read.

However, newsbeuter can only filter by flags in the article view, meaning that you have to know in advance which feed contains the flags before finding flagged articles. It would be much more useful if newsbeuter could show all flagged articles.
Also, it would be useful if newsbeuter's feed view could include a list of filters with total count, similar to the feeds themselves, but I'm not sure if this is beyond the scope of the project. Cheers.

On 14 January 2017 01:42:45 GMT+03:00, protist<EMAIL_ADDRESS>wrote:

Newsbeuter version (copy from newsbeuter -v):
2.9
Compilation date/time: Dec  7 2015 04:47:17
System: Linux 4.8.13-1-ARCH (x86_64)
Compiler: g++ 5.3.0
ncurses: ncurses 6.0.20161224 (compiled with 6.0)
libcurl: libcurl/7.52.1 OpenSSL/1.0.2j zlib/1.2.8 libpsl/0.16.1
(+libicu/58.2) libssh2/1.8.0 (compiled with 7.46.0)
SQLite: 3.16.2 (compiled with 3.9.2)
libxml2: compiled with 2.9.2

Steps to reproduce the issue:

Attempt to filter by flags in the filter view.

Other info you think is relevant:
I've started using newsbeuter, and despite some misgiving about the
lack of panes, I'm loving it! (Thank you!) However, I had one
suggestion about filters.
Context: I sync with Tiny Tiny RSS, so that I can also read RSS on my
phone. I often read an article on my phone, and then star it so that I
can investigate it in more detail later on my proper computer.
If I use Tiny Tiny RSS's web GUI on my computer, it shows all the
starred items in a folder at the top of the feed list. Thus, I can
easily see when there are "pending" articles to read.

However, newsbeuter can only filter by flags in the article view,
meaning that you have to know in advance which feed contains the
flags before finding flagged articles. It would be much more useful if
newsbeuter could show all flagged articles.
Also, it would be useful if newsbeuter's feed view could include a list
of filters with total count, similar to the feeds themselves, but I'm
not sure if this is beyond the scope of the project. Cheers.

Have you tried query feeds? This sounds like a perfect job for them.
--
Regards,
Alexander Batischev

Oh, I missed that in the documentation! That does sound perfect! However, I ran into a few problems. I wonder if it's something to do with querying feeds from tt-rss instead of the local urls file?
Specifically, I added the following two lines to the top of ~/.config/newsbeuter/urls.
"query:Unread Articles:unread = \"yes\""
"query:Starred Articles:flags # \"s\""

I'm obviously more interested in the second line, but I used the first line from the example in the  documentation to test first. I opened newsbeuter. I could see the query feeds at the top, but the counts were incorrect.
0/ 0 Unread Articles
0/ 0 Starred Articles
2/66 Feed A
2/10 Feed B

Here, the two numbers represent the number of unread and total articles. You can see that the "Unread Articles" feed supposedly contains 0 unread and total articles. However, once I enter that query feed, I can see the expected four unread articles. I then q back to the article list, and the numbers have updated properly.
4/ 4 Unread Articles
0/ 0 Starred Articles
2/66 Feed A
2/10 Feed B

I can quit and restart newsbeuter, and the information is incorrect again. This incorrect count is especially important, since I use show-read-feeds no; here this query feed is hidden from the feed list.
I also tried to test with the second query feed, but I ran into similar problems with the counts being incorrect. In addition, the starring doesn't seem to sync with tt-rss. Specifically, I have the following in ~/.config/newsbeuter/config
ttrss-flag-star "s"

I then go to the article, press ^e, s, Enter, and it is flagged. (I can also see the article in the second query feed, after the workaround above.) However, after reloading feeds, I cannot see the star in tt-rss's web GUI. Similarly, articles that are starred in the tt-rss web GUI have no flag in newsbeuter after reloading feeds.

Re incorrect counts: try prepopulate-query-feeds setting.
Re starring: it might just be the case that the sync I'd one-way, from Newsbeuter to TT-RSS. I'll take a look at the code in roughly 10 hours.

Re incorrect counts: try prepopulate-query-feeds setting.

Oops, sorry, missed that too. Perhaps that could be mentioned in the 4.7. Query Feeds section? It works perfectly now.

Re starring: it might just be the case that the sync is one-way, from Newsbeuter to TT-RSS. I'll take a look at the code in roughly 10 hours.

Thank you. However, it's not syncing for me either way.

Sorry for the delay—my day turned out to be much busier than I anticipated.

Perhaps that could be mentioned in the 4.7. Query Feeds section?

Good idea! Did that. Thanks.

Apologies, it now does appear to be syncing from Newsbeuter to TT-RSS, but not the other way around.

Looked at the code, and indeed it doesn't look like we sync "starred" flag from TT-RSS to Newsbeuter. This is a separate issue, so I filed #466.
If you think query feeds solved the problem you originally had, you can close this issue. Thanks!

Sorry for the delay—my day turned out to be much busier than I anticipated.

No worries, you are still blazingly fast! Thank you for all your responses. I appreciate it.
Query feeds are excellent, but I just have one minor issue. In tt-rss's web GUI, the starred articles are treated differently from normal feeds. In general, there is an unread count next to feed names in the feed list. However, the starred articles have a total count instead. This makes sense to me, because I've always "read" the starred item in the first place, otherwise I wouldn't know to star them. (Or I've read the title, at least.)
Newsbeuter is more powerful, so it can show the unread and total counts, so this is moot. However, it hides the starred (read) feeds if show-read-feeds no and show-read-articles no are set. I was wondering if particular query feeds could be set up to still show the feed in the feed list if it contains any articles at all (read or unread), and similarly to show all articles it contains, in the article list.

I was wondering if particular query feeds could be set up

Unfortunately, no. This will change once we implement per-feed configuration (#158), but that's quite far in the future at the moment.
The best you can do at the moment is to create a macro that will toggle these two settings. Or just abandon the idea of hiding read articles and feeds, if that's not too bad for you.

Okay, no worries. I did think that this feature might be a bit convoluted, and possibly a bit counter to the straightforward nature of Newsbeuter. Thanks again!


Class initialize button problem when installed from a Trait

When a class SomeClass uses a trait that implements:
SomeTrait class >> initialize

    self someMessage.

The button "Run Script" from Calypso executes initialize from SomeTrait class instead of SomeClass installed one. From Playgroung, executing:
SomeClass someMessage

Works as expected.

In 0.6.0


rustfmt reformats bit manipiulations

Given the following code:
fn main() {
    let (a, b, c, d) = (0, 0, 0, 0);
    let _ = u32::from_be(((a as u32) << 24) |
                         ((b as u32) << 16) |
                         ((c as u32) <<  8) |
                          (d as u32) <<  0);
}

Where the bit manipulation is intentionally aligned to increase readability, rustfmt produces:
fn main() {
    let (a, b, c, d) = (0, 0, 0, 0);
    let _ = u32::from_be(((a as u32) << 24) | ((b as u32) << 16) | ((c as u32) << 8) |
                         (d as u32) << 0);
}

Where it is far harder to tell if the calculation is being performed correctly. Would it be possible to add an option to detect bit shifting/or-ing etc and have rustfmt skip it? Or, even better, automatically format it to be readable (no idea if that's possible).

A similar issue occurs with arrays of bytes - should I report another issue for that? Eg.
   let ref_packet = [0xde, 0xf0, 0x12, 0x34, 0x45, 0x67, /* destination */
                     0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, /* source */
                     0x86, 0xdd /* ethertype */];

Becomes:
   let ref_packet = [0xde, 0xf0, 0x12, 0x34, 0x45, 0x67 /* destination */, 0x12, 0x34, 0x56,
                      0x78, 0x9a, 0xbc /* source */, 0x86, 0xdd /* ethertype */];

This is somewhat of a recurring problem - users often format code with significant whitespace to make it easier to read, it's not limited to bit patterns, and of course rustfmt can't easily tell what has been deliberately aligned and what is bad formatting so it stomps all over it. The 'solution' is to use #[rustfmt_skip] but this is a crappy solution for a few reasons. I don't hold much hope for a good, automatic solution (maybe we can detect alignment in source code and preserve it?), but we can definitely make the skipping better (both in Rustfmt and by more flexible attributes in Rust).


fix: Backtrace has been removed from Error

Signed-off-by: Xuanwo<EMAIL_ADDRESS>This PR will bump the toolchain to nightly-2022-08-11, which is the same as the current stable (1.63) but in nightly.
From rust 1.63, backtrace has been removed from Error trait.
Checklist

[x] Updated guide with pertinent info (may not always apply).
[x] Squash down commits to one or two logical commits which clearly describe the work you've done.
[x] Unittest is a friend:)

This change is

I will squash the commit right before merging.

BTW, reviewable seems done ):

Cc @drmingdrmer @lichuang for reviewing.

It involves some other modification to let the CI pass and be complete. Manually merged.


Invaild font in Profiles.json causes text to go really small and crashes the terminal when new session is made with the profile

Environment
Windows build number: [Version 10.0.18362.175]]
Windows Terminal version (if applicable):

Microsoft Terminal (Preview)

Any other software?

No.

Steps to reproduce

Change the fontface in profiles.json on what ever profile you want into a invalid fontface/unsupported fontface.
Example: "fontFace" : "ooga booga",
Expected behavior

Default to config to the consolas font after a certain time. (Maybe in 5-10 seconds to avoid annoying live changes, especially when you're editing the file in VSCode.
Actual behavior

I can confirm. I just ran into this issue with a valid installed font that has multiple spaces in the name.

Thanks for reporting. #550 contains the words “font” “not exist” and “crash”. #1017 as well. Please make sure you search before reporting a new issue.
I know we have an issue tracking the weird rendering for nonexistent fonts too, but I’m on my phone and GitHub mobile search is pretty bad.


Kapp resource frequently results in provider crashes when show_diff is enabled

What steps did you take:
I tried to make a simple deployment and modify it over multiple iterations. This is hard to reproduce as it happens during some deployments and not others. In this case there is nothing changing on the cluster, there is just a few lines changed in a deployment spec.
What happened:
The provider will frequently crash:
Error: Provider produced inconsistent final plan

When expanding the plan for module.nexus.k14s_kapp.cf to include new values
learned so far during apply, provider "carvel.dev/carvel/k14s" produced an
invalid new value for .change_diff: was cty.StringVal("Target cluster
SNIP
limits:\n\nChanges\n\nNamespace  Name   Kind        Conds.  Age  Op      Op
st.  Wait to    Rs  Ri  \nnexus      nexus  Deployment  2/2 t   20m  update  -
reconcile  ok  -  \n\nOp:      0 create, 0 delete, 1 update, 0 noop\nWait to:
1 reconcile, 0 delete, 0 noop\n\n").

This is a bug in the provider, which should be reported in the provider's own
issue tracker.

What did you expect:
The provider not to crash.

Just guessing but this might be related to the "Target Cluster" string? Sometimes the API calls are load balanced and the node value changes.
Target cluster 'https://SNIP:443' (nodes: aks-string-vmss000001, 7+)

Sometimes the "was" is just a blank string:
Error: Provider produced inconsistent final plan
When expanding the plan for module.nexus.k14s_kapp.nexus to include new values
learned so far during apply, provider "carvel.dev/carvel/k14s" produced an
invalid new value for .change_diff: was cty.StringVal(""), but now
cty.StringVal("Target cluster
'https://SNIP443' (nodes:
aks-cf-vmss000001, 8+)\n\nChanges\n\nNamespace  Name   Kind
Conds.  Age  Op      Op st.  Wait to    Rs  Ri  \nnexus      nexus
StatefulSet         ~8d   update~         reconcile  ok  -  \n\nOp:      0
create, 0 delete, 1 update, 0 noop\nWait to: 1 reconcile, 0 delete, 0
noop\n\n").
This is a bug in the provider, which should be reported in the provider's own
issue tracker.

fixed in https://github.com/vmware-tanzu/terraform-provider-carvel/releases/tag/v0.8.0 by disabling diff previews.


internal/v1: fix recommnedation service response

this commit fix the problem we have when we unmarshel the data that we get from the recommendation service

/retest