Port from bespoke assertions of snapbox

Traditionally, cargo-test-support has had bespoke assertions, requiring hand implemented diff algorithms.  As there is less of a community around this, the knowledge is more specialized, its less likely to be documented, and we are on our own for feature development.
In #13980 and #14031, we introduced the use of snapbox as replacement for our own assertions and need to work to migrate to them.
Porting Instructions
1. Select a file to port
The files should have #![allow(deprecated)] at the top, e.g.
$ git pull --rebase
$ rg '#!.allow.deprecated' tests

Please check the comments on this issue for anyone to have claimed the file and then post that you claim the file
2. Remove #![allow(deprecated)] to identify what work is needed
If nothing, congrats, that was easy!
3. Resolve basic deprecations
Replace Execs::with_stdout("...") with
use cargo_test_support::prelude::*;
use cargo_test_support::str;

.with_stdout_data(str![])

Replace Execs::with_stderr("...") with
use cargo_test_support::prelude::*;
use cargo_test_support::str;

.with_stderr_data(str![])

(prelude is only needed for some steps)
Commit these changes
Run SNAPSHOTS=overwrite cargo test && cargo check --test testsuite.  In rare cases, SNAPSHOTS=overwrite may make bad edits.  Feel free to create a reproduction case and create an issue.  They are usually obvious how to fix, so don't worry.
Diff the snapshots.  Is there anything machine or run specific in them that previously was elided out with [..]?

Can you auto-redact it like 5ea1c8f?  If so, revert the snapshot updates, add the auto-redaction (as a separate commit before any test changes), and re-run the snapshots
Otherwise, replace it with [..]

Once its working, amend your commit with the snapshots
4. Resolve non-literal deprecations
Like Step 3, but not just with_stdout("...") but with variables or format!.
Evaluate whether a literal could be used

Is the variable important for showing that output remains unchanged between instances, then keep it
Are we specifically testing for what we are using format! for, then keep it

If not, see if it can be expressed with an auto-redaction

So this can end up with either

with_std*_data(expression)
with_std*_data(str![]) like in Step 3

5. Repeat with "straight forward" deprecations

with_stdout_unordered(expected) -> with_stdout_data(expected.unordered())
with_stderr_unordered(expected) -> with_stderr_data(expected.unordered())
with_json(expected) -> with_stdout_data(expected.json_lines()) or with_stdout_data(expected.json())

May also require .unordered()

6. Contains / Does not Contains deprecations
A judgement needs to be made for how to handle these.
A contains can be modeled by surrounding a entry with ... (text) or "...", (json lines).  The question is whether we should still do this or use a different method.

If replacing a contains with an equality check, use multi-line globs (...) for rustc errors that weren't previously matched to minimize tying Cargo's tests to the exact output of rustc
Multiple contains can be merged into a single eq with .. interspersed (or one ... and .unordered()).  For example, see 3054936cab3d4627d5d1d878426c4fd88fab41f8

When using unordered, likely string literals, rather than str![] should be used, as these can't correctly be updated

A does_not_contain cannot be modeled at this time.   The challenge with these is that they are brittle and you can't tell when they are no longer testing for what you think because the output changed.  We should evaluate what to do with these on a case-by-case basis.
When in doubt, feel free to put #[allow(deprecated)] on a statement and move on.  We can come back to these later.

Porting progress

[ ] tests/testsuite/advanced_env.rs
[x] tests/testsuite/alt_registry.rs #14031
[ ] tests/testsuite/artifact_dep.rs
[ ] tests/testsuite/artifact_dir.rs
[ ] tests/testsuite/bad_config.rs
[ ] tests/testsuite/bad_manifest_path.rs
[ ] tests/testsuite/bench.rs
[ ] tests/testsuite/binary_name.rs
[ ] tests/testsuite/build.rs
[ ] tests/testsuite/build_plan.rs
[ ] tests/testsuite/build_script.rs
[ ] tests/testsuite/build_script_env.rs
[ ] tests/testsuite/build_script_extra_link_arg.rs
[ ] tests/testsuite/cache_lock.rs
[ ] tests/testsuite/cache_messages.rs
[ ] tests/testsuite/cargo_alias_config.rs
[ ] tests/testsuite/cargo_command.rs
[ ] tests/testsuite/cargo_env_config.rs
[ ] tests/testsuite/cargo_features.rs
[ ] tests/testsuite/cargo_targets.rs
[ ] tests/testsuite/cfg.rs
[ ] tests/testsuite/check.rs
[ ] tests/testsuite/check_cfg.rs
[ ] tests/testsuite/clean.rs
[ ] tests/testsuite/collisions.rs
[ ] tests/testsuite/concurrent.rs
[ ] tests/testsuite/config.rs
[ ] tests/testsuite/config_cli.rs
[ ] tests/testsuite/config_include.rs
[ ] tests/testsuite/corrupt_git.rs
[ ] tests/testsuite/credential_process.rs
[ ] tests/testsuite/cross_compile.rs
[ ] tests/testsuite/cross_publish.rs
[ ] tests/testsuite/custom_target.rs
[ ] tests/testsuite/death.rs
[ ] tests/testsuite/dep_info.rs
[ ] tests/testsuite/diagnostics.rs
[ ] tests/testsuite/direct_minimal_versions.rs
[ ] tests/testsuite/directory.rs
[ ] tests/testsuite/doc.rs
[ ] tests/testsuite/docscrape.rs
[ ] tests/testsuite/edition.rs
[ ] tests/testsuite/error.rs
[ ] tests/testsuite/features.rs
[ ] tests/testsuite/features2.rs
[ ] tests/testsuite/features_namespaced.rs
[ ] tests/testsuite/fetch.rs
[ ] tests/testsuite/fix.rs
[ ] tests/testsuite/fix_n_times.rs
[ ] tests/testsuite/freshness.rs
[ ] tests/testsuite/future_incompat_report.rs
[ ] tests/testsuite/generate_lockfile.rs
[ ] tests/testsuite/git.rs
[ ] tests/testsuite/git_auth.rs
[ ] tests/testsuite/git_gc.rs
[ ] tests/testsuite/git_shallow.rs
[ ] tests/testsuite/glob_targets.rs
[ ] tests/testsuite/global_cache_tracker.rs
[ ] tests/testsuite/help.rs
[ ] tests/testsuite/https.rs
[ ] tests/testsuite/inheritable_workspace_fields.rs
[ ] tests/testsuite/install.rs
[ ] tests/testsuite/install_upgrade.rs
[ ] tests/testsuite/jobserver.rs
[ ] tests/testsuite/lints_table.rs
[ ] tests/testsuite/list_availables.rs
[ ] tests/testsuite/local_registry.rs
[ ] tests/testsuite/locate_project.rs
[ ] tests/testsuite/lockfile_compat.rs
[ ] tests/testsuite/login.rs
[ ] tests/testsuite/logout.rs
[ ] tests/testsuite/lto.rs
[ ] tests/testsuite/main.rs
[ ] tests/testsuite/member_discovery.rs
[ ] tests/testsuite/member_errors.rs
[ ] tests/testsuite/message_format.rs
[ ] tests/testsuite/messages.rs
[ ] tests/testsuite/metabuild.rs
[ ] tests/testsuite/metadata.rs
[ ] tests/testsuite/minimal_versions.rs
[ ] tests/testsuite/multitarget.rs
[ ] tests/testsuite/net_config.rs
[ ] tests/testsuite/new.rs
[ ] tests/testsuite/offline.rs
[ ] tests/testsuite/old_cargos.rs
[ ] tests/testsuite/open_namespaces.rs
[ ] tests/testsuite/owner.rs
[ ] tests/testsuite/package.rs
[ ] tests/testsuite/package_features.rs
[ ] tests/testsuite/patch.rs
[ ] tests/testsuite/path.rs
[ ] tests/testsuite/paths.rs
[ ] tests/testsuite/pkgid.rs
[ ] tests/testsuite/precise_pre_release.rs
[ ] tests/testsuite/proc_macro.rs
[ ] tests/testsuite/profile_config.rs
[ ] tests/testsuite/profile_custom.rs
[ ] tests/testsuite/profile_overrides.rs
[ ] tests/testsuite/profile_targets.rs
[ ] tests/testsuite/profile_trim_paths.rs
[ ] tests/testsuite/profiles.rs
[ ] tests/testsuite/progress.rs
[ ] tests/testsuite/pub_priv.rs
[ ] tests/testsuite/publish.rs
[ ] tests/testsuite/publish_lockfile.rs
[ ] tests/testsuite/read_manifest.rs
[ ] tests/testsuite/registry.rs
[ ] tests/testsuite/registry_auth.rs
[ ] tests/testsuite/rename_deps.rs
[ ] tests/testsuite/replace.rs
[ ] tests/testsuite/required_features.rs
[ ] tests/testsuite/run.rs
[ ] tests/testsuite/rust_version.rs
[ ] tests/testsuite/rustc.rs
[ ] tests/testsuite/rustc_info_cache.rs
[ ] tests/testsuite/rustdoc.rs
[ ] tests/testsuite/rustdoc_extern_html.rs
[ ] tests/testsuite/rustdocflags.rs
[ ] tests/testsuite/rustflags.rs
[ ] tests/testsuite/rustup.rs
[ ] tests/testsuite/script.rs
[ ] tests/testsuite/search.rs
[ ] tests/testsuite/shell_quoting.rs
[ ] tests/testsuite/source_replacement.rs
[ ] tests/testsuite/ssh.rs
[ ] tests/testsuite/standard_lib.rs
[ ] tests/testsuite/test.rs
[ ] tests/testsuite/timings.rs
[ ] tests/testsuite/tool_paths.rs
[ ] tests/testsuite/tree.rs
[ ] tests/testsuite/tree_graph_features.rs
[ ] tests/testsuite/unit_graph.rs
[ ] tests/testsuite/update.rs
[ ] tests/testsuite/vendor.rs
[ ] tests/testsuite/verify_project.rs
[ ] tests/testsuite/version.rs
[ ] tests/testsuite/warn_on_failure.rs
[ ] tests/testsuite/weak_dep_features.rs
[ ] tests/testsuite/workspaces.rs
[ ] tests/testsuite/yank.rs

I would like to try the following file:
 tests/testsuite/build_script_env.rs
 tests/testsuite/build_script_extra_link_arg.rs
 tests/testsuite/cache_lock.rs
 tests/testsuite/cache_messages.rs
 tests/testsuite/cargo_alias_config.rs
 tests/testsuite/cargo_command.rs
 tests/testsuite/cargo_config/mod.rs
 tests/testsuite/cargo_env_config.rs
 tests/testsuite/cargo_features.rs
 tests/testsuite/cargo_targets.rs

