PerfView64 cannot lookup symbols because loading native DLL fails

Hi,
when you run PerfView64 (not PerfView), symbol lookup fails because native dll msdia140.dll cannot be loaded.
From log:
[Looking up symbols for ntdll]
Symbol reader _NT_SYMBOL_PATH= {
    C:\Users\<username>\Desktop;
    SRV*D:\Symbols*https://msdl.microsoft.com/download/symbols;
    }
This can be set using the File -> Set Symbol Path dialog on the Stack Viewer.
Created SymbolReader with SymbolPath C:\Users\<username>\Desktop;SRV*D:\Symbols*https://msdl.microsoft.com/download/symbols
Setting SYmbolReaderOptions forces clearing Pdb lookup cache
[Loading symbols for d:\windows\system32\ntdll.dll]
FindSymbolFilePath: *{ Locating PDB ntdll.pdb GUID ff98fe65-248a-4f35-130a-d2bcedc0be37 Age 1 Version 10.0.17763.1192
FindSymbolFilePath: Pdb is for DLL d:\windows\system32\ntdll.dll
FindSymbolFilePath: Checking relative to DLL path d:\windows\system32\ntdll.dll
FindSymbolFilePath: Probed file location d:\windows\system32\ntdll.pdb does not exist
FindSymbolFilePath: Probed file location d:\windows\system32\symbols.pri\retail\dll\ntdll.pdb does not exist
FindSymbolFilePath: Probed file location d:\windows\system32\symbols\retail\dll\ntdll.pdb does not exist
FindSymbolFilePath: Probed file location C:\Users\<username>\Desktop\ntdll.pdb does not exist
FindSymbolFilePath: Found in cache D:\Symbols\ntdll.pdb\FF98FE65248A4F35130AD2BCEDC0BE371\ntdll.pdb
FindSymbolFilePath: *} Successfully found PDB D:\Symbols\ntdll.pdb\FF98FE65248A4F35130AD2BCEDC0BE371\ntdll.pdb GUID ff98fe65-248a-4f35-130a-d2bcedc0be37 Age 1 Version 10.0.17763.1192
An exception occurred during symbol lookup.  Continuing...
Exception: System.ApplicationException: Could not load native DLL C:\Users\<username>\AppData\Roaming\PerfView\native\amd64\msdia140.dll
   at NativeDlls.LoadNative(String simpleName)
   at Dia2Lib.DiaLoader.GetDiaSourceObject()
   at Microsoft.Diagnostics.Symbols.NativeSymbolModule..ctor(SymbolReader reader, String pdbFilePath, Action`1 loadData)
   at Microsoft.Diagnostics.Symbols.SymbolReader.OpenSymbolFile(String pdbFilePath)
   at Microsoft.Diagnostics.Tracing.Etlx.TraceCodeAddresses.OpenPdbForModuleFile(SymbolReader symReader, TraceModuleFile moduleFile)
   at Microsoft.Diagnostics.Tracing.Etlx.TraceCodeAddresses.LookupSymbolsForModule(SymbolReader reader, TraceModuleFile moduleFile, IEnumerator`1 codeAddressIndexCursor, Boolean enumerateAll, Int32& totalAddressCount)
   at Microsoft.Diagnostics.Tracing.Etlx.TraceCodeAddresses.LookupSymbolsForModule(SymbolReader reader, TraceModuleFile file)
Finished Lookup up symbols for ntdll Elapsed Time = 0,009
Completed: Symbol Lookup   (Elapsed Time: 0,080 sec)
Started: Computing Stack Traces
Completed: Computing Stack Traces   (Elapsed Time: 1,739 sec)

Using PerfView (not 64bit) it works fine, but I had to copy folder C:\Users<username>\AppData\Roaming\PerfView\VER.2020-09-<IP_ADDRESS>.965 to folder C:\Users<username>\AppData\Roaming\PerfView\native because the native folder didn't exist.

Exactly the same problem here. The same path that does not exist.
I have to use older version of PerfView.

Thank you for reporting this.  I have a fix for this in https://github.com/microsoft/perfview/pull/1274.


add ability to refresh the content of the app

sometimes it works not so good but refreshing fix everything. It would be great to have shortcut to refresh the content...
maybe it should be usual shortcut as it is in browser like "CTRL+R" or "CMD+R"
Ref - https://github.com/KryDos/todoist-linux/issues/3

hey any updates?

Nop :( it should be pretty easy to do but I'm still can't get to it. I suppose you can expect it somewhere at the weekend (end of this week).

@KryDos thanks a lot. keep it up.

Hey @saikatm thanks for the idea. The new 1.7 version has this shortcut added - https://github.com/KryDos/todoist-linux/releases/tag/1.7
You need to press CTRL+ALT+r when window is focused and the page should be refreshed.


Visualizer perspective buttons do nothing

Steps to reproduce

Open GUI.
Open any model.
Click one of the cube buttons to change perspective.

Expected result
perspective changes
Actual result
nothing
Environment and GUI version
OpenSim 4.1-2019-10-17-7704209

@carmichaelong or @jimmyDunne can you verify in the PR build of the GUI? Thanks


Tests for CASSANDRA-10052

Can you rebase? I am not sure how I missed this originally, sorry.

No problem, rebased.

I added a @require(10052) to restart_node_test as well because after enhancing it I discovered a bug, also fixed by 10052.

+1. Merging since the require is already in.


Backport #570

Backport PR of #570

@Madhu-1 Got it ;)

@wilmardo have you used -x flag during cherry-pick?

@Madhu-1 I did not but did it again and force pushed. The message is now appended :)


DelegateValidator causes a deadlock when running an async function synchronously.

The problem is the DelegateValidator is causing the current thread to wait for the result of the async task. This task may require the thread to be available so it can be posted back to. Both EF and ASP.Net using this technique of posting back to the original thread and if you are waiting on that thread you will get a deadlock.
public class DelegateValidator<T> : IValidationRule {
		...
		public DelegateValidator(Func<T, ValidationContext<T>, Task<IEnumerable<ValidationFailure>>> asyncFunc) {
			this.asyncFunc = asyncFunc;
			func = (x, ctx) => this.asyncFunc(x, ctx).Result;
		}
       ...
}

Stephen Toub has a good post on making async calls synchronous. Basically he says try not to do it. But if you have to then run the task from a new thread (which you are doing) or use a message loop.
http://blogs.msdn.com/b/pfxteam/archive/2012/04/13/10293638.aspx.
The best option in this scenario is to run the task on a new threadpool thread then wait on that.
   func = (x, ctx) => Task.Run(()=> this.asyncFunc(x, ctx)).Result;

In reality users who use Async validation should just use ValidateAsync so we never have to switch to synchronous, but consumers of the validator may not always be aware of how the rules are configured.

Thanks for this - I'm not very familiar with the async code in FV, but will aim to get this in for the 5.7 release.

It's a pretty straight forward change.
public DelegateValidator(Func<T, ValidationContext<T>, Task<IEnumerable<ValidationFailure>>> asyncFunc) {
			this.asyncFunc = asyncFunc;
			func = (x, ctx) => this.asyncFunc(x, ctx).Result;
		}

Should be changed to:
public DelegateValidator(Func<T, ValidationContext<T>, Task<IEnumerable<ValidationFailure>>> asyncFunc) {
			this.asyncFunc = asyncFunc;
			func = (x, ctx) => Task.Run(()=> this.asyncFunc(x, ctx)).Result;
		}

So Task.Run is only available on .net 4.5 and 4.6, but the FV core library still targets 4.0.
I am planning on removing the 4.0 dependency, so I'll hold off on this change until then, unless you can recommend a solution that works on 4.0 too?

The old way to do it in 4.0 is:
func = (x, ctx) => Task.Factory.StartNew(() => this.asyncFunc(x, ctx), CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default).Unwrap().Result;

This is what Task.Run does internally anyways.

Great  - thanks, I'll make that change.

No problem. While we are cleaning up the async stuff, any chance we could get #67. It may be a breaking change for anyone who implements this interface, but IMO you should never implement async without supporting CancellationTokens.

Yes, I'll do that at the same time.


failing auto complete test

CC @jessfraz this fails locally even after pulling latest main and rebuilding the wasm, So I'll see if it's different in CI,
Here's what it looks like when the test runs
https://github.com/KittyCAD/modeling-app/assets/29681384/fb7b6714-2985-4516-aab8-09cff74b2b23
And here's the still frame from the test where it's auto completing the comment

hmm okay let me think about this it might be the race where the file hasnt been updated in the lsp yet, its out of band which is annoying ya knoiw


custom PRNG: make keyarray compatible with multihost_utils

Closing in favor of https://github.com/google/jax/pull/15892


[Bugs] Invalid or Banned phone number will break the program

If you try to send a message to a phone number that is not valid or has been banned, this program will encounter an error. This happens because the program expects to navigate to the chat page and find the "send" button, but it can't do that if the phone number is invalid or banned.

Closed


2019.10 release plan

Prerequisites

Python 3.7 and higher
run python3 -m pip install --user -r news/requirements.txt
run python3 -m pip install --user -r tpn/requirements.txt

Release candidate (Wednesday, Oct 02)

[x] Ensure all new features are tracked via telemetry
[x] Announce the code freeze (not just to team but also to ptvsd and language server)
[x] Update master for the release

[x] Create a branch against master for a pull request
[x] Change the version in package.json from a -dev suffix to -rc
[x] Run npm install to make sure package-lock.json is up-to-date
[x] Update requirements.txt to point to latest release version of ptvsd.
[x] Update languageServerVersion in package.json to point to the latest version of the Language Server (Azure portal ➡ pvsc storage account ➡ Blobs ➡ python-language-server-stable).
[x] Update CHANGELOG.md

[x] Run news (typically python news --final --update CHANGELOG.md | code-insiders -)
[x] Copy over the "Thanks" section from the previous release
[x] Make sure the "Thanks" section is up-to-date (e.g. compare to versions in requirements.json)
[x] Touch up news entries (e.g. add missing periods)
[x] Add any relevant news entries for ptvsd and the language server if they were updated

[x] Update ThirdPartyNotices-Distribution.txt by running tpn (typically python tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt)

for each failure:

go to the repo (from link on NPM page) and look for the license there
copy the text from the failure into tpn/distribution.toml
fill in the license found in the package's repo

if there is no license in a package's repo then do one of the following:

check the NPM metadata and fill in the corresponding license from the OSI site
ask the package maintainer (e.g. via github)
ask CELA

[x] Update ThirdPartyNotices-Repository.txt as appropriate
[x] Create a pull request against master
[x] Merge pull request into master

[x] Update the release branch

[x] (if necessary) Request from a repo admin that the branch be un-"protected"
[x] Delete the release branch in the repo
[x] Create a new release branch from master
(alternately, force-push the master branch to the GitHub "release" branch)
[x] (if necessary) Request that the branch be set anew as "protected"

