How to regulate the range of Synthetic Data

❓Search before asking

I have searched for issues similar to this one.
❓Description

I noticed that my original dataset contains only positive values, but the generated data includes negative values. How can I constrain the range of each column in the generated data?

@GlenLeee  Good question!
In response to your request, we here plan to use Rule Manager in version planning (see Issue https://github.com/hitsz-ids/synthetic-data-generator/issues/149). This module is in development and will be released in subsequent versions.
In addition, if possible, can you provide a simple description of your data and which feature is most likely to cause this issue? So that we can further understand the situation from the application scenario side. (If this requirement is common, technically, we can also use metadata and data processor to automatically solve this requirement. This may also be a solution)
Thank you again for your question and look forward to your reply!

Is this an auto-reply letter hhhh?
In my dataset, each column represents the physical properties of soil. However, some columns have values that are relatively small, within the range of 0-1. The generated data includes negative values, which clearly do not comply with the physical laws. This is quite troubling for me.

It would be nice if I could restrict columns in the dataset I want to generate to a certain range.

Can you see the image I've attached? I've taken a portion of my dataset.

I can't see it, all I can see is this ⬇
Uploading 245eec5292e751ea0916e143837aa1d3.png…
Theoretically, we can upload pictures in the issue. It shows uploading. Is it still uploading?

I don't know, I can see the same thing you can see.

I've posted the screenshot again and as you can see the dataset is all positive, but the data I generated using SDG has negative values, interesting question!

I've posted the screenshot again and as you can see the dataset is all positive, but the data I generated using SDG has negative values, interesting question!

I can see the picture now.  I'll try to fix this soon, lets keep in touch :)

I can see the picture now. I'll try to fix this soon, lets keep in touch :)

Thank u sooo much :)

same problem when using the iris dataset.
Has this issue been solved?

same problem when using the iris dataset. Has this issue been solved?

hi @daydayuphere ,
This issue has been resolved.
We have introduced the PositiveNegativeFilter to address this in the current main branch.
Please see PR: https://github.com/hitsz-ids/synthetic-data-generator/pull/217
However, the current main branch has not yet been released.
You can use !pip install git+https://github.com/hitsz-ids/synthetic-data-generator.git.
I will release a version soon.

3ks for your reply.  Look forward to the new release.

3ks for your reply. Look forward to the new release.

We have released version 0.2.1, which should cover the feature mentioned above.

How to test this? looking for a code example...

iam still getting the negative values when i run the code with the latest updates
import pandas as pd
from sdgx.data_connectors.csv_connector import CsvConnector
from sdgx.models.ml.single_table.ctgan import CTGANSynthesizerModel
from sdgx.synthesizer import Synthesizer
from sdgx.utils import download_demo_data

# This will download demo data to ./dataset
dataset_csv = download_demo_data()

# Create data connector for csv file
data_connector = CsvConnector(path=r"C:\Users\Bhargav\Downloads\Book1.csv")

# Initialize synthesizer, use CTGAN model
synthesizer = Synthesizer(
    model=CTGANSynthesizerModel(epochs=1),  # For quick demo
    data_connector=data_connector,
)

# Fit the model
synthesizer.fit()

# Sample synthetic data
sampled_data = synthesizer.sample(1000)

# Save sampled data to CSV
output_path = r"C:\Users\Bhargav\Downloads\synthetic_data.csv"
sampled_data.to_csv(output_path, index=False)

print(f"Synthetic data saved to {output_path}")

same problem when using the iris dataset. Has this issue been solved?

hi @daydayuphere ,
This issue has been resolved.
We have introduced the PositiveNegativeFilter to address this in the current main branch.
Please see PR: #217
However, the current main branch has not yet been released.
You can use !pip install git+https://github.com/hitsz-ids/synthetic-data-generator.git.
I will release a version soon.

I glanced at the PR, and the issue may be that the Filter was not added to the Process handling chain; perhaps this requires such a functional test from unit testing. We will supplement relevant content later.

iam still getting the negative values when i run the code with the latest updates
import pandas as pd
from sdgx.data_connectors.csv_connector import CsvConnector
from sdgx.models.ml.single_table.ctgan import CTGANSynthesizerModel
from sdgx.synthesizer import Synthesizer
from sdgx.utils import download_demo_data

# This will download demo data to ./dataset
dataset_csv = download_demo_data()

# Create data connector for csv file
data_connector = CsvConnector(path=r"C:\Users\Bhargav\Downloads\Book1.csv")

# Initialize synthesizer, use CTGAN model
synthesizer = Synthesizer(
    model=CTGANSynthesizerModel(epochs=1),  # For quick demo
    data_connector=data_connector,
)

# Fit the model
synthesizer.fit()

# Sample synthetic data
sampled_data = synthesizer.sample(1000)

# Save sampled data to CSV
output_path = r"C:\Users\Bhargav\Downloads\synthetic_data.csv"
sampled_data.to_csv(output_path, index=False)

print(f"Synthetic data saved to {output_path}")

Could you provide us with a small CSV dataset to help us reproduce the bug?

If there are any bug reports about this features, feel free to open a new issue to discuss them!

Raised a bug Report https://github.com/hitsz-ids/synthetic-data-generator/issues/231


Add open source side API for export policy

Coverage decreased (-0.2%) to 23.082% when pulling bb1d6167421a123ff83afa41b10cf70032e6bef3 on cptran777:add-api-export-policy into 4de0f7981a9b460295ca4b5ed34417cc361748ed on linkedin:master.

Codecov Report

Merging #1354 into master will increase coverage by 0.34%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1354      +/-   ##
==========================================
+ Coverage   57.17%   57.51%   +0.34%
==========================================
  Files         182      182
  Lines        3785     3785
  Branches      838      838
==========================================
+ Hits         2164     2177      +13
+ Misses       1621     1608      -13

Impacted Files
Coverage Δ

wherehows-web/app/utils/api/datasets/schema.ts
83.33% <0%> (-16.67%)
:arrow_down:

wherehows-web/app/utils/api/datasets/compliance.ts
67.85% <0%> (-7.15%)
:arrow_down:

...mponents/datasets/containers/dataset-compliance.ts
38% <0%> (+2%)
:arrow_up:

wherehows-web/app/components/purge-policy.ts
100% <0%> (+18.51%)
:arrow_up:

wherehows-web/app/utils/array.ts
81.48% <0%> (+33.33%)
:arrow_up:

Continue to review full report at Codecov.

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


Certificates are not validated after one valid connection was established

Hi,
we've recently encountered an issue in a penetration test regarding certificate validation in our Android app which can be reproduced as follows;

You need to setup Burp Suite to proxy all requests on your Android phone or emulator and have the PortSwigger CA Cert installed as a system certificate (this requires a rooted Android device or emulator).
Create an OK Http Client and reuse it, e.g. in a click listener, to get a site via https, e.g. the ok http website.

Burp allows you to change the certificate the proxy uses, and we could observe the following behaviour;

If you created one valid connection with a CA-signed per-host certificate, you can then change the proxy to use self-signed certificates / signed certificates with specific hostnames, which should be declined. The client still works and approves the connection though.
If you start using these invalid certificates, the client declines them outright until a valid certificate "unlocks" the client again and you can use invalid certificates again.
If you always use a fresh client, the problem does not occur.

Since the best practice is to reuse an ok http client, this looks like an issue to me. If this is intentional though, it would be good to know the reasoning for the next penetration test.
Best regards,
Rob

I can take a look tonight, but what would help is output from an event listener to explain what is going on.
https://square.github.io/okhttp/features/events/
I'm not sure what declines means... the event logger output should explain a lot of this.

Hey,
after analyzing the event logs and talking with the penetration tester, we came to the conclusion that this is a non-issue, since the same secure connection is re-used so the client never interacts with the invalid certificates;
OkHttp Event: call start
OkHttp Event: proxy select start
OkHttp Event: proxy select end
OkHttp Event: dns start
OkHttp Event: dns end
OkHttp Event: connect start
OkHttp Event: secure connect start
OkHttp Event: secure connect end
OkHttp Event: connect end
OkHttp Event: connection acquirted
OkHttp Event: request headers start
OkHttp Event: request headers end
OkHttp Event: response headers start
OkHttp Event: response headers end
OkHttp Event: response body start
OkHttp Event: response body end
OkHttp Event: request headers start
OkHttp Event: request headers end
OkHttp Event: response headers start
OkHttp Event: response headers end
OkHttp Event: call start
OkHttp Event: connection acquirted
OkHttp Event: request headers start
OkHttp Event: request headers end
OkHttp Event: response headers start
OkHttp Event: response headers end
OkHttp Event: response body start
OkHttp Event: response body end
OkHttp Event: request headers start
OkHttp Event: request headers end
OkHttp Event: response headers start
OkHttp Event: response headers end


WIP: Token refresh

Pull Request Test Coverage Report for Build 453

35 of 37 (94.59%) changed or added relevant lines in 2 files are covered.
17 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.7%) to 89.769%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/security/keycloakFunctions.js
22
24
91.67%

Files with Coverage Reduction
New Missed Lines
%

src/security/keycloakSecurity.js
3
93.59%

src/security/keycloakFunctions.js
14
71.23%

Totals

Change from base Build 451:
-0.7%

Covered Lines:
1768

Relevant Lines:
1895

💛  - Coveralls


Implemented logic to add/remove physical IO adapter to lpar profile

Added logic to add/remove physical IO adapter to lpar profile
OpTestHMC.py is updated with definition to add/remove adapter MachineConfig.py is updated to call definitions defined in common

add_slot_debug.log
remove_slot_debug.log
Log files attached add_slot_debug for adding an adapter to profile
remove_slot_debug for removing adapter from profile

@maramsmurthy one round of logs with other values, os, lpar, cec.. so we are sure this code do not break other paths

add_adapter.log
remove_adapter.log
Attached are the logs when tried with machine_config={"os":"hugepagse=16G", "lpar":"cpu=dedicated,slot=U5B61.C01.01E8DBX-P0-C3", "cec":"lmb=16384"}


Update RedirectingPlugin.php

When extending the class method _isWhitelisted there is no access to $this->_recipient or $this->_whitelist so it might be good to make the local properties protected.

