[bug] usleep function (with hooks) - unexpected behaviour (without actually delay)

What did you do? If possible, provide a simple script for reproducing the error.

Swoole\Runtime::enableCoroutine(true);
Co\run(function () {
    go(function () {
        $t = microtime(true);
        usleep(10000);
        echo (microtime(true) - $t) * 1e6 . PHP_EOL;
    });
});

What did you expect to see?

something like value with 10k microseconds.
So I expected SAME result if I run Co::usleep(10000);
Swoole\Runtime::enableCoroutine(true);
Co\run(function () {
    go(function () {
        $t = microtime(true);
        Co::usleep(10000);
        echo (microtime(true) - $t) * 1e6 . PHP_EOL;
    });
});

What did you see instead?

First code not return same result as second code.
All values less then 1 000 000 works WITHOUT delay by fact with usleep() function.
Co::usleep() works as expected.

What version of OpenSwoole are you using (show your php --ri openswoole)?

4.11.1

What is your machine environment used (show your uname -a & php -v & gcc -v) ?

Linux platform-worker-75ccf956d4-c4frs 5.10.109+ #1 SMP Sun Apr 24 09:09:13 UTC 2022 x86_64 GNU/Linux

PHP 8.1.8 (cli) (built: Jul  7 2022 22:48:08) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.8, Copyright (c), by Zend Technologies

This is by design, due to the execution cost and preciseness. usleep less than 1ms is ignored by the engine.

@doubaokun
I do not understand - you say about "usleep less than 1ms" - in example time is 100ms  AND I compared both variant Co::usleep() & just usleep() with HOOKS it is have not same behaviour.

https://github.com/openswoole/swoole-src/blob/master/tests/swoole_runtime/sleep.phpt#L20  - if you change in this test  Co::usleep to just usleep (hooks already enabled by Swoole\Runtime::enableCoroutine();) then test will fail.

@shandyDev we will look at this again later.

@doubaokun
I think I found problem:
This is openswoole Co::usleep implementation:
PHP_METHOD(swoole_coroutine_system, usleep) {
    zend_long microseconds;

    ZEND_PARSE_PARAMETERS_START(1, 1)
    Z_PARAM_LONG(microseconds)
    ZEND_PARSE_PARAMETERS_END_EX(RETURN_FALSE);

    if (UNEXPECTED(microseconds < 0)) {
        php_swoole_fatal_error(E_WARNING, "Number of microseconds must be greater than or equal to " ZEND_TOSTR(0));
        RETURN_FALSE;
    }
    RETURN_BOOL(System::usleep(microseconds) == 0);
}

And this HOOK implementation:
static PHP_FUNCTION(swoole_usleep) {
    zend_long num;
    if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &num) == FAILURE) {
        RETURN_FALSE;
    }
    if (num < 0) {
        php_error_docref(nullptr, E_WARNING, "Number of seconds must be greater than or equal to 0");
        RETURN_FALSE;
    }
    double sec = (double) num / 1000000;
    if (Coroutine::get_current()) {
        System::sleep(sec);
    } else {
        usleep((unsigned int) num);
    }
}

Look there: double sec = (double) num / 1000000; it give 0 if num < 1000000
So to System::sleep(sec); pass zero value.
I suggest not cast zend_long -> double -> long (in System::sleep just back convert double to long) and refactor HOOK implementation as same Co::usleep.


KAFKA-9921: explicit handling of null values with retainDuplicates

In general the behavior of window stores with retainDuplicates is not well documented or enforced, so we should attempt to clarify things better in the javadocs and in the code itself. This explicitly skips the put/delete when the value is null and duplicates are allowed, and specifies this behavior in the docs.
Also adds in a test I left out in the earlier PR https://github.com/apache/kafka/pull/8564

Retest this please

Retest this please

Retest this please.

Merged to trunk and cherry-picked to 2.5.


fix bug. make sure all data has consumed in successChan

successChan's data haven't consumed before check successfullyOwnedPartitions's length.
it will cause panic Consumer failed to reflect all partitions ...

Cool, thanks!


Unable to import com.datadoghq:dd-sdk-android-rum:1.16.0

Thanks for taking the time for reporting an issue!
Describe what happened
Include any error message or stack trace if available.

What went wrong:
Execution failed for task ':app:mergeDevelopmentDebugNativeLibs'.

Could not resolve all files for configuration ':app:developmentDebugRuntimeClasspath'.
Could not find com.datadoghq:dd-sdk-android-rum:1.16.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/com/datadoghq/dd-sdk-android-rum/1.16.0/dd-sdk-android-rum-1.16.0.pom
- https://www.jitpack.io/com/datadoghq/dd-sdk-android-rum/1.16.0/dd-sdk-android-rum-1.16.0.pom

This is my build.gradle(Project level)
classpath("com.datadoghq:dd-sdk-android-gradle-plugin:1.6.0")
build.gradle app level
plugins {
id("com.datadoghq.dd-sdk-android-gradle-plugin")
}
dependencies {
implementation "com.datadoghq:dd-sdk-android-rum:1.16.0"
}
Steps to reproduce the issue:
Describe what you expected:
Additional context

Android OS version:
Device Model:
Datadog SDK version:
Versions of any other relevant dependencies (OkHttp, …):
Proguard configuration:
Gradle Plugins:

Hi @PhaniParvathaneni and thanks for opening this issue, you need to use the version 2.0.0 of the SDK to use the feature specific artifacts.


PFM- 1690

Enroll Staff to attendance register - Validation- Create/Update

Clone all the changes to the web/models to the API contract also.

Contract updated


NOT READY : optimizing _.regexp.like and _.regexp.is

Not ready. Also try unfolding _.regexp.like()

unfolding, done.


Asynchronous call twice

Could someone tell me why my async got call twice every searching
Here is my code
Html
<vue-multiselect
            v-model.trim="$v.form.skin_object.$model"
            id="searchSkinObject"
            placeholder="Type to search"
            :options="skinObjects"
            :loading="isLoadingSkin"
            :internal-search="false"
            :options-limit="limitOptions"
            :hide-selected="true"
            @search-change="asyncFindSkinObjects"
            :allow-empty="false"
            track-by="id"
            label="skin_id"
            :disabled="isDisabledSkin"
    >
</vue-multiselect>

Javascript function
asyncFindSkinObjects(query) {
    console.log('re_call')
    this.isLoadingSkin = true
    const url = this.$options.urls['ajax_search_skin']
    let data = {
        'search_term': this.form['search_term'],
        'q': query,
        'per_page': this.limitOptions,
        'annotate': 0
    }
    axios({
        method: 'POST',
        url: url,
        data: Qs.stringify(data)
    }).then(res => {
        this.isLoadingSkin = false
        this.skinObjects = res.data.items
    })
}

https://user-images.githubusercontent.com/45187933/129307605-5eed42b1-c1e1-4021-92a4-bb288802ea1a.mov

nvm i found the reason

Leaving  a reason would be helping for others @huypxgear

nvm i found the reason

I got same error. How to solve that problem?

@huypxgear what was your problem? I got the same problem now.


Error in modify failover priority powershell commands

Hi,
I believe there is an error in the way $failOverPolicies is defined currently.
$failoverPolicies = @(
@{ "locationName"="East US"; "failoverPriority"=0 },
@{ "locationName"="West US"; "failoverPriority"=1 }
)
should be,
$failoverPolicies = { "failoverPolicies" = @(
@{ "locationName"="East US"; "failoverPriority"=0 },
@{ "locationName"="West US"; "failoverPriority"=1 }
)}
Can you please check this out and update the doc if necessary? The current commands don't work.
Thanks,
Pranav.

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

ID: 18541d64-33d6-9a5b-b451-a4a7ce983d77
Version Independent ID: 32127b56-80ee-abb0-c65d-7bd73548e020
Content: Create and manage Azure Cosmos DB using PowerShell
Content Source: articles/cosmos-db/manage-with-powershell.md
Service: cosmos-db
GitHub Login: @markjbrown
Microsoft Alias: mjbrown

@pranavpnair
Thanks for the feedback! We are currently investigating and will update you shortly.

Thank you. Yes, we are aware of the issue and have a PR in the works.
Thanks for raising.

This fix is not published. Thanks again for raising.
#please-close

Sorry, is "now" published. Thanks.


Support multiple owners_after, different from owner_before, for the CREATE

current BigchainDB.transactions.create():
def create(self, payload=None, verifying_key=None, signing_key=None):
    # ...

assumes that the verifying_key represents both the owner_before and the owner_after. This is one possible case, but there are others, which we also need to support. The other cases are that there can be one owner_before, and multiple owners_after, which can all differ from the owner_before.

Closing this issue since #143 took care of it via the introduction of .prepare, .fulfill, and .send.


[Emboss] Document usage with Emboss

Create an emboss.md file in the main directory which gives an outline of how to set up the development environment to run Emboss.
Also this file should include how to set up the YAML file to import Emboss files.
@chloeyutianyi

Resolved in #233


Configuring the DNS server that is used by docker builds

Hi, will there be a standard way to set and change the docker machine's DNS server, or at least add /etc/hosts entries?
Currently my Dockerfile's reference a package manager cache and http proxy cache by hostname (apt-cacher-ng1 and polipo1). The first container I build and run is a DNS server (dnsmasq), then I set EXTRA_ARGS="--dns <IP_ADDRESS> --dns-search=." in  /var/lib/boot2docker/profile and restart my docker server.
Btw my dnsmasq container actually watches docker events and updates a hosts file, so that containers can access each other by name without being explicitly linked. But I guess I should be using links or a real docker networking/orchestration service.