[x] Update master post-release

[x] Bump the version number to the next monthly ("YYYY.M.0-dev") release in the master branch

[x] package.json
[x] package-lock.json

[x] Create a pull request against master
[x] Merge pull request into master

[x] Announce the code freeze is over
[x] Update Component Governance (Click on "microsoft/vscode-python" on that page)

[x] Provide details for any automatically detected npm dependencies
[x] Manually add any repository dependencies

[x] GDPR bookkeeping (@brettcannon)
[ ] Open appropriate documentation issues

new features
settings changes
etc. (ask the team)

[x] Begin drafting a blog post
[ ] Ask CTI to test the release candidate

Final (Tuesday, Oct 08)
Preparation

[ ] Make sure the appropriate pull requests for the documentation -- including the WOW page -- are ready
[x] final updates to the release branch

[x] Create a branch against release for a pull request
[x] Update the version in package.json
[x] Run npm install to make sure package-lock.json is up-to-date (the only update should be the version number if package-lock.json has been kept up-to-date)
[x] Update CHANGELOG.md

[x] Update version and date for the release section
[x] Run news and copy-and-paste new entries (typically python news --final | code-insiders -; quite possibly nothing new to add)

[x] Update ThirdPartyNotices-Distribution.txt by running tpn (typically python tpn --npm package-lock.json --npm-overrides package.datascience-ui.dependencies.json --config tpn/distribution.toml ThirdPartyNotices-Distribution.txt; quite possible there will be no change)
[x] Update ThirdPartyNotices-Repository.txt manually if necessary
[x] Create pull request against release
[x] Merge pull request into release

[ ] Make sure component governance is happy

Release

[x] Publish the release via Azure DevOps

[x] Make sure CI is passing
[x] Make sure the "Upload" stage on the release page succeeded
[x] Make sure no extraneous files are being included in the .vsix file (make sure to check for hidden files)
[x] Deploy the "Publish" stage

[ ] Publish documentation changes
[x] Publish the blog post
[x] Determine if a hotfix is needed
[x] Merge release back into master

Clean up after this release

[x] Go through info needed issues and close any that have no activity for over a month
[x] GDPR bookkeeping

Prep for the next release

[x] Create a new release plan
[x] (Un-)pin release plan issues

👉 When updating ThirdPartyNotices-Distribution.txt , make sure that the Python dependencies added by the debug adapter work (packaging, six and pyparsing) are not forgotten.

Assigning to @karthiknadig to make sure release gets merged back into master.

@karthiknadig Please merge release into master

Re-opening as the merge was incorrect. @karthiknadig @kimadeline  /cc
News entry files are still in master (news entries related to what was shipped in point release)

I'll take a look

Now that https://github.com/microsoft/vscode-python/pull/8201 was merged we should be good 👌


(status) update ClusterOperatorStatus builder

Problem: The ClusterOperatorStatus builder does not provide a way to
report a reason when degraded. When an operator reports degraded,
OpenShift telemetry only provided the status (degraded == true) and
the reason. Also - the builder does not include the Upgradeable
condition.
Solution: Create and update the functions provided by the builder.

/retest
/lgtm

Earlier today @tkashem asked me to add a builder test before this goes through.
/hold

Another PR introduced WithUpgradeable, so this just needs the reason changes and it should be good to go.

Closing for now, we can re-assess if we need these changes later.


BTC-E getTradeHistory() doesn't work.

BTC-E
PollingTradeService.getTradeHistory() doesn't work (throws exception)

Order data works.
I tested quick in php and there side is working for TradeHistory (https://btc-e.com/api/documentation)

what version of XChange are you using? The latest release or snapshots?

Was trying on 3 relaes branch, but tried today directly from sources on github.
Here is exepction:
java.lang.ClassCastException: com.xeiam.xchange.currency.CurrencyPair cannot be cast to java.lang.Long
at com.xeiam.xchange.btce.v3.service.polling.BTCETradeService.getTradeHistory(BTCETradeService.java:91)
at com.dimecoingames.cryptotrade.feed.ExchangeFeed.getTrades(ExchangeFeed.java:178)
at com.dimecoingames.cryptotrade.feed.Feed.start(Feed.java:113)
at com.dimecoingames.cryptotrade.feed.FeedService$FeedThread.run(FeedService.java:64)

It looks like a casting issue in :  XChange/xchange-btce/src/main/java/com/xeiam/xchange/btce/v3/service/polling/BCETradeService.java
The feature is there, so hopefully it's as simple as just changing the data type?

@dimecoin vararg parameters are specific to the implementation. Please see the javadoc for this method.

ok, I see the issue.
On these exchanges : (cryptsy, bter, bittrex, and bitfinex), the tradeService.getTradeHistory() takes a CurrencyPair and returns trades for that pair.  But btce does not, it throws that casting exception (from CurrencyPair to long) that I noted above.
Is this an inconsistent api or if I'm using it incorrectly?
PollingTradeService tradeService =  exchange.getPollingTradeService();

// This works for cryptsy, bter, bittrex, and bitfinex, but throws cast exception for btce
UserTrades trades = tradeService.getTradeHistory(new CurrencyPair("LTC", "BTC"));

// This works for btce, but bter throws exception
UserTrades trades = tradeService.getTradeHistory();

I'd advice against changing BTC-e version, even though accepting (String, String) instead of CurrencyPair is inconsistent with all other interfaces. I think PollingTradeServive.getTradeHistory(Object...) is to be deprecated in favour of getTradeHistory(TradeHistoryParams) (@timmolter #933?). See if the new method suits your needs.

ok fair enough. I have already worked around it in my code and will test moving to the new API with TradeHistoryParams if that is the furture.
I'll let either of you decide if this issue request should be closed or kept open.

@rafalkrupinski Yeah, i'll remove that deprecated method eventually.


exr's to mov only reads one frame

Ive given the tool a folder to a number of EXR's numbered with the following convention
something_something_something.1765700.exr
these sequence goes from say 1765506 to 1765719
but the tool only reads ONE frame and even says the stream is reading just one frame code is as follows
stream = ffmpeg.input('path to the first exr', framerate=25, patter_type='glob')
stream = ffmpeg.output(stream, 'test.mp4')
ffmpeg.run(stream)
but i only get one frame
[exr_pipe @ 0x7ff484801200] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, exr_pipe, from '/Volumes/FBH/_output/internal/to_vfx_editorial/EXR/0001_F301C013_180126_R0DQ/F301C013_180126_R0DQ.1765506.exr':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: exr, rgb48le, 2048x967 [SAR 1:1 DAR 2048:967], 24 tbr, 24 tbn, 24 tbc
Stream mapping:
Stream #0:0 -> #0:0 (exr (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, mp4, to 'flip.mp4':
Metadata:
encoder         : Lavf58.18.100
Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 2048x967 [SAR 1:1 DAR 2048:967], q=2-31, 200 kb/s, 24 fps, 12288 tbn, 24 tbc
Metadata:
encoder         : Lavc58.27.101 mpeg4
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    1 fps=0.0 q=7.5 Lsize=      76kB time=00:00:00.00 bitrate=7677234.6kbits/s speed=0.000746x
video:75kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.114797%
[Finished in 3.1s]

This is does not look like an ffmpeg-python issue, but rather a matter of input arguments.
If I understand correctly, you are trying to generate a movie from a sequence of images. If so, then the correct input is a pattern (instead of a filename), something like (in pure ffmpeg):
ffmpeg -r 25 -i path/to/something_something_something.%7d.exr -start 1765506 ...
This assumes:

that all image names follow the pattern "something_something_something.%7d.exr", meaning something_something_something.<7 digit number>.exr;
that images are numbered consecutively;
that the first image has number 1765506.

Read more for instance here:  https://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/image_sequence
With ffmpeg-python you could try:
stream = ffmpeg.input('path/to/something_something_something.%7d.exr', framerate=25, start=1765506)
Hope this helps,
Pierre

See this example: https://github.com/kkroening/ffmpeg-python/tree/master/examples#assemble-video-from-sequence-of-frames
So: ffmpeg.input('/path/to/frames/*.exr', pattern_type='glob', framerate=25)

tried both didnt work
@pderian
[image2 @ 0x7fd0dd802e00] Could not open file : /Volumes/FBH/_output/internal/to_vfx_editorial/EXR/0001_F301C013_180126_R0DQ/F301C013_180126_R0DQ.%7d.exr
[image2 @ 0x7fd0dd802e00] Could not find codec parameters for stream 0 (Video: exr, none): unspecified size

@pderian
yup am aware of that trying to find a way to make it work for me, isnt working hence the question here

@Shaunimsorry
Mhm... Out of curiosity, did it work in pure ffmpeg?
ffmpeg -r 25 -i /Volumes/FBH/_output/internal/to_vfx_editorial/EXR/0001_F301C013_180126_R0DQ/F301C013_180126_R0DQ.%7d.exr -start 1765506 test.mp4

@pderian
i was never able to get ffmpeg running it was SUPER complex for me so i ended up just trying to go off the python version from kkroening seemed much easier for me to just keep it this way that my supervisors can call on and use without having to install the FFMPEG thingofajig
im still trying to find out why its having a hard time because even before your comment i had tried adding %7d as per the documentation but then it just breaks, single frame works fine.

this is my current code
stream = ffmpeg.input('/Volumes/FBH/_output/internal/to_vfx_editorial/EXR/0001_F301C013_180126_R0DQ/F301C013_180126_R0DQ.%7d.exr', pattern_type='glob', framerate=25, start=1765506)
stream = ffmpeg.output(stream, 'flip.mp4')
ffmpeg.run(stream)

this is the output
fmpeg version N-91814-gc4cda4eb87 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 9.1.0 (clang-9<IP_ADDRESS>)
  configuration:
  libavutil      56. 19.100 / 56. 19.100
  libavcodec     58. 27.101 / 58. 27.101
  libavformat    58. 18.100 / 58. 18.100
  libavdevice    58.  4.101 / 58.  4.101
  libavfilter     7. 27.100 /  7. 27.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
Option start not found.
Traceback (most recent call last):
  File "/Volumes/FBH/_pipeline/bin/pythonStudioTools/bin/bbtools/exrtoMov/v0001/exrtoMov.py", line 16, in <module>
    ffmpeg.run(stream)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ffmpeg/_run.py", line 212, in run
    raise Error('ffmpeg', out, err)
ffmpeg._run.Error: ffmpeg error (see stderr output for detail)

alright this works fine
inputstream = 'smb://<IP_ADDRESS>/FBH/_output/internal/to_vfx_editorial/EXR/0001_F301C013_180126_R0DQ/F301C013_180126_R0DQ.%7d.exr'
fixed = inputstream.replace("smb://<IP_ADDRESS>", "/Volumes")

stream = ffmpeg.input('/Volumes/FBH/_output/internal/to_vfx_editorial/EXR/0001_F301C013_180126_R0DQ/F301C013_180126_R0DQ.1765506.exr', pattern_type='glob', framerate=25)
stream = ffmpeg.output(stream, 'flip.mp4')
ffmpeg.run(stream)

when when i try to add the %7d or say start=#### it breaks it

Have you tried replacing %7d by *? (without the start=...)

@153957
That worked Arne!
thank you but can you explain why ? I mean i understand how to use * but why does the "%7d" fail ?
also thanks for helping

See the explanation of the different pattern_type options here: https://ffmpeg.org/ffmpeg-formats.html#image2-1
I guess that pattern_type='sequence' could also have worked if you used %07d. In most cases I prefer the easy way and just use * (with pattern_type='glob') so I don't have to worry about number of digits and exact file names.

@153957 so ive had immense success running the tool seems to stitch just fun i have a new strange error now that im asking here to avoid making double tools, on another system (dispite installing ffmpeg-python) its now throwing an OSERROR [Errno 2] at me. My machine is fine but if i run the script in edit it breaks with a no such file or directory every time i run the stitcher.

That means that the path to the images or ffmpeg is probably incorrect for that system.

@153957 yeah really strange works fine if i run it in termainal on my system, works fine if i use the python launcher (on my system) breaks if i use edit and breaks on all systems on the test users system.
also think it cant find the source image...dont know why

cant seem to even trouble shoot because its working on some systems but not on others
totally lost for steps to trouble shoot..maybe im hungry @153957 haha

this is how simple this test is thats breaking on my system
trying abspath as well no joy

@Shaunimsorry : as @153957 pointed out, it seems that ffmpeg is either:
1 - not installed in the system,
2 - or installed but not in the system PATH.
If ffmpeg is installed but not in the path, and you can't add it for whatever reason, you could also try
ffmpeg.run(stream, cmd='/path/to/ffmpeg')


Web component: Masthead - On Tab (S7), Android 10 version - hamburger menu options are not displayed

Detailed description
Issue: On Tab (S7), Android 10 version - hamburger menu options are not displayed.
Additional information

This bug seems to be fixed. @Praveen-sr just want to double check.

This bug seems to be fixed. @Praveen-sr just want to double check.

@ariellalgilmore Re tested this on S7 and S6 tabs, hamburger menu are displayed now. Working as expected.

@ariellalgilmore Re tested this on S7 and S6 tabs, hamburger menu are displayed now. Working as expected.


Start screens

Implement the following screens

The design could be a little bit difficult, so the implementation should not be 100% alike to the mock up in this first delivery

@EstebanOlmedo in the Canva you'll find some of the images, feel free to edit the mock ups if you need to.
As for the log in, I lost the image without the components, I only have the full quality image. Maybe you can use some remove-objects-from-photos online editor.

Or if it helps, here are some photos I found I still have for other sections within the app.

I just created a page in our notion where all of these images are better organized. Please use it too if you are able to remove the components of the log in screen, so we don't lose these resources.

Done in #15


Consolidate release asset verification

Release asset count verification is done in bin/verify_release_assets and in release/release.go. Determine if one or both implementations are needed, and ensure their logic is in agreement.

The logic in release/release.go is the authoritative source. All logic in this repo should exist within Go package code and if necessary to have a CLI, it sources that package.


Optimize GMC e2e scripts

Description
Optimize GMC e2e scripts to remove duplicated codes
Optimize GMC e2e workflow to reduce the latency
Issues
closes issue #159
Type of change
List the type of change like below. Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)