-1 for that. Just use the public getter and setters. There is no need to turn properties themselves into extension points for which BC must be taken into account


Audacity label importer

This is a tool to mainly improve the voice acting support of the text events, but applies to all audio events that feature a start_time and stop_time value.
A developer may now use the label feature in audacity to mark where a line will begin and end. This data may be exported from Audacity to a text file.
This text file may now be imported by this tool.
how to use/test:

How to use open any event that has an audio picker.
Unfold the audiopicker's advanced settings, find the start and end section.
press the new Aud butto
3a. If no label track have been loaded, the file loader will appear.
3b. select a label track export txt file
3c. press the Aud button again
select a timecode.
observe that the audiopicker's start and end values change to the selected item
press the LOAD NEW LABEL TRACK button to load a different label track (returning to step 3a)
Do not let yourself be caught in an infinite loop by step 6

known issues:

The popup's tool panel is transparent. Tried to fix it with a panel, but it somehow failed.
The popup appears at the wrong place. Possible that it needs an offset I do not know about.
Attempting to drag the scrollbar closes the window.

Alright, new update, as you can see from the commit.
The popup has a small glitch that I don't know how to fix yet, but right now, that's the only issue I can think of.
Small change in the UI. The popup's toolbar is gone.
The popup now is a popup window with a window text replacing the toolbar's text label.
The list of timecodes are now hidden, when no timecode data is loaded.
In its place, is a new button replacing the one from the toolbar, letting the developer load a file.
Left-clicking the Aud button no longer opens the file dialog, that honor befals the new button mentioned above.
Left-clicking the Aud button will now ALWAYS open the popup, regardless if any timecode data is loaded.
Right-clicking the Aud button, on the other hand, will now always open the file dialog, allowing a new file to be loaded.
This change were made with workflow in mind, I hope this works out as well as I imagine it.

uh, yeah, missed unchecking one of those localization files. Bah, they are annoying.

I will close this one since we discussed about it before, hopefully these kind of extensions will be easier for 2.0


Re-add function

resolves https://github.com/DetachHead/pytest-robotframework/issues/317

@KotlinIsland  Thanks, issue is fixed!


Callbacks for repeated delivery are closed before completion