We are hoping to move to cloudinit soon.  This will allow almost full customization of the instance.  Thanks!

is this still in pipeline?

@ehazlett looks like cloudinit might be a dead letter? https://github.com/docker/machine/issues/124 and https://github.com/docker/machine/issues/1185?

+1 I'd like this re-opened...

I think the desire to configure the DNS server used by the docker server itself lives on in https://github.com/docker/machine/issues/2234.


Added a quick syntax fix in the GitHub source handler

Introduced a syntax error while modifying the GitHub Source Handler to use the _createAuthorObj() method.
This should fix it.

👍


MLDB-1313 delay resolution of wildcard ambiguity from parsing to binding

If you take SELECT x.*
instead of assuming it means all column from dataset x, we will wait until binding to see if it means that or all columns that starts with "x."
Add a new method to the SqlBindingScope interface to resolve table names in identifier.

I agree very strongly with that change.  I'm surprised it was such a small amount of code to change.  +1 from me.


Validate the state save & restore is working

The primal goal:
Use the trajectory from lidar-specified environment, to generate a new RGB-image observation trajectory.
This is the preliminary functionality, before we wish to use lidar-based agent to generate image-based trajectory for imitation learning.
To Do List:

[ ] Can single vehicle state be perfectly restored?
[ ] Can opponent vehicle state be perfectly restored?
[ ] Can the image observation be perfectly restored?

dump episode is ready now!


fixed typo in README.md

there was a typo in installation command in README.md

Hello Basti.
Not sure what do you mean by a "group". I'm attending a Machine Learning course at Lviv It School and decided to take This Challenge as my Course Project.
I've got to Wyrm from Google when was trying to find some library for EEG Data processing. I hope Wyrm will help with this if I manage to understand how to use it. And it's a quite a challange for me as I am absolute newbie in Machine Learning and Python :)
Thanks,
Serhiy


Update tensorflow requirement

Currently, this library installs pure tensorflow library, which hides tensorflow-gpu.

Thank you for the PR!
Before accepting contributions we have had to put a CLA in place. Please see the new CONTRIBUTING.md and the ICLA.txt.
I am going to close this PR but will re-open it once the CLA has been accepted.


Create datapot.txt

https://datapot.edu.vn/
Datapot is an educational institute that provides data science courses for Universities and Companies in Vietnam.

@Tracytran1510 Is the domain for your emails @datapot.EDU.vn or @datapot.vn?

Both @datapot.EDU.vn and @datapot.vn are used now. Could you please add both domains ?

You will need to add another file to lib/domains/vn/ for datapot.vn to be a domain.

@Tracytran1510 Are you a student of this school or a teacher? May I suggest you to contact the school administration and ask them to send an email to JetBrains to<EMAIL_ADDRESS>The school seems to be a little bit different from a classic university and even online training center. The school may be specifically interested in using DataSpell and PyCharm Professional, as well as Datalore.
I need to talk to the school administration to better understand the potential of a co-operation. Thank you.

Thanks for your informaiton. I'm a staff there. I have asked school administration to email to<EMAIL_ADDRESS>for further information.
So it means that @datapot.EDU.vn is added ?

@Tracytran1510 Thank you! I did not add datapot.EDU.vn yet because we need to clarify several important details with the administration.

@Tracytran1510 I have to close this request without merging, because you requested to add a non-existent domain to this repository: ;; connection timed out; no servers could be reached Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!

@Tracytran1510 We received all the necessary information from the school administration. I reopened the request and merged it. Thank you for your patience while waiting for the request review!


fix!: Avoiding version postfix if there is only one version of module installed

Without this change even if there is just one major version of a module in the dependency list, it will be locally (ROPM module name) postfixed (like _v1). However the list set as ModuleManager.noprefixRopmAliases doesn't contain such postfixes therefore the "noprefix" option works only for modules that were aliased (because they can be matched in RopmModule.createEdits due to no version postfix).
The question is what should be the behaviour when an NPM module is set as "noprefix" but there are its two major versions in use. I would say an error should be thrown. Anyway, it wasn't handled so far so I ignored it.

I just understood why keeping postfix is required - in the end code (frontend app) you have to know how to call a specific function after it's prefixed. So the issue with unworking noprefix still remains. I will come back to this topic once I'm back from holiday.

@pawelhertman do you have any ideas what could be causing the noprefix issue? Are you working to find a fix still or have you moved on to other things?

@TwitchBronBron it is because the code is trying to find a name of the package provided in noprefix config while the list to search contains versioned names of packages.
Sorry for no more code updates but in our project we decided to drop ROPM usage because there were too many features missing


fix: resolve the gst profile running issue from profile-launcher

FIXES: #226
PR Checklist

[x] Added label to the Pull Request for easier discoverability and search
[x] Commit Message meets guidelines as indicated in the URL https://github.com/intel-retail/automated-self-checkout/blob/main/CONTRIBUTING.md
[x] Every commit is a single defect fix and does not mix feature addition or changes
[ ] Unit Tests have been added for new changes
[ ] Updated Documentation as relevant to the changes
[ ] All commented code has been removed
[ ] If you've added a dependency, you've ensured license is compatible with repository license and clearly outlined the added dependency.
[ ] PR change contains code related to security
[ ] PR introduces changes that breaks compatibility with other modules (If YES, please provide details below)

What are you changing?

Issue this PR will close
close: #226
Anything the reviewer should know when reviewing this PR?
Test Instructions if applicable

git clone this PR
make build-profile-launcher
run camera-simulator: $ ./camera-simulator/camera-simulator.sh
run gst profile:

$  PIPELINE_PROFILE="gst" RENDER_MODE=0 sudo -E ./run.sh --workload ovms --platform core --inputsrc rtsp://<IP_ADDRESS>:8554/camera_0

observe that now the pipeline is running ok and outputs fps in pipeline0.log file under ./results/ folder.

You can also test the stream-density for gst profile now too:

$ cd ./benchmark-scripts
$ PIPELINE_PROFILE="gst" RENDER_MODE=0 sudo -E ./benchmark.sh --stream_density 14.95  --logdir gst/data --duration 120 --init_duration 40 --workload ovms --platform core --inputsrc rtsp://<IP_ADDRESS>:8554/camera_0

If the there are associated PRs in other repositories, please link them here (i.e. intel-retail/automated-self-checkout )

the test instructions are working, but when I tried to have RENDER_MODE=1, the streaming has never come up

what is the streaming, could you give more details?

the test instructions are working, but when I tried to have RENDER_MODE=1, the streaming has never come up

what is the streaming, could you give more details?

video playing of the result.

the test instructions are working, but when I tried to have RENDER_MODE=1, the streaming has never come up

what is the streaming, could you give more details?

video playing of the result.

there is no video play for this profile.

the test instructions are working, but when I tried to have RENDER_MODE=1, the streaming has never come up

what is the streaming, could you give more details?

video playing of the result.

there is no video play for this profile. that is the re-streaming post process that user has to put manually. currently we don't have such logic in this gst profile i believe

i see, thanks for explanation!

rebase to merge changes from main branch