Dependencies
n/a
Tests
CI tests

Thanks @daisy-ycguo for taking care of GMC e2e test. Besides GMC e2e,Will we move all e2e tests in kind environments? Any problems we keep using the original k8s env on the CI/CD machine?

We just moved GMC e2e to KIND environment because GMC controller has to be unique in K8s and it blocks parallel testing of workloads in GenAIExamples/GenAIInfra.
By using this workflow: gmc-on-push.yaml, GMC images are build and opea-system are installed and updated to K8s cluster when GMC source codes are changed.


Lint/DuplicateBranch can have legitimate reasons

If you have a semi-complicated set of conditions, repeating a branch body -- non-contiguously -- can make sense for a compound if/elsif. For example:
if condition1
  do_thing1
elsif condition2
  do_thing2
elsif condition3
  do_thing1
else
  do_thing4
end

condition3's branch duplicate's condition1's, but you can't simply combine the branches because of the intervening condition2, which implicitly means that condition3 is !condition2 && condition3. Repeating condition2 can both make the code longer, and might have performance implications.

Expected behavior
No offenses for the given code.
Actual behavior
test.rb:7:1: W: Lint/DuplicateBranch: Duplicate branch body detected.
elsif condition3 ...
^^^^^^^^^^^^^^^^

RuboCop version
1.22.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.12.0, running on ruby 2.7.2 x86_64-darwin20)
  - rubocop-performance 1.11.5
  - rubocop-rails 2.12.2
  - rubocop-rake 0.6.0
  - rubocop-rspec 2.5.0

We can't possibly know all such implications from static analysis, so in case there are special consideration you should just use a rubocop:disable comment around the relevant code.

This cop does not come up in my project very often, TBH I guess it warned me 2 or 3 times before about cases like the one raised here (and today again).
I came here to check if there have been any update on the cop to make it smarter but to be fair I think I agree with @bbatsov  ("can't possibly know all such implications from static analysis").
But I will go further and disable the whole cop for the project as I could not find evidence of it doing the work he meant to do in my project. ¯_(ツ)_/¯
I will add this use-case to help illustrate the case in the hope this could lead to improvements (even if in my code 😉)
    if ids.nil?
      full_set # no filter applied
    elsif ids.empty?
      empty_result # filter matching to empty list of ids
    elsif ids.all?(String)
      filter_by_uuids(ids)
    elsif ids.all?(Integer)
      filter_by_ids(ids)
    else
      empty_result # mixed ids: invalid filter
    end

Thanks :slightly_smiling_face:


Sort out nullity in CommandFactory

One of the problems: switchTimeZone() would fail if TenantId is null.

would fail if TenantId is null.
Not true. Its not protobuf builder. We can use nulls here.


Support other-extensions

@phadej So far I failed to see the practical benefit of other-extensions, but I may have easily missed something here.  Do you have a deeper insight?
If we come to the conclusion they are useful, let's infer them.  WDYT?

@sol cabal-install does use that information, i.e. if compiler doesn't support extensions mentioned there, it doesn't even bother to build the package.
Arguably the benefit isn't big. But I'd like hpack to be as little opinionated as possible.
And as a side comment, with haskell-src-exts one could generate the other-extensions field in simple cases (no CPP'd extensions) - that I could have as an external utility working on package.yaml though.

I'm puzzled whether putting a constraint on base isn't a more obvious way to achieve the same goal?
When it comes to being opinionated: I want hpack to be as useful as possible for as many people as possible.  But looking at Cabal, I think there some features in Cabal that don't make sense.  This is why I wrote hpack in the first place.
So if hpack tries to be better than Cabal, is being opinionated to some degree a healthy approach?
That said, if there is broad demand for this, I'm probably willing to add it with the assumption that it is not really harmful.
Regarding haskell-src-exts, it takes a long time to build.  I think it should be relatively easy to extract language pragmas with custom code.  I would assume, we have to take the superset from all CPP branches, otherwise the generated cabal file depends on the users environment.  Does this make assumption make sense?
Replicating the conditionals, as suggest in https://github.com/phadej/cabal/commit/6916f3b53db19d4442914f4473e21669114025ba, personally I'm not sure if I would be willing to do that for my projects, as you would need to maintain the invariants manually.  Inferring them may be none-trivial.

Regarding the conditionals, I'd omit any pragmas inside CPP conditionals; hiding them behind the flag is almost only for informational purposes.
I don't want strictly restrict all of my package to be GHC-only. Some of them could be easily compiled even with Haskell98 + trivial extra compatible compiler. Not that I tried. But I'll try my best to help any who is willing to do that.
Indeed haskell-src-exts is heavy, I could work on custom code too, but then I'd need a bit more time.

@phadej I merged your patch with the assumption that it is not really harmful to have it.  For my own projects I'm not going to maintain that information, for the reason that I think the cost / benefit ratio is not high enough (that includes hpack itself, see https://github.com/sol/hpack/commit/897e840d87ad215194fb1163bb3a9efc443cd704).
Sorry for the delay on this.

@sol, it's ok for me. I added them to hpack as an example.


[FR] Add Options for ensuring Automatic Torrent Management is enabled

x-seed
all torrents

What about having it set by tracker?
  beyond-hd:
    tag: Beyond-HD
    notifiarr: BeyondHD
    auto_tmm: True

think that'd make sense!

Set by tracker won't have the option to set by cross-seed though, just a thought.

Ended up not implementing it by tracker because it adds a lot of overhead and most people will either be turning auto TMM on or off, so it's done at the settings level. Let me know if you find any bugs otherwise consider this complete


New package: AMRVW v1.0.0

Registering package: AMRVW
Repository: https://github.com/jverzani/AMRVW.jl
Created by: @jverzani
Version: v1.0.0
Commit: 84fe45b0049bdea4753dc68412aaea46d4828b7a
Git reference: master

[noblock]
This seems to violate the naming principle, but unless there are really good reasons not to allow all caps, I would like to keep as is. (A good reason would be if all future releases would need to be handled by hand and not just this initial one.) Though the name isn't suggestive, it is a combination of author's last names for the work that forms the basis of this package.


fix: allow copy of secrets by name

Signed-off-by: James Strachan<EMAIL_ADDRESS>

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jstrachan
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jstrachan]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jstrachan
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jstrachan]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


LIVERY SUBMISSION - Luxair Max 8 and Dash 8 and 737-800

Could you tell me what software you use to make the uniform, thank you！


Split range files around ApproximateRangeSizeBytes

In GeneralMetaRangeWriter, the hash of the key determines if the range should break at the current entry.
Each entry represents more than a single byte, hence name is misleading and implementation has a bug.

The main problem with ApproximateRangeSizeBytes is that we get a wide variance of ranges,
I ran a test on 70 million records and got ranges in all sizes between 4K and 400MB.
We need a solution with a smaller variance and some way to enforce MAX_SIZE

The main problem with ApproximateRangeSizeBytes is that we get a wide variance of ranges,
I ran a test on 70 million records and got ranges in all sizes between 4K and 400MB.
We need a solution with a smaller variance and some way to enforce MAX_SIZE

The current solution has some issues.  This comment explains why a geometric distribution is a poor choice.
Currently we decide to stop after a given key with some probability which we want to be around 1/L, in order to get ~L records per range.  Indeed, if we stop after each element with probability p, then the expected time T to split -- i.e. the number of elements in the range -- is expected to be:

which seems cool.
Unfortunately the variance of a geometric distribution is huge.  Rather than go on about standard deviation -- which doesn't even explain just how bad it gets, let's look at the distribution!  The probability of getting a piece of size <=k is:

This is the probability of getting a range of size up to k, and it is shockingly large.
Let's take p=1/50000.  Then the expected size of a range is 50000.  Here are the likelihoods of some sizes:

k
probability of range having size <= k

1e3
0.0198

1e4
0.181

1e5
0.865

2e5
0.982

3e5
0.998

1e6
about 1

We want all pieces to be around 50000 lines, but over 1 in 6 will be over 200000 - 4 times as much!

The current solution has some issues.  This comment explains why a geometric distribution is a poor choice.
Currently we decide to stop after a given key with some probability which we want to be around 1/L, in order to get ~L records per range.  Indeed, if we stop after each element with probability p, then the expected time T to split -- i.e. the number of elements in the range -- is expected to be:

which seems cool.
Unfortunately the variance of a geometric distribution is huge.  Rather than go on about standard deviation -- which doesn't even explain just how bad it gets, let's look at the distribution!  The probability of getting a piece of size <=k is:

This is the probability of getting a range of size up to k, and it is shockingly large.
Let's take p=1/50000.  Then the expected size of a range is 50000.  Here are the likelihoods of some sizes:

k
probability of range having size <= k

1e3
0.0198

1e4
0.181

1e5
0.865

2e5
0.982

3e5
0.998

1e6
about 1

We want all pieces to be around 50000 lines, but over 1 in 6 will be over 200000 - 4 times as much!

We also proposed stopping after each path with probability inversely proportional to its size.  Here's a gist that simulates expected sizes for this with a log-normal distribution.  While it does not vary wildly, as the standard deviation (Sigma) varies the expected file size goes up (compare 0.1 with 3.0 for a wild difference), meaning there is no easy way to control the file size... especially not if the path size distribution is unknown.
(I also have a partial explanation why this is so that is based on Wald's theorem; you end up needing to compute the expected time to stop by the above rule, which is clearly not the expected path length (an "arithmetic average") but rather based more like the harmonic mean -- which can be very different.  But finishing this analysis is too much integration for too little gain; sorry.)

We also proposed stopping after each path with probability inversely proportional to its size.  Here's a gist that simulates expected sizes for this with a log-normal distribution.  While it does not vary wildly, as the standard deviation (Sigma) varies the expected file size goes up (compare 0.1 with 3.0 for a wild difference), meaning there is no easy way to control the file size... especially not if the path size distribution is unknown.
(I also have a partial explanation why this is so that is based on Wald's theorem; you end up needing to compute the expected time to stop by the above rule, which is clearly not the expected path length (an "arithmetic average") but rather based more like the harmonic mean -- which can be very different.  But finishing this analysis is too much integration for too little gain; sorry.)

Just to make sure I followed. The punchline states that over 1 in 6 will be over 200000, but your numbers indicate a 0.982 probablity of being under that, which is more like 1 in 50, no?

Just to make sure I followed. The punchline states that over 1 in 6 will be over 200000, but your numbers indicate a 0.982 probablity of being under that, which is more like 1 in 50, no?

Just to make sure I followed. The punchline states that over 1 in 6 will be over 200000, but your numbers indicate a 0.982 probablity of being under that, which is more like 1 in 50, no?

Yeah..., cannot count.  That's 1 in 55 :-(
Fixed!

Just to make sure I followed. The punchline states that over 1 in 6 will be over 200000, but your numbers indicate a 0.982 probablity of being under that, which is more like 1 in 50, no?

Yeah..., cannot count.  That's 1 in 55 :-(
Fixed!

OK that cleared up some things, GREAT analysis @arielshaqed !
Now that we have the numbers I feel pretty confident moving forward with this solution.
If we're aiming for 10MB range size then getting a 40 MB file every 55 files isn't that of a big deal, and getting 100MB is (Ariel to keep me honest) 1 in 22,029.
The only thing that varies here is the length of the path, so we might need to adjust the algorithm to be proportional to the size of the actual written data, but nothing more than that.

OK that cleared up some things, GREAT analysis @arielshaqed !
Now that we have the numbers I feel pretty confident moving forward with this solution.
If we're aiming for 10MB range size then getting a 40 MB file every 55 files isn't that of a big deal, and getting 100MB is (Ariel to keep me honest) 1 in 22,029.
The only thing that varies here is the length of the path, so we might need to adjust the algorithm to be proportional to the size of the actual written data, but nothing more than that.

OK, I think we shall go back to the original plan.
The Plan
Add 3 parameters:

minimum range size (bytes)
maximum range size (bytes)
raggedness factor (entries)

Close (split) a range after adding an entry if any of these holds:

Next need to add an entire range (TODO: collect data to see whether we want to buffer some range entries to avoid this creating very small ranges). OR...
The current range size is >= maximum range size.  (SO the maximum is not really a maximum, we go one whole entry above it).  OR...
The current range is >= minimum range size and hash(entry.Key) / maxHashValue  > 1/raggedness.

(1) means we always re-use a range when we can, and don't try to have a large range before it.  (Avoiding (1) in favour of enlarging the previous range means larger single range files, but a potentially quadratic growth in metadata size).
(2) means we never have very large ranges :-)
(3) means we don't split to very small sizes, and that there is some tendency to split ranges between different branches in the same places.  Ideally raggedness = (max_size - min_size) / average_entry_size -- but it works reasonably well within 3x (because the variance of a geometric distribution is so high).
TODO: figure out a way to collect data from real installations to determine whether this strategy is good enough, and how to improve it.

Consider :-1:ing or :+1:ing to indicate how bad (or good) this sounds.

OK, I think we shall go back to the original plan.
The Plan
Add 3 parameters:

minimum range size (bytes)
maximum range size (bytes)
raggedness factor (entries)

Close (split) a range after adding an entry if any of these holds:

Next need to add an entire range (TODO: collect data to see whether we want to buffer some range entries to avoid this creating very small ranges). OR...
The current range size is >= maximum range size.  (SO the maximum is not really a maximum, we go one whole entry above it).  OR...
The current range is >= minimum range size and hash(entry.Key) / maxHashValue  > 1/raggedness.

(1) means we always re-use a range when we can, and don't try to have a large range before it.  (Avoiding (1) in favour of enlarging the previous range means larger single range files, but a potentially quadratic growth in metadata size).
(2) means we never have very large ranges :-)
(3) means we don't split to very small sizes, and that there is some tendency to split ranges between different branches in the same places.  Ideally raggedness = (max_size - min_size) / average_entry_size -- but it works reasonably well within 3x (because the variance of a geometric distribution is so high).
TODO: figure out a way to collect data from real installations to determine whether this strategy is good enough, and how to improve it.

Consider :-1:ing or :+1:ing to indicate how bad (or good) this sounds.


arana start error

What happened:
use this config , connect error
ERROR	mysql/server.go:260	Error authenticating user using MySQL native password: Access denied for user 'root' (errno 1045) (sqlstate 28000)
What you expected to happen:
connect success
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
kind: ConfigMap
apiVersion: "1.0"
metadata:
  name: arana-config
data:
  tenants:
    - name: arana
      sys_db:
        host: <IP_ADDRESS>
        port: 3306
        username: root
        password: "Qwer1234"
        # TODO It is recommended that the initialization of the subsequent system library be handled by arana internally
        database: __arana_sys
        weight: r10w10
        parameters:
      users:
        - username: root
          password: "Qwer1234"

data:
  tenants:
    - name: arana
      sys_db:
        host: <IP_ADDRESS>
        port: 3306
        username: root
        password: "Qwer1234"
        # TODO It is recommended that the initialization of the subsequent system library be handled by arana internally
        database: __arana_sys
        weight: r10w10
        parameters:
      users:
        - username: root
          password: "Qwer1234"
          # - username: arana
          #password: "123456"
      clusters:
        - name: employees
          type: mysql
          sql_max_limit: -1
          tenant: root
          parameters:
            slow_threshold: 1s
            max_allowed_packet: 256M
          groups:
            - name: employees_0000
              nodes:
                - node0
            - name: employees_0001
              nodes:
                - node1
      nodes:
        node0:
          name: node0
          host: <IP_ADDRESS>
          port: 3306
          username: root
          password: "Qwer1234"
          database: sbtest
          weight: r10w10
          parameters:
        node1:
          name: node1
          host: <IP_ADDRESS>
          port: 3306
          username: root
          password: "Qwer1234"
          database: sbtest
          weight: r10w10
          parameters:

mysql version: 5.7.40-log, 8.1.0
mysql client version: 14.14 Distrib 5.7.30

pls err detail info report

I change mysql client to mysql  Ver 8.0.34-0ubuntu<IP_ADDRESS> for Linux on x86_64 ((Ubuntu)),

but also connect error

connect to mysql is success

this is arana error

your config password is not 123456

don't comment config，and use like this
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

kind: ConfigMap
apiVersion: "1.0"
metadata:
  name: arana-config
data:
  tenants:
    - name: arana
      sys_db:
        host: <IP_ADDRESS>
        port: 3306
        username: root
        password: "123456"
        # TODO It is recommended that the initialization of the subsequent system library be handled by arana internally
        database: __arana_sys
        weight: r10w10
        parameters:
      users:
        - username: root
          password: "123456"
        - username: arana
          password: "123456"
      clusters:
        - name: employees
          type: mysql
          sql_max_limit: -1
          tenant: arana
          parameters:
            slow_threshold: 1s
            max_allowed_packet: 256M
          groups:
            - name: employees_0000
              nodes:
                - node0
                # - node0_r_0
            - name: employees_0001
              nodes:
                - node1
            # - name: employees_0002
            #   nodes:
            #     - node2
            # - name: employees_0003
            #   nodes:
            #     - node3
      sharding_rule:
        tables:
          - name: employees.student
            sequence:
              type: snowflake
              option:
            db_rules:
              - columns:
                  - name: uid
                expr: parseInt($0 % 32 / 8)
            tbl_rules:
              - columns:
                  - name: uid
                expr: $0 % 32
            topology:
              db_pattern: employees_${0000..0003}
              tbl_pattern: student_${0000..0031}
            attributes:
              allow_full_scan: true
              sqlMaxLimit: -1
          - name: employees.friendship
            sequence:
              type: snowflake
              option:
            db_rules:
              - columns:
                  - name: uid
                  - name: friend_id
                expr: parseInt(($0*31+$1) % 32 / 8)
            tbl_rules:
              - columns:
                  - name: uid
                  - name: friend_id
                expr: ($0*31+$1) % 32
            topology:
              db_pattern: employees_${0000..0003}
              tbl_pattern: friendship_${0000..0031}
            attributes:
              allow_full_scan: true
              sqlMaxLimit: -1
      nodes:
        node0:
          name: node0
          host: arana-mysql
          port: 3306
          username: root
          password: "123456"
          database: employees_0000
          weight: r10w10
          parameters:
        # node0_r_0:
        #   name: node0_r_0
        #   host: <IP_ADDRESS>
        #   port: 3306
        #   username: root
        #   password: "123456"
        #   database: employees_0000_r
        #   weight: r0w0
        #   parameters:
        node1:
          name: node1
          host: <IP_ADDRESS>
          port: 3307
          username: root
          password: "123456"
          database: employees_0001
          weight: r10w10
          parameters:
        # node2:
        #   name: node2
        #   host: <IP_ADDRESS>
        #   port: 3306
        #   username: root
        #   password: "123456"
        #   database: employees_0002
        #   weight: r10w10
        #   parameters:
        # node3:
        #   name: node3
        #   host: <IP_ADDRESS>
        #   port: 3306
        #   username: root
        #   password: "123456"
        #   database: employees_0003
        #   weight: r10w10
        #   parameters:

arana start success.


Rebuild remaining core accounts

User Story
Rebuild the remaining core accounts to use the new CIDR ranges.
Value
Ensure network connectivity and avoid overlapping ranges.
Questions / Assumptions

Definition of done

[ ] readme has been updated
[ ] user docs have been updated
[ ] another team member has reviewed
[ ] tests are green

Reference
How to write good user stories

core-security account has now been upgraded with the new cidrs

core-logging account upgraded with new cidrs

core-shared-services account upgraded with new cidrs

these accounts are complete, closing ticket


Propagate unhandled Key(Pointer)Events to parent

Currently TizenView is consuming Key(Pointer)Event.
Key(Pointer)Events that are not handled within FlutterView should be propagated to the View's Parent.
We need to check whether we can raise an event to the parent object(Elm : Evas_object, NUI: View).
related issue : https://github.com/flutter-tizen/engine/issues/221

If Flutter's OnKeyEvent()(OnKey()) returns KeyEventResult.ignored, embedder can check it using handle value.
There are some problems, but I have created a commit that implements this experimentally.
https://github.com/flutter-tizen/engine/commit/29e23f110313e5255387b494419d15d49f595d81
This may be appropriate for asynchronous keyboard events for ignored events.
However, we can't use this commit because there are problems where the handled value of the arrow key doesn't pass as intended.
And using this, I planned to move the focus naturally when FlutterView is placed with other widgets (EFL Widget, NUI Component).
However, since KeyEventResult.handled is the default for Flutter Widget, it was difficult to accurately pass whether to ignore it unless we control all of the widgets.
Therefore, it seems that we should use the way suggested in #341 and focus-out by calling SystemNavigator.pop() at the appropriate input or timing in Flutter App.


Add link to PKIjs as resourse for "caniuse WebCrypto"

Hope you will consider my request an appropriate and include a link to PKIjs as a "resourse" for "caniuse WebCrypto".

Thanks, has been added.


Suggestion: add support for multiple types of models

I believe there is support. You can also customize them in architecture_specific.py


Using declaration cannot be used as top-level statement or in shell

Expected behavior
IDisposable objects can be declared with using var as top-level statement, or in interactive shell.
Current behavior
C# compiler throws error out. When the same statement is instead compiled with dotnet run, there is no error.
Sample shell output
!yuntian@Yuntian /home/yuntian> using var f = File.Open("/tmp/test", FileMode.OpenOrCreate);
(1,11): error CS1002: ; expected
!yuntian@Yuntian /home/yuntian> if (0 == 0) { using var f = File.Open("/tmp/test", FileMode.OpenOrCreate); }
!yuntian@Yuntian /home/yuntian> var f = File.Open("/tmp/test", FileMode.OpenOrCreate);
!yuntian@Yuntian /home/yuntian> f.Dispose()
!yuntian@Yuntian /home/yuntian>

Reasoning
Although using var is not exactly useful in main() or in interactive shell where variables will be discarded anyway when the process ends, scripts can be reworked into functions and reused elsewhere. Allowing the variable to be properly declared can save debugging effort down the line.

Seems to be an inherited issue from dotnet-script.


Increment Version Of SSDS

When I execute:
pip3 show ssds
I get:
Name: ssds Version: 0.0.0
It would be nice to increment versions -- so I can check which version I have installed on various VM's that I'm running.

The current version of the ssds will now show v0.0.1
This will be incremented as warranted by bug fixes, feature updates, and API changes.
Note that a specific version of the ssds may be installed with:
pip install<EMAIL_ADDRESS>

We may consider adding SSDS to the python package index.


Improve team page UI

Currently very busy at the top of the page making it hard to visually tell the difference between buttons.
Removing the long blue bar to edit the team composition/name and replacing it with a config/cog button and utilizing this place to provide "team" resonance information as well looks neat:
Can do the same with the Loadout name too, just to break up so much of the light blue.

Similar to: https://github.com/frzyc/genshin-optimizer/issues/1606#issuecomment-1975021661
And: https://discord.com/channels/785153694478893126/1197612863557222450/1215531679779651605

In an attempt to tidy this top section of the page the following issues were also raised:
#1644
#1645
#1646

My opinion is that the primary concern seems to be how overwhelming the cyan color the buttons are. A easier solution could be to convert the buttons to a "outlined" button to reduce the presence of color from "filled" buttons

My concern with that is it would require a full UI theme overhaul which probably isnt scoped for the same release as the teams feature.
And also making the buttons less overwhelming might actually backfire and make it harder to determine the difference between a "button" and a "title" or "description"


Fix condaBasePath when useBundled is false, and there's no pre-existing conda

Useful when using setup-miniconda with self-hosted runners without conda installed.

It's the same as path.join(os.homedir(), "miniconda3"); right?

It's the same as path.join(os.homedir(), "miniconda3"); right?

I think not, and home dir might have been pointing somewhere else on mac, hence the hardcoded path. Could you please verify?

With macos-latest image it is the home directory.

Ping on this

How about running:
conda create -n github-action nodejs=16 -c conda-forge
conda activate github-action
npm ci
npm run build

and committing the resulting updates so that the example runs actually test the changes proposed by this PR?

Thanks @goanpeca


HDDS-7647. [snapshot] Add unit-testcases for Ozone Snapshot List API

What changes were proposed in this pull request?
Added unit-testcases for Snapshot List API - TestOmMetadataManager / testListSnapshotDoesNotListOtherBucketSnapshots
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7647
How was this patch tested?
Added testcases in file - hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmMetadataManager.java
mvn -Dtest=TestOmMetadataManager test
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.hadoop.ozone.om.TestOmMetadataManager
[INFO] Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.162 s - in org.apache.hadoop.ozone.om.TestOmMetadataManager
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 14, Failures: 0, Errors: 0, Skipped: 0```

@smengcl @sadanand48 - Please review the pull request

Looks like the green CI didn't fully trigger the tests. And now checkstyle is failing on the snapshot branch: https://github.com/apache/ozone/actions/runs/3716634979/jobs/6303183328
@adoroszlai This might have something to do with the CI job filter? This PR only has UT changes.
I will revert this one for now. @jyotirmoy-gh Would you raise a new PR with checkstyle fixed? Thx.

This might have something to do with the CI job filter?

@smengcl The build-branch workflow is completely missing from this PR, so the checks were not filtered by our scripts.  I think it's more of a Github glitch.  Please watch out for this when merging PRs.


[docs] Run npm i after using generators

I've had multiple questions/comments about the generators: It's unclear that after using the generators you still have to run npm i, we should add this to the docs

we could also run npm i at the end if a generator

We should probably do that instead, i'll take a look

fixed in latest release 💪


Update git-in-here.yml

PR Type: ___

Affiliation: N/A

Ticket: N/A

Checklist:

[x] I've read Contributing Guidelines
[x] I agree to follow the Code of Conduct

YAML validator does not indicate any errors.

Maybe using a YAML validator will help - there's an error where you've just got an extra space before question and response

Maybe using a YAML validator will help - there's an error where you've just got an extra space before question and response

This totally missed my eye and the YAML validator didn't indicate this at first either. Thank you for pointing it out, I have edited it again, should I create a new PR ?

Thanks!
I've merged it 🎉


4911a8f3-6d33-460c-af90-cbb19cd286e8

this is for automated testing

8f4607f8-212c-4f83-b0ac-b6d2fbaef990


convert.im6: WriteBlob Failed @ error/png.c/MagickPNGErrorHandler/1728.

Hey Sergey,
I recently upgraded my cuda (7.5) and the driver (352.39) along with other system and torch updates.
However since then the imagemagick toolbox is prompting up with this error when it tries to convert the eps file to png.
convert.im6: WriteBlob Failed `/home/praveer/cifar/logs/test.png' @ error/png.c/MagickPNGErrorHandler/1728.
/home/praveer/cifar/logs/test.png: No such file or directory
I have tried out running convert from the terminal and it works fine.
I have also tried setting the chmod permission to 777 for the directory but nonetheless it has no effect.
The imagemagick is upgraded to its latest version.
Cheers !!!
Praveer

Hi Praveer, it seems to me that this is just a warning on the first epoch and is fine after

it used to be like that previously.
but after the up-gradation it happens for all the epochs.

Hi,
this problem of non existance of the test.log.eps and as a result missing png e.t.c, resulted int he following stop of the execution:
==> setting criterion
==> configuring optimizer
==> online epoch # 1 [batchSize = 128]
 [==================== 390/390 ================>]  Tot: 52m28s | Step: 8s62ms
Train accuracy: 11.65 %  time: 3156.72 s
==> testing
Test accuracy:  11.04
convert: unable to open image `logs/test.log.eps': No such file or directory @ error/blob.c/OpenBlob/2702.
convert: no images defined `logs/test.png' @ error/convert.c/ConvertImageCommand/3257.
logs/test.png: No such file or directory
140735318610000:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('logs/test.png','r')
140735318610000:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
/Users/fritz/torch/install/bin/lua: train.lua:186: bad argument #3 to 'format' (string expected, got nil)
stack traceback:
    [C]: in function 'format'
    train.lua:186: in function 'test'
    train.lua:212: in main chunk
    [C]: in function 'dofile'
    .../torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:145: in main chunk
    [C]: ?
FriedrichsMacBook:cifar.torch fritz$ cd logs/
FriedrichsMacBook:logs fritz$ ls
report.html test.log

See pull request #18


Cut new release to prevent incompatibility with future Rust versions