Reason
Callbacks for repetitive actions (account, receipt) are closed before before the transaction is complete causing the app layer to miss results
Description
I only get the callback for 1 receipt/account, after that i get No callback registered. Skipping callback:
The issue is in the fire method in callback-mgr. It's because we remove the callback from the map once it's triggered, when we should be waiting until onComplete or onError to remove it. Since they share a request id, it should be trivial to fix (I may even do it tonight after I eat dinner). We do need to check both maps, because we share onComplete and onError (we should change this soon, it's a bad design as is).
Success Criteria

[ ] fire the callback for every event
[ ] remove the callback when the transaction is complete
[ ] depending how errors are handled, the callback should possibly also be removed onError

Additional Information
No response

moved to #340


Working on telegram-react
Encountered this issue https://github.com/evgeny-nadymov/telegram-react/issues/33
And then tried mode: 'asmjs' and stumbled upon this call.

Thanks, @kesha-antonov! We will fix that in tdweb soon. The pull request will be merged when the next TDLib version is released.

@levlam there is still the same

Login


tstart & tstop should be timedelta, not float

These are attributes of the .mdu file in the [time] part. Note that the timedelta could be of days, hours and seconds (another attribuet), so it's not a straightforward type change.

Closing as Won't do: The type for tstart and tstop are defined as floats in the user manual.
We could consider util functions to get and set these fields with a timedelta to help the user.


When Set fidp=localhost and tried with invalid credentials when page refreshes it list down the other IDPs as well

Configure Multiple Federated Identity Providers with WSO2 Identity Server
Then Define a “Home Realm Identifier:” value for each Federated IDP
Sent the “Home Realm Identifier” value as the query parameter in the authentication request.
By configuring fidp=localhost
And tried with invalid credentials
Then, once the page refreshes it list down the other IDPs in the login page.

Affected version - wso2 IS 5.2.0

Fixed with
wso2/carbon-identity-framework#1216


switch with is-close

@Graur please take a look at these tests:
[] > check-switch-close-1
  assert-that > @
    switch
      *
        TRUE
        1.0
    $.close-to
      1.0
      0.1

[] > check-switch-close-2
  assert-that > @
    switch
      *
        TRUE
        1.0
    $.equal-to 1.0

The second test passes succesfully but the first fails with stackoverflow error. Seems like a bug.
I have also tested it in eo-hamcrest and the first test freezes and does not finish

@levBagryansky Indeed, thanks for noticing

@levBagryansky Looks like this test passes in #173. Maybe you have another example?

@Graur It is passes but takes too long time.
I have pulled this repository, performed rm -r .eo/ , added the tests above and enter mvn clean test. All tests but the check-switch-close-1 has taken no more than 2 seconds. This test passed more than for 20s. Perhaps this effect was not seen by others. So I added a a little complicated tests
[] > check-switch-close-3
  assert-that > @
    switch
      *
        TRUE
        switch
          *
            TRUE
            1.0
    $.close-to
      1.0
      0.1

[] > check-switch-close-4
  assert-that > @
    switch
      *
        TRUE
        switch
          *
            TRUE
            1.0
    $.equal-to
      1.0

check-switch-close-4 still passes quite quickly in opposed to check-switch-close-3.
And created pr with check-switch-close-3. Please take a look at executing time of mvn checks.

@Graur I did the same with more complicated test. You can see approximately same result here:
switch in switch in switch with close-to
switch in switch in switch with equal-to
Difference in timing is colossal


Example Nav Drawer (offcanvas)

Thanks for the great library! Tell me, will you have an example of creating a nav using Drawer (offcanvas) ?

Hello @Dezmonter,
Thanks for the warm thoughts!
We actually do have a drawer navigation which is kind of a sidebar.
Or did you mean something else?
PS: moved this to the discussions page.


Undefined name 'v' in pasta/base/codegen.py

flake8 testing of https://github.com/google/pasta on Python 3.7.1
$ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
./pasta/base/codegen.py:75:23: F821 undefined name 'v'
        if isinstance(v, ast.Str):
                      ^
./pasta/base/codegen.py:76:24: F821 undefined name 'v'
          parts.append(v.s)
                       ^
2     F821 undefined name 'v'
2

Thank you. Looks like this needs test coverage as well, will add that.


Fix data partitioning

Can we have a high-level comment on what this patch is designed to fix... a bit of broader context?

The train/dev/test datasets were being chosen incorrectly. Since the speech commands dataset contains speakers saying the same word multiple times, the train/dev/test datasets shouldn't share any of the same speakers; doing so leads to an overestimation of model accuracy (in theory). The dataset identifies speakers in the filename, which the TF impl uses to partition the datasets accordingly.
I thought this bug would explain why the PT port had done better than the TF impl, but it didn't. The PT port still does better than the TF impl.

Since the speech commands dataset contains speakers saying the same word multiple times, the train/dev/test datasets shouldn't share any of the same speakers

I don't see anything wrong with this, actually - technically, we would call this stratification by user: for each user, some of the examples are included in the training/dev/test. This tell us how well the system would do training on my own voice - which is interesting.
Making sure the same user doesn't appear in the test is interesting also - it tells us how well we would do if the system never heard my name before...
Both are interesting test conditions... let's add an option to switch between the two?

Ah I see, I'll add an option.


feat: utils.json module / improving JsonBone

Proposal to fix #1064.
I'm still a little unhappy with this, as it bites with #1000, but after all it's a different use case. Maybe we can bring both together in some way.

Can we fix this https://github.com/viur-framework/viur-core/blob/471bee591af7c1620357bf1a7c24f03abb1bfffc/src/viur/core/bones/relational.py#L17-L21 with this PR too.


Modelling two intents in LU with overlapping utterances in intents/utterances being dropped silently

Describe the bug
Creating a new bot using the basic assistant template includes disambiguation.
When adding two intents and in my case deliberately trying to cause overlap (to test disambiguation) I've found that overlapping utterances are silently dropped from one of the intents. If the two intents have the same utterances then the whole intent is dropped again silently.
Version
2.0.0-nightly.239644
Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create a new Bot
Create an Intent with 3 utterances - book a flight, book, book me a flight
Create an intent with 3 utterances - book table, book restaurant, book

Observe after starting the Bot the LUIS model in the LUIS portal only has 2 utterances on the second intent.
Variation on the above, add the same utterances to each one and observe only one intent is created.
Expected behavior
For discussion

if we are going to "drop"  utterances we should at least warn the user
Given LUIS lets me do this happily in the portal I would assume we should not drop utterances?

Hey @darrenj , the LU file Parser dedupes utterances (I think the dedupe code lives around here).  Should we file this under the CLI?


Scopes are not processed when evaluating Join conditions

Playground Pull Request Link
https://github.com/go-gorm/playground/pull/743
Description
When using Joins/InnerJoins, there is an inconsistency about how the join clause is processed.
My application uses a number of preprepared filters, including some generated dynamically.
When used as Scopes() for normal queries, they work fine, but when they are used as a clause in a Join() or InnerJoin() they are ignored
db.Find(&User{})

SELECT * FROM users WHERE users.deleted_at IS NULL

db.Joins("Group").Find(&User{})

SELECT users.id,users.created_at,users.updated_at,users.deleted_at,users.name,users.group_id,Group.id AS Group__id,Group.created_at AS Group__created_at,Group.updated_at AS Group__updated_at,Group.deleted_at AS Group__deleted_at,Group.name AS Group__name FROM users LEFT JOIN groups Group ON users.group_id = Group.id AND Group.deleted_at IS NULL WHERE users.deleted_at IS NULL

db.Joins("Group", db.Where(&Group{Model: &gorm.Model{ID: 2}})).Find(&User{})

Note the "AND Group.id = 2" - this is as expected.

SELECT users.id,users.created_at,users.updated_at,users.deleted_at,users.name,users.group_id,Group.id AS Group__id,Group.created_at AS Group__created_at,Group.updated_at AS Group__updated_at,Group.deleted_at AS Group__deleted_at,Group.name AS Group__name FROM users LEFT JOIN groups Group ON users.group_id = Group.id AND (Group.deleted_at IS NULL AND Group.id = 2) WHERE users.deleted_at IS NULL

GroupFilter := func(id uint) func(*gorm.DB) *gorm.DB {
	return func(db *gorm.DB) *gorm.DB {
		return db.Where(&Group{Model: &gorm.Model{ID: id}})
	}
}
db.Joins("Group", db.Scopes(GroupFilter(2))).Find(&User{})

In this case the parameter is checked, and isnt a simple "Where" clause, so it is ignored.

SELECT users.id,users.created_at,users.updated_at,users.deleted_at,users.name,users.group_id,Group.id AS Group__id,Group.created_at AS Group__created_at,Group.updated_at AS Group__updated_at,Group.deleted_at AS Group__deleted_at,Group.name AS Group__name FROM users LEFT JOIN groups Group ON users.group_id = Group.id AND Group.deleted_at IS NULL WHERE users.deleted_at IS NULL

If "chainable_api.go" included a call to db.executeScopes() before checking
	if where, ok := db.Statement.Clauses["WHERE"].Expression.(clause.Where); ok {
		j.On = &where
	}

This would work.
(Ps, I'm new to gorm playground, and I couldn't get past the gorm.io/gen/examples/dal: cannot find module providing package gorm.io/gen/examples/dal error)

Go playground test output
git clone --depth 1 -b master https://github.com/go-gorm/gorm.git
Cloning into 'gorm'...
remote: Enumerating objects: 180, done.
remote: Counting objects: 100% (180/180), done.
remote: Compressing objects: 100% (172/172), done.
remote: Total 180 (delta 13), reused 52 (delta 6), pack-reused 0
Receiving objects: 100% (180/180), 233.63 KiB | 3.49 MiB/s, done.
Resolving deltas: 100% (13/13), done.
gorm.io/playground imports
        gorm.io/gen/examples/dal: cannot find module providing package gorm.io/gen/examples/dal

Sample Code
package main

import (
	"log"
	"os"
	"time"

	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
	"gorm.io/gorm/logger"
)

type User struct {
	*gorm.Model
	Name    string
	GroupID uint

	Group Group
}

type Group struct {
	*gorm.Model
	Name string
}

func main() {
	dbDriver := sqlite.Open("test.db")

	db, _ := gorm.Open(dbDriver, &gorm.Config{})

	err := db.AutoMigrate(
		&User{},
		&Group{},
	)

	db = db.Debug()
	if err != nil {
		panic(err)
	}

	db.Find(&User{})
	db.Joins("Group").Find(&User{})
	db.Joins("Group", db.Where(&Group{Model: &gorm.Model{ID: 2}})).Find(&User{})

	GroupFilter := func(id uint) func(*gorm.DB) *gorm.DB {
		return func(db *gorm.DB) *gorm.DB {
			return db.Where(&Group{Model: &gorm.Model{ID: id}})
		}
	}
	db.Joins("Group", db.Scopes(GroupFilter(2))).Find(&User{})
}

Added playground pull request playground/pull#743
https://github.com/go-gorm/playground/pull/743


Add copying bsim exe in Twister

With this PR I would like to start bigger action connected with moving building of BabbleSim tests from bash scripts to the Twister. To make it possible it is necessary to add in Twister possibility of copying executable files from Twister build directory to BabbleSim bin directory (${BSIM_OUT_PATH}/bin). This requirement is connected with a way how BabbleSim tests works and with expectation that all necessary executables (simulated device applications and physical layer) are stored in one place.
I propose to add two new options to Twister .yaml file: bsim_copy_exe and bsim_exe_name. First of them can store bool value and indicates, that Twister should perform copying action or not (by default not). Second one is optional and stores information about what should be a name of copied executable in BabbleSim bin directory. When user does not provide bsim_exe_name, then the name of copied file is determined basing on test instance unique name.
To show how those changes can be used in practice I added one testcase.yaml file for tests/bsim/bluetooth/ll/bis test. Adding testcase.yaml files to the rest of bsim tests is quite demanding, and it can be realized when necessary changes in Twister will be accepted at first. So, when this PR will be merged, then next PR with adding rest of testcase.yaml will be opened.
To test:
# export ZEPHYR_BASE and BSIM_OUT_PATH variables

./scripts/twister -vv --inline-logs --integration -T tests/bsim/bluetooth/ll/bis

export WORK_DIR=${ZEPHYR_BASE}/bsim_out
mkdir -p ${WORK_DIR}
export SEARCH_PATH="tests/bsim/bluetooth/ll/bis"
export RESULTS_FILE=${WORK_DIR}/results_nrf52_bsim.xml
BOARD=nrf52_bsim ./tests/bsim/run_parallel.sh
export SEARCH_PATH="tests/bsim/bluetooth/ll/bis"
export RESULTS_FILE=${WORK_DIR}/results_nrf5340bsim_nrf5340_cpunet.xml
BOARD=nrf5340bsim_nrf5340_cpunet ./tests/bsim/run_parallel.sh
export TESTS_LIST="tests/bsim/bluetooth/ll/bis/tests_scripts/broadcast_iso.sh"
export RESULTS_FILE=${WORK_DIR}/results_nrf5340bsim_nrf5340_cpuapp.xml
BOARD=nrf5340bsim_nrf5340_cpuapp ./tests/bsim/run_parallel.sh
export TESTS_LIST=""

@gopiotr , just wonder is it possible to add those change in twister to west command expansion, so that we can call
west flash --runner bsim -- 'bsim-opt='<bsim options>'
and set the bsim options in testcase.yaml
so that we can make twister clean on this, just run twister with
./scripts/twister -vv --inline-logs --integration -T tests/bsim/bluetooth/ll/bis --west-flash

@gopiotr , just wonder is it possible to add those change in twister to west command expansion, so that we can call west flash --runner bsim -- 'bsim-opt='<bsim options>' ...

Not really, as the problem is that these type of multidevice tests require several images, and the relationship between tests and images is not straight forward.

@gopiotr , just wonder is it possible to add those change in twister to west command expansion, so that we can call west flash --runner bsim -- 'bsim-opt='<bsim options>' ...

As Alberto said, the challenge with porting fully BabbleSim tests under Twister is connected with multidevice "nature" of those tests. For example, let's consider this one:
https://github.com/zephyrproject-rtos/zephyr/blob/main/tests/bsim/bluetooth/ll/bis/tests_scripts/broadcast_iso_vs_dp.sh
To execute it, you need to build two separate applications (bluetooth.ll.bis and bluetooth.ll.bis_vs_dp) - in other words there is no one-to-one matching between application to build and test to execute - various applications can be used multiple times in various tests.
Theoretically, this challenge could be overcome by sysbuild, but I already tried to do this in this draft PR: https://github.com/zephyrproject-rtos/zephyr/pull/63691 and it shows that trying to base only on sysbuild is insufficient and not optimal.

With this PR I would like to start bigger action connected with moving building of BabbleSim tests from bash scripts to the Twister.

where is this "bigger action"  happening and where does this fall in the overall big picture, it will help understand where this is going and provide feedback and suggestions...
So, this will just copy some files around, is twister going to also run the tests at some point? How does this work. Please give more details.

to make it possible it is necessary to add in Twister possibility of copying executable files from Twister build directory to BabbleSim bin directory (${BSIM_OUT_PATH}/bin).

General question not directly related to twister i guess, I just run this with the provided testcase.yaml and I see the exe files being copied into the local installation of bsim (/opt/bsim/bin), so I end up getting a whole lot of binaries in /opt/bsim/bin
-rwxr-xr-x 1 nashif nashif 3533152 Dec 21 07:52 bs_nrf52_bsim_tests_bsim_bluetooth_host_att_eatt_bluetooth_eatt_autoconnect
-rwxr-xr-x 1 nashif nashif 3527220 Dec 21 07:52 bs_nrf52_bsim_tests_bsim_bluetooth_host_att_eatt_bluetooth_eatt_collision
-rwxr-xr-x 1 nashif nashif 3527968 Dec 21 07:52 bs_nrf52_bsim_tests_bsim_bluetooth_host_att_eatt_bluetooth_eatt_lowers
-rwxr-xr-x 1 nashif nashif 3532768 Dec 21 07:52 bs_nrf52_bsim_tests_bsim_bluetooth_host_att_eatt_bluetooth_eatt_multiple_conn
-rwxr-xr-x 1 nashif nashif 4776612 Dec 21 07:29 bs_nrf52_bsim_tests_bsim_bluetooth_ll_bis_prj_conf
-rwxr-xr-x 1 nashif nashif 4791404 Dec 21 07:29 bs_nrf52_bsim_tests_bsim_bluetooth_ll_bis_prj_conf_overlay-ticker_expire_info_conf
-rwxr-xr-x 1 nashif nashif 4795068 Dec 21 07:29 bs_nrf52_bsim_tests_bsim_bluetooth_ll_bis_prj_vs_dp_conf
-rwxr-xr-x 1 nashif nashif 6699820 Dec 21 07:29 bs_nrf5340bsim_nrf5340_cpuapp_tests_bsim_bluetooth_ll_bis_prj_conf
-rwxr-xr-x 1 nashif nashif 4668900 Dec 21 07:29 bs_nrf5340bsim_nrf5340_cpunet_tests_bsim_bluetooth_ll_bis_prj_conf
-rwxr-xr-x 1 nashif nashif 4676132 Dec 21 07:29 bs_nrf5340bsim_nrf5340_cpunet_tests_bsim_bluetooth_ll_bis_prj_conf_overlay-ticker_expire_info_conf
-rwxr-xr-x 1 nashif nashif 4684232 Dec 21 07:29 bs_nrf5340bsim_nrf5340_cpunet_tests_bsim_bluetooth_ll_bis_prj_vs_dp_conf

Does not look like a clean approach copying files into the host in a shared and system folder and leaving them there. Looks odd and a source for problems.

where is this "bigger action" happening and where does this fall in the overall big picture, it will help understand where this is going and provide feedback and suggestions...

@nashif - as I wrote in PR description, my intention is to rewrite building of BabbleSim tests (placed in tests/bsim directory) from bash scripts (tests/bsim/compile.sh) to more manageable testcase.yaml files managed by Twister. To achieve this I needed to add some changes in Twister, what is showed in this PR. When I wrote about "bigger action", I thought about those 3 steps:

Applying changes in Twister (this PR).
Adding testcase.yaml files to all existing BabbleSim tests.
Applying changes in .github/workflows/bsim-tests.yaml to switch building from bash scripts to Twister

If this could be helpful to you I can create dedicated tracking issue with list of necessary tasks which needs to be done to achieve this migration.

So, this will just copy some files around, is twister going to also run the tests at some point? How does this work. Please give more details.

As I wrote, at this moment I would like to focus only on using Twister for building of those tests. One of tests/bsim/compile.sh script responsibility is copying executable at the end of building from build directory to the ${BSIM_OUT_PATH}/bin directory. If I would like to replace this bash script by Twister I need to realize somehow this action - that's why I added this to Twister in this PR. Execution of BabbleSim tests is now performed by tests/bsim/run_parallel.sh script and I don't want to replace it by Twister at this moment, because this is more demanding task and it requires bigger effort and rethinking how multidevice testing should be performed in Twister. I believe that even rewriting only this "building" part is valuable and can significantly increase manageability of those tests and in short words - make it easier to work with bsim tests by developers. An example of how this could works in practice was also presented in PR description.

General question not directly related to twister i guess, I just run this with the provided testcase.yaml and I see the exe files being copied into the local installation of bsim (/opt/bsim/bin), so I end up getting a whole lot of binaries in /opt/bsim/bin
...
Does not look like a clean approach copying files into the host in a shared and system folder and leaving them there. Looks odd and a source for problems.

@aescolar could you please explain why this works in this way? In general I know why, but I think that it can be more valuable if author of this solution brings there detailed explanation ;)

