Flatpak - Can't Open From App Grid

With V2023.5.0 update, Denaro installed from flatpak seems to not be able to be opened from the app grid.
Snap is unaffected
Workaround: Run from terminal (flatpak run org.nickvision.money)

Can confirm! Thanks for reporting this issue :)
Running Manjaro with GNOME.
Haven't tried Snap but trying to open Denaro from applications menu fails. Both installed via flatpak in CLI and Add/Remove Software

There was a flatpak update published with temporary fix, another solution will come to the next version so the issue is still opened.

Thanks for the update Fyodor!

Fixed with #533

https://github.com/NickvisionApps/Denaro/releases/tag/2023.6.0


file:import -i Stuck loading File Cabinet folders indefinitely

Starting a new project, and trying to load all existing scripts from the default SuiteScripts/ location.
λ suitecloud file:import -i
| Loading File Cabinet folders...

This never actually finishes loading. Ran it a number of times, and it'll just get stuck here for at least an hour. There's only about 3MB of files in there, so I don't think it's an issue with the folder size.

Hi @Nic-Wolf can you please mention the environment where you are running this command?
OS, Node version?
The account is production?

Yes, I'm attempting this in production. I still have the release preview, and I'm getting the same results there as well.
Windows 10 Enterprise, (64 bit) build 18362
Node v12.16.1
NPM v6.13.6
Java v11.0.7
For the console, I'm using cmder, but I get the same results in powershell. Running both as admin.

@Nic-Wolf The environment setup looks good.
Are you working behind any proxy?
All the commands are the same for you or its just file:import which is not working.

Well, I know someone's doing something out there, since I'm now getting an unexpected error instead of an eternal loading message...
λ suitecloud file:import -i
The remote server returned an error:

An unexpected error occurred.

I should clarify: file:import works when the --paths parameter contains a specific file. The error occurs when using -i. It's not feasible for me to specify each file, nor is it feasible to write a ps script to dive through the whole SuiteScripts folder, downloading things one by one.
However, since seeing this new error message, I'm not even able to download individual files.
Anyway, ere's the info you requested.
Suitecloud v1.0.2
I'm not behind a proxy.
Yes, I installed as documented: npm install -g @oracle/suitecloud-cli
there were no errors during installation.
I have uninstalled / reinstalled, and used different internet connections and different computers. The results are always consistent.

@Nic-Wolf I have tried with similar environments and its working for us.
If you are having the same problem, we can have a quick call to check it.

@Nic-Wolf Hello, would you want to have a quick call to go over the process and identify the case?

Closing it after waiting for answers for a long time.

I have the same issue with suitecloud file:import -i that keeps spinning. Like others mention the path option works.

If you get stuck here, I created a powershell script that imports from a txt file.
Just copy and paste the output from suitecloud file:list --folder /SuiteScripts into a file import_files.txt
save below as import_runner.ps1 in project root and change below  (<USER>, <PROJECT ROOT>) to your import list path
Get-Content C:\Users<USER>\Documents<PROJECT ROOT>\src\import_files.txt |
ForEach-Object { suitecloud file:import  --paths $_ }
Output:


Fast Scrolling

Library information:

Version: 2.4.0
View module.

Describe the bug**
When the scroll bar is pulled quickly, the scroll movement is not smoothly and some problems occur, as the days are repeated and/or the days not be in the correct position.

the device i debugging on it is: Samsung SM-A515F
i write the same code as the documentation here

Hi, I have tested on this exact device with the sample project (view module sample) and cannot reproduce this issue. Can you check if this is happening in the sample app on your end? I assume this could be an issue in your project.


--port option broken

I can't manage to get the --port option to work, using it raises an obscure "Int or String expected" exception.
$ pyinfra -u root -i localhost -p 22 deploy.py -v --dry

### Welcome to pyinfra

--> Connecting to hosts...
Traceback (most recent call last):
  File "/Users/okso/Documents/Projects/Engie/Gems-Infra/venv/lib/python3.5/site-packages/gevent/threadpool.py", line 207, in _worker
    value = func(*args, **kwargs)
OSError: Int or String expected
(<ThreadPool at 0x10f999400 0/1/10>, <built-in function getaddrinfo>) failed with OSError

    Could not connect: localhost:22, Int or String expected

--> pyinfra error: No hosts remaining!

<-- Thank you, goodbye

Using latest pyinfra from Github ( 6fbfe898fdf29884cc88c0814b18146ccfb3ec5c ), py 3.5.2 OSX 10.11.6

@hoh this should now be fixed @ https://github.com/Fizzadar/pyinfra/commit/fe7c2ef70e4b9fa6f2f09c369860204a709777ee :)


M1 Mac installation issue -ImportError: dlopen

Describe the bug
After installation, import of daft crashes.
To Reproduce
Steps to reproduce the behavior:

Install from pip
import daft

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".venv/lib/python3.9/site-packages/daft/__init__.py", line 19, in <module>
    from daft.daft import build_type as _build_type
ImportError: dlopen(../.venv/lib/python3.9/site-packages/daft/daft.abi3.so, 0x0002): tried: '.venv/lib/python3.9/site-packages/daft/daft.abi3.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/.venv/lib/python3.9/site-packages/daft/daft.abi3.so' (no such file), '.venv/lib/python3.9/site-packages/daft/daft.abi3.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

Expected behavior
import daft

System

OSX, M1 mac.
Version: getdaft==0.0.21
(tried installing from master from git too)

Workaround
Version 0.0.20 works.

Thanks for reporting this @xdssio!
I just did a pip install getdaft on an arm64 machine (M2 Mac) and it correctly installed the arm64 wheel for me. The issue that you are seeing is likely caused by pip installing the wrong x86 wheel.
Can you try installing this and see if it works? This explicitly points to the wheel that we have built/hosted in PyPi.
pip install https://files.pythonhosted.org/packages/96/c2/a19bc06c70569eb47c1f9b32ffd4a7e20fdbca75c67951e9fea8eff5af5f/getdaft-0.0.21-cp37-abi3-macosx_11_0_arm64.whl

If this works for you, then we can dig further into why your pip isn't resolving to the correct wheel.

Also, the ordering of your error message (have 'arm64', need 'x86_64') seems odd, since you are on a Mac M1 it should say need arm64 instead I believe.
Are you running Python in some kind of virtual machine or Docker environment?


feature: Investigate adding blazor support.

Blazor has a basic navigation stack, you provide a interface you can override. Investigate if it's worth overriding.

Hey!
Can we get any update ? The pull request #200 is merged.
I know that is over a year old issue but I am interested in Blazor routing with reactive ui.

It hasn't been merged into main because the work needed some additional clean up.  I have been actively working on making this work with proper dependency injection.
Your welcome to work off the branch as it currently exists until this is merged to main.

any news?)


Ansible source host is assumed to have SSH keys generated, not checked until late

The script to create VSD VMs copies the SSH keys from the host running the playbook to the VSD images.
This fails if they don't exist, however the failure happens very late in the deployment process.
It should be checked as a precondition ( or possibly auto-generated when no keys exist )

Provided the solution on Ansible source host is assumed to have SSH keys generated, not checked until late, Solved PR #1577


Report multipopulation

Description
Supports reports multipopulation

Calculates population info of each gid and passes the info to libsonatareport
Reads spike filename from report.conf

Fixes https://bbpteam.epfl.ch/project/issues/browse/BBPBGLIB-785
Use certain branches for the SimulationStack CI
CI_BRANCHES:LIBSONATA_REPORT_BRANCH=multipop,NEURODAMUS_CORE_BRANCH=report_multipop,PY_NEURODAMUS_BRANCH=report_multipop

Codecov Report

Merging #778 (7b6ed46) into master (c1093ba) will decrease coverage by 0.02%.
The diff coverage is 39.28%.

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

@@            Coverage Diff             @@
##           master     #778      +/-   ##
==========================================
- Coverage   56.00%   55.98%   -0.03%
==========================================
  Files         108      108
  Lines        8994     9008      +14
==========================================
+ Hits         5037     5043       +6
- Misses       3957     3965       +8

Impacted Files
Coverage Δ

coreneuron/gpu/nrn_acc_manager.cpp
45.07% <ø> (ø)

...eneuron/io/reports/report_configuration_parser.cpp
0.87% <0.00%> (-0.01%)
:arrow_down:

coreneuron/io/reports/sonata_report_handler.cpp
25.00% <ø> (ø)

coreneuron/io/reports/sonata_report_handler.hpp
0.00% <0.00%> (ø)

coreneuron/io/setup_fornetcon.cpp
5.19% <0.00%> (-0.29%)
:arrow_down:

coreneuron/sim/multicore.hpp
100.00% <ø> (ø)

coreneuron/apps/main1.cpp
47.12% <33.33%> (-0.19%)
:arrow_down:

coreneuron/io/nrn_setup.cpp
85.86% <100.00%> (+0.12%)
:arrow_up:

coreneuron/io/output_spikes.cpp
88.97% <100.00%> (ø)