warning: the following packages contain code that will be rejected by a future version of Rust: async-imap v0.5.0, rental v0.5.6
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 274`

Looking at the incompatibility report, it seems that rental is the cause of this, which was fixed in https://github.com/async-email/async-imap/pull/52, but not cut as a release.
> warning: using `procedural-masquerade` crate
>   --> /home/nick/.cargo/registry/src/github.com-1ecc6299db9ec823/async-imap-0.5.0/src/types/name.rs:7:1
>    |
> 7  | / rental! {
> 8  | |     pub mod rents {
> 9  | |         use super::*;
> 10 | |
> ...  |
> 17 | |     }
> 18 | | }
>    | |_^
>    |
>    = note: `#[allow(proc_macro_back_compat)]` on by default
>    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>    = note: for more information, see issue #83125 <https://github.com/rust-lang/rust/issues/83125>
>    = note: The `procedural-masquerade` crate has been unnecessary since Rust 1.30.0. Versions of this crate below 0.1.7 will eventually stop compiling.
>    = note: this warning originates in the macro `rental` (in Nightly builds, run with -Z macro-backtrace for more info)
>

Would it be possible to cut a new release of this crate?

Looks like this has been done.


Fix colormapping nD images

Description
Colormap mapping of arrays with more than 1 dimension is broken due to stacking along the wrong dimension.
Type of change

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

Restarting the 24h clock. I'll likely merge this tomorrow.


CompletedContent now shown when stepper is Vertical

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudStepper
What happened?
 isn't shown for stepper in Vertical mode
Expected behavior
 rendered after click on the Next button on the last step
Reproduction link
https://try.mudblazor.com/snippet/GEwIlEbsKUqfrtfs
Reproduction steps

Click stepper till the end until all steps are completed
 didn't render

Relevant log output
No response
Version (bug)
7.13.0
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On which operating systems are you experiencing the issue?
macOS
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

cc @henon


Wallet Dimensions Skewed

I've just recently downloaded Dogecoin Core 1.14.6 for Linux. When I run it, however, the wallet GUI is massive, while letters of words within the wallet are minuscule. Spent a couple hours working on it with admins within Dogecoin's Discord channel. No luck. They suggested I post here. Not sure what else to try.

Thank you.

Since you have an Nvidia card in there, this may be one of the known issues with the current Qt version we use. Could you try launching dogecoin-qt from a terminal and playing with these 2 environment variables:
export QT_SCALE_FACTOR=1
export QT_AUTO_SCREEN_SCALE_FACTOR=0

Please let us know if anything changes when setting these.

Yes, this worked! Thank you for getting back to me so quickly.
Sent with Proton Mail secure email.
------- Original Message -------
On Sunday, September 25th, 2022 at 11:25 AM, Old Dip Tracker @.***> wrote:

Since you have an Nvidia card in there, this may be one of the known issues with the current Qt version we use. Could you try launching dogecoin-qt from a terminal and playing with these 2 environment variables:
export
QT_SCALE_FACTOR=1
export
QT_AUTO_SCREEN_SCALE_FACTOR=0
Please let us know if anything changes when setting these.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Is this expected?

Yes, it is. How do you launch dogecoin-qt normally? You should add these environment variables to the launcher so that it picks it up every time, rather than setting this globally, so that it only does that for the Dogecoin wallet and software using different versions of Qt are not affected by this little "hack".

Maybe I should switch GPUs?

Not needed. We can make this work, I'm sure.

To launch, I just go to the GUI folder, right click and "run". I'm happy to do it another way.
How would I go about adding those variables to the launcher? A config file somewhere?
Thank you.
Sent with Proton Mail secure email.
------- Original Message -------
On Monday, September 26th, 2022 at 11:30 AM, Old Dip Tracker @.***> wrote:

Is this expected?

Yes, it is. How do you launch dogecoin-qt normally? You should add these environment variables to the launcher so that it picks it up every time, rather than setting this globally, so that it only does that for the Dogecoin wallet and software using different versions of Qt are not affected by this little "hack".

Maybe I should switch GPUs?

Not needed. We can make this work, I'm sure.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

You should be able to take the contributed .desktop file from here and change the Exec= line to be (with your dogecoin-qt path, not /path/to/):
Exec=env QT_SCALE_FACTOR=1 QT_AUTO_SCREEN_SCALE_FACTOR=0 /path/to/dogecoin-qt %u

Then opening the .desktop file should apply the variables for you every time.

When I attempt to create a .desktop file with the following lines, I'm told "Error writing Doge.desktop: Permission denied"
Name=Dogecoin Core
Comment=Connect to the Dogecoin P2P Network
Exec=env QT_SCALE_FACTOR=1 QT_AUTO_SCREEN_SCALE_FACTOR=0 /media/shawn/UbuntuSSD/Doge/dogecoin-1.14.6/bin>
Terminal=false
Type=Application
Icon=dogecoin128
MimeType=x-scheme-handler/dogecoin;
Categories=Office;Finance;
I'm sure I'm making a simple error. I'm only in week two of using any Linux distro--migrating from Windows (where Doge worked fine).
Sent with Proton Mail secure email.
------- Original Message -------
On Tuesday, September 27th, 2022 at 10:03 AM, Old Dip Tracker @.***> wrote:

You should be able to take the contributed .desktop file from here and change the Exec= line to be (with your dogecoin-qt path, not /path/to/):
Exec
=env
QT_SCALE_FACTOR
=1
QT_AUTO_SCREEN_SCALE_FACTOR
=0 /path/to/dogecoin-qt %u
Then opening the .desktop file should apply the variables for you every time.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

To where are you creating/writing the .desktop file?

I assumed here:
/usr/share/applications
Perhaps I misunderstood. It is unfortunate that I am having to learn Linux/Ubuntu at the same time as fix this problem. I appreciate your patience with my ignorance.
Sent with Proton Mail secure email.
------- Original Message -------
On Thursday, September 29th, 2022 at 3:24 PM, leuqarte @.***> wrote:

To where are you creating/writing the .desktop file?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

You should be able to put it in ~/.local/share/applications to not need to make changes with root and keep everything in user space. If that doesn't exist yet, do:
mkdir -p ~/.local/share/applications

Ok, I created and placed this .desktop file in this folder. It still does not load properly. Above it was mentioned that I should "open the .desktop file". I'm not sure what that means. To start the wallet and daemon, don't I have to run Dogecoin-qt ?
Sent with Proton Mail secure email.
------- Original Message -------
On Friday, September 30th, 2022 at 9:03 AM, Old Dip Tracker @.***> wrote:

You should be able to put it in ~/.local/share/applications to not need to make changes with root and keep everything in user space. If that doesn't exist yet, do:
mkdir -p
~
/.local/share/applications
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

This is how I did it on my end:

Make the folder

mkdir -p ~/.local/share/applications

Create the dogecoin.desktop

nano ~/.local/share/applications/dogecoin.desktop

Contents (make sure to update Exec line to location of dogecoin-qt)
[Desktop Entry]
Name=Dogecoin Core
Comment=Connect to the Dogecoin P2P Network
Comment[de]=Verbinde mit dem Dogecoin peer-to-peer Netzwerk
Comment[fr]=Dogecoin, monnaie virtuelle cryptographique pair à pair
Comment[tr]=Dogecoin, eşten eşe kriptografik sanal para birimi
Exec=env QT_SCALE_FACTOR=1 QT_AUTO_SCREEN_SCALE_FACTOR=0 /path/to/dogecoin-qt %u
Terminal=false
Type=Application
Icon=dogecoin128
MimeType=x-scheme-handler/dogecoin;
Categories=Office;Finance;

(optional) Update desktop database

update-desktop-database

(optional, need root) Install dogecoin icon

wget https://raw.githubusercontent.com/dogecoin/dogecoin/master/share/pixmaps/dogecoin128.png # download icon
sudo install -Dm644 dogecoin128.png /usr/share/pixmaps/dogecoin128.png # install icon
rm dogecoin128.png # delete icon since installed

Result (GNOME desktop):


Not able to specify a lexer

If I try to specify a lexer when sending the request, I get:
Traceback (most recent call last):
  File "application.py", line 30, in <module>
  File "requests/models.py", line 939, in raise_for_status
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://dpaste.de/api/
[29409] Failed to execute script application

Also, it seems that the list of available lexers from the official API page is gone.

@adder46 I don't see what you're doing or how you call the API with your traceback above. It's a traceback of your application, I can only see dpaste returns a HTTP 400 Bad Request.
The documention you linked is deprecated, you find the latest docs on https://docs.elephant.house/dpaste/api.html.

@bartTC This is the source code in question, and I'm trying to do something like:
cat spam.sh | dpaste --lexer bash

Hmm, alright. Just one more thing -- I'm not quite sure why does it work when I pass no lexer value (pass it None)? Does passing None assume that lexer value (arguments["LANGUAGE"]) is python? Thanks.

What means it 'doesn't work'? Whats the response body content? If you pass an invalid lexer name it should tell you that, and give you a list of options.

It seems that we don't understand each other.
I'm just saying that it is possible to pass only the expires (note that arguments["LANGUAGE"] is None here):
$ cat ~/.bashrc | dpaste --expires onetime
<Response [200]>
https://dpaste.de/sPaM

...whereas it's not possible to only pass lexer.
$ cat ~/.bashrc | dpaste --lexer bash
<Response [400]>
Invalid expire choice "bash" given. Valid values are: 3600, 86400, onetime, 604800

It seems that if you want to specify the lexer, you must pass both expires and lexer:
$ cat ~/.bashrc | dpaste --expires onetime --lexer bash
<Response [200]>
https://dpaste.de/eggS

If only expires had a default value, like lexer has.


Is NSwagStudio supposed to be updated with every release?

13.19 doesn't have a new version, so I thought I would check... I can see why you would not want to attach an asset if nothing material changed, as it probably saves on GitHub storage space
https://github.com/RicoSuter/NSwag/releases

Updated files attached. Sorry


Sonos S2 player (Symfonisk) no longer visible since adding Sonos S1 ZonePlayer

What version of Music Assistant has the issue?
2.3.2
What version of the Home Assistant Integration have you got installed?
2024.11
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
My IKEA SONOS Symfonisk bookshelf speaker was allways visible in MA.
After updating MA a while ago and adding my SONOS ZonePlayer90, my Bookshelf speaker dissapeared in MA.
But is still visible and usable in HA itself. I tried avertything, even removed the MA addon en re-installed it completely.
The log files states that it sees both devices but somehow the bookshelf is invisible.
HA MA Sonos issue filtered log.txt

How to reproduce
Use a Sonos Booshelf, and after updating when the S1 and S2 providers got seperated, the Bookshelf was no longer visible in MA.
Music Providers
Music Assistant
Radiobrowser
Player Providers
Chromecast
Playergroup
Sonos S1
Sonos
Full log output
d5369777_music_assistant_2024-11-12T12-12-50.263Z.log
Additional information
No response
What version of Home Assistant Core are your running
2024.11.1
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Raspberry Pi