@nashif - as I wrote in PR description, my intention is to rewrite building of BabbleSim tests (placed in tests/bsim directory) from bash scripts (tests/bsim/compile.sh) to more manageable testcase.yaml files managed by Twister. To achieve this I needed to add some changes in Twister, what is showed in this PR. When I wrote about "bigger action", I thought about those 3 steps:

Applying changes in Twister (this PR).
Adding testcase.yaml files to all existing BabbleSim tests.
Applying changes in .github/workflows/bsim-tests.yaml to switch building from bash scripts to Twister

If this could be helpful to you I can create dedicated tracking issue with list of necessary tasks which needs to be done to achieve this migration.

So, this will just copy some files around, is twister going to also run the tests at some point? How does this work. Please give more details.

As I wrote, at this moment I would like to focus only on using Twister for building of those tests. One of tests/bsim/compile.sh script responsibility is copying executable at the end of building from build directory to the ${BSIM_OUT_PATH}/bin directory. If I would like to replace this bash script by Twister I need to realize somehow this action - that's why I added this to Twister in this PR. Execution of BabbleSim tests is now performed by tests/bsim/run_parallel.sh script and I don't want to replace it by Twister at this moment, because this is more demanding task and it requires bigger effort and rethinking how multidevice testing should be performed in Twister. I believe that even rewriting only this "building" part is valuable and can significantly increase manageability of those tests and in short words - make it easier to work with bsim tests by developers. An example of how this could works in practice was also presented in PR description.

Thanks for the details.
I understand all of the above, my point here is that we need a rough deisgn or idea of the overall solution or at least a list of things to be done and how to get going with the changes.
This is till my main concern:

This is adding bsim specifics into twister and test configurations without any additional context. Can this be generalized? Copying files and making them available to tooling sounds like a very common thing.

Given that bsim tests are their own thing, would it make sense to define a new harness where anything related to bsim would be defined in the harness configuration rather than be global keys?
so, something like that:
common:
  build_only: true
  tags: bluetooth
tests:
  bluetooth.ll.bis:
    sysbuild: true
    platform_allow:
      - nrf52_bsim
      - nrf5340bsim_nrf5340_cpuapp
      - nrf5340bsim_nrf5340_cpunet
    integration_platforms:
      - nrf52_bsim
      - nrf5340bsim_nrf5340_cpuapp
      - nrf5340bsim_nrf5340_cpunet
    harness: bsim
    harness_config:
        bsim_exe_name: tests_bsim_bluetooth_ll_bis_prj_conf
        ...
        ...
.....

btw, you need to think about how to auto-generare the exe name, maintaining this statically in files when it is just a representation of path and test name is going to be error prone.

Given that bsim tests are their own thing, would it make sense to define a new harness where anything related to bsim would be defined in the harness configuration rather than be global keys?
so, something like that:
tests:
  bluetooth.ll.bis:
    ...
    harness: bsim
    harness_config:
        bsim_exe_name: tests_bsim_bluetooth_ll_bis_prj_conf
        ...

Okay, I can try to do this in this way. Harnesses are used in Twister mainly during test execution phase, but still I think that it can be used also in context of this specific "post-building" copying action.

btw, you need to think about how to auto-generare the exe name, maintaining this statically in files when it is just a representation of path and test name is going to be error prone.

Yes, I know about this and I already propose a way for auto-generating of exe names in this PR. At this moment I used bsim_exe_name to maintain backward compatibility - using auto-generating exe names requires also changes in "test_scripts" (I explained it better here: https://github.com/zephyrproject-rtos/zephyr/pull/66676#discussion_r1433083623). But I believe that when porting of all bsim tests to testcase.yaml files will be finished, then using of bsim_exe_name will be reduced only to few edge cases - like in those tests:
https://github.com/zephyrproject-rtos/zephyr/blob/f688532412432987682716de60bdf17f2afd4b38/tests/bsim/bluetooth/audio_samples/compile.sh#L30-L40

Okay, I can try to do this in this way. Harnesses are used in Twister mainly during test execution phase,

isnt that the end goal?

Okay, I can try to do this in this way. Harnesses are used in Twister mainly during test execution phase,

isnt that the end goal?

Yes, I agree that it would be perfect if Twister could be used also for execution of those tests. Actually my time resources allows me to focus only on porting this building part of bsim tests and that's what I would like to achieve in short-term.

General question not directly related to twister i guess, I just run this with the provided testcase.yaml and I see the exe files being copied into the local installation of bsim (/opt/bsim/bin), so I end up getting a whole lot of binaries in /opt/bsim/bin
...
Does not look like a clean approach copying files into the host in a shared and system folder and leaving them there. Looks odd and a source for problems.

@aescolar could you please explain why this works in this way? In general I know why, but I think that it can be more valuable if author of this solution brings there detailed explanation ;)

The why: because it was an easy setup that worked and required few steps from users. But yes, it is not too nice.
For users who mind having the build output in the same place as the simulator source, they can set BSIM_OUT_PATH to another directory (it just seemed easier to tell people to just point BSIM_OUT_PATH to the same place as the simulator source)
It would even be possible to place those executables in another place all together (i.e. not BSIM_OUT_PATH. But then the user needs to set LD_LIBRARY_PATH correctly, and they need to understand some other things, which would probably lead to frustration).
Anyhow, in the context of this PR, what the current bsim test scripts are doing is

Build all ~80 images needed by all bsim tests in batch with compile.sh, which results in all executables placed in ${BSIM_OUT_PATH}/bin.
And where the executables are just named something unique enough and simple enough: bs_<platform>_<app_path>_<prj_config_file>[_<overlay_config_file>] by default.
(what this PR track is aiming at replacing)
Run all tests in batch/parallel with run_parallel.sh (~1000), where each test expects the executables for the images it uses already built and ready ${BSIM_OUT_PATH}/bin with those names.

Replacing 1. and 2. together is where we got into the hairiness of {N images} -> {M tests} dependencies and so forth. So I think @gopiotr idea of tackling 1. first, is a good path. And as he said, it should already be nicer for users to be able to run twister to build the images.

@nashif I introduced your propositions with harness: bsim. Please re-review.

@gopiotr it makes sense to define the new harness is a class and move the bsim related code to that class, on top of your PR, this could look like this:
diff --git a/scripts/pylib/twister/twisterlib/harness.py b/scripts/pylib/twister/twisterlib/harness.py
index c1d0b6fd23c..0c3eb49488d 100644
--- a/scripts/pylib/twister/twisterlib/harness.py
+++ b/scripts/pylib/twister/twisterlib/harness.py
@@ -12,6 +12,7 @@ import xml.etree.ElementTree as ET
 import logging
 import threading
 import time
+import shutil

 from twisterlib.error import ConfigurationError
 from twisterlib.environment import ZEPHYR_BASE, PYTEST_PLUGIN_INSTALLED
@@ -84,6 +85,9 @@ class Harness:
                 self.record_pattern = re.compile(self.record.get("regex", ""))