#14041 highlights a blocker for tests/testsuite/message_format.rs (and other jsonlines tests): snapbox can only render the output as jsonlines and not our "pretty printed" variant which can make the messages harder to read.

@weihanglo I'd like to claim tests/testsuite/shell_quoting.rs.

@weihanglo I'd like to claim tests/testsuite/help.rs.

@weihanglo I would like to claim tests/testsuite/check_cfg.rs and tests/testsuite/freshness.rs as well to prevent conflict with the fix for #14076.

@weihanglo going to pick up these:
tests/testsuite/collisions.rs
tests/testsuite/concurrent.rs
tests/testsuite/config.rs
tests/testsuite/config_cli.rs
tests/testsuite/config_include.rs
tests/testsuite/corrupt_git.rs

@weihanglo I'd like to claim tests/testsuite/minimal_versions.rs

@weihanglo I'd like to report that with_stdout or with_stderr doesn't appear in tests/testsuite/member_discovery.rs, so the file should be removed from the list.
By the way, I'd like to claim tests/testsuite/timings.rs.

@henry40408 would you mind removing #[allow(deprecated)] from memeber_discovery.rs?

@weihanglo I'll remove it in https://github.com/rust-lang/cargo/pull/14082

woring on clean at #14096

I'd like to claim tests/testsuite/pub_priv.rs since i  have added the test before

Claim these

tests/testsuite/git.rs
tests/testsuite/git_auth.rs

claim tests/testsuite/lints/unused_optional_dependencies.rs
Since I am now modifying this test case, I can migrate it together :)

Cooking tests/testsuite/lto.rs

I've created assert-rs/snapbox#348 to track what we need from snapbox for jsonlines.  See that issue for my proposed solution.

I fixed assert-rs/snapbox#348  but found assert-rs/snapbox#351  and assert-rs/snapbox#352

Looks like we've finished every file-level migration.  We have 124 remaining #[allow(deprecated)]s left.


Add bad_output_process_model option and use_fixed_model_version option for all generation methods, to avoid future OpenAI API changes break Sotopia running.

Closes #
📑 Description

Two major updates:

add "bad_output_process_model" option to all agenerate_xxx() methods so users can decide which model to use for handling bad outputs. By default, this is set to be gpt-4o-mini.

add use_fixed_model_version option for all generation methods, as some fixed model version may no longer available in the future. Users should have the right to bypass the fixed model version mapping instead of getting stuck in an error.

Document (generation.md) has been updated for these two major changes correspondingly.

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[ ] All the tests have passed
[x] Branch name follows type/descript (e.g. feature/add-llm-agents)
[x] Ready for code review

ℹ Additional Information

@XuhuiZhou @ProKil Hi, this is my promised PR previously. And I think by merging this PR, now it would be possible that the user would be able to run Sotopia with their own specified OpenAI API versions, and API deprecation will no longer affect Sotopia from running (by setting bad_output_process_model=... and use_fixed_model_version=False).


#1545 Fix formatting of sample exr file in OpenEXRFileLayout.rst - 3rd attempt

Making a pull request from the feature branch of my forked repro. This allows me to sync the main branch of my forked repro to sync any updates from the root repro.

After syncing the root repro into my fork main branch. Rebase my feature branch with main to pick up the updates. Resolve any conflicts which resolved the typo commit in README.md, as in removed that commit.

Move the download link of the sample.exr above the table.

Update the paragraph above the table to describe the table columns instead of the rows of the old code blocks.

Minor housekeeping, moving the sample.exr to the website/downloads to keep it consistent with the build/website/sphinx/_downloads directory. To avoid confusion for future additions to downloads etc.

Thanks for getting this sorted out!  Do you have a link to the output html on your readthedocs? There were a few anomalies in the previous iteration I wanted to comment on, but it looks like it's gone away.

https://openexr-annguyen.readthedocs.io/en/latest/OpenEXRFileLayout.html#sample-file
is the link to my readthedocs that get built on my branch/main.

This looks better, thanks! I've been busy on other things and I'd like to take a deeper look at it, but I won't have time to get to it until the first week of December.


Create a code coverage report (again)

run nix-build -A tests.coverage and enjoy a glance at
result/index.html. Fixes #3029.
We should hook this up to https://coveralls.io/ for nice accessible
reports in the cloud. This is free for open source!
Will make CI even slower. Oh well. If someone is annoyed, get some funding for a CI machine.

Shall we merge this?


TransferWindowPlanner lacks ksp_version

The latest version is marked on github as 1.0.5 compatible and the forum thread for the mod mentions something about UI changes. People are also asking if the mod will get updated/is working so I'm assuming it is not at this time, user ace22 on irc also mentioned it not working. Might have to add ksp_version to the files in CKAN-meta aswell as to ensure that users don't get a really old version instead.

Here is me thinking it was explicitly set to "ksp_version": "any" by someone clever.


pretrained models damaged

Hi. The pretrained models you provided are available on the google drive, however, when they are downloaded they cant be opened, and when I try to open or extract, there is a message saying the files are damaged. Is it possible you can check?
Thanks

Hi, how are you trying to open/extract them?
I guess the .tar extension is misleading. They should be opened directly by PyTorch. For example, you can pass it to caption.py like this -
python caption.py -i='../caption data/t.jpeg' -m='../BEST_checkpoint_coco_5_cap_per_img_5_min_word_freq.pth.tar' --word_map='../WORDMAP_coco_5_cap_per_img_5_min_word_freq.json' --beam_size=1
In any case, I've re-uploaded it along with the word_map JSON.

Yes. Thanks for the answer!
Regards

Excuse me , why the pretrained models you provided are unavailable on the google drive, I can't download it anyway


Potential collaboration using checksumdir and diff-rs crates in Torchbear environment

Hi!
This crate looks very similar to what we did in checksumdir, which is a straight port of python's checksumdir, and diff-rs in order to make those functions available to Torchbear's scripting environment - just announced in r/rust.
Perhaps someone here would like to try out this new Rust project that makes it possible to produce useful apps from powerful libraries in simple scripts.

#11 is the type of direction I'd like to take this project.
One use case is to make testing as dead simple as possible while giving the user as much information as they need.  I'd like get dir-diff to report what is different, integrate it into predicates, and then it'd have integration in assert_fs.  I'm wanting both subset assertion (everything in my "expected" folder is in my "actual" folder) and exact assertion ("expected" and "actual" folders completely match).
You can find a hand-rolled version of this in cobalt's tests.  The fun part is coming up with an API that is general enough but not so general it can't ever be implemented or used :)
Looking at checksumdir, it looks like it takes a checksum of a directory which would make quick checks over time, etc.   Is this correct?
From these comparisons, any potential you see in collaboration?

hmm..  well what's your main goal?  what are you ultimately building?

I felt like I had said that but I guess I wasn't clear.  Let me try another way.
I've been working on a crate, assert_fs, that tries to make it more trivial to write tests that deal with filesystems.  With minimal boilerplate, you can write a test and on failure, it reports a lot of helpful information to make the debug process easier.  A big use case not covered is making sure an output directory matches a "golden" or "snapshot" directory.  cobalt-bins tests are one example of this need.
To help accomplish this, I need a directory diffing API that doesn't just return a pass / fail but will tell you why it failed, e.g. what file was missing or which file had unexpected content and what the content was.  That is what #11 is about.  #6 complicates it a little bit.

for Cobalt?

Cobalt is one example of the need.  I want to generalize what cobalt has so anyone can take advantage of it.


Installing Metamod gameinfo.gi file