coreneuron/io/reports/nrnreport.hpp
25.00% <100.00%> (+25.00%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1093ba...ad592ab. Read the comment docs.

As this is depend on different branches, I will convert this to Draft until @WeinaJi / @jorblancoa gives green light for this.

CI_BRANCHES:LIBSONATA_REPORT_BRANCH=multipop,NEURODAMUS_CORE_BRANCH=report_multipop,PY_NEURODAMUS_BRANCH=report_multipop


I want calibration method of multiple realsense

Required Info

Camera Model
D435

Firmware Version
latest

Operating System & Version
Win10

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC

SDK Version
latest

Language
C++ or C#

Segment
others

Issue Description

I'm planning a system that measures values using multiple realsense. This task requires calibration of multiple realsense. please recommend the most accurate way possible
I would be grateful if you could introduce a method or API for this.
Thank you

Intel offer a calibration system capable of multiple camera calibration in the RealSense store, though it costs $1500 USD due to the cost of manufacturing the large physical chessboard.  It has a special OEM version of the Dynamic Calibrator software that can calibrate both intrinsics and extrinsics (the standard free public version only calibrates extrinsics).
https://store.intelrealsense.com/buy-intel-realsense-d400-cameras-calibration-target.html
Alternatively, multiple 400 Series cameras can be calibrated using a program called Vicalib, which Intel themselves have used.  It uses a board that you show to each of the cameras in turn., and it establishes overlapping regions to then minimize the pose of each of those together
https://github.com/arpg/vicalib

Thank you @MartyG-RealSense
What is the difference between the two accuracy?
Must be accurate because the company will develop it.
But $ 1500 is so expensive, please let me know how the accuracy is different.

I do not have any data of the results of a Dynamic Calibrator calibration compared to a Vicalib one.I assume that Vicalib is at least good enough for it to have been recommended by Intel RealSense staff for the purposes of multi-cam calibration (during their 2018 online webinar session about multiple cameras).
The Conix Research Center at Carnegie Mellon developed a multicam point cloud stitching system that could use 10-20 400 Series cameras.  Their documentation says that the calibration method that they used was to "use a Theodolite, a survey precision instrument, to obtain real world coordinates of each camera".  Unfortunately, the cheapest laser theodolite I could see on Amazon was $500, with the average price around $1000-1200.
https://github.com/conix-center/pointcloud_stitching
In conclusion, unless you are doing a project that involves stitching multiple point clouds together into a single mega cloud, it may be easiest and cheapest to just calibrate each camera individually with the standard free Dynamic Calibrator tool to help ensure that you are getting excellent results from them.

Hi devLupin,
The Dynamic Calibration only optimizes the extrinsic parameters where the OEM Calibration does both extrinsic and intrinsic parameters.
I believe currently the Vicalib is not supported on D400 camera anymore, it is for T265, the tracking camera.
Thanks
**Please be informed that we will close this ticket in seven (7) days if we have not heard back from you.

@RealSenseCustomerSupport
Thank you.
Does the free tool Vicalib no longer support my 435 camera?
Do I have to buy the dynamic calibrator mentioned above?

Hi devLupin
Our Calibration Tool development engineer says we don't support Vicalib on D4xx. The "Dynamic Calibration" tool is FREE to users. https://downloadcenter.intel.com/download/28517/Intel-RealSense-D400-Series-Calibration-Tools-and-API
Thanks
**Please be informed that we will close this ticket in seven (7) days if we have not heard back from you.

@RealSenseCustomerSupport
Thanks


Fanduel MMA question

I looked through the closed issues and the answer helped a draftkings issue, but as for Fanduel.  Limiting one fighter per fight in a lineup
Example Miocic vs Ngannou.  Id want at maximum one of them per lineup.
Heres the code I tried, that didnt error out, just didnt work.
from pydfs_lineup_optimizer import get_optimizer, Site, Sport, CSVLineupExporter
from pydfs_lineup_optimizer.stacks import TeamStack, PositionsStack, PlayersGroup
from pydfs_lineup_optimizer import AfterEachExposureStrategy
playerList = r"C:\Users\brand\Downloads\FanDuel-UFC-2021 ET-03 ET-27 ET-56105-players-list.csv"
optimizer = get_optimizer(Site.FANDUEL, Sport.MMA)
optimizer.load_players_from_csv(playerList)
fight1 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Jamie Mullarkey', 'Khama Worthyr')], max_from_group=1)
optimizer.add_players_group(fight1)
fight2 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Gillian Robertson', 'Miranda Maverick')], max_from_group=1)
optimizer.add_players_group(fight2)
fight3 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ("Sean O'Malley", "Thomas Almeida")], max_from_group=1)
optimizer.add_players_group(fight3)
fight4 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Vicente Luque', 'Tyron Woodley')], max_from_group=1)
optimizer.add_players_group(fight4)
#fight5 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Stipe Miocic', 'Francis Ngannou')], max_from_group=1)
#optimizer.add_players_group(fight5)
fight6 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Alonzo Menifield', 'Fabio Cherant')], max_from_group=1)
optimizer.add_players_group(fight6)
fight7 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Jared Gooden', 'Abubakar Nurmagomedov')], max_from_group=1)
optimizer.add_players_group(fight7)
fight8 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Modestas Bukauskas', 'Michal Oleksiejczuk')], max_from_group=1)
optimizer.add_players_group(fight8)
fight9 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Omar Morales', 'Shane Young')], max_from_group=1)
optimizer.add_players_group(fight9)
fight10 = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Abu Azaitar', 'Marc-Andre Barriault')], max_from_group=1)
optimizer.add_players_group(fight10)
lineups = optimizer.optimize(n=5, max_exposure=.3, exposure_strategy = AfterEachExposureStrategy)
#optimizer.set_min_salary_cap(95)
for lineup in lineups:
print(lineup)
unfortunately the load in csv doesnt state opponent like the Draftkings one does so this line wouldnt work.
optimizer.restrict_positions_for_opposing_team(['F'], ['F'])

FanDuel doesn't include information about opponent so restrict_positions_for_opposing_team  isn't working because of this. Right now it's only possible to manually add this information into optimizer as in your code sample with player groups.

sorry to bring up a closed topic.  This works except for the minor case one fighter is in the MVP slot.
IE McGregor can be the MVP, but his opponent can be one in the flex fighters.
McGregor and his opponent would never both be flex fighters in same lineup, but its treating MVP as a totally different position.  What is the work around this?
Secondary question, what if if wanted Conor McGregor or his opponent in every lineup.  I tried this, but it didnt like it:
fight1= PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Dustin Poirier', 'Conor McGregor')], max_from_group=1, min_from_group=1)
optimizer.add_players_group(fight1)
and i tried this as well
group = PlayersGroup([optimizer.get_player_by_name(Nickname) for Nickname in ('Conor McGregor', 'Dustin Poirier')])
optimizer.add_players_group(group)
any thoughts?


draw_texture_rotate changes x,y of texture

"draw_texture_rotate" uses as the center of rotation x & y of the texture
and moves the texture half of its width left and half of its height up.

Yes I know, this is the expected behaviour since draw_texture_rotate is simply calling draw_texture_rotate_hotspot.

Thanks for the quick response. So this is not a bug ?
The description of the function is "Draws a texture with rotation around its center"
When I enter x & y of the texture I set the top left corner of the texture.
So the center of the texture shouldn't be "x + width / 2.0" and "y + height / 2.0"

I'm a bit confused, draw_texture_rotate will rotate around the center of the texture, and this center will be drawn at  (x, y).

Ok I get it  now, thank you.
It's a little bit confusing that all the other draw_texture functions that don't use rotation, their x & y parameters are for setting the upper left corner of the texture but in rotation x & y parameters are the center of rotation. I expected that x & y parameters are still used for the upper left corner and the texture's rotation center would be "x + texture->width / 2.0" and "y + texture->height / 2.0"

Yeah I understand it, maybe I should change it but I don't know if there are any other projects depending on that.

I think it's expected to have changes like that in an under development library.
Personally I always check the commits before updating the library.
Maybe you need to do some "stable" releases so most people will stick with that.
Some small releases for critical things like a libctru update so when people update
to that will not have anything broken in their projects
and the master branch will have all the heavy changes.


Workaround Showing HTML instead of JSON

Once I go into my Network tab in a private tab and press "account", the resulting preview is of HTML and not JSON. Thanks!

@cchuster
Sorry for the delayed reply.
You will need to search for the correct endpoints, Webull should usually reutrn you with the JSON for updating information, but HTML is returned for some endtpoints (especially at the beginning of the page load) to render the UI.
I believe you need to look for the correct one.


Add the config source manager

A follow-up to #295 that superseded #277.
This brings the config source manager from the core repository that is not publicly exposed. The manager will be used to implement a provider that uses config sources to inject data in configuration. This code was originally reviewed on the collector core repository.
/cc @owais

I do not quite understand why are we not implementing the configsource support in Collector core. Why do we need the config manager here? I thought it can be internal in Collector core and still do its job. I am confused.

I do not quite understand why are we not implementing the configsource support in Collector core. Why do we need the config manager here? I thought it can be internal in Collector core and still do its job. I am confused.

It is a good question: internal is not visible on other repositories - so until that is moved outside internal we can't use it. The obvious risk is the code diverging, but, that is the point here per my understanding: we want to experiment before making it public on the core repository.


upgrade to grpc 1.62.2

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 61.97%. Comparing base (59551e4) to head (ff61344).
Report is 213 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #12800      +/-   ##
============================================
+ Coverage     61.75%   61.97%   +0.22%
+ Complexity      207      198       -9
============================================
  Files          2436     2462      +26
  Lines        133233   134810    +1577
  Branches      20636    20829     +193
============================================
+ Hits          82274    83547    +1273
- Misses        44911    45107     +196
- Partials       6048     6156     +108

Flag
Coverage Δ

custom-integration1
<0.01% <ø> (-0.01%)
:arrow_down:

integration
<0.01% <ø> (-0.01%)
:arrow_down:

integration1
<0.01% <ø> (-0.01%)
:arrow_down:

integration2
0.00% <ø> (ø)

java-11
61.94% <ø> (+0.23%)
:arrow_up:

java-21
61.85% <ø> (+0.23%)
:arrow_up:

skip-bytebuffers-false
61.95% <ø> (+0.21%)
:arrow_up:

skip-bytebuffers-true
61.83% <ø> (+34.10%)
:arrow_up:

temurin
61.97% <ø> (+0.22%)
:arrow_up:

unittests
61.96% <ø> (+0.22%)
:arrow_up:

unittests1
46.71% <ø> (-0.18%)
:arrow_down:

unittests2
27.97% <ø> (+0.24%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@sullis  - It will be great if you can do this upgrade as per the proposal outlined in https://github.com/apache/pinot/issues/12676
cc @gviedma


Register Middleware

How is the best way to register some module middeware on the Laravel?

In your service provider you can call the middleware method on the Router class ($this->app['router'])

Some changes came into Laravel 5.4. Use  aliasMiddleware method on $this->app['router'] and you are ready to go.

So I cant load middleware in my service provider module?
The only solution is to mannualy register the middleware on kernel.php?

I Got, now its working thnks people!!!!

@LeonardoBAV
Could you please give me the sample code?

@praditha
For those still wondering, here is a sample code from @LeonardoBAV 's repositories:
https://github.com/LeonardoBAV/User/blob/9a4054ad8397f116d820c487d0812450250b178f/Providers/UserServiceProvider.php#L30

If you want add a Global Middleware, just instace Kernel Http Contract from Illumite and call pushMiddleware method
public function boot(){
        $this->registerTranslations();
        $this->registerConfig();
        $this->registerViews();
        $this->registerFactories();
        $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');

        // adding global middleware
        $kernel = $this->app->make('Illuminate\Contracts\Http\Kernel');
        $kernel->pushMiddleware('Modules\Frequencia\Http\Middleware\PeriodoMiddleware');
    }

`
public function boot(Illuminate\Routing\Router $router)
{
	Gate::define('user-invoice-check', 'Modules\Vproducts\Policies\UserPolicy@invoice');

    $this->registerTranslations();
    $this->registerConfig();
    $this->registerViews();
    $this->registerFactories();
    $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');

     $router->aliasMiddleware('CanReadInvoiceMiddleware', \Modules\Vproducts\Http\Middleware\CanReadInvoiceMiddleware::class);

}

`


Login required and session restore

After the session is restored, each time it asks to login to post a photo.
But for example, if you receive a timeline feed, then everything works.
Example code to reproduce:
cl = Client()
if has_session:
    cl.load_settings('/tmp/dump.json')
cl.login(USERNAME, PASSWORD)
cl.dump_settings('/tmp/dump.json')
cl.get_timeline_feed() # this is work
cl.photo_upload(iimg_path, text) # this is not work after restore

Maybe this can be fixed?
python - 3.6.9
instagrapi - 1.12.19

@wpbloger try to figure it out yourself and send a PR


Create database connectivity

Use sqllite3 database.
create table :
table_name - manage_passwords

id
Name
Url
Email
Tag
Creation date
Notes
Level(strong, low,medium)
importance(Stared/Unstarred).
Last modified.

Database actions:

Add.

Edit.

Delete.

Show.

Search via email tag attributes.

Clipboard(this is not a database action)

code should be in database.py

Partially fixed https://github.com/paint-it/genpass/pull/9

Need PR for adding entries of creation date,  email and portal url in DB


Startup imports unkown

Not sure if this should be filed here or in the Pylance-repo, but here goes.
Using the default startup functionality makes Pylance complain about unkowns. As an example, if I make a file startup.ipy, with the only contents "import numpy as np" in it, and put it in the "~/.ipython/profile_defaults/startup" directory, then I can in every new notebook directly use the np-import. Pylance however, will still give the errors "np is not defined".

Thanks for the issue. This would likely have to be handled by pylance (if at all). Transferring there.


Add temperature diffusion option

Reason: may help with numerical stability in strongly forced hot Jupiter simulations

Old LFRic ticket & branch: https://code.metoffice.gov.uk/trac/lfric/ticket/4165


Fix 1-3 frame false-occlusion bug

Fixes #924.
This turned out to be a very similar problem to the infamous flickering holes bug. It has to do with stale occlusion results for bounding volume proxies that are newly set to visible (ones that have been newly assigned to a tile). Particularly, when there was a bounding volume proxy that was previously occluded when assigned to a previous tile and then got unassigned and then much later reassigned to a new tile. The last occlusion result from the old tile assignment ended up being picked up and the selection mistakenly thinks the tile is occluded. The solution is to keep track of when a tile is assigned and ignore occlusion results from before the assignment.

Thanks for the pull request @nithinp7!

:heavy_check_mark: Signed CLA found.

Reviewers, don't forget to make sure that:

[ ] Cesium for Unreal Samples works.

This looks good to me. But I noticed that my last status update is almost always showing Waiting For Occlusion Results 1. That seems like a problem, doesn't it, if not all of the results are coming back?

Whether I use the cesium-native commit referenced by this branch, or the current main, I consistently see it stop at "Waiting for Occlusion Results 1` (or sometimes 2), in both the normal Editor and in Play-in-Editor.
So I added some code to PostRenderViewFamily_RenderThread to detect primitives that were frustum culled in the view and also mark them occluded. This seems to resolve the problem (the "waiting" count now goes to zero), and I can't see any negative side effects. I was slightly worried about the extra work in the render thread, so I profiled it and PostRenderViewFamily_RenderThread was less than 1/100th of the total time spent in the render thread, which is acceptable if not amazing.
So I committed it. It's slightly dodgy because it uses FViewInfo, which is a private renderer class. But that's not breaking any new ground.
I guess overall I'm just not extremely confident that the occlusion culling is going to work perfectly in all cases, on all platforms, and in all situations, especially now that I've mucked with it. 😆 So I'm going to introduce a feature flag for occlusion culling in this release and default it to off. I don't want to just default the Tileset option to false, because then any tilesets saved while it defaults to Off will have it disabled forever (until the user manually changes it). Hopefully lots of people will try it out and we'll get some feedback and can enable it quickly (even in an interim release before September 1).
I'll merge this now and open a separate PR for the feature flag.


noSuchMethod forwarders shouldn't be generated in abstract classes, but rather in their concrete descendants

Consider the following code:
abstract class Hest {
  noSuchMethod(i) => null;

  void hest();
}

class Fisk extends Hest {}

main() {}

Currently, it's compiled to the following Kernel code:
library;
import self as self;
import "dart:core" as core;

abstract class Hest extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method noSuchMethod(core::Invocation i) → dynamic
    return null;
  no-such-method-forwarder method hest() → void
    return this.{self::Hest::noSuchMethod}(new core::_InvocationMirror::_withoutType("hest", const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}), false));
}
class Fisk extends self::Hest {
  synthetic constructor •() → void
    : super self::Hest::•()
    ;
}
static method main() → dynamic {}

Note that the abstract class gets the noSuchMethod forwarder, and the concrete child inherits it.  However, abstract classes shouldn't receive noSuchMethod forwarders for their abstract members, even if those classes have a user-defined noSuchMethod.  The forwarders should be added to the top-most concrete descendants of such abstract classes.  In the example above, it's Hest that should receive the forwarder.

Fixed as of 6db5f38d4ee4df44ca07795d49f7753455a8fb6e.


Output is all messed up when running apt install/remove

Seems related to the progress bar is uses.
https://github.com/Microsoft/vscode/issues/31339

It appears to be a regression from the buffer refactor https://github.com/sourcelair/xterm.js/pull/717

Quite interesting. Do you have any quick thoughts on why this might be happening or should I just start digging into it?

@parisk took me most of the day to figure it out :stuck_out_tongue: fix is in https://github.com/sourcelair/xterm.js/issues/822

Awesome, just reviewed it. Looks great!


Spelling Correction

Anonymouse corrected to Anonymous

@kd7vrc : Thanks for your contribution! The author, @davidiseminger, has been notified to review your proposed change.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

powerbi-docs/desktop-connect-impala.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

#sign-off
Thanks for catching that!

@kd7vrc : Thanks for your contribution! The author, @davidiseminger, has been notified to review your proposed change.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

powerbi-docs/desktop-connect-impala.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Desktop shortcuts intermittently stop working since KDE 5.25

Describe the bug
Since KDE 5.25 landed in unstable a couple of months ago, desktop shortcuts like Alt-Tab, Ctrl-Alt-V, etc. occasionally stop working.
E.g. sporadically Alt-Tab would stop functioning. It won't work for a minute or so and come back. Nothing shows up in journalctl -f --user during that time.
I'm running KDE on Wayland.
Steps To Reproduce
Steps to reproduce the behavior:

Install NixOS unstable with KDE
Try to use it