+    def build(self):
+        pass
+
     def get_testcase_name(self):
         """
         Get current TestCase name.
@@ -650,6 +654,35 @@ class Test(Harness):
 class Ztest(Test):
     pass

+class Bsim(Test):
+
+    def build(self):
+        """
+        Copying the application executable to BabbleSim's bin directory enables
+        running multidevice bsim tests after twister has built them.
+        """
+        original_exe_path: str = os.path.join(self.instance.build_dir, 'zephyr', 'zephyr.exe')
+        if not os.path.exists(original_exe_path):
+            logger.warning('Cannot copy bsim exe - cannot find original executable.')
+            return
+
+        bsim_out_path: str = os.getenv('BSIM_OUT_PATH', '')
+        if not bsim_out_path:
+            logger.warning('Cannot copy bsim exe - BSIM_OUT_PATH not provided.')
+            return
+
+        new_exe_name: str = self.instance.testsuite.harness_config.get('bsim_exe_name', '')
+        if new_exe_name:
+            new_exe_name = f'bs_{self.instance.platform.name}_{new_exe_name}'
+        else:
+            new_exe_name = self.instance.name
+            new_exe_name = new_exe_name.replace(os.path.sep, '_').replace('.', '_')
+            new_exe_name = f'bs_{new_exe_name}'
+
+        new_exe_path: str = os.path.join(bsim_out_path, 'bin', new_exe_name)
+        logger.debug(f'Copying executable from {original_exe_path} to {new_exe_path}')
+        shutil.copy(original_exe_path, new_exe_path)
+

 class HarnessImporter:
diff --git a/scripts/pylib/twister/twisterlib/runner.py b/scripts/pylib/twister/twisterlib/runner.py
index 9f1ad373044..45dfb17e89f 100644
--- a/scripts/pylib/twister/twisterlib/runner.py
+++ b/scripts/pylib/twister/twisterlib/runner.py
@@ -1052,37 +1052,18 @@ class ProjectBuilder(FilterBuilder):
         return self.run_cmake(args,filter_stages)

     def build(self):
+        harness = HarnessImporter.get_harness(self.instance.testsuite.harness.capitalize())
         build_result = self.run_build(['--build', self.build_dir])
-        if self.testsuite.harness == 'bsim' and 'BSIM_OUT_PATH' in self.platform.env:
-            self._copy_bsim_executable()
-        return build_result
-
-    def _copy_bsim_executable(self):
-        """
-        Copying the application executable to BabbleSim's bin directory enables
-        running multidevice bsim tests after twister has built them.
-        """
-        original_exe_path: str = os.path.join(self.build_dir, 'zephyr', 'zephyr.exe')
-        if not os.path.exists(original_exe_path):
-            logger.warning('Cannot copy bsim exe - cannot find original executable.')
-            return
-
-        bsim_out_path: str = os.getenv('BSIM_OUT_PATH', '')
-        if not bsim_out_path:
-            logger.warning('Cannot copy bsim exe - BSIM_OUT_PATH not provided.')
+        try:
+            harness.instance = self.instance
+            harness.build()
+        except ConfigurationError as error:
+            instance.status = "error"
+            instance.reason = str(error)
+            logger.error(instance.reason)
             return
+        return build_result

-        new_exe_name: str = self.testsuite.harness_config.get('bsim_exe_name', '')
-        if new_exe_name:
-            new_exe_name = f'bs_{self.platform.name}_{new_exe_name}'
-        else:
-            new_exe_name = self.instance.name
-            new_exe_name = new_exe_name.replace(os.path.sep, '_').replace('.', '_')
-            new_exe_name = f'bs_{new_exe_name}'
-
-        new_exe_path: str = os.path.join(bsim_out_path, 'bin', new_exe_name)
-        logger.debug(f'Copying executable from {original_exe_path} to {new_exe_path}')
-        shutil.copy(original_exe_path, new_exe_path)

     def run(self):

I quickly put this together, so it might need some refinement.

@gopiotr it makes sense to define the new harness as a class and move the bsim related code to that class, on top of your PR, this could look like this:

@nashif I applied your suggestion. Please re-review.


Prune interpolate causes exception when blacklist is omitted.

When using the prune filter's whitelist option and the interpolate => true option a fatal exception is produced:
org.logstash.FieldReference$IllegalSyntaxException: Invalid FieldReference: `[^`
Seemingly caused by blacklist_fields default value being "%{[^}]+}" and a sprintf call that ultimately causes the error. Badger on the elastic forums pointed this out: https://discuss.elastic.co/t/prune-not-parsing-date-component-of-custom-elasticsearch-index/197129/2
Config File
input {
        beats {
                port => 5044
                ssl => true
                ssl_certificate_authorities => ["/etc/ssl/certs/ca_cert.pem"]
                ssl_certificate => "/etc/logstash/ssl/certs/logstash.pem"
                ssl_key => "/etc/logstash/ssl/keys/logstash-pkcs8.key"
                ssl_verify_mode => "force_peer"
        }
}

filter {
        prune {
                interpolate => true
                whitelist_names => ["message"]
        }
}

output {
        elasticsearch {
                hosts => ["http://localhost:9200"]
                index => "custom_index-%{+YYYY.MM.dd}"
                user => "username"
                password => "password"
        }
}

Logstash Version: 7.3.1
Operating System: Ubuntu 18.04.2 LTS
Debug trace from console: https://pastebin.com/hx01S1kS

closed by #25


Pod Security Policies

The documentation should not be removed for pod security policies, nor difficult to obtain.  But should still have the deprecation listed.
https://kubernetes.io/docs/concepts/security/pod-security-policy/
Specifically, If you are not running Kubernetes v1.25, check the documentation for your version of Kubernetes.  Can this be a link i'm finding it difficult to find this, in the confines of kubernetes.io

The page https://kubernetes.io/docs/concepts/security/pod-security-policy/ is in fact still there, and has links to documentation for PodSecurityPolicies in Kubernetes v1.21 through to Kubernetes v1.24 (hint: click on Versions).
To help readers who don't work it out, we could:

add some text that explains how to click on Versions in order to see older versions of the page
link to https://kubernetes.io/docs/home/supported-doc-versions/

I think it's also reasonable to file a related issue, that readers have trouble discovering that documentation for other Kubernetes versions is available. @cccsss01 would you be willing to do that.
/retitle Trouble finding legacy PodSecurityPolicy documentation
/language en

/priority awaiting-more-evidence

/close not-planned


gsuImporter is racy

AFAIK, there are no data races in the importer, but it's not globally synchronized on import paths so sometimes the same package is imported multiple times in parallel by different instances.
Apart from the performance issue, it means that sometimes typechecking can fail because type instances don't match, even though they have the same name.

Kim-Porter doesn't have this problem...


Need to add to Vercel Environmental Variables

NEXT_PUBLIC_PRICE_LINK_URL=#
NEXT_PUBLIC_PRICE_LINK_LABEL=Price Data

If you don't add these two variables the Development environment will throw an error. Same with production. A button requires these variables and will throw undefined error.

Don't have access to Vercel currently.

testnet is currently running on netlify. it is just using the .env file in the repo, so feel free to open a pr

What are the .env variables for production? I don't have access to the Vercel.


useUserMedia

Here's a plain Javascript version that I'm using in my application:
function useUserMedia(constraints, errorCallback=(()=>undefined)) {
    const [stream, setStream] = useState();

    useEffect(_ => {
        navigator.mediaDevices.getUserMedia(constraints)
            .then(setStream)
            .catch(errorCallback)
    }, [stream]);

    return stream;
}

To get user's front camera and audio feed:
const constraints = {
    video: true,
    audio: true
};

const onError = (e) => alert(e);

const localstream = useUserMedia(constraints, onError);

Looks like could be a useful addition to this library.

Could removing stream prevent re-renders

This simply halved the number of re-renders lol. My project structure is such that there's an App component which stores a MediaStream object, and puts it in a video.
I'll try a useVideo implementation, but that would be opinionated. Lemme check.


Database restore issues in Docker

I'm running a Rails app in a Docker container with Sqlite and I'm using the following command in the Docker entrypoint file:
./bin/rails litestream:restore -- --database=storage/production.sqlite3 --if-replica-exists

A few times now, the database has failed to restore with the following error message:
level=ERROR msg="failed to run" error="cannot apply wal: database disk image is malformed"

What does this error mean and is this the way I should be managing this in a docker environment?

I unfortunately don't use Docker myself, so I'm not sure if that is an important detail or not. We can start debugging by checking the integrity of the database. Open the Rails console and run ActiveRecord::Base.connection.raw_connection.execute "PRAGMA integrity_check;". What output do you see?


Level of access to file system / system resources in Outlook add-in

Hi there, just want to check if, under the "isolated javascript run-time provided by browsers", I am able to access files on the host system, for example Keychain on the MacOS and use the SubtleCrypto interface of the Web Crypto API to perform cryptographic functions?

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

ID: c9684853-18cc-37d4-8556-4bfc31f5d7a9
Version Independent ID: 4cc0db3d-c85f-8176-7629-a5bccf784a0a
Content: Privacy and security for Office Add-ins - Office Add-ins
Content Source: docs/concepts/privacy-and-security.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

@hthjthtrh Thanks for your question.
@exextoc Can you take a look?
Thanks.


Edge Runtime compatibility

Any timeframe for this becoming compatible with Edge runtime?
I am trying to use and I get the following Typescript error:
TS2345: Argument of type '(req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>) => void' is not assignable to parameter of type 'Nextable<RequestHandler<NextRequest, NextFetchEvent>> | RouteMatch'.   Type '(req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>) => void' is not assignable to type 'Nextable<RequestHandler<NextRequest, NextFetchEvent>>'.     Types of parameters 'req' and 'args_0' are incompatible.       Type 'NextRequest' is missing the following properties from type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>': get, header, accepts, acceptsCharsets, and 83 more.

passport-magic-login uses the standard Node.js types, so it sounds like there needs to be some compatibility layer on the Edge runtime side.


Scene Understanding Example Broken

Overview
Scene Understanding example not rendering as intended.
Expected behavior
Creates meshes for different parts of the scene
Actual behavior
Creates meshes for different parts of the scene but frame rate is choppy and flashy.
Steps to reproduce
Pasted development branch into new project
Installed Scene Understanding SDK with Mixed Reality install tool
Built and uploaded to HoloLens 2
Unity editor version
Unity 2020.3.21f
Mixed Reality Toolkit release version
Tested with 2.7.2 and Development branch
Video attached. Epilepsy warning?
https://user-images.githubusercontent.com/73355311/139700708-413aa398-57a4-4b4f-b8bd-6077cac839b4.mp4

UnityPlayer log attached
UnityPlayer(14).log

Uses Plugin managers rather than OpenXR

Hey @anthony-simetri, thanks for reporting this. That flashing looks awful and I'm sorry to hear you experienced it. We did some digging and found that this issue is a Unity bug that was introduced in Unity 2020.3.21f. We've seen it across multiple example scenes, not just the scene understanding example. Unity is aware and working on a fix that is expected to be part of the 2020.3.22f release.
In the meantime I recommend staying away from 2020.3.21f and using an earlier release of 2020.3 LTS.

I am going to change the title of this issue to accurately reflect that it affects Unity 2020.3.21f across the board.

Ah. Thank you for looking into this.

I have looked into this issue as well and found that not every way (example: ARM Release) to build MRTK HoloLens 2 apps are effected by this issue. Below you can find the results of my investigation and the effected architectures.
Architectures WITH the flashing issue
Unity 2020.3.21f1
ARM64 Release
ARM64 Master
ARM Master
Architectures WITHOUT the flashing issue
Unity 2020.3.21f1
ARM64 Debug
ARM Release
ARM Debug

I'm going to keep this bug open until there is a fix published.

@elbuhofantasma reported today that this is still being seen in HoloeLens 2 ARM64 releases on Unity 2020.3.22f.

@elbuhofantasma reported today that this is still being seen in HoloeLens 2 ARM64 releases on Unity 2020.3.22f.

The release notes on Unity 2020.3.22f only note that this is a known bug. It seems they have not fixed it yet.

The fix for this should be in Unity 2020.3.24 that is targeting Dec 1st.

Unity has confirmed the fix will be in the 2020.3.24 release in this post here,
https://forum.unity.com/threads/flickering-issue-affecting-hololens-2-projects-in-2020-3-21-and-later.1200199/

I am closing this issue, but keeping it pinned since these versions will always be susceptible to this issue. On 12/2/2021 Unity released Unity 2020.3.24f1. I can confirm that this version fixes the screen flashing problem noted in this issue.
We are now recommending Unity 2020.3.24f1 for the latest MRTK supported Unity 2020 LTS.


Add SQL Server tempdb to list of suitable files for Temporary Disk

Proposing to add "SQL Server tempdb" to the list of files that are suitable for the Temporary disk. Putting SQL's tempdb on the Temporary drive is part of our guidance/best practices per https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-storage?view=azuresql#checklist

@roygara

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Bug: Custom Markdown InlineSyntax extension inconsistently breaks paragraphs [Web]

The bug is either within markdown/dart or flutter_markdown, not sure exactly which. No errors, just rendered incorrectly.
Steps to Reproduce

Make an extension to add a custom markdown step by step using this guide.

Instead of just a few lines of text have a full paragraph. Insert the new custom markdown symbols somewhere within paragraph.

Observe the paragraph continuity disrupted - it will be cut into three paragraphs instead.

Move the custom part within .md into the paragraphs end.

Observe that the custom part is displayed in the newline instead of continuation.

Strip down paragraph to be just a few words, with a short custom-marked string in the end.

Observe the correct display.

Minimal bug example

Clone reproduction repo: https://github.com/Darth-Carrotpie/flutter_markdown_bug
Run code via "flutter run -d chrome --web-renderer html"
Grab and drag the side the of your chrome window to change window and observe how paragraph is rendered.

Expected results: There is just a single paragraph with a highlighted text in the center.
Actual results: Paragraph is broken into multiple pieces, depending on it's width.

Switch up example string markdownData1 in main.dart with markdownData2, then hit R for hot reload and observe the single paragraph cut in three pieces.

@Darth-Carrotpie
Thanks for the detailed report and code sample. Verified this on latest master and stable and observed same behavior using both renderers:

Is this a correct interpretation of the issue ? Also, what version you observed this ?

Hey, thanks @darshankawar  for quickly looking into it.

Is this a correct interpretation of the issue ? Also, what version you observed this ?

Yes, in the image you can see that the custom Inline element should be rendered in the position to be a part of the paragraph, but instead it jumps to newline.
Versions
Flutter 2.4.0-4.2.pre • channel beta • https://github.com/flutter/flutter.git Framework • revision f18b9281c2 (6 weeks ago) • 2021-07-22 14:08:30 -0700     Engine • revision 844c29f42a Tools • Dart 2.14.0 (build 2.14.0-301.2.beta)

Package Name
Current
Upgradable
Resolvable
Latest

flutter_markdown
*0.6.4
0.6.6
0.6.6
0.6.6

versions after running upgrade
Flutter 2.5.0-5.2.pre • channel beta • https://github.com/flutter/flutter.git Framework • revision 19c61fed0d (13 days ago) • 2021-08-18 17:10:31 -0700 Engine • revision 7a4c4505f6 Tools • Dart 2.14.0 (build 2.14.0-377.7.beta)

Package Name
Current
Upgradable
Resolvable
Latest

flutter_markdown
0.6.6
0.6.6
0.6.6
0.6.6

observing the same behavior after upgrades

Thanks for the confirmation.

 stable, master flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.2.3 at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision f4abaa0735 (4 days ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/dhs/Library/Android/sdk
    • Java binary at: /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/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
      1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (4 available)
    • SM G975F (mobile) • RZ8M802WY0X • android-arm64 • Android 10 (API 29)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                               •
      web-javascript • Google Chrome 91.0.4472.114

• No issues found!

[✓] Flutter (Channel master, 2.6.0-1.0.pre.152, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-GB)
    • Flutter version 2.6.0-1.0.pre.152 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 56c5f13035 (3 hours ago), 2021-08-31 23:26:02 -0400
    • Engine revision aab40c8d5d
    • Dart version 2.15.0 (build 2.15.0-66.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/dhs/Library/Android/sdk
    • Java binary at: /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/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
      1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (4 available)
    • SM G975F (mobile) • RZ8M802WY0X • android-arm64 • Android 10 (API 29)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                               •
      web-javascript • Google Chrome 91.0.4472.114


Uploading a .OBJ file via the "Change" button crashes Vizor

1: Open this graph http://destroy.vizor.io/fthr/obj-uploader-example/edit
2: Hit the "change" button to upload an .OBJ file
3: Upload kity5.obj file (found in flowdock).  See screenshot.

@fthr unable to reproduce. got steps?

three.js (and webgl) have a limit of 65k vertices. the error could be nicer though. we should pre-validate the .obj when uploading and perhaps not allow if it's oversized.

closed for inactivity, also there are other issues about validation


Property controls is not available on NativeMap object

Issue description
I am inserting a searchbox on the map to search for addresses as you can see on this tutorial at (Google Maps API doc)[https://developers.google.com/maps/documentation/javascript/examples/places-searchbox].
In order to to that, I got the NativeMap and push the input element into the map using something like this:
this.gmaps.getNativeMap().then(map => {
      let input = document.getElementById('my-search-box');
      let searchBox = new google.maps.places.SearchBox(input);
      map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
      searchBox.addListener('places_changed', () => this.placesChanged(searchBox));
    });

As the controls is not mapped on the object returned from map I always get the error message:
Property 'controls' does not exist on type 'GoogleMap'.
but it works anyway.
As the controls property allows us to do cool stuff once we got the nativeMap, I think implement it could be nice for future releases.
angular2 & angular2-google-maps version
angular2 - 2.0.0-rc.6
angular2-google-maps 0.14.0

Any update on this issue ?
btw, thanks for the hard work !

It would be very nice to have this implemented :)


Added support for umd

UMD syntax taken from https://github.com/umdjs/umd/blob/master/returnExports.js
This will add support for CommonJS, basically. Currently we're having to use swiper.jquery.js, even though we have jQuery, because jQuery isn't globally defined in our app.
Closes #1327

This doesn't actually work, gimme a bit…

Ah, it looks like this won't actually work :(
https://github.com/nolimits4web/Swiper/blob/master/src/js/dom-plugins.js#L23
Because the dependencies are optional, and optional requires aren't possible, it looks like this approach isn't going to work. Unfortunately, your library relies on a global instance of jQuery!
Is there any way around this?

Can you give me your dev environment example, or few steps to replicate this issue? And will take a look

Standard Browserify or jspm setup: window.jQuery is not defined, but require('jquery') (or import $ from 'jquery'; in ES6) both return jQuery.
I'm not sure how it would work with optional dependencies, though, unless there were a separate file that required jQuery—currently swiper.jquery.js requires either Dom7, Zepto, or jQuery, and optional dependencies like that aren't possible with UMD.

Okay, working now :smiley:
There are no behavioural changes in swiper.js and swiper.jquery.js. swiper.umd.js is a version that works with a non-globally defined jQuery, but doesn't work with Dom7 or Zepto—a compromise required for UMD support, I guess.

Ok, thanks. I will have more time on this weekend to investigate and test it well

:+1:

Thanks! I can set up an environment for you to test the UMD version in, if you want.

This would be great

https://github.com/callumacrae/swiper-test

Ok, had a lot of tests and, indeed, there is no way to do that with optional dependancies, so probably we will need 2 additional files like swiper.jquery.umd.js and swiper.zepto.umd.js (and their minified versions :smile:) Will go with this approach?

Sure, I can do that! I'll update the PR tomorrow.

Ok, so we just need 2 new files UMD files, one for jQuery and one for Zepto. Standalone version probably should be left intact as it seems to be works well with module includes. And small request, don't make commits to dist/files as you will overwrite already published release

I've renamed the file to swiper.jquery.umd.js. I'm not sure how to go about the zepto one because it doesn't seem to be on npm; I think it would be best to wait until someone actually wants to use the zepto version, and then they can do it :)

When will you be able to review this? The weekend, again?

Nope, tomorrow :)

Looks good, thanks

@nolimits4web Hey! Any eta on a release for this? It's blocking a bugfix on our site. If you're not planning on doing a release for a while, we can use it off github, but we'd prefer not to.
Thanks :)

I will release today, a bit later
Отправлено с iPhone

13 июля 2015 г., в 20:03, Callum Macrae<EMAIL_ADDRESS>написал(а):
@nolimits4web Hey! Any eta on a release for this? It's blocking a bugfix on our site. If you're not planning on doing a release for a while, we can use it off github, but we'd prefer not to.
Thanks :)
—
Reply to this email directly or view it on GitHub.

Released

Thank you!


[BUG]: Permission tokens aren't removed

Currently permission tokens aren't removed when there associated entity is removed.
This makes scenarios like this one possible:

Account A register asset definition and give account B token to unregister it
Account A unregister asset definition
Account C register asset definition with the same id
Account B can unregister this asset definition

we have the same problem with permissions for domains, accounts, asset definitions and assets. Just about any entity. This sounds like an issue that should be resolved from within executor, not the host

consider introducing a unique integer for every entity (AssetDefinition)

another option is to prohibit reregistering entities with the same name


redis store does not conform to store interface

https://github.com/eko/gocache#redis this is not compilable because *store.RedisStore does not implement store.StoreInterface

Got the same issue
When I ran go mod vendor the code retrieved has
func (s *RedisStore) Set(ctx context.Context, key interface{}, value interface{}, options *Options) error {
But in github it seems to be fine
func (s *RedisStore) Set(key interface{}, value interface{}, options *Options) error {
Any idea why it would happen?

go get  github.com/eko/gocache@master

How can I upgrade to v2.0.0?
I am getting the following error
require github.com/eko/gocache: version "2.1.1" invalid: unknown revision 2.1.1

@majuansari go get github.com/eko/gocache/v2

Thanks for your reply, indeed this is the way


feature: PaaS容器部署适配 (closed #10)

Codecov Report

Merging #225 (8e4aad6) into V2.1.354rc (26dc66b) will increase coverage by 0.13%.
The diff coverage is 74.64%.

@@              Coverage Diff               @@
##           V2.1.354rc     #225      +/-   ##
==============================================
+ Coverage       61.86%   61.99%   +0.13%
==============================================
  Files             224      228       +4
  Lines           19435    19531      +96
==============================================
+ Hits            12024    12109      +85
- Misses           7411     7422      +11

Impacted Files
Coverage Δ

apps/node_man/handlers/debug.py
90.32% <ø> (ø)

apps/node_man/handlers/iam.py
24.43% <0.00%> (ø)

apps/node_man/iam_provider.py
21.76% <0.00%> (ø)

apps/node_man/periodic_tasks/__init__.py
85.71% <50.00%> (-5.96%)
:arrow_down:

config/default.py
76.01% <65.62%> (-1.66%)
:arrow_down:

config/__init__.py
87.50% <66.66%> (-1.39%)
:arrow_down:

common/api/domains.py
85.00% <70.00%> (-15.00%)
:arrow_down:

env/paas_version_diff/__init__.py
72.72% <72.72%> (ø)

.../backend/management/commands/copy_file_to_nginx.py
95.23% <90.00%> (-4.77%)
:arrow_down:

env/constants.py
90.00% <90.00%> (ø)

... and 6 more

Continue to review full report at Codecov.

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


Convert readthedocs link for their .org -> .io migration for hosted projects

As per their blog post of the 27th April ‘Securing subdomains’:

Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard.

Test Plan: Manually visited all the links I’ve modified.

This is the first I had heard about this change. Thanks for keeping things up-to-date.


forge verify has issues with libs = ["../lib"] remapping

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
No response
What command(s) is the bug in?
No response
Operating System
macOS (Apple Silicon)
Describe the bug
See https://github.com/axiom-crypto/axiom-apps/issues/6
If the foundry root is ./foo (so foundry.toml is at ./foo/foundry.toml), while library files are installed to ./lib, then the remapping libs = ["../lib"] causes source not found issues when running forge verify-contract on etherscan.
If I just cp -r ./lib ./foo/ and then change foundry.toml to use libs = ["lib"], everything works.

Known shortcoming for forge verify, see https://book.getfoundry.sh/forge/deploying?highlight=verify#verifying-contracts-with-ambiguous-import-paths


Material UI Icons does not respond

I added Material UI dependency to the JSON package and installed from:
https://mui.com/material-ui/getting-started/installation/

Fixed: found an alternative resource that provides svgs without the need to install packages.

Fixed: found an alternative resource that provides svgs without the need to install packages.


Include open fee-fines migration into migration_tools

More specifically, this migration task will deal with "manual fees/fines". This is the type that can be added on to a user record via the UI. They may or may not link to an item record. They are not, however, linked to loans.

To create manual fees/fines, you need to have configured Fee/fine owners and Manual charges>Fee/fine types

[ ] Create mapper
[ ] Create transformation task
[ ] Create tests to verify mapping
[ ] Run task to ensure objects and reports are written
[ ] Add FOLIO UUID lookup for item and user barcode
[ ] Add ref data mapping for fee/fine owner and fee/fine type
[ ] Add default fee/fine owner and fee/fine type
[ ] Validate dates
[ ] Hardcode some behaviour-related defaults (like Notfiy = False)

Out of scope:

Handle ref data mapping where FOLIO returns multiple name matches (fee/fine type)
Investigate the need for creating one fee/fine account with multiple actions (eg opened and closed)

Out of scope:
https://github.com/FOLIO-FSE/folio_migration_tools/issues/616
https://github.com/FOLIO-FSE/folio_migration_tools/issues/617
https://github.com/FOLIO-FSE/folio_migration_tools/issues/618


Kernel 4.4 cannot create inode in directory

root@:/project/ext4-crypt# mkdir vault
root@:/project/ext4-crypt# ./ext4-crypt create vault
Enter passphrase:
Confirm passphrase:
Cannot create inode in directory: Operation not permitted

I had to remove this function => create_dummy_inode


Stub: token credential requests should reject authentication on no matching authorization

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Are you considering submitting a PR for this feature?

How will this project improvement be tested?
How does this change the current architecture?
How will this change be backwards compatible?
How will this feature be documented?

Additional context
Add any other context or screenshots about the feature request here.

Closing as a dupe of https://github.com/vmware-tanzu/pinniped/issues/557.


DOWNLOADS PAGE

Description

Downloads page
Custom collapsible tiles.

Type of change
Please tick the relevant option by putting an X inside the bracket

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How was this tested?

[x] Local machine

Test Configuration:

dahliaOS Build number: N/A
Hardware: N/A
VM: N/A

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[X] I have checked my code and corrected any misspellings

Not to mention it also auto updates with github! :)


Fix double snapshot creation error

The following does not raise an error, but should:
snapshot(:foo, stuff: :giraffe)
snapshot(:foo, stuff: :donkey)

The following does raise an error, but should not:
snapshot(:foo)
snapshot(:bar)

The reason is that uniqueness is tested on the second argument (params), but should be on the first (name).

:+1:


💖 Auto follow PR authors

Use a nice action to automatically follow people when they submit a pull request.
This is a scripted PR sorry the flooding.

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


[Feature request] SFTP

I have a local server (headless) with images on it. The files are at least 200 GB. I can't copy them to my phone. Can you add support for viewing images over sftp?

Hey @rEnr3n . File access has been the most difficult part of this project and a lot has changed around it in the Android space since I began development.
I'm keen to have this on the roadmap but I don't have a time frame for development at this stage.
I'm incredibly happy to accept pull requests if you are able to supply a change. I'll be sure to cred you in the app as I have for previous contributors.

https://github.com/bumptech/glide/issues/2196
Might be relevant.


Add frontend code to support sign-in through other accounts

We add frontend code and modify CSS files to the login page, the final visual effect shown as below:

Sign-in using Google is implemented with code from here. You need to obtain your google API key and secret using the steps from this video, and add GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to .env.local

Also, need to add accounts.google.com to the allowed domain list of the zoom app.

Hi @kexinF, I looked into getting OAuth credential with third-party providers, but found that they almost always request an app name, log, and term of service agreement to setup.
I don't think we have those ready yet, so perhaps we can park this feature for now and start working other issues first?


V3 - Automation

https://github.com/HenryQuan/pazusoba/issues/10

This will be moved to another repo soon.


revert: missing typing for AC (#85)

This reverts commit 75fbd8eb
Fix #249
@linkser Can you help with a test?

Summary by CodeRabbit

New Features

Enhanced message handling in AC device control, allowing for a broader range of message types when setting attributes.
Improved handling of swing settings with refined checks based on message types, ensuring correct attribute modifications.

Bug Fixes

Fixed conditional logic in attribute setting, ensuring attributes are only set when appropriate message types are received.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 75.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 35.33%. Comparing base (8f5ec79) to head (e1a428b).

Files
Patch %
Lines

midealocal/devices/ac/__init__.py
75.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #251      +/-   ##
==========================================
- Coverage   35.34%   35.33%   -0.01%
==========================================
  Files          81       81
  Lines        7184     7186       +2
==========================================
  Hits         2539     2539
- Misses       4645     4647       +2

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

This reverts commit 75fbd8e
Fix #249
@linkser Can you help with a test?
Summary by CodeRabbit

New Features

Enhanced message handling in AC device control, allowing for a broader range of message types when setting attributes.
Improved handling of swing settings with refined checks based on message types, ensuring correct attribute modifications.

Bug Fixes

Fixed conditional logic in attribute setting, ensuring attributes are only set when appropriate message types are received.

test passed


lock dependencies

just-released random-js, mongo, and mongoose cause vizor to stop compiling, or report missing bson module, on node 0.12, iojs 3.2, and node 4.

this upgrade breaks many other things, closing. let's revisit these changes later


feat(ast): add AstBulder::move_property_key

Add AstBuilder::move_property_key method, same as the rest of move_* methods.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#7982
#7998  👈 (View in Graphite)
#7995
#7994
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

0-merge - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Uncontroversial change, so merging without review.

Merge activity

Dec 18, 6:12 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.


useRangeCalendarState accepts nullable values but returned value is never null

🐛 Bug Report
Range calendar states can be passed a null value prop, however the state has this value non-nullable. This causes runtime errors when trying to work with the range state and value is expected to be set by the static type checking, but it's actually null.
export interface RangeCalendarState extends CalendarStateBase {
    /** The currently selected date range. */
    readonly value: RangeValue<DateValue>;
    /** Sets the currently selected date range. */
    setValue(value: RangeValue<DateValue>): void;
    /** Highlights the given date during selection, e.g. by hovering or dragging. */
    highlightDate(date: CalendarDate): void;
    /** The current anchor date that the user clicked on to begin range selection. */
    readonly anchorDate: CalendarDate | null;
    /** Sets the anchor date that the user clicked on to begin range selection. */
    setAnchorDate(date: CalendarDate | null): void;
    /** The currently highlighted date range. */
    readonly highlightedRange: RangeValue<CalendarDate>;
    /** Whether the user is currently dragging over the calendar. */
    readonly isDragging: boolean;
    /** Sets whether the user is dragging over the calendar. */
    setDragging(isDragging: boolean): void;
}

Here readonly value should be | null, right?

Related to https://github.com/adobe/react-spectrum/issues/3183, we are incrementally working on fixing these | null value for TS strict. Will close in favor of that umbrella issue, but definitely would accept any contributions!


ENH: add anatomical label finding from atlas to dipole fit tutorial

I needed to find dipole labels from anatomical atlas, couldn't find any info how to do it until I stumbled on MNE discord and larsoner  helped me.
We both agree this should be in tutorial, or maybe there should be even a function/helper to find anatomical labels easily.
It might be worth looking at https://github.com/miykael/atlasreader/tree/master/atlasreader integration.

@agramfort @drammock
Something like this maybe?

Ready to merge, I guess?

I'm satisfied, I'll let @agramfort or @larsoner merge if they're happy.

Ooops, seems like I managed to overlook some style issue, I'm falling asleep, I'll fix it when I wake up

Fixed the small style issue

Just realized this probably should get an entry in the enhancements section of our changelog (doc/changes/latest.inc and corresponding entry in names.inc). Sorry I didn't think of that when reviewing... I'm always forgetting to do it for my own changes too.

Just realized this probably should get an entry in the enhancements section of our changelog (doc/changes/latest.inc and corresponding entry in names.inc). Sorry I didn't think of that when reviewing... I'm always forgetting to do it for my own changes too.

Like this?

Just realized this probably should get an entry in the enhancements section of our changelog (doc/changes/latest.inc and corresponding entry in names.inc). Sorry I didn't think of that when reviewing... I'm always forgetting to do it for my own changes too.

Like this?

Yep, looks good.

@drammock
Docs failed to build for some reason and I have no idea why:
embedding documentation hyperlinks for auto_examples... [ 97%] ssp_projs_sensitivity_map.html
embedding documentation hyperlinks for auto_examples... [ 98%] topo_compare_conditions.html
embedding documentation hyperlinks for auto_examples... [ 99%] topo_customized.html
embedding documentation hyperlinks for auto_examples... [100%] xhemi.html

Added  32 HTML plot_* redirects for auto_tutorials
Added 109 HTML plot_* redirects for auto_examples
Added  43 HTML custom redirects
ERROR:mprof:Program resulted with a non-zero exit code: 1
make: *** [Makefile:65: html_dev-pattern-memory] Error 1
make: Leaving directory '/home/circleci/project/doc'

Please help

line 1815 of the docs build log: changes/latest.inc:38: WARNING: py:func reference target not found: mne.label.find_label_in_annot
You'll need to add the new function to one of the API pages for cross-references to it to work.  (doc/source_space.rst is probably the right place to put it)

WARNING: [numpydoc] Validation warnings while processing docstring for 'mne.label.find_label_in_annot':
  GL03: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
  RT03: Return value has no description

RT03: Return value has no description

I'm confused by this one. But maybe this will fix it.

Thanks @mdovgialo !


Init script template... used for SDK init

Everything is controlled by attribute.

minor question/comment, otherwise :+1:


⚠ Bofrost.at has degraded performance

In a43aad3, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2037 ms

Resolved: Bofrost.at performance has improved in a860f2f after 13 minutes.


declarative partioning

it would be cool to be able to do declarative partitioning, relevant also for say ephemeral root.
declarative partitioning could be achieved using disko, which should likely be performed during the machine set-up teraflops now does using nixos-infect.
it seems a nixos-infect alternative offering this is nixos-anywhere:

quickstart using a flake with similar targets (digitalocean/hetzner)
snippet in the colmena context
terraform module (alternative to colmena?)

i am definitely interested in looking into this 👍

fyi, i started to realize nixos-anywhere's TF module tackled quite some of what i considered the use-cases of teraflops, minus TF nix-to-json conversion. i managed to cover that by nix eval --json, so am gonna try with just nixos-anywhere (over a combination involving teraflops) for now to keep things simple.


ip = "error"

Hi! I can't get the current device IP on iOS simulator. I'm getting IP = error.
I'm currently tehtering the phone internet connection to my mac because I'm having issues with my broadband provider, maybe that's the issue.
Just let me know if I can test something.
Thanks!

Unfortunately the simulator does not provide the IP address.  You'll only be able to get it on the actual device.


What Node version to support?

This is more of a discussion to see what minimum version of Node this library should support. It is briefly mentioned by @mbroadst in #9 that this library should be "modernized".
In my PR #11, I had to bump the minimum Node version to 6 because of the prebuild-install library used by kerberos requires that.
Should the library switch to Node 8 so that async/await can be used?

Hey @addisonElliott, I'm going to close this because we've been addressing it as part of your pull request.


Fixed bug in computing map metric for images with either no ground tr…

…uth or no prediction
What does this PR do?
Fixes #794
When either the prediction or the ground truth is empty, the image was not taken into account for the metric computation.
This PR fixes that, by returning proper values
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure to update the docs?
[x] Did you write any new necessary tests?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello guys, just wanted to check if you're expecting some changes from my side? Maybe I'm missing something? I read the guidelines but I'm not used to making contributions. Please let me know how should we proceed.

@SkafteNicki or @twsl mind have look... :rabbit: ^^

The change seems fine to me, but tests are missing. Mind adding them for validation, @mtailanian ?

Hi @SkafteNicki, I'm not sure I did what was expected, but I just added my unit tests to the specified file. Some of them were actually duplicated, so I just omitted them.
Thanks,
Matías


Bugfix coronavirus-statistics

RE-CHECK!

Automated adapter checker
ioBroker.coronavirus-statistics

[ ] :heavy_exclamation_mark: [E301] Tests on Travis-ci.com are broken. Please fix.

Add comment "RE-CHECK!" to start check anew

RE-CHECK!

Automated adapter checker
ioBroker.coronavirus-statistics

:thumbsup: No errors found
Add comment "RE-CHECK!" to start check anew

RE-CHECK!

Automated adapter checker
ioBroker.coronavirus-statistics

:thumbsup: No errors found
Add comment "RE-CHECK!" to start check anew


Link to the rules from the readme

PR Summary

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[-] Make sure all .cs, .ps1 and .psm1 files have the correct copyright header
[-] Make sure you've added a new test if existing tests do not effectively test the code changed and/or updated documentation
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

I think this is a good idea for discoverability, just want to make sure the link is in the right place. @bergmeister @JamesWTruher is there anywhere else you'd put the link in the README?


Doc: Use same headers and order in-editor and online

Now looks like this in-editor:

I have yet to implement the "Properties" section and add setters/getters to "Property Descriptions" in makerst.py, but that will come in another PR.
I changed the huge Inherits: and Inherited by: fonts to the normal font, which is arguably too small, but I don't want to create another font and I think it's better than the title font for those.

Now that Godot 3.1 has been released, we don't plan to cherry-pick new features and enhancements to the 3.0 branch, unless there is very strong support in favor of it. Removing cherrypick label for 3.0.


14 UNAVAILABLE: Request 'AppendRows' from role 'cloud-dataengine-globalrouting' throttled: Task is overloaded (memory-protection) go/tr-t

Hello!
I've been using the Storage Write pending stream to write that successfully, but recently I started getting this error from time to time:
14 UNAVAILABLE: Request 'AppendRows' from role 'cloud-dataengine-globalrouting' throttled: Task is overloaded (memory-protection) go/tr-t
The error is emitted by the connection created by writeClient.createStreamConnection. This is what I'm doing

  const streamId = await writeClient.createWriteStream({
      streamType : managedwriter.PendingStream,
      destinationTable : parent
    });

  const connection = await writeClient.createStreamConnection({
        streamId,
      });

  const  writer = new managedwriter.Writer({
      connection,
      protoDescriptor : this.protoDescriptor
    });

  writer.appendRows({serializedRows}, offsetValue);

  await writeClient.batchCommitWriteStream({ parent : parent, writeStreams: [writeStreamId!] })

I didn't find much documentation about this specific issue. Can anyone provide guidance on what may be happening or direct me to the corresponding documentation so I can debug it?
What is puzzling me is that this error only happens intermittently. I haven't been able to reproduce it locally, but I see it happening from time to time in my application logs.
Thanks!

PR #443 will address this kind of error and will either thrown an error on the PendingWrites happening and you can retry them or you can enableWriteRetries and the library will reconnect and try to send the requests again.


execution failing -"cannot execute binary file"

My arch is x86_64 (AW amzl2) and i use the s3tar of s3tar-linux-amd64 and receive "cannot execute binary file" whcih is mostly related to wrong arch of binary
[ec2-user@ip-172-31-18-208 bin]$ uname -a
Linux ip-172-31-18-208.eu-west-1.compute.internal 5.10.167-147.601.amzn2.x86_64 #1 SMP Tue Feb 14 21:50:23 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
[ec2-user@ip-172-31-18-208 bin]$
[ec2-user@ip-172-31-18-208 bin]$ objdump -a s3tar
s3tar:     file format elf64-little
s3tar
[ec2-user@ip-172-31-18-208 bin]$
[ec2-user@ip-172-31-18-208 bin]$ s3tar --region eu-west-1 -xvf s3://arik-share/vapp-ovf/ovf.tgz s3://arik-share/vapp-ovf/
-bash: /home/ec2-user/amazon-s3-tar-tool/bin/s3tar: cannot execute binary file
[ec2-user@ip-172-31-18-208 bin]$
not sure what is wrong here

Hi @arikyakir thanks for reporting this issue. It looks like the file was compiled with the arm64 flag instead of the amd64 flag. I have updated the binaries.
I've made a slight upgrade and released v1.0.2 so I downloading that. One thing to notice is that when extracting the file the -C flag is now required to specify the destination.
I noticed you are using the extension tgz. Tgz is usually used for files that are Tar and gzip compressed. I suggest using the .tar extension since these files don't have compression.

thanks, recreated from scratch and its working now

can i use file.tar.gz instead? i need the compression as its large objects needed to be stored also for long retention and it have cost implication

thanks
Please contact me over the internal slack ariyakir@
Regards Arik
On Wednesday, March 15, 2023 at 09:44:16 PM GMT+2, yanko7<EMAIL_ADDRESS>wrote:

Hi @arikyakir thanks for reporting this issue. It looks like the file was compiled with the arm64 flag instead of the amd64 flag. I have updated the binaries.
I've made a slight upgrade and released v1.0.2 so I downloading that. One thing to notice is that when extracting the file the -C flag is now required to specify the destination.
I noticed you are using the extension tgz. Tgz is usually used for files that are Tar and gzip compressed. I suggest using the .tar extension since these files don't have compression.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

can i use file.tar.gz instead? i need the compression as its large objects needed to be stored also for long retention and it have cost implication

Compression is not possible. The tool works by "moving" existing Amazon S3 data into a new file. To be able to compress the data we would need to download it to a compute layer (EC2, Lambda, etc). The purpose of the tool is to build a single file out of many without having to download the files.