I am running your image of CS2 in a docker I would like to add metamod. Following the instructions to install Metamod it says to copy the addons folder over and then edit the gameinfo.gi (instructions here https://cs2major.com/article.php?id=22) file in the /game/csgo directory. When I open the file and search for "Game_LowViolence" I don't find it. Also, there is a remark saying "DO NOT EDIT THIS FILE DIRECTLY - YOU PROBABLY WANT TO EDIT CSGO_CORE/GAMEINFO.GI"
Any suggestions for getting metamod working?

use that code in entrypoint.sh
#add metamod
FILE="$CS2_DIR/game/csgo/gameinfo.gi"
LINE="Game    csgo/addons/metamod"
chmod u=rwx,g=rwx,o=r "${FILE}"
echo "Checking if line exists in the file"

if grep -q "$LINE" "$FILE"
then
    echo "Line found in the file."
else
    echo "Line NOT found in the file. Adding now."
    awk -v n="$LINE" 'BEGIN{p=1}/[[:space:]]*Game[[:space:]]*csgo/ {if(p) {print n; p=0}} {print}' $FILE > tmpfile && mv tmpfile $FILE
    # Проверяем, была ли линия успешно добавлена
    if grep -q "$LINE" "$FILE"
    then
        echo "Line successfully added."
    else
        echo "Failed to add line. Please check file permissions."
    fi
fi

I've been planning to add the possibility to opt-in to metamod. But I just haven't been involved in any events lately, so I haven't prioritized it. But if that's something you would find helpful, I can look into it.


Drop XDG_DATA_DIRS workaround from snap build

The fix is already merged upstream thus no longer to be workarounded.
Prepend $SNAP/share to XDG_DATA_DIRS · ubuntu/snapcraft-desktop-helpers
https://github.com/ubuntu/snapcraft-desktop-helpers/pull/121

Thanks for contributing! Unfortunately there were the following style issues with your Pull Request:

Commit: 95901d9702d03f7ff8afecedfad66f5a45288d7f
Your commit message body contains a line that is longer than 72 characters

Please follow git commit message guidelines (you can use git push -f to update this PR).

This message was auto-generated by https://gitcop.com

This looks like a runtime thing rather than build time, can we be 100% sure the snapd runtime anywhere will be updated?

can we be 100% sure the snapd runtime anywhere will be updated?

The assignment is rather in ubuntu/snapcraft-desktop-helpers (the desktop-gtk3 remote part), as long as the desktop-launch launcher is used it should work.

I see, thanks!


Failed to load a file of 2.3GB on Mac.

Atom crashes everytime try to reload a file of 2.3GB on Mac.

Make sure that you have enough memory, storage, etc.

file is stored on my machine , so there is enough memory . When I try to open with Atom , it crashes as it can't load file in chunks to be able to open it.

Atom has a known issue with large files, please check this issue for more information. https://github.com/atom/atom/issues/11554

Sorry to be pedantic, but just because your file is stored on the machine (hard drive), does not mean that your computer has enough RAM to load and deal with it. You probably need a computer with at least 8GB of RAM.

@PalmoliveDev your link is messed up!


Help importing html

Thank you for this project. New user here. Requesting help with a data import of an html data file.
The Chicago Board of Elections data interface is based on xls downloads. Sample url, this is for the 2020 presidential race:
https://chicagoelections.gov/en/data-export.asp?election=251&race=11
Sample data download attached:
b.xlsx
The first character is a carriage return. DOCTYPE and HTML headers are within the 1st 1K characters.
LibreOffice Calc <IP_ADDRESS> opens this file fine, it prompts with the Import dialog and the defaults work fine, a workbook with one sheet with 2277 rows.
This file opens fine in a browser.
Related import script:
https://observablehq.com/d/7678ec0af15e0ab3
response = fetch(proxyUrl + electionsResultUrl).then(response => response)
txt = response.text()
csf = xlsx.read(txt, {type: 'string', WTF: true})
sheet = csf.Sheets[csf.SheetNames[0]];
csv = xlsx.utils.sheet_to_txt(sheet);

xlsx 0.16.8 seem to parse just 2 rows, looks like the 1st named range, HTML_1?
Goal is to download & convert to text for further javascript processing.
Thanks again.

This export appears to be a complete HTML document including multiple TABLE entries.  They cheat by naming the file with a .xls extension.
Currently the HTML parser only grabs the first table.  Looking at the file, the first table runs from line 45 to 108.  There are two TR rows: lines 46-74 and 79-108.
Excel is clearly not doing the right thing here, considering A1 in the worksheet is a bunch of JS code.  Should each table be presented as a separate worksheet or should they be appended to the same worksheet?
All of the changes apply to html_to_book in bits/79_html.js
Separate worksheets:
	function html_to_book(str/*:string*/, opts)/*:Workbook*/ {
		var mtch = str.match(/<table.*?>[\s\S]*?<\/table>/gi);
		if(!mtch || mtch.length == 0) throw new Error("Invalid HTML: could not find <table>");
		var wb = utils.book_new();
		mtch.forEach(function(s, idx) { utils.book_append_sheet(wb, html_to_sheet(str, opts), "Sheet" + (idx+1)); });
		return wb;
	}

Same worksheet:
	function html_to_book(str/*:string*/, opts)/*:Workbook*/ {
		var mtch = str.match(/<table.*?>[\s\S]*?<\/table>/gi);
		if(!mtch || mtch.length == 0) throw new Error("Invalid HTML: could not find <table>");
		var ws = html_to_sheet(mtch[0], opts);
		mtch.forEach(function(s, idx) {
			if(idx == 0) return;
			utils.sheet_add_aoa(ws, utils.sheet_to_json(html_to_sheet(mtch[0], opts), {header:1}), {origin: -1});
		});
		return sheet_to_workbook(ws, opts);
	}

Thank you very much for your help. You customized the html parse for my use case, that is way above & beyond. I can understand that it is reasonable that when importing html this project scans for a table and expects one, and that finding more than one is an ambiguous situation.
Yes, it seems the Board attempted to leverage their investment in getting an html presentation of their data right and then offering a data interface by offering said html as a download and relying on aggressive spreadsheet import of said html. The Board data interface really has little to do with spreadsheets. I think it will be cleaner for me to make a DOM out of the html and traverse it with xpath.
Thank you again for this project and for your extraordinary assistance.

@HughDevlin @joshkay we'd accept a PR but would need to settle on an approach.
Should each table be presented as a separate worksheet or should they be appended to the same worksheet?
If each table is a separate worksheet, what sheet names should be assigned or how should the developer specify names?
If a single worksheet is created, how many rows should be inserted between tables?  How should column widths be handled (since the columns would be shared by all of the tables)?

3a26260c8499365460e70ce90f4b45243524a839


Use new String.Join overload added in .Net 4.0 (~3x faster)

Fixes #2569
Before this PR: 880 msecs
With this PR: 300 msecs
Benchmark script:
let sw = System.Diagnostics.Stopwatch()
sw.Start()

Seq.init 1_000_000 string
|> String.concat ""
|> ignore

sw.Stop()
printfn "%d milliseconds" sw.ElapsedMilliseconds

Really probably inconsequential, but not sure if this was a good change or not. Under the hood, because it's a seq, it can't calculate the total size requirements, so it has to use a StringBuilder which potentially will do more allocations that the up front toArray. Anyway, if you change the test case to:
for i = 1 to 5 do
    let sw = System.Diagnostics.Stopwatch()
    sw.Start()

    let strings =
        Seq.init 1000000 (fun _ -> "This is a slightly longer string")
#if TURN_INTO_ARRAY
        |> Seq.toArray
#endif

    let b = System.String.Join ("", strings)

    sw.Stop()
    printfn "%d milliseconds" sw.ElapsedMilliseconds

You find that the upfront toArray version is faster (and probably fragments memory less as only the single array and single string buffer are allocated)

@manofstick never thought of that - it's probably worth graphing size vs speed so then we can figure out a tradeoff and optimise for what we believe is the most common case.

@saul
I mean toArray is going to suffer the same things as StringBuilder (i.e. need to keep growing an expanding buffer) but only of string references - so I'm guessing if the string is >> 8 bytes (for 64 bit) then that will probably be the point at which you start to see action...
Oh, and I would avoid Seq.init, it does strange things from a timing perspective!

@saul
Oh, and I would probably avoid using the string function as well, as it tries to do casting to IFormattable (from memory) and then does stuff. Just gets in the way of what you're trying to time... Something like:
for i = 1 to 5 do
    let sw = System.Diagnostics.Stopwatch()
    sw.Start()

    let strings =
        seq {
            let mutable x = 0
            while x < 1000000 do
                yield x.ToString ()
                x <- x + 1
        }

#if TURN_INTO_ARRAY
        |> Seq.toArray
#endif

    let b = System.String.Join ("", strings)

    sw.Stop()
    printfn "%d milliseconds" sw.ElapsedMilliseconds

Is probably best

@manofstick with your latest code, here are the benchmarks I get:
# Without Seq.toArray
PS > .\fsiAnyCpu.exe C:\code\scratch\perf.fsx --optimize+
270 milliseconds
222 milliseconds
247 milliseconds
250 milliseconds
244 milliseconds

# With Seq.toArray
PS > .\fsiAnyCpu.exe C:\code\scratch\perf.fsx --optimize+
328 milliseconds
352 milliseconds
418 milliseconds
294 milliseconds

@saul
OK, now play around with some different strings :-)
Have fun!

More effort than I really think this is probably worth (I think the change as stands is good and I don't think you should change it, my discussion is more just on the joys of optimizing things...) anyway, I played a little more and present this:
[<Literal>]
let innerCount = 10

[<Literal>]
let outerCount = 100000

[<Literal>]
let seperator = ", "

for atomSize in 0 .. 5 .. 100 do
    let sw = System.Diagnostics.Stopwatch.StartNew ()

    let atom = String.init atomSize (fun _ -> "X")

    for i = 1 to outerCount do
        let strings =
            seq {
                let mutable x = 0
                while x < innerCount do
                    yield atom
                    x <- x + 1 }
    #if TURN_INTO_ARRAY
            |> Seq.toArray
    #endif

        let composite = System.String.Join (seperator, strings)
        if composite.Length <> ((atom.Length * innerCount) + (seperator.Length * (innerCount-1))) then
            failwith "unexpected output"

        ()

    printfn "%d: %d milliseconds" atomSize sw.ElapsedMilliseconds

Which seems to indicate that the benefit of going to an array kicks in with strings than are greater than 20 to 30 characters.


Slow startup

Issue Type: Performance Issue
I disabled all extensions but startup still took several seconds to fully render the window
VS Code version: Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f, 2020-11-11T01:11:34.018Z)
OS version: Darwin x64 20.1.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-1038NG7 CPU @ 2.00GHz (8 x 2000)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 3, 6

Memory (System)
16.00GB (0.31GB free)

Process Argv
--crash-reporter-id f91ca8d6-c552-465c-adc2-26b3148b8c60

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
   15	    98	 91245	code main
    6	    66	 91248	   gpu-process
    0	    33	 91250	   utility
    4	   262	 91251	   window (Startup Performance)
    0	    82	 91542	     extensionHost
   95	    82	 91543	   shared-process
    0	     0	 91559	     /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    8	    66	 91557	   window (Issue Reporter)

Workspace Info
;

Extensions: none

Is #105446 relevant?

/needsMoreInfo
Please use this guide to provide more information: https://github.com/Microsoft/vscode/wiki/Performance-Issues. Thanks.

The most likely culprit is the largest service in the shared process: the extension management service.

I think its not just extensions but mainly due to clean ups and updates being done by shared process:

extensions
localizations
language packs
storage data
logs

prof-7a86.extHost.cpuprofile.txt
Attach profile files collected
prof-7a86.main.cpuprofile.txt
prof-7a86.renderer.cpuprofile.txt

no actionable information. closing

no actionable information. closing


spi: Add LPSPI support for i.MX RT1062

Refers to #26428 and #30204.
Test tests/drivers/spi/spi_loopback succeeds on Teensy4.1 board.

I don´t have possibility to check the other devices like RT1064. But if you agree I can add the RT1064.


Setup permissions so that we can read the kube-system namespace to get its UID.

Prefect uses the kube-system namespace to get the UID for job identification purpose.
See the discussion here: https://prefect-community.slack.com/archives/CL09KU1K7/p1670585894619609?thread_ts=1670582075.035229&cid=CL09KU1K7

Cross-linking the issues for context: https://github.com/PrefectHQ/prefect/issues/7739 and https://github.com/PrefectHQ/prefect/pull/7747
A role binding to read namespaces is probably safe to add. With Kubernetes RBAC, the person creating role bindings needs to have at least the same permissions or greater (to prevent privilege escalation), and clusters in restricted environments often do not give people much access especially outside their current namespace.
OpenShift is one such restricted Kubernetes environment, but even so, I think they allow everyone to read all namespaces, so this is probably fine. An alternative might be to generate a token in Helm and store in a ConfigMap: https://github.com/PrefectHQ/prefect/issues/7739#issuecomment-1343801111

Unfortunately generating a token here won't help us solve this when deploying agents without Helm — which I believe is quite common. I'm happy to include a fallback if the UID cannot be retrieved, but I'm not sure what the best option for that is yet.

A user suggested an environment variable to override this behavior, I think PREFECT_KUBERNETES_CLUSTER_UID could be used first to support reduced permissions and then we can fallback to a read of the namespace. If we want, we can set this special environment variable in the Helm chart.

There will be two changes to support this:

We will add an environment variable (exact name TBD) to the Python code, which will take precedence over the Cluster UID detection. It will be configurable by changing extraEnvVars, but will not otherwise be configurable (i.e. it will not be in the Helm Values) https://github.com/PrefectHQ/prefect-helm/blob/2f63c923ffe1c9330c8731aa08a71ec521bca418/charts/prefect-agent/values.yaml#L121-L127
The default behavior will be to detect a cluster identifier, either at Helm installation time or runtime (exact approach is TBD; we'll likely have to experiment here)

There are two possible approaches to (2) that we can explore:

We can add a ClusterRole and ClusterRoleBinding to have get permission on the kube-system namespace. This would be gated with a rbac.create parameter, so that restrictive clusters can prevent the creation of the bindings. This flag will also control whether namespaced Role/RoleBindings are created.
If users want to manage RBAC settings themselves, they can set this to "false" and then manage RBAC separately from this chart. In this case, they are responsible for creating necessary Role, RoleBinding, ClusterRole, ClusterRoleBinding -- or they can request that a a cluster administrator handle that on their behalf.

Because the UID is immutable and only needs to be looked up once, we can potentially use the Helm lookup command during installation to read the kube-system UID during installation, and then inject that into the chart.
This would mean that the service account would not need to read the kube-system namespace directly, and the user installing the chart would not need permission to create ClusterRole/ClusterRoleBindings; they only need permission to read the metadata for the kube-system namespace.
A minor disadvantage of the lookup approach is that it will not work when performing a dry run.

I believe this should support all our known use cases/handle all known restrictions in a reasonable way.

Here's a PR for the environment variable: https://github.com/PrefectHQ/prefect/pull/7864
@hateyouinfinity — since most cluster names pulled from the config are not unique across machines, we are very hesitant to use that. It's likely to lead to incorrect reports of cancelled runs.


checkSAMLStatus method not passed any callback

checkSAMLStatus method is not passed any callback, causing RefrenceError being thrown.

Thanks!


Fix typo in mali450-userland_r6p0_01rel0.bb

Thanks Khem. I'm going to cherry-pick the mali typo patch. For the service, I'll prefer to get the patch merged in 96boards-tools directly and then update the recipe.

is this PR still valid?

@fboudra picked portion of it. The patch to 96boards tools should go into tools repo and then SRCREV be bumped.

Closed with the following commits:
https://github.com/96boards/96boards-tools/commit/906d4bde05b1e2d276deebecd789b53675fd7922
https://github.com/96boards/meta-96boards/commit/e958fc479bc0387843caab4392e07eff020a57be


joyent/node-smartdc-auth#4 would like 'loadSSHKey' to return the path to the found key

Fixes #4

@arekinath I'd appreciate a sanity check when you get a chance. No big rush. Thanks. I'm using this for https://github.com/joyent/node-triton/issues/46

Merged as 40a1cc8ce1fe27f6a7caa39eebdfd2e430f6380a


Invalid request: env.DENO_UNSTABLE should be string.

Hello,
I am trying to run the unstable flag but I am getting "Invalid request: env.DENO_UNSTABLE should be string." when pressing deploy button.
This is the vercel.json:
{
  "functions": {
    "api/**/*.[jt]s": { "runtime"<EMAIL_ADDRESS>}
  },
  "env": {
    "DENO_UNSTABLE": true
  }
}

Do "true" (as a string), not true (as a boolean).

You are right, thank you.


Unknown EA error 480 Feature Disabled

I get an error from a few days after login, any operation run I receive this error:
Unknown EA error, please report on GitHub - Code: 480. String: Feature Disabled.
How can I fix this error?
Thank you so much!

...
Did you try to use the webapp lately? If you did.. you would see that TRADING has been disabled by EA.

Thank you for info! ;)


fast_knn2spmat question

Hi Lei Yang, thanks for sharing your work~!
May I ask one question? why do we have to make sure the dist is between -eps to 1+eps in the fast_knn2spmat function: here
I didn't encounter any errors when I tried to run the test code, but since we are using cosine similarity, chances are we will get scores like -0.1 in other situations.
thanks!

@yyang2xin Thanks for the question. One concern is that some algorithms may require to use non-negative edge weights, e.g., spectral clustering. A simple trick is to use cosine distance or normalize cosine similarity from [-1, 1] to [0, 1] via s' = (s + 1) / 2.
However, it is possible that negative edge weights are required in some cases, where negative weights has special meaning and cannot be converted to positive values. We can discuss about this if you post an example.

that's all I need to know, thanks!

hi,I tried to use custom feature  testing gcnv,but I got "AssertionError: min: 1.0, max: 3.4028234663852886e+38" when call fast_knns2spmat(). Generally speaking, this situation would not occur when we use  cosine similarity. Can I delete this Assert in my code?

hi,I tried to use custom feature for testing gcnv,but I got "AssertionError: min: 1.0, max: 3.4028234663852886e+38" when call fast_knns2spmat(). Generally speaking, this situation would not occur when we use cosine similarity. Can I delete this Assert in my code?
I got the reason!!! I wrote feature with np.float64,but read feature with np.float32.
Hello, I have encountered the same problem as you and modified it according to your method, but the problem still exists, can you offer some help？


Removing a bot from a team

I cannot find the trash icon. Can you show where I can find it?

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

ID: ac99cf82-194d-eb31-2d29-7368ba895edc
Version Independent ID: aab61691-1db4-8580-53be-d4665c96e5be
Content: Test and debug your bot - Teams
Content Source: msteams-platform/concepts/bots/bots-test.md
Product: msteams
GitHub Login: @o365devx
Microsoft Alias: o365devx

@AlexOugh You can delete your bot from a team by opening apps in team and click on the trash icon beside.

Whereas in personal scope you can hide your bot by choosing Hide option from the Action Menu.

I'm using a company teams and I cannot find that list. Is it only available to the admin?

Depending on the team's settings, it may only be visible to team owners.


Sources Sync Metrics fix

Fixes #72
There is private in metrics class, IDK how it should pass through tests, anyway QA pods are failing

RHCLOUD-9939

@lindgrenj6 it's necessary, called i.e. here


ETCD strange errors when starting with the opts

