Updated ComponentDialog so it returns DialogTurnStatus.Cancelled when the dialog is cancelled

Right now, if a component dialog is cancelled, the status returned is Completed, this is inconsistent with the behavior for Dialogs
This PR updates the ComponentDialog class to return Cancelled if the dialog is cancelled. It will still return the results object in case the dev wants to use this value to return information regarding the cancellation.

Pull Request Test Coverage Report for Build 62402

0 of 0   changed or added relevant lines in 0 files are covered.
15 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 69.218%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder.Dialogs/ComponentDialog.cs
15
74.19%

Totals

Change from base Build 61799:
0.02%

Covered Lines:
4214

Relevant Lines:
6088

💛  - Coveralls

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll


Fix Javadoc for waitUntilFinish

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @lukecwik

LGTM

Coverage increased (+0.02%) to 69.973% when pulling 9ff3ac3dcd61a310ed52d9bbc9f133a5ae5fb445 on tgroh:fix_wait_finish_doc into f7e8f886c91ea9d0b51e00331eeb4484e2f6e000 on apache:master.


Add Static Code Checks for Test Files

Add code to the validator script ./script/validator.py that checks the test cases and test utilities for the naming conventions listed in https://github.com/cmu-db/peloton/blob/master/test/README.md.
(follow-up from #770)

please assign this to me !

@tharun323 Sure, give it a try. Please make sure, that the code is proper Python 3 and formatted correctly. (we just did this in https://github.com/cmu-db/peloton/pull/1127)
Some more details about what we want to do

extend the validator script ./script/validator.py to apply some checks on our test source files
check all ./test/**/*_test.cpp files for

correct class naming
correct method naming (test case)
My first idea is to parse the lines with the gtest Macro TEST_F(..) and extract the two identifiers to check them.

check all ./test/**/*_util.h files for correct class naming
We have some exceptions there, but I haven't decided yet how to treat them. (e.g. PelotonCodeGenTest)

With this check we might find some files with wrong naming.
An issue can only be assigned to members, so I assigned it to me to show someone is working on it. If you have any questions, fell free to ask right here.

@tharun323 Are you still working on this? If not, can I try my hand at this issue, @tcm-marcel?

I emailed @tharun323 and didn't get any answer, he doesn't seems reliable.
@schedutron Sure, you can work on it!

@tcm-marcel Cool! I'm busy with a conference till Wednesday, but will surely start working on static code checks after that!


Appearance style

Hello, I prefer the overall sense of harmony, now the plugin's function bar is purple, a little dimensional. Too dark a color can also attract attention. I made some changes to a color on the style settings, but now there's a problem that the title doesn't show up. And I hope that the style can be closer to the original, the second photo. Is it possible to add a native style selection, as shown in Figure 2
Figure 1

Figure 2

Native style, add functionality

I don't know what you mean by native style.  To my vision, all of your screenshot just look like darkness with some text; I can't see where the outlines of any boxes are or what it is you want to show me here.  The style settings are available for you to customize as you like; the defaults are based on theme variables, with the purple you're seeing being the "interactive accent" color chosen by the theme.  It's the color the theme has chosen as the "draw attention here" color, so it is definitely intended to be very visible so that you know the hover editor is active and any keyboard commands or typing will immediately affect it.
If the issue is that it is doing this when you're just hovering and not working on the content, you probably want to turn off auto-focus in the Hover Editor settings, and then the purple (or whatever other color the theme or style settings provide) will only appear when you actually click on or otherwise interact with the hover editor.

I know you're trying to highlight its state and to draw attention. But I feel a little bit of peacekeeping, because it's too conspicuous

Ah, that's much clearer to my vision.  Thank you.
The issue here looks to be that you need to change the foreground color(s) as well as the background colors in the style settings.  Specifically "Active title bar foreground color" and "Inactive title bar foreground color" need to be changed to something that contrasts with the background, as they are the colors used for text in the title bar.

How can the style be changed to the way it was? How do I change my CSS? The background color of the outer frame shadow is now modified, and I want to change it back.

If you are using Style settings, there is a refresh symbol (circular arrow) next to each setting that I believe you can use to reset it back to the original style.


Symbolic/config check

Fixes #484

@ritzvik
Please, have a look.

For passing quality checks https://docs.einsteinpy.org/en/latest/dev_guide.html#code-linting
I'll review in a while :)
Thanks for the PR @bibek22

The checks which was being done in derived classes, now happens directly in base class, therefore, we may safely ignore codecov this time.
Probably an issue needs to be raised to eliminate the redundant lines of code.
I'm merging this one @bibek22 . Thanks a lot!


Publish v0.8.0 on pub.dev

@natintosh Can you please publish the new version on pub.dev or give me permissions to do it:
 dart pub uploader add<EMAIL_ADDRESS>

@natintosh can you please publish it? 🙏

I feel like owner of repo is not active. He should give someone else rights to publish and merge PRs

Nothing new here ? Would be cool to find the latest version on pub.dev


Support string input for SOR public functions

No worries at all man, it turned out to be kinda hacky in the end


chore(deps): bump

Applied mkpr on undefined
/tmp/mkpr.sh

Coverage remained the same at 86.451% when pulling 449c16417249ad99daf8986af5fc9629018c6fd0 on mkpr/1 into f97a72f9dbbf87eb4d913e2dc5f494e93b3de6a7 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Disable swiping features?

Is it possible to disable swipe features for volume change, ff, rw, etc?

extends JCVideoPlayerStandard
@override
onTouch(){
//super.onTouch();
//shielding super function
}


HTTP output binding to preserve tracing context

The HTTP binding right now does not preserve the request tracing context from user invocation. The output binding request doesn't include context so the parent trace ID would have to be predictably populated into the request metadata
type InvokeRequest struct {
	Data      []byte            `json:"data"`
	Metadata  map[string]string `json:"metadata"`
	Operation OperationKind     `json:"operation"`
}

@mchmarny , this is known that we are currently not passing context to component code. Curious to know , are you tracing in binding component?
/cc @youngbupark

I get that we are not doing it globally, the HTTP output binding could really benefit here as we are losing context in many workflow use-cases. Could predictable key in metadata be used for this?

I get that we are not doing it globally, the HTTP output binding could really benefit here as we are losing context in many workflow use-cases. Could predictable key in metadata be used for this?

That can work.

Have the tracing issue in dapr/dapr repo. closing this issue and using other one as reference https://github.com/dapr/dapr/issues/1913


Add hooks: .beforeEach and .afterEach

This pr is necessary to add .beforeRequire event in Liftoff.
.beforeRequire event is requested in liftoff#53 and gulp-cli#142.
NOTE: This pr bases on #35.

I'll close this pr because I think this is not needed for https://github.com/js-cli/js-liftoff/issues/53.


[SPARK-9448][SQL] GenerateUnsafeProjection should not share expressions across instances.

We accidentally moved the list of expressions from the generated code instance to the class wrapper, and as a result, different threads are sharing the same set of expressions, which cause problems when the expressions have mutable state.
Also added unit tests for all codegen classes, except GeneratedOrdering (which will never need any expressions since sort now only accepts bound references.

LGTM

Merged build triggered.

Merged build started.

Test build #38894 has started for   PR 7759 at commit c09b50f.

Test build #38894 has finished for   PR 7759 at commit c09b50f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.


Fast backup strategy but slow testing

Hello Franco,
I have the following issue and I'm wondering what the best way to solve it might be. I create large archives, with a new part for each day—arch0001.zpaq, arch0002.zpaq, etc. After completing an archive, I run a test to ensure everything is okay. However, over time, I can't be sure that nothing will get damaged during transport and storage. For this purpose, I could generate CRC/MD5 checksums and transport them along with the files, but this requires reading them again just for the checksums.
After transport, the archives can be easily tested, even on a Synology NAS.
As the volumes grow, the server that tests them may not be able to finish everything within 24 hours, overlapping with the next backup cycle.
Does ZPAQFRANZ have an appropriate option that I can use, for example, to display the CRC for each tested part at the end?
There's a type of ransomware that corrupts files in such a way that it's not obvious at first glance. It damages small parts. You make backups, everything seems calm, but at some point, you find out that everything is corrupted.
Or perhaps you could share your experience, insights, or ideas. How do you test your archives, how often, and how many parallel ZPAQFRANZ processes do you run to reduce the total testing time?
I back up to a network server 120 VMs.  For each VM, I run zpaqfranzhw a \server\share\archive????.zpaq -m2. When archiving, I run 120 parallel copies of ZPAQFRANZ with lowest process and i/o priority. I lower process and i/o priority ot ZPAQFRANZ with external script. Everything done pretty fast. However, thenI test and I do it locally on the server where the archives are stored. I can't run as many parallel processes there, and the testing becomes the bottleneck, which stretches backup window over time, and that worries me.

Of course there already is 😄
-checktxt
-fasttxt
and the backup command

Let's start by saying that you have a strange system; usually, in this case, I use a ZFS filesystem (to store virtual disks) to take ZFS snapshots and perform backups from there (using the zfsbackup command). Anyway, to get back to the topic, it essentially depends on whether you maintain a single file (i.e., not a multipart) or not. In the case of a single file, the -fasttxt switch generates a text file (_crc32.txt) that contains the CRC32 of the written file (-checktxt creates an MD5). There is a fundamental difference: in the second case (MD5), the file is READ again after being created; in the first case, it is not. The second is intended for multivolume files (then we will see the backup and testbackup commands), while the first is for single files. Let's take an example. Suppose we have a 100GB .zpaq file. Let's say we update it, making it 101GB. With the fasttxt switch, zpaqfranz will read 101GB to create the corresponding MD5 code. This is slow. -checktxt (which, by the way, also stores data inside ADS :) on the other hand... reads nothing. The update time is practically zero (you only pay for the computation time for 1GB). Magic? Well, almost; it took me quite a bit of effort. To recap: using -fasttxt will write (multipart archive) a _crc32.txt file (for the new part). For a single archive, that is, a single-file zpaq, it will UPDATE the text file in virtually no time. Using -chktxt will create an _md5.txt file, reading the files FROM SCRATCH. Using -chktxt -backupxxh3 will also write an _md5.txt file (for backward compatibility reasons) but will use xxh3.

You can automate this procedure using the backup command and conversely testbackup, potentially with -backupxxh3. This is the method I use for multipart backups. Using "heavy" hashers does not work like with -fasttxt, meaning it READS the entire file again to calculate the hash (* perhaps I could explain about a potential FRANZHASH here, which is a quasi-hash, but never mind). At that point, the control over the parts of the backup can be done in various ways, depending on the availability of the password (obviously in cases where they are encrypted). The first method is simply to use testbackup nomedelfile.zpaq. This essentially checks for the presence of all the pieces (which is not a given) and uses the QUICK HASH, which is a fake hash that calculates the hash of the first 64K, the middle ones, and the last 64K. The purpose is to pay attention to the misalignment of rsync. In short, it’s a quick-and-dirty test. It obviously does not require the password.
W:\backup\orecchia\copie>zpaqfranz testbackup nas_orecchia_og
zpaqfranz v60.8k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2024-10-19)
franz:testbackup                                _ - command
franz:-hw
fixed filename ./nas_orecchia_og
02721$ *** WARNING: original backup path <</share/cloud/copia/>> != current index path <<./>>
02722$ *** I highly recommend using -paranoid! ***
02723$ *** I highly recommend using -paranoid! ***
02724$ *** I highly recommend using -paranoid! ***
====================================================================================================
Multipart backup looks good
Loading backupfile... ./nas_orecchia_og_00000000_backup.txt
Rows in backup 00000039 from 00000001 to 00000039
Enabling XXH3 (in reading) hasher

Quick hash check

GLOBAL SHA256: BA86C3325251440BBDE51F23E601614C30E1AE5CA447381555DF623305EB21DA
Chunks checked OK: 39 (153.525.024.923 @ 2.398.828.514.421/s)
Last date 2024-10-17 20:16:31

Here you will get some useful infos

the last backup is done on 17-10-2024
It is made of 39 chunks
the hash of the hashes is BA86...

If you want to make a "real" re-hashing
zpaqfranz testbackup nas_orecchia_og -verify

with -ssd (multithread on SSDs) if any
If you want to increase the level of testing, you must have the archive password (if it exists). This test essentially compares the index of the .zpaq file with the index recomputed from the various chunks in it (aka: you can't replace a .zpaq chunk even by editing the .txt file by hand)
W:\backup\orecchia\copie>zpaqfranz testbackup nas_orecchia_og -paranoid -quick -ssd
zpaqfranz v60.8k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(2024-10-19)
franz:testbackup                                _ - command
franz:-quick -hw -paranoid -ssd
fixed filename ./nas_orecchia_og
====================================================================================================
Multipart backup looks good
Loading backupfile... ./nas_orecchia_og_00000000_backup.txt
Rows in backup 00000040 from 00000001 to 00000040
Enabling XXH3 (in reading) hasher

Quick hash check
Files             40 -> 016 threads ->             40 to get

GLOBAL SHA256: C856EFF767F3153EECA151583A0267029315DD0D86B88C57694250DB2DEA47A0
Chunks checked OK: 40 (153.526.129.098 @ 1.943.368.722.759/s)
Last date 2024-10-18 20:16:34
----------------------------------------------------------------------------------------------------
00205! Archive seems encrypted (or corrupted)
Enter password :**************

<<./nas_orecchia_og_00000000_backup.index>>:
40 versions, 369.361 files, 99.399.395 bytes (94.79 MB)
02993$ Long filenames (>255)      4.489 *** WARNING *** (suggest -longpath or -fix255 or -flat)

----------------------------------------------------------------------------------------------------

<<./nas_orecchia_og_????????.zpaq>>:
40 versions, 369.361 files, 153.526.129.098 bytes (142.98 GB)
02993$ Long filenames (>255)      4.489 *** WARNING *** (suggest -longpath or -fix255 or -flat)

dtsize                   368.796 [i]               368.796 [c]: OK
usize            293.600.393.007 [i]       293.600.393.007 [c]: OK
allsize          293.600.393.007 [i]       293.600.393.007 [c]: OK
compressed       153.526.129.098 [i]       153.526.129.098 [c]: OK
6.860s (00:00:06,heap 0|array 114.30MB|dt 794.47MB=>908.78MB) (all OK)

In this example (you can mix -paranoid -verify) you'll see (last lines) a match from index and chunks
I keep them encrypted, incidentally, just to make sure that no one can change them, not even ransomware, because it would have to know the password with which they are encrypted. Yes, I understand that's pretty paranoid, but so it's

If you store backups on *nix machines that you can access via SSH, then usually a script similar to this would work:
Just a snippet (but a real-world one)
@echo off
SETLOCAL
SET CWRSYNCHOME=w:\nz\cloud
mkdir %CWRSYNCHOME%\logs >null
del %CWRSYNCHOME%\logs\*.txt >null

REM the key is here (arrrgghhhhh!!!!)
SET PATH=%CWRSYNCHOME%\BIN;%PATH%

%CWRSYNCHOME%\zpaqfranz work datetime -terse >%CWRSYNCHOME%\logs\risultato.txt

%CWRSYNCHOME%\zpaqfranz work big "r interna" -terse >>%CWRSYNCHOME%\logs\risultato.txt
%CWRSYNCHOME%\zpaqfranz sum w:\backup\rambo\rambo_interna\interna\replicata.zpaq -quick -terse >%CWRSYNCHOME%\logs\rambo1_locale.txt
%CWRSYNCHOME%\bin\ssh.exe -p theport -i %CWRSYNCHOME%\thekey root@wherever "/usr/local/bin/zpaqfranz sum /ssd/zroot/interna/replicata.zpaq -quick -terse -noeta" >%CWRSYNCHOME%\logs\rambo1_remoto.txt
%CWRSYNCHOME%\zpaqfranz comparehex %CWRSYNCHOME%\logs\rambo1_remoto.txt %CWRSYNCHOME%\logs\rambo1_locale.txt "QUICK:" 16 -big  >>%CWRSYNCHOME%\logs\risultato.txt
 (...)

%CWRSYNCHOME%\zpaqfranz work big "runmeifyoucan" -terse >>%CWRSYNCHOME%\logs\risultato.txt
%CWRSYNCHOME%\zpaqfranz dir w:\backup\corsa\proxmox\apezzi /on -terse -noeta -n 5 >>%CWRSYNCHOME%\logs\risultato.txt
%CWRSYNCHOME%\bin\ssh.exe -p theport -i %CWRSYNCHOME%\the_key root@wherever "/usr/local/bin/zpaqfranz testbackup /cloud/corsa/copie/apezzi/corsa.zpaq" >%CWRSYNCHOME%\logs\corsa_remoto.txt
%CWRSYNCHOME%\zpaqfranz testbackup w:\backup\corsa\proxmox\apezzi\corsa.zpaq -noeta -big >%CWRSYNCHOME%\logs\corsa_locale.txt
%CWRSYNCHOME%\bin\ssh.exe -p theport -i %CWRSYNCHOME%\thekey root@wherever "ls -l /cloud/corsa/copie/apezzi/corsa** |tail -n 5" >>%CWRSYNCHOME%\logs\risultato.txt
%CWRSYNCHOME%\zpaqfranz comparehex %CWRSYNCHOME%\logs\corsa_remoto.txt %CWRSYNCHOME%\logs\corsa_locale.txt "GLOBAL SHA256:" 64 -big  >>%CWRSYNCHOME%\logs\risultato.txt

(...)
%CWRSYNCHOME%\zpaqfranz work printbar "=" -terse >>%CWRSYNCHOME%\logs\risultato.txt
%CWRSYNCHOME%\zpaqfranz work datetime -terse >>%CWRSYNCHOME%\logs\risultato.txt
%CWRSYNCHOME%\zpaqfranz work big "conta gli ok" -terse >>%CWRSYNCHOME%\logs\risultato.txt

%CWRSYNCHOME%\zpaqfranz count %CWRSYNCHOME%\logs\risultato.txt 8 -big >>%CWRSYNCHOME%\logs\risultato.txt

if not errorlevel 1 goto va
if errorlevel 1 goto nonva

:nonva
%CWRSYNCHOME%\mailsend -t whereiwanto -f whoknoes -starttls -port 587 -auth -smtp smtp.something -sub "*** ERRORE *** CASA KAPUTT" -user myuser -pass pippo -mime-type "text/plain" -disposition "inline" -attach "%CWRSYNCHOME%\logs\risultato.txt"
goto fine

:va
%CWRSYNCHOME%\mailsend -t whereiwantto -f whoknows-starttls -port 587 -auth -smtp smtp.something -sub "CASA OK" -user myyser -pass pippo -mime-type "text/plain" -disposition "inline" -attach "%CWRSYNCHOME%\logs\risultato.txt"
:fine

OK, this seems a bit complex 😄
Steps:

download the remote files to local (usually rsync)
list the last 5 local files (looking for holes)
run, via ssh.exe, zpaqfranz testbackup on the remote server. Get the data (aka: the global hash)
do a local zpaqfranz testbackup. Get the data (aka the global hash)
comparehex (of 3 and 4)
(repeat)
redirect everything on .txt files
zpaqfranz count the expected OK
mail the logs to different e-mail. Storage (if everything OK) or "real" (in case of errors)

Then there is the version when you can't run zpaqfranz remotely (e.g., hetzner storagebox), the whole file version (not multipart), and so on.
Some time ago, maybe I mentioned it, I had posted the whole thing on the FreeBSD forum (thousands worth-equivalent). Then I argued with a user and deleted everything
Incidentally if you have different folders,within a master folder, there is already switch -home, to split the added files into different files.
/data/debian
/data/freebsd
/data/ubuntu

zpaqfranz /cloud/thebackup /data -home

Storagebox (upload via Linux)

Keep in mind that the test should eventually include a full recoverability test. You can perform a relatively quick one using the t (test) command. A truly serious test involves using -paranoid, which means a complete extraction. This—besides taking time, which you can plan in stages—puts significant pressure on where you write the data. In this case, I use expendable SSDs (i.e., the cheapest, standard Samsung EVO ones) that I set up in striping (ZFS RAID-0), using 2 or 4 at a time. Then I enable deduplication and keep the base volumes.
If you extract 100GB from a virtual machine, this will write 100GB to the disks. Do this day in and day out, and the wear becomes significant. So, I keep 100GB of virtual machine data in a ZFS volume with deduplication. When I extract the 100GB (from the zpaq archive) and write it, ZFS will only actually write the blocks that differ from the original 100GB, significantly reducing the amount of data written. Then, every now and then, I swap the base folders.
Instead, when we talk about backing up very large virtual machines on systems without ZFS (i.e., ESXi, to be clear), I use a FreeBSD virtual machine (TrueNAS) with deduplication, which exposes the data folders via NFS. I perform the backups (from the hypervisor) inside the virtual machine, which will deduplicate the data on its own (rather quickly). We’re still talking about SSDs, of course. Then, "overnight," I run a zpaqfranz that archives the VMDKs from the TrueNAS machine at its own pace. I use a desktop machine with a very fast AMD CPU and a 10GB network card that then writes the archived data to a NAS. So, the TrueNAS VM will have something like /mnt/backup/copia_01, /mnt/backup/copia_02, /mnt/backup/copia_03 for the various days, while the "CPU cruncher" gradually compresses them at its own pace. This also helps to minimize the restore time. In the TrueNAS machine (which is physically within the NFS share of a NAS equipped with 7TB SSDs each), the virtual disks are stored "in clear," meaning inside folders. In case of an emergency, I can use another ESXi machine to mount the TrueNAS NFS (e.g., /mnt/backup/copia_02) and boot directly from there, essentially in no time. Extracting hundreds of GB from zpaq can indeed take a long time. On ZFS systems, I obviously use other measures (like incremental backups).

Enough, or do you want further "spiegone" ?

Let’s add a few more details. If you are working with unencrypted multivolume files that were NOT created with -chunk, THEN the individual pieces are perfectly independent. This means you can test their contents independently of the previous parts and also extract them (in addition to listing them). This obviously applies to files, not to virtual disks (which are too large).
If you have a file server and archive the files in different pieces (backup001.zpaq, backup002.zpaq, backup003.zpaq...), you can perform a paranoid test on the LAST piece (for example, backup003.zpaq), extracting all its contents (I use a RAMDISK). Instead of checking every single file continuously (you'll usually have a large stock of files and then small daily additions), you can do it for the added data.
W:\nz\cloud>zpaqfranz t z:\okane_0002.zpaq -paranoid -to z:\unga2 -ssd
zpaqfranz v60.7p-JIT-GUI-L,HW SHA1/2,SFX64 v55.1,(2024-10-02)
franz:-to                   <<z:/unga2>>
franz:-hw -paranoid -ssd

<<z:/okane_0002.zpaq>>:
1 versions, 7.064 files, 1.429.352.920 bytes (1.33 GB)
Extract 1.452.110.206 bytes (1.35 GB) in 7.064 files (0 folders) / 16 T
        68.00% 00:00:00  ( 941.72 MB)=>(   1.35 GB)  470.86 MB/s

FULL-extract hashing check (aka:paranoid)

Total bytes                  1.452.110.206 (should be 1.452.110.206)
Bytes checked                1.452.110.206 (should be 1.452.110.206)
Files to be checked                  7.063
Files ==                             7.063 (should be 7.063)
Files !=                                 0 (should be zero)
Files deleted                        7.063 (should be 7.063)
RAM: heap 507.13 MB +array 641.92 KB +files 7.52 MB = 515.27 MB
4.719 seconds (00:00:04) (all OK)

Short version
zpaqfranz backup z:\orkane.zpaq c:\nz -fasttxt -backupxxh3

Maybe on the Weekend I will finally do the FRANZHASH, which is an almost perfect hash, except for a hundred bytes

I am writing two different hashes. zeta and zetaenc (!).
Essentially in the next version of the backup command it will be possible to store the ZETA hashes (which are basically xxhash64 minus 104 bytes) and the CRC-32 of the individual chunks WITHOUT having to re-read them from disk.
Essentially finished compression, the data is written and bon (admittedly with a little slowdown due to internal computations).
I don't think you can do anything faster than that.
Unfortunately, the 104 bytes cannot be computed in the hash, but they are in there in CRC-32.
Basically you can use any program to compare the CRC-32 with the .zpaq chunks you create, whereas for using a hash you have to use zpaqfranz.
At present I use xxhash64, but I am undecided whether to go for something really “heavy” (e.g., SHA256). I am also thinking of keeping 104 bytes here as well, albeit out of order, to permanently prevent any kind of modification.
However, this would be a problem for NAS, with anemic CPUs
Is that enough for you?

You can try this one (not finished, does not work with encryption etc)
60_8l.zip
Make something like that
zpaqfranz backup z:\uno.zpaq c:\nz -backupzeta
zpaqfranz backup z:\uno.zpaq c:\ut -backupzeta
zpaqfranz backup z:\uno.zpaq c:\1200 -backupzeta

Then...
zpaqfranz testbackup z:\uno.zpaq -verify

Tested. Looks good. Then tested with zpaqfranz testbackup but without -verify.
is this expected behavior?

If I understand correctly, the simplified backup scheme should be as follows:
ZPAQFRANZ backup archive
After the process is complete, I can test the created archive with something like:
ZPAQFRANZ t archive_????????
Once tested, if I'm not adding new parts, in the future I can test it only with:
ZPAQFRANZ testbackup archive -verify
to simply check if the hashes match, without running the slower test.
Did I understand correctly?

Spiegone is coming 😄
First of all update to latest (60.8n)
The backup command  will create a regular multipart archive (with pattern ????????), with a separate index file, and a .txt file (with the hashes inside)
By default QUICK hash (xxhash of first 64KB+ mid 64K + last 64K) and
MD5 hashes (=> a full re-read of the created archive just after done)
With -backupxxh3 => XXH3 hashes (=> full re-read)
With -backupzeta => ZETA hashes (NO further read from filesystem)
You can do whatever you want, just use the 8 ? pattern, or hope for the heuristic (for example zpaqfranz t archive will work)
List, extract, merge, test, whatever. It is a plain zpaq
Then
zpaqfranz testbackup z:\okane

will run QUICK hash checks.
AKA: no holes (missing part). Size matches. QUICK hashes are OK
If you add -verify a full re-read will enforced, with the used hash (MD5, XXH3 or ZETA)
A -paranoid will compare index with rebuilded dtmap
You get even the hash of hash (GLOBAL SHA256)
If two zpaqfranz's backup get the very same GLOBAL SHA256 (after testbackup) they are =
Do you want more "spiegone"??

Recap. The quick hash (which you can calculate with the sum command and -quick) instead of reading the ENTIRE file (it does if it’s shorter than 64KB) performs a sort of "sample test" on the initial, middle, and final parts. This serves to quickly detect rsync errors with --append, that is, when the file length is correct, but the final part is corrupted. It is not, obviously, a reliable hash. On the other hand, it’s very fast even on large files and serves its purpose. Without parameters, this one is used (i.e., quick hashes). With the -verify command (which also works multithreaded with -ssd), a full hash rebuild is launched: MD5 (for backward compatibility) or XXH3 (-backupxxh3). The latter is five times faster and is normally preferred on modern machines. The new -backupzeta switch uses the new ZETA hash (in the future also ZETAENC). What is it? It’s an XXHASH64 that skips the first 104 bytes and takes the rest (in the case of ZETAENC, also the first 32, which is the encryption salt), plus the FULL CRC-32 of the file. These data are NOT re-read from the filesystem; after writing the file okane_0000034.zpaq, it is NOT re-read but calculated during the creation of the new archive (obviously, it slows down a bit, around 1 second per gigabyte roughly). When you run testbackup -verify (with the ZETA hash), it will then check that the entire file (except for the first 104 bytes) is identical in hash to the expected one (soon it will also verify that the CRC-32 of the file is correct). I could also add those 104 bytes, but it’s complicated, so I’ve left it out. If you’re curious about the why and how, it depends on the storage format of .zpaq files, which is the jidacheader. Currently, it doesn’t work with encrypted archives (though I’m optimistic about making it work, it’s just a matter of work). You can see the real CRC-32 (i.e., of the entire file) inside the .txt file in the part that begins with 4 w
$zpaqfranz backupfile|2|ZETA|2024-10-21 13:44:44|z:/1_????????.zpaq
zzzz8fb183c1125eed6dwwww17fae82e |[                9.742] <985455BE95A41D4B> $2024-10-21 13:44:44$ z:/1_00000001.zpaq

In this example the file 1_00000001.zpaq get CRC-32 17fae82e, QUICK 985455BE95A41D4B and XXHASH64 (except the first 104 bytes) 8fb183c1125eed6d

As mentioned, I might change the function to also include the 104 bytes, just not in the order of XXHASH64. It depends on how much I feel like doing it. So, keep in mind that the .txt files generated (today) might not be compatible with future ones.

OK it's clearer now. I'll switch to backup -backupzeta and testbackup -verify


Flaky Test:  Data Plane Azure Data Factory Test

Bug Report
Describe the Bug
There seems to be some sort of race condition in the ADF-related tests, for example:
https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/runs/6587724195?check_suite_focus=true#step:6:201
Expected Behavior
A clear and concise description of what you expected to happen.
Observed Behavior
Deleting cloud resources seems to not work sometimes, when they're already being deleted.
Steps to Reproduce
Steps to reproduce the behavior:

Run CI/CD Pipeline in GitHub

Detailed Description
It seems that a SAS Token that is being used for the test is deleted, which fails, because it's already being deleted.
Possible Implementation
add defensive checks

@cpeeyush maybe you could take a look?

@cpeeyush maybe you could take a look?

@paullatzelsperger PR is open for fix : https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/pull/1394 Thank you.


how can i edit/rename columns (using h2database)

System information:

Operating system (distribution) and version
win10
DBeaver version
6.1.5

Connection specification:

Database name and version
h2database 1.4.000

Describe your question:
Try to edit columns,but all the properties are uneditable(grey).
I had to write DDL manually instead.
And found no options for renaming column/table.
Did I miss something or there is currently no such feature?

already implemented

Helpful link: https://www.h2database.com/html/commands.html#alter_table_alter_column


Add Gravatars to various User tables & forms

I'd like to display Gravatars in a few places:

Users table
User form (maybe)

Doesn't seem obvious how to do this, but vendor/filament/filament/resources/views/widgets/account-widget.blade.php may have an example

https://github.com/filamentphp/filament/discussions/9392


Allow user specified timeout for SyncSession

FYI @baldersheim

I think that a mb timeout is treated as an error so code that sets explicit timeout will see a DocumentAccessException with a error message containing something about 'timeout'.

With the current SyncSession API design, I think that's pretty much required (since you return Documents, not response objects). Note that this PR doesn't change any error handling behavior; existing code using SyncSession must already be prepared to deal with exceptions.
It could be argued that the interface javadoc for the new timeout-accepting get() methods should state that DocumentAccessException is thrown on timeout rather than RuntimeException, but the former inherits the latter anyway.

Ok, I'll update the Javadoc to reflect that DocumentAccessException is thrown on timeout.

Great, that's all.


qtcreator: 4.11.0 -> 4.12.4

Motivation for this change
QtCreator 4.11 had a bug that rendered it unusable for me and the internet said 4.12 would work better. It was true.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)

[x] only qtcreator itself

[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

not related to our pr, but I'm unable to build this due to clang failing to build:
builder for '/nix/store/mbgyhgjzwkmmcp8aia4ikdpc5skvjcrc-clang-10.0.1.drv' failed with exit code 1; last 10 log lines:

  CMake Error at /nix/store/szq3jbixhpclajqmhkn8bnm6ni23096j-llvm-10.0.1/lib/cmake/llvm/AddLLVM.cmake:447 (add_library):
    No SOURCES given to target: obj.clangCodeGen
  Call Stack (most recent call first):
    cmake/modules/AddClang.cmake:100 (llvm_add_library)
    lib/CodeGen/CMakeLists.txt:41 (add_clang_library)

  CMake Generate step failed.  Build files cannot be regenerated correctly.
  builder for '/nix/store/mbgyhgjzwkmmcp8aia4ikdpc5skvjcrc-clang-10.0.1.drv' failed with exit code 1

@glaebhoerl meanwhile 4.14.0 is available. please update.

@glaebhoerl meanwhile 4.14.0 is available. please update.

alas I don't have time to spend on this, if anyone else does, feel free to reopen (or make a new one or whatever)

alas I don't have time to spend on this, if anyone else does, feel free to reopen (or make a new one or whatever)


Reduce requests to reduce scheduling failures

Description
Check each of the following when appropriate to help reviewers verify work is complete.
Modifying an existing version

[ ] I modified operator permissions in the OLM CSV and operator.yml
[ ] I modified the operator deployment in the OLM CSV and operator.yml
[ ] I modified operand permissions in the OLM CSV and ansible role
[ ] I modified CRDS in the OLM CSV and ansible role

Adding a new release version

[ ] I created a new z release directory in deploy/olm-catalog/crane-operator
[ ] I updated channels in the crane-operator.package.yaml
[ ] I created a new release directory in deploy/non-olm
[ ] I created or updated the major.minor link in deploy/non-olm
[ ] I updated the spec.skips parameter in the CSV

This didn't get merged before t he code freeze. I'm going to close it and merge the one for master.


Issue with terra package running on Mac OS Sonoma

An issue has come about when trying to run the following notebook examples in R (version 4.3.2) on a Mac OS (Sonoma 14.1):

CoTS_training_Jan2024/R_notebooks/02_eReef_data_extraction.Rmd
CoTS_training_Jan2024/R_notebooks/03_eReef_maps_timeseries.Rmd

The error appears after trying to connect to the DMS and seemingly is not able to render the raster file from the temp .nc that its connected to. The error that comes is as follows:
Error: [rast] cannot open this file as a SpatRaster: /private/var/folders/l4/qjjqf7255w91tj30cwbws3rw0000gp/T/Rtmpu0GBzJ/raster_dms_ca521cb4e44b.nc
This issue is to document the problem, with the solution provided below in the comments.

I am using a 13-inch, 2020 MacBook Pro with OS Sonoma 14.1.1 installed. The version of R is version 4.3.2 and the version of R Studio is 2023.12.1+402.
After troubleshooting, and a bit of research online, it seemed to be an issue with the way that the terra package was installed. It was previously installed on my machine, along with gdal, given all documentation for terra states that this package is required for terra to run properly. However, after many tests and troubleshooting efforts, the following steps resolved the issue:

Update R Studio and R to the most recent version. Close and re-start both.
Remove gdal from my machine completely via the following line of code using the terminal:

brew uninstall gdal

You can check the success of this operation by using the following line of code:

brew info gdal

## output should look something like:
==> gdal: stable 3.8.3 (bottled), HEAD
Geospatial Data Abstraction Library
https://www.gdal.org/
Conflicts with:
  avce00 (because both install a cpl_conv.h header)
  cpl (because both install cpl_error.h)
Not installed

After confirming that gdal is no longer on your machine, head to R studio and remove any existing terra package versions by running the following line of code in the console:

remove.packages("terra")

Install the development version of terra (this version is best for Mac OS) using the following code:

install.packages("terra", repos = "https://rspatial.r-universe.dev")

After terra is installed, I cleared my environment within R Studio and then ran the CoTS_training_Jan2024/R_notebooks/useful_functions.R notebook to create the required functions to run the notebook examples listed above. The notebooks proceeded to work with no issue.

It is unclear to me how and why the terra package is running now without gdal installed in my machine; all documentation on terra states that this shouldn't be the case. It potentially stems from having to download and install the dev version of terra, but I do not know enough to state this is the actual reason. Regardless, this has solved the issue and allowed the terra package to run smoothly on my Mac


new-log-viewer: Centralize border radius overrides with radius property in JoyUI theme config.

References

new-log-viewer series: #45 #46 #48 #51 #52 #53 #54 #55 #56 #59 #60 #61 #62 #63 #66 #67 #68 #69 #70 #71 #72 #73 #74 #76 #77 #78 #79 #80 #81 #82
Description

Centralize border radius overrides with "radius" property in JoyUI theme config.

Validation performed

Launched debug server and verified component border radius matching expected overridden value. Used the browser debugger to "Inspect" individual elements to confirm.

Summary by CodeRabbit

New Features

Introduced a new border radius property for UI components, enhancing the visual consistency across various sizes.

Improvements

Reintroduced focus and font family properties for better accessibility and readability.
Updated theme configuration for improved light and dark mode support, ensuring a cohesive user experience.

Bug Fixes

Removed unnecessary style overrides from specific components, streamlining their appearance.

lgtm. A minor issue is outLineWidth seems to change nothing in our UI, even before the pr change.

A minor issue is outLineWidth seems to change nothing in our UI, even before the pr change.

You're right. Could you check if e5186ab43bb7306d2939c509bf88ce4773003e5b correctly does the override?

For the title, how about: new-log-viewer: Apply ylv-font-family and override radius property globally

For the title, how about: new-log-viewer: Apply ylv-font-family and override radius property globally

How about
new-log-viewer: Override JoyUI `fontFamily` and `radius` properties globally.


Give control to set default expanded state

Currently, when the nested list is displayed, all the parent elements in the list are in collapsed state.
It would be nice to have control to set the state of parent elements to expanded state.

Thank you for your idea!
You mean, that the user can set a default state, where all of the items, sub items, sub sub items... are already visible by the first rendering?

Correct @NataliaLinnik

Hi !, how's it going any update on this?

Hi @AbdullahQureshi1080! I'll take a look on it. Shouldn't be a problem, only for very large lists the performance can get worse.


[WIP] Improve scrolling behavior with narrow viewports

Draft fix for issue #19307
Set the <main> element to scroll, only if the viewport is less than 768px wide.

/retitle [WIP] Improve scrolling behavior with narrow viewports

feedback welcome - I'd love to see that issue fixed

@Arhell what do you think of this approach? Am I working on the right lines?

@Arhell what do you think of this approach? Am I working on the right lines?

I looked and if I understood correctly, you need to fix the scrolling from 768 + (for example, 844px) scrolling appears.
Here I proposed a solution https://github.com/kubernetes/website/pull/21817
Use not three columns but one up to 992px or more
It will fix the blue buttons and scroll for many languages
This is a fix for this page as for me the most optimal

I looked that this bug applies not only to this page
e.g. https://kubernetes.io/docs/concepts/overview/components/
at 768px there is a scrolling and a white stripe, I look through chrome

added to main overflow-x: hidden; The scroll disappeared but more tests are needed.

@Arhell do you recommend I close this in favor of a different PR? If so, which one?

not necessarily, you can do overflow in this, and in another add display none block tooltips to the hover and in general, as I looked, the problem will be exhausted

Not sure I have time to move this work forward.
/close


Please disable auto-resetting of settings when migrating profiles

Hi there,
Chromium deliberately resets its profile when it detects an 'unauthorized' change to a profile, such as the migration of the profile to a different account, browser version, volume, etc. -- even when there would be no actual problem in doing so.
This makes it very difficult and painful to migrate to ungoogled-chromium. I was wondering if you might be able to disable the code that is responsible for doing so? I'm not entirely sure which part of the code is responsible for this, but I suspect it may be the PrefHashStoreImpl::PrefHashStoreTransactionImpl::CheckValue function inside src/services/preferences/tracked/pref_hash_store_impl.cc. Forcing it to always return PrefHashCalculator::VALID could potentially do the job.
(If this isn't desirable behavior by default, it would be great if it could be at least made an available option for users.)
Thank you!

Hi @mehrdadn , I'm trying to get this working, have you figured out a way to get this working? My patch according to your hints doesn't work. (I copied the entire content of profile folder from Chrome and the patched chromium deleted the copied extensions upon startup)

Hi @pellaeon, yup I got it working. I just changed the last line of PrefHashCalculator::Validate() (in services/preferences/tracked/pref_hash_calculator.cc) from return INVALID to return /*IN*/VALID.
BTW, another helpful thing I did (completely unrelated to this issue, but maybe something else you'd also like to consider) is to avoid blocking extensions that aren't on the web store. You can do that by changing return false to return true in ExtensionManagement::IsInstallationExplicitlyAllowed() (chrome/browser/extensions/extension_management.cc).

Cool! Just built it and it works! Thanks!

Yup!


Version 2.22.0

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

Comparison is base (d43db0a) 87.48% compared to head (6911668) 89.43%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #909      +/-   ##
============================================
+ Coverage     87.48%   89.43%   +1.94%
============================================
  Files           166       86      -80
  Lines         18999    15358    -3641
  Branches       1030        0    -1030
============================================
- Hits          16622    13735    -2887
+ Misses         2075     1623     -452
+ Partials        302        0     -302

Flag
Coverage Δ

uitests
?

uitests-android
?

uitests-ios
?

unittests
89.43% <ø> (+3.84%)
:arrow_up:

unittests-android
?

unittests-ios
?

unittests-rust
89.43% <ø> (ø)

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.


NSString/ComparisonTests.PrefixSuffix/8 fails on OSX

[ RUN      ] NSString/ComparisonTests.PrefixSuffix/8
Foundation/ReferenceFoundation/TestNSString.mm:910: Failure
Value of: [lhs hasPrefix:rhs]
Actual: '\0'
Expected: expectHasPrefix
Which is: '\x1' (1)
[  FAILED  ] NSString/ComparisonTests.PrefixSuffix/8, where GetParam() = (, , '\x1' (1), '\0', '\x1' (1), '\x1' (1), '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0') (0 ms)

@DHowett-MSFT is added to the review. #Closed

@rajsesh-msft is added to the review. #Closed

@ms-jihua is added to the review. #Closed

:shipit:


Use a queue to wait for Puback packets rather than polling

This commit changes the publish method to use a queue to wait for
Puback packets rather than polling a hash.  Every time the read loop
gets data or a timeout from IO.select, it will send a message to
everyone waiting for a Puback packet.  If the we're within the
deadline, then the loop executes again, if we got a packet, we'll return
the packet, and if we're outside the deadline, a -1 is returned.
This upside is that this patch speeds up the publish method by over
100x.  Here is the benchmark:
require "securerandom"
require "mqtt"
require "benchmark/ips"
require "stackprof"

client = MQTT::Client.new(username: 'testuser', password: 'testpasswd', client_id: "client_#{SecureRandom.hex(10)}", host: '<IP_ADDRESS>')
client.connect

Benchmark.ips do |x|
  x.report("send message") {
    i = rand(1..10)
    topic = "to/timebox#{i}/cameras"
    msg = "message #{Time.now} for timebox#{i}"
    client.publish(topic, msg, true, 1)
  }
end

Before this patch:
$ ruby -I lib thing.rb
Warming up --------------------------------------
        send message     8.000  i/100ms
Calculating -------------------------------------
        send message     85.042  (± 4.7%) i/s -    432.000  in   5.089261s

After this patch:
$ ruby -I lib thing.rb
Warming up --------------------------------------
        send message   915.000  i/100ms
Calculating -------------------------------------
        send message      9.453k (± 4.5%) i/s -     47.580k in   5.043716s

The downside is that the timeout isn't exact.  Since IO.select times
out every 0.5 seconds (according to the SELECT_TIMEOUT constant),
the deadline in the publish method could be missed by that amount of
time.
Refs #115

Sorry, I completely forgot to merge this. Done now!
Thank you very much for this contribution.


Move Materialize.updateTextFields out of $(document).ready

This PR fixes an error with Angular 2+ where the ng lifecycle hook ngAfterViewInit(){} gets called BEFORE $(document).ready(). Therefore this code fails because the function isn't available at run time.
Fixes #5194
Proposed changes

Move updateTextFields() outside of $(document).ready.
Screenshots (if appropriate) or codepen:

Types of changes

[x] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to change).

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

We're doing large rewrites on v1-dev branch, and as a result are only going to accept pull requests based on that branch to avoid merge issues.

Great, I see that it is fixed in v1-dev


Add stricter logic for checking if MSVC style compiler flags are needed

Should fix #595

Do we want to merge this?

@jhasse Can you do some testing to see if this works with clang on msys2?

No, doesn't work. if(MSVC) works with both Clang+MSYS2 and GCC+MSYS2 though and I think that should be the way to go.

Does invoking cmake with Clang as the compiler in msys2 result in CMAKE_SYSTEM_NAME being Windows and CMAKE_CXX_COMPILER_ID being Clang?

Yes.

I know that trying to use regular Clang (not clang-cl) on Windows is not supported by CMake and results in an error.

Yeah, that's clang with GCC command line interface, but MSVC target. Clang can also target gnu and that's what the one bundled with MSYS2 does.

CMake docs only say that MSVC is set when the compiler is Visual C++. I'm assuming it won't be set if the compiler is Clang

Please try that, I think it will be set if the compiler is Clang-cl as otherwise it wouldn't be a drop-in replacement.

@jhasse You were right, it is set for Clang as well (if only cmake had better docs). This should be good to merge now.


Pausing when useHash == true

Hi,
I was wondering if Navigo was able to be paused/resumed when initialized with useHash = true.
So far, by my testing, it apparently is not the case, could you confirm or give me a workaround maybe ?
Thanks a lot.

Hey,
I stopped supporting/developing the 7th and below versions of this library. It is fully rewritten now and I could say that the pausing/resuming there is replaced by an option in the navigate method. There is no hash based routing too. Sorry if you can't migrate to the newest one but I'm not planning to work on bugs that are attached to the old source code.
If you want to use Navigo 8.0.0 the piece of documentation that you need is here https://github.com/krasimir/navigo/blob/big-rewrite/DOCUMENTATION.md#navigating-between-routes
P.S.
Version 8.0.0 is not officially released but can be installed via npm install navigo@beta or yarn add navigo@beta. Migration guide is available here https://github.com/krasimir/navigo/blob/big-rewrite/CHANGELOG.md#migration-guide and the new documentation here https://github.com/krasimir/navigo/blob/big-rewrite/DOCUMENTATION.md.


Cross compilation runtime builds require compiler tools

Request description
Currently, compiler tools such as iree-compile and iree-tblgen is required when building with IREE_HOST_BIN_DIR enabled. This forces user who cross compiles the runtime set IREE_BUILD_COMPILER=ON on their host build.
https://github.com/openxla/iree/blob/914f30641f3c41338f8a7820711743ca49a2a76f/tools/CMakeLists.txt#L35C1-L46C1
It will be a lot easier if the runtime cross compilation does not require the compiler tools.
What component(s) does this issue relate to?
Other
Additional context
No response

Can you elaborate on what configuration you want to work? (Full CMake configure commands for host and target would be ideal)
One idea: this check could be changed to a warning and an early return: https://github.com/openxla/iree/blob/914f30641f3c41338f8a7820711743ca49a2a76f/build_tools/cmake/iree_import_binary.cmake#L60-L64
A few parts of the build could fail later during configuration, depending on which other options are set, like iree_check_test when IREE_BUILD_TEST is enabled (that needs iree-compile). If there are only a few places then the warnings/errors could just be pushed further down into other CMake functions.
Actually, I have https://github.com/openxla/iree/pull/16086 open and that could check for the presence of iree-compile here instead:
  # 1. Check for the compiler.
  if(NOT IREE_BUILD_COMPILER AND NOT IREE_HOST_BIN_DIR)
    set(_BYTECODE_MODULE_BUILD_ENABLED FALSE)
  endif()

I am working on embedded target (thumb, riscv) support for a Rust binding. I am using runtime-library for the target build.
Build config for host installation
cmake::Config::new(iree_path)
    .define("BUILD_SHARED_LIBS", "OFF")
    .define("IREERT_ENABLE_LTO", "OFF")
    .define(
        "IREE_ROOT_DIR",
        PathBuf::from(env!("CARGO_MANIFEST_DIR"))
            .join("iree")
            .to_str()
            .unwrap(),
        )
    .define(
        "CMAKE_INSTALL_PREFIX",
        build_path.join("install").to_str().unwrap(),
    )
    .define("CMAKE_C_COMPILER", "clang")
    .define("CMAKE_CXX_COMPILER", "clang++")
    .define("IREE_HAL_DRIVER_DEFAULTS", "OFF")
    .define("IREE_HAL_DRIVER_LOCAL_SYNC", "ON")
    .define("IREE_BUILD_COMPILER", "ON")
    .define("IREE_BUILD_TESTS", "OFF")
    .define("IREE_BUILD_SAMPLES", "OFF")
    .build_target("install")
    .target(&std::env::var("HOST").unwrap())
    .build();

Config for target install
cmake::Config::new(runtime_lib_path)
    .define("BUILD_SHARED_LIBS", "OFF")
    .define("IREERT_ENABLE_LTO", "OFF") // TODO: Enable LTO
    .define(
        "IREE_ROOT_DIR",
        PathBuf::from(env!("CARGO_MANIFEST_DIR"))
        .join("iree")
        .to_str()
        .unwrap(),
    )
    .define("IREE_BUILD_COMPILER", "OFF");
    .define("CMAKE_SYSTEM_NAME", "Generic")
    .define("CMAKE_EXE_LINKER_FLAGS_INIT", "--specs=nosys.specs -lc -lm")
    .define("IREE_HOST_BIN_DIR", build_path.join("install").join("bin"))
    .cflag("-DIREE_PLATFORM_GENERIC=1")
    .cflag("-Wno-char-subscripts")
    .cflag("-Wno-format")
    .cflag("-Wno-implicit-function-declaration")
    .cflag("-Wno-unused-variable")
    .cflag(r#"-DIREE_TIME_NOW_FN="{ return 0; }" -DIREE_WAIT_UNTIL_FN=wait_until"#)
    .define("IREE_ENABLE_THREADING", "OFF")
    .define("IREE_HAL_DRIVER_DEFAULTS", "OFF")
    .define("IREE_HAL_DRIVER_LOCAL_SYNC", "ON")
    .define("IREE_HAL_EXECUTABLE_LOADER_DEFAULTS", "OFF")
    .define("IREE_HAL_EXECUTABLE_LOADER_EMBEDDED_ELF", "ON")
    .define("IREE_HAL_EXECUTABLE_LOADER_VMVX_MODULE", "ON")
    .define("IREE_HAL_EXECUTABLE_PLUGIN_DEFAULTS", "OFF")
    .define("IREE_HAL_EXECUTABLE_PLUGIN_EMBEDDED_ELF", "ON")
    .build();

It would be helpful if cross-compiled runtime builds can be set in a way that does not require the iree compiler tools, since Rust packages can be no bigger than 10MB. I was able to cram the IREE runtime build inside my Rust package for native builds, but the IREE compiler build is way too large to pack inside a Rust package.

There's definitely something wrong here: we build the runtime library standalone all the time, so I know that is well supported. But we need to unpack what you are trying with respect to cross compilation, etc.
Forgive me for not being fully up to speed on cargo and how you are using it. Is the above using iree libraries and then cargo is just referencing the headers/built libs (vs trying to build the runtime sources with cargo)?
We are making progress on graduating that runtime library sample into the main project. Ideally, we have someone make sure that the cross compilation flow works and is documented with the dev library install path: https://discord.com/channels/689900678990135345/1083185300546793553/1190447652421243021
(I expect it should work today but we should work out the exact flags)

Do you happen to have a repo or something you could share? I'm interested in upping my rust/cargo game and helping but don't want to just blindly reproduce what you've done.

Ok, #16111 gets this working for me. I didn't get a complete bare metal build but got it to the point that I was off by some target flags. I was building with the arm-none-eabi toolchain with this toolchain file:
# the name of the target operating system
set(CMAKE_SYSTEM_NAME Generic)

set(_ARM_TOOLCHAIN_ROOT /Applications/ArmGNUToolchain/13.2.Rel1/arm-none-eabi)

# Disable some linkages not supported on bare metal.
set(CMAKE_EXE_LINKER_FLAGS_INIT "--specs=nosys.specs")

# which compilers to use for C and C++
set(CMAKE_C_COMPILER   ${_ARM_TOOLCHAIN_ROOT}/bin/arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER ${_ARM_TOOLCHAIN_ROOT}/bin/arm-none-eabi-g++)

# where is the target environment located
set(CMAKE_FIND_ROOT_PATH  ${_ARM_TOOLCHAIN_ROOT})

# adjust the default behavior of the FIND_XXX() commands:
# search programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# search headers and libraries in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

# Some IREE flags for bare metal.
set(_IREE_C_FLAGS)
string(APPEND _IREE_C_FLAGS "-DIREE_PLATFORM_GENERIC=1 ")
string(APPEND _IREE_C_FLAGS "-DIREE_FILE_IO_ENABLE=0 ")
string(APPEND _IREE_C_FLAGS "-DIREE_TIME_NOW_FN=\"\{ return 0;\}\" ")
string(APPEND _IREE_C_FLAGS "-DIREE_WAIT_UNTIL_FN=wait_until ")
string(APPEND _IREE_C_FLAGS "-DIREE_SYNCHRONIZATION_DISABLE_UNSAFE=1 ")
string(APPEND _IREE_C_FLAGS "-Wno-char-subscripts ")
string(APPEND _IREE_C_FLAGS "-Wno-format ")
string(APPEND _IREE_C_FLAGS "-Wno-unused-variable ")

set(CMAKE_C_FLAGS "${_IREE_C_FLAGS} -Wno-implicit-function-declaration ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${_IREE_C_FLAGS} ${CMAKE_CXX_FLAGS}")

unset(_IREE_C_FLAGS)
unset(_ARM_TOOLCHAIN_ROOT)

This command to build the host runtime/tools:
cmake -GNinja -S. -Bbuild -DIREE_BUILD_COMPILER=OFF
cmake --build build

This command to build the target runtime:
cmake -GNinja -S. -Bbuild-cross/Generic -DCMAKE_TOOLCHAIN_FILE=$HOME/bin/arm-none-eabi-toolchain.cmake -DIREE_BUILD_COMPILER=OFF -DIREE_ENABLE_THREADING=OFF -DIREE_HAL_DRIVER_DEFAULTS=OFF -DIREE_HAL_DRIVER_LOCAL_SYNC=ON -DIREE_HAL_EXECUTABLE_LOADER_DEFAULTS=OFF -DIREE_HAL_EXECUTABLE_LOADER_EMBEDDED_ELF=ON -DIREE_HAL_EXECUTABLE_LOADER_VMVX_MODULE=ON -DIREE_HAL_EXECUTABLE_PLUGIN_DEFAULTS=OFF -DIREE_HAL_EXECUTABLE_PLUGIN_EMBEDDED_ELF=ON  -DIREE_BUILD_TESTS=OFF -DIREE_BUILD_SAMPLES=OFF -DIREE_HOST_BIN_DIR=$PWD/build/tools
cmake --build build-cross/Generic

Landed the necessary patch and the above (revised) instructions worked for me at head (where "worked" == "built", I have no hardware to test on).

Do you happen to have a repo or something you could share? I'm interested in upping my rust/cargo game and helping but don't want to just blindly reproduce what you've done.

https://github.com/gmmyung/eerie/blob/embedded/iree-sys/build.rs
Cargo compiles and runs build.rs on the host machine prior to compiling the actual library, so we can run extra steps such as invoking cmake, auto-generate rust bindings from the c header files, and many more.

I will update my dependency to main and check if things work out for me.

I have reached this error, is this related to #16110?
make: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.
  In file included from /Users/gmmyung/Developer/eerie/iree-sys/iree/runtime/src/iree/hal/driver_registry.c:12:
  /Users/gmmyung/Developer/eerie/iree-sys/iree/runtime/src/iree/base/internal/call_once.h:90:29: error: 'PTHREAD_ONCE_INIT' undeclared here (not in a function)
     90 | #define IREE_ONCE_FLAG_INIT PTHREAD_ONCE_INIT
        |                             ^~~~~~~~~~~~~~~~~
  /Users/gmmyung/Developer/eerie/iree-sys/iree/runtime/src/iree/hal/driver_registry.c:44:5: note: in expansion of macro 'IREE_ONCE_FLAG_INIT'
     44 |     IREE_ONCE_FLAG_INIT;
        |     ^~~~~~~~~~~~~~~~~~~
  make[2]: *** [iree_core/runtime/src/iree/hal/CMakeFiles/iree_hal_hal.objects.dir/driver_registry.c.obj] Error 1
  make[1]: *** [iree_core/runtime/src/iree/hal/CMakeFiles/iree_hal_hal.objects.dir/all] Error 2
  make: *** [all] Error 2
  thread 'main' panicked at /Users/gmmyung/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

string(APPEND _IREE_C_FLAGS "-DIREE_SYNCHRONIZATION_DISABLE_UNSAFE=1 ")

I did hit that. I can't remember which of the grab bag of things got past it. I think this one:
string(APPEND _IREE_C_FLAGS "-DIREE_SYNCHRONIZATION_DISABLE_UNSAFE=1 ")

(we should treat each of those carve-outs as bugs and make the system auto-detct, but one step at a time)

IREE_SYNCHRONIZATION_DISABLE_UNSAFE is only valid to use on single core systems with no threading - it's hard to autodetect as even without pthreads/etc you can have multiple threads and need synchronization. It's the most dangerous flag we have so autodetection is risky (too risky for me to support).

(if there was a platform flag already set we could use to infer that'd be ok - but just turning all atomic operations/mutices/etc into no-ops is real risky to do with magic)

Right. But we could still have a check that basic synchronization features exist on the platform and provide a more verbose error/suggestion.

For sure warning sounds good. The tricky part of all this is that on bare metal you (today) need to bring your own impl as even single core systems with no OS (or a minimal RTOS) can still have interrupt handlers and such (for user code launching/sequencing calls into us or for HAL backends that use DSPs/accelerators, etc). Warnings feel like a good way to make the compilation errors in the default case make a bit more sense and also let a user know that part of doing bare metal development is setting esoteric/sketchy flags :P
We could break this flag up to allow more to work automatically and reduce the risk of flipping it. The major things controlled by the flag are atomics (which we could make a compiler setting as to whether clang/gcc/msvc have them instead of relying on the flag), call_once (which we could implement with atomics ourselves and piggy-back on the atomics), and full mutex/futex-like things like wait handles and notifications - those are really the only ones that get pretty platform-specific. Would need to get a few big targets we want to claim support for together then could figure out how to slice things/how much we can just make it work.
Many embedded systems will still have synchronization even if they don't have threads (like mbed's bare metal profile which is popular with platformio https://os.mbed.com/docs/mbed-os/v6.16/bare-metal/index.html#features, but most RTOS or mini-RTOS-like platforms have similar configs). I can't think of many cases where it's worth the risk to disable synchronization for both user code interacting with IREE and for IREE internals instead of just implementing it for the platform (it doesn't save much code size or runtime performance given how coarse/infrequently we synchronize). So I think if we made most of it work everywhere (reasonably) we may be able to reduce the times that users run into this (but still would be nice to have a warning for those that do).

It's been a number of years since I've done real bare metal or RTOS development, but I think this might be the job of having board support files vs a bunch of loose options that work around sketchy things in a way that is very easy to copypasta.
A template board support header with commented out defines, descriptions and some preprocessor based assertions would be more robust.
Smaller systems often have different cores with different capabilities, and it is totally reasonable for some of them to be "very" bare metal. I think it just needs to be done in a way that makes it clearly the user's decision. If I were using an RTOS with preemption enabled, I should be very sketched out by some of these options, especially if there is a support header next to it for my RTOS which clearly enables the preemption safeties.
Anyway... All for later.

Agreed; we have IREE_USER_CONFIG_H we can use for some of that (-DIREE_USER_CONFIG_H=my_platform_config.h).

By the way, I am having a really bad time linking Newlib/libc functions to my Rust binary:(
Is there any bare-metal feature gates that disables compilation of file, thread, alloc, assert related libc calls?

Correct - if you set the magic flag that unsafely disables all synchronization then it's not thread safe :)
You can check iree/base/config.h for most settings - there's the C macro IREE_FILE_IO_ENABLE that can be used to disable file I/O (though only our tooling/flags/etc really uses that, and it's not bare-metal portable). The cmake IREE_ENABLE_THREADING that can be used to disable threading. Note that you lose the functionality guarded by these flags - if you want multi-threaded CPU execution then you need threads, etc.
There is no way today to remove all libc calls - you'll have to provide your own either via a libc-like (musl/etc) or your own definitions for what's used (that may then just wrap and route to whatever else you want), but in minimal configurations that mostly just means math stuff and the normal helpers (memcpy/memmove/etc). Assert can be avoided with things like NDEBUG (asserts are debug only), but you're expected to have a basic C environment (approximation) today. Note that some things like malloc are only used by a few features - outside of runtime/src/iree/tooling/ (which is not bare-metal portable) the only place that uses iree_allocator_system and pulls in malloc is the status handling, which if you disable status messages (IREE_STATUS_MODE=0) then shouldn't get limited in (I really don't recommend doing that, though, as you're going to have a hard time without status messages).

Also, does this mean that IREE constructs are not thread-safe on embedded environments with IREE_SYNCHRONIZATION_DISABLE_UNSAFE set?

IREE_SYNCHRONIZATION_DISABLE_UNSAFE is only valid to use on single core systems with no threading - it's hard to autodetect as even without pthreads/etc you can have multiple threads and need synchronization. It's the most dangerous flag we have so autodetection is risky (too risky for me to support).

There is a big difference between embedded and bare metal. If there is an OS at all which supports preemption, you really need to not use this flag and make sure to map the synchronization support properly.
On true bare metal, it is just you, the processor and your interrupt routines. Those are the cases where you will want to use such a flag and manage it yourself in some way.
True bare metal has a lot of details that need to line up. Newlib adds some very primitive support but it's not the only thing out there. I'd need to know more about what you are trying to do and what assumptions rust is making. It is not surprising to me that these things are hard to wedge together without knowing exactly what is going on.

I assume you are trying to build a no_std crate... Ok. So what were actually looking for is a way to build with no dep on newlib at all. As Ben says, it's likely not too far off but will need some things from libm, etc. it is also possible/likely that by building the whole project, you're getting tooling and libraries that use newlib stuff more -- but that isn't used in the actual runtime flow.
If I were doing this, I would:

Use all of the flags Ben mentions to disable features.
Possibly build a stripped down set of targets.
Use a user config header to provide inline stubs for any leftovers you want to buy be served by newlib.

Unlike rust itself, there are some unavoidable deps on the "system" which need to be resolved somehow. Either via newlib or bringing your own.

Yes, I am trying to use tinyrlibc to provide substitutes for libc functions. A few more questions:

Does IREE use errno flags extensively, or only for status messages? (I have to provide a rust errno implementation if so)

Note that some things like malloc are only used by a few features - outside of runtime/src/iree/tooling/ (which is not bare-metal portable) the only place that uses iree_allocator_system and pulls in malloc is the status handling.

Does malloc used in status handling have alignment requirements?

we don't use errno (besides when interacting with parts of the system that use errno, which in minimal builds aren't usually included)
yes the status alloc requires alignment, but if posix_memalign is not available we support that ourselves (see iree_aligned_alloc in iree/base/status.c)


Use procedural macros to implement manually_traced types

Procedural macros are more flexible and will allow us to use a
single macro for all our manually traced code.
It should also help downstream crates start to utilize this.
I'm doing this cleanup first because It makes implementing #20 much easier

Wait it's still buggy - binary_trees wont compile -_-

Wait it's still buggy - binary_trees wont compile -_-


Website Homepage

This is an attractive homepage created by me for any website or blog.

Where are the images/ Screenshot


Add Swift Package Manager support

Issue Link :link:
Close #59
Goals :soccer:
SPM support for XCode 11 iOS projects.
Implementation Details :construction:
XCode 11 introduce SPM support (for iOS project including). This PR will add Package.swift file as a requirement for it.
Testing Details :mag:
Please note that I updated README.md file with an upcoming version tag. I don't know your release plans and set version to 3.0.0-beta.4. Please reply what version I should set there.

Looks like there is an wrong .travis.yml configuration. Maybe I should remove "OS=9.3,name=iPhone 6" destination from it? According to *.podspec file there is no ios 9.3 support now.

Bump! This would be great, especially since Alamofire already supports it


Add release for ARM

Please release version for ARM in future.
Thanks.

And add this fix: https://github.com/glotlabs/gdrive/issues/79

I need the ARM version too. Thanks!

As a workaround you can add miltiarch support into your distro. I did something like this (for Ubuntu):
apt-get install binfmt-support qemu-user-static
dpkg --add-architecture amd64
apt-get install hello:amd64

probably you would need to install additional libraries like apt install libcurl4:amd64
root@mc:/opt/bin.x86_64# uname -a
Linux mc.zentavr.com 5.15.0-102-generic #112-Ubuntu SMP Tue Mar 5 16:49:56 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
root@mc:/opt/bin.x86_64# file ./gdrive
./gdrive: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), static-pie linked, BuildID[sha1]=5e364822d8f8c60edb40f87a9320823bfa81002e, with debug_info, not stripped
root@mc:/opt/bin.x86_64# ./gdrive help
Usage: gdrive <COMMAND>

Commands:
  about        Print information about gdrive
  account      Commands for managing accounts
  drives       Commands for managing drives
  files        Commands for managing files
  permissions  Commands for managing file permissions
  version      Print version information
  help         Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help information

By compiling from source, we can have an ARM version.  Adding an instruction seems helpful.

install rust if not yet.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

in the folder with Cargo.toml (e.g. gdrive-3.9.1), run
cargo build --release

the binary will appear in the folder, target/release


epel-release does not install because GPG check FAILED

Environment
VMware
Red Hat Enterprise Linux release 8.8 (Ootpa)
d103da8
Issue details
The epel-release package fails to install during getmeza.sh execution because the GPG check FAILED.

/opt/meza/src/scripts/getmeza.sh
Enabling code-ready-builder and ansible repo for RHEL. This may take some time.
Repository 'codeready-builder-for-rhel-8-x86_64-rpms' is enabled for this system.
Repository 'ansible-2-for-rhel-8-x86_64-rpms' is enabled for this system.
Updating Subscription Management repositories.
Red Hat Ansible Engine 2 for RHEL 8 x86_64 (RPM 3.3 MB/s | 2.5 MB     00:00
Red Hat CodeReady Linux Builder for RHEL 8 x86_  11 MB/s | 8.8 MB     00:00
epel-release-latest-8.noarch.rpm                 95 kB/s |  24 kB     00:00
Dependencies resolved.
Package             Architecture  Version            Repository           Size
Installing:
epel-release        noarch        8-18.el8           @commandline         24 k
Transaction Summary
Install  1 Package
Total size: 24 k
Installed size: 35 k
Downloading Packages:
Public key for epel-release-latest-8.noarch.rpm is not installed
Error: GPG check FAILED
sed: can't read /etc/yum.repos.d/epel.repo: No such file or directory
cp: cannot stat '/etc/yum.repos.d/epel.repo': No such file or directory

I believe this is because NASA-SPEC-2601OS.RHEL8, Red Hat Enterprise Linux 8 Security Configuration Specification has control "NASA-ASCS-20158: Ensure gpgcheck Enabled for Local Packages" which mandates "localpkg_gpgcheck=1" be set in the /etc/yum.conf file.
This means the public key of the epel-release package has to be imported first before it will install properly.
My fix is to execute "rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8" before running getmeza.sh.
getmeza.ssh should import the RPM-GPG-KEY-EPEL-8 before attempting to install.
NASA-SPEC-2601OS.RHEL8_v1.7.pdf

The getmeza.sh script could easily support installing the (appropriate, based on distribution) GPG key and Meza in general could be configured to run with localpkg_gpgcheck=1 in /etc/yum.conf
Right now, the key is installed in the base role
The current process appears to be "later" than desired since it is done on a deploy rather than on Meza installation. Since it is currently not done on Meza installation, that means the key can be skipped entirely on a controller host. So, it seems the proper way to meet the standard is to do what @cowen23 says:

getmeza.ssh should import the RPM-GPG-KEY-EPEL-8 before attempting to install.
NASA-SPEC-2601OS.RHEL8_v1.7.pdf

Aside: it would be nice to import all the vocabulary terms in that standard into a wiki glossary

this has been fixed in the 39.x branch. Not sure what exact commit fixed it, but it is fixed.


V1 ticket table

Adds the ticket table back from V0
Changes the style a bit to match V1
This still duplicates ticket_id.ml module, I'm open to suggestions on how to change that
Unit tests do not account for multiple tickets yet

Manual testing:

./start.sh
tezos-client transfer 0 from alice to dummy_ticket --entrypoint mint_to_deku --arg "Pair (Pair \"KT1NuDB6ehuXpwgQU8jVxuYiPZasnnMikCFH\" \"tz1RPNjHPWuM8ryS5LDttkHdM321t85dSqaf\") (Pair 100 0x)" --burn-cap 2
(replace KT1... by the consensus contract address)
print the ledger

Obsolete https://github.com/marigold-dev/deku/pull/802


allow cKDTree.query taking a list input in k.

the list input k will return only the neighbours ranks as
given in the list.

What's the status of this after https://github.com/scipy/scipy/pull/4890 is merged?

#4890 does not contain this.
The argument for the functionality (querying k-th-nn rather than all of k-nn) still applies.
How do we like the proposed API changes?

k can be an array-like for the list of requested k-th neighbours
integer input k is effectively converted to arange(k)
when len(k) == 1, return value is squeezed. This preserves the undocumented current behavior of squeezing the result when k == 1.

I am all for this PR. The current behavior is very wasteful with respect to search time and memory. Usually I only want to query for a single value of k or a small set of k. I often do a search with k=12, and this PR will be an order of magnitude improvement in terms of speed and memory if I can search with k=[12,] instead.
I also like the idea of squeezing when len(k) == 1, because that is what is what I would need to do to post-process anyway.

Ignore the comment I deleted.  This PR can save memory for large data sets, but it will not save query time because k determines the size of the priority queue during the query. If we search for k=N we get the query for range(1,n) for free (except in terms of memory). I am still in favor of this because it does not do any harm, and will save memory when querying large data sets. But it is not a speed improvement over the current behavior (nor is it harmful).
Sturla

@rainwoodman @sturlamolden I'd be happy to hit the green button when you guys agree on this one. At a minimum, it needs a rebase.

I am in favour of this PR. Usually I slice the output from .query anyway, so it will only make things easier. But @rainwoodman will have to do the rebase.

I does not increase query speed though, but it has favorable memory characteristics for most usecases I am aware of.

Allright, all green so in it goes. Thanks @rainwoodman!

Thanks for merging!


Program to sort an array in ascending order....

Example :
Input :  A = [2,5,3,6,,1,4]
Output: =[1,2,3,4,5,6]

Can you please assign me

@rahulkumar6142998  I want to solve this problem

@ssurbhi09  Yes

i have done pls see and then any issue pls let me inform

Is it fine or is that any issues?

@ssurbhi09  what is your a progress status?

I done
On Tue, Oct 5, 2021, 2:30 PM Rahul Kumar @.***> wrote:

Closed #1
https://github.com/Hacktoberfest-2021/Basic_Programming/issues/1.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Hacktoberfest-2021/Basic_Programming/issues/1#event-5409210596,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATAQU3I6RO4CQYOL6C2XHIDUFK5CDANCNFSM5FJUTPKA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I want to solve it using Java @rahulkumar6142998 @deep846

See my pr #23


migrate crop-data and data-dictionaries to redux

currently the crop data and data dictionaries for each zone are stored using useReducer which causes a lot of unneeded renders
resolved when crop data and data dictionaries are stored using redux

Unused State
addressSearchPreference: 'address',
markersCopy: [],
showAddressChangeBtn: false,
selectedCheckboxes: [],
selectedStars: {},
zoom: 13,
addressVerified: false,
modalOpen: false
modalSize: 'lg', //sm,md,lg,fluid
modalBody: {},
addToCartBtnText: 'add to list',
soilData.Ponding_Frequency: '',
cropDetailModal: false,
greenbarExpanded: false,
isSoilDataLoading: false,
cashCropData.name: '',
Only used in one place.
addressChangedViaMap - GoogleAutocomplete.js
fullAddress - GoogleAutocomplete.js
zip - Header.js
zipCode - Header.js
lastZipCode - Header.js
allGoals - GoalsSelector.js
snackOpen - app.js
snackVertical - app.js
snackHorizontal - app.js
snackMessage - app.js
zoneToggle - cropSidebar.js
state.soilDataOriginal - Reducer.js ***
soilData.Map_Unit_Name - Greenbar.js
the weatherData object info needs to be revewed
crop-data.js that arent used anywhere (zone 7)
Standard Fall/Winter Seeding Rate Date End
Late Fall/Winter Seeding Rate Date Start
Standard Fall/Winter Seeding Rate Date Start
ITIS TSN
Only in JSON objects
Notes: Environmental Tolerances


Whether the configuration in the Seata client registry.conf file can be placed in the application.properties or configuration center.

Why you need it?
In order to reduce the client's configuration file, it is planned to integrate the configuration information in the registry.conf into the application.properties or configuration center.
How it could be?
Excuse me, how to remove the client's registry.conf file, put the relevant configuration inside: 1, application.propertie 2, configuration center 3, the user can customize these configurations through code customization. In this case, the client relies on fewer files. I see the source code is read from the file registry.conf, there is no idea to adapt.

fixed in 1.0.0


Error while driver instantiating

driver = WhatsAPIDriver("mkhase")
Traceback (most recent call last):
File "", line 1, in
File "webwhatsapi/init.py", line 58, in init
self.driver = webdriver.Firefox()  # trying to add proxy support: webdriver.FirefoxProfile().set_proxy()) #self._PROXY))
File "/home/blackunicorn47/venvs/WhatsAPI/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 144, in init
self.service.start()
File "/home/blackunicorn47/venvs/WhatsAPI/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 74, in start
stdout=self.log_file, stderr=self.log_file)
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 20] Not a directory

I just had this error and it was because I hadn't set the path on the geckodriver correctly

You gave the parameter "mkhase" , does this folder exist on your machine?


Reenable forked mainnet

Closes #???
Description
Backports: https://github.com/onflow/flow-emulator/pull/594 to master
This PR reenables forked network support and updates it to use Access nodes as the archive backend

For contributor use:

[x] Targeted PR against master branch
[x] Linked to GitHub issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[x] Updated relevant documentation
[x] Re-reviewed Files changed in the GitHub PR explorer
[x] Added appropriate labels

@turbolent here's the forked mainnet backport

Codecov Report
Attention: Patch coverage is 43.07692% with 37 lines in your changes are missing coverage. Please review.

Project coverage is 50.80%. Comparing base (fec4774) to head (6997b7f).

Files
Patch %
Lines

server/server.go
12.50%
13 Missing and 1 partial :warning:

adapters/access.go
70.27%
10 Missing and 1 partial :warning:

storage/store.go
0.00%
11 Missing :warning:

storage/sqlite/store.go
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #603      +/-   ##
==========================================
- Coverage   51.09%   50.80%   -0.30%
==========================================
  Files          32       32
  Lines        4192     4224      +32
==========================================
+ Hits         2142     2146       +4
- Misses       1881     1907      +26
- Partials      169      171       +2

Flag
Coverage Δ

unittests
50.80% <43.07%> (-0.30%)
:arrow_down:

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.


'NoneType' object is not subscriptable

I would like to ask about this recurring error. I have the correct model and placed it in two folders: "face detection" and "face enhancement." I placed it in the "checkpoints" folder, but one of the two folders doesn't have this folder when I cloned it using Git. I also created the "checkpoints" folder myself and placed the model in it. However, I still cannot perform image restoration and receive the error message "'NoneType' object is not subscriptable.
thanks and looking forward to hearing from you soon

When you launch the Webui, is there a warning about missing models?


Tarot card numbers

@enoren5  I just resolved issue #160 with the help of the ninja technique and now whenever a new card will be added with its generator key, it will automatically be displayed right underneath every card.

Hi @abubakarA-Dot : This line number 28 is the only required change to resolve Issue #160. On my local master branch (just to test / experiment for myself), I added this one line:
{{card.number}}
 and that completed the task:

I committed the one-liner change to my master branch and in the commit message, I give you credit for resolving #160.  Thank you for completing requirement #160. But I am still curious: My question for you is: Why did you add 179 new lines and remove 34 other lines?
I see the other changes here in this PR were from before when you were working on the middleware, but all of those changes should be in their own PR separate from the PR that is intended to resolve Issue #160.  Now that #160 is resolved, if you intend on keeping the updated middleware code to resolve Issue #166 ('dynamic URL protection') then please  rebase that against master and submit that in a separate PR. I know you had trouble finishing #166, which is OK, but it's as if some of your #166 code you kept for resolving #160. When resolving any new issue, going forward, please be more careful to make sure you are working with the latest update in master and that you are branching off from master and not from other work in other branches. Thanks.

Hi @abubakarA-Dot : This line number 28 is the only required change to resolve Issue #160. On my local master branch (just to test / experiment for myself), I added this one line:
{{card.number}}
 and that completed the task:

I committed the one-liner change to my master branch and in the commit message, I give you credit for resolving #160. Thank you for completing requirement #160. But I am still curious: My question for you is: Why did you add 179 new lines and remove 34 other lines?
I see the other changes here in this PR were from before when you were working on the middleware, but all of those changes should be in their own PR separate from the PR that is intended to resolve Issue #160.  Now that #160 is resolved, if you intend on keeping the updated middleware code to resolve Issue #166 ('dynamic URL protection') then please rebase that against master and submit that in a separate PR. I know you had trouble finishing #166, which is OK, but it's as if some of your #166 code you kept for resolving #160. When resolving any new issue, going forward, please be more careful to make sure you are working with the latest update in master and that you are branching off from master and not from other work in other branches. Thanks.

Hi @enoren5  thanks for informing me about the changes that I made in tarot card PR and I can see that there are also some changes that I made for #166 . I will keep the code to a specific PR in future.
Answer To Your Question: When I checked git status, it was showing that I have only modified tarot_key.html file and I pushed it into new branch and I thought it will add this modified file only for a new PR but it added all other files as well which was not intentionally.

When I checked git status, it was showing that I have only modified tarot_key.html file and I pushed it into new branch and I thought it will add this modified file only for a new PR but it added all other files as well which was not intentionally.

Please try to be a little more careful next time when you branch off from the latest master when creating a new branch to resolve the next Issue. Thanks.


Remove unnecessary lib, exp files and pdb for windows

This PR fixes #4.

Can you please update the nuget package, so the changes take effect?

Hello, anyone there, please.


[Bug]

Version
5.2.2
Link to Minimal Reproduction
No response
Steps to Reproduce
export const option = {   toolbox: {     feature: {       show: true,       magicType: {         type: ['line', 'bar']       },  //切换为折线图，切换为柱状图       restore: {},  //还原       saveAsImage: {}   //保存为图片     }   },   xAxis: {     type: 'category',     data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']   },   yAxis: {     type: 'value'   },   series: [     {       data: [150, 230, 224, 218, 135, 147, 260],       type: 'line'     }   ] };
Just use this setting and in .vue file use setOption(option) but throw Error
Current Behavior
BarView.js:148 Uncaught TypeError: Cannot read properties of undefined (reading 'getBaseAxis')
at BarView2._renderNormal (BarView.js:148:26)
at BarView2.render (BarView.js:112:79)
at Task2.progress (Chart.js:196:20)
at Task2._doProgress (task.js:187:10)
at Task2.perform (task.js:153:16)
at echarts.js:1694:24
at GlobalModel2. (Global.js:636:10)
at Array.forEach ()
at each (util.js:207:13)
at GlobalModel2.eachSeries (Global.js:633:5)
Expected Behavior
change line chart to bar chart using toolbox
Environment
- OS: windows
- Browser: Chrome 96.0.4664.55
- Framework: Vue@3 + TypeScript

Any additional comments?
No response

我也遇到一样的问题,请问你解决了吗?

Hi there, I got same problem too, it happend when first loaded and resize after. And Finally solved it with markRaw (vue api).
markRaw(echarts.init(el))


Implement standardized country flag data for mentor profiles

Description:
Update the backend to support standardized country selection and storage for mentor profiles.
Tasks:

Update the database schema (if necessary)
Implement API endpoint for retrieving the list of countries
Implement server-side validation for country data (if necessary)

Acceptance Criteria:

[ ] Create an API endpoint to serve a list of valid countries (e.g., /api/countries)
[ ] Implement server-side validation to ensure only valid country codes are stored
[ ] Update relevant queries to include country information where appropriate
[ ] Ensure proper error handling for invalid country data

Additional Information:
Related Dependencies or References:
Related frontend issue: https://github.com/sef-global/scholarx-frontend/issues/165

@anjula-sack Shall I work on this one?

Go ahead @Disura-Randunu

@anjula-sack shall I proceed with the mentor changes for country on this same issue?

@anjula-sack shall I proceed with the mentor changes for country on this same issue?

yeah sure.


Better observability

Something like a management console exposing the following features would be immensely useful running and diagnosing delivery issues in production:

Report of top destination domains (gmail.com, yahoo.com, etc.) in the queue by number of recipients. It would help identifying destinations that are throttling sent emails.
Ability to drill down these destination queues per MTA or tenant.
Number of queued messages per MTA, with ability to drill down per tenant or destination domain. Useful when managing shared IP addresses.
Showing current queue status (active/suspended) and last SMTP error for each queue.
Exposing metrics like message time in queue. Useful when monitoring email latency for time sensitive emails, like password resets and such.

Solved with https://github.com/KumoCorp/kumomta/commit/b1c04968fe69dda43268fc6fc832fa40091d62f7


Fix unittest discovery when using VS Code Insiders by using Inversify's skipBaseClassChecks option.

For #14962
What skipBaseClassCheck does: https://github.com/inversify/InversifyJS/blob/master/wiki/container_api.md#skipbaseclasschecks

You can use this to skip checking base classes for the @injectable property, which is especially useful if any of your @injectable classes extend classes that you don't control (third party classes). By default, this value is false.

UnitTestSocketServer (which is causing the issue) extends from EventEmitter, a Node class we don't control.

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[x] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

Yep, and I checked, unit tests are still discovered when using VS Code stable, it doesn't seem to have broken anything as far as I can see.

Codecov Report

Merging #15049 (2fe60cd) into main (91ff97f) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##            main   #15049   +/-   ##
======================================
  Coverage     65%      65%
======================================
  Files        558      558
  Lines      26231    26231
  Branches    3728     3728
======================================
  Hits       17155    17155
  Misses      8381     8381
  Partials     695      695


Chapter 6 - Databases and the System Boundary

From the design point of view I'm not sure a Citizen should have taxId. This certainly is questionable, but perhaps calling it something socialSecurityId or citizenId would be better. Kids are citizens and do not pay taxes, for example. Why do they need a taxId? This may cause some confusion for the reader, since they may thing that the taxId field has some relationship with TaxCitizen.

Replaced it with citizenID


Please add a license to this project

I would like to contribute to this project but there is no licence specified, so I'm not sure if this project is open for contributions or not?

I have not worked on this in some time but would welcome contributions.

I see that you added a public domain licence. Usually I use one of GPL licenceses, just to protect my work from falling into wrong hands. Public domain licence means, that no one is asked to contribute back to this project.
I'm ok with public domain, but just letting you know, that public domain is quite risky thing for open source projects.


Bump version

Coverage remained the same at 65.433% when pulling 28bc5cd35141734054959c64aed545b08d6c77f3 on bump-version into e59af90a96883be8474176ff1a39876dd2955ad0 on master.


Return Member from "Modify Guild Member" request

https://github.com/discord/discord-api-docs/pull/2505
This should be tested with a bot to ensure the change is live

Closed by #758.


Supports getting envelope's senders view URL

@jondkinney related: LMK what you need us to do, to publish this as canonical for the gem. TY!

Merged, thanks @grzuy !


Please make it 0.8.0-dev Thank you ;)

Thank You


Update PKGBUILD

update vim to 8.1 for major feature (term) support.

Any reason this got closed so quickly after submission? o_0


MP4 Progressive Download - Microsoft solution varies from specification

The spec currently states in section <IP_ADDRESS>:

Avoiding such a large C2PA Manifest Store for a large asset is achieved by using one or more Merkle trees.
• For a large non-fragmented asset that contains one or more 'mdat' boxes in a single large file, one Merkle tree is
used for each 'mdat' box.
• For a large fragmented asset that contains a set of 'mdat' boxes for a single track which may be spread across
multiple files, one Merkle tree is used for each track.

The Microsoft solution breaks the Merkle trees up by track_ids. The reason we do this is because we define fragments based off the samples attribute in the 'trun' box. Additionally, each track is required to have a unique track_id and at least one 'trun' box. @samuelwenker and I chose to go with this because we thought this was the best solution for consistency and ease of processing. I was unaware that it was uncompliant until @mauricefisher64 pointed it out. He liked our solution though so we thought we would create an issue to see what the TWG thought. I fear that we will run into compatibility issues with other implementations if there is a file with more than one 'mdat' files.
I have never seen a file like this before so I can't guarantee what our solution would do. I presume that it would be agnostic to the number of 'mdat' boxes. When it produces the fragment hashes, it just reads 'sample_size' bytes from 'sample offset' in the file (which points into an 'mdat') foreach sample in the 'trun' box.

Closing in favor of internal version


Is there a way to combine echo_via_pager with secho?

In order to get colors in the paginated output?

You can use click.style to add ANSI styles, but it's up to the pager you're using if it supports them. I know there's some env vars or options you can pass to less.

You can use click.style to add ANSI styles, but it's up to the pager you're using if it supports them. I know there's some env vars or options you can pass to less.

Gotcha, yea that works - thanks!

Gotcha, yea that works - thanks!