I tested some more and If I set the HouseHoldId in the S1 provider I then only see the Symfonisk and not the ZP90.
This is bizar because the Symfonisk should be an S2 player.

I'm trying to follow here...
So you have one ZonePlayer90 you like to use with the Sonos S1 provider and you have one Symfonisk speaker that you like to use with the S2 provider ?
Both ofc on a different sonos household id and music can not be synced between the 2.
The Sonos S2 provider uses mdns to discover players/speakers on the network.
Do you, by any chance have a non flat network with vlans or anything else that could potentially block multicast traffic ?

Correct.
The issue I am having is that I can't seem to update the householdid's manually.
And I have no luck anymore to link eighter of them to the Sonos S1 or S2 app on my iphone sinds the latest updates.
Both the devices are on the same network and same VLAN, but one is the Symfonosk is on WiFi and the ZP90 is using the LAN cable.
Is there a reason why the Symfonisk is recognised by the S1 provider and nog the newer provider?

I'm afraid the Symfonisk first needs to be updated to S2 before we can detect it in the S2 provider.
What does the Sonos app show/tell you ? Does the S2 app show the symfonisk now ?

Can you elaborate on the update of the Symfonisk ? As you can see in my screenshot SWgen is 2 (marked in yellow).

@Cagiva-Raptor See if there is a firmware update available for the device

Try going to the speaker’s web controls http://:1400/tools and do a manual mDNS announce


Show and Hash for MemoBytes

It was brought to our attention by @sevanspowell that it is possible for two transactions to not be equal, while the string produced by the show function are identical.

i.e. show txA == show txB but txA /= txB

This is actually true due to the serialization, which does not participate in the Show instance. In fact this is totally legit since there is no law in Haskell that regulates that show txA == show txB <=> txA == txB property holds for all types. Nevertheless, I do agree that this is inconvenient, at least for the purpose of testing/debugging.
It is done this way for a very important reason: we must preserve the binary serialization in the original form to ensure cryptographic integrity. The bit of context that is important that there is no normal/canonical form for CBOR serialization. Whenever we get a valid transaction over the wire, it could have been constructed using some other CBOR implementation and thus can have slightly different binary representation from what it would be if we where to construct it and serialize it using ledger code. In other words: it is absolutely possible and valid to have to transactions be "sematically" the same but not equal. Whenever we compute the hashes of such transactions they will be different, thus different transaction, despite having exactly the same values in a Haskell Tx type.
The best solution I think is to also display the hash of the thing that is being memoized in hex format. This will help us with:

Avoiding hash recomputation whenever we need it more than once
Reduce number of bytes copied (each hash computation requires an extra buffer copy to pinned memory)
Account for difference in binary representation when displaying the thing that is being memoized
It would have also helped us fixing the Ord instance, however we decided to simply remove it in #2881

So the proposed solution is to:
Disclaimer - this was in browser programming, so it is bound to be incomplete or even incorrect:

Move MemoBytes into cardano-ledger-core
Add hash into the type next to the bytes (must be lazy):

data MemoBytes t era = Memo
  { memoType :: !t era,
    memoBytes :: ShortByteString,
    memoHash :: SafeHash (Crypto era) (MemoHashIndex t)
  }

type family MemoHashIndex (t :: Type -> Type) :: Type

-- | Smart constructor
mkMemoBytes :: forall era t. (SafeToHash bs, Era era) => t era -> BSL.ByteString -> MemoBytes t era
mkMemoBytes t bsl =
  MemoBytes t (toShort bs) (makeHashWithExplicitProxys (Proxy @(Crypto era)) (Proxy @(MemoHashIndex t)) bs)
  where
    bs = toStrict bsl

Move hashAnnotated function into HashAnnotated class, so it can be customized

Then instances would look something like this:
data TxBodyRaw era = TxBodyRaw
  { _inputs :: !(Set (TxIn (Crypto era))),
  ...
  }
newtype TxBody era = TxBodyConstr (MemoBytes TxBodyRaw era)
  deriving newtype (SafeToHash)

type instance MemoHashIndex TxBodyRaw = EraIndependentTxBody

instance (c ~ Crypto era) => HashAnnotated (TxBody era) EraIndependentTxBody c where
  hashAnnotated (TxBodyConstr mb) = memoHash mb

Fantastic breakdown, thank you @lehins ! Also, many thanks to @sevanspowell for going out of his way to help us understand the problem.
I heartily endorse the solution proposed here.


UI improvements for holopads

About the PR

This PR makes some improvements to the holopad UI (see #33954)
Why / Balance

Changes made:

A search filter has been added to the holopad contacts list
Incoming calls now also specify the name of the device that the call is coming from

Technical details

N/A
Media

Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

TelephoneComponent.LastCallerId is now a tuple with three strings; the third string is the name of the device the last called the telephone
Changelog

:cl:

tweak: The holoapd UI has been updated to include a text-based filter for the contacts list, and also to specify the name of the holopad that incoming calls originate from

The second half of this change may be bad for future listening post operatives who want to pretend to be someone on-station.

The second half of this change may be bad for future listening post operatives who want to pretend to be someone on-station.

We can probably work something out for that. But it doesnt make much sense designing around something that doesn't exist yet, or even have a design doc

Code looks good and works as intended. Good stuff 👍

Thanks for the merge :) Just as a reminder, I've listed some potentially breaking changes, though noone has likely altered the code yet

I put it in the codebase changes channel just to be sure

The second half of this change may be bad for future listening post operatives who want to pretend to be someone on-station.

Having thought about this some more, you have a good point. I've opened a PR (#34137) to remove the device name from the call source. Now people will be able to disguise the source of the call simply by relabelling the holopad they are using, even if using a non-standard holopad. This will be even easier once we have a method for renaming holopads built into its UI


RFC: fixing package version QA issue for linux-firmware updates

When I reworked linux-firmware to use the OE-Core base augmented by overrides taken from the raspbian distro (#245), I changed the version format so that it identified the git version from all three sources:
SRCREV_FORMAT_rpi = "default+raspbian-nf+raspbian-bluez"

This reflects that what we build uses different firmware from raspbian-nf for:
brcmfmac43430-sdio brcmfmac43455-sdio

and adds firmware from raspbian-bluez for:
BCM43430A1.hcd BCM4345C0.hcd

This was useful as it allowed diagnosis of #260 without lots of back and forth.  The longer version number also makes more clear that the rpi packages are not entirely the same as ones built for other architectures (which may be good, or bad, depending).
Now we need to advance the raspbian-bluez commit, because there's an updated firmware.  The problem is that doing this causes a QA error:
ERROR:
linux-firmware-1_0.0+gitAUTOINC+d114732723+86e88fbf03+ade2bae1aa-r0 do_packagedata_setscene:
QA Issue: Package version for package linux-firmware went backwards which would break package feeds
from (1:0.0+git0+d114732723+86e88fbf03+e28cd7ee86-r0.0
   to 1:0.0+git0+d114732723+86e88fbf03+ade2bae1aa-r0.0) [version-going-backwards]

There are several approaches I can conceive:

Live with the version-going-backwards.  Non-starter for production use.

Come up with some magic so the AUTOINC part of SRCREVPV doesn't pay attention to the change in the non-default SRCREV contributors (which is the behavior I unconsciously assumed).

Remove the SRCREV_FORMAT so we match OE-Core and just silently replace the -sdio firmware package contents along with adding the BCM434X ones if the packages are built for _rpi.  Might cause some confusion in multi-machine build areas?  Or is that already a problem?

Make a second stab at providing a different package that supersedes linux-firmware only for the pieces that are out of date.

Convince people (vendors and maintainers) to keep linux-firmware up to date so we don't have to maintain a fork.

I don't like any of those (well, I love the last one, but it's probably impractical).
Something's gotta be done.
Opinions?

@otavio I notice you've updated meta-raspberrypi linux-firmware.  The problem discussed in this issue wasn't encountered because raspbian-nf went to lexically greater SHA1.  Nonetheless, if you have insight as to a preferred fix I'd appreciate it.
At this time I'm tending towards option four (separate package for raspberry-pi override firmware).  Attempts to get upstream to fix this elicited no response.

@otavio That's what I figured (deep sigh).  OK, I'll work towards that.  It'll be two recipes, though, since there are two external sources: probably bluez-firmware and firmware-nonfree-rpi-distro to make provenance more clear.  @agherzan @hhromic FYI, please comment if concerned and bring in anybody else who should provide design input.

To provide a good upgrade path in future, it would be good to also create a packagegroup-rpi-base which rdepends on the firmware and other "base" packages, thus providing an upgrade path.

hi @pabigot , I'm not an expert in the matter, but my humble opinion is aligned with @otavio 's , a separate recipe for each firmware makes more sense and seems easier to maintain

The PR looks like a good way forward to me too.

To provide a good upgrade path in future, it would be good to also create a packagegroup-rpi-base which rdepends on the firmware and other "base" packages, thus providing an upgrade path.

this will have to be machine specific, since not all rpi variants have same chipsets for which these firmwares are targetted. Secondly, some of them not even have that hardware or peripheral.


Compatibility: 5e-Sheet Resources Plus

This module is great, it add up to 20 new resources in sheet, but it don't work properly with this Tidy5eSheet.
On the module, you can configure individualy how much resources you want to show, but with this new Tidy5eSheet, it always show all the 20 resources.

Thanks for reporting!
There is an ongoing effort for this module at #30
At this time, we are waiting for a bugfix on the module itself. The author has put the compatibility code in place, but a script error is triggering before the compatibility code fixes it up for the new Tidy sheets.

Closing as duplicate of #30

Still figuring out how to closing issues correctly :/

Yeah, I see the new feature in dnd5e 3.0. I think you can just drop this module.

Closing as no longer planned, due to dnd5e 3.0.0's new direction regarding resources.


Implements #11353 : [stable/airflow] install-requirements.sh script s…

…hould be always available
What this PR does / why we need it:
Scripts volume is mounted even if persistence is enabled so install-requirements.sh script is always available,
Which issue this PR fixes

fixes #11353

/assign @gsemet

/lgtm
/assign maver1ck

Hi. Can you bump the version to 0.17.1?

Hi. Can you bump the version to 0.17.1?

Ok, done.

@gsemet it seems that it needs the lgtm label to continue with the checks.

/lgtm
there is another PR #11358 ongoing, which one will be merged first :)

:) can you rebase and dump to 0.17.2 ?

:) can you rebase and dump to 0.17.2 ?

Done, needs lgtm label again :)

/ok-to-test

/lgtm


Should be an error instead of a console log

Hi, I think https://github.com/Tomato6966/lavalink-client/blob/main/src/structures/Queue.ts#L132 should rather be an error instead of a console log.

implemented in latest release


[Discussion] Promoting Ladybird in my Syndication Feed Reader (Userscript)

Greetings!
I have heard of Ladybird, several months ago, and I have decided to add references to it in my project (a JS-based syndication feed reader). My projects occupies a whole view-port, so I have realized I will use it to promote things I want
To see the text, you need to

install the userscript,
open an Atom or RSS feed,
scroll to the bottom,
click on "Help & Information",
click on "What Are The Alternatives?"

And you will see this:

🐦 Ladybird

A New Cross Platform Browser Project.

The Ladybird browser came to life on July 4th; it was originally a headless mode of LibWeb (previously LibHTML) and is also featuring a Qt GUI for the LibWeb browser engine. Ladybird was intended to be a debugging tool for people to remain in Linux while working on LibWeb if they wanted to. Two months later, Ladybird has became a browser in its own right.

At this point, we might as well tweak the scope from “browser engine for SerenityOS” to “cross-platform browser engine” and build something that many more people could potentially have use for some day. :^)

In addition to it, there is a dynamic link which changes upon loading the script, and one of the random links is this:
    { // ladybird
      'text' : 'Get Ladybird',
      'link' : 'https://ladybird.org/',
      'title' : 'A New Cross Platform Browser Project',
    },

Please inform me if you have any requests to change something or even add.
This is the footer of each syndication feed page:

The link "Get Ladybird" is random. If you want, I wiil make it constant, so it be sujected to receives more attention.

Hi! Sorry for the long wait for a response. It's cool of you to add a link to Ladybird, but I really wouldn't recommend the general public use it until we do a proper release in a couple of years. It's just not stable or complete enough for normal use.

Sure.
Please do inform me when ever you want.
I also intend to create a desktop version of that Greasemonkey script,
including the articles that are already attached to the script; and due
to the context of syndication, it would be good to have feed and xslt
support in Ladybird when we highlight Ladybird.

It has turned out, that the removal of the RSS button has been turning
against those who have done that shenanigan.
https://openrss.org/blog/browsers-should-bring-back-the-rss-button
I would recommend you to consider that these four companies are aware
of their mistake, and are aware of my software (at least a couple of
them know of it), which might make my software lesser relevant, and
consequebtly, we might lose this propaganda opportunity.


add okapi machine translated notice.

| okapi/arc_multilingual | Tasks that involve reading comprehension and information retrieval challenges. | Multiple (31 languages) Machine Translated. |

There is already a notice that okapi/arc_multilingual is machine translated, but this notice does not exist for the other okapi machine translated data. This is important as the results of these benchmarks should be interpreted with this issue in mind.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add Rosetta Simulator Instructions

Describe your idea
Hello :)
In our project, we unfortunately have to rely on a few dependencies that require the app to run on an iOS Rosetta simulator. I have used Detox in other projects before (it’s amazing), but I recently integrated it into this one with the mentioned dependencies.
When running the ‘detox build’ command multiple times in this project, you encounter different errors each time. However, they always relate to SwiftEmitModule or SwiftCompile. I couldn’t find any issues or documentation about these topics or about running Detox in a Rosetta environment. Therefore, I propose writing a documentation article addressing this problem. I resolved it as follows:

Changed my build command to the following: build: 'xcodebuild -workspace ios/MyApp.xcworkspace -scheme MyApp -configuration Debug -sdk iphonesimulator -arch x86_64 -derivedDataPath ios/build'
Run this command in the terminal: sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
arch -x86_64 /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator

Now the build command was able to run flawless.
Thank you for your amazing work and greeting from germany!
Daniel

Thanks @differenzPriv, contributions are always welcome! detox build is just a proxy for your build, however, if that's a common issue, it might be a good idea to add that under our build troubleshooting guide.
Check our contribution docs for the Docs Site here


Refactor redundant queries in IrodsAPI.get_objects()

While looking into #1872 and #1882, I've stumbled across another rabbit hole of yak shaving.
In IrodsAPI.get_objects(), we unnecessarily perform multiple queries if .md5 files and/or collections are to be included in the return data. With collections containing a lot of data objects or subcollections, this can unnecessarily slow up things. I have observed this causing problems in real life with a large project.
Alas, refactoring this also involves changing the signature of get_objs_recursively(). I'll have to look into uses of these API methods and figure out the optimal solution without making things too convoluted.

Done, although the separate query for collections remains (see above).


Update aspnetcore.md

Fix broken link for new project screenshot.

Website preview is ready!
Built with commit 2a6c13816dd810eca597079bfd7a9b7e2607cd39
https://deploy-preview-1110--reactnet.netlify.app/

Thanks!


ARM spec review for validateAddress for BillingRP

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-js

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java

Automation for azure-sdk-for-net
A PR has been created for you:
https://github.com/azure/azure-sdk-for-net/pull/6319
.NET SDK Commits:
https://github.com/adxsdknet/azure-sdk-for-net/pull/6319/commits/71943203cdff3015f888ec561a3476b4fa82760e

Can one of the admins verify this patch?


Use "initializationTimestamp"

@paveu-piotrowski when we merge this in, the deploy/publish is automatic, right?

@paveu-piotrowski when we merge this in, the deploy/publish is automatic, right?
Deploy (play store) is automatic on this branch and for publish you need to push to release branch.
You also need to bump versions in build.gradle files:
app module: bump versionCode and versionName (for playstore to get new version)
sdk module: bump 'libraryVersion' (for bintray to publish new version)

@roscioli I did this for you here, so please check how it looks like in the latest commit :)


#54 Rider plugin added

fixes #54

This looks awesome 😃 I'm currently using Rider and launching the console app today (well I've converted it to a dotnet global tool for fun), I'd love to give this a spin. Will I need to build it myself, or will there be a release in the near future?

@slang25 we will release Rider plugin on the next week with IP auto discovery feature together


import_from_git + Custom Actions

Loving Fastlane so far.
I'm looking to centralize my fastlane setup for multiple projects, and one thing I have is multiple custom actions that needs to be used by the fastlanes.
I see the import_from_git action, and understand that would allow me to share a fastfile, but what is the best way to also share those custom actions?
I apologize if there is a way to do it, and I have missed it. If there is, perhaps there is a documentation improvement that can come of that.
Looking forward to sharing my setup soon :)

Hi @kcharwood, basically you would have the same structure on git, as for a standard project:
fastlane/
          - Fastfile
          - actions/
                   - myaction1
                   - myaction2

You should import on the top above your lane declarations. When defining a new lane fastlane will make sure to not run into any name conflicts. If you want to overwrite an existing lane (from the imported one), use the override_lane keyword.
https://github.com/fastlane/fastlane/blob/master/docs/Advanced.md
Cheers

Also, check out the fastlane usage of fastlane: https://github.com/fastlane/fastlane/tree/master/fastlane :rocket:

Thanks @xfreebird. So import_from_git brings the fastfile as well as the custom actions along for me to use.
That is what I was looking for! It may be helpful to update the docs to clarify that. Thanks!

Should fastlane actions print out the custom actions from the imported fastlane? I'm not seeing that in my current test.

Thanks @kcharwood :+1:


键盘锁无法锁定M/a键

键盘锁无法锁定M/a键。

After my testing, I was not able to reproduce this bug. It is possible that there is an error in your configuration file. You can try flashing a configuration file of the same model from someone else. 73


NPM install: Tarball seems to be corrupted

While trying to install this module, I am meeting this errors:

npm WARN tarball tarball data for assemblyscript<EMAIL_ADDRESS>(sha512-+bxj80L18f0GP6bb5GKUTMpkQRl2bRqHcl1iPi86arWYaLxO2oYAvWYj5SWLXd7IXmtlRij6hZb7z/hbzEaZYQ==) seems to be corrupted. Trying again.
npm WARN tarball tarball data for assemblyscript<EMAIL_ADDRESS>(sha512-+bxj80L18f0GP6bb5GKUTMpkQRl2bRqHcl1iPi86arWYaLxO2oYAvWYj5SWLXd7IXmtlRij6hZb7z/hbzEaZYQ==) seems to be corrupted. Trying again.
npm ERR! code EINTEGRITY
npm ERR! sha512-+bxj80L18f0GP6bb5GKUTMpkQRl2bRqHcl1iPi86arWYaLxO2oYAvWYj5SWLXd7IXmtlRij6hZb7z/hbzEaZYQ== integrity checksum failed when using sha512: wanted sha512-+bxj80L18f0GP6bb5GKUTMpkQRl2bRqHcl1iPi86arWYaLxO2oYAvWYj5SWLXd7IXmtlRij6hZb7z/hbzEaZYQ== but got sha512-4HrP/qQ7bQ2nBLYYben0HM94oA2fHOjk1hQ/6K4nPzThB4W4XCCTJd/W+XSx7xm1zMuPijyd3qpE2Uw1k0H12A==. (880047 bytes)

which you can imagine is a bit blocking
Command executed
npm install @graphprotocol/graph-cli @graphprotocol/graph-ts
Expected Result
The modules and their dependencies should be installed without any problem
Current Result
An error is thrown and stop the modules installation
More information
In your dependencies, you are referencing     "assemblyscript": "https://github.com/AssemblyScript/assemblyscript#36040d5b5312f19a025782b5e36663823494c2f3",
which seems to be the cause of the problem.
I do not get any error when installing modules that aren't this one, which seems to indicate the problem might not come from my side

Hey, sorry for the late reply. We updated graph-cli to have a better reference to assemblyscript. Can you please try again? Maybe also with explicitly set the version like: npm install<EMAIL_ADDRESS>@graphprotocol/graph-ts
I'm closing this now. Please feel free to reopen if the issue is not solved for you.

We just released<EMAIL_ADDRESS>depending on an old but hopefully stable AssemblyScript version.
If you still have problems, make sure to have the latest graph-cli globally installed: yarn global add<EMAIL_ADDRESS>If you created a subgraph-repo recently, make sure to update the dependencies:
  "devDependencies": {
    "@graphprotocol/graph-cli": "^0.20.1",
    "@graphprotocol/graph-ts": "^0.20.1"
  },

If you were affected by this bug somehow, please verify that we fixed it with these changes. If someone still has issues, please reopen this ticket.


explain "output tag"

What is an "output tag"? This is the only occurrence of the term on the site.

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

ID: 743bb803-b9a9-0b2f-341f-69f1823e5dba
Version Independent ID: 853beb3f-f378-3da1-1eed-f5189363173c
Content: tasks.vs.json schema reference (C++)
Content Source: docs/build/tasks-vs-json-schema-reference-cpp.md
Product: visual-cpp
Technology: cpp-tools
GitHub Login: @corob-msft
Microsoft Alias: corob

@RaulPerez1 Is this something you're familiar with?

@WillBuik I'm told this is an anycode thing and that you might know more.

@rakslice
I'm sorry, I don't know and neither does anyone who has responded to my emails. You might have better luck asking on the Visual Studio C++ Developer Community site, which is used for issues by the development team. They can probably route the question appropriately.