The same settings which my other clusters are using fine but when i tried launching the etcd on a new server i get this error
[root@masterv1 opt]# etcd -name infra1 -listen-client-urls http://<IP_ADDRESS>:4001 -advertise-client-urls http://<IP_ADDRESS>:4001 -listen-peer-urls http://<IP_ADDRESS>:7001 -initial-advertise-peer-urls http://<IP_ADDRESS>:7001
2015/08/24 11:14:45 etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1
2015/08/24 11:14:45 etcdmain: no data-dir provided, using default data-dir ./infra1.etcd
2015/08/24 11:14:45 etcdmain: listening for peers on http://<IP_ADDRESS>:7001
2015/08/24 11:14:45 etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2015/08/24 11:14:45 etcdmain: stopping listening for client requests on http://<IP_ADDRESS>:4001
2015/08/24 11:14:45 etcdmain: stopping listening for peers on http://<IP_ADDRESS>:7001
2015/08/24 11:14:45 etcdmain: advertise URLs of "infra1" do not match in --initial-advertise-peer-urls [http://<IP_ADDRESS>:7001] and --initial-cluster [http://localhost:2380 http://localhost:7001]

etcdmain: advertise URLs of "infra1" do not match in --initial-advertise-peer-urls [http://<IP_ADDRESS>:7001] and --initial-cluster [http://localhost:2380 http://localhost:7001]

This log line points out the error. Please try to set --initial-cluster correctly. For more information, please check https://github.com/coreos/etcd/blob/master/Documentation/clustering.md#static.

@xiang90  i'm not setting a cluster ok let me put the error without the cluster option
Aug 24 11:46:56 masterv1 systemd[1]: etcd.service holdoff time over, scheduling restart.
Aug 24 11:46:56 masterv1 systemd[1]: Stopping etcd...
Aug 24 11:46:56 masterv1 systemd[1]: Starting etcd...
Aug 24 11:46:56 masterv1 systemd[1]: Started etcd.
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: found invalid file/dir default.etcd under data dir /opt/ (Ignore this if you are upgrading etcd)
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: found invalid file/dir nimsoft under data dir /opt/ (Ignore this if you are upgrading etcd)
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: listening for peers on http://localhost:2380
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: listening for client requests on http://localhost:2379
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: listening for client requests on http://localhost:4001
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: stopping listening for client requests on http://localhost:4001
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: stopping listening for client requests on http://localhost:2379
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: stopping listening for peers on http://localhost:2380
Aug 24 11:46:56 masterv1 etcd[17308]: 2015/08/24 11:46:56 etcdmain: advertise URLs of "default" do not match in --initial-advertise-peer-urls [http://local...host:7001]
Aug 24 11:46:56 masterv1 systemd[1]: etcd.service: main process exited, code=exited, status=1/FAILURE
Aug 24 11:46:56 masterv1 systemd[1]: Unit etcd.service entered failed state.

@kgrvamsi Make sure the advertise-url matches the initial-cluster

i'm not running a cluster its a standalone service
here are the parameters i'm sending for the etcd
ETCD_OPTS="--data-dir /opt/ \
 --advertise-client-urls http://localhost:2379,http://localhost:4001 \
 --listen-client-urls http://localhost:2379,http://localhost:4001 \
 --initial-advertise-peer-urls http://localhost:2380 \
 --listen-peer-urls http://localhost:2380"

@kgrvamsi Standalone etcd is still an one member cluster. Could you please make sure the --initial-advertise-peer-urls matches with the --initial-cluster. I can help you more if you could try what I just told you. Thanks.

@xiang90  thanks its working with the below settings
etcd -name test -initial-advertise-peer-urls http://localhost:2380 --listen-peer-urls http://<IP_ADDRESS>:2380 --listen-client-urls http://<IP_ADDRESS>:2379 --advertise-client-urls http://localhost:2379 --initial-cluster-token client-uri-test --initial-cluster-state new --initial-cluster test=http://localhost:2380


feat(ENG 978): ERCOT Indicative LMPs

Summary
Adds the Indicative LMPs by Settlement Point. Adds methods for both current and historical data getting. Also continuing quality of life.
Question 1: Is there more functionality I should add to the historical API method to limit the amount of data it returns?
Question 2: Should I trim the data such that the Interval Start is the argument date only? Right now, because it operates on publish time, we also get the following ~hour
Example for 2021-12-08

Details
Data Breakdown
It looks like ERCOT publishes data for ~944 locations every 5 minutes, for each 5 minute interval of an hour leading up to an interval. These are distinguished by Interval ID, and can also be seen in the RTDTimestamp, which stands in for a publish time. Here's a quick "horizon analysis", with the difference between our publish time and the Interval End time, grouping by Interval ID:

Interval Id
min
max
mean

1
4.933333
4.95
4.94919

2
9.933333
9.95
9.94919

3
14.933333
14.95
14.94919

4
19.933333
19.95
19.94919

5
24.933333
24.95
24.94919

6
29.933333
29.95
29.94919

7
34.933333
34.95
34.94919

8
39.933333
39.95
39.94919

9
44.933333
44.95
44.94919

10
49.933333
49.95
49.94919

11
54.933333
54.95
54.94919

This means that we have
288 intervals/day x 944 locations x 11 horizons/interval = 2,990,952 intervals per day of data

The historical data goes back to June 27, 2012, so we have ~4,550 days of data. A full historical backfill of this data is ~13.6 billion rows.
Tests
Scrubbing of credentials is working nicely. Still having some trouble with DST transitions though.
Error: Cannot infer dst time from 2024-11-03 01:55:03, try using the 'ambiguous' argument
Args: {'self': <gridstatus.ercot_api.ercot_api.ErcotAPI object at 0x1024b7f20>, 'date': Timestamp('2024-11-03 00:00:00-0500', tz='US/Central'), 'end': Timestamp('2024-11-03 03:00:00-0600', tz='US/Central')}

I move the test_save_to.py to source_specific/ and fixturize it with VCR, since it makes external dependency calls.
I also ignore the commit test on PRs, since everything is running on PRs and we don't need to run the commit level tests there.
Quality of Life
I add function type hints to each function that gets created or used in the PR. I also swap out some log logging for the more structured logger.

Converting to draft until ready for review again.

Took me a while to figure it out, but I was actually running into a pd.concat error in the @support_date_range decorator when frequency=None on the spring forward DST day (and this seems unrelated to the DSTFlag handling that I thought was causing the error).
With any other dates the data getting and transformation would finish fine, but on 2024-03-10, the data getting would proceed as normal but then error out at the final (decorator-based) concatenation. With frequency=None

@WillKoehrsen @kmax12 have either of you seen this issue before?

Okay, I believe this is working (handling DST and non existent times correctly, passing tests).
I will open a new, separate PR for sending multiple docIds to the ERCOT API download endpoint


Fix typo in total_volatile_organic_compounds_concentration_measuremen… (CON-1140)

The header and other locations use plural compounds in the namespace name. But .cpp has the functions defined in a namespace with a singular compound. As a result attempting to define tvoc sensor leads to undefined symbols during linking.
https://github.com/espressif/esp-matter/issues/911

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

Thanks for the PR @kibergus

Hi @kibergus  The changes are merged with https://github.com/espressif/esp-matter/commit/c9cae5a87e25363db7db4fc3fe0b2641e0932dc3. The commits were squashed during merge and that's why the PR didn't get auto-closed. Sorry for the confusion.


Try to make UNITY build with CMake

A unity build potentially speeds up compilation with CMake.
It throws multiple source files together, so to get it to work some variables need to be renamed and some files need to be reorderd in the CMake config.
https://cmake.org/cmake/help/latest/variable/CMAKE_UNITY_BUILD.html#variable:CMAKE_UNITY_BUILD

https://hereket.com/posts/cpp-unity-compile-inkscape/

Works now for Android.
When compiling the render tests I get duplicate symbol errors:


Generate tail_container_parse.conf for each images

tail_container_parse.conf should be also handled in Makefile rules to generate for each images.
Signed-off-by: Hiroshi Hatake<EMAIL_ADDRESS>

@cosmo0920
tail_container_parse.conf doesn't exist in the template directory.
It's removed at #585.
In addition, it's not included anymore since #585
Should we revive it?

#1298


Redux-form does not update initialValues prop of wrapped form

redux-form does not update initialValues prop of wrapped form when receiving new initialProps - even when enableReinitialize is true.
The current shouldComponentUpdate behavior  (line 247 in reduxForm.js, of version 6.5.0) consults the array propsToNotUpdateFor (which contains the string 'initialValues') and returns false, with the result that the wrapped component never receives the new initialValues prop altogether.
This results in  the initialValues prop of the wrapped component to become stale and different than the initialValues prop of the reduxForm component, as well as from the initial values stored in the redux store.
This looks to me undesirable, and in contradiction with the documentation (and I believe also the intended semantics) of this prop.

Hi @d-leeg,
Not sure if the issue is the same, but I struggled some time to render the form with initialValues, went through a few issues here and now I managed to do it.
Apart from "enableReinitialize" and "initialValues", I had to remove a “null check” from the start of my render method.
I was avoiding to render the component until “initialValues” was populated, but I was not receiving new props and it was not being rendered for the second time.
After I removed this condition, left the component and form to render “empty” for first time and the values get automatic populated after that.
Hope it helps!
reduxForm({ form: 'myForm', enableReinitialize: true})
function mapStateToProps(state) {
return {
initialValues: state.something
};
}

I have the same issue, a parent component of form got initialValues from the store and passed it to the form, but initialValues and values objects were not updated inside the form.
However form values inside Field components was updated, but props which passed from a Connect wrapper of the form didn't changed ((

has anyone found some workaround or the reason for this?

I found a solution which should fix this. Looking at the source code - you can see that they check for any configured immutableProps for strict equality, and this code hasn't changed in 3 years.
This means you can do the following to achieve the desired result. (Note: you don't need to use enableReinitialize as that hasn't done anything for almost 4 years now).
reduxForm({
  ...
  immutableProps: ['initialValues']
})(YourForm)

I found a solution which should fix this. Looking at the source code - you can see that they check for any configured immutableProps for strict equality, and this code hasn't changed in 3 years.
This means you can do the following to achieve the desired result. (Note: you don't need to use enableReinitialize as that hasn't done anything for almost 4 years now).
reduxForm({
  ...
  immutableProps: ['initialValues']
})(YourForm)


Set a default task in the Rakefile - use "test".

It's common for the test task to be the default, so let's set that up.

Thanks!  Sorry this took forever.


Materialize theme oepncart 2.3

Make sure that the problem is not related to the operation of the OpenCart and its settings. If the problem is related to the standard OpenCart functionality, make sure that there is no problem in the standard template and only appears in the Materialize Template.
If your question is not related to the problem in the work of the template or its modules, or you do not offer an idea for improving the work of the template, your question will be closed.

Describe your actions
If possible, add a link to your problem. Specify the steps to reproduce the problem.
Expected behavior
What do you think should actually happen instead of a mistake?
Possible solution of the problem
If you are proposing a solution, please describe it. If you just report a problem, you can skip this paragraph.
Indicate if possible

The name of your browser and its version;
Version of the OpenCart and a translation for your language (if any);
Screenshots.

Добрый день
Установил вашу тему работает в общем отлично
Есть некоторые проблемы
не полный перевод на Украинский язык
Не работает изменение цветов шаблона
opencart 2.3

OC version <IP_ADDRESS> clean install and latest templatel
If i go to my checkout, fill in the forms and i go to shipment, it gives me a javascrpt popup with two times the message "Internat server error".
In my log files, the next lines apears:
AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught Twig_Error_Syntax: Unexpected "endfor" tag (expecting closing tag for the "if" tag defined near line 25) in "materialize/template/checkout/shipping_method.twig" at line 45. in /var/www/vhosts/autosleutels.online/httpdocs/system/library/template/Twig/Parser.php:172\nStack trace:\n#0 /var/www/vhosts/autosleutels.online/httpdocs/system/library/template/Twig/TokenParser/If.php(43): Twig_Parser->subparse(Array)\n#1 /var/www/vhosts/autosleutels.online/httpdocs/system/library/template/Twig/Parser.php(187): Twig_TokenParser_If->parse(Object(Twig_Token))\n#2 /var/www/vhosts/autosleutels.online/httpdocs/system/library/template/Twig/TokenParser/If.php(34): Twig_Parser->subparse(Array)\n#3 /var/www/vhosts/autosleutels.online/httpdocs/system/library/template/Twig/Parser.php(187): Twig_TokenParser_If->parse(Object(Twig_Token))\n#4 /var/www/vhosts/autosleutels.online/httpdocs/system/library/template/Twig/TokenParser/For.php(40): Twig_Parser->subparse(Array)\n#5 /var/www/vhosts/autosleute...\n', referer: http://autosleutels.online/index.php?route=checkout/checkout


Adding .gitignore default generated code

When we add default .gitignore generated code file, it not only excludes nuget pkgs and local assemblies but also exludes all the necessary system references(system, system.web etc) to build the code. Which statement in .gitignore does that. Any help plz?

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

ID: b3f73e6a-75c9-6a8d-c2e1-08feeb9700c1
Version Independent ID: 80570118-9b20-9999-6464-6e9e522c1ab7
Content: Ignore files in your Git repo
Content Source: docs/repos/git/ignore-files.md
Product: devops
GitHub Login: @steved0x
Microsoft Alias: sdanie

Please accept our apology for the significant delay in addressing this issue.
It looks like you're working through an issue with the product itself, rather than an issue with the documentation. Here are a few options where you might consider asking your question:

Azure DevOps on Stack Overflow
Azure DevOps Support Bot


v1.13 Backports 2023-09-08

[ ] #28012 (@jrfastab)

Once this PR is merged, you can update the PR labels via:
for pr in 28012; do contrib/backporting/set-labels.py $pr done 1.13; done

or with
make add-labels BRANCH=v1.13 ISSUES=28012

/test-backport-1.13

/ci-ipsec-upgrade

/test-backport-1.13

/ci-ipsec-upgrade


[Function Expose] Report 5984 InitVariables

We would like to able to call this method in Report 5984

InitVariables

We need this method to print invoices from another process
Thanks

This repository is no longer dedicated to handling application bugs, application requests and application enhancements.
Instead please use the following repository: https://github.com/Microsoft/ALAppExtensions


LAB_01_RBAC.md

English:
subscription
Current Translation:
訂閱
Suggested Translation:
訂用賬戶
Description:
Inconsistent translation. Global check

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Run bugfix tool and waiting for result.


Pip does not clean inside site-packages/Browser/wrapper anymore when uninstalling

When running pip uninstall it says Would not remove (might be manually added): and lists all the files inside site-packages/Browser/wrapper.
This means that our workaround of using the site-packages/Browser/wrapper to let pip clean it up for users is useless right now. And many gigabytes of unnecessary files will be left hanging.
Possible solutions:

Fix the uninstall (add some new hook, figure out why pip stopped this behaviour, can the old be enabled?)
Yield to the playwright solution of using a single system-wide directory for the browsers
Offer new rfbrowser uninstall command

Pip keeps track on files that it installs and cleans only files that it did install. We could add files to the RECORD file which pip creates and most likely that way also the files created rfbroser init will get deleted when pip uninstall command is run. But that file is pip internal thing and if/when it changes, we could need to keep up with the format. Also we would need test with different platforms, because file content may be different in different platforms. Also could not find any clear API which could be used to hook in to pip install process. I guess using pip to uninstall automatically all is not the best way to go.
Another option would be to in Playwright Python direction. Then we would need build and store all binaries in some external blob storage (which will store the binary blobs for very long time). Also we would need to build binary blob for all major OS system. It would require quite a lot of extra work to change our packaging to something more better, although I agree that getting rid of rfbrowser init is a goal which might be worth of reaching.
But I think the most simplest choice is to enhance rfbrowser with uninstall or similar argument and instruct people to use it before running pip uninstall robotframework-browser

Did go with rfbrowser clean-node command


Make names of variables and functions consistent in PersistentIndex

PersistentIndex.java uses index and index segment interchangeably to refer to index segments. This creates confusion and inconsistency and affects readability. Change PersistentIndex.java and IndexSegment.java so that all variable and function names are consistent and appropriate.

There are a few suggestions by @pnarayanan on #488 that can be incorporated.

https://github.com/linkedin/ambry/pull/488#discussion_r89040830

Something similar applies to IndexSegment where the concept of segment and index is intermingled in the variable names and would benefit from separating those ideas in the naming.


Update concepts-logical.md

Adding azure.extensions parameter to allow the pglogical

@shshakya : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


fix(build) switch to new js_of_ocaml package name

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>

Coverage remained the same at 95.466% when pulling a78c47ce0874dfd470904763bfd5257b3409f967 on jeromesimeon:js-fix-dep into 7e8a92585303e4a48c897b427f8231bac9cda478 on accordproject:master.


Ionic App Script Clean not working for me

Note: for support questions, please use one of these channels:
https://forum.ionicframework.com/
http://ionicworldwide.herokuapp.com/
Short description of the problem:
This line in package.json:
"clean": "ionic-app-scripts clean",
should clean the whole www directory. However it doesn't-
What behavior are you expecting?
To have www directory completely cleaned out when saying
ionic build
Steps to reproduce:

Enter "clean": "ionic-app-scripts clean"
Enter ionic build in Terminal
Watch www cleans not completely out.

Which @ionic/app-scripts version are you using?
0.0.36
Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)

Hello, thanks for using Ionic! This is actually expected behavior which was just recently introduced. We now only clear out the build folder instead of erasing the www folder. Since this is expected behavior I am going to close this issue for now, but if you could comment on your use case for clearing out the entire www folder that would be awesome!

We have configurations and images that do change in assets folder. If we change these in src/assets folder, they do not copied over to www/assets/config/myConfig.jsonfor example.

Copy task is not overriding old files. Please investigate.

This is the only way we got it to work. This is a node_modules file. I think this is not what anybody does want.
http://imgur.com/a/CKea3


botAvatar does not display image

I get a empty white bubble

Can you provide more information?
Like:

package.json file
if you are using a real phone or a simulator
what is the phone SO / version / etc.

nevermind just converted the image to base 64 and it worked.


Version of the Python Packages

I'm trying to rebuild your project with a Jetson Xavier NX.
During the installation of the python package:
pip3 install aiortc
pip tries to install the newest version available which results in some errors (gcc compiler errors).
Afterwards I tested it with an older version of aiortc and it worked instantly.
I really would appreciate if you could tell me the specific versions for the following packages on your rover system:

aiortc
aiohttp
pyfakewebcam

The versions I used are:

aiortc: 0.9.28
aiohttp: 3.6.2
pyfakewebcam: 0.1.0

I have been a little bit busy but as soon as I have some time I will work on a clean installation, perhaps using docker for all the dependencies.

Thank you this helps a lot!
And yes docker would be awesome for reproducibility.

I found a solution to the error:
The package aiortc depends on the package av which needs ffmpeg to be installed.
If the ffmpeg version is less than 4 the installation with pip3 will not succeed. (ffmpeg -version)
Solution:
sudo add-apt-repository ppa:jonathonf/ffmpeg-4 sudo apt upgrade
Sometimes libavcodec-dev also needs to be upgraded as described here: https://github.com/aiortc/aiortc/issues/326#issuecomment-666235469


Prevent case that login search string is empty

Might prevent a situation like https://github.com/solid/solid-cli/issues/8

Ok, I simply throw an error instead.

I'm going to add a test case, use jest

const request = https.request(options);

isn't easy to mock using jest-fetch mock, would you mind I refactor it to node-fetch?


nwg-displays: init at 0.3.7

Description of changes
Adding nwg-displays
Closes: https://github.com/NixOS/nixpkgs/issues/240021

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

@drupol @AndersonTorres did requested changes and updated the repo = pname as suggested in other PR

@AndersonTorres  alright, resorted those

@AndersonTorres  alright, resorted those.


Fix xrefs and tags + minor fixes

Fixed unresolved xrefs
Fixed aasd127 variable in constraints.adoc
Fixed typos in tags

Merged in #505


Media Invalidation

What does the pull request do?
This PR introduces Media Invalidation, a fast and low-maintenance system which consumes changes to AvaloniaObject instances which exist outside the visual tree, locates the Visual objects which depend on them for their rendered appearance, and calls the Visual.InvalidateVisual method on each one. Object nesting and collections are supported. These changes fix #8767.
Here is a scenario that Media Invalidation adds support for:
<Image>
  <DrawingImage>
    <DrawingGroup>
      <GeometryDrawing>
        <GeometryDrawing.Brush>
          <SolidColorBrush Color="Green"/>
        </GeometryDrawing.Brush>
        <RectangleGeometry Rect="0,0,120,120"/>
      </GeometryDrawing>
    </DrawingGroup>
  </DrawingImage>
</Image>

(See the MediaInvalidationTests class for real implementations similar to this sample.)
With Media Invalidation, changes to the value of SolidColorBrush.Color or RectangleGeometryRect both result in the Image control being invalidated and redrawing. Previously, the Image would never update unless manually forced to. Invalidation occurs even though the value that changed was deeply nested underneath the Image, and the path between the two passes through a DrawingGroup collection.
What is the current behavior?
Currently, invalidation of media objects is implemented in a very haphazard way. There are multiple bespoke systems in multiple classes, often involving complicated WeakEvent subscriptions. These systems are not recursive; links between parents and children must be explicitly made, and they are generally not.
One such system raises the event Pen.Invalidated. The event is not subscribed to, so I removed it and all the supporting code. The other systems I found do actually have effects, so I left them in place. They should be reviewed before being removed as some may also need to support recursive invalidation, and/or could execute without an associated AvaloniaProperty change.
Currently, tests which check for the old media invalidation systems are failing because they expect one invalidation but get two, due to both systems running at the same time. These failures will clear as the old systems are removed.
What is the updated/expected behavior with this PR?
Media Invalidation is an automated and low-maintenance solution for all Avalonia properties. Recursion is automatically handled if the property's value type is an AvaloniaObject. The only steps required are to register each relevant AvaloniaProperty with the Media Invalidation system, to ensure that property changed events are always raised (not guaranteed with DirectProperty) and to use collections which derive from MediaCollection<T>.
How was the solution implemented?
The core of the PR is the static class MediaInvalidation. This has a public method called AffectsMediaRender, which accepts a params array of AvaloniaProperty objects. It subscribes to changes on each property, and registers (with weak references, to prevent GC rooting) the property owner as a "media parent" of any AvaloniaObject which is assigned. Note that unlike objects in the visual and logical trees, a media object can have multiple parents, and can even have the same parent twice (e.g. Fill and Stroke being the same brush).
When the value of a registered media property changes, the media parents tree of the target object is recursively searched for all Visual objects, and each of these objects is visually invalidated.
A second important type is the abstract class MediaCollection<T>. This handles the invalidation of AvaloniaObject collections, by linking each collection member to each of the collection's parents. Everything is handled automatically once the the base type is implemented and assigned to a property registered with the media invalidation system.
Performance note: theme resources
A given AvaloniaObject can always change, so the Media Invalidation system must always track its parents. This can become a problem when a theme resource is frequently used, such as the standard Foreground brush. When I start the Avalonia control gallery, I see that a SolidColorBrush with the colour "Black" has over 1000 parents! This tree won't be searched unless the brush changes, but there is still a runtime and memory cost to all this book-keeping.
To avoid this situation, a new property called AvaloniaObject.IsSealed could be added. Changes to any AvaloniaProperty of a sealed object would be rejected, allowing MediaInvalidation to ignore it. This is exactly what WPF does to solve the same issue: media objects always derive from Freezable, which sets DependencyObject.IsSealed when its Freeze method is called. This happens automatically when such an object is inserted into a resource dictionary.
(Since opening the PR I have spotted #6387, which proposes transforming resources into immutable forms with a XAML directive. That would also resolve the problem.)
Benchmarks
There is a benchmark called SetPropertyThatAffectsRender, but it's not measuring anything on master. It sets and then clears the value of a Pen property on a test object, but because Pen does not implement IAffectsRender no subscriptions are made by Visual.AffectsRender. The only special behaviour being benchmarked is the InvalidateVisual call itself...which also does nothing, because the test object does not have a visual root.
So I fixed the benchmark locally by making it instead set and unset a Brush property. There is no need to commit this change as the changes in this PR cause the unmodified benchmark to become valid.
master
(After correcting the benchmark)

Method
Mean
Error
StdDev
Gen 0
Gen 1
Gen 2
Allocated

SetPropertyThatAffectsRender
1.059 us
0.0211 us
0.0187 us
0.0858
0.0067
0.0019
713 B

MediaInvalidation
(After correcting the benchmark and redirecting Visual.AffectsRender to MediaInvalidation.AffectsMediaRender)

Method
Mean
Error
StdDev
Gen 0
Allocated

SetPropertyThatAffectsRender
384.5 ns
0.59 ns
0.55 ns
0.0229
192 B

That's 62% faster, which is pretty good considering all the extra functionality that this PR adds! Instrumentation shows that after the InvalidateVisual call itself, the next biggest chunks of work are allocating and freeing weak GC handles, in that order.
Checklist

[x]  Added unit tests
[x]  Added XML documentation to any related classes
[ ]  What happens to a property created with AddOwner?
[ ]  Remove old notification systems (this will fix the failing tests)
[ ]  Investigate #5813
[ ]  Handle theme resources with many parents
[ ]  Handle GlyphRun, which is mutable but not an AvaloniaObject

Event handlers to investigate

[ ] Visual.AffectsRender (turn into a pass-through)
[ ] Visual.RenderTransformChanged
[ ] Geometry.TransformChanged
[ ] Geometry.AffectsGeometryInvalidate (should this receive recursive events?)
[ ] GeometryCollection.Invalidate
[ ] PathGeometry.InvalidateGeometryFromSegments
[ ] Path.GeometryChangedHandler
[ ] GradientBrush.GradientStopsChanged / GradientBrush.GradientStopChanged

Fixed issues
Fixes #8767

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

The general plan was to move media invalidation to the render thread by introducing render-thread representations for media objects (the same way it's done in UWP). That would also remove the need to call Render and re-build the list of drawing commands.

That sounds like a sensible long-term plan. In the immediate to medium term, this PR fixes bugs and substantially improves performance. It's also an opportunity to normalise everything into a single system which can be further adapted later.
Lastly, I'd vote for always having eventing on the CPU side, so that user code can respond to changes.
If this PR is something you would in principle accept into Avalonia, I will start working on removing the old invalidation events. :)

A unified invalidating system like this is a really, really good idea! Like the detail in this PR too. Hope this gets in for 11.0
About the name: I would keep using the term 'Visual'. So VisualInvalidation.AffectsRender() for example. I don't think it is a good idea to introduce new terminology. Media is also a misnomer in some cases (Glyph run, etc.) and much less generic.

MediaParentsBag and MediaCollection look like a good design in general, I think those can be adapted for use on the render thread.
However I'm not sure that we want to merge this PR as is if we are going to implement CompositionBrush, CompositionShape and friends, since in that case we'll have to remove the changes of this PR later.
I'd definitely would like to merge this if we won't get composition objects to work in time before the release.
The general roadmap is:

remove DeferrredRenderer/ImmediateRenderer, so that Compositor is always used
change Visual to synchronize properties instead of calling InvalidateVisual all the time.
implement media objects that live on the render thread

I hope to get that done before November this year.
BTW, there is also a similar problem with UI-thread animations: right now they don't track visual tree attachment at all, so if you have some brush with animation in resources, it would tick even if brush isn't used anywhere.

Thanks for the positive feedback, everyone!
I'll leave this PR alone for now, because it sounds like the existing invalidation events are already due to be removed/refactored by people who understand them better than I do.

I'll leave this PR alone for now, because it sounds like the existing invalidation events are already due to be removed/refactored

Personally, I'm sorry to hear that but it makes sense. Your approach here was very clean and thorough and is much better than the code we have now. Honestly, I'm not sure the other planned changes are going to be as good yet.
I certainly hope what was done here will be used where possible by @kekekeks. Even in a UWP-style composition system an invalidation system just like this PR is going to be required though even if further composition primitives are added. In the end it might actually be better to finish this PR then modify it later with the composition-required changes. I don't think they are 1-and-1 equivalent.

@kekekeks it's now nearly the end of November, what is the status of your composition project?

Any chance to backport this PR in the stable 0.10.x branch ?
We are facing this issue with drawing images used as icons in out desktop application. Those are dependant of a Material.Avalonia color theme MaterialDesignBody.
When we change the theme from light to dark (or vice versa), the images are not updated.
Example :
<DrawingGroup x:Key="AddBookmarkDrawing">
        <DrawingGroup.Children>
            <GeometryDrawing Geometry="F1 M 16,9.98975L 5.98291,9.98975L 5.98291,26.0171L 22.0103,26.0171L 22.0103,16">
                <GeometryDrawing.Pen>
                    <Pen Thickness="1.04178" LineJoin="Round" Brush="{DynamicResource MaterialDesignBody}" />
                </GeometryDrawing.Pen>
            </GeometryDrawing>
            <GeometryDrawing Geometry="F1 M 18.0034,9.98975L 26.0171,9.98975">
                <GeometryDrawing.Pen>
                    <Pen Thickness="1.04178" LineJoin="Round" Brush="{DynamicResource MaterialDesignBody}" />
                </GeometryDrawing.Pen>
            </GeometryDrawing>
            <GeometryDrawing Geometry="F1 M 22.0103,5.98291L 22.0103,13.9966">
                <GeometryDrawing.Pen>
                    <Pen Thickness="1.04178" LineJoin="Round" Brush="{DynamicResource MaterialDesignBody}" />
                </GeometryDrawing.Pen>
            </GeometryDrawing>
            <GeometryDrawing Brush="{DynamicResource MaterialDesignBody}"
                             Geometry="F1 M 15.5993,14.5575L 12.2336,14.5575C 11.9932,14.5575 11.6726,14.8781 11.6726,15.1986L 11.6726,21.3692L 13.9966,19.3657L 16.2404,21.3692L 16.2404,15.1986C 16.1603,14.8781 15.8397,14.5575 15.5993,14.5575 Z " />
        </DrawingGroup.Children>
    </DrawingGroup>

    <DrawingImage x:Key="AddBookmarkImage" Drawing="{DynamicResource AddBookmarkDrawing}" />

Since compositor-side brushes aren't likely to land in 11.0, we are likely to be using the approach from this PR for the time being.

@Whiletru3 very unlikely. As this PR has high change to introduce a regression, and we want to avoid affecting 0.10 at this point.

Brushes/pens are now automatically updating render-thread resources - https://github.com/AvaloniaUI/Avalonia/pull/11340
Geometries will use the same infrastructure later.

@kekekeks #11340 does not fix #8767, in which a brush is changed. The brush is on a geometry element though; is that what you mean by "geometries will use the same infrastructure"?

@tomenscape I saw #11378 was opened for this. Doesnt look like it is planned for 11.0 though...

We are currently wrapping up the required breaking changes so we could get a release and safely continue fixing stuff later. Otherwise 11.0 will be getting postponed indefinitely .

@kekekeks Reopen this?

We've discontinued IAffectsRender usage. Every resource is responsible of updating its server counterpart by itself.


Define the title of the items of the parent list in a nested array

Hello,
I saw in the live playground [https://mozilla-services.github.io/react-jsonschema-form/] that one can create nested lists like this:
"nestedList": {
      "type": "array",
      "title": "PARENT LIST",
      "items": {
        "type": "array",
        "title": "CHILD LIST",
        "items": {
          "title": "GRANDCHILDREN ITEMS"
          "type": "string",
          "default": "lorem ipsum"
        }
      }
    },

However, I see that the children of the parent list can only contain fixed title (ie: here "CHILD LIST"). How could a user define the title of the CHILD LIST? Thank you

@mjozan It seems like title: "CHILD LIST" is the piece that is defining the title of the child list. Are you trying to have a different title for each element of the array?

@epicfaace I would like the title to be different for each element of the array but also defined by the user in an input just like the grandchildren items.

You can't define a title in a json schema form, as it is part of the schema itself. Perhaps you can try making an object with a title and array properties as the child item. See this playground link for what I mean.


Double loop validation to choose parameters

To choose good regularisation and kernel parameters, it is best to use a double loop validation method.
https://github.com/chengsoonong/didbits/blob/master/CrossVal/expt_protocol.ipynb

I've done the inner loop (i.e. gridsearch). The outer loop would probably take too long. See notebooks/04_learning_curves.ipynb for updated results.


What's the maximum package size?

I have an ML model compiled to wasm. But it's size is currently 70MB, and when I try to publish it to JSR I get 413 status code. Is there some specific package size limit? Or is it enforced per file? I tried searching the code here, but wasn't able to find such particular validation.

https://jsr.io/docs/quotas-and-limits#other-limits


Common Artist layer planning

@Arafatk and @pgtgrly discuss common Artist layer APIs in this thread.

I have an idea - you can build the common API by writing rspecs and then using the same specs in your respective GR and rmagick libraries. That way you can maintain consistency across libraries the whole time.
We'll just establish a protocol that you should not change the specs without communicating with the others. The common specs can be kept in this ruby plot repo and both of you can copy paste it in your repos for now.

I mean that's certainly possible when we are using a few common normalization functions on the data because we consider those functions as common for both the libraries. So perhaps it's a good idea to add a common specs folder with common testing functions.
Obviously, all the visual specs for RMagicks and all geometry specs are going to be different.

Yes. This is what I was hoping would happen all along. Sorry for not being
clearer. :)
On Mon, Jun 18, 2018 at 6:16 AM Sameer Deshmukh<EMAIL_ADDRESS>wrote:

I have an idea - you can build the common API by writing rspecs and then
using the same specs in your respective GR and rmagick libraries. That way
you can maintain consistency across libraries the whole time.
We'll just establish a protocol that you should not change the specs
without communicating with the others. The common specs can be kept in this
ruby plot repo and both of you can copy paste it in your repos for now.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/SciRuby/rubyplot/issues/1#issuecomment-398050256, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAKFpNh7qy0Agzaekcn7-hhWDz7i3r-Bks5t96ghgaJpZM4Urqvr
.

If you are referring to the data normalization specs and a few data
transformations then yes, we can certainly do that.  Pranav and I talked
about this a long time ago. Then our projects went totally orthogonal so I
only focussed on my own work.
My code is very intertwined with RMagick Geometry problem but data
transformations steps are still separate for the most part so having that
as a common API won't be a problem as mentioned in my previous email.
On Mon, Jun 18, 2018 at 8:38 PM Dr. John Woods<EMAIL_ADDRESS>wrote:

Yes. This is what I was hoping would happen all along. Sorry for not being
clearer. :)
On Mon, Jun 18, 2018 at 6:16 AM Sameer Deshmukh<EMAIL_ADDRESS>wrote:

I have an idea - you can build the common API by writing rspecs and then
using the same specs in your respective GR and rmagick libraries. That
way
you can maintain consistency across libraries the whole time.
We'll just establish a protocol that you should not change the specs
without communicating with the others. The common specs can be kept in
this
ruby plot repo and both of you can copy paste it in your repos for now.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/SciRuby/rubyplot/issues/1#issuecomment-398050256,
or mute
the thread
<
https://github.com/notifications/unsubscribe-auth/AAKFpNh7qy0Agzaekcn7-hhWDz7i3r-Bks5t96ghgaJpZM4Urqvr
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/SciRuby/rubyplot/issues/1#issuecomment-398187709, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKo3B6s8ws2jIGh-NZVXlNTWxb89xIY5ks5t-A_MgaJpZM4Urqvr
.

@Arafatk you can write the artist specs here: https://github.com/SciRuby/rubyplot/blob/master/spec/artist_spec.rb

Ok so if I understand you correctly @Arafatk is going to refactor his artist classes as the scripting layer?

A couple of thoughts:

You all still aren't following the Ruby style. Should be clear_all!, not clearall, for example. Please go through this and figure out how to make it look like Ruby code.
savefig does not follow the principle of lease surprise. Why not just save?
BarPlot, not Barplot.
You wrote: "# data representation will have charts cannot be multiple over a figure # data plotting can be". What?
You have @marker_colour and @marker_size. What happens if you have two types of marks, e.g. a line plot where the actual data values are marked by an x? I think you need to differentiate between markers and lines.
Can you please go back and look at how matplotlib does these things? This is why I want you two to start with a spec before anything else. The spec should include lots and lots of example plots, so you can see exactly what features you need to implement and prevent collisions. Your goal should be to implement, in as few lines of code as possible, as many of the spec'd plots as possible.

cc @Arafatk

I would like to see some Pull Requests opened on this repo contributing to the common scripting layer specs from both @pgtgrly  and @Arafatk.


Admin can send emails to art owner from view of artwork.  Saves subje…

Admin can send emails to art owner from view of artwork.
Saves subject and message of email in database and in sent folder in gmail account.
admin is able to see previews subject and message of email sent from site locally.

👍


SMS[3] missing in STM32L4R5.svd

I have been "forwarded" over here from a discussion I opened on STM32Duino:
While debugging I noticed that SMS[3] bit of the SMCR register for TIM2 is missing. I set that specific bit, and it appeared in the value for SMCR but in the bit fields only SMS[2:0] are covered.

I manged to add it to the STM32L4R5.svd file, but only as a separate SMS3 bit.
It would be nicer to have the complete SMS[3:0] bitfield as one
As other timers are derived from TIM2, this does not only affect TIM2 but ost of the timers
I haven't checked other .svd files

Hi @PerennialNovice,
Thank you for having reported. However, I am afraid I will redirect you to elsewhere once more. Indeed, as indicated in the CONTRIBUTING.md (paragraph 1, box 2) and the README.md ("Troubleshooting" section), this support channel is dedicated to issues found in the software items published within this repository.
Any other issue should be reported to the ST Community. I recommend the STM32CubeIDE forum.
Best of luck and thank you again for having reported. Please allow me to close this issue. Thank you for your comprehension.
With regards,


feat(config): Add config struct

Introduce a new configuration option in zbench that allows users to specify
the number of iterations for benchmarks. This update modifies the run function
to prioritize user-defined iteration count from Config.iterations over the
automatic calculation based on minimum duration. This enhancement provides
greater flexibility in benchmarking by accommodating specific iteration requirements.

@Bryysen @FObersteiner Please have a look.


WIP v2v: add more unit tests

Depends on: #252 - first commit is irrelevant
Increasing code-coverage.

Pull Request Test Coverage Report for Build 766

38 of 45 (84.44%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 86.532%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/Wizard/CreateVmWizard/providers/VCenterVmsWithPrefill.js
38
45
84.44%

Totals

Change from base Build 762:
0.1%

Covered Lines:
2533

Relevant Lines:
2797

💛  - Coveralls

Pull Request Test Coverage Report for Build 959

38 of 45 (84.44%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 86.532%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/Wizard/CreateVmWizard/providers/VCenterVmsWithPrefill.js
38
45
84.44%

Totals

Change from base Build 762:
0.1%

Covered Lines:
2533

Relevant Lines:
2797

💛  - Coveralls


Exit scope metrics if metrics file is empty

Prior to this, scope would attempt to create a graph when there are no metrics available, causing errors.
Closes #467

Scoped top and stopped it after a couple updates. ./bin/linux/x86_64/scope  metrics -c -m proc.mem -g gives me a single result output which I expect. I manually truncated that file, ran it again, and I get the No metrics available message as expected. I removed the metrics.json file to test the case where the file.Stat() returns an error but got Invalid session, likely an invalid command was scoped. Would you like to delete this session? which I didn't expect. Should I?

Testing with the deleted metrics.json was an invalid test. No problem. Will approve this.


Glidesort experiments

This PR exposes two cargo features to enable glidesort as the sort algorithm for the grenad Sorter:

glidesort-stable: Use glidesort to stable sort in the Sorter instead of using the std sort algorithms.
glidesort-unstable: Use glidesort to unstable sort in the Sorter. Note that it will use a stable sort as glidesort doesn't support unstable sorting but is usually faster than the unstable sorting of the std.

Glidesort can also take the external buffer as a parameter which allows us to reduce the number of new allocations and speedup the Sorter again. The Sorter could allocate this buffer when created and keep it until dropped. Still, it could just take a slice of the available memory in the big buffer already allocated to store the keys and EntryBounds. It is a possible future work in this PR.

Indeed, I will run the benchmark of milli and meilisearch and also run a real use-case of 40 million musics on a bare-metal instance just for fun 🤩


"Băleni" is listed in the drop-down menu

Description:
"Băleni" is listed in the drop-down menu alongside its corresponding county according to the law
Precondition:
The website is up an running.

Step 1
Type "Băleni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Băleni, DÂMBOVIȚA".


Add dumb entry point

This is not really a PR but more a request for discussion with some code attached.
It is very dumb. But it would save us from having to publish 4 or 5 binaries.
Instead of iroh-gateway ..., you do iroh gateway ... etc. Otherwise everything is the same.
 But I doubt people will care for just trying it out,
and our time might be better used fixing bugs and working on perf than building and publishing so many binaries, at least for the 0.1.0 release...
Here are the sizes:
iroh on  rklaehn/iroh-entry-point [$?] via 🦀 v1.63.0
❯ ls -l target/release/iroh*
-rwxr-xr-x  1 rklaehn  staff  42750722 Oct 21 15:29 target/release/iroh // < this would be the only thing we need to publish
-rwxr-xr-x  1 rklaehn  staff  15891990 Oct 21 15:28 target/release/iroh-cli
-rwxr-xr-x  1 rklaehn  staff  19373786 Oct 21 15:28 target/release/iroh-gateway
-rwxr-xr-x  1 rklaehn  staff  24792278 Oct 21 15:29 target/release/iroh-p2p
-rwxr-xr-x  1 rklaehn  staff  20634744 Oct 21 15:28 target/release/iroh-store

And the help output:
Usage: iroh [COMMAND]

Commands:
  gateway  IPFS gateway
  p2p      Implementation of the p2p part of iroh
  store    Implementation of the storage part of iroh
  cli      A next generation IPFS implementation: https://iroh.computer
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help information
  -V, --version  Print version information

after some lovely post-release sleep, we've come up with a solid direction for this.


npm-update

Codecov Report
Patch and project coverage have no change.

Comparison is base (591b568) 71.58% compared to head (bddbc72) 71.58%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #409   +/-   ##
=======================================
  Coverage   71.58%   71.58%
=======================================
  Files          69       69
  Lines       14444    14444
  Branches     1872     1872
=======================================
  Hits        10340    10340
  Misses       2261     2261
  Partials     1843     1843

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Link Not found on Website

On Page : https://caffe2.ai/docs/workspace.html
In Example Usage, On Line : For more examples of the basics of workspaces, check out the basics tutorial.
Link pointed by basic tutorial is not found. It redirects to following url : https://caffe2.ai/tutorials/basics.ipynb

Ah sorry this is a runaway link:
https://github.com/caffe2/caffe2/blob/master/caffe2/python/tutorials/Basics.ipynb
/cc @aaronmarkham

Please also update this link in Tutorial at : http://caffe2.ai/docs/tutorials.html#null__models-and-datasets---a-primer
Beginners#
Models and Datasets - a Primer - redirects to  Page NOT found at https://github.com/caffe2/caffe2/blob/master/caffe2/python/tutorials/Models_and_Datasets.ipynb

Also update LAST LINE at this page: http://caffe2.ai/docs/tutorials.html
When your browser opens with your local Jupyter server (default is http://localhost:8888), browse to the Caffe2 repository and look for them in the tutorials directory. Opening them this way will launch their interactive features.
redirects to Page Not found : https://caffe2.ai/tutorials

Updated. Thanks!


replace dex/athena apps with auth bundle

[ ] replace dex and athena on MCs with the auth bundle (disable not needed components)
[ ] dex operator should reconcile auth-bundles instead of dex-apps
[ ] dex-operator should be renamed to auth-operator
[ ] default dex config secret can be included as extraConfig directly inside the auth bundle app

Some customers use them as a bundle, some don't. Giant Swarm doesn't use the bundle. The future of bundles is unclear


Validate input to BadgeFactory.create()

Following on from #3507 and #3586 here is another attempt. See https://github.com/badges/shields/pull/3586#issuecomment-513375146 for background.
This time I haven't used any library - I've just coded the validation rules by hand. Note again, the target branch is v3-dev.

Warnings

:warning:

This PR targets v3-dev - It is likely that the target branch should be master

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

  Generated by :no_entry_sign: dangerJS against fd2982b813024a441703132f237540eafd20b31e


add a TTL for the cache item

Is it possible to add a configuration item in the bucket4j configuration
to set the TTL of the rate limit cache item?
If validation by username and the bucket have no TTL,
a lot of records will be left in the cache.
Thanks in advance.

What cache technology do you use?

Sorry for the lateness, I use Redis as the cache solution.

Sorry for the lateness, I use Redis as the cache solution.

It is strange. I do not remember the times when TTL for Redis was not supported in Bucket4j. Do you use Bucket4j directly or through some integration(like bucket4j-spring-boot-starter)?

yes, I use the bucket4j-spring-boot-starter, and use redisson to connect the Redis server.

In such case, please adress your question directly to the https://github.com/MarcGiffing/bucket4j-spring-boot-starter repository


'package:flutter/src/widgets/framework.dart': Failed assertion: line 4606 pos 12: '_state._element == null': is not true.

Steps to Reproduce

Run flutter create bug.
Update the files as follows: ...
...

Expected results:
Actual results:

Logs

Hi @giraffe-www ,
opening an issue please try to provide
all or some of the information indicated in the template

Issue Template
If you are looking for support, please check out our documentation
or consider asking a question on Stack Overflow:
- https://flutter.dev/
- https://api.flutter.dev/
- https://stackoverflow.com/questions/tagged/flutter?sort=frequent

If you have found a bug or if our documentation doesn't have an answer
to what you're looking for, then fill our the template below. Please read
our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports

Steps to Reproduce

Please tell us exactly how to reproduce the problem you are running into.

Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.

If the problem is with your application's rendering, then please attach
a screenshot and explain what the problem is.

1. ...
2. ...
3. ...

Please tell us which target platform(s) the problem occurs (Android / iOS / Web / macOS / Linux / Windows)
Which target OS version, for Web, browser, is the test system running?
Does the problem occur on emulator/simulator as well as on physical devices?

Target Platform:
Target OS version/browser:
Devices:

Run your application with `flutter run --verbose` and attach all the
log output below between the lines with the backticks. If there is an
exception, please see if the error message includes enough information
to explain how to solve the issue.

Run `flutter analyze` and attach any output of that command below.
If there are any analysis errors, try resolving them before filing this issue.

Finally, paste the output of running `flutter doctor -v` here.

Closing this issue, since no information has been provided.
Thank you.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_74c10f48-ba99-4172-9468-e800222425bc/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_74c10f48-ba99-4172-9468-e800222425bc.git

Docs Build status updates of commit c7bb825:
Pending

Docs Build status updates of commit c7bb825:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-UserAccountBuildPermissionInsufficientError] Owner v-alji no longer has Read permission of the repository https://github.com/opstest2/docs-archive-test-source. It might be due to recent GitHub changes on SSO. Please ask the owner v-alji to logon to Docs Portal https://ops.microsoft.com once again. If it is not the case, please ask anyone of Admin permission of the repo to assign a new owner via Docs Portal https://ops.microsoft.com

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel