Response schemas of actions and functions that return a collection do not contain the nextLink property.

Related to https://github.com/microsoft/OpenAPI.NET.OData/issues/116
Assemblies affected
1.0.10
Steps to reproduce
https://github.com/microsoft/OpenAPI.NET.OData/issues/116 involved fixing the response shape for the collections returned in actions/functions.
However, these collections may be pageable and may contain the @odata.nextLink property which are not catered for at the moment. Ideally, this should be part of response schema as is the case for other collection properties if possible.

In addition to @odata.nextLink, delta functions and other functions can also support OData query parameters such as $select. See https://docs.microsoft.com/en-us/graph/delta-query-messages#use-query-parameters-in-a-delta-query-for-messages.

related #196

Additionally, the ms pageable extension is missing for delta functions
x-ms-pageable:
nextLinkName<EMAIL_ADDRESS>operationName: listMore

ah, thanks for bringing those back, I forgot about them.
select I have no problem with.
skiptoken actually depends on the endpoint, some use skiptoken, some use skip/top. And I don't think there's a standard annotation to know which is which.
the delta functions in Microsoft Graph are weird in the sense they are not the standard OData delta capability (I believe they predate it), so this is not something we could assume by convention (in fact delta identity uses skip token but delta ODSP uses skip top).
orderby/expand/filter support varies on an endpoint by endpoint base, maybe we could rely on regular collections (entity sets/navigation properties collections) annotations to know when to add them?
The more I think about it, the more I believe the query parameters for functions/actions is a big topic by itself and may be worth its own issue, thoughts?

I agree.
As you pointed out, the query parameters may need some more investigation and more thought around it to handle these scenarios. I'm happy with separating this out into its own issues so that at least we can get the changes with the nextLink property in.


Fix ContentCoding ordering

Only in the first case did we validate that the qValues were equal.
Fixes #1669

I'm now wondering whether the ordering should be based on qValue alone.  If I ever want to sort these, I want to sort by qValue.  I don't think a lexicographical tiebreaker makes a whole lot of sense.  If we sort on that, why not sort, say, methods?


Update repositories.txt

I just updated to 1.0.1 so that there are no more warnings from arduino-lint. Will you add release 1.0.1 or do I need to create a new pull-request?

Thanks so much for your library and for your attention to the suggestions from Arduino Lint @renebohne!
The Library Manager indexer checks all the libraries on the list for new tags/releases hourly and adds any new release that is compliant with the requirements listed here:
https://github.com/arduino/library-registry/blob/main/FAQ.md#what-are-the-requirements-for-publishing-new-releases-of-libraries-already-in-the-library-manager-list
After that, it may take some time for the updated index to propagate through the CDN cache to make your new release available everywhere, but it will get there in good time.
So there is no action required from you or us for releases of the library; once you push a tag/release that is compliant with all the Library Manager requirements everything happens automagically from there.
You can monitor the indexing of your releases at the dedicated logs website for the library, as shared by the bot above:
http://downloads.arduino.cc/libraries/logs/github.com/geeny/geenymodem/
It's a 404 right now because the indexer job hasn't triggered since the time your submission was accepted, but if you check back in an hour, you will see the indexer logs for all releases of your library, including the 1.0.1.
Please let me know if you have any questions or concerns.
Regards, Per

@renebohne it looks like https://github.com/geeny/geenymodem has been deleted.
Do you know why?

Thanks for the info.
The geeny project was shut down, the company removed the repo.
Can you delete the lib from the registry or shall I edit the file and
create a PR?
On Mon, Jul 3, 2023 at 5:55 PM Nicholas Humfrey @.***>
wrote:

@renebohne https://github.com/renebohne it looks like
https://github.com/geeny/geenymodem has been deleted.
Do you know why?
—
Reply to this email directly, view it on GitHub
https://github.com/arduino/library-registry/pull/196#issuecomment-1618761473,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFD3AOKR27KMKQW2UTYLHTXOLTPPANCNFSM5AN6333A
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Dipl.-Informatiker René Bohne
3D Printing - IoT - Wearables
http://www.rene-bohne.de


Unrecoverable error in select/poll

☸ default (nasreddine) in soxincfg on  main [$] via ❄  impure (soxincfg-env)
at 20:49:22 ❯ nix copy --to https://nix-cache.cluster.ifcsn0.nasreddine.com --all
unexpected error in download thread: error: unexpected error from curl_multi_wait(): Unrecoverable error in select/poll
error: download of 'https://nix-cache.cluster.ifcsn0.nasreddine.com/z1wy9a3mrrqzk88y8iln3pfkqbnrm4hz.narinfo' was interrupted

☸ default (nasreddine) in soxincfg on  main [$] via ❄  impure (soxincfg-env) took 5s
at 21:12:18 ❯ nix copy --to https://nix-cache.cluster.ifcsn0.nasreddine.com --all
unexpected error in download thread: error: unexpected error from curl_multi_wait(): Unrecoverable error in select/poll
error: download of 'https://nix-cache.cluster.ifcsn0.nasreddine.com/ys8gvfzhli8qxlidx545cz7fdjw1r4am.narinfo' was interrupted

☸ default (nasreddine) in soxincfg on  main [$] via ❄  impure (soxincfg-env) took 3s
at 21:13:13 ❯ nix copy --to https://nix-cache.cluster.ifcsn0.nasreddine.com --all
unexpected error in download thread: error: unexpected error from curl_multi_wait(): Unrecoverable error in select/poll
error: download of 'https://nix-cache.cluster.ifcsn0.nasreddine.com/nrd2hdj129yfr2yj6nbn6f25b209l8nw.narinfo' was interrupted

☸ default (nasreddine) in soxincfg on  main [$] via ❄  impure (soxincfg-env) took 3s
at 21:13:21 ❯ nix copy --to https://nix-cache.cluster.ifcsn0.nasreddine.com --all
unexpected error in download thread: error: unexpected error from curl_multi_wait(): Unrecoverable error in select/poll
error: download of 'https://nix-cache.cluster.ifcsn0.nasreddine.com/z2wr6d034xjxdrprd20vag36hjy4qq1h.narinfo' was interrupted

☸ default (nasreddine) in soxincfg on  main [$] via ❄  impure (soxincfg-env) took 3s
at 21:13:35 ❯ nix copy --to https://nix-cache.cluster.ifcsn0.nasreddine.com --all
unexpected error in download thread: error: unexpected error from curl_multi_wait(): Unrecoverable error in select/poll
error: download of 'https://nix-cache.cluster.ifcsn0.nasreddine.com/xnqariynhm9zadas4db5dqycdgncjf76.narinfo' was interrupted

I ran nix --debug copy ... and it yielded nothing useful, and none of the hashes that showed up with the same error message show up in the debug or in ncps's logs. I'm not sure why this happens.

This is possibly related to https://github.com/NixOS/nix/issues/11387 which was fixed in https://github.com/NixOS/nix/pull/11402 and was released in Nix >= 2.25.0 and I'm using Nix 2.24.10. I'll give 2.25 version a try.

Hmm, I hit this even on Nix 2.25.3 so it must be something else.
at 10:15:02 ❯ nix copy --to https://nix-cache.cluster.ifcsn0.nasreddine.com --all
unexpected error in download thread: error: unexpected error from curl_multi_wait(): Unrecoverable error in select/poll
error: download of 'https://nix-cache.cluster.ifcsn0.nasreddine.com/qiqvz1q99sskqrqb1jwkmf6j88vqx3l6.narinfo' was interrupted

I think this is related to SSL

My ncps is deployed to Kubernetes.
It's using Traefik as ingress, and http automatically redirect to https.
My ingress for ncps is configured as an IngressRoute.
I did a kubectl port-forward for the pod directly, and for the service; It worked fine for both cases.
I replaced the IngressRoute with an equivalent Ingress and I configured Traefik to stop forwarding traefik from http to https.
It worked fine with HTTP to the new ingress.
I got the same issue with HTTPs to the new ingress.

This points to the issue related to TLS. I'll use Wireshark to try and understand what's going on.


Errors Compiling from Source on Arch Linux

Hi,
I have been using this PKGBUILD for building VScode on Arch Linux but whenever it gets to the stage of running gulp vscode-linux-x64 it returns this error message:
[21:45:49] Starting 'optimize-vscode'...

<--- Last few GCs --->

122514 ms: Mark-sweep 1086.3 (1434.3) -> 1086.3 (1434.3) MB, 1281.1 / 0 ms [allocation failure] [GC in old space requested].
123780 ms: Mark-sweep 1086.3 (1434.3) -> 1086.3 (1434.3) MB, 1265.8 / 0 ms [allocation failure] [GC in old space requested].
125094 ms: Mark-sweep 1086.3 (1434.3) -> 1086.3 (1434.3) MB, 1314.7 / 0 ms [last resort gc].
126388 ms: Mark-sweep 1086.3 (1434.3) -> 1086.3 (1434.3) MB, 1293.1 / 0 ms [last resort gc].

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x13bd75fc9fa9 <JS Object>
1: addMapping(aka SourceMapGenerator_addMapping) [/home/fusion809/AUR/visual-studio-code-oss/src/vscode-1.0.0/node_modules/concat-with-sourcemaps/node_modules/source-map/lib/source-map-generator.js:~94] [pc=0x16def244cf1a] (this=0x1638bb806d99 <a SourceMapGenerator with map 0x32765b3f7f41>,aArgs=0x326def047751 <an Object with map 0x1662ab3f8ca9>)
2: /* anonymous */(aka /* anonymous */) ...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
/home/fusion809/AUR/visual-studio-code-oss/PKGBUILD: line 41: 8995 Aborted (core dumped) gulp vscode-linux-${_vscode_arch}
==> ERROR: A failure occurred in build().
Aborting...

Changing gulp vscode-linux-x64 to gulp vscode-linux-x64 --max_new_space_size=2000000 (in accordance with this answer at StackOverflow) makes no difference to this error. Likewise changing gulp vscode-linux-x64 to gulp vscode-linux-x64 --max_new_space_size=16000000 makes no difference. So I suspect there is a deeper issue here.
Thanks for your time,
Brenton

Interestingly I have seen this too on Windows when I try to build VS Code locally.
@fusion809 what node.js version are you running with?

