styleguide.html

My team is having a hard time figuring out how to create our pattern library
based on Pattern Lab in a way that we can store it in git and have a team member
clone the repository and issue a simple command without having to be familiar
with the terminal, or even possibly front end development.
My understanding of Pattern Lab is that styleguide.html (i.e.
public/styleguide/html/styleguide.html) is an HTML file that is generated by
PatternLab and is the landing page of the pattern library (it's the page you see
in the iframe when you go to the root URL or click "View All"), so it changes
any time any of the patterns change. However, in order for PatternLab to
generate the contents of styleguide.html, the file needs to already exist (but
doesn't have to have any particular contents).^1
So, since styleguide.html is essentially a build artifact, we don't want to
check it into git (to avoid noisy diffs and merge conflicts). But since it must
exist on disk for the build to work, we have to copy it manually in order for
the build to work.
The only options we've come up with are to a) add public/styleguide to
.gitignore (really, we have public/*) and copy core/styleguide into
public by hand every time we clone the repository b) track public, and deal
with noisy diffs and merge conflicts or c) Change the code in core^2. Is
there any way I can improve my mental model of the system, or is this an
inherent quality of PatternLab? How are other projects solving this problem?
Thanks!

@jacobthemyth -
This is just an inherent issue with PL/PHP1. In the short-term changing the code in core is the only way to sidestep it. As noted in the other issue it was a bad assumption on my part. Sorry.

Cool, thanks! Just wanted to make sure I wasn't missing anything :)


Xcode 9 complains about dependency cycle in PromiseKit when using New Build System

PromiseKit version: 4.4.0
Xcode version: 9.0, 9.1 beta 2
CocoaPods version: 1.3.1

When I change the build system for of my workspace to New Build System sometimes Xcode fails to build because it thinks it detected a dependency cycle and outputs the following error:
Showing All Issues
:-1: Dependency cycle detected between targets:

target PromiseKit: CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler ->

node: /Users/user/Library/Developer/Xcode/DerivedData/App-bmiqkyncwgjbltanitqpzqehdaor/Build/Products/DebugDevServerAlt-iphonesimulator/PromiseKit/PromiseKit.framework/Headers/PromiseKit-Swift.h ->

target PromiseKit: Ditto /Users/user/Library/Developer/Xcode/DerivedData/App-bmiqkyncwgjbltanitqpzqehdaor/Build/Products/DebugDevServerAlt-iphonesimulator/PromiseKit/PromiseKit.framework/Headers/PromiseKit-Swift.h /Users/user/Library/Developer/Xcode/DerivedData/App-bmiqkyncwgjbltanitqpzqehdaor/Build/Intermediates.noindex/Pods.build/DebugDevServerAlt-iphonesimulator/PromiseKit.build/Objects-normal-asan/x86_64/PromiseKit-Swift.h ->

node: /Users/user/Library/Developer/Xcode/DerivedData/App-bmiqkyncwgjbltanitqpzqehdaor/Build/Intermediates.noindex/Pods.build/DebugDevServerAlt-iphonesimulator/PromiseKit.build/Objects-normal-asan/x86_64/PromiseKit-Swift.h/ ->

node: /Users/user/Library/Developer/Xcode/DerivedData/App-bmiqkyncwgjbltanitqpzqehdaor/Build/Intermediates.noindex/Pods.build/DebugDevServerAlt-iphonesimulator/PromiseKit.build/Objects-normal-asan/x86_64/PromiseKit-Swift.h ->

target PromiseKit: CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler

Nodes leading to the cycle:

node: /Users/user/Library/Developer/Xcode/DerivedData/App-bmiqkyncwgjbltanitqpzqehdaor/Build/Intermediates.noindex/Pods.build/DebugDevServerAlt-iphonesimulator/PromiseKit.build/Objects-normal-asan/x86_64/PromiseKit.swiftmodule

This is probably a bug in Xcode / new build system because it doesn't happen 100% of the time. Feel free to close if PromiseKit has nothing to do with this.

Indeed, PromiseKit has nothing to do with this.
Maybe CocoaPods does though.

I have the same problem. Why does it happen only in PromiseKit, though?

PMK does not define its inter module dependencies, CocoaPods and Xcode are responsible.

Fix incoming, requires use of PMK 6 though.
Will accept a back port PR.

https://github.com/mxcl/PromiseKit/commit/d1248ae5115306b31ae6e931af630d23862686ae

Fixed in PMK6 that I will push to CocoaPods this afternoon.

Still getting this issue with PMK 6.2.1. Any ideas?

Upgrade. We’re up to 6.8.3 now.

This still happens in 6.8.3
Strangely enough, the compile output error message says this:
Cycle path:  Account -> Core -> Contracts -> Pods-Apps-Contracts -> PromiseKit -> Account
Account, Core, and Contracts are our own targets, so it seems like Xcode's problem in thinking PromiseKit depends on Account, which it clearly does not.
Cleaning always fixes this.

Open a new ticket please.


Add basescan to etherscan plugin

Sourced from https://docs.basescan.org/getting-started/endpoint-urls
Description
This adds Base and Base Sepolia to the @wagmi/cli/plugins for Etherscan.
Additional Information
Didn't test -- just sourced the URLs and chain IDs from https://docs.basescan.org/getting-started/endpoint-urls
Before submitting this issue, please make sure you do the following.

[x] Read the contributing guide
[x] Added documentation related to the changes made.
[😬] Added or updated tests (and snapshots) related to the changes made.

Should add Basescan to this list as well
https://github.com/wevm/wagmi/pull/3756/files#diff-2364cf02f1b7efd955621cf9f2c75ceb7f294e7c810b17b17b5b786a1b9e5e23R52

Will do!

Done!


Auto Splitter can't be activated by LiveSplit 1.5.5

Whenever I try to activate it in LiveSlipt 1.5.5, LiveSplit tells me it cannot be activated.
To reproduce, it's easy : download a fresh install of LiveSplit, then activate The Elder Scrolls V : Skyrim auto splitter.
The Windows event logs tell this about this bug :
"Cannot access a disposed object.
Object name: 'TimerForm'.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at LiveSplit.View.TimerForm.TimerElapsed()"
Thanks a lot in advance for the fix, there is no way for me to run the game without an auto splitter.

I can't reproduce this. Do other autosplitters work? And did you upgrade to windows 10?

I am running on windows 7 and I tried disabling my antivirus which didn't help.
Other autosplitters work well, at least the Fallout 3 one does. It used to work when I had LiveSplit 1.4 so I don't think my antivirus would have done anything.
Actually what happened is that I updated from LiveSplit 1.4 so maybe some leftover files in who-knows-where are responsible for this but right now when I install LiveSplit 1.5.5 in a new folder, Skyrim auto splitter won't activate. Are there some new windows .net libs requirement or whatever ? I really don't know what is going on here. Could someone ship me a "bundled" version of LiveSplit+Skyrim autosplitter that is supposed to work please ?

Weird.
Is LiveSplit.Skyrim.dll present in your Components folder? Pressing Activate is supposed to download it.
You can download the dll manually here: https://github.com/drtchops/LiveSplit.Skyrim/raw/master/Components/LiveSplit.Skyrim.dll
Fallout 3's autosplitter is a script and not a component like Skyrim, try with the Dishonored one.

I know, right ? LiveSplit.Skyrim.dll is present in my Components folder and I already tried to download it manually (from another folder than the one you specified, but your file didn't work either). I tried the Dishonored one (and Dishonored (PC) ) and it activated like it's supposed to (although I don't have the game to check if it works, but at least it activated). Can I get your complete install of LiveSplit with Skyrim auto splitter working please so that we can check if it's my system or my LiveSplit install that is causing this problem ?

The installation only consists of having the .dll and having the autosplitter enabled in your split file.
This should load my splits with the autosplitter already enabled: http://puu.sh/jl2nd/afc9c62362.zip
Please keep your other installation and do this http://pastebin.com/M3n52ABV (since the error you posted isn't related).

Closing this until a new response from the author.


Fix marriage abroad fee inconsistancy

Pivotal Ticket: https://www.pivotaltracker.com/story/show/109438906
This PR is the first part of a change to the consular fees shown to users of the marriage abroad smart answer. It brings South Korea, Finland and Lebanon inline with existing values for services "Affirmation for marriage", "Affidavit for marriage" and "Affirmation for freedom to marry in English" which should all be £55 as presenting shown for all other countries that offer them.
Fact check
https://smart-answers-pr-2350.herokuapp.com/marriage-abroad
Expected changes
URL on gov.uk

Update fee for "Affidavit for marriage" to £55

Before

After

URL on gov.uk

Update fee for 'Affirmation for marriage" to £55

Before

After

URL on gov.uk

Update fee for "Affirmation for freedom to marry in English" to £55

Before

After

Note: this PR is first of several that supersedes #2168

This looks great to me, @erikse

Thanks @chrisroos - have just rebased this with master in preparation for merging.


[translation] consider simplifying input to translation

Consult user data available and any findings from user studies to determine if we should simplify our input to create_translation_job to optimize for the use case of only one source and target.
This currently requires you to import and instantiate a few objects
    from azure.ai.translation.document import (
        DocumentTranslationClient,
        DocumentTranslationInput,
        TranslationTarget
    )

    client = DocumentTranslationClient(endpoint, AzureKeyCredential(key))

    job = client.create_translation_job(inputs=[
            DocumentTranslationInput(
                source_url=source_container_url,
                targets=[
                    TranslationTarget(
                        target_url=target_container_url,
                        language_code="es"
                    )
                ]
            )
        ]
    )

Some ideas - we could consider "overloading" the method itself or accepting additional kwargs in DocumentTranslationInput.

def create_translation_job(**kwargs):

requires inputs. Must pass inputs if you need to pass more than one source and/or target.
requires source_url, target_url, and language_code along with any other optional kwargs

DocumentTranslationInput takes kwargs target_url and language_code. Consider other optional kwargs. Must supply targets if planning on passing more than one target in.

@kristapratico
i don't quite get it!
correct me if i'm wrong ..
so for the 1st option, it should be something like this
create_translation_job(source_url, target_url, language_code, inputs=None)
and for the 2nd option
job = client.create_translation_job(inputs=[             DocumentTranslationInput(                 source_url=source_container_url,                 target_url=target_container_url,                 language_code="es"             )         ]     )

@mohamedshabanofficial  These are just ideas... nothing concrete yet.
For the first option - might be easiest to look at this example: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/azure/ai/metricsadvisor/_metrics_advisor_client.py#L441
L441 defines the method that the user will call. For typing, we define "overloads" that show the different sets of required params on L391 and L419. In the method we do client side validation to ensure the correct subset of required parameters are passed for either "overload". So it would be like what you wrote, but minus the inputs:
create_translation_job(source_url, target_url, language_code)
or
create_translation_job(inputs)
Second option - yes, that would be the idea. This would align closer with what .NET has too.

Option 1 seems like the way to go.

In this case, we can probably do an overload based on number of parameters.
Three parameters, source, target, language.
Single parameter that is list-like (or enumerable), we assume that it is input jobs. (maybe call actions to align with TA?)


Update for Elm 0.18

Great package, this has been a really convenient way to use Bootstrap with type safety!
When upgrading to Elm 0.18 I noticed some compiler errors from how Elm now guards against recursive values. This just renames some parameters to avoid the issue. The only thing I wasn't sure what to do with was https://github.com/JeremyBellows/elm-bootstrapify/blob/5ac98659720114093ac33edac8e6332021001a81/src/Bootstrap/Navbar.elm#L110. I'm new to Elm couldn't figure out where the attributes being appended at the end was coming from, so I don't know if removing it this way is an issue.

Thanks for upgrading elm-bootstrapify to 0.18! The changes look great. Interesting on how Elm regards recursive values. Much different from fsharp!
The attributes that is appended was copy pasted on accident and shouldn't have compiled. My bad!
Pulled the code and it compiles successfully. I'll push a package update momentarily.
Thanks for contributing!

The changes didn't seem to need such strict versioning settings so I opened them up to 0.17. Please let me know if this causes any issues! :)
Here are the changes
https://github.com/JeremyBellows/elm-bootstrapify/pull/10/files

Package has been published
Github 8.0.2
Elm Package 8.0.2


Validate Wagmi support

Wagmi https://wagmi.sh/ is a React library to build Ethereum (and EVM-compatible) frontends.
It would be good to validate that Wagmi works properly with the Relay. We should add a project example in the tools folder trying to showcase most important Wagmi features.

Implemented in: #3000


add option to disable installing g3log for project embedding

Based on API.markdown pointing people to Options.cmake no additional documentation was added.
Feature adds the option to skip installing components making it easier to embed this project using cmake's ExternalProject or FetchProject.
The change was modeled after the googletest options.
https://github.com/google/googletest/blob/306f3754a71d6d1ac644681d3544d06744914228/CMakeLists.txt#L30
https://github.com/google/googletest/blob/8c91ecef292e963d23cd5b25f01ea1579fbe9aaa/googletest/CMakeLists.txt#L96
Sample usage (has additional options enabled)
include(FetchContent)

# g3log
set(ADD_FATAL_EXAMPLE OFF CACHE BOOL "g3log examples" FORCE)
set(USE_DYNAMIC_LOGGING_LEVELS ON CACHE BOOL "g3log custom level support" FORCE)
set(G3_SHARED_LIB OFF CACHE BOOL "g3log static lib" FORCE)
set(INSTALL_G3LOG OFF CACHE BOOL "g3log install" FORCE)

FetchContent_Declare(
  g3log
  GIT_REPOSITORY https://github.com/KjellKod/g3log.git
  GIT_TAG        1.3.2
)

FetchContent_GetProperties(g3log)
if(NOT g3log_POPULATED)
  FetchContent_Populate(g3log)
  add_subdirectory(${g3log_SOURCE_DIR} ${g3log_BINARY_DIR})
endif()
# g3log

Looks good. Will verify manually just in case later today


refactor: e2e infras

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #407 (a977a4a) into main (81e467b) will increase coverage by 0.16%.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #407      +/-   ##
==========================================
+ Coverage   40.23%   40.39%   +0.16%
==========================================
  Files          45       45
  Lines        6151     6151
==========================================
+ Hits         2475     2485      +10
+ Misses       3503     3493      -10
  Partials      173      173

see 1 file with indirect coverage changes


Switch to rich

Drop TQDM in favor of willmcgugan/rich
This was #1037 before branch convention changes.
#1037 was part of #895 but I created a new PR after asyncio switch.
Before:

After:

See #1037 for more info.

One thing I note, not sure if its an issue/fixable. Resizing the command window, the progress bars will adapt, but after that, when you "snap" the window back (by dragging to corner/top of screen/side of screen), the bars go all messy as per

(note duplicated song progress bar)
(Running Windows 10 pro)

One thing I note, not sure if its an issue/fixable. Resizing the command window, the progress bars will adapt, but after that, when you "snap" the window back (by dragging to corner/top of screen/side of screen), the bars go all messy as per

(note duplicated song progress bar)
(Running Windows 10 pro)

One thing I note, not sure if its an issue/fixable. Resizing the command window, the progress bars will adapt, but after that, when you "snap" the window back (by dragging to corner/top of screen/side of screen), the bars go all messy as per

(note duplicated song progress bar)
(Running Windows 10 pro)

I see. Several factors play into this. The text column width is determined at __init__ and not changed after that. (Resizing window to smaller than that width causes an unwanted linefeed AKA duplicate bar) Also, after the code is complete, there is no way for the script to modify the already outputted text. If this is happening during execution, it is most likely due to the former OR is a result of how willmcgugan/rich operates.

One thing I note, not sure if its an issue/fixable. Resizing the command window, the progress bars will adapt, but after that, when you "snap" the window back (by dragging to corner/top of screen/side of screen), the bars go all messy as per

(note duplicated song progress bar)
(Running Windows 10 pro)

I see. Several factors play into this. The text column width is determined at __init__ and not changed after that. (Resizing window to smaller than that width causes an unwanted linefeed AKA duplicate bar) Also, after the code is complete, there is no way for the script to modify the already outputted text. If this is happening during execution, it is most likely due to the former OR is a result of how willmcgugan/rich operates.

I think tests/test_entry_point.py will need to be edited or something since that uses tqdm? Not entirely sure how that check works.
Last time i removed tqdm ran into THIS - https://github.com/spotDL/spotify-downloader/pull/1096#issuecomment-757874059
@aklajnert ?

I think tests/test_entry_point.py will need to be edited or something since that uses tqdm? Not entirely sure how that check works.
Last time i removed tqdm ran into THIS - https://github.com/spotDL/spotify-downloader/pull/1096#issuecomment-757874059
@aklajnert ?

Hmm, just ran pytest and only 5 tests failed. Nice.
Then the URL for test_download_a_playlist is non-existent, is this intentional? https://open.spotify.com/playlist/37i9dQZF1DX1vrY9HPZioH

After picking a new playlist, it resolved that one. In 3 of the other tests, my code affected the output so I had to modify pytest to be compliant. All tests passing now.

Hmm, just ran pytest and only 5 tests failed. Nice.
Then the URL for test_download_a_playlist is non-existent, is this intentional? https://open.spotify.com/playlist/37i9dQZF1DX1vrY9HPZioH

After picking a new playlist, it resolved that one. In 3 of the other tests, my code affected the output so I had to modify pytest to be compliant. All tests passing now.

@aklajnert ^?

@aklajnert ^?

Hmm, just ran pytest and a whole 5 tests failed. Nice.
Then the URL for test_download_a_playlist is non-existent, is this intentional? https://open.spotify.com/playlist/37i9dQZF1DX1vrY9HPZioH

After picking a new playlist, it resolved that one. In 4 of the other tests, my code affected the output so I had to modify pytest to be compliant. All tests passing now.

Please update your branch - I see you have a conflict with tests/test_entry_point.py file. In general, this branch seems a bit outdated as it doesn't even run tests on CI. I've just run all tests and they're fine.

I think tests/test_entry_point.py will need to be edited or something since that uses tqdm? Not entirely sure how that check works.
Last time i removed tqdm ran into THIS - #1096 (comment)
@aklajnert ?

Not necessarily. In your case, the project wouldn't work because the tqdm was missing from setup.cfg while still being used which was caught by tests. Removing tqdm and its usages shouldn't fail them.

Hmm, just ran pytest and a whole 5 tests failed. Nice.
Then the URL for test_download_a_playlist is non-existent, is this intentional? https://open.spotify.com/playlist/37i9dQZF1DX1vrY9HPZioH

After picking a new playlist, it resolved that one. In 4 of the other tests, my code affected the output so I had to modify pytest to be compliant. All tests passing now.

Please update your branch - I see you have a conflict with tests/test_entry_point.py file. In general, this branch seems a bit outdated as it doesn't even run tests on CI. I've just run all tests and they're fine.

I think tests/test_entry_point.py will need to be edited or something since that uses tqdm? Not entirely sure how that check works.
Last time i removed tqdm ran into THIS - #1096 (comment)
@aklajnert ?

Not necessarily. In your case, the project wouldn't work because the tqdm was missing from setup.cfg while still being used which was caught by tests. Removing tqdm and its usages shouldn't fail them.

@Silverarmor updted

@Silverarmor updted

Lots of merge conflicts in /tests/ files.

Do not resolve conflicts in YAML files in /tests/cassetes directory, as they are autogenerated. Simply remove them and run tests again, so they will be recreated. Or just pick select theirs on conflicts resolving.

Lots of merge conflicts in /tests/ files.

Do not resolve conflicts in YAML files in /tests/cassetes directory, as they are autogenerated. Simply remove them and run tests again, so they will be recreated. Or just pick select theirs on conflicts resolving.

Lots of merge conflicts in /tests/ files.

Do not resolve conflicts in YAML files in /tests/cassetes directory, as they are autogenerated. Simply remove them and run tests again, so they will be recreated. Or just pick select theirs on conflicts resolving.

Sounds good. Should they be added to .gitignore maybe?
Also could you have a look as to why tests are failing hmmm

Lots of merge conflicts in /tests/ files.

Do not resolve conflicts in YAML files in /tests/cassetes directory, as they are autogenerated. Simply remove them and run tests again, so they will be recreated. Or just pick select theirs on conflicts resolving.

Sounds good. Should they be added to .gitignore maybe?
Also could you have a look as to why tests are failing hmmm

Sounds good. Should they be added to .gitignore maybe?

No, they should be in the repo, so most tests will run without a network and much, much faster. Just in case if anything is wrong with them, they should be recreated.
And the tests are failing, because the files seem to have the wrong syntax (probably messed during merge).

Sounds good. Should they be added to .gitignore maybe?

No, they should be in the repo, so most tests will run without a network and much, much faster. Just in case if anything is wrong with them, they should be recreated.
And the tests are failing, because the files seem to have the wrong syntax (probably messed during merge).

@Silverarmor yea, I had to regenerate new /cassettes since I picked a new playlist to test against. Just choose my new ones.
@aklajnert should the tests be okay after using my new cassettes and modified cases?

@Silverarmor yea, I had to regenerate new /cassettes since I picked a new playlist to test against. Just choose my new ones.
@aklajnert should the tests be okay after using my new cassettes and modified cases?

@Silverarmor yea, I had to regenerate new /cassettes since I picked a new playlist to test against. Just choose my new ones.

There's no merge conflicts, github says merging can be performed automatically, just the tests are failing

@Silverarmor yea, I had to regenerate new /cassettes since I picked a new playlist to test against. Just choose my new ones.

There's no merge conflicts, github says merging can be performed automatically, just the tests are failing

@Silverarmor yea, I had to regenerate new /cassettes since I picked a new playlist to test against. Just choose my new ones.
@aklajnert should the tests be okay after using my new cassettes and modified cases?

There's still something wrong with the cassettes - especially I see that tests/cassettes/test_search_and_download.yaml has some merge leftovers. Please remove all of them (wipe whole tests/cassettes/ directory), run tests, and add the freshly generated files. This should make the tests pass.

@Silverarmor yea, I had to regenerate new /cassettes since I picked a new playlist to test against. Just choose my new ones.
@aklajnert should the tests be okay after using my new cassettes and modified cases?

There's still something wrong with the cassettes - especially I see that tests/cassettes/test_search_and_download.yaml has some merge leftovers. Please remove all of them (wipe whole tests/cassettes/ directory), run tests, and add the freshly generated files. This should make the tests pass.

@phcreery can you update this branch from master so that checks run? Cheers

@phcreery can you update this branch from master so that checks run? Cheers

pytest passes on my machine but the ci seems to hang up. Not sure why

pytest passes on my machine but the ci seems to hang up. Not sure why

cc: @aklajnert

cc: @aklajnert

pytest passes on my machine but the ci seems to hang up. Not sure why

Hmm, interesting. I can't tell anything from the output as it looks good. I need to investigate it closer, and I probably won't have time to do that sooner than the weekend.

pytest passes on my machine but the ci seems to hang up. Not sure why

Hmm, interesting. I can't tell anything from the output as it looks good. I need to investigate it closer, and I probably won't have time to do that sooner than the weekend.

Take your time

Take your time

@phcreery - ok, I've checked locally and in fact, the tests are passing but never finish. If you run tests, they will pass but the program will never finish - notice that you can't run any other command without stopping the tests. When you hit Ctrl+C you'll see following exception:
Exception ignored in: <module 'threading' from '/usr/lib/python3.8/threading.py'>
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 1388, in _shutdown
    lock.acquire()
KeyboardInterrupt:

I think I've seen that before in my other projects, but I don't remember what it was about. A quick-and-dirty solution would be patching-out the threading._shutdown method in conftest.py.

@phcreery - ok, I've checked locally and in fact, the tests are passing but never finish. If you run tests, they will pass but the program will never finish - notice that you can't run any other command without stopping the tests. When you hit Ctrl+C you'll see following exception:
Exception ignored in: <module 'threading' from '/usr/lib/python3.8/threading.py'>
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 1388, in _shutdown
    lock.acquire()
KeyboardInterrupt:

I think I've seen that before in my other projects, but I don't remember what it was about. A quick-and-dirty solution would be patching-out the threading._shutdown method in conftest.py.

It looks like pytest and rich don't play well together.
> pytest
==================================================================================================== 11 passed, 1 skipped, 2 warnings in 3.06s ====================================================================================================
Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Users\phcre\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "c:\users\phcre\documents\python\spotify-downloader\.venv\lib\site-packages\rich\progress.py", line 537, in run
    self.progress.refresh()
  File "c:\users\phcre\documents\python\spotify-downloader\.venv\lib\site-packages\rich\progress.py", line 897, in refresh
    elif self.console.is_terminal and not self.console.is_dumb_terminal:
  File "c:\users\phcre\documents\python\spotify-downloader\.venv\lib\site-packages\rich\console.py", line 641, in is_terminal
    return False if isatty is None else isatty()
  File "C:\Users\phcre\AppData\Local\Programs\Python\Python38\lib\tempfile.py", line 474, in func_wrapper
    return func(*args, **kwargs)
ValueError: I/O operation on closed file

It looks like pytest and rich don't play well together.
> pytest
==================================================================================================== 11 passed, 1 skipped, 2 warnings in 3.06s ====================================================================================================
Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Users\phcre\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "c:\users\phcre\documents\python\spotify-downloader\.venv\lib\site-packages\rich\progress.py", line 537, in run
    self.progress.refresh()
  File "c:\users\phcre\documents\python\spotify-downloader\.venv\lib\site-packages\rich\progress.py", line 897, in refresh
    elif self.console.is_terminal and not self.console.is_dumb_terminal:
  File "c:\users\phcre\documents\python\spotify-downloader\.venv\lib\site-packages\rich\console.py", line 641, in is_terminal
    return False if isatty is None else isatty()
  File "C:\Users\phcre\AppData\Local\Programs\Python\Python38\lib\tempfile.py", line 474, in func_wrapper
    return func(*args, **kwargs)
ValueError: I/O operation on closed file

It looks like pytest and rich don't play well together.

That's shouldn't be the case. That could be a symptom of some problem in the code. I've noticed that spotdl itself sometimes doesn't yield control to the console. I've experienced that even before the asyncio introduction, not sure if it still exists but I wouldn't be surprised.

It looks like pytest and rich don't play well together.

That's shouldn't be the case. That could be a symptom of some problem in the code. I've noticed that spotdl itself sometimes doesn't yield control to the console. I've experienced that even before the asyncio introduction, not sure if it still exists but I wouldn't be surprised.

You might want to check if you have a recent version of Rich installed. Prior to version 9.5.0 the Console object would hold on to a copy of sys.stdout which may break tools that wrap stdout to capture print statements.
With regards to testing Progress bars, it can be tricky in CI systems because the threads can make the output non-deterministic.
Great project BTW.

With regards to testing Progress bars, it can be tricky in CI systems because the threads can make the output non-deterministic.

We don't really care about the output in tests, there currently is a problem that the code doesn't finish at all while running from pytest. This happens in CI and locally - maybe some infinite thread is spawned in the background that is not cleaned up properly.

We don't really care about the output in tests, there currently is a problem that the code doesn't finish at all while running from pytest. This happens in CI and locally - maybe some infinite thread is spawned in the background that is not cleaned up properly.

Fair enough. If you're using the Progress class as a context manager then the refresh thread should be shut down. If you are calling start() and stop() manually, and an exception prevents the stop method being called, then that might explain it.

We don't really care about the output in tests, there currently is a problem that the code doesn't finish at all while running from pytest. This happens in CI and locally - maybe some infinite thread is spawned in the background that is not cleaned up properly.

Fair enough. If you're using the Progress class as a context manager then the refresh thread should be shut down. If you are calling start() and stop() manually, and an exception prevents the stop method being called, then that might explain it.

This probably is the explanation. Line 136 of spotdl/download/progressHandlers.py is doing just that.

assert 'No song named "The HU - Sugaan Essenna" could be found on spotify\n' in 'Fetching Song...\nSearching for: AC/DC - Back In Black\nFetching Song...\nSearching for: AC/DC - You Shook Me All Night Long\nSearching for song "The HU - Sugaan Essenna"...\nNo song matches found on Spotify\n'

  tests/test_entry_point.py:187: AssertionError```

`AssertionError` hmmm

We don't really care about the output in tests, there currently is a problem that the code doesn't finish at all while running from pytest. This happens in CI and locally - maybe some infinite thread is spawned in the background that is not cleaned up properly.

Fair enough. If you're using the Progress class as a context manager then the refresh thread should be shut down. If you are calling start() and stop() manually, and an exception prevents the stop method being called, then that might explain it.

Thank you for looking at this. That was the issue exactly. The testing was not letting the context manager close. It was not the testing library like I thought but how the tests were written.

@Silverarmor - did you close it intentionally?

my bad, made a mistake and was tryna fix it

@phcreery, could you look into the merge conflicts, as long as they exist, the checks will not run

There are quite a lot flake8 violations, but they should be easy to fix.

3ec3de4 appears to have caused tests to fail

@Silverarmor - I think this should be merged next, as it is quite vulnerable to merge conflicts.

@Silverarmor - I think this should be merged next, as it is quite vulnerable to merge conflicts.

Will do

Want to also note thanks for all your hard work on this feature! @phcreery


Nested folders

Hi! I've been trying out the kml crate and am wondering what the intended behavior is when parsing Folders that are siblings. I've found that Folders that are siblings in the kml are nested after being parsed by the crate.
Example:
use kml::Kml;

fn main() {
    let kml_str = r#"
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
    <Document>
    <Folder>
        <name>Folder 1</name>
        <Placemark>
            <LineString>
                <tessellate>1</tessellate>
                <coordinates>
                    0,0
                </coordinates>
            </LineString>
        </Placemark>
    </Folder>

    <Folder>
        <name>Folder 2</name>
        <Placemark>
            <LineString>
                <tessellate>1</tessellate>
                <coordinates>
                    0,0
                </coordinates>
            </LineString>
        </Placemark>
    </Folder>
    </Document>
    </kml>
    "#;

    let kml: Kml = kml_str.parse().unwrap();
    println!("{:#?}", kml);

    match &kml {
        Kml::KmlDocument(k) => match &k.elements[0] {
            Kml::Document { attrs: _, elements } => {
                let top_level_folder_count = elements
                    .iter()
                    .filter(|element| {
                        matches!(
                            element,
                            Kml::Folder {
                                attrs: _,
                                elements: _
                            }
                        )
                    })
                    .count();
                println!("number of top level folders: {}", top_level_folder_count);
            }
            _ => unimplemented!(),
        },
        _ => unimplemented!(),
    }
}

produces the output (trimmed to just the folders):
Folder {
    attrs: {},
    elements: [
        Element(
            Element {
                name: "name",
                attrs: {},
                content: Some(
                    "Folder 1",
                ),
                children: [],
            },
        ),
        Placemark(
            Placemark {
                name: None,
                description: None,
                geometry: Some(
                    LineString(
                        LineString {
                            coords: [
                                Coord {
                                    x: 0.0,
                                    y: 0.0,
                                    z: None,
                                },
                            ],
                            extrude: false,
                            tessellate: true,
                            altitude_mode: ClampToGround,
                            attrs: {},
                        },
                    ),
                ),
                attrs: {},
                children: [],
            },
        ),
        Folder { // <--- the second folder is a child of the first folder
            attrs: {},
            elements: [
                Element(
                    Element {
                        name: "name",
                        attrs: {},
                        content: Some(
                            "Folder 2",
                        ),
                        children: [],
                    },
                ),
                Placemark(
                    Placemark {
                        name: None,
                        description: None,
                        geometry: Some(
                            LineString(
                                LineString {
                                    coords: [
                                        Coord {
                                            x: 0.0,
                                            y: 0.0,
                                            z: None,
                                        },
                                    ],
                                    extrude: false,
                                    tessellate: true,
                                    altitude_mode: ClampToGround,
                                    attrs: {},
                                },
                            ),
                        ),
                        attrs: {},
                        children: [],
                    },
                ),
            ],
        },
    ],
}
number of top level folders: 1

Is this the intended representation? Unfortunately I don't know much about parsers, so wasn't able to look in to the source further.
It also makes me wonder if something like this shouldn't work, when it currently does:
use kml::Kml;

fn main() {
    let kml_str = r#"
    <Folder>
        <name>Folder 1</name>
        <Placemark>
            <LineString>
                <tessellate>1</tessellate>
                <coordinates>
                    0,0
                </coordinates>
            </LineString>
        </Placemark>
    </Folder>

    <Folder>
        <name>Folder 2</name>
        <Placemark>
            <LineString>
                <tessellate>1</tessellate>
                <coordinates>
                    0,0
                </coordinates>
            </LineString>
        </Placemark>
    </Folder>
    "#;

    let kml: Kml = kml_str.parse().unwrap();
    println!("{:#?}", kml); // outputs the same nested folder as above
}

Should it fail to parse this since it doesn't have a parent container around the two folders?
Thank you!

Thanks so much for the detailed issue! This is definitely a bug and not intended behavior, and the specific examples were really helpful for debugging. I've got a fix ready that I'll open a PR for

Should it fail to parse this since it doesn't have a parent container around the two folders?

That example reproduces the bug you mentioned, but we aren't requiring KML documents to have the top level kml tag so that we can use the Kml enum to parse snippets as well as full docs. I based this on georust/geojson and it makes parsing a bit easier

@nocduro thanks again for reporting this! The new release should include a fix

Much appreciated! The new version is working great


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-30-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4992

Questions ?
Please refer to the Backport tool documentation


Base64ToBinary Returning Blank PDF

Describe the Bug with repro steps
Converting a PDF content string to .pdf using Base64ToBinary works correctly in PowerAutomate but results in a blank PDF using Logic Apps. Same exact flow works in PowerAutomate but not Logic Apps. JSON of the Logic Apps workflow is included. See attached doc here for the input string.
ContentString.txt
What type of Logic App Is this happening in?
Consumption (Portal)
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
{
  "definition": {
    "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
    "contentVersion": "<IP_ADDRESS>",
    "triggers": {
      "Recurrence": {
        "type": "Recurrence",
        "recurrence": {
          "interval": 3,
          "frequency": "Month"
        }
      }
    },
    "actions": {
      "Compose": {
        "type": "Compose",
        "inputs": "REDACTED_CONTENT_STRING",
        "runAfter": {}
      },
      "Create_file": {
        "type": "ApiConnection",
        "inputs": {
          "host": {
            "connection": {
              "name": "@parameters('$connections')['googledrive']['connectionId']"
            }
          },
          "method": "post",
          "body": "@{base64ToBinary(outputs('Compose'))}",
          "path": "/datasets/default/files",
          "queries": {
            "folderPath": "/",
            "name": "test.pdf",
            "queryParametersSingleEncoded": true
          }
        },
        "runAfter": {
          "Compose": [
            "Succeeded"
          ]
        }
      }
    },
    "outputs": {},
    "parameters": {
      "$connections": {
        "type": "Object",
        "defaultValue": {}
      }
    }
  },
  "parameters": {
    "$connections": {
      "value": {
        "googledrive": {
          "id": "REDACTED",
          "connectionId": "REDACTED"
        }
      }
    }
  }
}

Screenshots or Videos

Browser
Edge
Additional context
Attaching PDF output of PowerAutomate vs Logic Apps
LogicApps-Base64toBinary-Output.pdf
PowerAutomate-Base64toBinary-Output.pdf

moving to backend repo for a backend engineer to look at


Separate API details editing from editing proxy settings

Consider that all editing options that are related to API backend would happen in API profile (tabbed single API view) instead of the form that is used for controlling proxy settings.
For instance, allow owners to upload a logo, edit API description etc. in the API profile view
Note: this does not require inline editing.
See also related issues #1020, #1026
User story

As an API owner
I want edit my API backend details directly in API profile view
so that I do not have to go to a separate settings page

Wireframe

Partially already done, API settings in API tabbed view. Check that contains all necessary settings after API backend schema is ready.

@brylie : Wireframe added. Please review and give your feedback

@nazarah This task should contain the wireframe for API settings (like logo etc.) not proxy backend settings for that API.

Already completed in task #1091.


Cut-down test suite?

Hi Brendan,
Thanks for publishing this package - it's been a life-saver for me multiple times over the past few years.
Recently I worked on updating the fortranformat conda-forge feedstock. As best practice it would be good to add running the package tests to the feedstock recipe, however the default test suite is super comprehensive and takes too long to run on the CI infrastructure.
Is it possible to include a runminimaltests option in the Makefile for running a minimal selection of the tests, while still checking the core functionality of this package? Or can you think of another way of running a quicker version of the test suite?
Happy to help contribute to this if you'd appreciate some another pair of hands !

Firstly thanks for including fortranformat in feedstock - its much appreciated!
Secondly, yes I will look into a runminimaltests option - it might be a case of running just te handwritten tests and the first 100 tests for each edit descriptor. I'll put that together and add you as reviewer.

Sounds great, thanks !

Hey @alexmalins here is the PR https://github.com/brendanarnold/py-fortranformat/pull/26
Went down to 10 tests per file which still leaves over a thousand tests but cover a wide range of edit descriptor combinations.
The minimal tests still need to be built after initial clone which takes a few seconds with make buildtests - let me know if this causes trouble for pipeline integration and I can check the minimal tests into source
I'll hold off merging until I hear back

Thanks! I think running make buildtests then make runminimaltests should be no issue for the conda-forge pipeline integration.


Redirect trace log output to /dev/null for coverage tests

Risk Level: Low, test only
Testing: Unit Tests
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

Looks like it saves about 6Gb of test logs in coverage builds and about 20 minutes of runtime.


Make it available for Android user please

I am Devesh sharma from India. I request you to extend it for the users of Android and for Termux also

You have not replied


Port over updated empowerment module from kenya-analysis repo

I had thought that we were going to keep this in the analysis repo, since there won't typically be enough data for this and users won't always want to use it. Thoughts?

I had thought that we were going to keep this in the analysis repo, since there won't typically be enough data for this and users won't always want to use it. Thoughts?

I had assumed that we were moving over the updated methods.py file since we already have the SimpleChoice and EmpoweredChoice defined in methods.py in the rc2.0-methodtime branch, but perhaps I missed some discussion about this. @mzimmermann-IDM @MObrien-IDM thoughts?


Bug:  section colors switch in wrong way when colorscheme changed

Self Checks

[X] I'm using the latest lualine.
[X] I didn't find the issue in existing issues or PRs.

How to reproduce the problem

I use bubbles pattern and I find when I change another colorscheme, lualine cannot to print correct color.
I think the one section should have one color including this separator. I dont know why separator and mode has two different color when colorscheme changed. It seems no highlights identifying separator.
https://github.com/nvim-lualine/lualine.nvim/assets/39361033/f4abe8b2-bc00-4d7c-b59b-3857e5fcb51b
    sections = {
      lualine_a = { { "mode", separator = { left = "" }, right_padding = 2 } },

levouh/tint.nvim plugin breaks this down.
I disabled it and everything turns fine.


Accidental deletion of persisted data

In uninstall script if cep-data is failed to get unmounted, in following steps all the data stored inside cep-data can get deleted as the whole cep folder gets deleted later. Need to find solution for this.

Fixed on #30


Add mapping of "Box" to "div"

Fixes: https://github.com/primer/eslint-plugin-primer-react/issues/170
This PR adds a mapping of Box to div to expand a11y linting coverage.
eslint-plugin-github has an a11y rule, a11y-role-supports-aria-props, which will flag invalid ARIA usage such as:
<Box as="div" aria-label="Something">

The plugin can lint the above markup by reading the value of the as prop, and interpreting it as a div.
However, because we don't have a mapping defined for Box for when as  isn't set, the following isn't currently flagged even though it should be flagged as invalid:
<Box aria-label="Something">

This PR should will address this issue. I've tested this in dotcom.
I opted to only add the mapping for eslint-plugin-github because we have not enabled polymorphic linting for jsx-a11y rules yet, and if we define the mapping for jsx-a11y, it may raise false positives by always treating Box as a div.

Oh crap! I need to add a changeset 🤦♀


Preserve pinpoint locations term for user pinned location

All pinpoint location labels are converted into point location both in UI and source code.
Closes #3834
User changes

Should expect to see point location instead of pinpoint location.

Super User changes

None

Admin changes

None

System admin changes

[x] anet.yml or anet-dictionary.yml needs change
[x] db needs migration
[ ] documentation has changed
[x] graphql schema has changed

Checklist

[x] Described the user behavior in PR body
[x] Referenced/updated all related issues
[x] commits follow a repo#issue: Title title format and these 7 rules
[x] commits have a clean history, otherwise PR may be squash-merged
[ ] Added and/or updated unit tests
[ ] Added and/or updated e2e tests
[ ] Added and/or updated data migrations
[ ] Updated documentation
[ ] Resolved all build errors and warnings
[ ] Opened debt issues for anything not resolved here

Where user string representation done of Location.LOCATION_TYPES to a string displayed to the user via the GUI?

We have a utility function to convert LOCATION_TYPE into Location Type in the UI.

We have a utility function to convert LOCATION_TYPE into Location Type in the UI.

In that case, maybe better to rename "POINT_LOCATION" to "POINT" so it is displayed as "point" or "Point" to the user.

For consistency, we are using TYPE_LOCATION format for all location type labels except Geographical Area. We should decide if we want to make another exception for Point location.


import file extensions

Fix for #190

@fabien-ml Just wondering if you could please review this, thanks.

Hi thanks for the PR.
Module resolution is a bit out of my knowledge. Does this work when using vite or solid-start ?

Yes it has no impact on backwards compatibility. CJ's allows imports with or without file extensions, esm (as per the spec) mandates them.
I'm currently using this with Vite.

Just going to chime in here that this PR feels... odd. Why add the extensions to the source files and not have the bundle/transpile process add them? This can easily be done with rollup.

I haven't follow this module resolution/typescript 5 story and honestly doesn't have time to, sorry. Adding file extension manually will be a pain for me to work with day to day. Also I don't know if this will cause problems when using solid-start.
So I'm not gonna merge this PR for now, if someone has another solution involving rollup feel free to open a PR.
Thanks you anyway for your time @sachaw

@milesj I agree that it would seem most elegant to have your bundler handle things like this, however as this is a change that is in the ESM spec, it is going to be slowly streamlined across the various JavaScript tools (including typescript).
You can get your ide to automatically add file extensions to imports, also linters & formatters can also help here.
If you also update your typescripts module resolution option, tax will also enforce this (it will likely become default at some point).
I'll likely open another pr that adds the appropriate linting rules.

@fabien-ml Just did some further research as I was looking to see if this could be handled by rollup.
Turns out it cant (as far as I can see) as both the .js files and .d.ts files should contain file extensions in there import statements.
As for solid start, it works, I tried it out today. Also take a look at the solid/solid start source code, they are using import file extensions.
This will in no way break backwards comparability, as it stands now, this package is unable to be used in any projects using modern module resolution. This project has already set type: "module" in the package.json this is the other step required to support ESM (excellent write up here: https://www.typescriptlang.org/docs/handbook/esm-node.html)
I'll open another PR if you'll accept it, Ideally an added change in the tsconfig file for the core module setting the moduleResolution to something newer, will enforce compliance without breaking anything,


Make command=["bash", "-c", "ls /etc/*.conf"] work

This should now work except for command=["bash", "-c", "ls /etc/*.conf"], which is pretty silly. This is fine though command=["bash -c \"ls /etc/*.conf\""]
WDYT?
Originally posted by @TomasTomecek in https://github.com/packit-service/sandcastle/pull/65#issuecomment-660141498
bash -c "..."  can be common in user's configs, let's make it work in sandcastle

Since the 'run all commands in shell' is now reverted, this no longer applies - this actually works now.


Update trace4cats-core, trace4cats-kernel, ... to 0.14.6

About this PR
📦 Updates

io.janstenpickle:trace4cats-core
io.janstenpickle:trace4cats-kernel
io.janstenpickle:trace4cats-testkit

from 0.14.0 to 0.14.6
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (0.14.0).
You might want to review and update them manually.
README.md

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.janstenpickle" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "io.janstenpickle" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, version-scheme:early-semver, old-version-remains, commit-count:1

Superseded by #251.


Window function should return null when frame is valid

Bug Report
Frame is valid when start with following is greater or equal to the partition end or end with preceding is less than the partition start.
For example:
select first_value(v) over (partition by p order by o rows between 2 following and 3 following) as a from agg;, 2 following may make the frame_start greater than the partition end.
select last_value(v) over (partition by p order by o rows between 3 preceding and 2 preceding) as a from agg;, 2 preceding may frame_end less then the partition start.
1. Minimal reproduce step (Required)

drop table if exists agg;
create table agg(
    p int not null,
    o int not null,
    v int not null
);

insert into agg (p, o, v) values (0, 0, 1);
insert into agg (p, o, v) values (1, 1, 2);
insert into agg (p, o, v) values (1, 2, 3);
insert into agg (p, o, v) values (1, 3, 4);
insert into agg (p, o, v) values (1, 4, 5);
insert into agg (p, o, v) values (2, 5, 6);
insert into agg (p, o, v) values (2, 6, 7);
insert into agg (p, o, v) values (2, 7, 8);
insert into agg (p, o, v) values (2, 8, 9);
insert into agg (p, o, v) values (2, 9, 10);
insert into agg (p, o, v) values (3, 10, 11);
insert into agg (p, o, v) values (3, 11, 12);
insert into agg (p, o, v) values (3, 12, 13);

alter table agg set tiflash replica 1;
set tidb_enforce_mpp=1;

2. What did you expect to see? (Required)
mysql> select first_value(v) over (partition by p order by o rows between 2 following and 2 following) as a from agg;
+------+
| a    |
+------+
| NULL |
|    4 |
|    5 |
| NULL |
| NULL |
|    8 |
|    9 |
|   10 |
| NULL |
| NULL |
|   13 |
| NULL |
| NULL |
+------+

mysql> select last_value(v) over (partition by p order by o rows between 2 preceding and 2 preceding) as a from agg;
+------+
| a    |
+------+
| NULL |
| NULL |
| NULL |
|    2 |
|    3 |
| NULL |
| NULL |
|    6 |
|    7 |
|    8 |
| NULL |
| NULL |
|   11 |
+------+

3. What did you see instead (Required)
mysql> select first_value(v) over (partition by p order by o rows between 2 following and 2 following) as a from agg;
+----+
| a  |
+----+
|  2 |
|  2 |
|  2 |
|  3 |
| 11 |
| 11 |
| 11 |
|  6 |
|  6 |
|  6 |
|  7 |
|  8 |
|  1 |
+----+

mysql> select last_value(v) over (partition by p order by o rows between 2 preceding and 2 preceding) as a from agg;
+----+
| a  |
+----+
|  4 |
|  5 |
|  5 |
|  5 |
|  8 |
|  9 |
| 10 |
| 10 |
| 10 |
|  1 |
| 13 |
| 13 |
| 13 |
+----+

4. What is your TiFlash version? (Required)
nightly: 28591c4b18305172fd4c1f12572542ac6ad454f1

/severity major

/assign


Zipkin span start time and duration sanitizer

Similar to: https://github.com/openzipkin/zipkin/blob/master/zipkin/src/main/java/zipkin/internal/ApplyTimestampAndDuration.java
This is required for follow-up PR with zipkin JSON encoding.

Coverage remained the same at 100.0% when pulling 44c6dd5ed2ee08bd5b91430b3c5384c79f46550d on pavolloffay:zipkin-start-time-duration-sanitizer into db9f152d4238f7fc60fd52121cda5a461ce7aa6c on uber:master.

@yurishkuro thanks for the quick look. PR updated

Coverage remained the same at 100.0% when pulling 675c7093d7c4b0c73c0f8f95183cbfec4b137640 on pavolloffay:zipkin-start-time-duration-sanitizer into db9f152d4238f7fc60fd52121cda5a461ce7aa6c on uber:master.

Coverage remained the same at 100.0% when pulling 65d6cbffcacb41a4943a5256d6f94d997e8ffdd3 on pavolloffay:zipkin-start-time-duration-sanitizer into db9f152d4238f7fc60fd52121cda5a461ce7aa6c on uber:master.

close/open to trigger travis build.

Coverage remained the same at 100.0% when pulling 65d6cbffcacb41a4943a5256d6f94d997e8ffdd3 on pavolloffay:zipkin-start-time-duration-sanitizer into db9f152d4238f7fc60fd52121cda5a461ce7aa6c on uber:master.


Fix #125: Restore coverage

Restored coverage and print result in console
Add - ./gradlew jacocoTestReport coveralls in travis post success
@gberche-orange don't know if it is enough to print the coverage in github :astonished:

Missing features to include coveralls.io. I will have a look at it this week

:+1:


[feat] Implement OP_ROT & OP_2ROT opcodes

Implement the OP_ROT & OP_2ROT opcodess using the opcodeRot and opcode2Rot reference implementation from btcd
This will include implementing a version of RotN from btcd on the Shinigami stack object.
References
Guide on how to add an opcode in shinigami

Fast turn around! I like it! I'll take a look at your draft soon @okhaimie-dev 🔥

@b-j-roberts it is not ready yet. But yes, feel free to take a look

@b-j-roberts I will get back to this in two days = I should be able to have a passing test by then. I have been traveling since yesterday, and also prepping for an interview


Add GCS support

This PR will add Google Cloud Storage support. Also updated instructions in REAMME.md

this is already implemented in https://github.com/maorfr/skbn fwiw

this is already implemented in https://github.com/maorfr/skbn fwiw

Why it is not added in here?

this repo has gone unmaintained unfortunately.

Can we start to maintain again? I am working  with cassandra now and I am planning to add some more features as I will need as part of cassandra work.

ping @tomklino @taimax13 ^
i'm happy to re-join the org and help maintain these great tools!

Of course we can, I'll have a look and update soon!

i propose we replace this one with #20, as it has been in use by the helm community for a while now


tour: Pi is already capitalized and exported on page 3

Hey!
Context: https://tour.golang.org/basics/3
After reading the documentation on that page (around exported names), it seems to explicitly expect the Pi function not to be exported:
Run the code. Notice the error message.

However, the respective code is already correctly capitalized:
fmt.Println(math.Pi)

Unless I'm missing something, could we please change either the documentation to tell people to play around and change casing, or amend the code so that math.Pi is actually math.pi So that people see an error?

Well, on my first visit, the page showed fnt.Println(math.pi). Can you try clearing the browser cache and refreshing the page?

Thanks for reporting this.
The code is editable and changes are cached locally. As @littlepiggy03 said, you can press the "RESET" button under the code (or clean the cache) to restore the code's original state. Closing here, since this is working as intended.


Issue with saving

Issue Type: Bug
When I'm typing, at any random moment, it won't save changes. It could happen at anytime. A window pops up and says it couldn't save. The only thing I can do is click on 'save as' and rename it as a new file.  This happens whether autosave is enabled or not.

"Does it happen when you close all windows and run code --disable-extensions?"
No, it happens any random time, if I am autosaving, it pops up in the bottom right corner as I am typing code. If I am not autosaving it will pop up when I save. It doesn't happen all the time. I never know when

@llama5476 can you show the popup you see?

I'm sorry I couldn't respond, because I was waiting until I could get a screenshot of it when it happened. It finally happened.


CI: Use arm64 runners

Replace this text with a summary of the changes in your PR. The more detailed you are, the better.

Before submitting the PR make sure the following are checked:

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

If you have created a new cop:

[ ] Added the new cop to config/default.yml.
[ ] The cop is configured as Enabled: pending in config/default.yml.
[ ] The cop is configured as Enabled: true in .rubocop.yml.
[ ] The cop documents examples of good and bad code.
[ ] The tests assert both that bad code is reported and that good code is not reported.
[ ] Set VersionAdded: "<<next>>" in default/config.yml.

If you have modified an existing cop's configuration options:

[ ] Set VersionChanged: "<<next>>" in config/default.yml.

I missed this part from the announcement:

Arm64 runners are available to customers on our Team and Enterprise Cloud plans.

😞


chore: bump codecov

Bump codecov to 3.7.1

@open-telemetry/javascript-maintainers this is just a dependency update from a security alert. would appreciate a swift merge.

@open-telemetry/javascript-maintainers this is just a dependency update from a security alert. would appreciate a swift merge.
Yea, I'm wondering why it created so many small PR, I thought it was already resolved so it should just one PR

It's because it's a security update. They're handled separately. The PRs are only visible by maintainers too, its an entirely different mechanism.

It's because it's a security update. They're handled separately. The PRs are only visible by maintainers too, its an entirely different mechanism.

PRs are public only yellow warnings are visible for maintainers on "code tab"

@open-telemetry/javascript-maintainers this is just a dep PR and I would like to merge it


Future Query with Concat does not work (EF Core)

Hi,
When I create future query with concat, for example:
var userIds = context.Users
              .Select(u => u.UserId)
              .Concat(context.Tenants.Select(t => t.UserId))
              .Future();

var userIdsResult = await userIds.ToListAsync();

The userIdsResult should contain UserId from Users and Tenants but it contains only UserId from Users.
It was working on EF6.
Microsoft.EntityFrameworkCore Version 2.2.2
Z.EntityFramework.Plus.EFCore Version 1.8.18

Is that working in EF Core without Future()?
If yes, do you think you could provide a project sample with this issue?
It will help my developer investigate the issue more efficiently.
We now always ask for a project sample even if the issue is easy to reproduce. As a free product, we must find some way to save time to offer an overall better experience for everyone and release fixes faster.
You can send it to<EMAIL_ADDRESS>if you need to keep the source private
Best Regards,
Jonathan

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function

Sorry for delay but I was on vacation.
https://github.com/magdadziemianowicz/FutureQueryFailReproduction
FutureQuery does not work with Concat and OrderBy together.
FutureQuery works fine with only Concat or with only OrderBy.
It is working in EF Core without Future() properly.
It works in EF 6 for the same query.

I also have this issue :(. What's the status?

Hello @adamblok ,
My developer didn't get time to look at it last week, we should be able this week.

I can see that you're busy there, so I wanted to fix it myself. Unfortunately I can't run EFCore Unit tests (Could not load file or assembly 'Microsoft.EntityFrameworkCore.Relational (...)) exception.
But here is reproduction unit test, that you can just paste to your projects. It works fine in Z.Test.EntityFramework.Plus.EF6 unit tests, but I'm 100% sure that it will fail when pasted into Z.Test.EntityFramework.Plus.EFCore project.
[TestMethod]
public async Task Queryable_ConcatWithOrderBy_AsNoTracking()
{
    TestContext.DeleteAll(x => x.Entity_Basics);
    TestContext.Insert(x => x.Entity_Basics, 10);

    TestContext.DeleteAll(x => x.Entity_Guids);
    TestContext.Insert(x => x.Entity_Guids, 10);

    using (var ctx = new TestContext())
    {
        var future1 = ctx.Entity_Basics
            .Select(eb => eb.ID)
            .Concat(ctx.Entity_Guids.Select(i => i.ColumnInt))
            .OrderBy(x => x)
            .Future();

        var future2 = ctx.Entity_Basics
            .Select(eb => eb.ID)
            .Concat(ctx.Entity_Guids.Select(i => i.ColumnInt))
            .OrderBy(x => x)
            .Future();

        var noFutureResult = await ctx.Entity_Basics
            .Select(eb => eb.ID)
            .Concat(ctx.Entity_Guids.Select(i => i.ColumnInt))
            .OrderBy(x => x)
            .ToListAsync();

        Assert.AreEqual(2, QueryFutureManager.AddOrGetBatch(ctx.GetObjectContext()).Queries.Count);

        var futureResult1 = await future1.ToListAsync();
        var futureResult2 = await future2.ToListAsync();

        Assert.AreEqual(0, QueryFutureManager.AddOrGetBatch(ctx.GetObjectContext()).Queries.Count);

        Assert.IsTrue(future1.HasValue);
        Assert.IsTrue(future2.HasValue);

        CollectionAssert.AreEqual(noFutureResult, futureResult1);
        CollectionAssert.AreEqual(noFutureResult, futureResult2);
    }
}

Can you confirm that it fails for you?

Hello all,
Sorry for the delay, the v1.8.24 has been finally released.
It should be now possible to use concat with query future. However, all query that are concatened will need to call query future as well.
Example:
var userIds = context.Users
              .Select(u => u.UserId)
              .Concat(context.Tenants.Select(t => t.UserId).Future())
              .Future();

Hello @KarolStosikPowel ,
Unfortunately, we didn't success to make it perfectly work yet.
With this trick (to append a second future in the contact), 2 different query as in the QueryBatch instead of one.
When using with async, this might lead to the following error with your test:

System.InvalidOperationException: A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.


chore(package): update standard to version 10.0.1

Closes #20
https://greenkeeper.io/

Coverage remained the same at 100.0% when pulling f063a48e05e8047653dee13e6445104aae1249bd on greenkeeper/standard-10.0.1 into 57bc1f3c0b8b111f52d584613dcb9b2e40f28ba4 on master.


LDAP groups support

It would be a much-needed feature to implement LDAP groups support. Suppose I have a group called DockerAdmins and I want all members of this group to be admins instead of adding one by one.
Thanks for the great software.

+1

In my environment I've been able to create two groups in AD. One being for users and the other for admins then using the ldap filters to narrow it down.
=== Example
==== User group
BaseDN ::= "OU=Members,DC=example,DC=com"
filter ::= (&(objectClass=user)(memberof=CN=Portainer Users,OU=Applications,OU=Groups,DC=example,DC=com))
Username attribute ::= samAccountName
==== Admin group
BaseDN ::= "OU=Users,OU=Admin,DC=example,DC=com"
Username attribute ::= samAccountName
filter ::= (&(objectClass=user)(memberof=CN=Portainer Admins,OU=Applications,OU=Groups,DC=example,DC=com))
Group search configurations
I have no idea what go here but this appears to be what's needed or could be expanded to fill that function. (ie setting the admin flag based on group)
Better documentation around how to setup ldap might be in order for filling in that last mile.

Closing this issue as we already have team auto-population in Portainer with LDAP authentication enabled at the moment.
For administrator mapping, we're planning to add this capability soon via #4295


What about xdm/base URLs

Found in @asteed's #179
https://ns.adobe.com/xdm/base/effectiveprivileges
https://ns.adobe.com/xdm/base/extensible.schema.json
https://ns.adobe.com/xdm/base/imsuser#

https://ns.adobe.com/xdm/base/effectiveprivileges is referenced in schemas/external/repo/effectiveprivileges.schema.json however shouldn't this schema be located in schemas/common to match other xdm/<schema> items?
Suggested Change: Move the schema to a suitable location and update the namespace to https://ns.adobe.com/xdm/effectiveprivileges

Looking at https://ns.adobe.com/xdm/base/extensible.schema.json in schemas/common/extensible.description.md, the schema is now located within the following repo path schemas/common/extensible.schema.json
Suggested Change: Strip .schema.json from the listed namespace and update this value to match the repo location, https://ns.adobe.com/xdm/extensible

The reference to xdm/base/imsuser is another potential duplicate of xdm/IMSUser which is visible in schemas/common/eventenvelope.example.N.json.
Suggested Change: This is currently being discussed in #189 and should follow that resolution

@trieloff @kstreeter, thoughts?

Hey @asteed, agreed on points 2, 3.  For 1, EffectivePriviledges is a part of the content repository definitions that is contained in the "repo" folder.  That whole thing should probably be moved into extensions, and given a namespace that is compatible with any schema we elect in Issue 193

@kstreeter Does the content respository you mention have anything to do with the current xdm/content/repository namespace? How does the "repo" folder relate to this existing namespace which is not in an extension namespace. My net goal is to understand where EffectivePriviledges would potentially exist (in which 'cloud' as an extension, as you mentioned).
Once I have a better understanding I'd like to take this particular example (and some of those mentioned in #193) and come up with what these changes would look like.

We use the repo namespace for things that are coming out of the Adobe Cloud Platform API, but that are not strictly part of the XDM domain model as they are technical, not experiential. I would also move it into /schemas/external/repo

Thanks @trieloff! Just to clarify, you're suggesting the following change for EffectivePrivileges?

Namespace: ns.adobe.com/xdm/external/repo/effectiveprivileges

If that's correct, I wanted to bring up the remainder of what is within schemas/external/repo. I see that some of the schemas in schemas/external/repo are using the namespace ns.adobe.com/adobecloud/core/1.0/.., for example:
./asset.schema.json:  "$id": "http://ns.adobe.com/adobecloud/core/1.0/asset",
./common.schema.json:  "$id": "http://ns.adobe.com/adobecloud/core/1.0",
./directory.schema.json:  "$id": "http://ns.adobe.com/adobecloud/core/1.0/directory",
./sub-directory.schema.json:  "$id": "http://ns.adobe.com/adobecloud/core/1.0/sub-directory",

Should these above schemas be updated as well to xdm/external/repo/... ?

No, these are from ACP API, and defined separately.


[bugfix] deactivate USART RX for kernel console

Description:

Deactivation of the RX support in the USART device configuration

Type:

BUG

Rationale:

The kernel should not be able to receive any char from its serial console. By now, there is no more RX handler in the kernel but the USART was still able to send back received char on interrupt 53, leading to hard fault due to unhandled interrupt.

thanks to @ptrebuc for detecting the issue


DO NOT MERGE: Remove /coronavirus-form from all routes

Form questions, confirmation, etc will now be served from the root.

This is much nicer!


Fix comet-demo message ids

all messages from comet-demo should start with "cometDemo", except a message from comet is used

Developers shouldn't declare messages with comet.* directly in applications as these messages will be extracted to the app-specific files, resulting in duplicate messages. Maybe we need to expose generic messages from the library, like export const okMessage = <FormattedMessage id="comet.generic.ok" defaultMessage="OK" />. But this is something for another PR

Yes, I was thinking about that too. Possible solutions are:

Exporting all messages from the library (as you have stated)

This makes development a bit tedious
But this has the big benefit that you can see which translated strings the library is offering with looking at one file

Preventing comet.* inside the app

Limiting parsing to a specific pattern is currently not supported by @formatjs/cli
However, all messages not starting with the application prefix could be tossed before committing them to the lang repo. This would require a little custom script.

I would prefer 1. as this imposes less "magic" and I think this might result in less duplicated messages.
@nsams @kaufmo @fraxachun what do you think?

I like the (for me new) idea of exporting messages from the library. It will only work for <FormattedMessage and not for intl.formatMessage (for use cases where you need a string) though. We can probably ignore those not so common cases? (application message is required for those)
:two: has to be done in addition to :one:, possibly in the lint stage (if that is easier)
Alternative to :one: could be that we allow usage comet.* inside the app, but only for messages that are defined in comet library (a linter could check that). defaultMessage could be omitted. Pro: intrl.formatMessage would work.

It will only work for <FormattedMessage and not for intl.formatMessage (for use cases where you need a string) though.

We could try if exporting MessageDescriptors, which can be used by both <FormattedMessage {...descriptor} /> and intl.formatMessage(descriptor) would work as well. It'd be especially interesting whether Format.JS does extract those messages.

Exporting all messages

I believe we should only export generic message that will used in application code, e.g. OK, Yes, Category etc. Messages specific to the library should not be exported.

Alternative to 1⃣ could be that we allow usage comet.* inside the app, but only for messages that are defined in comet library (a linter could check that). defaultMessage could be omitted. Pro: intrl.formatMessage would work.

I believe that Format.JS would still extract those messages to the app-specific file, which would result in duplicate definitions. Even if the translators do not translate messages starting with comet.*, translation services such as Lingohub would return empty strings for the translations. I don't know if Format.JS is smart enough to choose the actually translated message over the empty string.


rfc: drop support for < Node 10

The current earliest version of Node that HTTPSnippet targets is Node 4 which was EOL'd in 2018. Probably time to cut it loose.

[x] Zero changes to library functionality or usage.
[x] Changes the engines requirement to be >=10.

One thing that'll need to be addressed at some point is that url.parse was deprecated in Node 11, and urlObj is populated with that.
We might be able to eschew the url dependency all together since it's just being used for url.parse and url.format. The new URL API should be able to be adequate.

[x] Upgrades mocha and standard to their latest versions now that we're no longer blocked by the node@4 requirement.
[x] Fixes a host of Standard issues that appeared with the upgrade.
[x] Removes the pinkie-promise dependency as it's not used anywhere anymore.

We will also need to remove a Node 8 build check in travis.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: erunion:x: reynolekYou have signed the CLA already but the status is still pending? Let us recheck it.

I resolved a conflict after merging another one of your PRs.

@reynolek awesome ty


fix: standardize apps

@khareyash05 lint is failing in mux-sql please take a look

@Sonichigo addressed comments


keywords search with phone number format and special character

special characters like ".", "-", and more

Fixed by #11


Allow tumor bam and normal bam inputs with enable map align set to true

Commits
4415d15bbf3283b5e9583ed27435a8bb09b462c2
Update dragen tools to fix _normal suffix duplicate

Only extend _normal suffix if sample name does not end in _normal

fa97ee4aadaf30d0b77e4516ea754fdae1bcc28c
Update the dragen somatic bash script to first run map-align for tumor bam and normal bam if both --bam-inputs are used and --enable-map-align is set to true
Testing
wfr.141f804d4e8e4253b6f78d6d9760cab3

Evaluated script
gds://development/temp/alexis/dragen-in-dragen-output/workflow-test/work/20230324_202125/steps/run_dragen_somatic_step/try-1/run-dragen-script.sh

Issues
https://github.com/umccr/cwl-ica/issues/307

I'll run umccrise on the output dir to see if that also succeeds successfully.

Umccrise also requires a germline vcf so may need to look into this for the germline pipeline as well


Link broken for "Security model" in concept doc

Link broken in https://github.com/kubernetes-sigs/service-apis/blob/master/docs-src/concepts.md for "Secuiry Model in following line.
For more information on the roles and personas considered in the Service API design, refer to the Security Model.
/assign

/kind/documentation

/kind documentation

/remove feature

/remove-kind feature

/assign @robscott


ast-grep: 0.19.4 -> 0.20.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/ast-grep/versions.
meta.description for ast-grep is: A fast and polyglot tool for code searching, linting, rewriting at large scale
meta.homepage for ast-grep is: https://ast-grep.github.io/
meta.changelog for ast-grep is: https://github.com/ast-grep/ast-grep/blob/0.20.0/CHANGELOG.md
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.20.0 with grep in /nix/store/jbjmjdcahc4b92s6ffhrfbgli1lbjli7-ast-grep-0.20.0
found 0.20.0 in filename of file in /nix/store/jbjmjdcahc4b92s6ffhrfbgli1lbjli7-ast-grep-0.20.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ast-grep

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jbjmjdcahc4b92s6ffhrfbgli1lbjli7-ast-grep-0.20.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ast-grep https://github.com/r-ryantm/nixpkgs/archive/c70bc6c3321f63bd11f8830b3d2d7b51b5b98003.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c70bc6c3321f63bd11f8830b3d2d7b51b5b98003#ast-grep

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jbjmjdcahc4b92s6ffhrfbgli1lbjli7-ast-grep-0.20.0
ls -la /nix/store/jbjmjdcahc4b92s6ffhrfbgli1lbjli7-ast-grep-0.20.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

ast-grep

Maintainer pings
cc @montchr @Lord-Valen @cafkafk for testing.

Result of nixpkgs-review pr 298637 run on x86_64-linux 1

1 package built:

ast-grep


"classes" not working on flow_from_dataframe

The classes parameter works on flow_from_directory but not flow_from_dataframe in TF 2.4.
train_generator = train_datagen.flow_from_dataframe(dataframe=df,
                                                    x_col="img_path",
                                                    y_col="class",
                                                    classes=["rika", "risa","yui", "akane","neru"],
                                                    target_size=(200, 200),
                                                    batch_size=32,
                                                    class_mode='categorical', shuffle=False)

The train_generator.class_indices output are not correspond my  classes lists.
Please correct me if I am wrong. Thanks!

The classes correspond to the directory names in alphabetical order. Therefore you see that order.

@ymodak Thanks for your reply. I know it will alphabetical order by default. Is there any way to specify the order?

@andy6804tw,
In order to reproduce the issue reported here, could you please provide the complete code and the dataset you are using. Thanks!

@amahendrakar  Sure!
I take the cnn-who-is-she dataset for example from Kaggel.
Here is my kernel I shared. https://www.kaggle.com/andy6804tw/47281-issue.
Thank you!

@rmothukuru,
Was able to reproduce the issue with TF v2.3, TF v2.4 and TF-nightly. Please find the gist of it here. Thanks!

@ymodak was wondering if you happened to implement this fix? or a workaround? Was just scratching my head for a few hours not realizing it was ignoring the classes variable I was specifying.
Thanks!

It is working as per the alphabetical order of classes and the mapping of classes is working as expected, please find the gist here. Thanks!

Hi! @sachinprasadhs It's great hearing from you. After my test, I still found the problem.
please find the gist here. Thanks!

It is ordering the classes based on alphabetical order, however if you still think it is not the way it is supposed to work please post this issue on keras-team/keras repo.
Development of keras moved to separate repository https://github.com/keras-team/keras/issues
To know more see;
https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999
Thank you!

@sachinprasadhs Thank you very much! I'll open new issue on keras-team/keras repo.

@andy6804tw, I already see the issue has been moved to keras repo by us, please track the issue here https://github.com/keras-team/keras/issues/15206


Testing video on safari

http://stackoverflow.com/questions/2643447/html5-video-mp4-and-ogv-problems-in-safari-and-firefox-but-chrome-is-all-goo?rq=1

.htaccess file

this was tutorial we used http://thenewcode.com/777/Create-Fullscreen-HTML5-Page-Background-Video

wasnt working on my safari


Use Knapsack.logger for runner output

Currently the different runners use puts to directly print their output to STDOUT. It would be really helpful to be able to suppress this output in certain contexts, or send it to a different location.
This commit changes them to use Knapsack.logger at INFO level. By default this will still print to STDOUT as before, but allows users to send the output elsewhere, or suppress it with a higher log level if desired.

@urbanautomaton Thanks for PR! I've just released knapsack 1.9.0 with this improvement.

Thanks @ArturT! And, as always, thanks for making the gem. 👍

I've just realized that I forgot to push 1.9.0 version to rubygems yesterday. Now it's there.


Change getEntryById semantics.

Currently getEntryById takes an asOf argument (in typescript) and returns data that is dependent on that timestamp, and possibly returns undefined if that entry wasn't defined at that point... but we might want to have it return information about an entry that's immutable and have a different call to figure out if it's still alive or what it's location is.

nevermind


API docs return 404

Navigating to the API doc menu bar item from the project webpage returns 404 at the address https://microsoft.github.io/monaco-editor/api/index.html.
Looking through the repository, the referenced file doesn't seem to exist at this point in time.
Other links such as Monarch, Playground etc work fine.

Duplicate of the slightly older https://github.com/microsoft/monaco-editor/issues/2376


Update inbound-provisioning-api-issues.md

If the on-prem agent is not active, there will be no users provisioned. This applies to those using the API-driven inbound user provisioning to on-premises AD.

@jenniferf-skc
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

#sign-off

@carolinemutua @jenniferf-skc - "AD" needs to be spelled out. Is it "Azure Active Directory" or just "Active Directory".
Thanks, PR review team

@American-Dipper AD I meant Active Directory. I have updated the changes

#sign-off


[8.x] Revert Blade compiler changes

This PR reverts all changes to the compileStatements regex from the past week because it's proven to cause more bugs. I've added a test for the latest uncovered issue here: https://github.com/laravel/framework/issues/36900. I've left the test in that fixed the original issue to highlight that this is from now on expected and won't be fixed for the time being.
Fixes https://github.com/laravel/framework/issues/36900

@driesvints  By creating a new regex rule. Would it be a good idea to use it in a way that limits the parts related to the exceptional events?


mailctl: 0.8.8 -> 0.9.2

Description of changes
Update mailctl to 0.9.2
ref:

https://github.com/pdobsan/mailctl/releases/tag/0.9.2
moving back to github

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 258399 run on x86_64-linux 1

2 packages built:

mailctl
mailctl.doc


Russian translation added

So you might have seen my previous pull-request, which I closed because I touched other files while exporting and comments from Japanese and German translations invaded others. Here is only String.ru.resx file without Japanese comments.
Thanks again for this software!

Great. Thank you very much.


Activation Shortcuts keys not rendering properly

Microsoft PowerToys version
0.51.1
Running as admin

[X] Yes

Area(s) with issue?
Settings
Steps to reproduce

Install PowerToys
Open PowerToys Settings
View any "Activation Shortcut"

✔ Expected Behavior
To be able to view the shortcut keys.
❌ Actual Behavior
The "Activation Shortcut" keys aren't displayed properly to the point that they appear missing. The example is just for PowerToys Run but this is true for any app in PowerToys Settings.

They keys do appear when disabling the feature though.

Other Software
Windows 10

cc: @niels9001

@djkong7 Thanks for bringing this up. We have a tracking issue for this bug here: https://github.com/microsoft/PowerToys/issues/14743


TEST: Debug the wheel build

Final step to cover #106

LOL. I've never built wheels with Harfbuzz

I've played around with this myself, and I've got the pipeline to succeed. See here: https://github.com/aurivus-ph/celiagg/pull/1
I also temporarily disabled building the sdist in it.
The issues were:

harfbuzz doesn't have a configure script, so autogen.sh has to be run first
aclocal is installed twice, and the installation that is used misses the pkgconfig macros
the actions/setup-python@v4 action mangles the pkgconfig environment variable, so it has to be run after building the wheels

Thanks for the assistance @aurivus-ph!


esy link workflow.

Test and document that using symbolic links work. I think this requires that we have implemented proper out of source builds. (Either by packages natively supporting them, or by copying over ones that don't).

[ ] Fix Env Dirty Computation https://github.com/jordwalke/esy/issues/76
[ ] Decide and implement general approach.

We should check the field esy.buildsInSource and prevent you from symlinking to a package if it builds in source. Otherwise, multiple dependers could link to the same package and that package builds multiple times with artifacts stepping all over each other.

Also, if locally developing against a linked package, it is all the more important that the contents of that linked package contribute to the build cache key:
https://github.com/jordwalke/esy/issues/59

I'm not quite able to understand what is/isn't supported with symlinks right now. But I thought I'd propose an approach - feel free to let me know what you think.

For symlinked packages, you will often be changing the source of that symlinked package many times while developing locally. Most of the time when you change the source of the symlinked dependency, and then rebuild the top level project, you don't want those build artifacts taking up space in the cache (that can grow huge). So it seems the best workflow for symlinked packages, would be to store the symlinked package's build artifacts inside of your top level _build/_esy directory. It's almost like there's a secondary ~/.esy directory inside of your top level app's _build directory.
It seems that symlinked directories is the most important use case for package source hashing participating in the build cache key. For non-symlinked packages, it would be nice to not have to spend hashing all the sources to discover build cache keys. Would that mean that we may be able to enable it for only symlinked packages? Number one above might make this easier, because then the secondary ./_build/.esy cache is known to use a different hashing scheme. Every cache store must always use the same caching scheme and with a separate ./_build/.esy cache store, using a different cache key scheme - everything should work.

Thoughts?

I've made significant progress on this. Local and symlinked dependencies build correctly according to the conventions discussed in this thread, but the main issue is perf, and I've made an issue to track that here. Closing this one now.


Compute post-padding based on actual stretched duration instead of estimated

Avoid bug where post-padding adds too many samples of silence since estimated stretched duration diverges slightly (on the order of 1e-04) from the actually stretched duration.

This change is

Coverage remained the same at 100.0% when pulling 3ba4f62669f09bcfab4bd5146cd58aa235543086 on timestretchsamples into 6a0a1fd853190144f74f2d1ffacd18e892f37fda on master.

Coverage remained the same at 100.0% when pulling 3ba4f62669f09bcfab4bd5146cd58aa235543086 on timestretchsamples into 6a0a1fd853190144f74f2d1ffacd18e892f37fda on master.


Root element overrides

RIght now we have a way to pass stuff to elements: by calling __Els etc. There are some case when we could want to apply stuff to Root: whenever we need stuff there if some of the props are passed downwards, or in case we need to redefine some bemto stuff, like tagname etc.

The only really crucial thing that was needed — override for tag/component name, which would be covered in 2.0.0 as a __is prop. If there'd be anything that would also be needed, we could upgrade its API to accept an object with extra stuff (similar to how elements are working).


feat: allow tests to run in parallel

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Capture groups should be explained clearly

Describe your problem and how to reproduce it:
I found the challenge Regular Expressions: Reuse Patterns Using Capture Groups does not give an adequate description of what capture groups do, I would suggest firstly:

restructuring the description so that it gives an adequate introduction, e.g. likening them to variables in that they are references to a portion of the Regex.
Showing that we can reference them with $ and \ depending on whether it's used outside the regex or within it, respectively.

 It is wasteful to manually repeat ..."
Add a Link to the page with the problem:
Regular Expressions: Reuse Patterns Using Capture Groups
Tell us about your browser and operating system:

Browser Name:
Browser Version:
Operating System:

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):

I don't see a huge problem with how it is now. Certainly things could always be better. If you or someone else wants to give it a slight rewrite and make a PR, I wouldn't object - there are a number of forum posts on this challenge.

I agree with some criticisms that were raised. Thanks for sharing.
Here is my suggested changes.

Say you want to match words that occur twice, like below.
let repeatStr = "regex regex";

You could write a regex as /regex regex/ and this would succeed. But what if you don't know what specific word repeats? This is where capture groups can be used to find patterns and save those strings in temporary "variables" to be used later.
Parentheses, ( and ), are used to find repeat substrings. You put the regex of the pattern that will repeat in between the parentheses. In this case, we want any word with alphanumeric letters so we can start building our regex with /(\w+)/.
The contents of what is between the parentheses (here is it is \w+) is saved to a temporary "variable". To specify where that repeat string will appear, you use a backslash (\) and then a number. This number starts at 1 and increases with each additional capture group you use. An example would be \1 to match the first group and \2 to match the second set of parentheses if you had one.
The example below matches any word that occurs twice separated by a space:
let repeatRegex = /(\w+)\s\1/;
repeatRegex.test(repeatStr); // Returns true
repeatStr.match(repeatRegex); // Returns ["regex regex", "regex"]

Using the .match() method on a string will return an array with the string it matches, along with its capture group.

I agree with some criticisms that were raised. Thanks for sharing.
Here is my suggested changes.

Say you want to match words that occur twice, like below.
let repeatStr = "regex regex";

You could write a regex as /regex regex/ and this would succeed. But what if you don't know what specific word repeats? This is where capture groups can be used to find patterns and save those strings in temporary "variables" to be used later.
Parentheses, ( and ), are used to find repeat substrings. You put the regex of the pattern that will repeat in between the parentheses. In this case, we want any word with alphanumeric letters so we can start building our regex with /(\w+)/.
The contents of what is between the parentheses (here is it is \w+) is saved to a temporary "variable". To specify where that repeat string will appear, you use a backslash (\) and then a number. This number starts at 1 and increases with each additional capture group you use. An example would be \1 to match the first group and \2 to match the second set of parentheses if you had one.
The example below matches any word that occurs twice separated by a space:
let repeatRegex = /(\w+)\s\1/;
repeatRegex.test(repeatStr); // Returns true
repeatStr.match(repeatRegex); // Returns ["regex regex", "regex"]

Using the .match() method on a string will return an array with the string it matches, along with its capture group.


Option to turn on/off global stylesheet

Hi,
I'm using stylebot since a few weeks now. I'm using the global stylesheet as night-mode (darken all sites). What I'm missing is a convinient way to toggle stylesheets on/off. Currently you have to open and click through click through the options to enable the global stylesheet.
There's also just an option to remove stylesheets in the menu.
Options for quickly disable/enable the global and current active custom stylesheet would be nice.
Adding these entries to the context menu would be a simple solution.. Just as a suggestion..
Keep up the good work!
cheers
mationic

Thanks @mationic! Yes, this is an existing open issue #195 Please track this over there, closing this issue!