WIP on moving sprites to the path correctly

Test project:
https://makecode.com/_eCTHYFMLqg3Y
future TODO:  transition sprite gently to middle of first tile
this PR TODO:

[ ] Try dikjstra's instead of distance-squared for getting onto nearest path
[ ] Create stress test

Current state:

Notice how they move to the  path but don't follow it once they get there

Working pretty well!

Looks good, other comment can be fixed in a separate change if you want / is a bit of an edge case

I'm going to try your approach  and run a stress test and see how much we can handle

Updated to use Dijkstra's to get to the path:

Hmm there's definitely some buggy behavior going on that I need to look into:

Yeah, it's definitely buggy with the removing and add even with the run-in-parallel code.
I'll see what I can do

Some adversarial routing with probably a couple hundred sprites active:

Not too shabby!

Unsure how this will perform on hardware though

Alright I made a pass over the path following logic and made a few minor improvements:

Instead of teleporting to the start of the path, I just set the velocity to face that title
Instead of keeping a seperate "to remove" list, I enumerate the sprites backwards so that I can do "removeAt" and "push" without affecting the worklist. This makes it so that I don't need the "run in parallel" code anymore and also fixed some bugs around sprites not resuming pathing properly if there are lots of path switches.
I use vector math instead of atan2 + cos + sin to set direction; sqrt is much faster than trig functions generally
Fixed a bug where we weren't setting the a new "on end" callback correctly

I think things basically work well now:

There are some weird interactions when sprites are place inside of walls (e.g. placing a tower on them). Sprites don't get back onto the path. But I'm not sure the path following logic can do too much about that.


Encountered Errors while loading user settings

Environment
Windows build number: 20201.rs_prerelease.200822-1922
Windows Terminal version (if applicable): 1.2.2381.0
WSL: 2

# Steps to reproduce

Open windows terminal after startup. Have default set to Windows.Terminal.Wsl with Ubuntu 18.04 being the target distribution of Linux.

# Expected behavior

Getting to my command prompt directly.

# Actual behavior
Error encountered while loading user settings. Cannot load profile with Ubuntu. Defaults to PowerShell