6.0.0. I should have said I found a solution (see the comments on https://aur.archlinux.org/packages/visual-studio-code-oss/). Namely (changing gulp vscode-linux-x64 to):
node --max_old_space_size=2000000 /usr/bin/gulp vscode-linux-x64

where the 2000000 can of course be adjusted to how much memory (RAM) you're willing to allocate to this process and vscode-linux-x64 should be adjusted to match your platform.


roobo v2 dev kit

Hello,
For linux platform, does this quick-start work the same for roobo v2 dev kit (https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-devices-sdk-roobo-v2) ?
Thank you.

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

ID: 8d595da9-cfb2-b408-22a8-950ff0ab24fc
Version Independent ID: 83ab2159-83ee-d4fc-0f29-f0f44c8cae83
Content: Quickstart: Run the Speech Devices SDK on Windows, Linux or Android - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/speech-devices-sdk-quickstart.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @IEvangelist
Microsoft Alias: dapine

@wukun2015 Thank you for your feedback! We will review and update as appropriate.

Any update please ?

@wukun2015 Hi Wuk, it should be. Please let me know if there is anything missing. Thanks.

@wukun2015
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


Issue #543: Test automation script for inventory

Fixes #543
Description of the Solution
Ansible script for test inventory
Suggested Reviewers
@j0hnL @lwilson

@all-contributors add @vedaprakashanp for test, code


GUVNOR-3003: [Library] [Assets list] Order assets alphabetically

See https://issues.jboss.org/browse/GUVNOR-3003

Part of an ensemble:

https://github.com/AppFormer/uberfire/pull/697
https://github.com/kiegroup/kie-wb-common/pull/866
https://github.com/kiegroup/drools-wb/pull/493
https://github.com/kiegroup/jbpm-designer/pull/595
https://github.com/kiegroup/jbpm-form-modeler/pull/105
https://github.com/kiegroup/optaplanner-wb/pull/163

Jenkins please retest this.


New package: Tillitis.TKeyVerification version 1.0.0

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Packages\Tillitis.TKeyVerification__DefaultSource\tkey-verification.exe returned exit code: 2
Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\tkey-verification.exe returned exit code: 2

(Automated response - build 886.)

Verify:


Test Driven Develoment (TDD)

Project Requirements:

Create a class called Solver.
Create a method called factorial that takes one argument, an integer N, and returns the factorial for that number. The factorial is the multiplication of all integers from 1 to N and has the special case that the factorial of 0 is 1. This method only accepts 0 and positive integers, so if a negative integer is given it should raise an exception.
Create a method called reverse that takes one argument, a string word, and returns word reversed (e.g. if word is "hello" it returns "olleh").
Create a method called fizzbuzz that takes one argument, an integer N, and returns a string. The returned string is constructed following these rules:
When N is divisible by 3, return "fizz".
When N is divisible by 5, return "buzz".
When N is divisible by 3 and 5, return "fizzbuzz".
Any other case, return N as a string (e.g. say N is 7 then return "7").
Start the tests above with commit history showing the evidence that  TDD had used.

Hello @BenMukebo, Just to me make sure if I understood your review recommendation: we need to redo the project for #reverse and #fizzbuzz, right? So I will delete this part of the code and create a history using TDD. Please confirm it. Thanks.

Hey @ppmarq1, sorry for the late reply, I can see that you have already implemented the requested changes, congratulations 👏🏻 🥳


[backport] Rename submodules under cupyx.scipy.special

Backport of #3902

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 83c878e584be21c04fc72f9062d875a4f5822e70, target branch v8) succeeded!

LGTM!


Issue with 'count' query

So this query will fail if the existing data has a count column in it, so the simplest/best thing to do here is just use a field name like _sageworks_count and that way it won't conflict with existing column names.
 # Combined query to get both top and bottom counts
            query = (
                f'(SELECT "{column}", count(*) as count '
                f"FROM {table} "
                f'GROUP BY "{column}" ORDER BY count DESC LIMIT 20) '
                f"UNION ALL "
                f'(SELECT "{column}", count(*) as count '
                f"FROM {table} "
                f'GROUP BY "{column}" ORDER BY count ASC LIMIT 20)'
            )

This has been fixed


[Enhancement]: Show debugger errors for lint errors in property pane

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Only lint errors in JS objects are shown in the debugger today. All lint errors (not warnings), should be logged in the debugger
Steps To Reproduce

DnD a button widget
Add the following binding to the text field {{appsmith.unknown}}
Check the debugger to see that no error is logged

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud

This is blocked by https://github.com/appsmithorg/appsmith/issues/29646
cc: @satbir121

@rishabhrathod01 we should do this


Move .css import

fixes #554

Codecov Report

Merging #589 (e3bae65) into develop (8be362f) will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop        #589   +/-   ##
=============================================
  Coverage   98.29222%   98.29222%
=============================================
  Files             86          86
  Lines           2108        2108
=============================================
  Hits            2072        2072
  Misses            36          36


bugfix for resp parser

Fixes #3 by improving the utlity functions which we use to operate
on the array of tokens.
Previously, we were having to track our position in the token
stream but were mixing that with functions which removed tokens
from the stream.
This change makes all the utility functions act by attempting to
take a token from the front of the token stream. This makes the
parser more intuitive to write and less likely to have the same
class of bug.

Hi @brayniac @thinkingfish @kevyang, sorry to ask an irrelevant question on this pr, recently I am testing segcache, and I would like to ask about the eviction policy for segcache, are both ttl and segment size factors that will trigger eviction for cache item?
For example, I set 500s ttl, and my test would take about 1 minute to run. If I am still getting 0s for a cached key, is that caused by the cache segment is full and that value is kicked out? Thank you.

@luzhang6 - it would be better to ask this question in a new issue since it isn't relevant to this PR. Will be happy to address the question once asked in a new issue.

Thanks, will do!


Rich text for developer bio

The designer I'm working with noticed that multiple profiles are writing quasi-formatted lists and sections in their bio. I'd love to offer this as a real feature so folks can clean up their profiles a bit.
A PR addressing this issue should:

[ ] Enable markdown in the developer bio field

When rendering, only the following tags/elements should be displayed. Everything else should be stripped, removed, or sanitized.

italics
bold
strikethrough
ordered lists
unordered lists
headings
code blocks
inline code blocks

RailsDevs already has Redcarpet, so ideally we can use that gem. Digging into the README it looks like there are options for disabling everything we don't want (images, styles, links, etc.).

I'd like to give this a shot 👋

Sure thing! All yours, @rayhanw. Let me know if you run into any issues filtering out the right markup with Redcarpet.


Medialibrary has a dependency on the Site framework.

The function save_as_zipfile in feincms/module/medialibrary/modeladmins.py has a dependency on the Sites framework. If django.contrib.sites is not installed, a server error is thrown if a user uploads a zip file.

The bug has most likely been fixed in this commit: https://github.com/feincms/feincms/commit/b6572533e7f3380f5e080d3b4a862116d21a805c.

Yes. Thanks!


Set default python location for npm

Also add support for npm registry auth token

Does the dockerfile not require npm config set for python?

I assume you mean the node-red-container/Dockerfile here. And no, because this already set upstream in the Node-RED docker container.


Update ar.json

**Improve Language and correct it.
⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand []:

[x] I have read and understand the pull request rules.

Description
Fixes #(issue)
Type of change
Please delete any options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
User interface (UI)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Other
This change requires a documentation update

Checklist

[x] My code follows the style guidelines of this project
[ ] I ran ESLint and other linters for modified files
[ ] I have performed a self-review of my own code and tested it
[ ] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[x] My changes generate no new warnings
[ ] My code needed automated testing. I have added them (this is optional task)

Screenshots (if any)
Please do not use any external image service. Instead, just paste in or drag and drop the image here, and it will be uploaded automatically.

Translations should be managed through weblate. See these instructions for how to do this https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md

@louislam This is what I get from weblate "The translation was automatically locked due to following alerts" The warehouse could not be merged.

@Nick390 It should be OK now, thanks.
https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ar/


[BUG] Does Zeros optimizations works on windows? any eta when it will?

I'm getting the below error when I use deepspeed on windows with py10/torch1.12.1+cu113,
Tried stage 2 and 3 to offload to the CPU with the default settings.
File "C:\Users\MH\AppData\Local\Programs\Python\Python310\lib\subprocess.py",
line 1435, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
Thanks!

Are you trying to use this for training a model or inference? If so, can you open a new issue with the specific template and provide the requested details there (about your environment, etc)?

Are you trying to use this for training a model or inference? If so, can you open a new issue with the specific template and provide the requested details there (about your environment, etc)?

yes, for training a model, is it supported yet on windows? if no so I don't have to open a new bug report ticket.
Thanks!


replace embassy_usb_driver import with re-export from embassy_usb

Most embassy users use the git version by pathing crates-io. Its easy to forget to patch both embassy-usb and embassy-usb-driver. By relying on embassy-usb-driver as re-exported by embassy-usb that can no longer happen.

I'm not certain I want to merge this. I think the intent of relying on e-u-driver is to have fewer breaking changes as that crate changes less often than e-u does.
That being said, I wasn't able to make that work for the 0.2 to 0.3 transition, so maybe there isn't much value to that.

I am fine with leaving this open for a while (be that months or years) or closing it. Its a small change it does not matter to me who makes it if its made at all :+1:. Do whatever is most convenient for you, and thanks for making postcard & postcard-rpc. They are both very nice (love the inclusion of the CobsAccumulator btw that saved me quite some time).


Fix misspelled flag

Codecov Report

Merging #125 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #125   +/-   ##
=======================================
  Coverage   50.22%   50.22%
=======================================
  Files          87       87
  Lines        4191     4191
=======================================
  Hits         2105     2105
  Misses       2086     2086

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 162990f...97c1217. Read the comment docs.


CLI: /n is for steps, not seeds

This fixes a CLI issue where /n reports changing the seed number

Thank you


False positive reportOptionalMemberAccess

Environment data

Language Server version: v2022.4.0
OS and version: Win10
Python version (& distribution if applicable, e.g. Anaconda): Python 3.10

Expected behaviour
No error.
Actual behaviour
"next" is not a known member of "None"
Code Snippet / Additional information

from __future__ import annotations