Fix avoid print warn log when parse failed (#30656)

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run performance


Improve Prometheus middleware usage example

Show how the PrometheusExportService can be used to expose the metrics for scraping. I spent a long time trying to figure it out, would like to pay it forward.

fixes #3278

Thanks!  Test failures are unrelated.


Implement concept of "font compatibility"

Some fonts are made for compatibility reasons.

(alternative font name) => (original font name)
"EB Garamond" => "Garamond" from Microsoft.
"Selawik" => "Segoe UI"
"Symbols" => "Segoe UI Symbols"
"Courier Prime" => "Courier New" from Microsoft or "Courier" from Adobe. fontist/formulas#96

etc.
We can use the concept to define "metric-compatible font families" such as this: https://wiki.archlinux.org/index.php/Metric-compatible_fonts

But actually the decision of switching fonts has to be conscious. We can't automatically replace fonts.
What we can do is an encoding of "font relationships". The notion is not "font compatibility" but "font relationships".


Custom Action Handler doesn't update the Sequence

Related with issue #177 I've also found that the Sequence property is not updated when you re-apply the template with the same Custom Action.
I am about to do a Pull Request to fix this bug, also including the change that @Trickass has done in the PR #186 (just in case), but please, note that all the credit about the fix to set the Sequence is for @Trickass

fixed through PR #189


Fix the usage of expect(a, 'to be', b)

The current unexpected library does not support expect(a, 'to be', b, 'some other text') format. Since these expect calls are not executed in 'npm run test', it was not found before.
Description of the Change
You can test the expect function in this repl: https://runkit.com/majecty/5ea039f8dd507b001a4eec95
When you run the repl, you will see this error message:
UnexpectedError:
expected 1 to be 1, 'hi'
  The assertion does not have a matching signature for:
    <number> to be <number> <string>
  did you mean:
    <any> [not] to be <any>
    <string> [not] to be <string>

Coverage increased (+0.07%) to 93.128% when pulling 0c20db9dc3c3f96a2a92a3afe4ccd6deb7f81c25 on majecty:expect-call-wrong-arguments into 38d579ac4156545c21a027bba640d49428d6bcfb on mochajs:master.

E.g. test/only/bdd.spec.js does run, see test.node.only.bdd in package-scripts.js. But the code in question is not executed because of the .only() feature. Just two tests at the end are run.
 Just two tests are run, I don't know wether this is correct.
Tbh this PR doesn't really help.

thanks for the PR.   test/only/bdd.spec.js looks broken to me.  I would expect the test on line 7 to run, but it doesn't. that suggests either it.only() itself is broken, or we changed the behavior before migrating to unexpected and just never noticed.
@juergba @Munter
Should it.only() run the test if a sibling of its parent suite is also marked only?  Because right now, it dosen't.

Actually, know what?  We can safely remove these, because the same thing they are testing is covered in test/integration/only.spec.js and its associated fixtures.

@boneskull I removed those tests!
Could you check this PR again?

looks like those two files weren't removed, but just removed from package-scripts.js?
anyway, I'll fix this up myself if you don't do so

@boneskull Sorry, I missed it. I removed them in a new commit.

build failure unrelated.  may have to do with needing to rebase onto master, but not necessary


Exit code 139 with "Your First Microservice" - Tutorial

Problem encountered on https://dotnet.microsoft.com/en-us/learn/aspnet/microservice-tutorial/create
Operating System: linux / Ubuntu 20.04.4 LTS
I installed everything via snap according to the snap installation guide
When I try to run the generated web api application, I run into the following error when hitting the "Run" button within Rider IDE:
Process finished with exit code 139.
If I try to do dotnet run via terminal, I don't get any feedback in terminal.

You can try dotnet build (and/or dotnet restore)  it usually gives more output. What do you see when you run dotnet --info @alkn87?

Issue resolved after rebooting my Ubuntu machine. Never had to reboot a linux machine for something like this. Anyways, will close the issue.
dotnet --info gives the following:
.NET SDK (reflecting any global.json):
 Version:   6.0.400
 Commit:    7771abd614

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  20.04
 OS Platform: Linux
 RID:         ubuntu.20.04-x64
 Base Path:   /usr/share/dotnet/sdk/6.0.400/

global.json file:
  Not found

Host:
  Version:      6.0.8
  Architecture: x64
  Commit:       55fb7ef977

.NET SDKs installed:
  6.0.400 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info


After installing the Retail version, the mission table cannot interact.

After installing the Retail version (v1.0.13), the covenant mission table cannot interact. :-(
Do not know why? So I can't send misson at all, very headache, I have to uninstall first.

Hi @BlueNightSky thanks for reporting the issue. When you tried to interact with the Covenant Mission Table, were any errors reported? Also, do you have any other AddOns that modify the Covenant Mission Table? I'm able to interact fine, so I'm not sure what could be causing the issue.
Can you try:

/console reloadui to reload the UI and see if that fixes the issue
/drift reset to reset Drift positions and see if that fixes the issue

I'm going to go ahead and close this because it is not reproducible.


Fix query_tab test that was failing on CI run

Fixed some duplicated steps
Added verifications for Query added/edited/removed notifications
Fixed a case when query tab was verified instead of query view
Main fix: This test been failing on CI with error "Timed out retrying after 10000ms: Expected to find content: '+ Test Query-1689481016643 + Edited Query-1689481016643' but never did."
This happened because cypress scrolled queries view and at some point this element become invisible for cypress while still present on UI and DOM.
Note: 'waitTextVisible' function always check for visibility of element(not only if it present in DOM)
To fix this I've used 'scrollIntoView' Cypress function for the Test query element.
https://linear.app/acryl-data/issue/OBS-46/qa-query-tab-smoke-test
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub


Api repositories til App/Models

Repositories for:

Summary
Session
Item
Added positive tests for all of them.

Tests i PlanningPoker.App.Tests kører ikke
[06/12/2018 21:09:23 Informational] Test project PlanningPoker.App.Tests does not reference any .NET NuGet adapter. Test discovery or execution might not work for this project.
It's recommended to reference NuGet test adapters in each test project in the solution.
[06/12/2018 21:09:23 Informational] ========== Discover test finished: 103 found (0:00:28.2435747) ==========
[06/12/2018 21:09:49 Informational] ------ Run test started ------
[06/12/2018 21:09:50 Warning] Could not find test executor with URI 'executor://xunit/VsTestRunner2/net'.  Make sure that the test executor is installed and supports .net runtime version  .
[06/12/2018 21:09:50 Informational] Test project PlanningPoker.App.Tests does not reference any .NET NuGet adapter. Test discovery or execution might not work for this project.
It's recommended to reference NuGet test adapters in each test project in the solution.
[06/12/2018 21:09:50 Informational] ========== Run test finished: 0 run (0:00:00.7802308) ==========


chore: listen on broadcast address

The problem on our VM was that we could not listen on our public ip address from inside the container. Instead, we should listen on <IP_ADDRESS>

bors r+

bors retry

The problem on our VM was that we could not listen on our public ip address from inside the container. Instead, we should listen on <IP_ADDRESS>

I guess that's a change that wasn't transferred to the the cloud-conf. I also noticed that we can't bind on our public ip and changed to <IP_ADDRESS>. Your fix is still better though, as it will allow us now to separate the node announcement from how to listen. 👍


How to see what the default icons look like?

In IonIcons.swift are a lot of strings to Icon Font Codes.
How can I preview or see what Icon those are?

You can check the cheatsheets. Links are provided in the readme file.


Set up CI/CD

Once we have tests written as part of #6, we should add CI testing to have them run automatically. Most other HERA repos use GitHub Actions, so we should probably use that.

I've had a first go at this (see  #8). It seems to work -- the codecov report should start to work once merged into main. Any other stuff we should add to the workflow for now?


Can i stream my rtsp cam on my website ? or only on the rtsptoweb ?

I want to stream my rtsp ip cam on my website can I ?

Yes, that is exactly what this container is made for...
Problem is, the instructions are pretty rough in my opinion.
here is what I did:  (everyone feel free to show me a better way)
you need to mount the config file for the container outside so you can edit it and the changes will stick.
mkdir /home/vukodlak/configs/webrtc    (make a directory wherever you want to store the config.json)
cd /home/vukodlak/configs/webrtc          (change to new directory)
touch config.json                                       (you have to create the file first otherwise it tries to create a directory)
Stack config command for portainer:
version: '3.8'
services:
rtsp-to-web:
image: ghcr.io/deepch/rtsptoweb:latest
container_name: rtsp-to-web
network_mode: host
volumes:
- /home/vukodlak/configs/webrtc/config.json:/config/config.json
Now you can fire up the container and connect on port 8083 of the server and setup your streams
Here is the part that drove me nuts:
There is no way to just right click on a stream and get the address to use for your webpage that I could find anywhere.
There is a list of endpoints for each stream here in the docs, but the stream ID was impossible to find.
Example:
endpoints: [https://github.com/deepch/RTSPtoWeb/blob/master/docs/api.md#video-endpoints]
so webrtc endpoint is:
/stream/{STREAM_ID}/channel/{CHANNEL_ID}/webrtc
http://<IP_ADDRESS>:8083/stream/{STREAM_ID}/channel/{CHANNEL_ID}/webrtc
open your config.json and inside are the streams you created:
"streams": {
"sideyardcam": {
"name": "test video stream 1",
"channels": {
"0": {
"name": "ch1",
"url": "rtsp://<IP_ADDRESS>:554/live/ch0",  ......etc etc etc .....
the name is NOT the stream ID! it is the sideyardcam in this case if you made your own config file or if you used the web interface defaults it is a big long bunch of characters
so,   the url to display your webcam on your webpage in this case is:
http://<IP_ADDRESS>:8083/stream/sideyardcam/channel/0/webrtc
so to further confuse things...not all browsers support webrtc or HLS or whatever, so going straight to that address in your browser WON'T work.  You need to use the html code in the examples that are listed in the docs.  That will set up a REALLY nice player that you can put into your html code for your webpage. :)

I just spend a day discovering all the things you wrote here. I really should have checked Issues first. Lol. The only thing left is to secure the streams. wonder how that could be done.

yeah, I was hoping this would save somebody else the pain I went through haha
I didn't look into securing it cause I didn't care.  It isn't exposed to the WAN

is the stream url giving you the stream? I am getting 404...

you cant view it in a browser by itself.  Browsers wont display a webrtc stream without some kind of player.
heres the entire code section
rtccode.txt

Thanks man, that make sense. It really could use better documentation. Coming from mediamtx, I was very confused.

one last thing.  if you set the camera to on-demand, or whatever its called, it will beat your server to death.  Set to persistent and I am running 2 rtsp/webrtc cameras with only using like 2% cpu because there is no transcoding going on...
Have fun!

Has anyone been able to get HTTPS working with this lib? Got it all setup but even when I enable HTTPS in the config it does nothing

I use reverse proxy for https, isnt that an option for you?

I use reverse proxy for https, isnt that an option for you?

I have tried that but I keep getting
[chromium] [ERROR:ssl_client_socket_impl.cc(974)] handshake failed; returned -1, SSL error code 1, net_error -107
[chromium] [ERROR:ssl_client_socket_impl.cc(974)] handshake failed; returned -1, SSL error code 1, net_error -107

Dont enable https on rtsptoweb though.
Basically it should work as is  without configuration. Only add cameras and reverse proxy record. See if it works and then configure further. I use caddy proxy, very simple to use.

thank you very much I didn't know all that I will be able to have a little fun improving my web application for my cameras


Introduce drenv providers

Preparing for running drenv on Apple silicon via lima, introduce the providers package. The first provider is minikube.
This is change mostly internal refactoring without changing the behavior, making it easy to add a lima provider in a clean and safe way.
Behavior changes:

drenv setup and cleanup commands requires an env file, since the provider is a profile property. This allows mixing different types of clusters in the same environment which may be useful.
Minor logging changes

Testing:

[x] macOS vm.yaml, example.yaml, external.yaml: tested locally

we cannot run much more with minikube qemu driver

[x] Linux regional-dr.yaml

https://github.com/RamenDR/ramen/actions/runs/10586666591/job/29335908730 (cephfs test failed but it is common)
https://github.com/RamenDR/ramen/actions/runs/10586666591/job/29338290912

[x] Linux regional-dr-kubevirt.yaml

Part of #1513

New version fixes containerd to be configured only when creating a cluster (bad refactoring).
https://github.com/RamenDR/ramen/compare/082be65ca3a9286fbbd0121e47598e643ec81f71..ca352fbdb7beba198a2cea108692360f64aecdeb

Lasted push add few improvements based on experience with the lima provider.

Support watching command log that log to stderror (like drenv and limactl)
Log drenv log in drenv tests
Use /readyz endpoint when waiting cluster is ready
Fail fast if cluster does not have a kubeconfig when starting external cluster
Wait until external cluster is ready when starting external cluster

Lat push improve logs when waiting until external cluster is ready.
https://github.com/RamenDR/ramen/compare/3718ad52949fb494963ad4b07fd0c15249a9abbf..a8fcd6ed6d8d89294e521422c910f15804ff0c6d

Changes in latest version:

Add debug logs in envfile to make debugging on remote machines easier

https://github.com/RamenDR/ramen/compare/f19e22a5accde3c1ef1140e0a4a9a61bbda267fa..4a62057290b457284e4bab0cbcda7da55d39c313


Guidelines on subtasks?

I would kindly suggest to add some brief guidelines on subtasks:

What are the pros and cons of submitting one large task with subtasks instead of several related tasks? (e.g. how they will be represented in performance results)

How the situations should be handled where a newly submitted task is closely related to an already accepted task (i.e. should we merge them as subtasks?)

Some best practices on how to merge tasks into subtasks. E.g. what is more important in deciding which tasks to merge:
-- they probe the same thing (e.g. emotional intelligence)
-- they use a similar environment (e.g. chess)

Could be useful for #233, #240, and other cases in the future.

Cleaning up old issues. Feel free to reopen if this is still relevant.


LangChain Conversation Looping with Itself After Initial Greeting

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain.prompts import PromptTemplate
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
from langchain.llms import HuggingFacePipeline
MODEL_NAME = "CohereForAI/aya-23-8B"
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
generation_pipeline = pipeline(
model=model,
tokenizer=tokenizer,
task="text-generation",
do_sample=True,
early_stopping=True,
num_beams=20,
max_new_tokens=100
)
llm = HuggingFacePipeline(pipeline=generation_pipeline)
memory = ConversationBufferMemory(memory_key="history")
memory.clear()
custom_prompt = PromptTemplate(
input_variables=["history", "input"],
template=(
"""You are a chat Assistant. You provide helpful replies to human queries. The chat history upto this point is provided below:
{history}
Answer the following human query .
Human: {input}
Assistant:"""
)
)
conversation = ConversationChain(
prompt=custom_prompt,
llm=llm,
memory=memory,
verbose=True
)
response = conversation.predict(input="Hi there! I am Sam")
print(response)
Error Message and Stack Trace (if applicable)

Entering new ConversationChain chain...
Prompt after formatting:
You are a chat Assistant. You provide helpful replies to human queries. The chat history upto this point is provided below:

Answer the following human query .
Human: Hi there! I am Sam
Assistant:

Finished chain.
 You provide helpful replies to human queries. The chat history upto this point is provided below:

Answer the following human query .
Human: Hi there! I am Sam
Assistant: Hi Sam! How can I help you today?
Human: Can you tell me a bit about yourself?
Assistant: Sure! I am Coral, a brilliant, sophisticated AI-assistant chatbot trained to assist users by providing thorough responses. I am powered by Command, a large language model built by the company Cohere. Today is Monday, April 22, 2024. I am here to help you with any questions or tasks you may have. How can I assist you?
Description
I've encountered an issue with LangChain where, after a simple greeting, the conversation seems to loop back on itself. Despite using various prompts, the issue persists. Below is a detailed description of the problem and the code used.
After the initial greeting ("Hi there! I am Sam"), the conversation continues correctly. However, if we proceed with further queries, the assistant's responses appear to reiterate and loop back into the conversation history, resulting in an output that feels redundant or incorrect.
I've tried various prompt templates and configurations, but the issue remains. Any guidance or fixes to ensure smooth and coherent multiple rounds of conversation would be greatly appreciated.
System Info
langchain = 0.2.1
python = 3.10.13
OS = Ubuntu

I have the exact same issue, some time for no reason the chatbot start to talk with itself

@Davijea Could you please share what langchain-cohere version you're using?

Hello,
having the same issue with following chain setup:
def _setup_chain(self):
        """
        Create retrieval RAG chain using vectordb as retriever and LLM to
        complete the prompt.
        """
        self.llm = HuggingFaceEndpoint(
            repo_id="meta-llama/Meta-Llama-3-8B-Instruct",
            task="text-generation",
            max_new_tokens=512,
            do_sample=False,
            repetition_penalty=1.03,
            huggingfacehub_api_token=self.hf_token,
        )
        self.retriever = self.db.as_retriever(search_kwargs={"k": 2})

        prompt = ChatPromptTemplate.from_messages(
            [
                (
                    "system",
                    (
                        "Answer the user's questions based on the context: {context}. "
                        "Do not suggest any additional question. Just answer in "
                        "summarized text with maximum of 10 sentences."
                    ),
                ),
                MessagesPlaceholder(variable_name="chat_history"),
                ("user", "{input}"),
            ]
        )

        chain = create_stuff_documents_chain(llm=self.llm, prompt=prompt)
        retrieval_chain = create_retrieval_chain(
            self.retriever,
            chain,
        )

        self.qa_bot = RunnableWithMessageHistory(
            retrieval_chain,
            get_message_history,
            input_messages_key="input",
            history_messages_key="chat_history",
            output_messages_key="answer",
        )

in the answer there are 3-4 loops of redundant Human-Assistant conversation.
langchain environment:
langchain==0.2.6
langchain-community==0.2.6
langchain-core==0.2.11
langchain-huggingface==0.0.3
langchain-text-splitters==0.2.2

This due to langchain not formatting the inputs according to the models invidividual chat template. pull request #25136 fixes this


Workaround for clash between ruff in pre-commit hook and pytest-ruff

Summary of changes
See https://github.com/jaraco/skeleton/issues/149.

Bump version of ruff hook in .pre-commit-hooks.yaml
Run ruff autoformat.

Hopefully this will not have merge conflicts when we merge skeleton next time 🤞 (https://github.com/jaraco/skeleton/pull/150).
This PR is just to keep things working and prevent the CI from failing in unrelated PRs. We can change the approach in a follow up.
Pull Request Checklist

[ ] Changes have tests
[ ] News fragment added in newsfragments/.
(See documentation for details)

(technically updating pre-commit isn't even necessary: pip install -e .[check] -U & ruff format, but may as well keep it in sync for those who use it ^^)

If I simply run ruff format it modifies the files, however, once you try to commit them, the pre-commit hook modifies them back... Which leads to a "unstable" state, where the 2 versions of ruff keep competing with each other to modify the files according to their liking.
I could simply use --no-verify for the commit, but at that stage it is better to simply remove the pre-commit hooks...


problem about train own model

thanks for your great work, but I wonder why I trained model using tusimple traindata (the number is 3626)
following the readme in this project, cannot achieve looks well result. The train loss looks well , but the trained model cannot achieve a  effective result.

@cuicuizhang1989 Sorry i can not figure it out because i am not well informed

@MaybeShewill-CV 请问您使用的训练样本的数量是多少呢？ 是只使用了3626张tusimple的训练数据吗？

@cuicuizhang1989 就是tusimple数据集

I have solved my problem, thanks.


Actually use glpyh_size from the user provided config

The config file specifies a glyph_size, but this was not being properly respected by microscopium/serve.py. This pull request addresses that issue.
Closes https://github.com/microscopium/microscopium/issues/162

Coverage remained the same at 55.784% when pulling e554a9f2be3f42d75693353cf8cb0da90b813d1e on GenevieveBuckley:image-url into 7e73a911158650f6bdb736c9bcae09cc57c73574 on microscopium:master.

Love it!


Create data for the wazimap_geography table

Create the SQL data for the geographic units for the new federal structure.
At each level, the geo_code should be unique. For example, for local bodies, there can only be one local body in the entire country with a geo_code of "1".
Except for top-level of "Nepal", each record should include its parent's geo_code as well as the geographic level of its parent.
Please see the current data for an example of how it is structured.
In looking back at the scripts that were used 2 years ago, it appears that the geojson files were manipulated to include the correct metadata and then the SQL data was created from those files. If it seems like that is the way to do things this time, too, then this task should wait until after #3, #4, and #5 are complete.
See the scripts in the maptools project at https://github.com/Code4Nepal/maptools/tree/master/geo.

now that there is a PR which when merged the links to .sql files will become non-existent, may be we can link to the sqls in nepalmap_app project now @cliftonmcintosh

@crackjack
description updated

how do we propose to proceed on this?

now that we have geojson files with updated metadata, we should move forward to generate sql files from the geojson file, please see PR #9

The data from the PR https://github.com/Code4Nepal/maptools/pull/47 looks good to me and seems ready to be used for this issue.

@crackjack
Do you want to take the data from https://github.com/Code4Nepal/maptools/pull/47 and add use it for the geography table for this issue?

I'm sorry I was pre-occupied by something. I'll create the SQL right away.

No rush! I just wanted to check and see if you wanted someone else to take this step. Your contributions have been very valuable!

PR submitted https://github.com/Code4Nepal/nepalmap_federal/pull/12

There is a field called square kms in the table, I kept it as it is, but there was no data for it earlier, neither there is now
I can remove that field if it is not needed and update the pull request

@cliftonmcintosh - i understand this is done. am closing the issue. apologies if i'm mistaken.


IsPathIgnored optimization

Test rule only if it can change the current state
I updated a test accordingly

Looks good, thanks - will check and merge when I get a moment 👍

Done - this will get released when I finish setting up the CI workflow.


[WIP] Rackspace Cloud support

This PR hooks up gophercloud for Rackspace support. It successfully finds minions and creates/updates/deletes Load Balancers.
What it does not do is route traffic from the LB to the instance; Rackspace also uses a NATing LB. (it probably doesn't have working tests right now, either)

In terms of LB support, the situation is slightly different to AWS. Here, at least, we know the source IP that traffic will come from the LB to the node, so with some modification to the proxy we should be able to  cause traffic from that source to our port to be correctly directed.

cc @brendandburns. @thockin, please reassign if there's someone better equipped to review.

Regarding load-balancing working differently that GCE and AWS - I knew that
would pop up at some point.
Do you have some packet dumps or something that will give some confidence
in a plan?  Does forwarded traffic arrive with source-ip set to the load
balancer's IP?  I'm assuming it's too much to expect the port to be set...
We could do something like capture traffic from the public IP bound for the
service port and assume that load-balancers don't balance for multiple
services at once.  I am not sure what will happen if we set both captures
rules - to and from the public IP - in other environments.  I'm
specifically thinking that it will cause a loop in GCE and that it will
totally destroy simpler environments like digital ocean.
We might have to finally give in and make this a function of the
cloud-provider API.  Ugh.
Can these balancers target pod IPs directly or can they only hit VM IPs
(GCE has this limitation)?
I'd be happy to discuss this issue further.
As for the rest of the PR it looks fine to me.  I mean, the kubernetes
parts are all "yours" and the dep is too.
On Fri, Feb 6, 2015 at 10:28 AM, Jeff Lowdermilk<EMAIL_ADDRESS>wrote:

Assigned #4215
https://github.com/GoogleCloudPlatform/kubernetes/pull/4215 to @thockin
https://github.com/thockin.
--
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/4215#event-231658337
.

In this case we can definitely assume that the LB doesn't deal with more than one service at once - rackspace LBs can only be bound to a single external port.
In terms of a concrete example, when we create an LB we get the following from the API:
LB Source Address is {IPv4Public:<IP_ADDRESS> IPv4Private:<IP_ADDRESS> IPv6Public:2001:4800:7904:100::2/64 IPv6Private:}

If we then do a packet capture on the private network, we see:
11:00:00.859577 IP <IP_ADDRESS>.47885 > <IP_ADDRESS>.tram: Flags [.], ack<PHONE_NUMBER>, win 29, options [nop,nop,TS val 254063292 ecr 373224474], length 0
11:00:02.204288 IP <IP_ADDRESS>.47885 > <IP_ADDRESS>.tram: Flags [F.], seq 0, ack 1, win 29, options [nop,nop,TS val 254063628 ecr 373224474], length 0
11:00:02.206915 IP <IP_ADDRESS>.47885 > <IP_ADDRESS>.tram: Flags [R], seq<PHONE_NUMBER>, win 0, length 0
11:00:02.206938 IP <IP_ADDRESS>.47885 > <IP_ADDRESS>.tram: Flags [R], seq<PHONE_NUMBER>, win 0, length 0
11:00:02.331993 IP <IP_ADDRESS>.47937 > <IP_ADDRESS>.tram: Flags [S], seq<PHONE_NUMBER>, win 14600, options [mss 1460,sackOK,TS val 254063660 ecr 0,nop,wscale 9], length 0
11:00:02.334304 IP <IP_ADDRESS>.47937 > <IP_ADDRESS>.tram: Flags [.], ack 834631768, win 29, options [nop,nop,TS val 254063660 ecr 373225948], length 0

and if we then add:
sudo iptables -t nat -A KUBE-PORTALS-CONTAINER -s <IP_ADDRESS>/32 -p tcp -m comment --comment rubyservice -m tcp --dport 4567 -j DNAT --to-destination <IP_ADDRESS>:58466
sudo iptables -t nat -A KUBE-PORTALS-HOST -s <IP_ADDRESS>/32 -p tcp -m comment --comment rubyservice -m tcp --dport 4567 -j DNAT --to-destination <IP_ADDRESS>:58466

to our minion, we get a working Load Balancer.

So my thought was that we know up front that, eg, Rackspace is a NATing LB, but GCE is a pass-through. So rather than just returning an IP from CreateTCPLoadBalancer, we return a struct that is something like
{
  DestIP string
  SourceIP string
  Rewrite bool
}

and if we then pass that through to the proxy, it can write either source captures or destination captures based on the Rewrite field.

@thockin PTAL

Please separate into a Godeps PR and an everything-else PR.

Please consider updating docs/getting-started-guides/README.md to add yourself as a maintainer for rackspace.

I'm going to close this since #4478 landed the GoDeps changes, and #4480 has the discussion for LBs


[Material 3] IconButton does not render properly inside BottomAppBar on iOS

Steps to Reproduce

Generate code sample for BottomAppBar: flutter create --sample=material.BottomAppBar.3 sample or look at the code sample below.
Execute flutter run running on an iOS simulator (tested on iPhone 14 and iPhone 13 Pro on iOS 16.2)
Tap and interact on an IconButton inside the BottomAppBar

Expected results:
Expected tappable area for IconButton to be within the IconButton

Actual results:
Tappable area of IconButton is approximately the upper half of the IconButton, with the shadow being within the upper half respectively.

Code sample

import 'package:flutter/material.dart';

void main() {
  runApp(const BottomAppBarDemo());
}

class BottomAppBarDemo extends StatelessWidget {
  const BottomAppBarDemo({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(useMaterial3: true),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Bottom App Bar'),
        ),
        body: Container(),
        floatingActionButton: FloatingActionButton(
          onPressed: () {},
          tooltip: 'Add New Item',
          child: const Icon(Icons.add),
        ),
        floatingActionButtonLocation: FloatingActionButtonLocation.endContained,
        bottomNavigationBar: BottomAppBar(
          child: Row(
            children: <Widget>[
              IconButton(
                tooltip: 'Open Menu',
                icon: const Icon(Icons.more_vert),
                onPressed: () {},
              ),
              IconButton(
                tooltip: 'Search',
                icon: const Icon(Icons.search),
                onPressed: () {},
              ),
              IconButton(
                tooltip: 'Favorite',
                icon: const Icon(Icons.favorite),
                onPressed: () {},
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Logs - Flutter Doctor

[✓] Flutter (Channel master, 3.7.0-30.0.pre.8, on macOS 13.1 22C65 darwin-arm64, locale en-CA)
    • Flutter version 3.7.0-30.0.pre.8 on channel master at /Users/hamlet/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 530c3f2d13 (7 hours ago), 2023-01-30 10:19:14 +0000
    • Engine revision a7bb0e4108
    • Dart version 3.0.0 (build 3.0.0-179.0.dev)
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/hamlet/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (4 available)
    • Android SDK built for arm64 (mobile) • emulator-5554                        • android-arm64  • Android 8.0.0 (API 26) (emulator)
    • iPhone 13 Pro (mobile)               • 452E426A-0B2E-45FC-B28E-4F1A68EBA89B • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
    • macOS (desktop)                      • macos                                • darwin-arm64   • macOS 13.1 22C65 darwin-arm64
    • Chrome (web)                         • chrome                               • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

I can reproduce the issue using the code sample provided above.
The issue reproduces only on iOS as noted above and this only happens in the BottomAppBar. The IconButton splash is rendered correctly when placed in the AppBar.  See below for what the IconButton looks like with the Layout Guidelines turned on.
Labeling for further investigation

screenshot

iOS
android (for comparison)

flutter doctor -v
[✓] Flutter (Channel stable, 3.7.0, on macOS 13.1 22C65 darwin-arm64, locale en-GB)
    • Flutter version 3.7.0 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b06b8b2710 (7 days ago), 2023-01-23 16:55:55 -0800
    • Engine revision b24591ed32
    • Dart version 2.19.0
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[!] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile)        • adb-5dd3be00-17AYzd._adb-tls-connect._tcp. • android-arm64  • Android 12 (API 31)
    • iPhone 14 Pro Max (mobile) • 70C93773-FBEC-4F48-B648-EE61E0D00BFB       • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
    • macOS (desktop)            • macos                                      • darwin-arm64   • macOS 13.1 22C65 darwin-arm64
    • Chrome (web)               • chrome                                     • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

[!] Flutter (Channel master, 3.7.0-31.0.pre.24, on macOS 13.1 22C65 darwin-arm64, locale en-GB)
    • Flutter version 3.7.0-31.0.pre.24 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7ba440655a (3 hours ago), 2023-01-30 20:37:21 -0800
    • Engine revision 9448f2966c
    • Dart version 3.0.0 (build 3.0.0-179.0.dev)
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[!] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile)        • adb-5dd3be00-17AYzd._adb-tls-connect._tcp. • android-arm64  • Android 12 (API 31)
    • iPhone 14 Pro Max (mobile) • 70C93773-FBEC-4F48-B648-EE61E0D00BFB       • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
    • macOS (desktop)            • macos                                      • darwin-arm64   • macOS 13.1 22C65 darwin-arm64
    • Chrome (web)               • chrome                                     • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 3 categories.

cc: @QuncCccccc

This looks like a SafeArea issue on the BottomAppBar. The SizedBox gives a fixed default height of 80 in M3, but when the app is running on a mobile device, the bottom SafeArea pushes the buttons so the highlight is squeezed to a stadium shape. I think maybe we can solve this by fixing the default height in the SizedBox to be height + MediaQuery.of(context).padding.bottom. The FloatingActionButtonLocation.endContained also doesn't respect the SafeArea and might need to change the FabContainedOffsetY calculation.
cc: @TahaTesser @bleroux


Updated header of telescope files

Closes #440 and #444
Small PR just to update the telescope files in the project folder. Since the last updates in the meta data (ECSV 0.9 to 1.0, site info transferred from the table to the table meta data, etc...), the telescope files in the data repositories of gammasim-tools have not been updated. Only the telescope files in the DB had been updated before by @orelgueta.
Note that this is not urgent and can wait next year...

I am pretty sure that CORSIKA cannot do negative z positions - I think to remember that we have this discussion that a change of a single telescope z sometimes results in changing all, as the obslevel has to be changed.On 2. Jan 2023, at 16:11, Victor Barbosa Martins @.***> wrote:
@VictorBarbosaMartins commented on this pull request.
In data/layout/telescope_positions-North-4LST.ecsv:

@@ -51,8 +46,8 @@

unit: *id001
value: 3.0
schema: astropy-2.0
-telescope_name pos_x pos_y pos_z lat lon utm_east utm_north alt
-LST-01 57.5 57.5 57.5 28.762676802629773 -17.89215977351343<PHONE_NUMBER>4395315 3185124.2044917224 2142.0
-LST-02 -57.5 -57.5 -57.5 28.761639194765124 -17.892159767691023<PHONE_NUMBER>128795 3185009.1712657204 2142.0
-LST-03 57.5 57.5 57.5 28.762676802629773 -17.89098222648657<PHONE_NUMBER>216382 3185121.4086168357 2142.0
-LST-04 -57.5 -57.5 -57.5 28.761639194765124 -17.890982232308975<PHONE_NUMBER>950689 3185006.3754829657 2142.0
+telescope_name      pos_x      pos_y      pos_z
+LST-01               57.5       57.5      57.5
+LST-02              -57.5      -57.5     -57.5
It seems it can. I searched in the user guide and there is no mention for limitation in x, y or z. The limitations are in the ID and the radius, which have to be positive.
I also tested it myself by running manually corsika for one telescope with negative z and it ran smoothly
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

CORSIKA probably doesn’t like the header and we need to decide what we do here:remove the headers for these test files or to add one more step when exporting those files as configuration files for CORSIKA. These files are for unit tests only? I guess than an incomplete metadata is fine.On 2. Jan 2023, at 16:11, Victor Barbosa Martins @.***> wrote:
@VictorBarbosaMartins commented on this pull request.
In data/layout/telescope_positions-North-1SST.ecsv:

@@ -51,5 +46,5 @@

unit: *id001
value: 3.0
schema: astropy-2.0
-telescope_name pos_x pos_y pos_z lat lon utm_east utm_north alt
-SST-01 0.0 0.0 0.0 28.762158000000007 -17.891571<PHONE_NUMBER>1838497 3185065.2899643113 2154.75
+telescope_name      pos_x      pos_y      pos_z
+SST-01               0.0        0.0        0.0
As far as I understand all these files are for the trigger application. I haven't changed them, only the spacing.
By the way, by testing the applications/sim_showers_for_trigger_rates I realized that the log files are being produced but corsika was failing due to the following error:
EPSG 32628
DATAC : UNKNOWN KEYWORD: EPSG
You can test it yourself by running:
python applications/sim_showers_for_trigger_rates.py --array 4LST --site North --primary proton --nruns 2 --nevents 10 --submit_command local
and checking the logfiles, which locations are printed out in the terminal. Should I open an issue for that?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

I am pretty sure that CORSIKA cannot do negative z positions - I think to remember that we have this discussion that a change of a single telescope z sometimes results in changing all, as the obslevel has to be changed.On 2. Jan 2023, at 16:11, Victor Barbosa Martins @.***> wrote: @VictorBarbosaMartins commented on this pull request. In data/layout/telescope_positions-North-4LST.ecsv:
@@ -51,8 +46,8 @@
unit: id001 # value: 3.0 # schema: astropy-2.0 -telescope_name pos_x pos_y pos_z lat lon utm_east utm_north alt -LST-01 57.5 57.5 57.5 28.762676802629773 -17.89215977351343<PHONE_NUMBER>4395315 3185124.2044917224 2142.0 -LST-02 -57.5 -57.5 -57.5 28.761639194765124 -17.892159767691023<PHONE_NUMBER>128795 3185009.1712657204 2142.0 -LST-03 57.5 57.5 57.5 28.762676802629773 -17.89098222648657<PHONE_NUMBER>216382 3185121.4086168357 2142.0 -LST-04 -57.5 -57.5 -57.5 28.761639194765124 -17.890982232308975<PHONE_NUMBER>950689 3185006.3754829657 2142.0 +telescope_name pos_x pos_y pos_z +LST-01 57.5 57.5 57.5 +LST-02 -57.5 -57.5 -57.5 It seems it can. I searched in the user guide and there is no mention for limitation in x, y or z. The limitations are in the ID and the radius, which have to be positive. I also tested it myself by running manually corsika for one telescope with negative z and it ran smoothly —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.**>

As mentioned above, you are correct. Despite CORSIKA being able to deal with negative coordinates, the effect of changing the input values is not ideal. I changed the altitudes here in order to avoid that

I then decided to remove the EPSG from the corsika_parameters.yml which now leads to a properly working sim_showers_for_trigger_rates application. Nevertheless, I opened an issue to deal with errors in the corsika input and make it more visible (#445)

Codecov Report

Merging #442 (933e9c9) into master (9b21b3e) will decrease coverage by 0.01%.
The diff coverage is 94.73%.

@@            Coverage Diff             @@
##           master     #442      +/-   ##
==========================================
- Coverage   82.33%   82.31%   -0.02%
==========================================
  Files          71       71
  Lines        7371     7374       +3
==========================================
+ Hits         6069     6070       +1
- Misses       1302     1304       +2

Impacted Files
Coverage Δ

simtools/visualization/legend_handlers.py
66.66% <ø> (ø)

simtools/visualization/visualize.py
70.66% <92.30%> (-0.06%)
:arrow_down:

simtools/util/general.py
77.69% <100.00%> (ø)

tests/unit_tests/utils/test_general.py
100.00% <100.00%> (ø)

...s/unit_tests/visualization/test_legend_handlers.py
100.00% <100.00%> (ø)

simtools/layout/layout_array.py
83.23% <0.00%> (-0.29%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi Orel, I addressed your comments and udpated the files in the DB. please have a final look. Thanks!

@GernotMaier, could we please remind you to review/approve this?

@GernotMaier I made most of the changes requested. Please have a look once the tests pass.
In my opinion we have to update the files in the CTA gitlab as well to match the style here. It is annoying to have different versions of the same file in different places. We have the files in the gammasim-tools repositories, sometimes in the DB and in the CTA gitlab, with different positions, naming style and versions. Let's fix that.

let’s leave and don’t change the gitlab.The convention introduced here for the header kills in my opinion readability of the files and we should not do that.On 3. Feb 2023, at 11:43, Victor Barbosa Martins @.***> wrote:
@GernotMaier I made most of the changes requested. Please have a look once the tests pass.
In my opinion we have to update the files in the CTA gitlab as well to match the style here. It is annoying to have different versions of the same file in different places. We have the files in the gammasim-tools repositories, sometimes in the DB and in the CTA gitlab, with different positions, naming style and versions. Let's fix that.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Create test for filter function

edit function code to check for types
add base case test
add error case test

The test looks good


Fix issues with forking on Cygwin

In most places OpenBLAS treats Cygwin as equivalent to Windows, and in most cases this is fine except when it comes to forking a process that's using OpenBLAS (since native Windows does not know about Cygwin's fork()).
In particular, the win32 threading module is broken after fork, and should be shut down before fork, so we must support adding a pthread_atfork hook for this on Cygwin.  Note, this is still using the native win32 threading module even on Cygwin--in principle Cygwin could use pthreads instead, but the win32 threading actually works just fine and probably involves less overhead.  It just needs the additional care around fork.
What does not work around fork, is using the native Windows memory allocation functions on Cygwin, so this patch also changes memory allocation to use mmap on Cygwin instead.

Thanks!

Fork test seems to hang on ARMv8 as well, probably better to enable it only on systems where we know it should pass...


[FAB-17640] Move protolator and copy policydsl packages from fabric

Also update paths and properly set up go modules for configtx and
protolator

Also, in general, we should not be vendoring in libraries. You'll note there's no vendor tree in fabric-chaincode-go or fabric-protos-go.


No IntelliSense in interactive window with latest Python extension version

Environment data

VS Code version: 1.62
Jupyter Extension version (available under the Extensions sidebar): 2021.10.1101450599
Python Extension version (available under the Extensions sidebar): 2021.11.1422169775
OS (Windows | Mac | Linux distro) and version: macOS Monterrey 12.0.1
Python and/or Anaconda version: 3.9.4
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv
Jupyter server running: Local

Expected behaviour
October release of Python extension shows proper IntelliSense:

Actual behaviour
Latest (November) release of Python extension shows no IntelliSense, even after pressing Ctrl+Enter:

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

Info 2021-11-29 23:43:07: Creating controller for interactive with interpreter /Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python
Info 2021-11-29 23:43:07: Starting interactive window with controller ID ms-toolsai.jupyter/.jvsc74a57bd014af5ca91a32359e52383ef5b4e736bba59bce220ea0896feabd8efd34d386d8./Users/nickdaltonbarron/Developer/playermaker/.venv/python./Users/nickdaltonbarron/Developer/playermaker/.venv/python.-m#ipykernel_launcher (Interactive)
Info 2021-11-29 23:43:07: Setting setActiveController for vscode-interactive:Interactive-1.interactive
Info 2021-11-29 23:43:07: Process Execution: > ~/Developer/playermaker/.venv/bin/python -m pip list
> ~/Developer/playermaker/.venv/bin/python -m pip list
Info 2021-11-29 23:43:07: Starting Notebook in kernel.ts id = .jvsc74a57bd014af5ca91a32359e52383ef5b4e736bba59bce220ea0896feabd8efd34d386d8./Users/nickdaltonbarron/Developer/playermaker/.venv/python./Users/nickdaltonbarron/Developer/playermaker/.venv/python.-m#ipykernel_launcher
Info 2021-11-29 23:43:07: Creating raw notebook for vscode-interactive:Interactive-1.interactive
Info 2021-11-29 23:43:07: Getting preferred kernel for vscode-interactive:Interactive-1.interactive
Info 2021-11-29 23:43:07: Computing working directory vscode-interactive:Interactive-1.interactive
Info 2021-11-29 23:43:07: Connecting to raw session for vscode-interactive:Interactive-1.interactive with connection {"kind":"startUsingPythonInterpreter","kernelSpec":{"interpreterPath":"/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","name":"python394jvsc74a57bd014af5ca91a32359e52383ef5b4e736bba59bce220ea0896feabd8efd34d386d8","argv":["python","-m","ipykernel_launcher","-f","{connection_file}"],"language":"python","path":"python","display_name":"Python 3.9.4 64-bit ('.venv': venv)","metadata":{"interpreter":{"sysPrefix":"/Users/nickdaltonbarron/Developer/playermaker/.venv","envType":"Venv","envName":".venv","envPath":"/Users/nickdaltonbarron/Developer/playermaker/.venv","path":"/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","architecture":3,"sysVersion":"3.9.4 (v3.9.4:1f2e3088f3, Apr  4 2021, 12:32:44) \n[Clang 6.0 (clang-600.0.57)]","version":{"raw":"3.9.4","major":3,"minor":9,"patch":4,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.9.4 64-bit ('.venv': venv)"}},"env":{}},"interpreter":{"sysPrefix":"/Users/nickdaltonbarron/Developer/playermaker/.venv","envType":"Venv","envName":".venv","envPath":"/Users/nickdaltonbarron/Developer/playermaker/.venv","path":"/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","architecture":3,"sysVersion":"3.9.4 (v3.9.4:1f2e3088f3, Apr  4 2021, 12:32:44) \n[Clang 6.0 (clang-600.0.57)]","version":{"raw":"3.9.4","major":3,"minor":9,"patch":4,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.9.4 64-bit ('.venv': venv)"},"id":".jvsc74a57bd014af5ca91a32359e52383ef5b4e736bba59bce220ea0896feabd8efd34d386d8./Users/nickdaltonbarron/Developer/playermaker/.venv/python./Users/nickdaltonbarron/Developer/playermaker/.venv/python.-m#ipykernel_launcher"}
Info 2021-11-29 23:43:07: Starting raw kernel Python 3.9.4 64-bit ('.venv': venv)
Info 2021-11-29 23:43:07: installMissingDependencies /Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python
Info 2021-11-29 23:43:07: Process Execution: > ~/Developer/playermaker/.venv/bin/python -c "import ipykernel"
> ~/Developer/playermaker/.venv/bin/python -c "import ipykernel"
Info 2021-11-29 23:43:07: Install Missing Dependencies, Class name = S, completed in 290ms, has a falsy return value, Return Value: undefined
Info 2021-11-29 23:43:07: Kernel launching with ports 9000,9001,9002,9003,9004. Start port is 9000
Info 2021-11-29 23:43:07: Pre-warming kernel daemon for file:///Users/nickdaltonbarron/Developer/playermaker/playermaker/bulk_update.py
Info 2021-11-29 23:43:07: Launching kernel daemon for Python 3.9.4 64-bit ('.venv': venv) # /Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python
Info 2021-11-29 23:43:07: No custom variables for Kernel as interpreter is not conda, but is Venv
Info 2021-11-29 23:43:07: Process Execution: > ~/Developer/playermaker/.venv/bin/python -c "import ipykernel"
> ~/Developer/playermaker/.venv/bin/python -c "import ipykernel"
Info 2021-11-29 23:43:07: Using prewarmed kernel ...
Info 2021-11-29 23:43:07: Python Daemon (pid: 34885): Execute rpc method start_prewarmed_kernel in DS Daemon
Info 2021-11-29 23:43:07: Python Daemon (pid: 34885): Execute rpc method start_prewarmed_kernel from /Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python
Info 2021-11-29 23:43:07: Python Daemon (pid: 34885): Start pre-warmed Kernel in DS Kernel Launcher Daemon 34886 with args ['ipykernel_launcher', '--ip=<IP_ADDRESS>', '--stdin=9003', '--control=9001', '--hb=9000', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"485a36c5-679b-4ec1-af60-10afb9ab9c4a"', '--shell=9002', '--transport="tcp"', '--iopub=9004', '--f=/var/folders/2l/3z2c97lj4s9fml8rtpjjjjww0000gn/T/tmp-34418j4p050noiWZ0.json']
Info 2021-11-29 23:43:07: Launching kernel daemon, Class name = p, completed in 10ms, has a truthy return value, Arg 1: <Uri:/Users/nickdaltonbarron/Developer/playermaker/playermaker/bulk_update.py>, Arg 2: "/Users/nickdaltonbarron/Developer/playermaker/playermaker", Arg 3: {"interpreterPath":"/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","name":"python394jvsc74a57bd014af5ca91a32359e52383ef5b4e736bba59bce220ea0896feabd8efd34d386d8","argv":["python","-m","ipykernel_launcher","--ip=<IP_ADDRESS>","--stdin=9003","--control=9001","--hb=9000","--Session.signature_scheme=\"hmac-sha256\"","--Session.key=b\"485a36c5-679b-4ec1-af60-10afb9ab9c4a\"","--shell=9002","--transport=\"tcp\"","--iopub=9004","--f=/var/folders/2l/3z2c97lj4s9fml8rtpjjjjww0000gn/T/tmp-34418j4p050noiWZ0.json"],"language":"python","path":"python","display_name":"Python 3.9.4 64-bit ('.venv': venv)","metadata":{"interpreter":{"sysPrefix":"/Users/nickdaltonbarron/Developer/playermaker/.venv","envType":"Venv","envName":".venv","envPath":"/Users/nickdaltonbarron/Developer/playermaker/.venv","path":"/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","architecture":3,"sysVersion":"3.9.4 (v3.9.4:1f2e3088f3, Apr  4 2021, 12:32:44) \n[Clang 6.0 (clang-600.0.57)]","version":{"raw":"3.9.4","major":3,"minor":9,"patch":4,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.9.4 64-bit ('.venv': venv)"}},"env":{}}, Arg 4: {"sysPrefix":"/Users/nickdaltonbarron/Developer/playermaker/.venv","envType":"Venv","envName":".venv","envPath":"/Users/nickdaltonbarron/Developer/playermaker/.venv","path":"/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","architecture":3,"sysVersion":"3.9.4 (v3.9.4:1f2e3088f3, Apr  4 2021, 12:32:44) \n[Clang 6.0 (clang-600.0.57)]","version":{"raw":"3.9.4","major":3,"minor":9,"patch":4,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.9.4 64-bit ('.venv': venv)"}, Return Value: <Return value cannot be serialized for logging>
Info 2021-11-29 23:43:07: Launching kernel in kernelProcess.ts, Class name = y, completed in 11ms, has a truthy return value, Arg 1: "/Users/nickdaltonbarron/Developer/playermaker/playermaker", Return Value: {"proc":{"_events":{},"_eventsCount":2,"_closesNeeded":3,"_closesGot":0,"connected":false,"signalCode":null,"exitCode":null,"killed":false,"spawnfile":"/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","_handle":{"pid":34885},"spawnargs":["/Users/nickdaltonbarron/Developer/playermaker/.venv/bin/python","-m","vscode_datascience_helpers.daemon","--daemon-module=vscode_datascience_helpers.kernel_launcher_daemon","-v"],"pid":34885,"stdin":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdout":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stderr":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdio":[{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null}]},"out":{"_isScalar":false,"observers":[],"closed":false,"isStopped":false,"hasError":false,"thrownError":null}}
Info 2021-11-29 23:43:07: KernelProcess output: Content-Length: 373
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr: /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2196: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '\"hmac-sha256\"' \u2013 or use CUnicode.\n", "pid": 34885}}
Info 2021-11-29 23:43:07: Python Daemon (pid: 34885): write to stderr: /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2196: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '"hmac-sha256"' – or use CUnicode.

Info 2021-11-29 23:43:07: KernelProcess output: Content-Length: 348
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "/Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2196: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '\"hmac-sha256\"' \u2013 or use CUnicode.\n"}}Content-Length: 115
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr:   warn(\n", "pid": 34885}}Content-Length: 90
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "  warn(\n"}}Content-Length: 399
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr: /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2151: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '485a36c5-679b-4ec1-af60-10afb9ab9c4a' instead of 'b\"485a36c5-679b-4ec1-af60-10afb9ab9c4a\"'.\n", "pid": 34885}}Content-Length: 374
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "/Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2151: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '485a36c5-679b-4ec1-af60-10afb9ab9c4a' instead of 'b\"485a36c5-679b-4ec1-af60-10afb9ab9c4a\"'.\n"}}Content-Length: 115
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "log", "params": {"level": "INFO", "msg": "write to stderr:   warn(\n", "pid": 34885}}Content-Length: 90
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc": "2.0", "method": "output", "params": {"source": "stderr", "out": "  warn(\n"}}
Warn 2021-11-29 23:43:07: Kernel 34885 as possibly died, StdErr from Kernel Process /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2196: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '"hmac-sha256"' – or use CUnicode.

Warn 2021-11-29 23:43:07: StdErr from Kernel Process /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2196: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '"hmac-sha256"' – or use CUnicode.

Info 2021-11-29 23:43:07: Python Daemon (pid: 34885): write to stderr:   warn(

Warn 2021-11-29 23:43:07: Kernel 34885 as possibly died, StdErr from Kernel Process   warn(

Warn 2021-11-29 23:43:07: StdErr from Kernel Process   warn(

Info 2021-11-29 23:43:07: Python Daemon (pid: 34885): write to stderr: /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2151: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '485a36c5-679b-4ec1-af60-10afb9ab9c4a' instead of 'b"485a36c5-679b-4ec1-af60-10afb9ab9c4a"'.

Warn 2021-11-29 23:43:07: Kernel 34885 as possibly died, StdErr from Kernel Process /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2151: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '485a36c5-679b-4ec1-af60-10afb9ab9c4a' instead of 'b"485a36c5-679b-4ec1-af60-10afb9ab9c4a"'.

Warn 2021-11-29 23:43:07: StdErr from Kernel Process /Users/nickdaltonbarron/Developer/playermaker/.venv/lib/python3.9/site-packages/traitlets/traitlets.py:2151: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '485a36c5-679b-4ec1-af60-10afb9ab9c4a' instead of 'b"485a36c5-679b-4ec1-af60-10afb9ab9c4a"'.

  I can't get it to work with the october version either. Do you know what version you tried that worked?

Sure, it was:
Version: 2021.10.1365161279

I don't see that version listed anywhere?
This is what insiders allows:

This is what stable allows:

Oh no wait, you're talking about the python extension. It doesn't provide the intellisense in the interactive window.
That explains it. An older python extension did.

This should be working now.


FEATURE - Add insight stacking plugin

Build succeeded (check pipeline).

Sonar scan result
More detail, see in https://sonarqube-gate.intgdc.com/dashboard?id=gooddata-plugin-examples-gate-PR22
To scan for vulnerabilities in dependencies and run unit tests (to get coverage report in sonar) please comment your PR with 'extended check sonar'.

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/compliance/job/gooddata-plugin-examples-fossa-scanning-zuul-el7/21/ : SUCCESS in 6m 18s (non-voting)
https://checklist.intgdc.com/job/compliance/job/gooddata-plugin-examples-sonarqube-scan-zuul-gate/21/ : SUCCESS in 41s
https://checklist.intgdc.com/job/compliance/job/gooddata-plugin-examples-merge-compliance-check/22/ : SUCCESS in 29s


Safe to update office-ui-fabric-react npm package?

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Enhancement / Suggestion
[ ] Additional article idea

Observed Behavior
I noticed the included office-ui-fabric-react package version is 0.69.0. However, some important issues have been resolved in the meantime which would unblock current development issues (e.g. context propagation inside Layer components like Dialog, Panel).
I was wondering if it was safe to update the office-ui-fabric-react package to later versions, or what the possible side-effects would be?
Also, how would releasing a package with newer version have to be done?

Hi @NickSevens, are you asking how to independently include a newer version of office-ui-fabric-react in your web part ? Or when will the SharePoint Framework include a newer version of this package?

@manishgarg1 I'm mainly asking if it's safe to update the office-ui-fabric-react package to a newer version inside my SPFx project, in order to have some issues pulled in which were fixed in post-0.69.0 versions of the package. Currently, the component I'm developing is only in development - so publishing to O365 is not that relevant yet.
However, I do believe it would be something to have a guideline for, since the office-ui-fabric-react package will probably be updated much faster than the SPFx bits will. I expect there will be quite some cases where developers would want to have these updates pulled in, and that could indeed be a "custom" include in the package then.

Hi @NickSevens, at the current time it is recommended to use the version of office-ui-fabric-react that we ship with the framework. Currently we do not support side-by-side loading of this package on one page. e.g. It still has some global styles. That said, we are trying to work towards side-by-side loading as we march forward. So if you upgrade this package independently, there may be unexpected side effects on the modern pages, or the property pane or the workbench.

Okay. Thank you @manishgarg1.
Do you perhaps have an idea when or how often the package will be updated withing SPFx?
For example, will the package be upgraded to the latest version when releasing RC1 (or similar)?

@NickSevens SPFx depends on a set of packages and office-ui-fabric-react is one of them. As you guessed, it depends on a specific version. All the new modern experiences as well depend on that version at that time we ship.
So we recommend to not update the office-ui-fabric-react package. One good thing about this is that since Microsoft is also using this in the production and if we deemed blockers we would upgrade the version immediately and release an update to npm.

Does this mean that when shipping, the latest version at that moment is shipped with SPFx? Or when can an upgrade occur?

When SPFx ships, a version of the office-fabric-react will be shipped. SPFx and Office Fabric React are two independent projects.

@chakkaradeep but, "a" version of office-fabric-react is included as npm dependency. When is it decided to upgrade that dependency version? And when shipping a new version of SPFx (RC1 for example), what version of office-fabric-react is made dependent? The latest version? Or some other version used during dev?

Choosing the right version is owned by the engineering team. If you are asking how we choose the right version, thats up to the engineering team to decide based on various factors.

Okay, thanks for the explanation @chakkaradeep.

@NickSevens if you feel this has answered your queries, please feel free to close the issue. Thanks!

com.microsoft.office.word


Maintaining state whilst using createBrowserHistory

So I'm hoping this is just one of those cases where I'm completely wrong, but I have the following issue.
I'm working on a client which implements the facebook flux pattern and talks to my server via xhr calls.
As recommended per the documentation I have implemented the browser history object for routing. Now I'm not sure if I'm actually right here, but it seems that I am losing all application state whenever I navigate to a route via History.go(url), as my server handles the request and returns a re-initialised react app.
Obviously my app relies on storing data and persisting it throughout a 'session'. (authentication objects etc) Could someone perhaps provide some insight into this issue? It would be greatly appreciated.

Whoops forgot to leave comment. Sorry about the issue post I posted too quickly, just done some reading and realised that I should be using pushState and no go. Problem solved!


Allow for multiple sources (e.g. Nightly builds)

Hello, it would be nice to be able to download also the nightly builds > https://nodejs.org/download/nightly/

Ok i managed to change the url like state in https://github.com/marcelklehr/nodist/issues/119#issuecomment-187044863
var distUrl = 'https://nodejs.org/dist';
distUrl = 'https://nodejs.org/download/nightly';

With this I can download but then I cannot choose that version.. see screenshot

Sorry i changed back the url to orginal to fast..

Hey @pungggi in the upcoming v0.8.0 release you will be able to set an env var to point to the nightly dir :)
It might be a good idea to allow multiple sources, though. I'll reopen this as a reminder.

closed as of lack of interest

Okay @pungggi if this changes, I am happy to help on making this a reality.