Expected behavior
Alt-Tab should always work...
Additional context
Discourse thread: https://discourse.nixos.org/t/global-hotkeys-shortcuts-intermittently-stop-working-in-new-plasma-5-25/20016
Notify maintainers
CC @ttuegel @nyanloutre
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 5.19.0, NixOS, 22.11 (Raccoon), 22.11pre398017.93c57a98847`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.10.3`
 - channels(haizaar): `""`
 - channels(root): `"home-manager, nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I think I've localized the problem to windows of "Chromium Web Apps". I.e. window switching between regular chrome (and other windows) works fine. But if I Alt+Tab into Chromium Web App window, then I can't Alt+Tab out of it.
As well, all as all other global shortcuts are blocked while any Chromium Web App window is in focus.
Whatever Chrom(ium) is doing, I don't think it should be able to block global shortcuts...

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/global-hotkeys-shortcuts-intermittently-stop-working-in-new-plasma-5-25/20016/4


initial cast

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[ ] Searched the bugtracker for similar pull requests
[ ] Read adding new extractor tutorial
[ ] Read youtube-dl coding conventions and adjusted the code to meet them
[ ] Covered the code with tests (note that PRs without tests will be REJECTED)
[ ] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[ ] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Explanation of your pull request in arbitrary form goes here. Please make sure the description explains the purpose and effect of your pull request and is worded well enough to be understood. Provide as much context and examples as possible.

Look at the comments for the InfoExtractor class in extractor/common.py to see which metadata items are known to yt-dl. If some metadata provided with the content seems relevant but doesn't match any of the pre-defined metadata items, one can consider returning a custom item.
In particular you actually need to extract the media URL!
Your life will be easier if you search for the "song data" which contains the desired URL:
from ..utils import js_to_json
...
        song_data = self._search_regex(
            r'(?s)\bsong_data_%s\s*=\s*(\{.*?})\s*</script/b' % (video_id ),
            webpage, 'song data')
        song_data = self._parse_json(song_data, video_id, transform_source=js_to_json)

Then song_data will be a dict with entries like those that I posted.
You can go through the list of known metadata items and match them up, eg yt-dl view_count is the site's plays (I assume). uploader and its relatives should be matched up with items in the .user member of the JSON.

I am getting this error, does it means i don't have ffmpeg.exe for myPATH
youtube_dl.utils.DownloadError: ERROR: m3u8 download detected but ffmpeg or avconv could not be found. Please install one.

What do you think ? If you return an unprocessed HLS URL, yt-dl defers to ffmpeg because it doesn't know whether it can download it.
You can process the HLS URL from the song_data using the _extract_m3u8_formats() method. Use entry_protocol=m3u8_native to have yt-dl try using its internal HLS downloader before punting to ffmpeg.
Look at extractor/common.py for the method "documentation" and existing extractors for usage examples. Typically, you have a list formats to which you add format dicts for various renderings. When you find a manifest you add the returned formats, if any, to the list using formats.extend(....) -- in this case you only have one manifest so you can assign its result to formats. Finally you call self._sort_formats(formats), which either sorts formats in place or raises an error if the list is empty.


Clarify interactive behavior

This PR clarifies the behavior of --interactive when STDIN is not
attached.  It is in consideration of the example:
docker run -i -a stderr -a stdout --sig-proxy=true ubuntu bash
Signed-off-by: Sally O'Malley<EMAIL_ADDRESS>

@rhatdan  @mheon
see https://github.com/docker/docker/pull/12401

@crosbymichael I had a similar question. See the ref https://github.com/docker/docker/pull/12401

@sallyom After thinking about this more we can do better on the docker side instead of updating documentation we can just fulfill what the user is expecting here.  I have a fix in PR #14417 and it will do the right thing when -i,--interactive is specified for a container.

Thanks for checking out the other PR.  I'll close this one for now.


Headline for compatVersion sould be on level h4

In the README.md documentation, the headline level of "compatVersion" (https://github.com/SAP/grunt-openui5#compatversion) should be h4 (instead of h5), because it is a property under "options" (and not "resources") - technically proofed via trial & error in my Gruntfile ;)

Hi @SteffenGa
Thanks for that! Fixed with #68


Pipeline check to ensure that the branch can build the latest sway standard library

We should add some sort of pipeline stage that would have caught that building the latest standard library returned a non-zero exit code with forc.  #812 for details.

Is this is still an issue given that we have std-lib tests running in CI now?

I don't think so, no.

Closing then.


perf: defer fiat ramps loading to fiat ramp page

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #5478   👈

This comment was auto-generated by Graphite.


Remove Noto Color Emoji fallback

It's causing browser errors logged in Firefox under certain circumstances, and I think we're better off recommending Linux users to install a proper emoji font into their system.

I marked it as "breaking" but alternative I think adding a hint into FAQ my emojis have no color / not displayed correctly would also do it ...

@silverwind should we add a FAQ instead?

Yes, I'll add something in the docs.

FAQ entry added.


Revert "new line"

This reverts commit 22b80a6.# Pull Request Checklists
Important: When opening a pull request, keep only the applicable checklist and delete all other sections.
Checklist for all PRs
Required

[X] I tested the new code for my use case (please provide a reproducible example of how you tested the new functionality)

[X] I ensured all dplyr functions that commonly conflict with other packages are fully qualified.

This can be checked and addressed by running check_functions.pl and responding to the prompts. Test your code after you do this.

[ ] I generated the documentation and checked for errors relating to the new function (e.g. devtools::document()) and added NAMESPACE and all other modified files in the root directory and under man.

Optional but preferred with PRs

[ ] I updated and/or successfully knitted a vignette that relies on the modified code (which ones?)

Checklist for New Functions
Required

[ ] I documented my function using ROxygen style.)

[ ] All parameters for the function are described in the documentation and the function has a decriptive title.

Example:
#' Use GISTIC2.0 scores output to reproduce maftools::chromoplot with more flexibility
#'
#' @param scores output file scores.gistic from the run of GISTIC2.0
#' @param genes_to_label optional. Provide a data frame of genes to label (if mutated). The first 3 columns must contain chromosome, start, and end coordinates. Another required column must contain gene names and be named `gene`. (truncated for example)
#' @param cutoff optional. Used to determine which regions to color as aberrant. Must be float in the range [0-1]. (truncated for example)

[ ] My function uses a library that isn't already a dependency of GAMBLR and I made the package aware of this dependency using the function documentation import statment.

Example:
#' @return nothing
#' @export
#' @import tidyverse ggrepel

Checklist for changes to existing code

[X] I added/removed arguments to a function and updated documentation for all changed/new arguments

[X] I tested the new code for compatability with existing functionality in the Master branch (please provide a reprex of how you tested the original functionality)

This PR includes an example of a bit of code that should be added to any function that attempts to load a local file. This should help provide a more useful error for users who are running GAMBLR remotely and have either not set up their config (or loaded it properly) or have forgotten to sync the data locally. The relevant chunk is below. Without this code, calling get_manta_sv() on a remote computer will fail with an error about a missing file.
    #check for missingness
    if(!file.exists(sv_file)){
      message("Cannot find file locally. If working remotely, perhaps you forgot to load your config (see below) or sync your files?")
      message('Sys.setenv(R_CONFIG_ACTIVE= "remote"')
    }    #check for missingness
    if(!file.exists(sv_file)){
      message("Cannot find file locally. If working remotely, perhaps you forgot to load your config (see below) or sync your files?")
      message('Sys.setenv(R_CONFIG_ACTIVE= "remote"')
    }

I have resolved the merge conflict. Nothing worth mentioning, just some blank lines.

I didn't realize this PR hadn't been merged. I've added to it. Can the new commits be reviewed please?


len() of a null array is evaluating to > 0 (regression at 9be1403)

Repro is with zq commit 9506d27b.
Consider the following ZSON, where we've got one record containing a populated array and the other with a null array.
$ cat answers.zson
{
    answers: [
        "ise.wrccdc.cpp.edu" (bstring),
        "<IP_ADDRESS>" (bstring)
    ] (=0)
} (=1)
{
    answers: null
} (1)

The filter in the following Z is letting through the record with the null array, which is unexpected.
$ zq -version
Version: v0.29.0-28-g9506d27b

$ zq -i zson -t 'put len_of_answers=len(answers) | filter len(answers) > 0' answers.zson
#0:record[answers:array[bstring],len_of_answers:int64]
0:[[ise.wrccdc.cpp.edu;<IP_ADDRESS>;]2;]
0:[-;-;]

Interestingly, if I filter on the null that was placed into len_of_answers, I see the expected behavior. So it's as if the stored and computed null values are different in some way.
$ zq -i zson -t 'put len_of_answers=len(answers) | filter len_of_answers > 0' answers.zson
#0:record[answers:array[bstring],len_of_answers:int64]
0:[[ise.wrccdc.cpp.edu;<IP_ADDRESS>;]2;]

This change of behavior came with the changes in #2072. If I circle back to zq tagged v0.29.0 that came right before that PR, I see the expected behavior.
$ zq -version
Version: v0.29.0

$ zq -i zson -t 'put len_of_answers=len(answers) | filter len(answers) > 0' answers.zson
#0:record[answers:array[bstring],len_of_answers:int64]
0:[[ise.wrccdc.cpp.edu;<IP_ADDRESS>;]2;]

Incidentally, the reason I stumbled onto this is because an example Z in the by grouping docs uses a query like this to isolate the responses from DNS queries:
zq -f table 'len(answers) > 0 | count() by id.resp_h,num_answers=len(answers) | sort -r num_answers,count' dns.log.gz

Verified in Zed commit 7adbb36.
As some other things have changed since this issue was opened, let's take a step back to revisit where things stood as of Zed commit 874ac74 right before the changes in the linked PR. Here's a repro using current Zed syntax and ZSON instead of TZNG output:
$ zq -z 'put len_of_answers:=len(answers) | filter len(answers) > 0' answers.zson
{answers:["ise.wrccdc.cpp.edu" (bstring),"<IP_ADDRESS>" (bstring)] (=0),len_of_answers:2} (=1)
{answers:null,len_of_answers:null} (1)

Likewise, the output of the docs example shows all the unexpected null values in the table at the very end beyond what's shown to the reader.
$ zq -f table 'len(answers) > 0 | count() by id.resp_h,num_answers:=len(answers) | sort -r num_answers,count' dns.log.gz
ID.RESP_H       NUM_ANSWERS COUNT
<IP_ADDRESS>      16          4
<IP_ADDRESS>   16          2
<IP_ADDRESS>  15          2
<IP_ADDRESS>   14          4
...
<IP_ADDRESS> -           2
<IP_ADDRESS>      -           1
<IP_ADDRESS>      -           1

Now with the fix at Zed commit 7adbb36, the nulls are filtered out as we'd expect.
$ zq -version
Version: v0.29.0-360-g7adbb368

$ zq -z 'put len_of_answers:=len(answers) | filter len(answers) > 0' answers.zson
{answers:["ise.wrccdc.cpp.edu" (bstring),"<IP_ADDRESS>" (bstring)] (=0),len_of_answers:2} (=1)

Likewise for the docs example, the end of the table output no longer has the rows with the null entries.
$ zq -f table 'len(answers) > 0 | count() by id.resp_h,num_answers:=len(answers) | sort -r num_answers,count' dns.log.gz
ID.RESP_H       NUM_ANSWERS COUNT
<IP_ADDRESS>      16          4
<IP_ADDRESS>   16          2
<IP_ADDRESS>  15          2
<IP_ADDRESS>   14          4
...
<IP_ADDRESS>  1           2
<IP_ADDRESS>    1           2
<IP_ADDRESS>     1           2

Thanks @nwt!


release for windows arm64

Discussed in https://github.com/chapar-rest/chapar/discussions/84

Originally posted by gedw99 October  1, 2024
BTW gio works just fine on Windows arm64.
you can build it from windows amd64, thanks for gio, and so GitHub ci can do it.

Changes are applied, and arm64 version for windows will be published in next batch release


snapshot 06-06 and remove become...

The becomeAsync... methods on Body are currently preventing us from moving to Snapshot 06-06.
I'm proposing we remove these methods and remove all become... methods. This seems like it's something that should be implemented on the framework side and follows Open Swift's desire to have the "Minimum viable requirements".
In Vapor, we have to implement these methods ourselves to support the functionality we want with Stream anyway. I feel that other frameworks may also be doing this.

Fixes  #64

@tannernelson
Sorry for my bugs...
I also agree with removing becomeX Cause

Open Swift's desire to have the "Minimum viable requirements".

But If I have chance to fix that.. How do you think this approach?
https://github.com/noppoMan/S4/commit/778b203fddb3d638d2bd8a4119c8507629f14326
I removed all mutating staffs from becomeAsyncX... But the behaviors are same as before.(Actually It is unnecessary mutation for becomeAsyncX.)
And It's not become(I mean there is no mutating) so We might need to change the method name to toAsyncX something like that

No worries, I think it makes more sense for these methods to be framework specific anyway.

Merging with 6 upvotes.


لا استطيع التنزيل من موجهة الاوامر

Problem encountered on https://dotnet.microsoft.com/en-us/learn/dotnet/hello-world-tutorial/install
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

This is not actionable @MohamedAhmdsdn. Can you provide more details?


Project Documentation: Trimmed whitespaces

In this edit, unnecessary spaces were removed from the project's documentation

Beautiful!


Check bash syntax of functions defined in ~/.travis/job_stages

Have we considered using a linter like https://github.com/koalaman/shellcheck ? Could be interesting to hook it up somewhere in the travis-build CI.

@costog I have not. It would be interesting to add such checks in the future, but not with this PR.


debug_execution_witness bug

Describe the bug
rpc return:
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32603,
        "message": "internal blocking task error"
    }
}

internal logs:
thread '<unnamed>' panicked at /app/crates/trie/trie/src/witness.rs:144:13:
assertion `left == right` failed
  left: 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
 right: 0x76092902092f8dc9ad6d08d82029e3c2a36c8120687843a2e223fdd9665db4bf
stack backtrace:
   0: rust_begin_unwind
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:665:5
   1: core::panicking::panic_fmt
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:74:14
   2: core::panicking::assert_failed_inner
   3: core::panicking::assert_failed
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:365:5
   4: reth_trie::witness::TrieWitness<T,H>::compute
             at ./crates/trie/trie/src/witness.rs:144:13
   5: <reth_trie::witness::TrieWitness<reth_trie_db::trie_cursor::DatabaseTrieCursorFactory<TX>,reth_trie_db::hashed_cursor::DatabaseHashedCursorFactory<TX>> as reth_trie_db::witness::DatabaseTrieWitness<TX>>::overlay_witness
             at ./crates/trie/db/src/witness.rs:39:9
   6: <reth_provider::providers::state::historical::HistoricalStateProviderRef<TX> as reth_storage_api::trie::StateProofProvider>::witness
             at ./crates/storage/provider/src/providers/state/historical.rs:373:9
   7: <reth_provider::providers::state::historical::HistoricalStateProvider<TX> as reth_storage_api::trie::StateProofProvider>::witness
             at ./crates/storage/provider/src/providers/state/macros.rs:14:21
   8: reth_storage_api::trie::_::<impl reth_storage_api::trie::StateProofProvider for alloc::boxed::Box<T>>::witness
             at ./crates/storage/storage-api/src/trie.rs:58:1
   9: <reth_rpc_eth_types::cache::db::StateProviderTraitObjWrapper as reth_storage_api::trie::StateProofProvider>::witness
             at ./crates/rpc/rpc-eth-types/src/cache/db.rs:79:9
  10: reth_rpc::debug::DebugApi<Provider,Eth>::debug_execution_witness::{{closure}}::{{closure}}
             at ./crates/rpc/rpc/src/debug.rs:674:31
  11: reth_rpc_eth_api::helpers::call::Call::spawn_with_state_at_block::{{closure}}
             at ./crates/rpc/rpc-eth-api/src/helpers/call.rs:363:13
  12: reth_rpc_eth_api::helpers::blocking_task::SpawnBlocking::spawn_tracing::{{closure}}
             at ./crates/rpc/rpc-eth-api/src/helpers/blocking_task.rs:74:58
  13: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panic/unwind_safe.rs:272:9
  14: std::panicking::try::do_call
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:557:40
  15: __rust_try
  16: std::panicking::try
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:521:19
  17: std::panic::catch_unwind
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panic.rs:350:14
  18: reth_tasks::pool::BlockingTaskPool::spawn::{{closure}}
             at ./crates/tasks/src/pool.rs:93:35
  19: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panic/unwind_safe.rs:272:9
  20: std::panicking::try::do_call
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:557:40
  21: __rust_try
  22: std::panicking::try
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:521:19
  23: std::panic::catch_unwind
             at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panic.rs:350:14
  24: rayon_core::unwind::halt_unwinding
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/unwind.rs:17:5
  25: rayon_core::registry::Registry::catch_unwind
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:367:27
  26: rayon_core::spawn::spawn_job::{{closure}}
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/spawn/mod.rs:97:13
  27: <rayon_core::job::HeapJob<BODY> as rayon_core::job::Job>::execute
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/job.rs:169:9
  28: rayon_core::job::JobRef::execute
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/job.rs:64:9
  29: rayon_core::registry::WorkerThread::execute
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:860:9
  30: rayon_core::registry::WorkerThread::wait_until_cold
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:794:21
  31: rayon_core::registry::WorkerThread::wait_until
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:769:13
  32: rayon_core::registry::WorkerThread::wait_until_out_of_work
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:818:9
  33: rayon_core::registry::main_loop
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:923:5
  34: rayon_core::registry::ThreadBuilder::run
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:53:18
  35: <rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{{closure}}
             at /root/.asdf/installs/rust/1.81.0/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.1/src/registry.rs:98:20
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Steps to reproduce
Currently the existing debug_execution_witness API does not work (even with main branch). Steps to reproduce (see error message at the end):
1.
2. git clone https://github.com/ethpandaops/ethereum-package.git
3. go to ethereum-package
4. update network_params.yml with latest reth container
5. install kurtosis if needed
6. kurtosis clean --all && kurtosis run --enclave l1-reth-testnet ./ --args-file network_params.yaml --verbosity DETAILED
7. call rpc (docker ps and find out)
curl --location 'http://localhost:<port>' \
--header 'Content-Type: application/json' \
--data '{
	"jsonrpc":"2.0",
	"method":"debug_executionWitness",
	"params":[
        "0x1",
        true
	],
	"id":1
}'

Node logs
No response
Platform(s)
Linux (ARM)
What version/commit are you on?
1.81
What database version are you on?
just main branch version
Which chain / network are you on?
dev
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct

[X] I agree to follow the Code of Conduct

I don't know if we can fix this, docker container will be single threaded and not support having a rayon::ThreadPool next to the tokio executor. cc @Rjected

I don't know if we can fix this, docker container will be single threaded and not support having a rayon::ThreadPool next to the tokio executor. cc @Rjected

I think the blocking task error is just noting that the task panicked, due to the failing assert:
thread '<unnamed>' panicked at /app/crates/trie/trie/src/witness.rs:144:13:
assertion `left == right` failed
  left: 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
 right: 0x76092902092f8dc9ad6d08d82029e3c2a36c8120687843a2e223fdd9665db4bf
stack backtrace:

So probably unrelated to the type of threadpool used

optimistically marking this as resolved because this code changed a lot, if this happens again, please open a new issue


Apply a PauliMeasurement to a PauliFrame

Describe the bug 🐞
It is not possible to apply a PauliMeasurement to a PauliFrame.
Expected behavior
Using the pftrajectories() function, I thought I would be able to simulate a circuit that includes PauliMeasurements, like PauliMeasurement(P"ZZ", 1)
Minimal Reproducible Example 👇
circuit = [sHadamard(1),sHadamard(2),PauliMeasurement(P"ZZ", 1)]
pftrajectories(circuit; trajectories=1000)

Error & Stacktrace or other complete output produced by the MRE ⚠
┌ Warning: Could not compactify the circuit, falling back to a slower version of the simulation. Consider reporting this issue to the package maintainers to improve performance. The offending gate was `PauliMeasurement{Array{UInt8, 0}, Vector{UInt64}}(+ ZZ, 1)`.
└ @ QuantumClifford ~/.julia/packages/QuantumClifford/haClW/src/pauli_frames.jl:203
ERROR: MethodError: no method matching apply!(::PauliFrame{Stabilizer{…}, Matrix{…}}, ::PauliMeasurement{Array{…}, Vector{…}})
The function `apply!` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  apply!(::Register, ::PauliMeasurement{A, B}) where {A, B}
   @ QuantumClifford ~/.julia/packages/QuantumClifford/haClW/src/classical_register.jl:86
  apply!(::Register, ::Any, Any...; kwargs...)
   @ QuantumClifford ~/.julia/packages/QuantumClifford/haClW/src/classical_register.jl:36
  apply!(::QuantumClifford.AbstractQCState, ::NoisyGate)
   @ QuantumClifford ~/.julia/packages/QuantumClifford/haClW/src/noise.jl:125
  ...

Stacktrace:
 [1] pftrajectories(state::PauliFrame{Stabilizer{QuantumClifford.Tableau{Vector{UInt8}, LinearAlgebra.Adjoint{UInt64, Matrix{…}}}}, Matrix{Bool}}, circuit::Vector{QuantumClifford.AbstractOperation})
   @ QuantumClifford ~/.julia/packages/QuantumClifford/haClW/src/pauli_frames.jl:229
 [2] _pftrajectories(circuit::Vector{QuantumClifford.AbstractOperation}; trajectories::Int64, threads::Bool)
   @ QuantumClifford ~/.julia/packages/QuantumClifford/haClW/src/pauli_frames.jl:217
 [3] _pftrajectories
   @ ~/.julia/packages/QuantumClifford/haClW/src/pauli_frames.jl:196 [inlined]
 [4] #pftrajectories#198
   @ ~/.julia/packages/QuantumClifford/haClW/src/pauli_frames.jl:187 [inlined]
 [5] top-level scope
   @ REPL[6]:1
Some type information was truncated. Use `show(err)` to see complete types.

Environment (please complete the following information):

Output of using Pkg; Pkg.status()

[0525e862] QuantumClifford v0.9.12

Output of using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)

[c3fe647b] AbstractAlgebra v0.43.9
  [ec485272] ArnoldiMethod v0.4.0
  [62783981] BitTwiddlingConvenienceFunctions v0.1.6
  [861a8166] Combinatorics v1.0.2
  [f70d9fcc] CommonWorldInvalidations v1.0.0
  [34da2185] Compat v4.16.0
  [864edb3b] DataStructures v0.18.20
  [ffbed154] DocStringExtensions v0.9.3
  [86223c79] Graphs v1.12.0
  [3e5b6fbb] HostCPUFeatures v0.1.17
⌅ [2cd5bd5f] ILog2 v0.2.4
  [615f187c] IfElse v0.1.1
  [d25df0c9] Inflate v0.1.5
  [692b3bcd] JLLWrappers v1.6.1
  [1914dd2f] MacroTools v0.5.13
  [2edaba10] Nemo v0.47.3
  [bac558e1] OrderedCollections v1.6.3
  [aea7be01] PrecompileTools v1.2.1
  [21216c6a] Preferences v1.4.3
  [0525e862] QuantumClifford v0.9.13
  [5717a53b] QuantumInterface v0.3.6
  [fb686558] RandomExtensions v0.4.4
  [fdea26ae] SIMD v3.6.0
  [699a6c99] SimpleTraits v0.9.4
  [aedffcd0] Static v1.1.1
  [90137ffa] StaticArrays v1.9.8
  [1e83bf80] StaticArraysCore v1.4.3
  [10745b16] Statistics v1.11.1
  [8e1ec7a9] SumTypes v0.5.8
  [e134572f] FLINT_jll v300.100.300+0
  [656ef2d0] OpenBLAS32_jll v0.3.28+3
  [0dad84c5] ArgTools v1.1.2
  [56f22d72] Artifacts v1.11.0
  [2a0f44e3] Base64 v1.11.0
  [ade2ca70] Dates v1.11.0
  [8ba89e20] Distributed v1.11.0
  [f43a241f] Downloads v1.6.0
  [7b1f6079] FileWatching v1.11.0
  [b77e0a4c] InteractiveUtils v1.11.0
  [b27032c2] LibCURL v0.6.4
  [76f85450] LibGit2 v1.11.0
  [8f399da3] Libdl v1.11.0
  [37e2e46d] LinearAlgebra v1.11.0
  [56ddb016] Logging v1.11.0
  [d6f4376e] Markdown v1.11.0
  [a63ad114] Mmap v1.11.0
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.11.0
  [de0858da] Printf v1.11.0
  [9a3f8284] Random v1.11.0
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization v1.11.0
  [1a1011a3] SharedArrays v1.11.0
  [6462fe0b] Sockets v1.11.0
  [2f01184e] SparseArrays v1.11.0
  [fa267f1f] TOML v1.0.3
  [a4e569a6] Tar v1.10.0
  [8dfed614] Test v1.11.0
  [cf7118a7] UUIDs v1.11.0
  [4ec0a83e] Unicode v1.11.0
  [e66e0078] CompilerSupportLibraries_jll v1.1.1+0
  [781609d7] GMP_jll v6.3.0+0
  [deac9b47] LibCURL_jll v8.6.0+0
  [e37daf67] LibGit2_jll v1.7.2+0
  [29816b5a] LibSSH2_jll v1.11.0+1
  [3a97d323] MPFR_jll v4.2.1+0
  [c8ffd9c3] MbedTLS_jll v2.28.6+0
  [14a3606d] MozillaCACerts_jll v2023.12.12
  [4536629a] OpenBLAS_jll v0.3.27+1
  [bea87d4a] SuiteSparse_jll v7.7.0+0
  [83775a58] Zlib_jll v1.2.13+1
  [8e850b90] libblastrampoline_jll v5.11.0+0
  [8e850ede] nghttp2_jll v1.59.0+0
  [3f19e933] p7zip_jll v17.4.0+2

Output of versioninfo()

Julia Version 1.11.1
Commit 8f5b7ca12ad (2024-10-16 10:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 24 × 13th Gen Intel(R) Core(TM) i7-13700
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, alderlake)
Threads: 1 default, 0 interactive, 1 GC (on 24 virtual cores)

Additional context
I'm guessing there just isn't a function for this type yet? How difficult do you think it would be to implement this? Or am I not getting something here why this is not possible?
Thanks!

Thank you for highlighting this issue.
Based on the stack trace, the closest match is apply!(::Register, ::PauliMeasurement{A, B}) where {A, B}. You might try the following approach in the meantime:
julia> bell_state = ghz(2);

julia> m = PauliMeasurement(P"ZZ", 1);

julia> g1, g2 = sHadamard(1),sHadamard(2);

julia> v = VerifyOp(bell_state,[1,2]);

julia> reg = Register(bell_state, zeros(Bool, 1));

julia> circuit =  [g1,g2,m,v];

julia> petrajectories(reg, circuit)
Dict{CircuitStatus, Float64} with 3 entries:
  false_success:CircuitStatus(2) => 0.0
  true_success:CircuitStatus(1)  => 1.0
  failure:CircuitStatus(3)       => 0.0

julia> mctrajectories(reg, circuit, trajectories=1000)
Dict{CircuitStatus, Float64} with 4 entries:
  false_success:CircuitStatus(2) => 0.0
  true_success:CircuitStatus(1)  => 1000.0
  failure:CircuitStatus(3)       => 0.0
  continue:CircuitStatus(0)      => 0.0

Hi, @J-C-Q, Quinten. You are right, this is currently not supported for a few non-technical reasons. Below I describe our reasoning and the way we would currently perform such measurements in simulation. Please let me know if they address your needs -- we can also discus potential additions to the library that more closely match what you want to set up.
Option 1: Alternative simulators (slower but providing additional functionality)
As @Fe-r-oz  mentioned, we have a Monte Carlo simulator that supports this feature (but it is naturally slower as it does not use Pauli frames) and an interesting "Symbolic Perturbative Expansion" simulator that can give you symbolic results instead of just numerical estimates (also much slower though).
Option 2: Using an ancilla qubit
The Pauli frame simulator supports single qubit measurements with the sMRX/sMRY/sMRZ operations. Usually any multi-qubit Pauli measurement would be decomposed into a single-qubit measurement of an ancillary qubit which was entangled with the qubits being measured. Usually we would want to be able to simulate the noise in the circuit implementing this multi-qubit measurement. Because of these requirements we have a tool to automatically convert multi-qubit measurements to the necessary single-qubit-ancilla measurement. E.g. when we run an error-correcting code, we do not want to assume that all multi-qubit measurements are perfect or even equally-good. Below is an example how one would do that:
julia> using QuantumClifford, QuantumClifford.ECC, Quantikz

julia> parity_checks = S"ZZ" # add more rows if you want more checks
+ ZZ

julia> circuit, nbanc, resultbits = naive_syndrome_circuit(parity_checks) # you can change the indices of the aux qubits and bit-storage locations
(QuantumClifford.AbstractOperation[sCNOT(1,3), sCNOT(2,3), sMRZ(3, 1)], 1, 1:1)

julia> full_circuit = [sHadamard(1), sHadamard(2), circuit...]

julia> traj_result = pftrajectories(full_circuit; trajectories=1000);

julia> pfmeasurements(traj_result) |> mean # from Statistics
0.535

Option 3: Implementing a Pauli frame runner for PauliMeasurement
We can certainly do that, it just has not been a priority of ours because of other low-hanging fruit. If you are interested in contributing this, we would be happy to help you navigate the pull request process.
Option 4: Just a commutativity check
If you do not care about simulating the circuit-level noise (which requires the decomposition shown in option 2), then maybe just checking the commutativity between the current Pauli frame and the Pauli operator you want to measure is all you need. That is also much faster:
julia> pre_measurement_circuit = [sHadamard(1), sHadamard(2)]

julia> traj_result = pftrajectories(pre_measurement_circuit; trajectories=1000);

julia> commutativities = comm(traj_result.frame, P"ZZ"); # TODO we should have a getter for traj_result.frame

julia> mean(commutativities)
0.491

@Fe-r-oz , Quinten is asking about Pauli frame simulations, which are much faster than other methods of simulation. Your approach (using the other two types of simulators we have, the "Monte Carlo over Stabilizer states" and the "Symbolic Perturbative Expansion" simulators) happen to support multi-qubit Pauli measurements, but they would be many orders of magnitude slower and does not necessarily address Quinten's request.

Amazing!
Thank you very much for this super detailed answer.
Option 2 is what I thought I could avoid, but is indeed what I want. Since I want mid-circuit measurements, option 4 sadly doesn't work for my use case.
I would be thrilled to give option 3 a try. However, a low-level implementation seems a bit over my head right now. What do you think about a layer of abstraction to make it work, where we basically insert option 2 here under the hood? Similar to how apply!(frame::PauliFrame, op::sMX) is implemented at the moment. Although # TODO implement a faster direct version makes me think this is not desired. But maybe I could start with that so that the interface works out for now.

I like your suggestion. It is indeed possible to do "option 2 under the hood", but the problem would be that ancillary qubits will need to be made available in the Pauli frame object. That is doable, but would be annoying to track.
I would suggest the following:

In the PauliFrame constructor, always make sure that you have one extra qubit in the internal tableau
Implement your "option 2 under-the-hood" using that extra qubit
Submit a PR without worrying about performance or tests to discuss
Potentially we might want to discuss some changes to how the extra qubit is counted, to make sure the rest of the library does not crash and burn
Potentially we might discuss performance improvements and additional tests
Merging :)


Add support for autoclosing oauth flow window

Summary

This solves a small UX friction point. It can be tested by using something that makes use of the interactive flow like gitsign and I've integrated those changes here to test with.

Update go.mod to contain:
replace github.com/sigstore/sigstore => github.com/stgarf/sigstore 510ce9e
and then run go mod tidy. You should be able to test out the changes. Of note is that the page will not close automatically if no connectorid (for gitsign for example) is set due to the fact that the window.close API call will only succeed if the page is the first item in the window's history.
git config --local commit.gpgsign true  # Sign all commits
git config --local tag.gpgsign true  # Sign all tags
git config --local gpg.x509.program gitsign  # Use gitsign for signing
git config --local gpg.format x509  # gitsign expects x509 args
git config --local gitsign.autoclose true
git config --local gitsign.autoclosetimeout 5
git config --local gitsign.connectorid https://accounts.google.com

Release Note

Updated the interactiveIDTokenSource struct to have autoclose and autocloseTimeout fields which default to false and 0 respectively. The original InteractiveSuccessHTML returned in flow.go has been changed from a static string to a dynamic go template which can be returned with a call to GetInteractiveSuccessHTML(autoclose bool, timeout int).
Documentation

This may require an update to docs but I am not sure where. I've only seen gitsign using this so far and I've already made some documentation updates in my fork of it.

Code looks good, but I haven't tested it.

@wlynch @imjasonh pinging you here too, @bobcallaway was wondering if you had tried this out and run into an issue

@wlynch to answer your question for posterity the page will not close automatically if it was redirected to from another page, e.g. no social login was set, due to the fact that the window.close API call will only succeed if the page is the first item in the window's history.

Thanks folks! Commits have been squashed.


871 variant corporate name [obsolete]

https://github.com/uwlib-cams/MARC2RDA/blob/main/Working Documents/8XX.csv

https://docs.google.com/spreadsheets/d/1iTPBdK78422zdR_z0RMQv67_1k3WOYe3L9PqnRbyvyQ/edit#gid=454284746
Hello Everyone,
Please see the first pass for field code Field 871 - Variant Corporate Name (BK, AM, MP, MU, VM, SE) [OBSOLETE, 1987].
Thank you.
Best,
Alice

Note from coder: Could not find sufficient MARC documentation for this field and suggest this field be excluded from mapping.

Excluding from the mapping makes sense.


Waiting to sysprep to finish

I try to build openstack image inside VM in esxi.
But it stuck on this message for more than 12 hours. :/ I don't know what i am missing.

Windows Version: Windows server 2019 SERVERDATACENTERCORE
virtio version: 1.185
config:
virtual_disk_format=QCOW2
image_type=KVM

Hello,
Please check the VM in Hyper-V and make sure it started correctly. The answer file configured the Windows VM to autologin at boot, so you should see a PowerShell console opened. If not, you can check the internal logs in the VM at path: C:\\UnattendResources\image-generation-log.txt
Thank you,
Adrian Vladu

Hello Adrian,
Sorry for the trouble, Yes see PowerShell console but after i can see Command console and it stops there?

Is ok this behavior?
Regards,

Hello,
Can you do a cat on C:\UnattendResources\image-generation-log.txt?

the file don't exist

I see, can you run from PowerShell: & C:\UnattendResources\Logon.ps1 (as it is possible that something fails there)?. Logon.ps1 is the entry point script for the imaging tools.

After i execute Set-ExecutionPolicy Unrestricted the command Logon is ok

Are there any screen output or logs (C:\UnattendResources\image-generation-log.txt) after the execution of the Logon.ps1?

I couldn't check for any logs it was exit automatically. But the screen output is this

This means that the image creation was successful, but there is still the problem of Logon.ps1 not getting executed in the first place automatically. From the logs / information you shared, I cannot conclude what is the underlying issue, possible an execution failure of the autologon script. Can you share the full name of the Windows ISO you used so that I can try to reproduce the problem?

Windows ISO full name is: SW_DVD9_Win_Server_STD_CORE_2019_1809.2_64Bit_English_DC_STD_MLF_X22-18452  or sss_x64fre_en-us_dv9
i don't know from where you can download this or something similar :)

This happening also for Windows server 2016 i try standard and datacenter version but still the same? Maybe is because i run it from Windows Server?

Hello,
How did you get windows-openstack-imaging-tools code on your env? using git clone?
There might be issues with the file security descriptors when downloading the code.
I suggest using Unblock-File on all the files in windows-openstack-imaging-tools before creating the image: https://devblogs.microsoft.com/scripting/easily-unblock-all-files-in-a-directory-using-powershell/
Thank you,
Adrian Vladu

Hi,
I download the zip file, thanks i will check it
Thanks you

Closing the issue, as there were no more replies from the issue creator.


How to disable multiple new lines between classes and functions?

I want this because of fewer overall lines:
def fn_1:
  pass

def fn_2:
  pass

def fn_3:
  pass

but Ruff gives me this:
def fn_1:
  pass

def fn_2:
  pass

def fn_3:
  pass

Is there way to fix it?

Unfortunately we don't support that. It would be inconsistent with both PEP 8 and other formatters like Black.


FlyDB optimization problem

In order to improve the throughput of FlyDB, we have the following options:

WAL logging operation, using memory read/write key-value and asynchronous drop disk

Introduce message queues, hand over disk drop operations to kafka or mq, and the main process only performs memory reads and writes

Enable multiple processes in the background, pass in corresponding processes based on the key, execute data drop operations in the processes, and the main process only performs memory read and write operations

If a certain monitoring mechanism is adopted and the asynchronous disk drop is unsuccessful, can a notification be sent to the client before the machine goes offline.

All of the above will have Big data loss status when the machine is offline instantly. If Kafka is deployed in other nodes, the loss will be smaller, but the operation is relatively more complex.

good issue！


Assertions do not lead to error in latest version of wdio-ui5-service

Describe the bug
We are currently using version 1.0.3 of wdio-ui5-service in our webdriver tests. For writing tests we are currently using the fe-testlib (https://ui5-community.github.io/wdi5/#/fe-testlib).
We recently tried to update our wdio-ui5-service version to 1.5.1. However, suddenly the assertions done in our facades do no longer lead to errors.
Here's an example test:
it("should open the app and check the page", async () => {
        await FioriElementsFacade.execute((_Given, When, Then) => {
            Then.onMyListReport.iSeeThisPage();
            Then.onMyObjectPage.iSeeThisPage();
        });

        expect(true).toBe(false);
});

Obviously, the call in the facade should fail - as it cannot be on both pages.
However, the error that shows is

Which is executed after the assertions that are done. If I remove the expect(true).toBe(false) assertion, the test runs green, which is also wrong.
If I roll back to 1.0.3 I see an expected error.
To Reproduce
Sadly this is a private repository, so I cannot share it.
Expected behavior
This code:
await FioriElementsFacade.execute((_Given, When, Then) => {
  Then.onMyListReport.iSeeThisPage();
  Then.onMyObjectPage.iSeeThisPage();
})

should lead to an error in the execution, log it accordingly and should let the test fail.
Logs/Console Output
wdi5: {
        logLevel: "verbose"
},

[0-0] [wdi5] successfully initialized wdio-ui5 bridge
[0-0] [wdi5] [test library] Seeing the page 'com.sap.<MYAPP>::PackagesList' - OK
[0-0] Error in "<MYAPP>"
Error: expect(received).toBe(expected) // Object.is equality

Expected: false
Received: true
    at /Users/MYAPP/my.test.ts:39:22
    at Generator.next (<anonymous>)
    at fulfilled (/Users/MYAPP/my.test.ts:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

if applicable, please copypasta code-fenced log output, e.g.
Runtime Env (please complete the following information):

wdi5/wdio-ui5-service version: 1.5.2
UI5 version: 1.108.4
wdio-version (output of wdio --version): ^7.32.0
node-version (output of node --version): 18.16.1
OS: MacOS
Browser + Version: Chrome 114.0.5735.198

    "@wdio/cli": "^7.20.5",
    "@wdio/devtools-service": "^7.20.0",
    "@wdio/local-runner": "^7.20.5",
    "@wdio/mocha-framework": "^7.20.3",
    "@wdio/sauce-service": "^7.20.5",
    "@wdio/selenium-standalone-service": "^7.20.3",
    "@wdio/spec-reporter": "^7.20.3",
    "@wdio/types": "^7.20.3",
    "wdio-ui5-service": "1.5.2",
    "webdriverio": "^7.32.0",

Additional context

Can you please help to track this issue down to root cause and find the exact version of wdio-ui5-service where this issue first occurred.

Sure! I just checked it - as far as I can see there was no release between version 1.4.0 and 1.5.0 - with version 1.4.0 everything works fine. The problem start occurring when consuming version 1.5.0

I'm pretty sure #506 will not fix this issue. The problem is not the message itself, but the test not stopping & failing when the assertion is wrong. The test should have stopped after
await FioriElementsFacade.execute((_Given, When, Then) => {
  Then.onMyListReport.iSeeThisPage();
  Then.onMyObjectPage.iSeeThisPage();
});

but it only fails after
expect(true).toBe(false);

Meaning that the first statement does not seem to execute the assertion as expected.

Hey @Siolto, I apparently forgot to keep up with this issue. Sadly I am now back at writing wdi5/webdriver tests using the Fiori Test Facade and I am again facing these issues.

I'm using the latest versions of wdio and the wdio-ui5-service
"wdio-ui5-service": "2.0.2",
"webdriverio": "8.20.0"

You can also ping me directly so I can link the repository this is happening in.


[transfer] CRI update to use transfer service

CRI today uses a mix of the containerd client to pull images alongside a plugin specific implementation. The transfer service pull operation should replace this logic and be able to take advantage of all new features added to the transfer store, such as sandboxed unpacking, credential helpers, and image validation.
CRI specific configuration around pull will need to be migrated to the transfer service. Ideally the configuration can either be directly translated or explicitly migrated if needed. The mirror configuration is always moved to a new configuration method which makes some of this easier.
Related to #7592

If no one is assigned this issue, I can work on it.

Is there a reason why this issue was postponed to 2.1? Will it be possible to use the Verification feature with CRI on 2.0 :sweat_smile:?


fix: Using required arguments instead of lookup in replication_configuration

Description

For required arguments instead of doing a lookup, variables are fixed. I fixed such arguments which are required instead of lookup.
Motivation and Context

Makes it easier to not miss these variables to set. Also, keeps the module uniform as other variables are set like this.
Breaking Changes

None
How Has This Been Tested?

Plan against the example/s3-replication.

Thanks a lot, @karancode !
v1.12.0 has been just released.


Improve composability of tuple schemas

It would be nice to be able to concatenate two (and by extension, any list of, under concatenation and anEmptyList) tuple schemas. It would also be nice to be able to use an array schema like a varargs, and be able to compose a tuple and array schema to represent a tuple followed by zero or more elements of a certain type.

26223 says that this is currently impossible

It is currently possible to append a generic tuple onto a known tuple by taking advantage of function rest parameters:
type Foo = [number, string];

// error
type Bar = [boolean, ...Foo];
// okay
type Baz = Parameters<(x: boolean, ...rest: Foo) => void>;

I doubt this helps, but it's pretty neat.

I found a way, but it's somewhat dangerous.
Firstly, we can take advantage of the above type to define a Prepend operator:
type Prepend<A, T extends any[]> = Parameters<(head: A, ...tail: T) => any>;

Next, we need to define a conditional construct, of the form IfCond<Arg, Y, N> = ..., which will check the condition on the argument and evaluate to Y if it holds and N otherwise. For convenience, we can assign default values, and use the compiler to check conditions for us:
type IsZero<T extends number, Y=unknown, N=never> = T extends 0 ? Y : N;

const x: IsZero<0> = "dummy"; // compiles
const y: IsZero<1> = "dummy"; // Type "dummy" is not assignable to type 'never'

Using this, we can define some predicates:
type IfEmpty<T extends any[], Y=unknown, N=never> =
    T extends [] ? Y : N;

type IfFinite<T extends any[], Y=unknown, N=never> =
    IfEmpty<
        T,
        Y,
        T extends (infer S)[]
          ? S[] extends T
              ? N
              : Y
          : never
    >;

Note that we can use the technique from before to "pattern match" on a tuple to see if it is empty or not, by asking if (...args: T) => any extends (head: infer Head, ...tail: infer Tail) => any ? ... : .... Since we have a way to destructure tuples, and a way to prepend elements to them, we have the necessary primitives to treat tuples as cons lists. To concatenate two cons lists:
concat :: [a] -> [a] -> [a]
concat []     ys = ys
concat (x:xs) ys = x : concat xs ys

We also have to account for the case when our first tuple is actually an infinite array in order for the type to terminate. Now, we can translate into a Concat type by using recursion:
type Concat<T extends any[], S extends any[]> =
    IfFinite<
        T,
        // If finite, proceed as normal
        (...args: T) => any extends (head: infer Head, ...tail: infer Tail) => any
            // Recurse if T has a head and tail
            ? Prepend<Head, Concat<Tail, S>>
            // Otherwise, T is empty, return the second tuple
            : S,
        // If infinite, the result is the first type
        T
    >

However, the compiler does not technically support recursive types like this, and it's likely that they could break in the future. Since this is still experimental, though, I may add something like this in anyway.

Yeah, the compiler does not appropriately support this, and will actively disallow this recursion. I'll see if there's a way to get around this, but it just seems impossible for now.
Furthermore, when appending two tuples, there is no way to strongly type the length of the result, which is also a problem.

Well, there is another hack that can be used to get around the limit on self-referential recursive types: using index types.
// The first type in the tuple, or 'never' if it does not exist
type Head<T extends any[]> = T extends [infer Head, ...any[]] ? Head : never;

// All elements after the head in the tuple, or 'never' if it does not exist
type Tail<T extends any[]> =
    ((...args: T) => any) extends ((head: any, ...tail: infer Tail)) ? Tail : never;

// The last type in the tuple, or 'never' if it does not exist
type Last<T extends any[]> = {
    0: Last<Tail<T>>;
    1: Head<T>;
}[T extends ([] | [any]) ? 1 : 0];

Furthermore, only simple recursion is allowed in the above hack; you may use an accumulator, but you may not use the result of a recursion. That is, recursive type constructions must be tail recursive.
For example, the following type will not work:
// Can't recurse directly
type Snoc<A, T extends any[]> =
    T extends []
        ? [A]
        : T extends [any]
            ? [Head<T>, A]
            : Cons<Head<T>, Snoc<A, Tail<T>>>;

// Also doesn't work
type Snoc<A, T extends any[], Suffix extends any[] = []> =
    T extends []
        ? Cons<A, Suffix>
        : T extends [any]
            ? Cons<Head<T>, Cons<A, Suffix>>
            : Snoc<A, Tail<T>, Cons<Head<T>, Suffix>>;

// Not direct recursion, but not tail recursive:
type Snoc<A, T extends any[]> = {
    0: [A];
    1: Cons<Head<T>, Snoc<A, Tail<T>>>;
    2: [Head<T>, A];
}[IfEmpty<T, 0, IfHasTail<T, 1, 2>>];

// Works!
type Snoc<A, T extends any[], Suffix extends any[] = []> = {
    0: Cons<A, Suffix>;
    1: Snoc<A, Tail<T>, Cons<Head<T>, Suffix>>;
    2: Cons<Head<T>, Cons<A, Suffix>>;
}[IfEmpty<T, 0, IfHasTail<T, 1, 2>>];

Now, we need a tail-recursive implementation of append with an accumulator. To do this, we reverse the input list, and then reverse it again, but onto the second list:
append :: [a] -> [a] -> [a]
append xs ys = go (reverse xs) ys
  where
    go (x:xs) acc = go xs (x:acc)
    go [] acc = acc

Then, we just need to define a type Reverse<T extends any[], Suffix extends any[] = []> using the above methods, and Append should follow naturally.

Finally, with some additional handling for finiteness:
type Reverse<T extends any[], Suffix extends any[] = []> = {
    0: Suffix;
    1: Reverse<Tail<T>, Cons<Head<T>, Suffix>>;
    2: Cons<Head<T>, Suffix>;
    3: T;
}[IfEmpty<T, 0, IfFinite<T, IfHasTail<T, 1, 2>, 3>>];

type Concat<T extends any[], S extends any[]> = {
    0: S;
    1: Reverse<Reverse<T>, S>;
    2: Cons<Head<T>, S>;
    3: never;
}[IfEmpty<T, 0, IfFinite<T, IfHasTail<T, 1, 2>, 3>>];

Note that it's possible to allow for Append<T, S> to be T if it is an infinite array type, but this could be surprising to anyone expecting it to be one or more elements of type T extends (infer E)[] ? E : never followed by S.

Looking back, this can't be done nicely without some form of value-level inference, to map from a tuple type to its length. For example, Haskell uses typeclasses for this, and while you could do it in TypeScript, you would not be able to infer the correct instances, and would end up manually passing the equivalent of a successor-encoded natural number.


Migration for 1_4_1 spreadsheets into CEDAR

load 1_4_1 spreadsheet corpus into CEDAR (at https://cedar.metadatacenter.org/dashboard?folderId=https:%2F%2Frepo.metadatacenter.org%2Ffolders%2Ffc0ac625-0478-421a-a269-1045f627b8b3)
Crosswalk info from Marcus:

1.4.1_Resources_map_to_1.5.1_Template.xlsx


fix(component): getPixelColor return hex color to prevent "rgb(0,0,0)"

Hi, thanks for submitting a Pull Request! :balloon:
Before submitting, please be sure to check a few things:
Commit names formatting
This repository is automatically published to npm with
semantic-release.

I now got this "color":
   <item name="splashBackground" type="color">#00A6D600A6D600A6D64F000000000000000000000000000000FF000000FF000000000000000000000000</item>


Auto upload to Google Drive

Add the ability for the program to automatically upload all songs (or just the "Music" directory) to Google Drive so that even less work is required by the user.

Possibly zip folder for faster upload and download.

Removed need with WSL integration.


HTTPS support

This service should support (default?) to using encrypted HTTP for all communications.

I've reopened this ticket because this is a very important feature request of this very serious project.

Hi I'm still blocked by this. Any update?

Still waiting on your Pull Request 😆


Make sublime.log_commands(True) configurable

To allow users to debug Sublime specific bugs better, it would be a good idea to make sublime.log_commands(True) configurable from the plugin.

Need to think where to place this, so that it is not needed in every command.


Introducing IcebergSplitReader

In this PR we introduces IcebergSplitReader which supports reading Iceberg splits with positional delete files.
This PR is to replace https://github.com/facebookincubator/velox/pull/5897
TODO:

Delete file deserialization
Add filter on base file path when reading the delete file

@Yuhta https://github.com/facebookincubator/velox/pull/7847 is the new PR that uses RowReader instead of HiveDataSource. Can you please review that one? I kept both open just for your reference. Thanks!


Code Quality: Introduce editor config

A small code quality change, but here's a .editorconfig file to keep the code consistent. I used tabs as that's what's  most popular, but you can adjust it as you wish.
Visual Studio's default recommended editor config file is as shown below:
# Rules in this file were initially inferred by Visual Studio IntelliCode from the Template Studio codebase.
# You can modify the rules from these initially generated values to suit your own policies.
# You can learn more about editorconfig here: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference.

[*.cs]

#Core editorconfig formatting - indentation

#use soft tabs (spaces) for indentation
indent_style = space

#Formatting - new line options

#place else statements on a new line
csharp_new_line_before_else = true
#require braces to be on a new line for lambdas, methods, control_blocks, types, properties, and accessors (also known as "Allman" style)
csharp_new_line_before_open_brace = all

#Formatting - organize using options

#sort System.* using directives alphabetically, and place them before other usings
dotnet_sort_system_directives_first = true

#Formatting - spacing options

#require NO space between a cast and the value
csharp_space_after_cast = false
#require a space before the colon for bases or interfaces in a type declaration
csharp_space_after_colon_in_inheritance_clause = true
#require a space after a keyword in a control flow statement such as a for loop
csharp_space_after_keywords_in_control_flow_statements = true
#require a space before the colon for bases or interfaces in a type declaration
csharp_space_before_colon_in_inheritance_clause = true
#remove space within empty argument list parentheses
csharp_space_between_method_call_empty_parameter_list_parentheses = false
#remove space between method call name and opening parenthesis
csharp_space_between_method_call_name_and_opening_parenthesis = false
#do not place space characters after the opening parenthesis and before the closing parenthesis of a method call
csharp_space_between_method_call_parameter_list_parentheses = false
#remove space within empty parameter list parentheses for a method declaration
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
#place a space character after the opening parenthesis and before the closing parenthesis of a method declaration parameter list.
csharp_space_between_method_declaration_parameter_list_parentheses = false

#Formatting - wrapping options

#leave code block on separate lines
csharp_preserve_single_line_blocks = false

#Style - Code block preferences

#prefer curly braces even for one line of code
csharp_prefer_braces = true:suggestion

#Style - expression bodied member options

#prefer expression bodies for accessors
csharp_style_expression_bodied_accessors = true:warning
#prefer block bodies for constructors
csharp_style_expression_bodied_constructors = false:suggestion
#prefer expression bodies for methods
csharp_style_expression_bodied_methods = when_on_single_line:silent
#prefer expression-bodied members for properties
csharp_style_expression_bodied_properties = true:warning

#Style - expression level options

#prefer out variables to be declared before the method call
csharp_style_inlined_variable_declaration = false:suggestion
#prefer the language keyword for member access expressions, instead of the type name, for types that have a keyword to represent them
dotnet_style_predefined_type_for_member_access = true:suggestion

#Style - Expression-level  preferences

#prefer default over default(T)
csharp_prefer_simple_default_expression = true:suggestion
#prefer objects to be initialized using object initializers when possible
dotnet_style_object_initializer = true:suggestion

#Style - implicit and explicit types

#prefer var over explicit type in all cases, unless overridden by another code style rule
csharp_style_var_elsewhere = true:suggestion
#prefer var is used to declare variables with built-in system types such as int
csharp_style_var_for_built_in_types = true:suggestion
#prefer var when the type is already mentioned on the right-hand side of a declaration expression
csharp_style_var_when_type_is_apparent = true:suggestion

#Style - language keyword and framework type options

#prefer the language keyword for local variables, method parameters, and class members, instead of the type name, for types that have a keyword to represent them
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion

#Style - Language rules
csharp_style_implicit_object_creation_when_type_is_apparent = true:warning
csharp_style_var_for_built_in_types = true:warning

#Style - modifier options

#prefer accessibility modifiers to be declared except for public interface members. This will currently not differ from always and will act as future proofing for if C# adds default interface methods.
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion

#Style - Modifier preferences

#when this rule is set to a list of modifiers, prefer the specified ordering.
csharp_preferred_modifier_order = public,private,protected,internal,static,async,readonly,override,sealed,abstract,virtual:warning
dotnet_style_readonly_field = true:warning

#Style - Pattern matching

#prefer pattern matching instead of is expression with type casts
csharp_style_pattern_matching_over_as_with_null_check = true:warning

#Style - qualification options

#prefer events not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_event = false:suggestion
#prefer fields not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_field = false:suggestion
#prefer methods not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_method = false:suggestion
#prefer properties not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_property = false:suggestion
csharp_indent_labels = one_less_than_current
csharp_using_directive_placement = outside_namespace:silent
csharp_prefer_simple_using_statement = true:warning
csharp_style_namespace_declarations = file_scoped:warning
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent

[*.{cs,vb}]
dotnet_style_operator_placement_when_wrapping = beginning_of_line
tab_width = 4
indent_size = 4
end_of_line = crlf
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
[*.{cs,vb}]

#Style - Unnecessary code rules
csharp_style_unused_value_assignment_preference = discard_variable:warning

#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_compound_assignment = true:warning
dotnet_style_prefer_simplified_interpolation = true:suggestion

Sorry but I have to close this PR. I prefer indenting using spaces, unless I'm working on an environment where tabs are required or I'm tight on space.

That's fine, but you missed the point of what I was trying to do. I meant that you should introduce an editor config to standardise your wish to have a code style - in this case, space indents - through an editor config file. Using tab indentation wasn't a specific suggestion for the code style, rather that's what I thought of when I made this PR, that is, I meant for you to communicate your code style and I would implement it, and not exclusively use tabs as a suggestion.


Search bar is too wide on results page

Looks like this:

Should look like this:

Should i update moui.css on broom to see if this is still a problem @sreynen ?

Updated title to reflect current status. Search bar went from being too wide to too small.


docs: update envd destroy commands to reflect envd/#1568

Summary
The previous behavior of envd destroy without the --path or --name flags was to attempt to delete the environment in the current working directory. PR envd/#1568 prevents this behavior by causing envd destroy to fail if both flags are not provided. This PR updates envd destroy examples in zh and en documentations to reflect this change.


Dexcom environment switching success message update

The success message for changing the Dexcom environment switching now reads "Dexcom environment has been changed successfully" instead of "Changed URL successfully."

Resolved