class ListNode:
    def __init__(self, val: int = 0, next: ListNode | None = None):
        self.val = val
        self.next = next

def has_cycle(head: ListNode | None) -> bool:
    fast_head = head
    while head and fast_head:
        head = head.next
        fast_head = fast_head.next
        if fast_head:  # explicit check here
            fast_head = fast_head.next  # <- error here
        else:
            return False
        if head == fast_head:
            return True
    return False

Even the hover tooltip is correct.

It looks like a regression in v2022.4.0 release.

Thanks for the bug report. This was a regression I introduced when adding an optimization recently. I've fixed the bug and added a new unit test based on your code sample to prevent similar future regressions.

This issue has been fixed in version 2022.4.1, which we've just released. You can find the changelog here: CHANGELOG.md


Create-react-app

This is a bug
Yes
after doing npx create-react-app my-app
please refer to my image

Please run the command again

Please run the command again

error still there cant proceed

Npm cache clean might help

Have you solve this problem？

Have you solve this problem？

not yet.


Unable to capture image on web view based browsers

When I load this URL in chrome, it prompts me for the permission that this website requires camera permission. After allowing it, camera starts.
But in my web view browser, there is no such prompt due to which it's not opening the camera. It shows the unknown in the cameras section when I am accessing this URL in web view.
Any help with this?

I think, I am facing the same issue. when I open the browser then I can not see the camera preview but my camera light is on and scanning is working when I show the qrcode to camera.
kindly informed me if you have solve this issue
thanks.

same issue here, maybe it's because webview-based app has the permissions set in XML. After compiled, there is no way to enable this functionality, because the webview layer does not talk directly with the device, it depends on the lowest layer where JAVA was compiled to interact directly with the device. That is, in my case, it will only work if I upload another compilation with the permissions to use active camera.


$type field

hey! can you help me with one thing: is it possible to set $type field object descriptor to writable, just faced with the troubles when I need to modify type of element

What is your use case? Why would you like to change the $type of an element?

I use bpmn-moddle as data structure for my app and I need to change type of element for example: changing bpmn:InclusiveGateway to bpmn:ComplexGateway.

By definition, elements with different types have different properties. Changing the $type won't get you anywhere. The right way to change elements is to create a new element and copy the allowed properties from the old to the new one.


Add "book" to font weights

We use the Sharp Sans font in our project, where we use Tokens Studio and Figma: https://sharptype.co/typefaces/sharp-sans/#specimen
Sharp Sans defines the 400 font-weight as Book, so that's what Figma uses.
Currently, sd-transforms transforms other font weights to numbers, but Book stays as is, which is not right.

Thanks! :) yeah we have "buch" already (German for book I think?) so imo makes sense to add English version of that.
Too bad there isn't a true standard for fontweight names, so we could run into issues where fonts do not agree on the names in the future, but we'll cross that bridge when/if we get there

yeah we have "buch" already (German for book I think?) so imo makes sense to add English version of that.

That's what I thought also, forgot to mention it. 😅

Too bad there isn't a true standard for fontweight names, so we could run into issues where fonts do not agree on the names in the future, but we'll cross that bridge when/if we get there

I agree.
It looks like some type foundries even use the same name for different weights… 😞


Transform client code to state passing style

The client code of each contract is going to be compiled to an executable, the contract runtime. The contract runtime should be a stateless component. Therefore we need to transform all actions in the WalletAPI monad into functions that take the current state and produce a new state plus some events (register triggers, create transactions, etc.)

Note: to do this in strictly monadic style we'd need to serialize a continuation back to the client, which we almost certainly don't want to do.
Instead, we probably want applicative style computations, so all the client-side effects we want can be done up front. We could use selective functors to improve this further.

I had a look at the selective functors paper and it seems to be a great fit for what we're trying to do.

Implemented in https://github.com/input-output-hk/plutus/pull/1013


Return GameUser.versionNumber in api/web/game results.

This makes it much easier to tell which version of an opponent was actually playing in a game.
The motivating reason is for people getting the game information to run their own rating methods.

Hmm, looks like there is a build failure with a python package while building the docker image? Certainly nothing this change could have any conceivable effect on.


UIINREACH-89 : INN-Reach Staff Interface: INN-Reach Transaction Detail View Action Menu (Item hold) - Final check-in

Purpose
Perform final check-in of an item loaned through INN-Reach
Ref
UIINREACH-89
Screenshots

Test errors found. See https://jenkins-aws.indexdata.com/job/folio-org/job/ui-inn-reach/job/PR-193/5/

Use the Squash and merge button option to merge into the master branch.


Renaming import changes the import name

Press F2 on some name which is imported from another TS file
It doesn't rename the thing globally but renames the import with as

Is this new or has it been like this for a long time? I was hitting it and it makes mass refactoring sort of inconvenient as I have to stop and check where the thing is defined before renaming it. I would see "rename import" as a separate action than "rename"

@roblourens I think that this behavior is there for about a year.
However you can try "typescript.preferences.useAliasesForRenames": false which should switch from aliases to global renames.
It's description mentions only object shorthand properties but should work with named imports as well.
Unfortunately #93501 didn't enough votes 😢

Oh, that's perfect thanks


What's new Box

Definition of Ready

[x] Does this meet the INVEST criteria?
[x] Does this have a clearly defined user?
[x] Does this have an estimate?
[x] Does this have acceptance criteria?
[x] Does this have sufficient context for the specific functionality being developed (design, business rules, etc.)
[x] Does this have a dev link been provided in the design?
[x] Is this traceable to a feature, epic, or PI?

User Story
As a CAMPD user I want to see the what's new box So that I can see the latest news about the site
Acceptance Criteria
Given that a user has accessed the CAMPD home page
When the functionality is displayed
Then the whats new box is displayed in accordance with the wireframes
AND the content is consistent with the content document
Given that a user has accessed the CAMPD home page
When the functionality is displayed
Then the "Maps & Graphs" section is displayed in accordance with the wireframes
AND the content is consistent with the content document
Development Notes
SCOPE:
As apart of the scope of this ticket, the EPA should have the ability to update content in the what's new box
-This ticket was estimated as a 3 with the understanding that the work would entail creating the component in the design system, making the api call, and displaying the content

Update visualization and analysis section on the home page to  "Maps & Graphs"
In the whats new box external links and links to the quick start guide should open in a new tab
The exit disclaimer in the whats new box will be displayed next to the hyper link

Does this Story require 508 Testing?

[ ] Implementing a new authoring tool that will produce code / content for the application
[ ] Implementing a 3rd party widget that will be part of the application
[ ] Adding new / updating custom functionality
[x] Adding new / updating a page template
[ ] Adding new / replacing existing functionality (unless the replacement has already passed 508 testing)
[ ] Full Site Review prior to a scheduled EPA 508 review
[ ] Planning a video that will appear on the application
[ ] Producing a video that will appear on the application
[ ] Producing Training materials
[ ] Producing documents

Context
(User journeys, design mockups, architectural diagrams, business rules, data element definitions)
CAMPD home page
CAMPD home page (dev)
CAMPD home page content document

Quick Start Guide
Testing
Test Case: TC535
Tester: @JanellC
508 Testing:
Tester: @aprematta
Definition of Done

[x] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[x] Has the code been unit tested and peer reviewed?
[x] Have the functional tests been executed?
[x] Have all defects been reviewed and dispositioned, resolved, or deferred?
[x] Is the user story ready to be deployed to the test/staging environments?

TC535 passed @tlageman-epa .FYI- I noticed that the progress bar is placed too close to the whats new box. I logged Bug: Emissions Progress Bar #2580 for the tech team to fix the progress bar.
@aprematta This ticket is ready for 508 testing


fix show more button

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/34761
$ https://github.com/Expensify/App/issues/34761#issuecomment-1899180783
Tests

[X] Verify that no errors appear in the JS console

Open App
Click on the green + button
Click on the "Start chat" option
Scroll down to the bottom till the show more option appears.
Click "Show more" and validate that new items appear in the list upon clicking on the show more option

Offline tests

Open App
Click on the green + button
Click on the "Start chat" option
Scroll down to the bottom till the show more option appears.
Click "Show more" and validate that new items appear in the list upon clicking on the Show More option

QA Steps

[x] Verify that no errors appear in the JS console

Open App
Click on the green + button
Click on the "Start chat" option
Scroll down to the bottom till the show more option appears.
Click "Show more" and validate that new items appear in the list upon clicking on the show more option

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/59809993/4f442399-4292-454d-b9b6-0a4ac58bb894

Android: mWeb Chrome
https://github.com/Expensify/App/assets/59809993/3f65a229-42a6-4440-b509-fdd5ee73f44e

iOS: Native
https://github.com/Expensify/App/assets/59809993/4f442399-4292-454d-b9b6-0a4ac58bb894

iOS: mWeb Safari
https://github.com/Expensify/App/assets/59809993/3f65a229-42a6-4440-b509-fdd5ee73f44e

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/59809993/bcd9b7a1-5757-4216-aedc-646dac37e25b

MacOS: Desktop
https://github.com/Expensify/App/assets/59809993/4d61560c-7879-410a-af91-1e94dea89589

🚀 Deployed to production by https://github.com/marcaaron in version: 1.4.36-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Add tests for Table component

https://issues.redhat.com/browse/HAC-1551
Added test coverage for

VirtualizedTableBody - non virtualized
VirtualizedTable - non virtualized
ListView
StatusBox
FilterChips

@florkbr

/retest

/retest

/retest

/retest

/retest

/retest

Overall looks good to me and the tests finally are passing!! 🎉

/lgtm

/approve


@conda-forge-admin please add bot automerge

@conda-forge-admin please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/asks-feedstock#8.


New package: vcmi.vcmi version 1.4.5

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

--- End of inner exception stack trace ---    at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)

(Automated response - build 684.)

Automatic Validation ended with:

--- End of inner exception stack trace ---    at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)

(Automated response - build 692.)

@wingetbot waivers Add Validation-Executable-Error


Fix codegen error for partial constructor

I dont know how to write tests for the codegen pass

The solution you have here maybe works, but it's not the most efficient way

The way I usually test the codegen is to prove that the generated code works properly when executed. In practice, this means either adding code to the standard library packages that exercise this codegen path and testing those, or by adding tests to spec/mare/semantics that can exercise the codegen path and test the execution of it

So in this case, we can add tests by adding the regex package that uses a partial constructor, and just have test cases for the package that show the constructor failing in some cases and succeeding in others

Hmmm... nevermind. I think using the Errorable calling convention is okay after all.
I say that because in the future, when we implement errors with a value, we will need the second return value element to be able to return the error value, even though for the successful return we do not need that value slot.
Merging...


Focus issue during flutter integration tests

Describe the bug
When using flutter integration tests, the phone number is not entered. The TextField gets focused correctly (= I can see the cursor there) but no text is entered.
Package version
0.4.6 and above. (was working fine on 0.4.5)
Flutter version
Tested on 1.17.5 and 1.20.2 - both had this issue.
To Reproduce
I created this repo so that you can easily try it: https://github.com/FrantisekGazo/intl_phone_number_input_example
It contains integration test for regular TextField and the InternationalPhoneNumberInput. There is no issue with the regular TextField.

clone the repo
run flutter drive --target=test_driver/main.dart

Expected behavior
The text should be entered.
Screenshots

** Targeted platforms (please complete the following information):**
I only tried android.

Hi @FrantisekGazo, check out this link on samples for integration test. Samples


Persistant palette

Currently the palette resets every time a video stream opens, this changes the firmware to reinstitute the existing palette rather than reset it.

Rebased and merged


Fix #203

Codecov Report

Merging #205 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #205   +/-   ##
=======================================
  Coverage   75.33%   75.33%
=======================================
  Files           5        5
  Lines         669      669
=======================================
  Hits          504      504
  Misses        145      145
  Partials       20       20

Flag
Coverage Δ

#unittests
75.33% <ø> (ø)
:arrow_up:

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 4fed47b...95e435d. Read the comment docs.


fix(git): dont fetch tags by default

What does this PR try to resolve?
Change Cargo to pass --no-tags Git CLI option by default. This aligns with how libgit2 works in Cargo.
Based on the Git official doc,
the flag has been there since at least 2.0.5
How should we test and review this PR?
Not sure if we want a test for this.
CARGO_NET_GIT_FETCH_WITH_CLI is barely tested.
Additional information
Fixes #14687

Thank you. You're very efficient. I just found this problem point and you've already corrected it.

If we pass a  tag to git, will it still be fetched?

By default, any tag that points into the histories being fetched is also fetched; the effect is to fetch tags that point at branches that you are interested in.

So sounds like this isn't saving us in anything we pull.  Maybe it reduces server load.  It would decrease output noise and reduce the chance of people thinking we are pulling more than we should.

If we pass a tag to git, will it still be fetched?

Yes. I've checked refs/tags. However, it doesn't fetch any tag, even the one we requested. If one switches to other revision and back, the git ref needs to be kinda re-fetched (only git ref, so pretty lightweight). This is the same behavior as our git2 integration.

So sounds like this isn't saving us in anything we pull. Maybe it reduces server load.

Mainly server load, yes, though it also saves like one HTTP POST request and some git command executions. I don't know if it is worthy. Logs attached.

Resolving deltas: 100% (13951/13951), done.
>>>> run-command.c:655       trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandLineTools/usr/libexec/git-core/git
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexec/git-core
>>>> git.c:460               trace: built-in: git rev-list --objects --stdin --not --all --quiet --alternate-refs
From https://github.com/serde-rs/serde
 * [new ref]           3ae2bee272cd51ca65162646185043046751dc6d -> refs/commit/3ae2bee272cd51ca65162646185043046751dc6d
 * [new tag]           v1.0.97    -> v1.0.97
>>>> run-command.c:655       trace: run_command: git remote-https https://github.com/serde-rs/serde.git https://github.com/serde-rs/serde.git
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandLineTools/usr/libexec/git-core/git
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexec/git-core
>>>> git.c:750               trace: exec: git-remote-https https://github.com/serde-rs/serde.git https://github.com/serde-rs/serde.git
>>>> run-command.c:655       trace: run_command: git-remote-https https://github.com/serde-rs/serde.git https://github.com/serde-rs/serde.git
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandLineTools/usr/libexec/git-core/git-remote-https
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexec/git-core
>>>> run-command.c:655       trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs
 * [new tag]           v0.2.0     -> v0.2.0
 * [new tag]           v0.2.1     -> v0.2.1
 * [new tag]           v0.3.0     -> v0.3.0
 * [new tag]           v0.3.1     -> v0.3.1
 * [new tag]           v0.3.2     -> v0.3.2
 * [new tag]           v0.3.3     -> v0.3.3
 * [new tag]           v0.4.0     -> v0.4.0
 * [new tag]           v0.4.1     -> v0.4.1
 * [new tag]           v0.4.3     -> v0.4.3
 * [new tag]           v0.4.4     -> v0.4.4
 * [new tag]           v0.5.0     -> v0.5.0
 * [new tag]           v0.5.1     -> v0.5.1
 * [new tag]           v0.5.2     -> v0.5.2
 * [new tag]           v0.5.3     -> v0.5.3
 * [new tag]           v0.6.0     -> v0.6.0
 * [new tag]           v0.6.1     -> v0.6.1
 * [new tag]           v0.6.10    -> v0.6.10
 * [new tag]           v0.6.11    -> v0.6.11
 * [new tag]           v0.6.12    -> v0.6.12
 * [new tag]           v0.6.13    -> v0.6.13
 * [new tag]           v0.6.14    -> v0.6.14
 * [new tag]           v0.6.15    -> v0.6.15
 * [new tag]           v0.6.2     -> v0.6.2
 * [new tag]           v0.6.3     -> v0.6.3
 * [new tag]           v0.6.4     -> v0.6.4
 * [new tag]           v0.6.5     -> v0.6.5
 * [new tag]           v0.6.6     -> v0.6.6
 * [new tag]           v0.6.7     -> v0.6.7
 * [new tag]           v0.6.8     -> v0.6.8
 * [new tag]           v0.6.9     -> v0.6.9
 * [new tag]           v0.7.0     -> v0.7.0
 * [new tag]           v0.7.1     -> v0.7.1
 * [new tag]           v0.7.10    -> v0.7.10
 * [new tag]           v0.7.11    -> v0.7.11
 * [new tag]           v0.7.12    -> v0.7.12
 * [new tag]           v0.7.13    -> v0.7.13
 * [new tag]           v0.7.14    -> v0.7.14
 * [new tag]           v0.7.15    -> v0.7.15
 * [new tag]           v0.7.2     -> v0.7.2
 * [new tag]           v0.7.4     -> v0.7.4
 * [new tag]           v0.7.5     -> v0.7.5
 * [new tag]           v0.7.6     -> v0.7.6
 * [new tag]           v0.7.7     -> v0.7.7
 * [new tag]           v0.7.8     -> v0.7.8
 * [new tag]           v0.7.9     -> v0.7.9
 * [new tag]           v0.8.0     -> v0.8.0
 * [new tag]           v0.8.0-rc1 -> v0.8.0-rc1
 * [new tag]           v0.8.0-rc2 -> v0.8.0-rc2
 * [new tag]           v0.8.0-rc3 -> v0.8.0-rc3
 * [new tag]           v0.8.1     -> v0.8.1
 * [new tag]           v0.8.10    -> v0.8.10
 * [new tag]           v0.8.11    -> v0.8.11
 * [new tag]           v0.8.12    -> v0.8.12
 * [new tag]           v0.8.13    -> v0.8.13
 * [new tag]           v0.8.14    -> v0.8.14
 * [new tag]           v0.8.15    -> v0.8.15
 * [new tag]           v0.8.16    -> v0.8.16
 * [new tag]           v0.8.17    -> v0.8.17
 * [new tag]           v0.8.18    -> v0.8.18
 * [new tag]           v0.8.19    -> v0.8.19
 * [new tag]           v0.8.2     -> v0.8.2
 * [new tag]           v0.8.20    -> v0.8.20
 * [new tag]           v0.8.21    -> v0.8.21
 * [new tag]           v0.8.22    -> v0.8.22
 * [new tag]           v0.8.23    -> v0.8.23
 * [new tag]           v0.8.3     -> v0.8.3
 * [new tag]           v0.8.4     -> v0.8.4
 * [new tag]           v0.8.5     -> v0.8.5
 * [new tag]           v0.8.6     -> v0.8.6
 * [new tag]           v0.8.7     -> v0.8.7
 * [new tag]           v0.8.8     -> v0.8.8
 * [new tag]           v0.8.9     -> v0.8.9
 * [new tag]           v0.9.0     -> v0.9.0
 * [new tag]           v0.9.0-rc1 -> v0.9.0-rc1
 * [new tag]           v0.9.0-rc2 -> v0.9.0-rc2
 * [new tag]           v0.9.0-rc3 -> v0.9.0-rc3
 * [new tag]           v0.9.0-rc4 -> v0.9.0-rc4
 * [new tag]           v0.9.1     -> v0.9.1
 * [new tag]           v0.9.10    -> v0.9.10
 * [new tag]           v0.9.11    -> v0.9.11
 * [new tag]           v0.9.12    -> v0.9.12
 * [new tag]           v0.9.13    -> v0.9.13
 * [new tag]           v0.9.14    -> v0.9.14
 * [new tag]           v0.9.15    -> v0.9.15
 * [new tag]           v0.9.2     -> v0.9.2
 * [new tag]           v0.9.3     -> v0.9.3
 * [new tag]           v0.9.4     -> v0.9.4
 * [new tag]           v0.9.5     -> v0.9.5
 * [new tag]           v0.9.6     -> v0.9.6
 * [new tag]           v0.9.7     -> v0.9.7
 * [new tag]           v0.9.8     -> v0.9.8
 * [new tag]           v0.9.9     -> v0.9.9
 * [new tag]           v1.0.0     -> v1.0.0
 * [new tag]           v1.0.1     -> v1.0.1
 * [new tag]           v1.0.10    -> v1.0.10
 * [new tag]           v1.0.11    -> v1.0.11
 * [new tag]           v1.0.12    -> v1.0.12
 * [new tag]           v1.0.13    -> v1.0.13
 * [new tag]           v1.0.14    -> v1.0.14
 * [new tag]           v1.0.15    -> v1.0.15
 * [new tag]           v1.0.16    -> v1.0.16
 * [new tag]           v1.0.17    -> v1.0.17
 * [new tag]           v1.0.18    -> v1.0.18
 * [new tag]           v1.0.19    -> v1.0.19
 * [new tag]           v1.0.2     -> v1.0.2
 * [new tag]           v1.0.20    -> v1.0.20
 * [new tag]           v1.0.21    -> v1.0.21
 * [new tag]           v1.0.22    -> v1.0.22
 * [new tag]           v1.0.23    -> v1.0.23
 * [new tag]           v1.0.24    -> v1.0.24
 * [new tag]           v1.0.25    -> v1.0.25
 * [new tag]           v1.0.26    -> v1.0.26
 * [new tag]           v1.0.27    -> v1.0.27
 * [new tag]           v1.0.28    -> v1.0.28
 * [new tag]           v1.0.29    -> v1.0.29
 * [new tag]           v1.0.3     -> v1.0.3
 * [new tag]           v1.0.30    -> v1.0.30
 * [new tag]           v1.0.31    -> v1.0.31
 * [new tag]           v1.0.32    -> v1.0.32
 * [new tag]           v1.0.33    -> v1.0.33
 * [new tag]           v1.0.34    -> v1.0.34
 * [new tag]           v1.0.35    -> v1.0.35
 * [new tag]           v1.0.36    -> v1.0.36
 * [new tag]           v1.0.37    -> v1.0.37
 * [new tag]           v1.0.38    -> v1.0.38
 * [new tag]           v1.0.39    -> v1.0.39
 * [new tag]           v1.0.4     -> v1.0.4
 * [new tag]           v1.0.40    -> v1.0.40
 * [new tag]           v1.0.41    -> v1.0.41
 * [new tag]           v1.0.42    -> v1.0.42
 * [new tag]           v1.0.43    -> v1.0.43
 * [new tag]           v1.0.44    -> v1.0.44
 * [new tag]           v1.0.45    -> v1.0.45
 * [new tag]           v1.0.46    -> v1.0.46
 * [new tag]           v1.0.47    -> v1.0.47
 * [new tag]           v1.0.48    -> v1.0.48
 * [new tag]           v1.0.49    -> v1.0.49
 * [new tag]           v1.0.5     -> v1.0.5
 * [new tag]           v1.0.50    -> v1.0.50
 * [new tag]           v1.0.51    -> v1.0.51
 * [new tag]           v1.0.52    -> v1.0.52
 * [new tag]           v1.0.53    -> v1.0.53
 * [new tag]           v1.0.54    -> v1.0.54
 * [new tag]           v1.0.55    -> v1.0.55
 * [new tag]           v1.0.56    -> v1.0.56
 * [new tag]           v1.0.57    -> v1.0.57
 * [new tag]           v1.0.58    -> v1.0.58
 * [new tag]           v1.0.59    -> v1.0.59
 * [new tag]           v1.0.6     -> v1.0.6
 * [new tag]           v1.0.60    -> v1.0.60
 * [new tag]           v1.0.61    -> v1.0.61
 * [new tag]           v1.0.62    -> v1.0.62
 * [new tag]           v1.0.63    -> v1.0.63
 * [new tag]           v1.0.64    -> v1.0.64
 * [new tag]           v1.0.65    -> v1.0.65
 * [new tag]           v1.0.66    -> v1.0.66
 * [new tag]           v1.0.67    -> v1.0.67
 * [new tag]           v1.0.68    -> v1.0.68
 * [new tag]           v1.0.69    -> v1.0.69
 * [new tag]           v1.0.7     -> v1.0.7
 * [new tag]           v1.0.70    -> v1.0.70
 * [new tag]           v1.0.71    -> v1.0.71
 * [new tag]           v1.0.72    -> v1.0.72
 * [new tag]           v1.0.73    -> v1.0.73
 * [new tag]           v1.0.74    -> v1.0.74
 * [new tag]           v1.0.75    -> v1.0.75
 * [new tag]           v1.0.76    -> v1.0.76
 * [new tag]           v1.0.77    -> v1.0.77
 * [new tag]           v1.0.78    -> v1.0.78
 * [new tag]           v1.0.79    -> v1.0.79
 * [new tag]           v1.0.8     -> v1.0.8
 * [new tag]           v1.0.80    -> v1.0.80
 * [new tag]           v1.0.81    -> v1.0.81
 * [new tag]           v1.0.82    -> v1.0.82
 * [new tag]           v1.0.83    -> v1.0.83
 * [new tag]           v1.0.84    -> v1.0.84
 * [new tag]           v1.0.85    -> v1.0.85
 * [new tag]           v1.0.86    -> v1.0.86
 * [new tag]           v1.0.87    -> v1.0.87
 * [new tag]           v1.0.88    -> v1.0.88
 * [new tag]           v1.0.89    -> v1.0.89
 * [new tag]           v1.0.9     -> v1.0.9
 * [new tag]           v1.0.90    -> v1.0.90
 * [new tag]           v1.0.91    -> v1.0.91
 * [new tag]           v1.0.92    -> v1.0.92
 * [new tag]           v1.0.93    -> v1.0.93
 * [new tag]           v1.0.94    -> v1.0.94
 * [new tag]           v1.0.95    -> v1.0.95
 * [new tag]           v1.0.96    -> v1.0.96
>>>> run-command.c:655       trace: run_command: git maintenance run --auto --no-quiet
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandLineTools/usr/libexec/git-core/git
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexec/git-core
>>>> git.c:460               trace: built-in: git maintenance run --auto --no-quiet
       Fresh serde v1.0.97 (https://github.com/serde-rs/serde.git?tag=v1.0.97#3ae2bee2)
       Fresh bar v0.1.0 (/Users/weihanglo/projects/bar)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.01s

With --no-tags

    Updating git repository `https://github.com/serde-rs/serde.git`
     Running `git fetch --no-tags --verbose --force --update-head-ok 'https://github.com/serde-rs/serde.git' '+3ae2bee
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandL
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/bin
>>>> git.c:460               trace: built-in: git fetch --no-tags --verbose --force --update-head-ok https:
>>>> run-command.c:655       trace: run_command: git remote-https https://github.com/serde-rs/serde.git htt
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandL
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexe
>>>> git.c:750               trace: exec: git-remote-https https://github.com/serde-rs/serde.git https://gi
>>>> run-command.c:655       trace: run_command: git-remote-https https://github.com/serde-rs/serde.git htt
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandL
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexe
>>>> http.c:725              == Info: Couldn't find host github.com in the .netrc file; using defaults
>>>> http.c:725              == Info: Host github.com:443 was resolved.
>>>> http.c:725              == Info: IPv6: (none)
>>>> http.c:725              == Info: IPv4: <IP_ADDRESS>
>>>> http.c:725              == Info:   Trying <IP_ADDRESS>:443...
>>>> http.c:725              == Info: Connected to github.com (<IP_ADDRESS>) port 443
>>>> http.c:725              == Info: ALPN: curl offers h2,http/1.1
>>>> http.c:725              == Info: (304) (OUT), TLS handshake, Client hello (1):
>>>> http.c:725              == Info:  CAfile: /etc/ssl/cert.pem
>>>> http.c:725              == Info:  CApath: none
>>>> http.c:725              == Info: (304) (IN), TLS handshake, Server hello (2):
>>>> http.c:725              == Info: (304) (IN), TLS handshake, Unknown (8):
>>>> http.c:725              == Info: (304) (IN), TLS handshake, Certificate (11):
>>>> http.c:725              == Info: (304) (IN), TLS handshake, CERT verify (15):
>>>> http.c:725              == Info: (304) (IN), TLS handshake, Finished (20):
>>>> http.c:725              == Info: (304) (OUT), TLS handshake, Finished (20):
>>>> http.c:725              == Info: SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256 / [blank
>>>> http.c:725              == Info: ALPN: server accepted h2
>>>> http.c:725              == Info: Server certificate:
>>>> http.c:725              == Info:  subject: CN=github.com
>>>> http.c:725              == Info:  start date: Mar  7 00:00:00 2024 GMT
>>>> http.c:725              == Info:  expire date: Mar  7 23:59:59 2025 GMT
>>>> http.c:725              == Info:  subjectAltName: host "github.com" matched cert's "github.com"
>>>> http.c:725              == Info:  issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; C
>>>> http.c:725              == Info:  SSL certificate verify ok.
>>>> http.c:725              == Info: using HTTP/2
>>>> http.c:725              == Info: [HTTP/2] [1] OPENED stream for https://github.com/serde-rs/serde.git/
>>>> http.c:725              == Info: [HTTP/2] [1] [:method: GET]
>>>> http.c:725              == Info: [HTTP/2] [1] [:scheme: https]
>>>> http.c:725              == Info: [HTTP/2] [1] [:authority: github.com]
>>>> http.c:725              == Info: [HTTP/2] [1] [:path: /serde-rs/serde.git/info/refs?service=git-upload
>>>> http.c:725              == Info: [HTTP/2] [1] [user-agent: git/2.39.5 (Apple Git-154)]
>>>> http.c:725              == Info: [HTTP/2] [1] [accept: */*]
>>>> http.c:725              == Info: [HTTP/2] [1] [accept-encoding: deflate, gzip]
>>>> http.c:725              == Info: [HTTP/2] [1] [pragma: no-cache]
>>>> http.c:725              == Info: [HTTP/2] [1] [git-protocol: version=2]
>>>> http.c:672              => Send header,<PHONE_NUMBER> bytes (0x000000d6)
>>>> http.c:684              => Send header: GET /serde-rs/serde.git/info/refs?service=git-upload-pack HTTP
>>>> http.c:684              => Send header: Host: github.com
>>>> http.c:684              => Send header: User-Agent: git/2.39.5 (Apple Git-154)
>>>> http.c:684              => Send header: Accept: */*
>>>> http.c:684              => Send header: Accept-Encoding: deflate, gzip
>>>> http.c:684              => Send header: Pragma: no-cache
>>>> http.c:684              => Send header: Git-Protocol: version=2
>>>> http.c:684              => Send header:
>>>> http.c:725              == Info: Request completely sent off
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x0000000d)
>>>> http.c:684              <= Recv header: HTTP/2 200
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x0000001a)
>>>> http.c:684              <= Recv header: server: GitHub-Babel/3.0
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x0000003b)
>>>> http.c:684              <= Recv header: content-type: application/x-git-upload-pack-advertisement
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000036)
>>>> http.c:684              <= Recv header: content-security-policy: default-src 'none'; sandbox
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000028)
>>>> http.c:684              <= Recv header: expires: Fri, 01 Jan 1980 00:00:00 GMT
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000012)
>>>> http.c:684              <= Recv header: pragma: no-cache
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000035)
>>>> http.c:684              <= Recv header: cache-control: no-cache, max-age=0, must-revalidate
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000017)
>>>> http.c:684              <= Recv header: vary: Accept-Encoding
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000025)
>>>> http.c:684              <= Recv header: date: Tue, 15 Oct 2024 04:01:18 GMT
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x0000003a)
>>>> http.c:684              <= Recv header: x-github-request-id: C1D0:C42C7:338DA82:47E25EF:670DE90E
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000017)
>>>> http.c:684              <= Recv header: x-frame-options: DENY
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000002)
>>>> http.c:684              <= Recv header:
>>>> http.c:725              == Info: Connection #0 to host github.com left intact
POST git-upload-pack (168 bytes)
>>>> http.c:725              == Info: Couldn't find host github.com in the .netrc file; using defaults
>>>> http.c:725              == Info: Found bundle for host: 0x6000000203c0 [can multiplex]
>>>> http.c:725              == Info: Re-using existing connection with host github.com
>>>> http.c:725              == Info: [HTTP/2] [3] OPENED stream for https://github.com/serde-rs/serde.git/
>>>> http.c:725              == Info: [HTTP/2] [3] [:method: POST]
>>>> http.c:725              == Info: [HTTP/2] [3] [:scheme: https]
>>>> http.c:725              == Info: [HTTP/2] [3] [:authority: github.com]
>>>> http.c:725              == Info: [HTTP/2] [3] [:path: /serde-rs/serde.git/git-upload-pack]
>>>> http.c:725              == Info: [HTTP/2] [3] [user-agent: git/2.39.5 (Apple Git-154)]
>>>> http.c:725              == Info: [HTTP/2] [3] [accept-encoding: deflate, gzip]
>>>> http.c:725              == Info: [HTTP/2] [3] [content-type: application/x-git-upload-pack-request]
>>>> http.c:725              == Info: [HTTP/2] [3] [accept: application/x-git-upload-pack-result]
>>>> http.c:725              == Info: [HTTP/2] [3] [git-protocol: version=2]
>>>> http.c:725              == Info: [HTTP/2] [3] [content-length: 168]
>>>> http.c:672              => Send header,<PHONE_NUMBER> bytes (0x0000011e)
>>>> http.c:684              => Send header: POST /serde-rs/serde.git/git-upload-pack HTTP/2
>>>> http.c:684              => Send header: Host: github.com
>>>> http.c:684              => Send header: User-Agent: git/2.39.5 (Apple Git-154)
>>>> http.c:684              => Send header: Accept-Encoding: deflate, gzip
>>>> http.c:684              => Send header: Content-Type: application/x-git-upload-pack-request
>>>> http.c:684              => Send header: Accept: application/x-git-upload-pack-result
>>>> http.c:684              => Send header: Git-Protocol: version=2
>>>> http.c:684              => Send header: Content-Length: 168
>>>> http.c:684              => Send header:
>>>> http.c:725              == Info: upload completely sent off: 168 bytes
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x0000000d)
>>>> http.c:684              <= Recv header: HTTP/2 200
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x0000001a)
>>>> http.c:684              <= Recv header: server: GitHub-Babel/3.0
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000034)
>>>> http.c:684              <= Recv header: content-type: application/x-git-upload-pack-result
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000036)
>>>> http.c:684              <= Recv header: content-security-policy: default-src 'none'; sandbox
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000028)
>>>> http.c:684              <= Recv header: expires: Fri, 01 Jan 1980 00:00:00 GMT
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000012)
>>>> http.c:684              <= Recv header: pragma: no-cache
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000035)
>>>> http.c:684              <= Recv header: cache-control: no-cache, max-age=0, must-revalidate
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000017)
>>>> http.c:684              <= Recv header: vary: Accept-Encoding
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000025)
>>>> http.c:684              <= Recv header: date: Tue, 15 Oct 2024 04:01:17 GMT
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x0000003a)
>>>> http.c:684              <= Recv header: x-github-request-id: C1D0:C42C7:338DAA9:47E262C:670DE90E
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000017)
>>>> http.c:684              <= Recv header: x-frame-options: DENY
>>>> http.c:672              <= Recv header,<PHONE_NUMBER> bytes (0x00000002)
>>>> http.c:684              <= Recv header:
remote: Enumerating objects: 20296, done.
remote: Counting objects: 100% (5/5), done.
>>>> run-command.c:655       trace: run_command: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 44492 on bcd07442ea13' --pack_header=2,20296
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandLineTools/usr/libexec/git-core/git
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexec/git-core
>>>> git.c:460               trace: built-in: git index-pack --stdin -v --fix-thin '--keep=fetch-pack 44492 on bcd07442ea13' --pack_header=2,20296
>>>> http.c:725              == Info: Connection #0 to host github.com left intact
remote: Total 20296 (delta 4), reused 4 (delta 4), pack-reused 20291 (from 1)
Receiving objects: 100% (20296/20296), 5.87 MiB | 23.95 MiB/s, done.
Resolving deltas: 100% (13954/13954), done.
>>>> run-command.c:655       trace: run_command: git rev-list --objects --stdin --not --all --quiet --alternate-refs
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandLineTools/usr/libexec/git-core/git
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexec/git-core
>>>> git.c:460               trace: built-in: git rev-list --objects --stdin --not --all --quiet --alternate-refs
From https://github.com/serde-rs/serde
 * [new ref]           3ae2bee272cd51ca65162646185043046751dc6d -> refs/commit/3ae2bee272cd51ca65162646185043046751dc6d
>>>> run-command.c:655       trace: run_command: git maintenance run --auto --no-quiet
>>>> exec-cmd.c:139          trace: resolved executable path from Darwin stack: /Library/Developer/CommandLineTools/usr/libexec/git-core/git
>>>> exec-cmd.c:238          trace: resolved executable dir: /Library/Developer/CommandLineTools/usr/libexec/git-core
>>>> git.c:460               trace: built-in: git maintenance run --auto --no-quiet
       Fresh serde v1.0.97 (https://github.com/serde-rs/serde.git?tag=v1.0.97#3ae2bee2)
       Fresh bar v0.1.0 (/Users/weihanglo/projects/bar)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.92s

Just from the user confusion aspect, its likely worth it
@bors r+

:pushpin: Commit 1975c3ca530e4e168f517275c45a32a3b1b3a3bc has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 1975c3ca530e4e168f517275c45a32a3b1b3a3bc with merge 3c4c0a2b3c9df8f2e97b58358ce1b36ecc81bc5c...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing 3c4c0a2b3c9df8f2e97b58358ce1b36ecc81bc5c to master...


updated imports in the solarposition.py file and applied ruff linter+formatter to the whole directory tree

@PhilBrk8 in my view, library-wide reformatting should be a deliberate decision connected with a set of linting rules, and tied to a major release, i.e., whenever we decide to move to v1.0. Although the edits here are improvements, I am discouraged from accepting them without already having discussed the linter and rules in the CI and having concurrence from maintainers about those rules.
Can you explain the motivation to update just the solarposition.py file? It appears that you started there then branched out to the full directory tree.

Wow. These are some pretty big changes @PhilBrk8 !! I was halfway redacting when @cwhanse weighed in, but his comment sums up what I was about to say.
Just to clarify, many times some specific style has been adopted to make equations more readable (in general some parts of the code) so that also needs to be taken into account by using comment macros to turn off the formatter.
The imp package removal seems good to me, and narrowing the ImportError to ModuleNotFoundError, just to clean up some legacy code and avoid the highly-unlikely problems derived from the imports.
In any case, and only if you are motivated to do so, I encourage you to address any of the issues tagged as "good first issue", they really make for good improvements in this repo!! Feel free to reach out if you need any assistance 😉

Hi @cwhanse & @echedey-ls
quite a long time ago @kandersolar told me he would generally be up for it if I want to make it a project for myself to bring pvlib up to a newer / more modern python version.
I initially just wanted to implement type hints into the functions, but then saw some other things along the way.
Regarding the formatting:
as @cwhanse noticed correctly, I started with solarposition.py
Basically just because I have set formatOnSave=true in VS-Code.
I naively thought the PR is only applied for the commits up to its time of creation, but when I realized the newer ones are included automatically, I changed the PR-Name and left the commits for the whole tree in, to see what you think of it.

But yes, reviewing / refactoring / modernizing all files is way out of scope for it to be done this way.
I then thought initially I just do everything on my fork, because I got curious about a modern & polars version of pvlib and thought it might be interesting to benchmark a "modern"-pvlib against the original at some point.
But if chenges turn out to be useful improvements, then this is also not the way it should be done I guess, but with a more thought through branching strategy.
So then I came up with the following idea / proposal:
Are you generally up to create a "development" / "modern" branch in the original repo?
I would then keep the changes in respective brances like:

feature/reformatting
feature/type_hints
feature/polars
feature/refactor

Or should I rather create a discussion for that?

quite a long time ago @kandersolar told me he would generally be up for it if I want to make it a project for myself to bring pvlib up to a newer / more modern python version.

I'm not sure what "newer / more modern" means here -- python itself (e.g. python 3.13?), or dependencies like polars?  If the latter, I think there was likely some misunderstanding.  For example I thought the proposal here was more related to functionality/models than python versions: https://github.com/pvlib/pvlib-python/pull/1997#issuecomment-2066547388
In any case, it is best to open an issue proposing the change before putting in the work for a PR.  Sometimes there is a better way to accomplish the goal, or maybe the change is not desirable for reasons that could be explained in the issue.  Having that discussion first helps prevent wasted effort if the PR has to be changed or closed after the discussion.

So then I came up with the following idea / proposal:

Several of these topics already have discussions, e.g. #1926 and #2062.  If you want to pursue these ideas, I think the first step is to get consensus that the idea is beneficial for pvlib.  None of the mentioned ideas (bulk reformatting, type hints, polars) have achieved that consensus yet.  So engaging in those discussions with new and persuasive arguments in favor of the ideas is the next step.  Only once the community is convinced does it make sense to talk about how specifically it should be implemented, e.g. branching strategy and such.


Fix xcfun scientific notation parse

Fix issue #1787.

CI currently failing due to PR #1677.

Codecov Report

Merging #1788 (3bc179a) into master (fc9995c) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head 3bc179a differs from pull request most recent head 7a1789a. Consider uploading reports for the commit 7a1789a to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master    #1788      +/-   ##
==========================================
- Coverage   85.50%   85.50%   -0.01%
==========================================
  Files         792      792
  Lines      160142   160144       +2
  Branches    17575    17575
==========================================
- Hits       136937   136936       -1
- Misses      19568    19569       +1
- Partials     3637     3639       +2

Impacted Files
Coverage Δ

pyscf/dft/test/test_xcfun.py
98.20% <100.00%> (+0.01%)
:arrow_up:

pyscf/dft/xcfun.py
94.22% <100.00%> (ø)

... and 2 files with indirect coverage changes


[Update Request]: WinDirStat/WinDirStatt improperly detects v1.1.2 as "Unknown" (Installed Version:  Unknown - Update to 1.1.2 available)

What type of update are you requesting?
A change to the package metadata
Current Package Identifier
WinDirStat.WinDirStat
Package Version
1.1.2
Please describe the changes you would like to see
The version of WinDirStat.WinDirStat located at https://github.com/microsoft/winget-pkgs/tree/master/manifests/w/WinDirStat/WinDirStat fails to detect either manual or WinGet versions of WinDirStat v1.1.2 as being WinDirStat v1.1.2, and misidentifies the WinDirStat v1.1.21 installation as "Unknown" (aka Installed Version:  Unknown - Update to 1.1.2 available) I am assuming based upon the manifest that it is installing the current package from https://sourceforge.net/projects/windirstat/files/windirstat/1.1.2 installer re-release (more languages!)/windirstat1_1_2_setup.exe/download, however when WinGet sees the package (eventhough it's showing properly in Control Panel -> Programs and Features or Settings -> Apps -> Installed Apps as v1.1.2 (however the original author's packaging may not be properly inserting the version number into the registry).

I put in a bug report to the developers regarding their installer - https://github.com/windirstat/windirstat/issues/75

Duplicate of #54490
Duplicate of #88994


quickstart guide for posit workbench w/ quarto and shiny for R examples

Quickstart guide to support the Posit Workbench Solutions Center for dev day

Found the Snowflake CLA: https://github.com/snowflakedb/CLA
I / We (Posit, PBC) agree to the terms

@chendaniely - Can you make the last step is Conclusion and Resources and its format and layout is similar to https://quickstarts.snowflake.com/guide/getting_started_with_dataengineering_ml_using_snowpark_python/index.html#8

@sfc-gh-ccardillo updated to match the data engineering example with a "what you learned" and "related resources" section in the final "conclusion and resources" section of the quickstart


运行app.py时出现TypeError: 'NoneType' object is not subscriptable

hivision\plugin\beauty\lut/lut_origin.png'): can't open/read file: check file path/integrity
Traceback (most recent call last):
File "app.py", line 3, in
from demo.processor import IDPhotoProcessor
File "C:\Users\stone\Desktop\HivisionIDPhotos\demo\processor.py", line 2, in
from hivision import IDCreator
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision_init_.py", line 1, in
from .creator import IDCreator, Params as IDParams, Result as IDResult
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision\creator_init_.py", line 16, in
from hivision.plugin.beauty.handler import beauty_face
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision\plugin\beauty_init_.py", line 1, in
from .beauty_tools import BeautyTools
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision\plugin\beauty\beauty_tools.py", line 10, in
from .whitening import MakeWhiter
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision\plugin\beauty\whitening.py", line 50, in
make_whiter = MakeWhiter(default_lut)
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision\plugin\beauty\whitening.py", line 38, in init
self.lut_white = LutWhite(lut_image)
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision\plugin\beauty\whitening.py", line 14, in init
self.lut = self._create_lut(lut_image)
File "C:\Users\stone\Desktop\HivisionIDPhotos\hivision\plugin\beauty\whitening.py", line 24, in _create_lut
cube64 = lut_image[cy : cy + self.CUBE64_SIZE, cx : cx + self.CUBE64_SIZE]
TypeError: 'NoneType' object is not subscriptable

同问为什么打不开lug_image
[<EMAIL_ADDRESS>global loadsave.cpp:241 cv::findDecoder imread_('F:\工具\github_clone\HivisionIDPhotos\hivision\plugin\beauty\lut/lut_origin.png'): can't open/read file: check file path/integrity

路径里不能有中文


description of info.pkl for phoenix14

Hi Katrin,
Thank you for sharing amazing works.
Query 1.
I was looking for the info pickle file description for phonix14, specially the 'alignment' section and the meaning of the keys such as, gloss_id_orig, gloss, gloss_part and gloss_id etc.
Let me know if these are available or if you can help me understand.
Query 2.
In your ICASSP paper, Table 5, when you pre trained I3D on Phoenix14, how did you obtain isolated signs? did you use the automatic alignment from reference 21?
TIA

Hi,
Query 1.
The information of the alignment section is extracted from the Phoenix2014 dataset, which you can find here. In the downloaded folder, you can find the information at the path: /phoenix2014-release/phoenix-2014-multisigner/annotations/automatic/. They model each sign with 3 hidden states, which means each sign has three IDs - one for each hidden state. (This corresponds to the start, middle and end of a sign.) This information is processed into the following entries in the info.pkl file:

gloss_id_orig: contains the original IDs with the hidden states.
gloss: contains the name of the sign.
gloss_part: contains only the information about the hidden state but not the sign.
gloss_id: contains a processed version of the gloss IDs without information about the hidden states. In this version, every sign has only one ID.

Query 2.
Yes, we used the automatic alignment from reference 21. This is what you can find in the aforementioned dataset and our info.pkl file.

Great. Thanks for the explanation.


POC usage of node pattern generic parameters

https://github.com/rubocop-hq/rubocop-rspec/pull/804#discussion_r438747249
Support introduced in https://github.com/rubocop-hq/rubocop-ast/pull/31
Presumably generic parameters support will land in RuboCop 1.0 or 1.0.1 worst case.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[-] Added tests.
[-] Updated documentation.
[-] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

RuboCop 0.8.7 we're currently depend on depends on rubocop-ast 0.1.0, and rubocop-ast has this feature baked-in. So this change is safe to merge without expecting breakages with earlier RuboCop versions.

Green.


Update abac.md

Modified ":" to ";", and added the lost "."

This change is

@lcfang, can you look into the formatting of your changes? i looks like one of the bullets is no longer showing up correctly

@lcfang :wave: Can you please incorporate @a-mccarthy's review?

No response from author since August.
@lcfang Please reopen if you want to go forward with this.


Revamping the Harbor Cli

Enhance the current CLI code by implementing the following measures for a smoother development experience, easier CLI installations, a structured release cycle, and more:

[ ] Structure the project directory.
[ ] Creating a Release
[ ] Improve the release channel for the harbor cli, Integrated GitHub release workflows for streamlined version management.
[ ] Automate the harbor upgrade in package manager
[ ] Improve the error message
[ ] Support for e2e tests & docs
[ ]  Automation of docs generation
[ ] Implemented support for codecov to ensure comprehensive code coverage
[ ] Discover more available subcommands for harbor-cli

// @Vad1mo @OrlinVasilev

hey @amands98, it seems that this issue is for the Harbor CLI project that is listed under the LFX mentorship program -- link.


Add feeEstimator argument to add inputs and change functions

Current dependencies on/for this PR:

feature/proof-of-stake

PR #826

PR #864   👈

PR #865

This stack of pull requests is managed by Graphite.


[Bug]: Auditing Reason not adding to Db

What happened?
First thing, I love this repo. Great job!
$user->addPoints(
    amount: 50,
    multiplier: 2,
    type: AuditType::Add->value,
    reason: "Some reason here",
);

Adds the amount and multiplier, but doesn't trigger the AuditType and reason.
How to reproduce the bug
$user->addPoints(
    amount: 50,
    multiplier: 2,
    type: AuditType::Add->value,
    reason: "Some reason here",
);

Package Version
0.0.6
PHP Version
8.2
Laravel Version
10.x
Which operating systems does with happen with?
macOS
Notes
No response

Hi @spooksie
Thanks for the kind words.
I'll have a look into this and see if I can reproduce the error and fix it.
Thanks.

Hey @spooksie
I can't seem to replicate this.
Do you have AUDIT_POINTS set to true in your .env ?
One thing to note about type -- yes, it's set to null but it is then set to be AuditType::Add->value by default
public function addPoints(
    int $amount,
    int $multiplier = null,
    string $type = null,
    string $reason = null
): Experience {
    if ($type === null) {
        $type = AuditType::Add->value;
    }

 // ...

Only PHP 8.2 lets you use an Enum as an expression and the package has a minimum version of 8.1
This did bring to my attention some tests that needed to be written though. These also replicate what you've said you've done and pass fine.
Do you have any further info you could provide to help me replicate this?
Thanks

I seemed to have missed AUDIT_POINTS=true in the .env
It now works a charm, thanks for explaining.


Tell-don't ask

Hi i am not sure about tell-don't ask.
In prev lecture, prof mentioned we can write as below.
protected Circle(Circle c) {
this.radius = c.radius;
}
I get this is to help subclass to get info of the radius of circle. But why can’t we say
protected getRadius()
instead?
I am confused what is the point of replacing getter with this new method if both can access the private info. Isn’t this also violating tell-don’t-ask?

I presume you're referring to this example in the lecture slides. this doesn't violate tell-don't-ask since FilledCircle does not have access to the radius property (you can't do .radius or .getRadius() anywhere in FilledCircle)

oh i think i was confused with applying tell-don't ask to actual code. thanks for clarifying I got your point.

Issue expired.


WIP: Multi dose grids test

Hi @dalmouiee
First version of the notebook to address multi dose-grids is attached for your review.
Thanks.

Hi @fahimirfanalam, @dalmouiee, thanks a lot for working on this.
One thing I noticed here is that the sample data is stored within the git repository. To keep the size of the git repo manageable, please store the data as a zip file on Zenodo and have the example scripts pull from there. You can update the fetch_converted_test_data to do this: https://github.com/AustralianCancerDataNetwork/pydicer/blob/9836a54631d0e8f08ef15ab550f2e4983cf6ca40/pydicer/utils.py#L565
Thanks!


Add Labels For Instruction Jumping

Add labels for instruction jumping like it's done in most assemblies, I'm thinking of having them work in the same way as the defined labels (macros).

this has been added, but it only works for jumping to labels that were defined prior to the jump attempt. It's very convenient to be able to jump down to labels after the jump instruction, so now gotta do that

added jumping down too, but am realizing it may not be the best logic. Being able to jump up is already sufficient for solving every problem you may encounter, and it is not that inconvenient to not be able to jump down. The only case where it really makes a difference is for jumping to the beginning of the code, but that is easily solvable by having an entry point.


fix: movestogo

fixes https://github.com/Disservin/fast-chess/issues/328

in here: https://github.com/Disservin/fast-chess/blob/ff150fd129c6b6841ae209478e5dac1734f31e1d/src/matchmaking/player.hpp#L111 it should be moves_left

and in here https://github.com/Disservin/fast-chess/blob/ff150fd129c6b6841ae209478e5dac1734f31e1d/src/matchmaking/player.hpp#L20 i think you should include moves_left=moves


Intermittent Hang State

Prerequisites

[x] I'm using latest version: v
[x] I've checked Known issues

Description
When stretchly microbreak appears - it has no text just empty window. It takes 1-2 seconds (the whole system is in a hung state for that brief 2-3 seconds), subsequently the text on the window appears.
Operating system: Mac OS Mojave
Steps to Reproduce

Each microbreak

Expected behavior: The earlier version of the app, wasnt hanging and was smooth.
Actual behavior: Each microbreak the window hangs briefly until the text on the microbreak appears.
Reproduces how often: 100%
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

Thanks for the report @s-ahuja !
Could you check the RAM around that time? In my experience, Stretchly hangs when there's not a lot of RAM available ...
Let's be hones, Stretchly is Electron app, so not very good in those terms ;/

Lots of Ram. Its on MacBook Pro 16GB / i7 with not much running.

Interesting... Must be then electron version change.. Not much has changed between versions of stretchly. Will try in macOS when I get chance. Didn't notice anything in Linux.

For me this issue started with v0.21.1. Since then, I have tried downgrading to v0.21.0 and v0.20.0 and yet faced the same issue. And I'm certain I did not used face this issue with those earlier versions. This makes me think that the crux of the issue could be an update to macOS itself. I'm currently running macOS 10.14.6.

Hi, this is pretty old, so will close the issue. If it still persist, please open a new one so we can get up to date info.


Try Zlib instead of DEFLATE when de-compression PFCS

I guess the actual algorithm is Zlib, not DEFLATE because the current code need to skip the first 2 bytes, which I suspect it is Zlib header.

Looking into it, it does seem to use zlib for compression and decompression.

Try replace Decompress with https://docs.rs/flate2/1.0.24/flate2/read/struct.ZlibDecoder.html.


Could not run bundle install from freshly cloned repo. "Could not find rubocop-rails-0.4.1 in any of the sources"

Hello,
Just writing to let you know that i tried to clone the project and make it run but was running on this error (Could not find rubocop-rails-0.4.1 in any of the sources) and i solved it by deleting the Gemfile.lock and running bundle install again.
I am running ruby 2.4.1 and rails 5.1.6.

This gem was renamed. I update the bundle, so everything should be working now. Thanks for reporting.


Unsupported flatform

Hi,
I can not install this library on centos 7

Please give a sign if there is still not enough information about supported platforms.


[BUG] Reward is not deterministic after seeding the env

Describe the bug
I use envpool to make HalfCheeth-v3 with a fixed seed, but the rewards are not the same during several runs. Specifically, only the reward turned by the first env is not deterministic, other envs are good. And if the num_envs is small, this bug does not occur.
To Reproduce
import envpool
import numpy as np

def random_rollout():
    np.random.seed(0)
    n = 32
    envs = envpool.make_gym('HalfCheetah-v3', num_envs=n, seed=123)
    envs.reset()
    rew_sum = 0
    for _ in range(10):
        action = np.random.rand(n, envs.action_space.shape[0])
        obs, rew, done, info = envs.step(action)
        rew_sum += rew
    envs.close()
    return rew_sum

if __name__ == "__main__":
    a = random_rollout()
    b = random_rollout()
    print(a - b)

Output:
[-0.01131058  0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.          0.        ]

Expected behavior
The reward should be deterministic after seeding.
System info
Describe the characteristic of your environment:

envpool version: '0.6.0'
envpool is installed via pip
Python version: 3.8.10

0.6.0 1.21.5 3.8.10 (default, Jun  4 2021, 15:09:15)
[GCC 7.5.0] linux

Checklist

[x] I have checked that there is no similar issue in the repo (required)
[x] I have read the documentation (required)
[x] I have provided a minimal working example to reproduce the bug (required)

Hi, thank you so much for this bug report! This is quite weird... I can reproduce the issue and am trying to figure out what happens.

This issue only happens in:
gym:

Ant-v3/v4
HalfCheetah-v3/v4
HumanoidStandup-v2/v4
Pusher-v2/v4
Walker2d-v3/v4

dmc:

HumanoidCMURun-v1
ManipulatorBringPeg-v1

[0.5488135  0.71518937 0.60276338 0.54488318 0.4236548  0.64589411]
act[*]: 0.000000 0.000000 0.000000 0.000000 0.423655 0.645894
data: 0.000000 0.000000 0.000000 0.000000 0.423655 0.645894
reward 0.154327 0.059666
[0.5488135  0.71518937 0.60276338 0.54488318 0.4236548  0.64589411]
act[*]: 0.000000 0.000000 0.000000 0.000000 0.423655 0.645894
data: 0.548814 0.715189 0.602763 0.544883 0.423655 0.645894
reward 0.629115 0.206958

This issue also happens in:
VizDoom:

D1Basic-v1

import envpool
import numpy as np
import argparse
from gym import spaces

def random_rollout(env_name, num_envs, seed):
    np.random.seed(seed)
    n = num_envs
    try:
        print(env_name)
        envs = envpool.make_gym(env_name, num_envs=n, seed=seed)
    except:
        print("Make Failed!")
        return 0, 0
    obs_ls = []
    envs.reset()
    print(envs.action_space)
    rew_sum = 0
    for _ in range(10):
        if isinstance(envs.action_space, spaces.Box):
            action = np.random.rand(n, envs.action_space.shape[0])
        elif isinstance(envs.action_space, spaces.Discrete):
            action = np.random.randint(envs.action_space.n, size=n)

        obs, rew, done, info = envs.step(action)
        obs_ls.append(obs)
        rew_sum += rew
    envs.close()
    return rew_sum, np.array(obs_ls)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description='Envpool Bug Test')
    parser.add_argument('--num_envs', type=int, default=32, help='number of envs')
    parser.add_argument('--seed', type=int, default=123, help='random seed')
    args = parser.parse_args()

    env_list = \
    [
        "D1Basic-v1",

    ]
    #env_list = envpool.list_all_envs()
    for env_name in env_list:
        a, obs0 = random_rollout(env_name, args.num_envs, args.seed)
        b, obs1 = random_rollout(env_name, args.num_envs, args.seed)
        print(env_name, ": ")
        print(a - b)
        print("obs check:")
        np.testing.assert_allclose(obs0, obs1)
        print("PASSED!")

It seems like a bug of core component of envpool. The action of the 0th env may sometimes be overwritten with 0.

I create a cc_test but cannot reproduce the same behavior: when I set num_envs == 128, the action looks all good.
#include <glog/logging.h>
#include <gtest/gtest.h>

#include <random>
#include <vector>

#include "envpool/mujoco/gym/half_cheetah.h"

using MjcAction = typename mujoco_gym::HalfCheetahEnv::Action;
using MjcState = typename mujoco_gym::HalfCheetahEnv::State;

TEST(MjcEnvPoolTest, CheckAction) {
  auto config = mujoco_gym::HalfCheetahEnvSpec::kDefaultConfig;
  int num_envs = 128;
  config["num_envs"_] = num_envs;
  mujoco_gym::HalfCheetahEnvSpec spec(config);
  mujoco_gym::HalfCheetahEnvPool envpool(spec);
  Array all_env_ids(Spec<int>({num_envs}));
  for (int i = 0; i < num_envs; ++i) {
    all_env_ids[i] = i;
  }
  envpool.Reset(all_env_ids);
  auto state_vec = envpool.Recv();
  // construct action
  std::vector<Array> raw_action({Array(Spec<int>({num_envs})),
                                 Array(Spec<int>({num_envs})),
                                 Array(Spec<double>({num_envs, 6}))});
  MjcAction action(&raw_action);
  for (int i = 0; i < num_envs; ++i) {
    action["env_id"_][i] = i;
    action["players.env_id"_][i] = i;
    for (int j = 0; j < 6; ++j) {
      action["action"_][i][j] = (i + j + 1) / 100.0;
    }
  }
  // send
  envpool.Send(action);
  state_vec = envpool.Recv();
}

However, even one venv.step, the python result may not be correct:
import sys
import envpool
import numpy as np

def random_rollout(task_id, n):
    np.random.seed(0)
    envs = envpool.make_gym(task_id, num_envs=n, seed=123)
    envs.reset()
    # action = np.random.randint(envs.action_space.n, size=n)
    action = np.random.rand(n, envs.action_space.shape[0])
    print(action[0])
    return envs.step(action)

if __name__ == "__main__":
    n = int(sys.argv[-1])
    for task_id in ['HalfCheetah-v3']:
        a = random_rollout(task_id, n)
        b = random_rollout(task_id, n)
        print(task_id, (a[0] - b[0]).sum(), a[1] - b[1], a[2] ^ b[2])

This issue also happens in VizDoom

I confirm this issue is in v0.4.5 (at least).