![image](https://user-images.githubusercontent.com/7969061/93020293-29a2c500-f5aa-11ea-8ea4-509316ccae89.png)

This happens sometimes when WSL isn’t ready to tell us what distributions are available. /dup #7199


Refactory

[ ] rename isExist method
[ ] refacory repetitive code
[ ] java identation norm
[ ] test remove useless test
[ ]


[build] Disable EV build

Description
Disabled Embedding Variables build in bazel build file due to the ptr_util.h header is removed from Tensorflow 2.13.
The EV is not in used, so it's safe to remove it.
Related file used ptr_utl.h: ev_op_helpers.h
Related commit: 960d53e
Brief Description of the PR: Disable EV build
Fixes # (issue)
Type of change

[ ] Bug fix
[x] Build
[ ] New Tutorial
[ ] Updated or additional documentation
[ ] Additional Testing
[ ] New Feature

Checklist:

[x] I've properly formatted my code according to the guidelines

[x] By running yapf
[x] By running clang-format

[ ] This PR addresses an already submitted issue for TensorFlow Recommenders-Addons
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works

How Has This Been Tested?
If you're adding a bugfix or new feature please describe the tests that you ran to verify your changes:
*

Hello @poinwater, the CI failure is caused by disk no space. Your code is perfect, and I can help merge it if no more modify from you. Thank you!

@rhdong , sure, please merge my code, thank you.


How to use the npm package in lamda function when using amplify?

**Lamda **
Hello?
I want to implement to payment using strip with lamda function.
But then I met some issues to use the npm package strip.
I tried to upload lamda function to the aws using amplify push after install this package using npm install strip.
But I could not find this package in lamda funciton and met errors.
Could you help me?
How can I implement it using amplify?

Closing this due to lack of customer response.


Incorrect parsing of xml with comments

Hello everyone! If I try to parse an xml string with comments, it doesn't work correctly for some kml tags. I assume it doesn't work correctly for those tags that are read in methods with _ => break in the scope of the loop. For example, in KmlReader::read_location
loop {
    let mut e = self.reader.read_event_into(&mut self.buf)?;
    match e {
        Event::Start(ref mut e) => match e.local_name().as_ref() {
            b"longitude" => longitude = self.read_float()?,
            b"latitude" => latitude = self.read_float()?,
            b"altitude" => altitude = self.read_float()?,
            _ => {}
        },
        Event::End(ref mut e) => {
            if e.local_name().as_ref() == b"Location" {
                break;
            }
        }
        _ => break, // it breaks even if it is a comment tag
    }
}

If you try to parse, for instance, such kml string
<Location>
  <!-- my comment -->
  <longitude>39.55375305703105</longitude>
  <latitude>-118.9813220168456</latitude>
  <altitude>1223</altitude>
</Location>

You will get this
KmlDocument(
    KmlDocument {
        version: Unknown,
        attrs: {},
        elements: [
            Location(
                Location {
                    latitude: 0.0,
                    longitude: 0.0,
                    altitude: 0.0,
                    attrs: {},
                },
            ),
            Element(
                Element {
                    name: "longitude",
                    attrs: {},
                    content: Some(
                        "39.55375305703105",
                    ),
                    children: [],
                },
            ),
            Element(
                Element {
                    name: "latitude",
                    attrs: {},
                    content: Some(
                        "-118.9813220168456",
                    ),
                    children: [],
                },
            ),
            Element(
                Element {
                    name: "altitude",
                    attrs: {},
                    content: Some(
                        "1223",
                    ),
                    children: [],
                },
            ),
        ],
    },
)

When it is expected to be something like
Location(
    Location {
        latitude: -118.9813220168456,
        longitude: 39.55375305703105,
        altitude: 1223.0,
        attrs: {},
    },
)

@RShabanov thanks for the issue! This is a great catch, and it should be a simple fix. I can get started on that now


Change the naming convention of files

Hi
Is there a way that I can change the naming convention of the sitemap files?  like how my files can follow the pattern like sitemap00001.xml, sitemap00002.xml and so on?

hi @baig772 , I haven't really looked at this project in years. To answer it, you and me would have to do the same thing, dig into the source ;)

Great, I am open to this. Let me make some changes and if they work, I will create a new branch and will update the repo


Highlighting for the type notation in the import block is broken in syntax bundled for vim

Steps to reproduce

:e foo.ts
Write below code

import {
    type foo
    bar
} from "./baz";

And get invalid highlighting like this:

Expected behaviour
They are highlighted like:

(I removed type and get it)
Version of Vim
9.1.380
Environment
Linux, x256-color, zsh
Logs and stack traces
No response
NOTE
I reported this in vim repo, but an owner says to me to contact you.
https://github.com/vim/vim/issues/14721#issuecomment-2095313787

Your code looks wrong. How about the following fixed version?
import {
    type foo,
    bar
} from "./baz";

This is what I see in latest yats.vim
I think vim's upstream should be updated.

I think the issue should be already tracked by #277


Relax the tslint selector-prefix

I use this seed quite often and always have to remove the:
"directive-selector-prefix": [true, "my"],
"component-selector-prefix": [true, "my"],
"pipe-naming": [true, "camelCase", "my"]
from the tslint.json
This isn't a big deal but since the style docs have gone away from using the prefix 'my' (or 'app') and now recommend using the initials of the project as a prefix I wonder if having the linter test for 'my' is necessary any more.

I really like the linter rules and just changed my prefix to "the initials of the project" instead of "my"

Yes, I just need to explain it nicely in the readme so other people know about it and changes it to what they want, so you get the lint working but your prefix.


Board Review: Azure Communication Services (SPOOL) - Video + ScreenShare GA, activeTab API

Contacts and Timeline
Service name: ACS Calling Web
Key contact for this review: Clarence Sandjon
Link to previous API version: ...
Description of the material to be reviewed/changed: ..
Champion scenarios that briefly explain how developers will use your API:
Artifacts required (per language)
TypeScript

APIView Link:
Link to Champion Scenarios/Quickstart samples:

For all other languages, send a request to the Architecture Board to discuss the best format on individual basis.
Thank you!

Detect when SDK is active in multiple tabs:
Usage:

The following code snippet shows how contoso can check if the SDK is active in multiple tabs of a browser and also listen for changes.

const callClient = new CallClient();
const isSdkActiveInAnotherTab = callClient.feature(SDK.Features.BrowserInfo).isSdkActiveInAnotherTab;
...
callClient.feature(SDK.Features.BrowserInfo).on('isSdkActiveInAnotherTabChanged', () => {
    // Callback();
});
...
callClient.feature(SDK.Features.BrowserInfo).off('isSdkActiveInAnotherTabChanged', () => {
    // Callback();
});

api description:
https://skype.visualstudio.com/SCC/_git/client_calling_spool-native/pullrequest/671845?view=discussion&_a=files&path=/sdk/web/docs/BrowserInfo/BrowserInfo.md
api view diff:
@skype/spool-sdk - Detect when SDK is active in multiple tabs - apiview.dev

Publish screen sharing + one video local streams simultaneously:
Usage:
The following code snippet shows how contoso can check if the local video is on or off, and also listen for changes.
// Check if local video is on or off
call.isVideoOnn;
...
call.on('isVideoOnChanged', () => {
    // Callback();
});
...
call.off('isVideoOnChanged', () => {
    // Callback();
});

api description:
https://skype.visualstudio.com/SCC/_git/client_calling_spool-native/pullrequest/683510?_a=files&path=/sdk/web/docs/LocalVideo_And_ScreenSharing/LocalVideo.md
api view diff:
@skype/spool-sdk - Detect when SDK is active in multiple tabs - apiview.dev

Scheduled for 9/20 2p-4p PDT

Recording (MS INTERNAL ONLY)


Move to Chrome's fork of Hunspell

This PR moves Spellchecker to use the Chromium fork of Hunspell, which supports a format invented by Chromium called "bdict" files. bdict files are smaller and less weird (i.e. no aff files), and we're also guaranteed that Chrome keeps them up-to-date.
Unfortuately, compiling with bdict support disables the built-in support for dic/aff files, so this is a breaking change (though I've tried my best to keep the legacy API compatible).
The breaking change is, setDictionary now expects a Buffer as its second parameter, which is a loaded bdic file:
spellChecker.setDictionary('en_US', fs.readFileSync('path/to/en-us.bdic'));

A new method getURLForHunspellDictionary now will return the URL to download the dictionary file, given a language code.
TODO:

[x] Windows
[x] OS X
[x] Linux

This is working okay in my testing, but still has some weird behavior where the first word is marked as an error if it's capitalized.

 Would be great to get this merged in and released as it looks like it closes #49 and #10

Just tried building on osx using electron packager and running on ubuntu but it bombs out with an invalid ELF Header error. Would it be possible to have precompiled headers for different platforms?

I'm also keen for this functionality, is there anything that's stopping us from merging this? Is there anything still left to do before we can merge this?

@callodacity The capitalization bug is the only thing stopping us, my lldb skills are lacking, maybe @zcbenz can have a look if he's got a hot second?


Questions for documentation

I'm going to add questions here as I go through the documentation:

[ ] What if you want all the data for proposal XXXXX, regardless of how long ago it was? Will providing the PID override the lookback time?

[ ] productfilename is no longer a part of the path of the downloaded files?

lre3, lre4, lre5, lre6 will no longer work since the rehearsal data have been removed from MAST.

[ ] If the columns in the product table are going to be updated, we need to update the examples in the documentation.

[ ] Remove example call for LRE5?


"Copy Remote URL" does nothing

GitLens Version: 10.2.2

VSCode Version: Code 1.50.1
OS Version: Darwin x64 19.6.0

Steps to Reproduce: Selecting "Copy Remote URL" from the Cmd+Shift+P menu or from right-clicking in the file or on the file tab opens a text field with no options underneath and thus cannot select any remote from which to get the file URL. Nothing in my clipboard is changed.

It appears that for certain repos, none of the "Remote" functions of GitLens work. They all end up doing the same as the image: opens a text field that appears to request some additional information, but the text field does nothing either.

Facing this same issue with some private repos but not all.

Does this still happen with GitLens 11?

This is happening to me on 11.0.1 on our private repo. Hope this is useful:
VSCode Version: 1.51.1 (Windows using remote extensions for Linux dev)
Git version: 2.28.0
> git remote -v
origin  ssh://git@repos.company.net:5555/project/foo.git (fetch)
origin  ssh://git@repos.company.net:5555/project/foo.git (push)

With "gitlens.outputLevel" to set "debug", this is what I get when I select "GitLens: Copy Remote File URL" for a tracked file from the command prompt (paths have been obscured):
[2020-11-16 18:49:49:820] [2a6] GitUri.fromUri — e=Uri(file:///path/to/repo/foo.py)
[2020-11-16 18:49:49:820] [2a7] GitService.getRepoPath — e=Uri(file:///path/to/repo/foo.py)
[2020-11-16 18:49:49:820] [2a8] GitService.getRepository — e=Uri(file:///path/to/repo/foo.py), t={"skipCacheUpdate":true}
[2020-11-16 18:49:49:820] [2a9] GitService.isTracked returned true • 0 ms — e=/path/to/repo/foo.py, t=/path/to/repo, i={"skipCacheUpdate":true}
[2020-11-16 18:49:49:821] [2a8] GitService.getRepository returned /path/to/repo • 0 ms
[2020-11-16 18:49:49:821] [2a7] GitService.getRepoPath returned /path/to/repo • 0 ms
[2020-11-16 18:49:49:821] [2a6] GitUri.fromUri returned GitUri(file:///path/to/repo/foo.py repoPath=/path/to/repo) • 0 ms
[2020-11-16 18:49:49:821] [2aa] GitService.getRemotes — e=/path/to/repo
[2020-11-16 18:49:49:821] [2ab] GitService.getRepository — e=/path/to/repo
[2020-11-16 18:49:49:821] [2ab] GitService.getRepository returned /path/to/repo • 0 ms
[2020-11-16 18:49:49:835] [/path/to/repo] git remote -v • 13 ms
[2020-11-16 18:49:49:835] [2ac] GitRemoteParser.parse completed • 0 ms
[2020-11-16 18:49:49:835] [2aa] GitService.getRemotes completed • 14 ms
[2020-11-16 18:49:49:835] [2ad] GitService.getBranch — e=/path/to/repo
[2020-11-16 18:49:49:835] [2ae] GitService.getBranches — e=/path/to/repo, t={}
[2020-11-16 18:49:49:861] [/path/to/repo] git for-each-ref --format=%3ch%3e%(HEAD)%3cn%3e%(refname)%3cu%3e%(upstream:short)%3ct%3e%(upstream:track)%3cr%3e%(objectname)%3cd%3e%(committerdate:iso8601) refs/heads refs/remotes • 25 ms
[2020-11-16 18:49:49:864] [2af] GitBranchParser.parse completed • 2 ms
[2020-11-16 18:49:49:864] [2b0] GitService.getRepository — e=/path/to/repo
[2020-11-16 18:49:49:864] [2b0] GitService.getRepository returned /path/to/repo • 0 ms
[2020-11-16 18:49:49:864] [2ae] GitService.getBranches completed • 28 ms
[2020-11-16 18:49:49:864] [2ad] GitService.getBranch completed • 28 ms

This picker window comes up with one option:

Which leads to me this dead-end where no options are presented:

I tried adding a couple different configs to "gitlens.remotes" but this didn't change anything.

@eamodio yes it does with 11.01 on mac. What information can I provide to help debug?

@kazamatzuri can you also provide the output from git remote -v?

Can you please verify this fix in the latest insiders version?
You can install the insiders version from here.

@eamodio I can confirm the updated picker is working for me on the insiders version. The wording is certainly an improvement. However, in my case, adding an entry to gitlens.remotes does not show up in the quickpick menu. I've tried multiple configs (Bitbucket, BitbucketServer, Custom), but no options ever show up in the menu.
Here's the latest output from GitLens when running "Copy Remote File URL":

Click to expand...
[2020-11-30 16:04:08:438] [3f5] GitUri.fromUri — e=Uri(file:///path/to/repo/project/some-file.html)
[2020-11-30 16:04:08:438] [3f6] GitService.getRepoPath — e=Uri(file:///path/to/repo/project/some-file.html)
[2020-11-30 16:04:08:438] [3f7] GitService.getRepository — e=Uri(file:///path/to/repo/project/some-file.html), t={"skipCacheUpdate":true}
[2020-11-30 16:04:08:475] [/path/to/repo] git ls-files -- project/some-file.html • 37 ms
[2020-11-30 16:04:08:476] [3f8] GitService.isTracked returned true • 37 ms — e=/path/to/repo/project/some-file.html, t=/path/to/repo, i={"skipCacheUpdate":true}
[2020-11-30 16:04:08:476] [3f7] GitService.getRepository returned /path/to/repo • 37 ms
[2020-11-30 16:04:08:476] [3f6] GitService.getRepoPath returned /path/to/repo • 37 ms
[2020-11-30 16:04:08:476] [3f5] GitUri.fromUri returned GitUri(file:///path/to/repo/project/some-file.html repoPath=/path/to/repo) • 38 ms
[2020-11-30 16:04:08:476] [3f9] GitService.getCommitForFile — e=/path/to/repo, t=/path/to/repo/project/some-file.html, i={"firstIfNotFound":true}
[2020-11-30 16:04:08:476] [3fa] GitService.getLogForFile — e=/path/to/repo, t=/path/to/repo/project/some-file.html, i={"limit":2}
[2020-11-30 16:04:08:476] [3fa] GitService.getLogForFile Cache hit: 'log:n2'
[2020-11-30 16:04:08:476] [3fa] GitService.getLogForFile completed • 0 ms
[2020-11-30 16:04:08:477] [3f9] GitService.getCommitForFile completed • 0 ms
[2020-11-30 16:04:08:477] [3fb] GitUri.fromUri — e=Uri(file:///path/to/repo/project/some-file.html)
[2020-11-30 16:04:08:477] [3fc] GitService.getRepoPath — e=Uri(file:///path/to/repo/project/some-file.html)
[2020-11-30 16:04:08:477] [3fd] GitService.getRepository — e=Uri(file:///path/to/repo/project/some-file.html), t={"skipCacheUpdate":true}
[2020-11-30 16:04:08:512] [/path/to/repo] git ls-files -- project/some-file.html • 35 ms
[2020-11-30 16:04:08:512] [3fe] GitService.isTracked returned true • 35 ms — e=/path/to/repo/project/some-file.html, t=/path/to/repo, i={"skipCacheUpdate":true}
[2020-11-30 16:04:08:512] [3fd] GitService.getRepository returned /path/to/repo • 35 ms
[2020-11-30 16:04:08:512] [3fc] GitService.getRepoPath returned /path/to/repo • 35 ms
[2020-11-30 16:04:08:513] [3fb] GitUri.fromUri returned GitUri(file:///path/to/repo/project/some-file.html repoPath=/path/to/repo) • 35 ms
[2020-11-30 16:04:08:513] [3ff] GitService.getRemotes — e=/path/to/repo
[2020-11-30 16:04:08:513] [400] GitService.getRepository — e=/path/to/repo
[2020-11-30 16:04:08:513] [400] GitService.getRepository returned /path/to/repo • 0 ms
[2020-11-30 16:04:08:531] [/path/to/repo] git remote -v • 17 ms
[2020-11-30 16:04:08:531] [401] GitRemoteParser.parse completed • 0 ms
[2020-11-30 16:04:08:531] [3ff] GitService.getRemotes completed • 18 ms
[2020-11-30 16:04:10:513] [402] GitService.onWindowStateChanged — e={"focused":false}
[2020-11-30 16:04:10:513] [402] GitService.onWindowStateChanged completed • 0 ms

@mgallagher I've opened https://github.com/eamodio/vscode-gitlens/issues/1235 to track this new issue


pkgs.testers.runNixOSTest failure (OSError: AF_UNIX path too long) when test name is "long" on macOS

Describe the bug
Hello !
I'm playing with pkgs.testers.runNixOSTest on aarch64-darwin system.
Here is the code I'm using
pkgs.testers.runNixOSTest {
  name = "foo";

  nodes = {
    machine = {};
  };

  testScript = ''
    machine.wait_for_unit("network-online.target")
    machine.succeed("ping -c 1 machine")
  '';
}

This code works, and I don't have no issues when running it using both system aarch64-darwin, and aarch64-linux (though builder).
But if I decide to name the test to something longer, like name = "assert invalid configs are indeed invalid", then on aarch64-darwin the test is failing with following error: OSError: AF_UNIX path too long.
Machine state will be reset. To keep it, pass --keep-vm-state
start all VLans
start vlan
running vlan (pid 49171; ctl /private/tmp/nix-build-vm-test-run-assert-invalid-configs-are-indeed-invalid.drv-0/vde1.ctl)
(finished: start all VLans, in 0.02 seconds)
Test will time out and terminate in 3600 seconds
run the VM test script
additionally exposed symbols:
    machine,
    vlan1,
    start_all, test_script, machines, vlans, driver, log, os, create_machine, subtest, run_tests, join_all, retry, serial_stdout_off, serial_stdout_on, polling_condition, Machine
machine: waiting for unit network-online.target
machine: waiting for the VM to finish booting
machine: starting vm
cleanup
(finished: cleanup, in 0.00 seconds)
Traceback (most recent call last):
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/bin/.nixos-test-driver-wrapped", line 9, in <module>
    sys.exit(main())
             ^^^^^^
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/__init__.py", line 146, in main
    driver.run_tests()
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/driver.py", line 167, in run_tests
    self.test_script()
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/driver.py", line 159, in test_script
    exec(self.tests, symbols, None)
  File "<string>", line 1, in <module>
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 374, in wait_for_unit
    retry(check_active, timeout)
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 129, in retry
    if fn(False):
       ^^^^^^^^^
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 355, in check_active
    state = self.get_unit_property(unit, "ActiveState", user)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 404, in get_unit_property
    status, lines = self.systemctl(
                    ^^^^^^^^^^^^^^^
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 448, in systemctl
    return self.execute(f"systemctl {q}")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 518, in execute
    self.connect()
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 824, in connect
    self.start()
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 1079, in start
    monitor_socket = create_socket(clear(self.monitor_path))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/78hf55kd2pf6pywqwbajbrxqd4zimrqr-nixos-test-driver-1.1/lib/python3.11/site-packages/test_driver/machine.py", line 1075, in create_socket
    s.bind(str(path))
OSError: AF_UNIX path too long
kill vlan (pid 49171)

the test still work using the builder (aarch64-linux).
Expected behavior
Either no failures when using long names, or a warning/assert complaining about name length if length matters.
Notify maintainers
@tfc helped me on NixOS tests on macOS months ago, I don't know who else to notify.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
$> nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-darwin"`
 - host os: `Darwin 23.5.0, macOS 14.5`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.18.5`
 - channels($USER): `"darwin, home-manager"`
 - channels(root): `"nixpkgs"`
 - nixpkgs: `/nix/store/2bgr2mxzslxfn3cd4ifjw7s68x91dki5-source`

Add a :+1: reaction to issues you find important.

This might be related to the change that I once upstreamed to nixos-rebuild: https://github.com/NixOS/nixpkgs/blob/e46dc3b8343f627532ba881965b053d3bbec4235/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh#L438
The problem on macOS is often that you sometimes get extremely long tempdir prefixes out of mktemp, which might be the same problem here.
In nixos-rebuild this is solved by unsetting TMPDIR before calling mktemp.
Is this a helpful enough pointer for you to further debug this or do you need more assistance?


Can't set a color for the X-axis data

currently I'm trying to set a color for my Xaxis data (Jan, feb....) for my line graph and in my background is fairly dark so it makes it a litltle hard to read. Currently I don't think we can set a different color for the data.

xaxis: {
  labels: {
    style: {
      colors: '#bbb'
    }
  }
}


getting error while importing preprocessing

I am trying about an hour i am getting below error while running training file
File "training\train.py", line 10, in
from face_recognition import preprocessing, FaceFeaturesExtractor, FaceRecogniser
ImportError: cannot import name 'preprocessing' from 'face_recognition' (C:\Users\tejas\AppData\Local\Programs\Python\Python38\lib\site-packages\face_recognition_init_.py)

Hi @tejasnikam!
Try running it this way:
python -m training.train [ARGS]

It should work.

yes it is working with this modification


The work: RGF: Retrieval-guided Counterfactual Generation for QA is so abstractive, is it convenient  for you to update the code? Thank you so much!

+1 Kindly release the code and models.

+1


Add custom buttons to template-card

Description

Related Issue

This PR fixes or closes issue: fixes #
https://github.com/piitaya/lovelace-mushroom/issues/887
https://github.com/piitaya/lovelace-mushroom/issues/1421
Motivation and Context
As I mentioned in the last issue, I was a bit limited by the template card in some scenarios. It would be really great if I could have a quick action directly on my dashboard.

How Has This Been Tested
I tested it locally on my HA instance. I also created a sample in the dev box at /lovelace-mushroom-showcase/5.

Types of changes

[x] 🚀 New feature (non-breaking change which adds functionality)

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have tested the change locally.
[ ] I followed the steps if I add a new language .

For information, up to what level are the button customisable ?
For example can we like with a template chip:

define dynamic icon/color ?
define tap, hold and double tap actions ?
If yes that is exactly what I wanted to create a room card !

Whatever the customization, Many Thanks @martindybal and I hope it goes up to release !

@BBE-FR Thank you very much for your feedback and support!
Regarding your questions:
Dynamic icon/color: This is not supported in the current PR, but can be easily added if needed.
Tap, hold and double tap actions: Only tap actions are currently supported, but again, they can be implemented if desired.
Before I proceed with these additions, I need to hear from @piitaya if he wants to finish this PR.
Thanks for your suggestions.

Hi 🙂
I like the idea but if we implement this, I think it must be an array instead of 4 elements.
Also I have concerns to bring new features like this to Mushroom because the gap between Mushroom and tile card become less important with HA updates. Many features request (icon tap action, card features, inverted cover slider, etc...) to Mushroom are improvements done to the tile card so it become hard to do the work in double.
I have some options but I didn't decided about the best solution :

Implement all Mushroom features to tile card and deprecate Mushroom usage
Implement all Mushroom features to tile card except template features. Mushroom will become a kind of "advanced tile card" with template support and advanced features.
Freeze Mushroom dev and maintain it to avoid regression with HA updates.

The problem with adding this option is that it will encourage people to not use tile card and it can lead to more breaking changes in the future if we want to fully merge Mushroom to Home Assistant.

@piitaya I imagine that the question is hard...
Option 1 would be Nice...
The lack of template card and chips are the only real things that make me stay with mushroom... without template its difficult to go back to tiles...
For the rest tiles are sligtly less customisable but its enought for 99% of time...

+1 for Option 1 ... I would love to switch over to Tile Card 100% but am a heavy user of template and chip.

@piitaya I fully understand. The reason for 4 elements is layout, but it's not a problem to use an array with limited size. I'm just not sure about the UI editor.
I have no problem helping with the development of the Tile Card. I've switched to it myself in a few scenarios with mushrooms. My main reason for sticking with Mushrooms is

Horizontal layout

I added card_mod

Better tap and hold action management

hold_action doesn't work above the icon. It uses icon_tap_action even with hold.

Features like animated icons

I'm using combination of Mushrooms and tile card for all my room like this

@piitaya
Do we have any chance to have templates in tile cards the same way as in mushroom ( template defining icon, color, primary and secondary information) ?
If not planed it might be worth to release this feature, I think there is a long lasting request for this kind of function in the mushroom Community. Y think we are numerous to use stack in to fuse template cards (or other mushroom when template is not mandatory) with chips to create additional buttons.
Like in my personal exemple there: https://github.com/piitaya/lovelace-mushroom/issues/55#issuecomment-2046983165
If planned, there is an HACS project to allow to use controls: https://github.com/Nerwyn/service-call-tile-feature this could be embeded into the "template tile" to allow to define buttons into this future "advanced templatable tile"...

@BBE-FR Thank you very much for your feedback and support!
Regarding your questions:
Dynamic icon/color: This is not supported in the current PR, but can be easily added if needed. Tap, hold and double tap actions: Only tap actions are currently supported, but again, they can be implemented if desired.
Before I proceed with these additions, I need to hear from @piitaya if he wants to finish this PR.
Thanks for your suggestions.

I used chips instead of button with stack in in my cards in order to keep the mushroom look and to have the ability to define the button through graphical interface (including full control of the icons/colors through the template chips)...
Description can be found here: https://github.com/piitaya/lovelace-mushroom/issues/55#issuecomment-2046983165
@martindybal Your proposal is already a great improvement and I fully support this. If at the end you manage to have the same capacity than chips, that would be 100% marvelous to me !

@BBE-FR I'm waiting for a reply from @piitaya

@piitaya can you please comment? Does it make sense to continue on this or would TileCard be the future?

Sorry for the late reply, I was busy these days.
I'm not sure tile card will have templating features because it's too complex for most users and it can lead to performance issue if there are many templates.
However, I do agree that Mushroom should become an "advanced tile card" with many features, And of course, these features should be edited with a GUI.
For now, I would say we close this PR and I will work on a "advanced" version of the card but I have no deadline to share... However, I personally only use Mushroom card for the template card so I would love to move forward 😅

I will work on a "advanced" version of the card but I have no deadline to share... However, I personally only use Mushroom card for the template card so I would love to move forward

This might be a way to advance on the subject:
instead of updating endlessly mushrooms or risking to have to much breaking changes as stated here: https://github.com/piitaya/lovelace-mushroom/issues/1259#issuecomment-2325865362
One option could be:

to create a new "advanced tile" custom card in HACS (possibly called called toadstool ??) that would basically be a tile card structure and look, but with full control on icon and templating.
to let the mushroom as it is, without new functionalities, and only maintain it, as long as feasible.
This card (or card family) could then, evolve to implement new functionalities (like buttons, sliders, etc, with same design as the tile card, but fully controllable by the user).

I think that otherwise, there will always be pros and cons to stay with mushroom "classical" cards and some will never migrate to tiles.
My personal example is as follow:
I am willing to go full Tiles (despite I prefer the interface of mushroom with collapsible controls and selectors) but restrained by the lack of:

template card (more than 75% of my mushroom cards)
chips (that can be placed anywhere and not just "on top")

With the latest badges (especially if they can be placed on top of sections) I could get rid of chips and use only Tiles. The last real functional blocking point for me is templating capability in Tile or Tile-like card...

I'm debating cherry-picking this PR into my own branch of Mushroom because it solves an immediate problem I have with wanting to add buttons to end of template cards with a horizontal appearance.  Tile doesn't support a horizontal appearance currently, so I'm pretty much stuck using Mushroom.
But if this is the way the wind is blowing, then maybe I should redo my layouts to not rely on the horizontal appearance.
To be honest, I think that it would be better to expand the built-in Tile card's feature set to cover the needs of power users too rather than to make a separate "advanced Tile" card that's sort of the same and sort of different and sort of awkward to find and with significant duplication of development effort overall.  Expanding the built-in Tile card (or making more flavors of built-in Tile cards) would help users progressively discover the capabilities they need as they need them.  It also helps the Home Assistant user base as a whole converge on more of the same design vocabulary.  Some programs address this progressive discovery issue by hiding more complex or less frequently used features behind toggles such that a hard bifurcation of the UI isn't necessary.


[BUG] Unable to write gmsh without physical group

Describe the bug
Meshio is unable to write a mesh in GMSH format if there are not Physical Groups defined. This is a bug because GMSH allows you to create, write and read meshes without physical groups.
To Reproduce
A working example
import gmsh

gmsh.initialize()

box_tag = gmsh.model.occ.add_box(0,0,0,10,10,10)
gmsh.model.occ.synchronize()
gmsh.model.mesh.generate(3)
gmsh.write("passing.msh")
gmsh.finalize()

gmsh.initialize()
gmsh.open("passing.msh")
gmsh.finalize()

non working example with meshio

# imports
import gmsh
import meshio

# create a mesh without physical groups
gmsh.initialize()
box_tag = gmsh.model.occ.add_box(0,0,0,1,1,1)
gmsh.model.occ.synchronize()
gmsh.model.mesh.generate(3)
gmsh.write("mesh.msh")
gmsh.finalize()

# load the mesh that you just created
m = meshio.gmsh.read("mesh.msh")

# now save the mesh
meshio.gmsh.write("mesh.msh", m)

This will result in the following error
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)

File /opt/pyenv/versions/3.9.7/lib/python3.9/site-packages/meshio/gmsh/main.py:102, in write(filename, mesh, fmt_version, binary, float_fmt)
     95     except KeyError:
     96         raise WriteError(
     97             "Need mesh format in {} (got {})".format(
     98                 sorted(_writers.keys()), fmt_version
     99             )
    100         )
--> 102 writer.write(filename, mesh, binary=binary, float_fmt=float_fmt)

File /opt/pyenv/versions/3.9.7/lib/python3.9/site-packages/meshio/gmsh/_gmsh41.py:326, in write(filename, mesh, float_fmt, binary)
    323 if mesh.field_data:
    324     _write_physical_names(fh, mesh.field_data)
--> 326 _write_entities(
    327     fh, mesh.cells, tag_data, mesh.cell_sets, mesh.point_data, binary
    328 )
    329 _write_nodes(fh, mesh.points, mesh.cells, mesh.point_data, float_fmt, binary)
    330 _write_elements(fh, mesh.cells, tag_data, binary)

File /opt/pyenv/versions/3.9.7/lib/python3.9/site-packages/meshio/gmsh/_gmsh41.py:470, in _write_entities(fh, cells, tag_data, cell_sets, point_data, binary)
    465 # If there is a corresponding cell block, write physical tags (if any)
    466 # and bounding entities (if any)
    467 if matching_cell_block.size > 0:
    468     # entity has a physical tag, write this
    469     # ASSUMPTION: There is a single physical tag for this
--> 470     physical_tag = tag_data["gmsh:physical"][matching_cell_block[0]][0]
    471     if binary:
    472         np.array([1], dtype=c_size_t).tofile(fh)

KeyError: 'gmsh:physical'

Diagnose
I'm using meshio version 5.3.4.
This error is caused here
specifically
physical_tag = tag_data["gmsh:physical"][matching_cell_block[0]][0]

because tag_data is not guaranteed to contain the key "gmsh:physical" nor is it checked prior it will raise a KeyError unless you set it as cell_data.
Suggested Fix
In line 467 add a check to ensure that "gmsh:physical" in in tag_data like so:
if matching_cell_block.size > 0 and  "gmsh:physical" in tag_data:
    ...

Did I help?

For those who may come across this, my workaround was to take the points from the mesh and generate the mesh via gmsh directly and circumvent meshio


enum values remove underscores

The spec we are wrapping has enum fields that have underscores, but the generated graphQL schema has them removed. This is causing the queries to break, is there a way to disable this behavior?

@mikestaub Thanks for filling this issue. This must be a bug. I know you reached out earlier about another issue regarding enums and even created a sample repository. Unfortunately, I haven't had a chance to look at that issue either. Let me take a look now and see if I can give you more insight into the problem. Thanks for your patience.

@mikestaub I was able to follow up on #266 and I wonder if the issues are related. Could you let me know if these enum fields correspond to other GraphQL components? I wonder if this is related to the problematic desanitization that I mentioned in the other issue.

These enum fields are specific to just one type and are not shared. I don't think the issues are related.

@mikestaub Is it possible to share the OAS (or a portion of it) so I can try to debug?

Yes, here is a simplified example:
swagger: "2.0"
info:
  version: "1.0.0"
  title: Test API

host: localhost:1339
basePath: /

schemes:
  - http
  - https

consumes:
  - application/json
produces:
  - application/json

x-servers:
  - url: //api.test.com
    description: Default server

paths:
  /v1/files:
    post:
      summary: Create a file
      operationId: postFile
      description: Creates a new file
      responses:
        "201":
          description: Success
          schema:
            $ref: "#/definitions/File"

definitions:
  Type:
    enum:
      - TEST_ENUM
    type: string

  File:
    type: object
    properties:
      cadType:
        $ref: "#/definitions/Type"

I working on a fix #277. I have the desired behavior but it is breaking a few other tests which I'm still trying to figure out.


new Golem file for race to be created

Pull request made for new Golem race

This is nearly completed!


Use void in the return type of clients that never finish

The clients don't yet have void or Void as their return type in NodeNetwork because changing that file will probably conflict with #1127. I leave the rest up to you @coot & @karknu.

bors r+

bors r+


Enhancement: optional JSON output

An option to get the sprite information (position, size, filename) in shape of a javascript object/array would be very handy.
Background: I'm using gulp and spritesmith (not gulp.spritesmith) to generate a sprite which I'm not using in a HTML website. Therefore I can't use the generated CSS file. I'm putting together a JSON array that contains all the info needed to use the sprite:
[{
  "fileName": "xyz.png"
 ,"x": 10
 ,"y": 10
 ,"w": 200
 ,"h": 150
},{...}]

Ah sorry, now I feel embarrassed! Moments after I submitted my feature request I found the gulp.spritesmith cssName: "xyz.json" option, which does exactly what I need (JSON output instead of CSS).
Sorry again!

It looks like you actually want the json_array format (array of objects) instead of the json format (object, keyed by sprite name). To opt into that, use the cssFormat option:
cssName: 'xyz.json',
cssFormat: 'json_array'

https://github.com/twolfson/spritesheet-templates/tree/10.1.4#json_array


fuse 3 support

onefile tests fail when libfuse3 is available.  CI appears to test against libfuse2
The error suggests any version is acceptable:

Error, the fuse library (libfuse.so.x) must be installed for onefile to work on Linux

I will improve it, however, libfuse3.so.x doesn't match that name, does it?

This reads now ```
postprocessing_logger.sysexit(
"""
Error, the fuse library (libfuse.so.x from fuse2, not fuse3) must be installed
for onefile creation to work on Linux."""
)


Routing Table Changes

Description
Would it be possible to expose the Routing Table as entities in a way that we could automate changing the Routing Table in the GoXLR Utility?
Example Automation:
When a person (device_tracker.person) enters a zone (zone.home) change routing table from 'Headphones' to 'Line Out'.

Additional information
No response

Thought i'd check back on this. Do you think this feature is something that is able to be done?


[BEAM-2787] Fix MongoDbIO exception when trying to write empty bundle

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

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

A simple fix, notice that I use DoFnTester in tests instead of a pipeline with Create.empty because in the second case the WriteFn is never called.

R: @jbonofre

I'm just waiting to check that Jenkins is happy ;)

Coverage decreased (-0.007%) to 69.683% when pulling fd274bac2386d4af79224c60ee214f3615dd7434 on iemejia:BEAM-2787-mongo-empty into 80c86f81b40e2342bff5bec4a5a1162b5cf67b14 on apache:master.

Coverage decreased (-0.01%) to 69.68% when pulling fd274bac2386d4af79224c60ee214f3615dd7434 on iemejia:BEAM-2787-mongo-empty into 80c86f81b40e2342bff5bec4a5a1162b5cf67b14 on apache:master.


use default channel

Signed-off-by: liuwei<EMAIL_ADDRESS>

/assign @zhiweiyin318

refer to https://github.com/open-cluster-management/backlog/issues/13616

/lgtm


add server echomc

General:

[ ] The pull request title is descriptive. (ex. Added GoldenPvP Network, not Updated metadata.json)
[ ] The pull request does not contain any unrelated commits.  (ex. commits from previous pull requests)

Mapping Additions or Updates:

[ ] Folder with appropriate name has been created / updated (must not include any non-alpha characters or whitespace).
[ ] No changes were made to the file's formatting (4 spaces per tab).
[ ] There are no syntax errors.
[ ] There is no pre-existing mapping matching my id (check if there is an existing folder).
[ ] My field values match your requirements.
You can view our patterns here: metadata.schema.json, or take a look below and complete the field checklist:

[ ] id: a lowercase string, which should match the folder name (ex. goldenpvpnetwork)
[ ] name: a string (ex. GoldenPvP Network)
[ ] description: hook between 16 and 40 characters (ex. We're the home of classic PvP gamemodes)
[ ] addresses: an array with lowercase strings (ex. ["goldenpvp.net", "routing.center"])

You do not need to specify subdomains, CheatBreaker services automatically detect them.

[ ] primaryAddress: the primary address that people connect to with (please include the subdomain if required) (ex. mc.goldenpvp.net)
[ ] minecraftVersions: an array with Minecraft versions as strings (ex. ["1.7.*", "1.8.9"] - Must be versions or subversions supported by CheatBreaker)
[ ] primaryMinecraftVersion: a Minecraft version as a string (ex. 1.7.10 - Must be a subversion supported by CheatBreaker)
[ ] primaryColor: a hexademical color code that primarily distinguishes the server (ex. #00FFFF)
[ ] secondaryColor: a hexademical color code that accompanies the primaryColor of the server (ex. #FF0000)
[ ] primaryRegion: the primary region where your server operates in (ex. EU)
[ ] regions: a list of regions where you have servers located that service your players (ex. ["EU", "NA", "AS"])
[ ] gameTypes: a list of games that describe the content on your server, must be a max of 3 listed (ez. ["PVP", "UHC", "HCF"])
[ ] (optional) website: url of server website, must include URL schema (http:// or https://) (ex. https://www.goldenpvp.net)
[ ] (optional) store: url of server store, must include URL schema (http:// or https://) (ex. https://store.goldenpvp.net)

Socials

[ ] (optional) twitter: username of twitter account without the @ (ex. GoldenPvPNet)
[ ] (optional) discord: invite link to discord (ex. https://discord.com/invite/3EAzBxf)
[ ] (optional) youtube: slug or username of youtube channel (ex. GoldenPvP)
[ ] (optional) instagram: username of instagram account (ex. GoldenPvPNet)
[ ] (optional) twitch: username of twitch account (ex. GoldenPvPNet)
[ ] (optional) telegram: slug of telegram group (ex. GoldenPvP-Network)
[ ] (optional) reddit: slug of subdreddit wtih 'r/' (ex. GoldenPvP)
[ ] (optional) tiktok: username of tiktok account (ex. GoldenPvP)
[ ] (optional) facebook: slug of facebook page (ex. GoldenPvP)

Media:
Icon

[ ] My icon is a png file.
[ ] I have uploaded my icon to my server folder (ex. goldenpvpnetwork) and named it icon.png.
[ ] My icon has a transparent background and is square (1:1 aspect ratio).
[ ] My icon is 64 pixels in width and height.
[ ] My icon is my own property and complies with relevant copyright/privacy laws.

Logo

[ ] My logo is a png file.
[ ] I have uploaded my logo to my server folder (ex. goldenpvpnetwork) and named it logo.png.
[ ] My logo has a transparent background and is square (1:1 aspect ratio).
[ ] My logo is 108 pixels in width and height.
[ ] My logo is my own property and complies with relevant copyright/privacy laws.

Discord Logo

[ ] My logo is a png file.
[ ] I have uploaded my logo to my server folder (ex. goldenpvpnetwork) and named it discord.png.
[ ] My logo has a transparent background and is square (1:1 aspect ratio).
[ ] My logo is between 512 and 1024 pixels in width and height.
[ ] My logo is my own property and complies with relevant copyright/privacy laws.

Primary Background (Only required for partnered servers)

[ ] My primary background is a png file.
[ ] I have uploaded my primary background to my server folder (ex. goldenpvpnetwork) and named it primarybackground.png.
[ ] My primary background is 774 pixels in width and 363 pixels in height.
[ ] My primary background contains relevant content pertaining to the server, is my own property, and complies with relevant copyright/privacy laws.
[ ] My primary background doesn't contain any markings, text, or logos (unless part of a build).

Secondary Background (Only required for partnered servers)

[ ] My secondary background is a png file.
[ ] I have uploaded my secondary background to my server folder (ex. goldenpvpnetwork) and named it secondarybackground.png.
[ ] My secondary background is 447 pixels in width and 172 pixels in height.
[ ] My secondary background contains relevant content pertaining to the server, is my own property, and complies with relevant copyright/privacy laws.
[ ] My secondary background doesn't contain any markings, text, or logos (unless part of a build).

Please go over your PR and check all the relevant boxes above.
This should’ve been done before you submitted the PR.

i checked all the squares

i checked all the squares

You checked boxes related to server backgrounds while not providing any, please uncheck those.

There's a saying "Don't say that you did something, prove or show it." Make sure that you follow that. We can't accept your request until you properly prove that you did.

I solved all the problems, and the site is working but needs www on it, sorry my fault

Looks like GitHub actions decided to bug out again
So going to wait until it starts working again before merging


Can't run the test code

when I finished BEGAN training with my own dataset, I get the following error when I run the test code as  follows: python main.py --dataset=my_dataset --load_path=my_dataset_0824_004250 --use_gpu=True --is_train=False --split valid
the error is :
ValueError: Cannot feed value of shape (32, 64) for Tensor 'random_uniform:0', which has shape '(64, 64)'
so anyone meets the same error? how to use BEGAN to generate fake images?

hey, I have the exact same issue!

I have the same error as well. Any solutions?

I have the same error as well. Any solutions? @carpedm20


run multiple sensors on same platform

Expected Behavior
Support multiple sensors on the same installed code base?  I think we support running two now but they don't know what each other is doing.  I will have to test and see but I am 95% that's the case.
Actual Behavior
I was thinking of building a POC were the camera sees you but then a lidar or btle detection would do a secondary action.  So presence sensor then we use the queue like a BUS and the second sensor module would know to kick in and give us more data.
I am not talking about decorating the event.  I just want to trigger the second sensor without a round trip for faster response time.
I know we could do the same thing with two installs and MQTT or Socket messages by just listening to messages and reacting.
Environment details (OS, Python/package versions, any other hardware)

standard

Steps to reproduce

none

Are you talking about passing messages between Collection Point modules by adding them to the main queue? We could add more fields to the message structure to do that. And while were at it, we could make the message structure into a class and document it.

if we pass the main outbound queue to each collection point module that is loaded.  That would give them the option to do a non-destructive read on it and watch messages as they go by.
Yes, to the message structure being more formal and documented.
I would love to do an base class for the collection points too.  Give them a nice easy formal starting point.


Redirect log output for commands other than "server"

Is there any way to redirect all log output to stdout instead of a configured file appender if I start any other command than server e.g. when running check?
I saw the option to override config.yml settings by passing system properties.
Changing a single appender works with something like this:
-Ddw.logging.appenders[0].type=console -Ddw.logging.appenders[0].logFormat="%msg%n"
But this only changes the first appender in the array. How would it look like if you want to replace the whole appenders array with a single appender? How can I remove any other appender?
Else I thought maybe a FilterFactory would help, but it does not work with other commands than server.
The only other way I see here is to have a different config.yml for my CLI commands - but I'd really like to use the same file.
Am I missing something? Or is this a missing feature?

Hi @JamesBoon. The config overrides only accept simple string values and arrays of strings. Hence, they cannot be used to override the whole appenders object.
The filter factories also work for other commands since they reside in dropwizard-logging and don't depend on any logic related to the server command. The docs only provide an example for a FilterFactory<IAccessEvent> that is indeed only related to request logging within the server command. To obtain a filter factory for a "normal" appender rather than a request log appender, you'll need to provide a FilterFactory<ILoggingEvent>.
I think the simplest solution for your use case is to use environment variables for the logging levels of the appenders. Then you can provide an environment variable with the value OFF to disable logging for the other appenders.

Thank you @zUniQueX, that was the hint I needed!
If anyone else needs it:
appenders:
  - type: console
    threshold: ${DW_LOG_THRESHOLD_CONSOLE:-OFF}
    # ...
  - type: file
    threshold: ${DW_LOG_THRESHOLD_FILE:-INFO}
    # ...

This way, the console logger is OFF by default, but can be switched on by setting the environment variable DW_LOG_THRESHOLD_CONSOLE to any log level like e.g. INFO.
The file logger is on by default and can be switched off by setting DW_LOG_THRESHOLD_FILE=OFF.
Just before anybody asks, yes the same thing can be achieved via passing system properties. But this should only be used if the number and order of the log appenders is always fixed!
-Ddw.logging.appenders[0].threshold=INFO -Ddw.logging.appenders[1].threshold=OFF


withClock and friends doesn't apply to child modules correctly

In a module I essentially have the following
withClockAndReset(clock = newClock, reset = newReset) {
  val mod = Module(new ModuleOfSomeVariety)
  ...
}

and the module doesn't get newClock or newReset. According to @ducky64, setupInParent gets the parents clock whereas withClockAndReset only modifies the Builder's clock.

How embarrassing. I've PRed a fix

Hm I think this is sort of what I was trying to get at a couple of nights ago. It only worked w/ registers. Either way, I find this to be a little confusing...

@shunshou Yeah I definitely misunderstood you. What do you find confusing about the actual intended behavior?
val inst = Module(new MyModule)
inst.clock := someClock
inst.reset := someReset
// is replaced by
val inst = withClockAndRest(someClock, someReset) { Module(new MyModule) }

Thanks so much @jackkoenig, you da real mvp

Like idk... to some extent, I think if you're overriding module clocks, doing the override_clock thing seems more explicit. Vs. if you wanted to override clks of individual registers, you'd consider using withClockAndReset. As you said, similar functionality, different implementation... but it'd be nice to make it clear exactly what the difference in implementation is.


Tombstone implementation without touching the datastoreContext class

The first run implemented tombstoning by putting a tombstone flag in the DatastoreContext class. https://github.com/microsoft/FluidFramework/pull/12259
This Implements tombstoning by effectively deleting the tombstoned datastore from the runtime and noting it in the DatastoreContexts object.
AB#2128

Mark datastores as tombstone when the GC algorithm detects they are sweep ready.

Future work:

Mark datastores as tombstone during load when they are tombstoned in the summary.

Note:

It was determined we would need to do the work to put the tombstone flag in the DataStoreContext class was required anyway.

Closing as we implemented https://github.com/microsoft/FluidFramework/pull/12259 instead because work was needed to store a flag on the datastore to prevent it from sending/receiving ops


Generic type alias access level regression

I noticed this while working on better checking of @usableForInline access control.
If a property had an inferred type that is a generic type alias, we weren't checking the access level of the generic arguments.
This used to work in 4.1 because we didn't have a sugared representation for generic type aliases, so we were checking the substituted underlying type here. But now that NameAliasType can store generic arguments, make sure we visit them here.
Fixes rdar://problem/40188409.

@swift-ci Please smoke test

@swift-ci Please test source compatibility

@DougGregor assuming the tests pass are you OK with taking this into swift-4.2-branch and swift-4.2-branch-04-30-2018?

@swift-ci Please smoke test Linux

The Linux failure was unrelated, see https://github.com/apple/swift/pull/16575. I’m kicking off another run of the tests.


numpycode

added python code for using numPy.

Thank you for your PR!
Unfortunately I can't merge whole projects :/
Solutions need to be submitted in one script file only
Thanks anyway! :)


Google search option

The problem
Issue #1391 describes a desire to always have a google search option in the search autocomplete menu, not just when there are no results.
Solution provided
In the _renderMenu function of search_template.js, a new menu item is added after all other items are sorted. It uses a new category of "Site Search", and contains a link to a google search for the current keywords. See screenshot.

If the wording of the category and menu item is deemed appropriate, we might consider changing the no-results text from "try web search" to "try site search" to be consistent.
I did not see any existing tests for the search autocomplete menu, so there are no tests to accompany this change.

👍 Thanks!

If the wording of the category and menu item is deemed appropriate, we might consider changing the no-results text from "try web search" to "try site search" to be consistent.

I sent you an invite to perl6 GitHub org. You can accept it here https://github.com/perl6/ and commit any further changes you wanted to make directly.

Thanks. I did change the no-results text to "try site search". I'll close #1391 as well.


Problems with Centos 6.6 Install

I am trying to install DeepDive on a Centos 6.6 CLOSED system (i.e. no Internet).  I've pulled the deepdive-master.zip file over and tried to build it, but I keep getting an error that there is no git available.  I suspect I'm going to have to build it on an open system and pull the binary over, but I was wondering if anyone has successfully built DeepDive like this.
Thanks, Blair Morton

@dBlairMorton yes, the build process does require internet access as it fetches code and dependencies. Building on an open system and then copying the binaries should work.

DO NOT download zip file. Use git clone instead!


Added the solutions to Session 6

Just realized I never actually shared the solution. Here it is.
Regex are a weird beast so let me know if one of them is unclear.

Thanks Charles! Indeed, it is annoying to deal with regex, but the regex101 website helps a lot.


Unable to detect build errors Using build definition

I Have created a build definition for ASP.net core 2.2 application on .sln file,
i intensionally commited wrong code which i will get build error in visual studio 2017, but when build definition is run build task it is not showing any error and build is also passing ....please help me

It looks like you're in need of tech support, not reporting an issue with the agent. Please see our support resources, up to and including opening a ticket. Thanks.


store creds securely

use keyring to store credentials in Windows credentials manager

include FTP creds later

Platform and Google Drive creds moved


Refactor/add input base component

This PR creates a new basic input InputBase in order to share a part of the code and to be able to use it with other components like here the TextField or the future Select.

Codecov Report

Merging #318 (62db45c) into main (f61daa7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #318   +/-   ##
=======================================
  Coverage   97.93%   97.93%
=======================================
  Files          60       60
  Lines         631      631
  Branches      101      101
=======================================
  Hits          618      618
  Misses         12       12
  Partials        1        1

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

:tada: This PR is included in version 1.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update article-metadata.md

Making tags bold for consistency

Hi @deneha2, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;


Update consul version and deploy in prod mode.

Update consul version and deploy in prod mode.
Fixes #1.  (originally https://github.com/edgexfoundry/edgex-go/issues/1935)
Fixes #15. (Consul version bump)
Bump the consul version to the latest
and override the CMD argument so that it deploys
in production mode--the default for Consul
is to deploy in -dev mode.  In -dev mode,
consul forgets it state between runs.
Signed-off-by: Bryon Nevis<EMAIL_ADDRESS>

@lranjbar docker-edgex-consul-verify-pipeline still exists on new PR.

It is not required you will be able to merge this PR with an approving review.


Any options available for CPU offload for less VRAM?

Using the default settings in the gradio app took 25 minutes on a 24 GB VRAM 4090 to create a movie.
24 GB was maxed out.  Are there any cpu offload or other options available to reduce VRAM and speed up generation time?
"shrek eating pizza" using default settings
https://github.com/user-attachments/assets/064ef30e-31b6-4c7c-93b2-791e097bd0c6

Thank you for your attention! Please modify the following two lines to enable cpu offloading: https://github.com/jy0205/Pyramid-Flow/blob/6eca678a40acac4c37e777ef9fd13a703850116a/app.py#L99 and https://github.com/jy0205/Pyramid-Flow/blob/6eca678a40acac4c37e777ef9fd13a703850116a/app.py#L121
On an 80GB VRAM A100, it takes approximately 6 minutes to generate a 5-second, 24 FPS, 768p video sample (with CPU offloading enabled). You might also consider reducing the sampling steps to save time by changing video_num_inference_steps to [8, 8, 8] (may affect the quality of the generated video)

Closed since CPU offloading is supported. More CPU offloading features are on the way.


Testing pydantic v1.10.0a2

I will test This too on Ormdantic while its supports Pydantic a lot
cc @samuelcolvin

You need to allow newer typing-extenions. I'll add this to https://github.com/pydantic/pydantic/discussions/4359.

You need to allow newer typing-extenions. I'll add this to pydantic/pydantic#4359.

Done 🕺🏻


Allow update of all promotion fields except ID

As a developer of the promotions team
I want to improve allow users to update the data of the promotions except for the promotion_id
Details and Assumptions
A promotion is found
A promotion has data
Acceptance Criteria
Given someone wants update a promotions details
When someone calls the update API they can update all data but they are not allowed to update the ID
Then all data can be updated except for the ID

the requirement is already met


Remove dark theme customisation?

I was surprised by the default display of the site:

But I think this is because you have:
/* dark theme */
@media (prefers-color-scheme: dark) {
  body {
    background-color: darkslategray;
    filter: invert(1);
  }
  img { filter: invert(1); }
  .article-list { box-shadow: 0 0 8px #333; }
}

I think the site is much more aesthetically pleasing if you don't invert all the colours.

The README says this is work-in-progress. I'm not ready for feedback yet. The colors are kind of arbitrarily chosen. Thanks!

Hi @yihui,
I'm playing with this today, and finding it really tricky to use/customize with the this inversion (even if the colors were changed). I think you could disable altogether (I did this on my personal site), as doing any kind of browser accessibility checks may be an endless vortex very time-consuming, as you'd have to ensure that both light and dark schemes meet minimum accessibility requirements.
If you want to keep, I do like having actual control over this setting within the browser window itself, as the academic theme does with the button in the top navbar:
https://academic-demo.netlify.app/
Without icons like feather or fontawesome (which I think eventually we'll need to make the theme more usable for people and teams, because folks need to link out to all the various things like GitHub, Twitter, Instagram, ImpactStory, ORCID, Patreon, Twitch, etc.), I can imagine you could do a CSS version of this kind of thing:

But I don't believe I've stumbled upon a site that uses this CSS trick, so it makes it surprisingly hard to work with. Also, as I am imagining teaching, it would be a nightmare to have screenshots, and to have different people sitting next to each other seeing drastically different websites locally, based on a setting they probably don't even realize they have on their own workstation.
At the least, I think we should move that bit of CSS to a partial layout file so you can turn it on/off with a setting in the configuration file. There may be a better way that I'm not familiar with too, but the main idea being that we make it a very clear "knob" in the main config file. I can offer a PR to do this, but wanted to open up the discussion first.

@apreshill Rest assured that the dark mode will be both improved and configurable eventually. The simple inverse trick was there only as a proof of concept in the four-day old project, and definitely not meant to be delivered in the final product. Sorry I should have clarified that earlier, so you wouldn't need to spend the time trying to convince me. Thank you!

Ah hooray! Sorry for the pedantic issue then 😉

Just wanted to share a few themes I found yesterday that do this:
https://themes.gohugo.io/theme/anatole/ (top right)
https://themes.gohugo.io/theme/hugo-coder/ (bottom right)
https://cupper-hugo-theme.netlify.app/ (scroll down)


Gas optimizations

Issue ID
DV-5
Risk level
Severity: Low, Likelihood: High
Description
In DelayVault.sol file, it can be optimized by using a mapping for the _token and msg.sender for easier check of existence
delayLimit.Amounts.length could be replaced by using a parameter for the length to avoid re-reading length in every iteration.

We can add a new boolean struct field to Vault and use it for optimization: https://github.com/The-Poolz/DelayVault/pull/96
If we set Amount/StartDelay/CliffDelay/FinishDelay > 0, after removing and re-locking tokens, a duplicate will appear in the Users[_token] array.
I like the solution we already have, but it's not a very big change.

I think we can close it, @ashwinarora what do you think?

delayLimit.Amounts.length is now stored in a local variable. The existence of an array element is now checked using the helper function addIfNotExsist.
closed #92 and #94


Mimetype for DwC-A

Hi!
Is there an official mimetype for Darwin Core archives?
Something like "application/dwca" ?
Would be great to have a way to describe the format similar to a https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types way.
Curious to hear your thoughts...

I like the (not always used) convention of adding +zip to the end of archive file types that are zipped, but that isn't strictly necessary.  application/dwca and application/dwca+zip both work for me

I am not aware of anyone using a dwca specific mime type. As the archive can be bundled in various ways this would need to be reflected. DwC-A alone does not specify how to bundle or compress it (I think we miss that part and it should better also be part of the specs). We see people using zip and gzip in GBIF, I am not aware of any other.

A dwca MimeType is used in the OAI-PMH response:
http://api.gbif.org/v1/oai-pmh/registry?verb=ListRecords&metadataPrefix=oai_dc&set=Country:TG
"<dc:format>application/dwca+zip</dc:format>"
If I remember correctly, dc:format is mandatory and we wanted to be more precise than simply zip. So we decided to exposed that mime type. I'm not saying it's the right thing to do considering, like @mdoering mentioned, there is no explicit definition on how to bundle a DwC-A. Is it good enough? I don't know but it might be for most of the use cases.

interesting, perhaps we can do multiple types to reflect packaging:
application/dwca (packaging unspecified, so consumers will have to guess)
application/dwca+zip (zip)
application/dwca+tgz (tar balls)
sounds a bit overly complex.  Thoughts?

Feels weird to me to mix up the compression with the included data. Is that common practice for jpegs or other files? If we want a mime type I feel the best would be to use application/dwca and mandate that its zipped in the specs. That would ease a consumers life too

@ansell @mdoering @cgendreau  sounds like we have consensus on using application/dcwa as "the" mimetype for DwC-A with an option of using +zip suffix . I think this would reflect common usage.
Please confirm and we can move forward to document and register the mimetype.

The use of +zip as a suffix isn't universal for zipped formats. For example the .docx/.xlsx/etc. Microsoft Office OOXML formats are all PKZIP compressed, but they don't contain +zip in their content types: https://docs.microsoft.com/en-us/previous-versions/office/office-2007-resource-kit/ee309278(v=office.12). The same applies to the Oasis OpenDocument .odt/.ods/etc. formats https://www.openoffice.org/framework/documentation/mimetypes/mimetypes.html Those that do are relatively rare in comparison.
However, if there is a precedent with the GBIF OAI-PMH metadata previously using application/dwca+zip I would tend to recommend that rather than application/dwca if the vast majority of archives are PKZIP compreassed. Anecdotally, all of the ones I have dealt with and created at ALA use PKZIP.
Whether application/dwca or application/dwca+zip is chosen, mandating one compression format in the specifications for future implementors would be useful (similar to OOXML/OpenDocument). Lenient software could use magic numbers or file extensions to detect legacy archives created using GZIP (.gz) rather than PKZIP (.zip) in either case to load them correctly.

I agree with @ansell and we should pick just one mime type. Some discussion about adding +zip or +xml to a mime type suffix thats interesting: https://www.ietf.org/mail-archive/web/ietf-types/current/msg00998.html
Sounds to me dwca+zip makes most sense in that light.
But isn't it really difficult to register a new mime type with IANA? Maybe the vendor specific or unregistered tree is a more realistic option?
https://en.wikipedia.org/wiki/Media_type#Registration_trees

I agree that, based on that email thread, I think the answer to the following question is yes for DwC-A:

Is being able to perform generic processing of
formats packaged using ZIP useful even when you cannot process the specific
type? If the answer is yes, then +zip makes sense, if not, then it doesn't.

I am trying to clean up aging issues. Is there someone who can take this one to completion?

@tucotuco thanks for keeping an eye out for stale issue.
What I took from this discussion is that folks already use dwca mimetypes like application/dwca and application/dwca+zip, but formally registering the type with IANA is a lot of work.
Suggest to close issue.

@jhpoelen Agree. Closing.


OS-X builds

again...
refs: https://github.com/GoogleCloudPlatform/DataflowJavaSDK/commit/242b4c3025b74090e574087d54a2ae46d091e9b7

Coverage increased (+0.17%) to 82.55% when pulling 955a33b55668bd35a07271bac2e0c0542ddc4cb9 on os-x_builds into b215cd6f3a51b54cacc20d4404ce14942c9207f6 on master.

Coverage increased (+0.17%) to 82.55% when pulling 955a33b55668bd35a07271bac2e0c0542ddc4cb9 on os-x_builds into b215cd6f3a51b54cacc20d4404ce14942c9207f6 on master.


Answer for 776

Do you have the answer?

Yes: 9.627509725002e33
Sorry, forgot to add the answer!

Thanks, added


https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoices$compare?locale=en-US&to=1542729&from=1499091

What is all this about? Can someone please give a good explanation??
Thank you in advance!! ⚖➰⚡
// Ambjoern
Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[x] New documentation
[ ] Correction or update

Details

#1000
Not a mistake as it was before so it’s not a “close” please....

@ESA-Security-Group I am not really sure what you are commenting on here — the layout of the history is not very good on mobile; is that what you are referring to?
The actual change highlighted in the diff looks OK to me?


Fix miscellaneous (name + links)

@naomijub perhaps also elevate me to reviewer? Especially for these trivial things, just to quickly resolve.

Nevermind, apparently I can. I'm just not used to this UI.

Thanks!


Join object and block storage under ems_storage in the features tree

There are three feature subtrees for storage providers:

ems_storage
ems_object_storage
ems_block_storage

When displaying a list of storage manager, the system is using the ems_{block,object}_storage route and I'm assuming also the feature with the same name from the RBAC tree. However, when opening a provider's summary screen, the route changes to ems_storage. This, together with the lack of separate object/block storage provider model classes is causing a lot of struggle with decorators/quadicons.
To solve this problem, we had this idea with @PanSpagetka to join the two specific features under the generic one. This would solve us the problem of sub-features when deciding if we want to expose the quadicon settings to a given user for the storage providers.
I was clicking in the UI a little and it seems working, also tested our case by creating a user with access only to ems_object_storage_view:
Rbac.role_allows?(:user => u, :feature => :ems_storage, :any => true) # => true
Rbac.role_allows?(:user => u, :feature => :ems_block_storage, :any => true) # => true
Rbac.role_allows?(:user => u, :feature => :ems_block_storage_view, :any => true) # => true
Rbac.role_allows?(:user => u, :feature => :ems_object_storage, :any => true) # => false
Rbac.role_allows?(:user => u, :feature => :ems_object_storage_view, :any => true) # => false

However, I think this is too good to be true and I am afraid I don't see the whole picture and/or I'm breaking something :confused:

@miq-bot add_reviewer @lpichler


round on date-having types should support month and year rounding

round() with smallestUnit: 'month' and smallestUnit: 'year' should be allowed on PlainDate, PlainDateTime, and ZonedDateTime. In V1, PlainDate lacks a round method, and PlainDateTime and ZonedDateTime are both limited to smallestUnit: 'day' or smaller.
Rounding up would advance to the first day of the next month or year, respectively. (Not the last day of the month or year.)
roundingIncrement would be limited to 1 or undefined, because the number of months in a year can vary in lunisolar calendars like Hebrew or Chinese that have 12 months in non-leap years but 13 months in leap years.
Advantages:

Better consistency across Temporal types
Easier support for use cases like 'closest start of year'

/** Are we halfway done with the year yet? */
function isHalfwayDoneWithYear(date) {
  return date.round({ smallestUnit: 'year' }).year === date.year;
}
// current workaround
function isHalfwayDoneWithYear(date) {
  const daysSoFar = date.since(date.with({month: 1, day: 1}));
  return daysSoFar >= date.daysInYear / 2;
}

Avoids bugs in non-ISO calendars, e.g.

// proposed
date = date.round({smallestUnit: 'month', roundingMode: 'ceil'});
// current, which breaks in the chinese or hebrew calendar where years can have 12 or 13 months
if (date.day > 1) {
  date = date.month === 12 ? date.with({ year: date.year + 1, month: 1 }) : date.with({ month: date.month + 1 });
}
// BTW, here's a less obvious alternative to buggy code above
if (date.day > 1) date = date.add({month: 1}).with({day: 1})

Concerns:

Workaround is pretty easy today, so not sure this change is necessarily needed. Workaround is:

function roundToMonthsOrYears(temporalInstance, roundOptions) {
  const baseValues = {
    year: temporalInstance.year, month: 1, monthCode: 'M01', day: 1,
    hour: 0, minute: 0, second: 0, millisecond: 0, microsecond: 0, nanosecond: 0
  };
  const base = temporalInstance.with(baseValues)
  const duration = base.until(temporalInstance, roundOptions);
  return base.add(duration);
}
roundToMonthsOrYears(Temporal.PlainDate.from('2021-02-15'), { smallestUnit: 'month', roundingMode: 'trunc' });
// => 2021-02-01
roundToMonthsOrYears(Temporal.PlainDate.from('2021-02-15'), { smallestUnit: 'month', roundingMode: 'ceil' });
// => 2021-03-01
roundToMonthsOrYears(Temporal.PlainDate.from('2021-02-15'), { smallestUnit: 'month', roundingMode: 'halfExpand' });
// => 2021-03-01
roundToMonthsOrYears(Temporal.PlainDate.from('2021-02-14'), { smallestUnit: 'month', roundingMode: 'halfExpand' });
// => 2021-02-01

Prior art:
Year and month rounding already exists on until and since and Duration.prototype.round, just not on the round methods of PlainDate, PlainDateTime, ZonedDateTime.
See https://github.com/tc39/proposal-temporal/issues/1785 for previous discussion.
Constraints / corner cases:
None that I know of, but I can add if they're raised in comments.

I would love to have support for week as well.
e.g. I would like to do .round({ smallestUnit: 'week', roundingMode: 'trunc' }) to get the start of the week of a ZonedDateTime


Fix ReJSON visualization / editing

at the moment is only possible to see rejson data as a string, using default string visualization template is much better because json can be seen as a tree and there is also the form ready for editing the data.
editReJSONData method was not present and failing so I added it.
At the moment the visualization is switched to use selectTreeNodeString for better visualization, or it is possible to duplicate selectTreeNodeString and the template into selectTreeNodeReJSON

found time to merge and updated it a bit to use its own template again and make json validation mandatory as well as allow copy of json value in all states.
Thanks


Update to changes to construct_ssa

This is an update to make things work after https://github.com/JuliaLang/julia/pull/50943
Right now however it seems to makes tests hang

@topolarity any ideas why this would make it hang?
Seen both locally and in CI

Not sure, but here's a reduced MWE at least:
using Diffractor

function times_three_while(x)
    z = x
    i = 3
    while i > 1
        z += x
        i -= 1
    end
    z
end

let var"'" = Diffractor.PrimeDerivativeBack
    println(times_three_while'(1.0) == 3.0)
end

The IR that Diffractor generates is identical on latest Julia versus 2cee483bce (ir.txt), but inference appears to get stuck in a loop doing semi-concrete eval of > and -:
semi-concrete eval: (::Diffractor.∂⃖{1})(typeof(Base.:(-)), Int64, Int64) from (::Diffractor.∂⃖{N})(T, Any...) where {T, N}
semi-concrete eval: (::Diffractor.∂⃖{1})(typeof(Base.:(>)), Int64, Int64) from (::Diffractor.∂⃖{N})(T, Any...) where {T, N}
semi-concrete eval: (::Diffractor.∂⃖{1})(typeof(Base.:(-)), Int64, Int64) from (::Diffractor.∂⃖{N})(T, Any...) where {T, N}
semi-concrete eval: (::Diffractor.∂⃖{1})(typeof(Base.:(>)), Int64, Int64) from (::Diffractor.∂⃖{N})(T, Any...) where {T, N}
... (repeats infinitely)

I guess since the IR is identical, we could consider merging this.

Going to merge as the 1.10 CI passes.


observability metrics

The block observability model seems adequate.

However, for transactions, I think we'll need an external source because the block log doesn't provide the number of transactions per block. If im correct transactions aren't limited to just swaps; they can represent any type of event. Therefore, we should group all events by the block timestamp and compare that to the number of transactions within each block.

If that's not feasible, we may have to limit our assurance to the block itself.


[SPARK-17371] Resubmitted shuffle outputs can get deleted by zombie map tasks

What changes were proposed in this pull request?
It seems that old shuffle map tasks hanging around after a stage resubmit will delete intended shuffle output files on stop(), causing downstream stages to fail even after successful resubmit completion. This can happen easily if the prior map task is waiting for a network timeout when its stage is resubmitted.
This can cause unnecessary stage resubmits, sometimes multiple times, and very confusing FetchFailure messages that report shuffle index files missing from the local disk.
Given that IndexShuffleBlockResolver commits data atomically, it seems unnecessary to ever delete committed task output: even in the rare case that a task is failed after it finishes committing shuffle output, it should be safe to retain that output.
How was this patch tested?
Prior to the fix proposed in https://github.com/apache/spark/pull/14931, I was able to reproduce this behavior by killing slaves in the middle of a large shuffle. After this patch, stages were no longer resubmitted multiple times due to shuffle index loss.
cc @JoshRosen @vanzin

Test build #64824 has started for PR 14932 at commit 350d3be.

Test build #64824 has finished for PR 14932 at commit 350d3be.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64824/
Test PASSed.

Context for other reviewers:
As of #9610 (Spark 1.5.3+), map tasks write their output to temporary files and then atomically rename those files to put them at the final destination path. The IndexShuffleBlockResolver.removeDataByMap() call deletes the final map output files, not the temporary files. Therefore if a map task fails before these files are written then it does not need to call this cleanup method.
Output files are renamed to their final locations via the IndexShuffleBlockResolver.writeIndexFileAndCommit() method which is called at the end of the shuffle write. If we assume that this method is atomic in case of failures (e.g. it doesn't leave any state around after failing) and also assume that no steps after writeIndexFileAndCommit() will fail then it should be fine to omit these removeDataByMap calls in the error-handling cases.
Looking at writeIndexFileAndCommit, I think I spot a rare corner-case where it might behave non-atomically:
else {
        // This is the first successful attempt in writing the map outputs for this task,
        // so override any existing index and data files with the ones we wrote.
        if (indexFile.exists()) {
          indexFile.delete()
        }
        if (dataFile.exists()) {
          dataFile.delete()
        }
        if (!indexTmp.renameTo(indexFile)) {
          throw new IOException("fail to rename file " + indexTmp + " to " + indexFile)
        }
        if (dataTmp != null && dataTmp.exists() && !dataTmp.renameTo(dataFile)) {
          throw new IOException("fail to rename file " + dataTmp + " to " + dataFile)
        }
      }

I suppose it's possible that the index rename could succeed while the data file rename could fail. In this case we should probably handle cleanup of the data temp file.
Similarly, the existing code won't necessarily clean up indexTmp or dataTmp in error-conditions.
I don't think that either of these are huge issues in practice, but they might be worth fixing as long as we're removing an additional layer of error-handling defense as part of this PR.

@ericl and I discussed this and decided to address the file cleanup issues that I mentioned above in a separate PR: the issues that I outlined above can generally only occur in cases where we've already run out of disk space and the pre-existing leak issues with the greatest potential to leak disk space are unaffected by this patch's changes (e.g. not made any worse).
I'm going to merge this to master for now and will submit my own followup patch to address the temp file cleanup issues.


Turkish charaters are garbled (Your solutions not worked)

Turkish charaters are garbled.
I said before and i used your solutions but not worked.
please fix that
Here is the screenshot abouth problem.
Left Up (RedExpert)-Right Up (Database Workbench 5)
https://drive.google.com/file/d/1Kwt0TiwDSl0YCG4oWh850193MXVtSPef/view?usp=sharing
System information: Windows 10 v<IP_ADDRESS>001051908
Connection specification:Firebird v3.04

I'm no sure what exactly solution do you mean.
Anyhow - did you try to set another connection encoding (it is UTF-8 by default)?
Here is a list of supported encodings: http://www.destructor.de/firebird/charsets.htm

Hi,
Finally i fixed.
i changed encoding to "WIN1254" and it worked.
Thankyou.


Increase code coverage in botbuilder library - BotFrameworkAdapter class

Addresses #2432
Description
This PR adds unit tests for the BotFrameworkAdapter class increasing the code coverage from 77.43% to 91.59%.
Specific Changes

Updated botFrameworkAdapter.test.js file with tests for the following methods:

constructor
deleteConversationMember
getActivityMembers
getConversationMembers
signOutUser
getAadTokens
getSignInResource
exchangeToken
getTokenStatus
getConversations
processActivityDirect

Testing
The next images show some of the new tests passing.

Please rebase against master. (sorry, it looks like you've done this a couple times already... let me know when this is rebased and we will merge it before something else goes into master)

@EricDahlvang we just rebased it against master, so it's ready! Thanks!

@denscollo merged, ty!


Meta: Warnings

The statistics of tasks shown in the console is already an awesome tool to help understand what you tasks are doing. With the info shown, it's possible to diagnose when some tasks are exhibiting a bad behavior. However, knowing what to look for is a skill in itself. Since we (the maintainers) already know some things to look for, we can codify them into warnings that the Console explicitly points out.
This proposes adding a "warnings" system that:

Builds a framework of defining warnings, in spirit to the way rustc defines compiler lints.
When a warning is detected on a task, a symbol will appear in the new "warnings" column for the task's row.
When viewing the details of that task, a list of the warnings detected and words explaining them will be shown.
Perhaps an additional view of "only warnings" found by the Console.

(Should these be "lints" instead of "warnings", since they may have different "levels"? For instance, some might be serious no matter what, while others may just be hints.)
Here's some examples of warnings that we can show with a smaller amount of effort. It would also be wonderful to eventually include more complex ones, like deadlock detection, but that will require better instrumented resources (see #39) and more developer time.
Poll time over some maximum
If the time to poll a task is over some max (10us?), flag task with a warning. The task is either hitting some blocking code (even if sporadically), or is otherwise doing too much per poll.
This maximum should probably be configurable as a CLI arg to the console.
(This is only reliable if the app is compiled in --release mode. It'd help if the subscriber could somehow detect if it's been compiled with optimizations...)
Lost Waker
If after a poll, the waker count is 0, and a wake isn't scheduled, then the task exhibits a "lost waker" problem.
It could be that the task is "part of" a bigger one, thanks to select or join, and thus masking the issue, but it's still worth showing the warning label.
Wake-to-Poll time over some maximum
This might be useful to diagnose the system in general. For instance, assuming the "poll time maximum" warning isn't being triggered, it could show a system that has too many tasks and is starting to degrade in performance.
Task Panicked
A task panicking is always exceptional, and should show a warning.

Yeah, this is a great idea. It would be nice to have some fairly modular way of defining warnings, similar to clippy --- obviously the actual detection of warning conditions is generally complex enough that adding a warning will generally require a non-trivial amount of code, but it would be cool to be able to have stuff like toggling on and off specific warnings etc  be taken care of out of the box when adding new ones.
For starters though we should probably just write some purely by hand to figure out what they end up looking like...

So I originally assumed that lints/warnings would be entirely in the console (nothing in the subscriber). The reasons were:

I didn't want to do too much computing in-process of the monitored application, so having that run in the console seemed better.
It seemed like one might want to modify some lint configuration when attaching a console (or web view or whatever). Maybe when you first connect, you realize the poll-time-max warning is too aggressive, so you want to restart the console with a higher maximum.

However, I'm now leaning the other way, that it should happen in the subscriber, and the warnings should just be emitted in protobuf and simply shown in the console. This fits more with the console only showing info, not processing and inventing new info. It also means that the code to determine if tasks are triggering warnings doesn't need to be duplicated in different viewing application (like a web view).

Now I'm starting to lean back the other way, that the warnings code should be entirely in the console, and not in the subscriber. That'd reduce the amount of work the instrumentation library is causing to the user's process. It also happens to be simpler to to do, since we don't need code in both the subscriber and console to handle them, and a new way to send them over the connection.

FWIW, I'm personally strongly in favor of doing this work in the UI application. Eventually, if we want to have multiple UIs, I expect we would factor out the core data model part of the console TUI into a crate that could be a dependency of the console TUI, a GUI app, web UI, etc. The code for detecting and generating warnings could be in that crate so that it doesn't have to be reimplemented.

Initial framework for warnings added to the console crate in #113 and #123. Right now, we can associate warnings with tasks and display them!
However, we only have a single warning that we detect: self-wake percentages over 50%. We should now be able to start designing and implementing additional warnings.

Some additional things that would be nice to add:

some kind of short identifier for warnings (either a short string name like "poll_time_percent"  and/or a number like [W0001])
users can turn on or off a list of warnings with a CLI arg (using short identifiers)
some warnings (like the self-wake percent warning) could have configurable thresholds (the percentage of self-wakes). we could consider providing a way to configure this as well...