More examples in Q# API documentation comments

Is your feature request related to a problem? Please describe.
Adding concrete examples to API documentation comments can help clarify how Q# functions and operations are to be used. For example, the documentation for Microsoft.Quantum.Arrays.ElementsAt lists how the function acts on a variety of arrays:

Where these examples are missing, or where additional examples may help explain complicated functionality, it would be good to add these examples to the Q# source for each function and operation.
List of candidate namespaces for examples:

[ ] Microsoft.Quantum.Arrays
[ ] Microsoft.Quantum.Convert
[ ] Microsoft.Quantum.Measurement
[ ] Microsoft.Quantum.Diagnostics
[ ] Microsoft.Quantum.Logical
[ ] Microsoft.Quantum.Math

For more details, see the API documentation section of the contribution guide.

@msoeken Ciao Mathias. I recently completed a workbook for one of Mariia's wonderful quantum katas, and she suggested I could contribute to this issue, so I'm writing to reach out about that. She also suggested that the Arrays namespace would be a good place to start. Please could you advise on the workflow here. Do I fork QuantumLibraries and add an example to a operation/function  that needs one according to the  protocol I can see there and then make a PR please?. Also, which editor do you advise  for this. Thanks.

@TonyHoldroyd Thanks for reaching out and your interest in working on this issue. The M.Q.Arrays namespace is a good place to start. I suggest to fork the repository, then create a new branch from main, e.g.,
git checkout -b apidocs

When you push this branch to your fork Github will assist you in creating a PR. Feel free to start the PR before completion and mark it as draft.
I am usually using Visual Studio Code to work on the Q# libraries.


Wireguard will always use the default gateway

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
When using wireguard (userspace variant) in a multi-WAN environment, one will encounter the problem that wg will always send replies using the default gateway. So incoming connections through the default gateway interface will work fine, incoming connections through any other interface will fail, as the client will see a different address than it sent its handshake to.
On the surface this looks similar to #5307, but is different. As no NAT/port forwards are involved, no amount of manual rules or fiddling with reply-to will make it work (as far as I tried).
There is a forum thread discussing this problem, but without a real solution: https://forum.opnsense.org/index.php?topic=16141.0
To Reproduce
Steps to reproduce the behavior:

Have mutliple WAN interfaces
Set up Wireguard "server"
Set Allow rules for WG port on all WANs
From the outside, try connecting to WG behind each of the WANs
WAN that is default gateway: Connection succeeds
WAN that is not default gateway: Connection fails

Expected behavior
Wireguard should egress using the same interface it received on.
Describe alternatives you considered
Tough call. The forum thread suggests stuffing WG behind NAT and routing using rules. That didn't work out either for me.
The kernel version of WG might behave differently. I did not test it, as its performance is sub-par here.
Screenshots
--
Relevant log files
--
Additional context
--
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 22.7.7 (amd64, OpenSSL).
APU 2D4
Thanks!

The Kernel version should work, user space variant is not actively developed by them

Indeed, the kernel version uses the correct gateway going out. Yay! Thanks @mimugmail
What's the ultimate goal regarding Wireguard? Keep both version around forever? Slowly deprecate the userspace version?

The kmod is base in 14.0 now. I suppose we can add a kmod variant, or keep the go and move it to a second plugin and make the main one the kmod one for 23.1


Post release automated changes for postgresql releases

Post release automated changes for azure-arm-postgresql-flexible

API change check
API changes are not detected in this pull request.


Made pie Chart Dynamic

When one of the slices is clicked on, it displays it's percentage at the centre

@abiona01 reviewed


Replacing select with base-select component in MyProfile component

The base-select component was created in release 1.1.0.
So I think that it's better to use the component instead of <div><select>...
What do you think ?
There are the changes in MyProfile component :

Replacing select with base-select component
Importing base-select component
Adding countryOptions function in computed

Thanks, have You tested it? :)

@pkarw Yes of course.
There is the list of the countries displayed :)


Forbid imports from com.google.api.client.repackaged

@sjcorbett Nice! I do this accidentally a lot... ;(


File watcher plans

Is there a plan on adding support for watching a directory for changes? Ideally via native file watch API.

That...is an interesting idea. I don't have plans for it atm, but let me look into how this works on various platforms and see if this makes sense!

Thanks for looking into this, I hope other people will find it useful as well.
The main driving force behind it is to:

Not write a filewatcher which would require additional interop with converting from physical <-> virtual filenames and
Being able to watch virtual directories would give additional flexibility.

Consider for instance a hot-reload system which watches the asset directory and on file change triggers a recompilation of that asset. I'm sure there's other example use cases.


Dropbear not working / How to get SFTP

"Error forking: Operation not permitted"
When I run it as root with "dropbear -FRE"
iPhone 6s TSMC iOS 10.2
Not working...
How can I get SFTP?

#162
Not related to Yalu

It is..

@nerdtron123 have you taken a look at #74?

@timonline please tell me where that shows how to run an SFTP server.
Appearently this error is coming from iOS sandbox.

scp works fine if you install scp. scp is not part of dropbear, this is not a bug.
Get scp from, for example, http://newosxbook.com/tools/iOSBinaries.html and install it to /usr/bin.

I was hinting to use SCP instead

@mologie, sigh as i said but @nerdtron123 wouldn't listen that it isn't related to issue in Yalu102

I really don't want to disturb anyone, but was dropbear removed in the recent beta 3? I can't ssh in (just ssh not sftp or scp). Using Nmap, I can see that my iPhone's port 22 is closed.

@warhouse512 in mterminal run "/usr/local/bin/dropbear -FRE" (no quotes) and then connect + tell me output

@warhouse512 not that I know of. Try rebooting and re-running Yalu102, worked for me when ssh was blocked

@timonline I had two parts to my question. So please be quiet.

@nerdtron123 classy.

Also I implied I wanted sftp not scp

@timonline bye you're irrelevant you can't help me

@nerdtron123 no one probably will with that attitude. Psssst this is not a support forum, this space is for issues.
sigh

@timonline @nerdtron123 A reboot fixed it.. Sorry I did not want to cause any issues. Thank you both for the help!

@warhouse512 glad your problem was resolved.
I believe this should be closed but let's see what @kpwn thinks

I've also noticed that dropbear stops running after a while. Must be crashing.

@keldegar nah, it's by design. (dropbear comes with a default session timeout of 3 consecutive)
See this #217

here's an sftp-server build for you guys fwiw, https://github.com/dweinstein/openssh-ios/releases. works on my device w/ yalu102 when put into /usr/libexec/sftp-server
HTH


Add Continuous Deployment to .travis.yml

This PR adds continuous deployment to Pypi on tagged commits.
Notable mentionings

It will be important to tag commits before pushing so that Travis will build the wheels properly. I believe there is a means to tag it through github itself, which I am fairly certain will not trigger the build of the wheels.
The wheels that are built do not have OS, architecture, and OS version tied to them. Essentially two wheels are built - one for python 2 and one for python 3.

@tgsmith61591 Thoughts?

Coverage remained the same at 96.646% when pulling 4e895b976ec8dde3b3de0c13085b35261cada504 on travis-ci-continuous-deployment into 124b604c6a30c091f075b4b1c7693aefc0c1a29a on develop.

Coverage remained the same at 96.646% when pulling 4e895b976ec8dde3b3de0c13085b35261cada504 on travis-ci-continuous-deployment into 124b604c6a30c091f075b4b1c7693aefc0c1a29a on develop.

Coverage remained the same at 96.646% when pulling 4e895b976ec8dde3b3de0c13085b35261cada504 on travis-ci-continuous-deployment into 124b604c6a30c091f075b4b1c7693aefc0c1a29a on develop.


aarch64-linux support

Enable aarch64-linux support, by providing toolchain built on my Asahi Linux - https://github.com/cspr-rad/risc0pkgs/issues/10#issuecomment-1931977166.

Closed in favour of https://github.com/cspr-rad/risc0pkgs/pull/12

Can you explain where this toolchain comes from and how it differs from the officialy distributed toolchain binaries?

As described in PR, it was manually built on my Asahi Linux - aarch64-linux - machine. It was supposed to be temporary workaround (as there is no official binary distribution for this platform), but I see you already automated it with Nix in #12 :tada: Great job, thanks!


⚠ Bofrost.lu has degraded performance

In 0b17780, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1071 ms

Resolved: Bofrost.lu performance has improved in d040c06 after 6 minutes.


Render plugin description and change notes from Markdown files

To be merged after #16

description.md is the source for the plugin's description
CHANGELOG.md is the source for the change notes

@jansorg #16 has been merged.


Write-RsFolderContent not parsing correctly

When trying to deploy folders and content (recursively), the script is not building out the $parentFolder variable correctly. Have tested with nested folders locally and tried deploying both to root (e.g. / ) and to a direct folder (e.g. /folder).

Thanks for raising the issue, I'll take a look at it

Could you specify the exact command you use and the folder structure of the folder you were trying to upload?
I haven't been able to reproduce the problem yet.
Thanks!

Repro: create folder structure with nested items
C:\SSRS
\reports
\deptA
Sample.rdl
\datasets
Sample.rds
Write-RSFolderContent -serveruri 'http://local host/reportshttp://local host/reports' -path / -source c:\ssrs -recurse
Expected: deploy all folders and objects, properly nested
Actual: error creating folder on server, variable for parent folder is wrong
Get Outlook for iOShttps://aka.ms/o0ukef

From: rgernha<EMAIL_ADDRESS>Sent: Friday, November 4, 2016 5:29:42 PM
To: Microsoft/ReportingServicesTools
Cc: Jorge Segarra; Author
Subject: Re: [Microsoft/ReportingServicesTools] Write-RsFolderContent not parsing correctly (#6)
Could you specify the exact command you use and the folder structure of the folder you were trying to upload?
I haven't been able to reproduce the problem yet.
Thanks!

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/ReportingServicesTools/issues/6#issuecomment-258563300, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMc1LAblgscGCi9CbHsmfL9J1wk675E6ks5q67HWgaJpZM4KpLrv.

This should be fixed with https://github.com/Microsoft/ReportingServicesTools/commit/c46899c78ec2169f1caa24b7eee6702a667e18d5


"new" faucett devet net tokens

hi
I got your message the problem has been resolved yesterday thank you for update but its happened again today :( iv attached error message : )

Should be resolved


AttributeError: 'PosixPath' object has no attribute 'write'

as you stated in the readme file:
in the standalone dir, i used this code:
python spectrographic.py --image ./source.png --min_freq 10000 --max_freq 20000 --duration 10 --save sound.wav --play
and i am able to hear the output audio successfully, but after the audio playback finishes, i receive this error in terminal:
Traceback (most recent call last):   File "spectrographic.py", line 457, in <module>     run()   File "spectrographic.py", line 453, in run     main(sys.argv[1:])   File "spectrographic.py", line 447, in main     sg.save(wav_file=args.save_file)   File "spectrographic.py", line 173, in save     wavio.write(wav_file, self.sound_array, self.SAMPLE_RATE)   File "/home/mohamed/.local/lib/python3.8/site-packages/wavio.py", line 390, in write     w.writeframes(wavdata)   File "/usr/lib/python3.8/wave.py", line 438, in writeframes     self.writeframesraw(data)   File "/usr/lib/python3.8/wave.py", line 427, in writeframesraw     self._ensure_header_written(len(data))   File "/usr/lib/python3.8/wave.py", line 468, in _ensure_header_written     self._write_header(datasize)   File "/usr/lib/python3.8/wave.py", line 472, in _write_header     self._file.write(b'RIFF') AttributeError: 'PosixPath' object has no attribute 'write' Exception ignored in: <function Wave_write.__del__ at 0x7fd831e82820> Traceback (most recent call last):   File "/usr/lib/python3.8/wave.py", line 327, in __del__     self.close()   File "/usr/lib/python3.8/wave.py", line 445, in close     self._ensure_header_written(0)   File "/usr/lib/python3.8/wave.py", line 468, in _ensure_header_written     self._write_header(datasize)   File "/usr/lib/python3.8/wave.py", line 472, in _write_header     self._file.write(b'RIFF') AttributeError: 'PosixPath' object has no attribute 'write'

Replace:
def parse_args(args):
...
    parser.add_argument(
        "-s",
        "--save",
        dest="save_file",
        help="Path to .wav file in which to save the SpectroGraphic.",
        action="store",
        default=Path("SoundGraphic.wav"),

to
        default="SoundGraphic.wav",


mopidy_youtube translate_uri error No module named yt-dlp

Thanks for maintaining this great project!  :beers:
I had just installed Mopidy-YouTube and yt-dlp.  The latter I installed by downloading the single binary and making it executable.
I could search and browse ThemTube, but not play anything.  So I checked the logs and found the error in the title.
I searched Internet and did find #247 which was similar, and followed advice from there.
I first tried changing yt-dlp (in youtube.youtube_dl_package in mopidy.conf) back to yt_dlp but neither seemed to work (even after restarting, etc.).
Finally I sudo python3 -m pip install --upgrade yt-dlp (as you advised) which did work! [0]
I am not sure what to do about this (or even if anything can/should be done), but I thought I would at least report it.  Maybe it helps someone.
[0] Thankfully it didn't install too much crap, and also apparently pip does no longer allow wrecking distribution Python packages (a pleasant surprise!).

Thanks for the feedback - yes, it relies on the python module being installed, so just installing an executable is probably not going to work.
Glad you got it working. What kind of system are you using it on?

This is on an ODROID-XU4, running Debian (Armbian).


[Bug] Title v0.78 plugin for grafana docker image

docker-based grafana always download and use v0.70 plugin, can you update v0.78 to Grafana office reo, thanks.

It is now published. Thanks for notifying this.
BTW, not all the versions are meant to be published to grafana.com.


Result of evaluateMinLovelaceOutput and  evaluateMinFee is not valid after transaction update.

Issue
Related :  https://github.com/input-output-hk/cardano-node/issues/2631
Since Babbage, era the encoded size of Coin data depends on the value it has.
so, if we use evaluateMinFee function with 0 Lovelace fee and then update the transaction with the calculated fee, the size of transaction will increase, and thus the fee is no longer sufficient.
Solution 1
Straight forward solution is to  change the minfee  function defined in  cardano-ledger-alonzo :
cardano-ledger/Tx.hs

Calculate fee for the transaction
Calculate new size of transaction as newSize = oldSize - sizeOf oldFee  + sizeOf minFee
return Fee based on new size.

Solution 2
Since we do not need to do the double computation when we are just validating a transaction,
We should have function pairs.

minfee   for validation. (same as current min fee)
minfeeForUpdate, calculates fee as suggested in solution 1.

hi @mesudip :wave:
yes, the minimum fee is a fixed point calculation. We have a helper function named setMinCoinSizedTxOut which will compute it for you. See https://github.com/input-output-hk/cardano-ledger/issues/2905.

@JaredCorduan

yes, the minimum fee is a fixed point calculation. We have a helper function named setMinCoinSizedTxOut which will compute it for you. See https://github.com/input-output-hk/cardano-ledger/issues/2905.

What about the fixedPoint calculation for the txFee, it has similar issue like the txoutMinLovelace.
The main issue is with these two functions in  Cardano.Ledger.Shelley.API.Wallet. These are used by cardano-api and eventually cardano-cli and these don't use the fixedPoint calculation.
Since these are user/developerAPI facing functions, my opinion is that these functions should use fixedpoint calculation.
evaluateMinFee :: EraTx era => PParams era -> Tx era -> Coin
evaluateMinFee = getMinFeeTx
{-# DEPRECATED evaluateMinFee "In favor of 'getMinFeeTx'" #-}

-- | Evaluate the minimum lovelace that a given transaction output must contain.
evaluateMinLovelaceOutput :: EraTxOut era => PParams era -> TxOut era -> Coin
evaluateMinLovelaceOutput = getMinCoinTxOut
{-# DEPRECATED evaluateMinLovelaceOutput "In favor of `getMinCoinTxOut`" #-}

Or at least there should be functions in ledger for returning txOutminLovelace and txFee with fixedPoint


ESM/CJS + typings fixes

Fixed in https://github.com/igorkamyshev/farfetched/pull/433 instead. No nx, no problems 🥇


Added support for some very important r.v.s

binomial
beta
geometric
pareto
student-t
gumbel

Thanks Mike!  -Scott
On Sun, Nov 20, 2022 at 10:14 PM Mike Gimelfarb @.***>
wrote:

binomial
beta
geometric
pareto
student-t
gumbel

You can view, comment on, or merge this pull request online at:
https://github.com/ataitler/pyRDDLGym/pull/107
Commit Summary

f5fb125
https://github.com/ataitler/pyRDDLGym/pull/107/commits/f5fb12590d597fbb0b3ecb0c01fec281faa6e523
Added support for some very important r.v.s

File Changes
(2 files https://github.com/ataitler/pyRDDLGym/pull/107/files)

M pyRDDLGym/Core/Parser/parser.py
https://github.com/ataitler/pyRDDLGym/pull/107/files#diff-38b35bd9260820ac919fe2495fd519ab28cfef4ab9e791d30d6c0f277dd57c1a
(16)
M pyRDDLGym/Core/Simulator/RDDLSimulator.py
https://github.com/ataitler/pyRDDLGym/pull/107/files#diff-5dfaf66eedcfc989e882d8372a230c8895f1ea99a3403a2d44140dc5225b32f0
(127)

Patch Links:

https://github.com/ataitler/pyRDDLGym/pull/107.patch
https://github.com/ataitler/pyRDDLGym/pull/107.diff

—
Reply to this email directly, view it on GitHub
https://github.com/ataitler/pyRDDLGym/pull/107, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRA3JEATT2TFTUF7POIQW3WJLSINANCNFSM6AAAAAASGF4DEU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


skin changer

Can skin changer be separated according to weapon type, please add this function, thank you

It's very simple, but it's troublesome,

https://github.com/danielkrupinski/Osiris/pull/1483

Now you can search skins for certain weapon.


x/exp/winfsnotify: TestNotifyEvents failures missing events on nested file

--- FAIL: TestNotifyEvents (0.00s)
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x100
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x100 == FS_CREATE
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2 == FS_MODIFY
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2 == FS_MODIFY
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x40
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x40 == FS_MOVED_FROM
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile.new": 0x80
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile.new": 0x80 == FS_MOVED_TO
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x800
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x800 == FS_MOVE_SELF
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile.new": 0x400
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory": 0x400 == FS_DELETE_SELF
    winfsnotify_test.go:26: did not receive expected event
FAIL
FAIL	golang.org/x/exp/winfsnotify	0.119s

greplogs --dashboard -md -l -e 'FAIL: TestNotifyEvents'
2021-11-08T14:49:56-14c7236-ab31dbc/windows-amd64-2016
2021-09-02T17:30:32-a062eea-7609b50/windows-386-2008
2021-05-05T20:34:22-b3083d5-15557af/windows-386-2008
As far as I can tell this package is more-or-less unchanged from CL 4188047, over 10 years ago(!).
My best guess is that perhaps the test is overspecified: perhaps the OS sometimes delivers the events out of order between the parent directory and the child within it.
CC @bufflig @alexbrainman @mattn @hectorchu

It's possible. The events arrive in batches, so you could imagine that it sometimes manages to collect several events in one batch and sometimes not, and that that could alter the order. Not the best interface if that is true though...
Flushing the events if things go wrong could help us see if that is the case. I put it on my todo list...

greplogs --dashboard -md -l -e 'FAIL: TestNotifyEvents' --since=2021-11-22
2022-01-04T21:10:15-025e73f-1c8f9d2/windows-amd64-longtest
2021-11-22T20:34:40-ba1b3c3-f13fcd9/windows-386-2012

greplogs --dashboard -md -l -e 'FAIL: TestNotifyEvents' --since=2022-01-18
2022-03-01T19:33:00-6cf2b20-258fc75/windows-amd64-2016
2022-02-11T20:01:24-160e291-bcee121/windows-amd64-2016

This is waiting on a review of the CLs to implement the (approved) proposal to delete the package and its test.

Fixed by deleting the affected package. 😁


Add Workflow for vydoc for V3 docs

Need documentation for the V3 Vault contracts similar to the documentation for V2 Vault Contracts. We need a workflow to easily and effectively create documentation for the new contracts and a flow to add it to versioning.
Consider the potential changes being made to simplify versioning as seen in this pull request: https://github.com/yearn/yearn-devdocs/pull/428. But the flow to create documentation from the smart contracts is mostly unrelated to how the site structure is set up.
Should be similar to this: https://github.com/yearn/yearn-devdocs?tab=readme-ov-file#generating-versioned-documentation, but with the new v3 repo.

This is addressed in #474


Support Chutzpah

Chutzpah is a javascript test runner that we use on one of my work projects.
I actually already have a working addin written for it (Cake.Chutzpah), but if there's any interest, I'd be happy to bring it into Cake.Common.

Cool! :smile:
I have nothing against it being included in Cake.Common, but since you're creating an addin, we can always pull it in later when you're ready with it.

@jrnail23 @patriksvensson I was going to sit down and create this exact addin today.  Glad I found this.

@jrnail23 what are your thoughts on this?  Do you want to bring it into Cake.Common, or are you happy with it being a 3rd Party Addin?  If you want to keep it as an Addin, you might want to think about sending a PR similar to this one (https://github.com/cake-build/website/pull/20) to allow the documentation for your addin to be included within the Cake Website. Note, this relies on the necessaries attributes being added to your classes.

@jrnail23 I think this would be more suitable as an addin.

@jrnail23 I am going to go ahead and close this, as it is not an issue for this repository, as the suggestion is to create a 3rd Party Addin for Cake.


Virtual Repositories

Something that comes up from time to time is the need to be able to run and debug two versions of an app at the same time, these apps being on different branches in a repo. Git does not really support the concept of having two branches checked out at the same time and so there are other somewhat contrived ways of doing this but they are cumbersome.
However it occurs to me that with GVFS it may be possible to create the abstract idea of a virtual repo.
A virtual repo would be a folder with some form of association to some other (actual repo) folder.
Using GVFS the virtual repo would appear to be a distinct repo and when a branch in the virtual repo gets checked out GVFS would create whatever folders/files are necessary (within the virtual repo's disk folder) by getting them from the "real" repo.
So in a tool (e.g. Smartgit) one might see two repos "main_apps" and "main_apps.2" (the latter being "virtual".
I can then checkout branch_x in one repo and branch_y in the other, but the state of the file system withing the virtual repos (physical) folder is determined by the git history data in the real repo.
Obviously there are issues and questions that arise but assuming these are not showstoppers this could be a very useful feature.

GIT itself already uses hardlinks to de-duplicate objects in .git if you do a local clone (I do not use Windows, but at least under Linux it does). So a clone of a directory on the same filesystem does not take up significantly more space. I agree, that there a several UI-challenges, that make such a workflow bothersome (mainly pushing back changes). I am not sure how well that currently works with Git-VFS under Windows...
As I said, I agree about the user interface-part, but don't think this something that would better be implemented in GIT itself to support the use case you (and many others have) more transparently? What would GIT-VFS solve, what cannot be solved without it? In your use case your files are all there on disk and there is not need to fetch them over the network, what functionality do you expect GIT-VFS to deliver that is not possible without it?

What you're describing sounds a lot like what git-worktree provides. Worktrees allow you to have multiple working directories, and have each one checkout a different branch, without redownloading all the objects.
GVFS doesn't currently support worktrees. However, we are currently working on an object cache that can be shared between multiple clones, and with that feature in place, you can achieve the same goal simply by cloning multiple times.
Would that achieve the end result that you're after?

Are you referring to the shared cache? Yes that work is completed, and available as of GVFS 1.0.18026.1 (though there is a more recent release also)


Any way to redefine inline !important

I'm trying to solve redefinition for inline !important style. But didn't find any option.  In old versions on Opera it was able. Is there some tricks?
I use http://output.jsbin.com/gerasewuso for tests

Inline styles set with !important takes precedence. The only way I've found to make stylebot css to work is with a userscript that removes the !important or the whole inline style from all or specific elements depending on site structure.
Stylebot could have added a feature to do this automatically but it haven't yet, unfortunately.


QuitarHero's Bug Report [601179451627143181]

QuitarHero at 7/17/2019 10:32:30 PM +00:00

So I took another look at Snow's example marker packs, and I see an attribute called trailScale="#" that presumebly changes the size of the images in the trail (or makes them thinner?) but upon messing with it, it does nothing, in both example packs and my own trails.

REF: https://discordapp.com/channels/531175899588984842/534490472224391169/601179451627143181

Mistakenly opened.


mysqlBackup: use rsyncable compression

Description of changes
This adds a gzipOptions option to mysqlBackup and defaults it to --no-name --rsyncable.

Besides rsync, --rsyncable benefits backup tools that use content based chunking to reduce the amount of data that has to be stored. In my experiments, it increased the resulting file by about 2%, which is an acceptable tradeoff IMO.
--no-name prevents gzip from adding a timestamp to the file. If the SQL hasn't changed, this will result in a bitwise identical gzipped file, which is also friendly to backup tools that can only deduplicate entire files.

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] sandbox = true

[X] Tested, as applicable:

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

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

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

[X] Fits CONTRIBUTING.md.

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

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/1016/132

Don't know why "Build NixOS manual" fails, it used to work before the rebase. There's no usable error message.

In CI, warnings are treated as errors. lib.mdDoc is now deprecated which will throw a warning, and it should be removed. description can just be the string itself. That should resolve the error.

Thanks, that was the reason.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4157

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4178

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4328


ci(mysql): Remove --lower_case_table_names=1

 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.


Definition of VideoDataArray

The definition of VideoDataArray in three packages:  VideoBusRx_pkg.vhd, VideoBusTx_pkg.vhd, and bmp_pack.vhd is problematic:
type VideoDataArray is array (natural range <>) of std_logic_vector;

You will not be able to connect objects of VideoDataArray together.    They are three distinct types.   I noticed that what you are doing is using std_logic_vector and indexing the objects of VideoDataArray type.   This works around the issue, but is not what you want.
I suggest creating a VideoBusPkg.vhd instead.

See https://github.com/Louadria/VideoBus/pull/5


refine code to avoid redundant calculation when join probe split happens

What problem does this PR solve?
Issue Number: ref #6233
Problem Summary:
Currently, for each Join::doJoinBlockHash, it will do some preparations before call JoinPartition::probeBlock, if split happens, these preparations are redundant if the input block is unchanged.
What is changed and how it works?
Refine code to avoid redundant calculation when join probe split happens
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/merge

/run-integration-test


Onlyoffice Workspace and Mail server doesn't connect each other

Hello.
I've  successfully set up RPM-based OOffice (latest version on 16.10.2020) on centos 8.
Also I've installed docker on the same host.
Mail Server looks healthy (DB of it is in the Community server Mysql instance e.g. -e MYSQL_SERVER=<IP_ADDRESS> (this IP is the address of Worskspase instance) , but in Mail server configuration pane I cannot connect to it.
2020-10-23 00:10:53,639 ERROR [1669] ASC.Api - Ошибка: Не удалось получить имя хоста System.Exception: Ошибка: Не удалось получить имя хоста
  at ASC.Api.Mail.MailApi.GetHostname (System.String connectionString, System.String ip) [0x00019] in <cacfc1a9d19f444e988723884aa4be41>:0
  at ASC.Api.Mail.MailApi.ConnectMailServer (System.String ip, System.String sqlip, System.String database, System.String user, System.String password) [0x000d1] in <cacfc1a9d19f444e988723884aa4be41>:0

Connection details: mailserver host: <IP_ADDRESS> , DB host: <IP_ADDRESS>
SELinux disabled
It looks like mailapi tries to resolve IP address as a hostname (wtf?).
Please help me.

Hello @jsisaev1 You installed rpm-packages of Onlyoffice with our script? You configure a database for onlyoffice mail server? And you setup a dns for mailserver?

Hi. Yes, I've installed rpm packages. I've used Mysql instance used for workspace to mail server. Also DNS setup is correct (I mean MX record and A record).

You need to configure database for mail server, create a mail_admin user, more details here. And if you install all in one server, why you don't use docker for all components?


[Bug]: v1.6.0 breaks popular 3rd party tools like fast-glob

What happened?
After upgrading rules_js to 1.6.0, some of my Node.js scripts immediately started to fail with the following error and no stack trace:
TypeError: Cannot assign to read only property 'stackTraceLimit' of function 'function Error() { [native code] }'

This took a number of hours to track down (especially due to no stack trace), and I found it's coming from the use of fast-glob (https://www.npmjs.com/package/fast-glob), which is a very popular library (38 million+ weekly downloads)
Version
Development (host) and target OS/architectures: MacOS Monterey
Output of bazel --version: 5.3.0
Version of the Aspect rules, or other relevant rules from your
WORKSPACE or MODULE.bazel file: rules_js v1.6.0 (bug was specifically introduced in this version; v1.5.3 is okay)
Language(s) and/or frameworks involved: Node.js v14.18.1
How to reproduce
BUILD:
js_binary(
    name = "test_fast_glob",
    entry_point = "test-fast-glob.js",
    data = [
        "//:node_modules/fast-glob"
    ]
)

test-fast-glob.js:
const fastGlob = require('fast-glob');

const files = fastGlob.sync('some-directory/**');
console.log(files);

CLI:
bazel run //:test_fast_glob

Any other information?
This bug looks to have been specifically introduced by https://github.com/aspect-build/rules_js/pull/546
Couple of things with this:

Don't make the global Error.stackTraceLimit property unwritable. Can't have 3rd party libraries breaking entire scripts if they want to assign it. We also assign this property on our side when the default Node.js stack trace isn't long enough to track down some of our own errors.
Setting the global Error.stackTraceLimit to 0 essentially destroys our ability to debug our Node.js programs. There needs to be a way to opt-out of this functionality (tag on the rule, environment variable, etc.).

Also, any error message that gets raised should tell us how to opt-out of the "set-stack-trace-to-zero" functionality so that developers aren't simply left with a message and no stack trace without knowing that the stack trace has been removed by rules_js.

I also question the idea of modifying the global Error object at all from within rules_js, but if it increases performance like https://github.com/aspect-build/rules_js/pull/546 says, then at least having the above two points should work around the issues involved with it.
Fund our work

[ ] Sponsor our open source work by donating a bug bounty

For reference, the overwrite of the global Error object is here: https://github.com/jbedard/rules_js/blob/e3e85f92ac9a798f074b83c5898d7dfd82b3cb28/js/private/node-patches/src/fs.ts#L81
Just noticing from the code as well: can this overwrite of the Error object happen multiple times? (each time an Error is thrown?) Possibly need a flag to ensure it's only defined once? Or define it on the global error object up front (rather than waiting for an Error to be thrown) so that the functionality is always consistent?
I'm guessing that some of these libraries try/catch fs.*Sync calls, so as soon as one of those errors is thrown, the Error object is overwritten and thus would affect the rest of the process.

The fs patches only modify Error for the duration of the fs.*Sync calls so it shouldn't effect your stack traces in your own code, although maybe we shouldn't hide the primary internal fs.*Sync call.
No one (including us) should be assuming Error.stackTraceLimit is writable though. Which library is doing that?

@gregjacobs for now we've reverted this since https://github.com/aspect-build/rules_js/commit/78a2405944dfe3eb03c650b4484f1c4d0a3995b7 seems to provide enough of a perf benefits regarding https://github.com/aspect-build/rules_jest/issues/50 (which is what we've been using for this specific performance improvement).
If we try anything like this in the future we'll definitely look back at this and try not to repeat the issues you've raised here.
Thanks for all the time you put into tracking down the root cause of the issue!

Should be fixed in https://github.com/aspect-build/rules_js/releases/tag/v1.6.5


set git-error-xxx file language to log

if we mark git-error-xxx file log language, we can get syntax highlight and path jump.

in log file:

@lszomoru

@lszomoru What's your opinion about it?

@tjx666, apologies for not getting back to you on this until now. We have had further discussions on this and we came to the conclusion that the git output is not necessarily a log file, and while marking it as such, will provide some highlighting but it also opens the doors for bugs as to why some tokens are not highlighted while other are. In light of that, we think that this is a perfect candidate for an extension, which you have already implemented. I will go ahead and close this issue but please feel free to reach out to me in case you have any questions or concerns. Thanks!


Turning on authentication silently fails if there is no admin account created

If you enable auth in the config without creating a new admin user then restart the service there is no mention of this in the logs.
I know this is kind of expected behaviour, having it logged on startup would be good though something like:
[WARN] Unable to enable Authentication, no Admin users exist.

Related to #2193 and #2278

For 0.9.2, when authentication is turned on and no users exist, only the CREATE USER [user] WITH PASSWORD [user] WITH ALL PRIVILEGES command can be executed (see PR https://github.com/influxdb/influxdb/pull/3244). If one or more users exist, authorization is enforced as usual.
Once PR https://github.com/influxdb/influxdb/pull/3427 is merged, the logs will note whether authentication is enabled or disabled.


feat: Show Progress in Taskbar/Dock

#166
Windows side should be done, I'm currently trying to implement it on macOS.

Well, there doesn't seem to be a package for macOS, so I wrote one for it. Here's the repo.
Everything should be ready to merge now! Please let me know if there is a way to write tests for this feature if they are needed.

Thank you for the pull request and sorry for the delay.
I think you have written lots of if-else branches there. It's better to encapsualte this logic into one or many util functions.
I think lib/util/native would be a great place for it: https://github.com/localsend/localsend/tree/main/app/lib/util/native

Thanks for the review!
Since the code still looks bad after extracting platform-specific handlers into the utils, I've wrapped the taskbar/dock-related functions into a helper class, hopefully this will make the code a bit cleaner.

Thank you!


TypeContext.Deserialize/.Serialize: options may be null

See PR https://github.com/YAXLib/YAXLib/pull/209#discussion_r970130240
which didn't make it to the version/v4.0 branch, sorry

Thx!


Fix migration with a comment containing an apostrophe

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
not tested

Fixed issues
#15866

Good job! Could you add a test like this to ensure your fix works properly?

I'd be happy to do add a test but I've never used phpunit and don't know what I'm doing.
I've set up the testing environment as described here.  I then ran tests via phpunit --group=console but I get a number of failures even before making any changes.  They all seem to be related to json so I presume it is because I'm running MAMP which includes MySQL 5.6 that lacks json support.  Must I upgrade to MySQL 5.7?
I also don't know what my test code should look like.  Is this correct?
[
    Schema::TYPE_PK . " COMMENT 'testing ''quote''' AFTER `col_before`",
    $this->primaryKey()->comment('testing \'quote\'')->after('col_before'),
    "int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'testing ''quote''' AFTER `col_before`",
],

Does this test compare 3 ways of writing the same thing?
Is it ok to submit a test even if I can't get phpunit to pass?
Thanks for your help!  I'm learning....

I've set up the testing environment as described here. I then ran tests via phpunit --group=console but I get a number of failures even before making any changes. They all seem to be related to json so I presume it is because I'm running MAMP which includes MySQL 5.6 that lacks json support. Must I upgrade to MySQL 5.7?

You can run only the test you are changing just to make sure it works. Try this:
phpunit --group=mysql --filter=testGetColumnType --debug

Does this test compare 3 ways of writing the same thing?

Yes, and test checks, that it is consistent. Look here. It's the place where this three-elements array is being interpreted.

Is it ok to submit a test even if I can't get phpunit to pass?

Yes, Travis runs tests when you commit to branch with pull request and will email you if something goes wrong.

Thanks for your help! I'm learning....

You're welcome. We are happy to see contributors that are interested in mastering framework and knowledge.

Should I add this under the <IP_ADDRESS> section?  Or create a new 2.0.15 section since that is the milestone assigned to this?
Sorry, this is my first PR for Yii and I'm learning the ropes.

We already have a section for 2.0.15 in changelog.  Thank you!


Support ACLs on backend

This only adds ACL support.  It does not change the default authorization
configuration, which remains PBAC / RBAC.
Closes #5296.

(I am doing #5296 with multiple smaller PRs, so I will re-open it after pulling this)

Ended up at part of #5338.


Scenario explorer new ideas

Original post: https://github.com/NPBruce/valkyrie/issues/1013#issuecomment-457702037
I find two bad behaviours regarding the current in-work version of the Scenario explorer:

clicking a scenario name causes its downloading which leads to downloading scenarios by mistake/unwillingly if there is a menu-lag (and it happens often as for now),
it's not possible to know what kind of story a scenario tells without a necessity of downloading it in advance.

I'd like to suggest possible solutions to the issues.

@BenRQ in https://github.com/NPBruce/valkyrie/issues/1013#issuecomment-457723943 suggested that downloading a scenario by clicking on it is the current behaviour of the official version. Although it's true, it currently happens in a completely different part of the app, in the downloading scenarios list (DSL) one, while SEv1 was just a list of the downloaded scenarios.
SEv2 now has two major roles. It implements DSL and SEv1 into one module: presents a list of the downloaded scenarios and is the downloading scenarios list. The current SEv2 should have a different way of working if you compare it to SEv1 and DSL.
Therefore, I suggest clicking a scenario line be disabled and, instead, clicking the download button should fire the downloading event. Plain and simple.

Is more complicated (as suggested @scrubbless in https://github.com/NPBruce/valkyrie/issues/1013#issuecomment-457733952). It'd be great if clicking a scenario line would open a splash screen which would display info about a scenario (title, image, description, etc.) and allow a user to either Start the scenario if it's downloaded or download it from here.
I can't agree with @scrubbless that downloading the whole scenario is necessary nor that redesigning the package files is required so there won't be backwards compatible problems. But it'd require some changes to the current concept as follows.
First of all, there should a separate space where information about all available scenarios is stored ('). From this very place the SEv3 would download the list of scenarios. The information stored here would contain only information for a splash screen and the list, nothing else.
To make this list backwards compatible, a script scanning Valkyries files must be created. It'd parse the files, take information needed and save it in the space. This way if in the future some other kind of information is needed, the system parses files as needed making the system backwards-proof, or I am wrong.
Finally, SE would require the last changes. There are two ways of handling the problem of 'downloading than playing a scenario':
A. SE uses separate files for a splash screen and scenarios; if it doesn't find a scenario file, it displays a Download button to download the scenario.
B. SE uses one file for a splash screen and a scenario; the difference between the kind 1st (not playable) and 2nd (playable) is within the file structure which SE must check as 1st will only contain a splash screen info and nothing else so there is no way playing the scenario and, therefore, the scenario must be downloaded first.
I think the A. method it might be easier to implement.
There is a drawback in the idea of mine. There might be a problem syncing data between (') and the scenario's location but it shouldn't be a big issue, I think.

Sorry for the long post. I don't expect both ideas to be implemented in v2.2. It'd be great if 1. would be implemented now and 2. in v2.3 as it requires more changes.

Originally posted https://github.com/NPBruce/valkyrie/issues/1085#issuecomment-467769308
Ok, point taken. The functionality can stay as it is right now then.
@antontimmermans, I still have a question for you (and others too). I agree that imitating the official app would be a good idea to start with. Later on, it could be even updated to something better.
Unfortunately... When you look at SE right now:

Only one scenario has a teaser text visible. The rest has a scenario's description visible only on a splash-screen after you download a scenario and then click a Play button:

I am aware that lack of description is related to scenarios not having been updated yet but they also may never be.
A month ago I created issue https://github.com/NPBruce/valkyrie/issues/1020 which one part is related to creating a possibility to see a scenario's splash screen without a necessity to download a scenario in the first place. The conclusion for this part was: the current data format doesn't allow to do that as the data doesn't contain all information for a splash screen.
So again, I agree that imitating the official app would be good but I can't agree that the Valkyrie app mimics the behaviour of the official app nor that it works like it at this very moment. To mimic the official app behaviour a user should be able to see the whole teaser text, not just part of it, and without the necessity to download a scenario, don't you agree?
Could you answer here https://github.com/NPBruce/valkyrie/issues/1020 so there is no garbage created here?

@chrismaliszewski You are completely right that the current app looks and behaves different then the official app. Remaking the official app will likely result in copyright issues or other nasty discussions.
So we will always need to find the right balance between "copy the behavior" and "create something new" which results in: "mimic the behavior". And finding the right balance does require us all to 'challenge' the current interface. So, thank you for that ;-)
On the subject of scenario selection screen:
The default scenario browser screen in FFC App shows more teaser text, but you can see only one scenario at a time. Unless you go to the scenario quick selection screen by hitting the top of the scenario image. There you can see an overview of scenarios but you cannot see any teaser text (nor any additional information).
Current Valkyrie scenario selection screen may therefor be better compared with the FFC app's Quick Selection screen but then including teaser text AND much more information to support scenario selection.

The official app only has 20 scenarios or so. We have to be conscious that Valkyrie is likely to have double the amount of the official and there needs a more sophisticated interface in regards to download and selection.
The official app comes with the scenarios (I believe) pre-downloaded so they have an easier time referencing more source text. However we could duplicate the description text when generating the package and then use that for viewing the intro page before scenarios are downloaded?


reminder count sometimes does not reset if the args were invalid

This happens if a user inputs valid keywords in an invalid way to the bot. The bot expects one time format (i.e .reminder 1 hour do work). If an error is encountered, the reminder count should be reset. But if the args for the command contain all individually valid args, then the command will not error, but a reminder is not properly created.

A reminder is created, but the confirmation message is not sent. It uses the last valid arg to create the reminder.

I'll do this today.

i will try this


Support for SQL Alchemy 2.0

We are integrating an application that we wrote using sqlalchemy 2.0.  But taipy is based on sqlalchemy 1.4.x .

Hello,
Thank you for the feedback. We are looking at the impacts of upgrading to sqlalchemy 2.0.
We'll let you know the results and a target release version.
Thx,


Look into how guests are authenticated currently

Looking into the Django backend and middleware layers
Might need to consult the database and backend teams
If authentication route is not in place:

Assist other teams in the creation of a dedicated route

Not very relevant since the existing code did not utilize Django's auth system.


feat: implement Serialize and Deserialize

All the different ringbuffers should implement Serialize and Deserialize when the serde feature is enabled, and should do so safely and soundly.

@jdonszelmann would PR with borsh serde considered for review and merge if made? behind borsh feature gate

I like the idea, but why do we need borsh? I think if you implement the Serialize and Deserialize traits that should be enough. Then you can choose any format (like postcard or even json if you really wanted)

Additionally I'm against this because Borsh seems related to blockchain/web3 which is not something we'd like to condone

Feel free to file a PR though

please reopen when change reasoning.
here is wrapper for Const if somebody needs that
//! This module provides serialization and deserialization for the `ringbuffer` crate.
use borsh::{BorshDeserialize, BorshSerialize};
use ringbuffer::{ConstGenericRingBuffer, RingBuffer};

#[derive(Debug, Default, BorshSerialize, BorshDeserialize, Clone)]
pub struct ConstGenericRingBufferWrapper<T, const CAP: usize> {
    #[borsh(
        serialize_with = "serialize_const_generic_ring_buffer",
        deserialize_with = "deserialize_const_generic_ring_buffer"
    )]
    buffer: ConstGenericRingBuffer<T, 24>,
}

/// Ring buffer is just fixed size array
#[cfg(test)]
impl<T: borsh::BorshSchema, const CAP: usize> borsh::BorshSchema
    for ConstGenericRingBufferWrapper<T, CAP>
{
    fn add_definitions_recursively(
        definitions: &mut std::collections::BTreeMap<
            borsh::schema::Declaration,
            borsh::schema::Definition,
        >,
    ) {
        <[T; CAP]>::add_definitions_recursively(definitions)
    }

    fn declaration() -> borsh::schema::Declaration {
        <[T; CAP]>::declaration()
    }
}

impl<T, const CAP: usize> ConstGenericRingBufferWrapper<T, CAP> {
    pub fn peek(&self) -> Option<&T> {
        self.buffer.peek()
    }

    pub fn push(&mut self, item: T) {
        self.buffer.push(item);
    }

    pub fn back(&self) -> Option<&T> {
        self.buffer.back()
    }

    pub fn iter(&self) -> impl Iterator<Item = &T> {
        self.buffer.iter()
    }

    pub fn get(&self, index: usize) -> Option<&T> {
        self.buffer.get(index)
    }

    pub fn len(&self) -> usize {
        self.buffer.len()
    }

    pub fn front(&self) -> Option<&T> {
        self.buffer.front()
    }
}

pub fn serialize_const_generic_ring_buffer<T: borsh::BorshSerialize, const CAP: usize>(
    obj: &ConstGenericRingBuffer<T, CAP>,
    writer: &mut impl std::io::prelude::Write,
) -> std::io::Result<()> {
    for item in obj.into_iter() {
        item.serialize(writer)?;
    }
    Ok(())
}

pub fn deserialize_const_generic_ring_buffer<T: borsh::BorshDeserialize, const CAP: usize>(
    reader: &mut impl std::io::prelude::Read,
) -> std::io::Result<ConstGenericRingBuffer<T, CAP>> {
    let mut buffer = ConstGenericRingBuffer::new();
    for _ in 0..CAP {
        buffer.push(T::try_from_reader(reader)?);
    }
    if T::try_from_reader(reader).is_ok() {
        return Err(std::io::Error::new(
            std::io::ErrorKind::InvalidData,
            "Buffer is longs than CAP",
        ));
    }
    Ok(buffer)
}

sorry, some mix of things. closed for borsh. for serde open sure :) sorry for confusion.


[WIP] Add test that compares gradient

We know that the gradient relationship can be written as either of the following, since it comes from integration by parts:

grad -= u * v.dt2
grad -= u.dt2 * v

This PR adds a test that computes the gradient through both these relationships and asserts "equality" (within floating-point precision).
Current state:

Added a draft test, looking for feedback on whether this should be rewritten differently before merge.

Test does not pass up to rtol=1e-4, atol=1e-4. What would be our expected rtol/atol values for this test to pass?

So now the test is passing?

Mathias pushed a passing version of the test with the following changes that I don't agree with:

Using the WaveSolver class for the forward when we can't use it for the gradient computation anyway. I'd like to keep it consistent between the forward and the gradient computations. If we're not using the solver class for the gradient, we don't use it at all in the test.
Combining all the expressions in a single Operator. This is not realistic. A user will never have those three expressions in the same Operator. If we want this test to be representative, the three expressions should be used to create three separate Operators. If some "extra things" need to be done to make the test pass this way e.g. make sure that the bounds are the same, or that some objects are reset after running each operator, they should be made explicit instead of hiding them behind a single combined operator that will never be used in practice.
Changed to double precision. I think this test needs to pass in single precision. Probably not much more explanation required here.

My latest commit here:

Reverts all the above back to what I think is better.
Makes the test pass in single precision but the bounds are absurdly big tbh.

If the test only passes in single precision for rtol=1e-3, atol=1e-3, is it really passing? More thought required on this.

Using the WaveSolver class for the forward when we can't use it for the gradient computation anyway. I'd like to keep it consistent between the forward and the gradient computations. If we're not using the solver class for the gradient, we don't use it at all in the test.

This is not relevant for this test. You are testing u.dt * v = u * v.dt2 which is basically a standard dot test, whether the u comes from the wavesolver or not doesn't matter as it should work no matter where u comes from (even a pure random array). Having all the u and forward definition in that test makes it unnecessarily verbose.

Combining all the expressions in a single Operator. This is not realistic. A user will never have those three expressions in the same Operator.

A user will never use the three expressions but just choose one and go with it, I don't see the point here.

Changed to double precision. I think this test needs to pass in single precision.

That's easily parametrizable.

This is not relevant for this test.
Agree. What I hear you saying is this is a style choice. I'd like to stand the ground on my style choice of consistency within the test.

A user will never use the three expressions but just choose one and go with it,
Which is why the Operators have to represent the three different choices the user might make instead of one Operator that nobody will ever create. If some CSE between the three expressions causes the results to change, for example - we want to make sure this test doesn't pass.

That's easily parametrizable.
But as you might notice in my message above yours, the test essentially doesn't pass in single precision. Let's talk about that.

Is it worth keeping both versions, as two different tests? the version with two Operators makes sense to me: @navjotk has a point about the potential impact of CSE and other symbolic transformations

If there is a point to having that combined test, it is orthogonal to the purpose of this PR.

I believe this should be good to go now.

Updated test to make sure we have a true and a smoothed model. Now we are really calculating the gradient.

What remains for this @mloubout ?


Replace Transport.Awake with Transport.Setup to allow adding and setting up Transport at runtime

A proposal which makes it easier to decide upon and add Transport at runtime. In my game for example, I need to be able to switch between using KCP in editor and standalone builds and use FizzySteam for steam builds. If anyone has a suggestion for how I could do this without changing Mirror that would be very much appreciated

Theres #multiplexer in the Mirror Discord, check that out.

A proposal which makes it easier to decide upon and add Transport at runtime. In my game for example, I need to be able to switch between using KCP in editor and standalone builds and use FizzySteam for steam builds. If anyone has a suggestion for how I could do this without changing Mirror that would be very much appreciated

I do something like this for my game, if player connects to dedicated host, it uses default transport (which was Telepathy at the time), and if they click player hosted game, it switches to DRM relay transport (now Light Reflective Mirror).
NetworkManager has a transport variable, all you have to do for the transports is stop them initialising in awake, and manually call a new setup method.
1: So, have both transports on NM, and have a variable reference to each.
2: Detect which to use for your scenario, set NM.transport to kcpTransport.
3: Call your new function in the selected transport StartKCPTransport(); (which previously would be automatic in its Awake)

Thanks for the thoughts!
The 1 step in your 1,2,3 list won't work since a transport that uses Steamworks (or any other underlying platform library) needs different scripting define symbols and will cause error if it's saved on the NetworkManager. As in, if I want to build for Steam I would remove the DISABLESTEAMWORKS define and only then would Unity let me add the FizzySteamworks
component to the NetworkManager.
I do like your idea of having a Auto Start Transport though, might be more ideal.


angular 1.3

It's not working for angular 1.3

Sorry for the late response .. I'm looking into this and will update the module (very soon).

97ac1302bc89cce8266561d26275f6ebd90b9b46 should fix this. I will add some unit tests and then merge it into master


"The bitcoind service is not running. Login for more details" error

I'm getting the "The bitcoind service is not running. Login for more details" error during the blockchain syncing step. Restarting my raspi worked temporarily but is no longer helping.
I saw another thread say to start bitcoind manually but i dont know the command for that.
bug logs
Thank you

just start the mainmenu again after some minutes.
from your logs you can see that all services are running and your bitcoin debug log shows the blocks are getting forwarded.
Got the same message just now and could restart the mainmenu with ./00mainmenu.sh after waiting some time.

I can get it to the main menu fine but how do i get it to go back to continue syncing the blockchain?

you can use the following command to see if your syncing:
sudo tail -f /mnt/hdd/bitcoin/debug.log
2019-11-22T19:28:09Z UpdateTip: new best=00000000000000000014e9658245c3c9eae84499b3d8b3825b49d8d54a178c08 height=604366 version=0x20000000 log2_work=91.348288 tx=475791175 date='2019-11-18T14:06:34Z' progress=0.997181 cache=43.7MiB(392196txo)
If there are new lines popping up then you just have to wait for progress to get to 1.00 which is reached when you are fully synced

Pls close this.


Problem with<EMAIL_ADDRESS>

I am using Pattern Lab Node v1.2.3 on Windows|Linux, using the gulp configuration.
Actually my problem is gulp 4.0 :( , i know all fancy series , parallel , etc functions are cool but it takes so much time for other projects start migrating , it breaks all of my pipelines , i was using semantic-ui and many other stuffs which rely on<EMAIL_ADDRESS>and importing other tasks into my patternlab setup , now i can't update i think for a long period or changing all gulp new functions to polyfills like sequencer in patternlab gulp , is there any solution other than this !?

I understand that adding existing tasks directly to this gulpfile necessitates a syntax conversion, one that I had to undergo myself in order to make this work and realize the benefits of gulp 4. I apologize if this is an integration inconvenience to larger codebases.
If you are motivated to continue, you can view all the commits to this repo here: https://github.com/pattern-lab/edition-node-gulp/commits/master and reference the commit prior to the conversion to see the old syntax if you prefer. I doubt it would be difficult to take that as a baseline (its only 15 days old at time of this writing) and reapply any future commits to the gulp 3 syntax. I tried to pull a compare against these two points and time, which you can look at here: https://github.com/pattern-lab/edition-node-gulp/compare/26945c30fce04e7b6c06ddd0fb3d7ba271f43cd9...master
I know this isn't ideal for everyone and I hope it doesn't discourage your use of Pattern Lab Node, but that being said, I understand if my decisions may turn people away or disqualify the project from consideration in the short term. We just finished a workshop with PL/Node and attendees survived alright.

Na man , it's not going to discourage me from using Pattern Lab Node, since saved me a ton of time , i think it's pay back time , I will try to maintain my project until i have time to make migration
Thanks for help and info on conversion


Minor grammatical fix

Corrected to use possessive form: "its" over contraction: "it's"

 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.

Thanks!


Save multiple files

Is it possible to make the function be able save multiple files with different format at a time?

I think such function will be redundant since Plot.export function can be used to do that. For example the following code will save the current figure in png, eps and jpg format:
plt = Plot();
plt.export('file.png');
plt.export('file.eps');
plt.export('file.jpg');

Thanks for the suggestion.


Tech Writer Review of PPL Topic

Tech Writer Suggestions

[X] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Includes edits to the PPL .md file of the custom device developer guide.

@phutanu Are there any other reviewers I should add or is this ready to merge?


trying to import shards.scss with dart sass results in errors

 ERROR  Failed to compile with 1 errors                                                                      10:50:51 AM

 error  in ./src/components/layout.scss

Module build failed (from ./node_modules/sass-loader/lib/loader.js):

$popover-arrow-outer-width:           $popover-arrow-width + 1px !default;
                                     ^
      Incompatible units px and rem.
    ╷
759 │ $popover-arrow-outer-width:           $popover-arrow-width + 1px !default;
    │                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵

@tisk I'm happy to submit a PR for these errors if you're open to it.

This was my fault, I was importing things in the wrong order.


Example of using gravitational wave data with the ANTARES devkit

Hi 👋,
We recently added gravitational wave data in ANTARES and this PR adds a jupyter notebook to show users how to access this data and use these new functionalities.
Thanks!

Hi @rnikutta, thank you for reviewing this pull request. I added all your suggestion to the code. Here are my comments:

Regarding the TOC, starting from 0 is the desired numbering since the other ANTARES Jupyter notebooks start with the same number.
I added the GCN link in some parts of the notebook, I don't know if this is what you meant, let me know if I misunderstood please.
I'll be looking forward to the disclaimer update to finishing updating this notebook.

@jacquesalice thanks for reviewing these changes. I updated the Jupyter notebook including all your suggestions

Hi @nesquivelr apologies for the long delay. We decided to merge your NB and we will update the Acknowledgments section ourselves at a later time. Thank you for contributing this NB!


Enhance Environment Compatibility and mv Operation: Python Upgrade, Hidden File Support, Dockerfile Update

Upgrade Conda Environment Python Version
The Conda environment's Python version has been upgraded from 3.8 to 3.9 to resolve compatibility issues with PyQt5. During the installation of PyQt5, we encountered the error:
"This version of PyQt5.sip requires Python v3.9 or later."

Support Hidden Files in mv Operation to Avoid rmdir Errors
The mv operation has been enhanced to support moving hidden files. Previously, when trying to move the contents of a directory and then remove the original folder, the command failed with the error:
"rmdir: failed to remove 'expand_targetlist': Directory not empty."
This was due to hidden files not being moved. With this change, hidden files are now included in the move operation, preventing errors when removing the original directory.

Update numpy version in requirements.txt to 1.23.0 to ensure compatibility.
This change ensures compatibility with other libraries that require NumPy 1.x.

Update Dockerfile to Ensure Successful Execution of phishpedia.py

Added necessary dependencies like git, unzip, and libraries for graphical rendering (libgl1-mesa-glx, libglib2.0-0).
Ensured that Conda is initialized and the phishpedia environment is activated by default when the container starts.


[SMALLFIX] Adding unit test for CommonUtils#encodeJson.

LGTM

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9334/
Test PASSed.

Merged build finished. Test PASSed.

LGTM


Inconsistent sizes reported when running a test with flutter run vs flutter test

import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('Foo', (widgetTester) async {
    print('View physical size: ${widgetTester.view.physicalSize}');
    print('View dpr: ${widgetTester.view.devicePixelRatio}');
    print('Config size: ${widgetTester.binding.renderView.configuration.size}');
    print('Config size: ${widgetTester.binding.renderView.configuration.devicePixelRatio}');
    await widgetTester.pumpWidget(Builder(
      builder: (BuildContext context) {
        print('MediaQuery size: ${MediaQuery.sizeOf(context)}');
        print('MediaQuery DPR: ${MediaQuery.devicePixelRatioOf(context)}');
        return const Placeholder();
      }
    ));
  });
}

Running the above code with flutter test prints:
View size: Size(2400.0, 1800.0)
View dpr: 3.0
Config size: Size(800.0, 600.0)
Config size: 3.0
MediaQuery size: Size(800.0, 600.0)
MediaQuery DPR: 3.0

That's the expected output. However, when the test is now run with flutter run, the output changes depending on the device used to run on. This is the output when running on an iPhone 13 simulator:
flutter: View physical size: Size(1170.0, 2532.0)
flutter: View dpr: 3.0
flutter: Config size: Size(800.0, 600.0)
flutter: Config size: 3.0
flutter: MediaQuery size: Size(390.0, 844.0)
flutter: MediaQuery DPR: 3.0

And this flutter run on macOS:
flutter: View physical size: Size(1600.0, 1200.0)
flutter: View dpr: 2.0
flutter: Config size: Size(800.0, 600.0)
flutter: Config size: 2.0
flutter: MediaQuery size: Size(800.0, 600.0)
flutter: MediaQuery DPR: 2.0

This is problematic as widget tests shouldn't change their behavior depending on how they were executed. flutter run should run the test just like flutter test does. However, it seems like flutter run is leaking some values from the test device into the test. This could alter the behavior of the test. For example, if the widget under test is adaptive, it may render a different UI when MediaQuery.sizeOf reports Size(390.0, 844.0) instead of the expected Size(800.0, 600.0).
After further investigation it looks like there are two problems here:

The LiveTestWidgetsFlutterBinding used by flutter run doesn't configure the TestFlutterView to simulate the physical size (and DPR?) used by the flutter test environment.
LiveTestWidgetsFlutterBinding.createViewConfiguration needs to create a TestViewConfigruation with a matrix that properly translates between the simulated geometry of the TestFlutterView and the actual geometry of the underlying FlutterView. The current implementation is buggy because it assumes that TestFlutterView.physicalSize is the real geometry. However, users may have messed with this in a test.

For 2) one idea is to expose the wrapped view of the TestFlutterView somehow, so LiveTestWidgetsFlutterBinding.createViewConfiguration can read the real geometry from it.
Somewhat related: https://github.com/flutter/flutter/issues/123881

cc @pdblasi-google

In addition to the impact when the widget under test is adaptive (so that when the size is different it might render an entirely rearranged UI), it's very common for tests to contain implicit assumptions about the size of the view from its effects on more basic aspects of layout. When the view is narrower, paragraphs wrap sooner; when the view is taller, a list that had been extending offscreen and able to scroll may start fitting all onscreen and not scrolling.
Many tests, including in the Flutter tree itself, contain explicit numbers in pixels to describe where to make a tap, which can hit the wrong widget when the layout changes. Or they want to check that some widget gives a scrollable list, so they check that some item is offscreen, then perform a scroll of some explicit distance and fling speed, then check that the item is onscreen and/or that another item is now offscreen, any of which can get disrupted when a different number of items start fitting on the screen.
So I think there are quite a lot of tests that won't give faithful results under flutter run because of this issue. It'd be great to fix.
(Even when the difference doesn't cause the test to fail, just being different can make it very confusing if trying to debug details of how the test behaves. And when one uses flutter run on a test, it's typically precisely because there's already something one doesn't understand about the test's behavior, so the impact of any added confusion is magnified.)

Until we do fix this, for developers running into it, it seems like a useful workaround is to use flutter run targeting a desktop platform rather than a mobile platform. (Or at least macOS rather than iOS?) From the output above, when running on desktop the issue has no effect on the size in logical pixels — it only affects the DPR and the size in physical pixels. Both of those have a far smaller effect on Flutter widgets' behavior than the size in logical pixels, and most tests are unlikely to be affected by them at all.

From the output above, when running on desktop the issue has no effect on the size in logical pixels — it only affects the DPR and the size in physical pixels.

If I understand right, I'm not seeing this in my environment:

In flutter test, I get:

Size(2400.0, 1800.0) for tester.view.physicalSize
3.0 for tester.view.devicePixelRatio
(so, 800dp x 600dp)

In flutter run, I get:

Size(1280.0, 1210.0) for tester.view.physicalSize
2.0 for tester.view.devicePixelRatio
(so, 640dp x 605dp)

When doing flutter run, I'm on macOS (a MacBook Pro, 15-inch, 2019).

OK, good to know. All the more reason it'd be great for us to fix this issue, then.
Targeting a desktop platform might be a helpful workaround in some cases — seems like it would help if one is seeing the same behavior reported in the issue description — so a developer who's seeing this issue should consider trying it. But apparently it doesn't always help.


Image Buttons

Like the ones we have for Single / Multibike insurance..
Image should be pulled in from CSS
The label needs to be rendered at any location (top, bottom, across the middle) - use CSS for this

Created branch https://github.com/mtempleheald/journeyasdata/tree/feat/issue-23-image-buttons - added ability to add labels of different classes aligned left, right, top, bottom - still need to amend the left / right one's so they appear in the middle


Add prettier

Throwing this PR so people can give feedback. Prettier is already enabled by default on the new uber eslint configs, so it's only a matter of time that we switch to it.
I've decided to leave coma dangles alone for now in order to see if people have strong opinions against them, but note this appear to be the new Uber normal.
Will fix merge conflicts after validation.

@ibgreen @1chandu The build is segfaulting. Should we merge anyway?

Yes, Travis has issues - we either need to get the buildkite integration online, or fix Travis.
But you actually got one clean run, so that is good enough to merge

Alea iacta est... 90K lines...
Ye who have PRs that still need to be rebased, abandon all hope :)

@ibgreen if you manage to run the prettier on the code to be rebased, you might avoid some pain

@balthazar Yes, very good point!


kube-state-metrics doesn't work in recent Kubernetes versions

Fix #655
Due to the same API deprecations/changes reported here , the current ClusterRole defined here doesn't work anymore in recent Kubernetes versions (e.g 1.16) because pod kube-state-metrics pod doesn't get the needed authorizations to poll metrics.

Thanks for the contributions. Looks like this update requires some more changes as the monitoring tests are currently failing.
You can execute the monitoring tests by executing the the following command:
ginkgo -v --focus=Monitoring /path/to/kube-prod-runtime/tests/ -- --kubeconfig /path/to/.kubecfg --dns-suffix ${dnsZone}

@sameersbn Sorry but I need some help here.
I'm not a go developer so I don't know how to run the command you provided.

@sameersbn Sorry, I see the checks are still pending. Is there any way to see if the checks run successfully now?

@irizzant were you able to install BKPR to your cluster with these changes. If yes, did it work as expected?

@sameersbn as I said I'm not a Go developer but I managed to generate Kubernetes manifests with kubecfg and run them in minikube and they work as expected

@irizzant kube-state-metrics has been updated to the latest version and the configuration has been updated. Please try out the master on the k8s 1.16 cluster and let me know if you experience any issues.
Sorry about the delay in handling your request :pray:

@sameersbn thank you for the fix, I've just tried it and it works now


Convert mod list to table

It makes the README file look nicer, and also allows you to mention what mods apply to what versions. (also alphabetises the list)

bruh i just renamed the branch github why


How can I modify the code to achieve the target segmentation of a single image?

I also encountered this problem, if you extract test.py, please reply to me, thanks


Need to add functionality for pulling the results of matches

We can use TheOdds api to get the results of the matches after they conclude.

The Odd API does not support historical data, and getting game scores can only go as far as 3 days before. We will be calculating the probability by using the formula 100/(Odds+100) for positive odds and -Odds/(-Odds+100) for negative odds. Assign the probability to each team and then randomly select the winning team according to the calculated probability

While we can't pull historical odds we should still be able to pull the scores for all the matches and get the actual result instead of using the probabilities to make a random selection.

Yes, but it is only allowed up to 3 days before the current day. If the user logs into their account 4 days after the games being concluded, some results cannot be fetched

You can test it using the following link provided on TheOddAPI page:
https://api.the-odds-api.com/v4/sports/americanfootball_nfl/scores/?daysFrom={day}&apiKey={YOUR_API_KEY}

Ah I see. So we make a disclaimer about that issue to users and still pull scores anyway or would it cause too many problems?
Like we can put a note that all bets must be cashed in within 3 days?

Sure I think that would work

Strangely, when checking for game scores, Seahawks versus Packers gets updated to the next week's game, and this week's score is no longer accessible even it's still within 3 days range:
https://api.the-odds-api.com/v4/sports/americanfootball_nfl/scores/?daysFrom3=1&apiKey=676dad172b631f7293525e96e1ec921b

Done


[release-1.23] networking: fix DNS auto-allocation

Manual cherrypick required.
#52147 failed to apply on top of branch "release-1.23":
Applying: Fix returning auto-allocated address
Using index info to reconstruct a base tree...
M	pilot/pkg/model/service_test.go
M	pilot/pkg/serviceregistry/serviceentry/conversion.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/serviceregistry/serviceentry/conversion.go
CONFLICT (content): Merge conflict in pilot/pkg/serviceregistry/serviceentry/conversion.go
Auto-merging pilot/pkg/model/service_test.go
CONFLICT (content): Merge conflict in pilot/pkg/model/service_test.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Fix returning auto-allocated address
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

We definitely need to cherry pick this. 1.23 alpha0 is broken atm. @jewertow, are you able to work on this?

Yes, of course. I will fix it ASAP

Thanks. sorry, I didn't notice there were other cherry-picks that this likely depends on before asking.

fixed by #52279


add mention of beam

this adds the notion, that this books covers not just the erts.
note: the license calls the book "The Erlang Runtime System " instead of "theBeamBook."
is this correct?

Thanks. Although I consider the BEAM as part of ERTS it is good to make it clear.


Support for Xperia 1

Looks like the size of root key hash of Xperia 1 is no longer 0x20. I made a slight change to ensure root key hash can be read successfully. Not sure whether this repository is still active so I post the patch and binary file here in case someone else needs this.
newflasher.patch.zip
Notice:
Before flashing, please check partition directory in the firmware and ensure there is only 1 sin file for LUN0.  If your firmware is downloaded via XperiFirm, there should be two in the directory: partition-image-LUN0_62480384_X-FLASH-ALL-A2CD for 64GB flash and partition-image-LUN0_124960768_X-FLASH-ALL-A2CD for 128GB flash.  Keep one according to your phone's flash size and delete the other one.

Hi, thanks! It can be better done by implementing by rest of the device info xml file, can you post it?

Hi, thanks! It can be better done by implementing by rest of the device info xml file, can you post it?

Where can I get that?

When unpack firmware with xperifirm its I think inside boot folder e.g. boot_delivery.xml or similar xml file, just look for xml file which contain line e.g. LUN0_62480384_X-FLASH-ALL-A2CD and post that file so I can look

Do you mean partition_delivery.xml inside partition directory? I got this from J9110's firmware:
<PARTITION_DELIVERY FORMAT="1">
  <PARTITION_IMAGES>
    <FILE PATH="partition-image-LUN0_124960768_X-FLASH-ALL-A2CD.sin"/>
    <FILE PATH="partition-image-LUN0_62480384_X-FLASH-ALL-A2CD.sin"/>
    <FILE PATH="partition-image-LUN1_4096_X-FLASH-ALL-A2CD.sin"/>
    <FILE PATH="partition-image-LUN2_4096_X-FLASH-ALL-A2CD.sin"/>
  </PARTITION_IMAGES>
</PARTITION_DELIVERY>

Can't find anything indicating which partition table to use. We probably need to read UFS info from the device and choose partition table base on its flash size.

Hm, probably there is some new "getvar" variable which need to be implemented to newflasher. I'm downloading right now X1 firmware, will try to investigate. Can you tell me, with patch you provided everything is right?

Can you try this? Need to know if I partition_delivery.xml parser is done right https://github.com/munjeni/newflasher/commit/15693f4a80ac012f55da0a813e18c10913caae65
Disabled partition flashing right now (in case partition_delivery.xml file exist in partition folder) so its safe right now for testing.

This is list of commands I found in lilo bootloader
sub_11E10("version", sub_11F74);
sub_11E10("max-download-size", sub_11FC8);
sub_11E10("Version-sony", sub_12024);
sub_11E10("Loader-version", sub_12078);
sub_11E10("serialno", sub_120D8);
sub_11E10("version-bootloader", sub_120EC);
sub_11E10("version-baseband", sub_12100);
sub_11E10("product", sub_12114);
sub_11E10("Phone-id", sub_12128);
sub_11E10("Rooting-status", sub_12130);
sub_11E10("Has-been-unlocked", sub_12138);
sub_11E10("Device-id", sub_121F4);
sub_11E10("Platform-id", sub_12260);
sub_11E10("Frp-partition", sub_122CC);
sub_11E10("secure", sub_122F0);
sub_11E10("Sector-size", sub_122F8);
sub_11E10("Ufs-info", sub_123C0);
sub_11E10("Keystore-counter", sub_123C8);
sub_11E10("Keystore-xcs", sub_12464);
sub_11E10("Sake-root", sub_12518);
sub_11E10("Default-security", sub_125A4);
sub_11E10("S1-root", sub_125F0);
sub_11E10("Security-state", sub_1263C);
sub_11E10("USB-version", sub_12760);
sub_11E10("Battery", sub_12768);
sub_11E10("slot-count", sub_12770);
sub_11E10("current-slot", sub_1288C);
sub_11E10("slot-successful:a", sub_12928);
sub_11E10("slot-successful:b", sub_129E0);
sub_11E10("slot-unbootable:a", sub_12A98);
sub_11E10("slot-unbootable:b", sub_12B50);
sub_11E10("slot-retry-count:a", sub_12C08);
sub_11E10("slot-retry-count:b", sub_12CA8);
sub_11E10("Stored-security-state", sub_12D48);
sub_11E10("Rollback-index-count", sub_12DB0);
sub_11E10("X-conf", sub_12E1C);
sub_11E10("Soc-unique-id", sub_12F0C);
sub_11E10("SD-card-inserted", sub_12FE0);
Didn't found anything special related to ufs size. Have no idea right now how can we determine LUN0 size. Idea? It can be done by snifing whole usb packets using Device Monitorin Studio software in same time while flashing phone with Sony PC Companio software, that way I have done newflasher. Without device I'm unable to figure out things right now, need help from somebody who have device allready.

Can you tell me, with patch you provided everything is right? No flashing problem?

I can confirm that the patch works for J9110 and J8110, except a user in the forum reported a problem:

Works great but causes bootloop if you want to keep user data.

And what you getting about ufs info in newflasher log?

newflasher just reported a part number of the chip: SAMSUNG,KLUDG4U1EA-B0C1,0500
I found that it should be viable to use Get-gpt-info command to retrieve partition image from the device, and calculate the flash size base on the GPT header. I can't flash my phone again since I've already done setting up and I don't have a spare one by hand. But I'll look into that to see if I can provide you more details.

I tried using Get-ufs-info command to retrieve UFS descriptor from the device.
Get-ufs-info  command will cause the device to return a binary response, containing descriptors of the UFS chip. In case of J9110 with KLUDG4U1EA-B0C1, I get:
40 00 00 00 00 00 03 04 01 00 01 7F 00 01 04 00
02 10 02 19 00 01 02 03 01 CE 10 10 02 00 1D 01
01 20 00 00 20 00 00 00 00 00 04 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
23 02 00 01 00 00 00 00 00 00 0C 00 00 00 00 01
DC B0 00 00 00 00 01 03 00 00 00 00 01 DC B0 00
00 00 00 23 02 01 01 01 01 00 00 03 00 0C 00 00
00 00 00 00 04 00 00 00 00 01 03 00 00 00 00 00
00 04 00 00 00 00 23 02 02 01 02 01 00 00 03 00
0C 00 00 00 00 00 00 04 00 00 00 00 01 03 00 00
00 00 00 00 04 00 00 00 00

The response above consists of a 64 byte Device Descriptor and three 35 byte Logical Unit Descriptors corresponding to LUN0, LUN1 and LUN2.
Data starting from 23 02 00 is the descriptor for LUN0, and at offset 0x0B is a 64-bit big-endian integer representing total logical block count of this unit, in my case it's 0x1DCB000 (31240192). Together with the logical block size returned by getvar:Sector-size which is 4096 bytes, I can tell the size of the flash is<PHONE_NUMBER>32 bytes = 124960768 KB.
Logical block size is also described in the descriptor, but I'm not sure how is it interpreted. For more information, please refer the specification.
This should be much more reliable than the solution I mentioned in my previous comment. Hope this helps.

Thanks, thats enought, great find! And here is implementation https://github.com/munjeni/newflasher/commit/7bc23e528c799769fb25f531b81c189f82dcc127 , hope working :)

Done. Thanks for contribution!


sidebar order of cells not deterministic

Describe the bug
In a notebook with two cells using mo.sidebar, breaking the first cell (by introducing unparsable content, as would happen by accident in a normal development session), then rerunning the first cell results in it's output now being below the second cell's
Environment
❯ uvx marimo env
{
  "marimo": "0.8.15",
  "OS": "Linux",
  "OS Version": "6.10.9-200.fc40.x86_64",
  "Processor": "",
  "Python Version": "3.12.6",
  "Binaries": {
    "Browser": "--",
    "Node": "v20.12.2"
  },
  "Dependencies": {
    "click": "8.1.7",
    "importlib-resources": "missing",
    "jedi": "0.19.1",
    "markdown": "3.7",
    "pygments": "2.18.0",
    "pymdown-extensions": "10.9",
    "ruff": "0.6.5",
    "starlette": "0.38.5",
    "tomlkit": "0.13.2",
    "typing-extensions": "missing",
    "uvicorn": "0.30.6",
    "websockets": "12.0"
  },
  "Optional Dependencies": {}
}

Code to reproduce
import marimo

__generated_with = "0.8.15"
app = marimo.App(width="medium")

@app.cell
def __():
    import marimo as mo
    return mo,

@app.cell
def __(mo):
    mo.sidebar(1)
    # now edit the above line to be "bug. mo.sidebar(1)" and run it
    # then edit it to be correct; the location in the sidebar will now be inverted.
    return

@app.cell
def __(mo):
    mo.sidebar(2)
    return

@app.cell
def __():
    return

if __name__ == "__main__":
    app.run()

Initial

After error

Fixed and inverted

@alefminus, we take into account the order in which they appear in the DAG. Since these are siblings, they don't have a relative order to one another and you would need to force one. Notebook order is not an API that we want to adhere to since in future we may run cells in parallel or other optimizations.
Separately, I would use mo.sidebar once, and not multiple times. You can use it more than once time, but would use so sparingly and only if needed. mo.sidebar in the example takes in an array and will hstack the items for you. You can also pass in a footer.
mo.sidebar(
        [
            mo.md("# marimo"),
            mo.nav_menu(
                {
                    "#home": f"{mo.icon('lucide:home')} Home",
                    "#about": f"{mo.icon('lucide:user')} About",
                    "#contact": f"{mo.icon('lucide:phone')} Contact",
                    "Links": {
                        "https://twitter.com/marimo_io": "Twitter",
                        "https://github.com/marimo-team/marimo": "GitHub",
                    },
                },
                orientation="vertical",
            ),
        ]
    )

I am going to close this as wont-fix, thank you for the detailed write up and issue.