Installation prevented on PEP 668 Compliant Systems (e.g. Debian 12 Bookworm)

My system info
Raspberry Pi CM4 inside ReSeed terminal running Debian Bookworm 64bit. OS/Python info:
sudoer@hostname:~/ $ lsb_release -d | tail -n 1
Description:	Debian GNU/Linux 12 (bookworm)
sudoer@hostname:~/ $ pip3 --version
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)
sudoer@hostname:~/ $ python --version
Python 3.11.2

Problem
On Raspberry Pi systems running the latest stable Debian (Bookworm 12), the sudo pip3 install seeed-python-reterminal installation procedure does not work:
sudoer@hostname:~/ $ sudo pip3 install seeed-python-reterminal
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

The reason why can be found in the raspberry pi docs, see Python on Raspberry Pi

From Bookworm onwards, packages installed via pip must be installed into a Python Virtual Environment using venv. This has been introduced by the Python community, not by Raspberry Pi; see PEP 668 for more details.

PEP 668 essentially recommends that system python packages should be installed using the system package manager, while user python packages should be installed inside a venv.
Since seeed-python-reterminal requires access to system-level files, and since there is no debian release of the package, the correct installation workflow is unclear.
Proposals
Here are a couple ideas for changes to the installation instructions/workflow that should fix this problem.
I've included output from the README User LEDS Test script to show that these solutions should work.
Add instruction to use --breaks-system-packages flag
This is the fastest but least robust solution. Should look like this:
sudoer@hostname: $ sudo pip3 install seeed-python-reterminal --break-system-packages
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting seeed-python-reterminal
  Downloading https://www.piwheels.org/simple/seeed-python-reterminal/seeed_python_reterminal-0.5-py3-none-any.whl (7.2 kB)
Requirement already satisfied: evdev in /usr/lib/python3/dist-packages (from seeed-python-reterminal) (1.6.1)
Installing collected packages: seeed-python-reterminal
Successfully installed seeed-python-reterminal-0.5
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

Then:
sudoer@hostname:~/ $ sudo python ./user-leds-test.py
STA ON, USR OFF
STA OFF, USR ON
STA RED, USR OFF
STA OFF, USR OFF

Create and install local .deb of Seeed_Python_Reterminal
This would replace the "Install from Source" instructions, and remove the warning statements of using --breaks-system-packages.
There are many ways to do this, here's one using stdeb:
# Install debian dependencies
sudoer@hostname:~/ $ sudo apt install stdeb dh-python

# Download source
sudoer@hostname:~/ $ git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal && cd ./Seeed_Python_ReTerminal

# Create .deb
sudoer@hostname:~/Seeed_Python_ReTerminal $ python3 setup.py --command-packages=stdeb.command debianize
sudoer@hostname:~/Seeed_Python_ReTerminal dpkg-buildpackage -b -us -uc

# Install .deb
sudoer@hostname:~/Seeed_Python_ReTerminal sudo apt install ../python3-seeed-python-reterminal

Then:
sudoer@hostname:~/ $ sudo python ./user-leds-test.py
STA ON, USR OFF
STA OFF, USR ON
STA RED, USR OFF
STA OFF, USR OFF

Distribute debian package
If there are any Debian Maintainers interested in maintaining this package, I think distributing a Debian package would be the most robust solution in the long run. I am not a Debian Maintainer.
The workflow would be:
sudo apt install python3-seeed-python-reterminal
Update documentation to recommend venv like PEP668 does
The only issue with using venv is the need for root access to /sys/ folders, but that can be resolved, and users should be directed to this workflow anyway.
The following workflow works:
$ python -m venv --system-site-packages env
$ source env/bin/activate
(env) $ pip install seeed-python-reterminal
(env) $ sudo $(which python) ./user-leds-test.py
STA ON, USR OFF
STA OFF, USR ON
STA RED, USR OFF
STA OFF, USR OFF

Thank you for your proposals.
I will try them and feed back to you~

Hello,
I'm going to close this issue, feel free to re-open it if you have any other questions.
[Autocommentary]


Error in using preact-compat on a minimal CRA app (react 16). Is it even compatible with React 16?

Hello.
After deciding to move to Preact, i tried to see how preact-compat works first. so i tried it on a minimal react16 app created with create-react-app:
1- I created a new React app using create-react-app cli
2- I ejected application to have access to webpack config files
3- I installed preact and preact-compat using npm
4- Then added aliases to webpack.config.prod.js as mentioned here
5- Then i used preact build --no-prerender to build for production
6- When i tried to serve the app from build directory, it did not work :/
I get an error in browser console saying:

It happen in render$1 function in preact-compat.es.js file:

Which is called from ReactDOM.render function from index.js (entry of react app):

Did i miss anything? I tried using preact-compat on several projects of mine and got same error every single time.

Hmm - why are you using preact build? If it's a create-react-app application, you should build the same way you would any other create-react-app application.  Preact CLI isn't required to use Preact.


Convert DGP extension to use Property API

#1931 fix part 1 - addressing extension side. Follow up PRs will migrate tasks.

Warnings

:warning:
It looks like this PR contains functional changes without a corresponding test.

  Generated by :no_entry_sign: dangerJS against a0a186505a27c9feb56c679c9b1c3e991de6f725


Update documentation

This includes work to move all documentation to MarkDown and build scripts to merge several MarkDown documents and convert them into HTML.
It will be done in several steps where the first one is to create new documentation in MarkDown format for things that are missing documentation today. This work has started with updating documentation for the examples.

duplicate


Encoding issue while output from script, question marks (?) instead of letters

Steps to reproduce:

Create test.csx with one line Console.WriteLine("тест1") ("тест" is a Cyrillic/Russian for test).
Run it: dotnet script test.csx

Result:
????1
Tried in windows terminal in both powershell (pwsh) and command prompt (cmd) modes and in terminal (cmd.exe).
Tried redirecting the output to a file.
Tried copypaste the line in REPL dotnet script.
get-content test.csx prints the expected result.
WSL (Windows Subsystem for Linux) with Debian in Window Terminal works well.

Please be sure to save the input file in UTF-8 encoding. The issue should be solved.


Import wallet Keeper side alignment

Text cutting at side Device Galaxy F25 5G dev App

Still having the same issue in keeper app v 1.0.3(158)

not resolved @Pawan2792

Completed


Allow unique key to be used instead of primary key

Motivation
Currently the primary must be specified for many operations like update to work, otherwise it panics.
In reality this is unnecessarily strict since since any unique column or combination of columns would work.
Proposed Solutions
I have not been in the codebase much yet, but I feel this will require a new implementation similar to PrimaryKey, maybe we could call it SecondaryKeys and a changes in all places that currently check for only the primary key.
Current Workarounds
Use more generic methods like update_many, but then you hit the problem #1669

Hey @Sytten, welcome back!! In SeaORM, we assumed each table has a "primary key", or more accurate an "unique key". SeaORM doesn't really check if the specified column / combination of column are in fact "primary key" or not. All it want is an "unique key" to identify a row from the database. So, you can safely add the "primary_key" attribute to your unique column. Or, is there anything else preventing you from doing so?
use sea_orm::entity::prelude::*;

#[derive(Clone, Debug, PartialEq, DeriveEntityModel)]
#[sea_orm(table_name = "model")]
pub struct Model {
    #[sea_orm(primary_key, auto_increment = false)]
    pub id_1: i32,
    #[sea_orm(primary_key, auto_increment = false)]
    pub id_2: String,
    #[sea_orm(primary_key, auto_increment = false)]
    pub id_3: f64,
    #[sea_orm(primary_key, auto_increment = false)]
    pub id_4: Uuid,
    pub owner: String,
    pub name: String,
    pub description: String,
}

#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {}

impl ActiveModelBehavior for ActiveModel {}


Fix "Upload Artifacts" job in CI (makes CI pass)

Requirements for Contributing a Bug Fix (from template, click to expand):

Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
The pull request must only fix an existing bug. To contribute other changes, you must use a different template. You can see all templates at https://github.com/atom/.github/tree/master/.github/PULL_REQUEST_TEMPLATE.
The pull request must update the test suite to demonstrate the changed functionality. For guidance, please see https://flight-manual.atom.io/hacking-atom/sections/writing-specs/.
After you create the pull request, all status checks must be pass before a maintainer reviews your contribution. For more details, please see https://github.com/atom/.github/tree/master/CONTRIBUTING.md#pull-requests.

Identify the Bug
CI isn't passing, because it tries to upload binary blobs to Azure Storage, but without the needed credentials. This errors out, causing CI to fail (even after the build and tests may have succeeded.)
Description of the Change

Update script/vsts/upload-artifacts.js to skip uploading binary blobs to Azure Storage if env var ATOM_RELEASES_AZURE_CONN_STRING is unset or empty (more precisely: if it is falsy in JS).
Update the "Upload CI Artifacts" job in the CI YAML files so that it uses the intermediate variables workaround, which makes sure env vars will be seen as undefined/empty in scripts.

This is restoring a part of the solution we had before (from https://github.com/atom-community/atom/pull/99), but I think it got reverted during a merge of upstream commits at some point?

Use unshortened URL in the comment explaining the workaround

(This is an optional change, not super important. Just my personal preference.)

Alternate Designs
None.
Possible Drawbacks
None.
Verification Process
CI should pass if this PR is done right.
NOTE: The PR pipeline will not test this change. I will manually run the release branch pipeline on my personal CI instance to see if it passes. CI passing directly on this PR will be the "Pull Requests" pipeline, which has nothing to do with this change.
Release Notes
N/A

It worked on my personal CI instance:
Passing CI on Release Branch Build pipeline on my CI: link to passing CI run
See this line specifically, from the output of my CI run's "Upload Artifacts" job:

Environment variable "process.env.ATOM_RELEASES_AZURE_CONN_STRING," is not set, skipping Azure upload.

There is a tiny typo -- I included an unnecessary comma in the console.log() string when skipping upload to Azure... Can fix that real quick if wanted.


Add name

@juankcl  thnx for contributing , try this year aswell with updated repo and make sure to follow me and star this repo so that you don't miss updates regarding the new changes and issues during Hacktoberfest 2020.


Tag not found

Hello there,
i am unable to get it work. Analytics and Google Tag Manager tell me that the tag is not found, although the analyticsSettings are set properly.
"public": {         "analyticsSettings": {             "Google Analytics": {                 "trackingId": "XYZ"             }         }     }
I am using Iron Router without setting
Tracker.autorun(() => {     document.title = Router.current().route.getName();   });
Is it mandatory for the package to work correctly?

@carlovenus Your meteor settings look correct. Check out our Readme which states how this works with iron router (code snippet below) & I would also recommend taking a look and running the iron-router example that we have in the repo.
Template.mainLayout.onRendered(function() {
  Tracker.autorun(() => {
    document.title = Router.current().route.getName();
  });
});

If you want a router agnostic analytics, you could use the npm pkg @okgrow/auto-analytics though it wont track meteor logins etc.
Let me know if this has helped or resolved the issue for you. 😃


Structuring the organization

This may branch out into other topics/issues to help with keeping discussions scoped correctly, this is a starting place for now.
AWS Control Tower eliminates a lot of the heavy lifting when it comes to setting up a best-practices adopted organization in AWS, and some of this guidance can be found here: https://docs.aws.amazon.com/controltower/latest/userguide/aws-multi-account-landing-zone.html
When you set up a landing zone, AWS Control Tower performs the following actions in your management account on your behalf:

- Creates two AWS Organizations organizational units (OUs): Security, and Sandbox (optional), contained within the organizational root structure.
- Creates two shared accounts in the Security OU: the Log Archive account and the Audit account.
- Creates a cloud-native directory in AWS SSO, with preconfigured groups and single sign-on access.
- Applies 20 mandatory, preventive guardrails to enforce policies.
- Applies two mandatory, detective guardrails to detect configuration violations.
- Preventive guardrails are not applied to the management account.
- Except for the management account, guardrails are applied to the organization as a whole.

https://docs.aws.amazon.com/controltower/latest/userguide/how-control-tower-works.html#how-it-works-setup
Creating accounts and the non-root users to login to user-centric sandbox accounts or shared group project accounts is easy with AWS SSO: https://docs.aws.amazon.com/controltower/latest/userguide/sso.html

There's an opportunity to integrate AWS SSO with other identity sources using SAML, however, it might be advantageous to authenticate users via Slack given community members identities' are tied to a given Slack workspace.  Unfortunately it looks like this is done via OIDC: https://api.slack.com/authentication/sign-in-with-slack.  Maybe some magic/innovation can be done to bridge these technologies?

Because community members have access to AWS Credits for their personal accounts already and there is an opportunity to acquire credits to fund this AWS Organization, we should come up with a rule of what types of workloads can be deployed in this organization.  Some thoughts:

"Production" workloads that host applications / services used by the community or the public built by the community.
Development/test workloads for joint community projects -- ideally tied to/deployed from IaC repos here in Github.
Individual developer specific "sandbox" accounts

Management account setup will require a CC, as far as I know we can use a prepaid/gift CC.  With application of AWS credits and automated monitoring of billing we can ensure that workloads do not exceed any available AWS credits.
For a simple diagram (to do replace with draw.io diagram):
                                        [Management Account]
                                                 |
      [Security OU]           |           [Production OU]          |           [Sandbox OU]
            |                                    |                                  |
[Audit Acc] | [Log Acc]                   [x] | [x] | [x]                    [x] | [x] | [x]

Additional areas worth discussing:

IaC, what can be done, what can't?
What IaC tool should we use?
Additional Guardrails (SCPs/Config Rules)?
?

Just some thoughts on Organization setup and how we can tackle this problem with a layered approach:

Start with single account use - secured using best practise - for people new to AWS Cloud to use to secure their accounts which will be of value to the community right away and is the simplest use-case: setup Org with AWS SSO with users
Expand to more complex use-cases:

Billing Account --> Sandbox (simple layered approach)
Billing Account --> sandbox, dev, devops, production

Need to decide if want to automate or just document as well.  Control Tower has no real IaC automation capability right now so again this may become an additional layer - seems choice is Control Tower vs OrgFormation.

Be sure to also have a look at https://github.com/superwerker/superwerker There are existing solutions out there that do more or less exactly this.

I came across https://github.com/pepperize/cdk-organizations as well, just for completeness. I'm starting with superwerker - wait on a domain to be ready.

The organization is created via superwerker. There's plenty more to do, but we'll follow up in other issues. I've created Workloads_Test and Workloads_Prod OUs. Here's the structure to start with:


SSL Verify

Hi,
How can I pass verify=false to ignore SSL Verify check.
Thanks,

Hey,
You can pass a requests.Session object when you construct the API:
var api = new API("https://myapi.org/api", session=requests.Session(verify=False))
Requests will then use the Session object.
I really need to update the documentation...   I'll have a go now!


Update MarkIVSpaceplane

Add Firespitter Core and ResourceConfig dependencies

Since you're already modifying this, you may as well strip the KS references.


Option to specify location of configuration directory

Hi,
Running mssql-cli causes it to create a config directory. Unfortunately, it appears to do so on the home directory. This is a little troublesome for us, as we run our capabilities on OpenShift, whose guidelines require us to support arbitrary users. Being able to run mssql-cli without being tied to any given user would simplify deployment for us.
Can an option to specify the location of the configuration directory be added?

Thanks for the suggestion, however I'm still a bit confused with the exact issue for using a home directory. mssql-cli will create a new config if one isn't found, wouldn't this resolve your issue? Forgive me if I'm not understanding the issue perfectly 🙂

Hi, thanks for the response. OpenShift assigns a dynamically generated user to each container that runs on the cluster at runtime.  We can't rely on any particular user, nor can we rely on leveraging the user's home directory. Instead, (per their guidelines) we set group ownership on the executables in an arbitrary folder (usually something like /opt/app) to the root group (gid 0), so that any dynamically generated user can run them (each generated user is part of the root group).


Stream Enrich: force jackson-dataformat-cbor to 2.9.3

Currently the maxmind library uses jackson-core version 2.9.3 while the aws sdk uses jackson-dataformat-cbor version 2.6.7.
Downgrading makes the enrichment fail at runtime.
Doing nothing forces us to disable the CBOR wire-protocol by passing the -Dcom.amazonaws.sdk.disableCbor property which can have a performance impact.
Upgrading solves our situation.

What does force mean in this context (I guess I'll see in the commit!)

we have to add the dependency ourself despite the fact that we don't use it


silence affected all alerts with wrong

What did you do?
when i use key=value to silence a alert is work
when i conifg a any type of this key="value" to silence , this silence config will affected all alerts(but in alerts section you also will find this alerts)
What did you expect to see?
1.i know this type key=value is correct to affected the alert i want
2.i dont know whether  key="value" is correct, if this config is wrong , i think this silence config should not affected any silences
What did you see instead? Under which circumstances?
Environment

System information:
Linux 3.10.0-1062.el7.x86_64 x86_64

Alertmanager version:
alertmanager: v0.18

Prometheus version:
prometheus:v2.11.0

Alertmanager configuration file:

global:
  resolve_timeout: 5m
  http_config: {}
  smtp_hello: localhost
  smtp_require_tls: true
  pagerduty_url: https://events.pagerduty.com/v2/enqueue
  hipchat_api_url: https://api.hipchat.com/
  opsgenie_api_url: https://api.opsgenie.com/
  wechat_api_url: https://qyapi.weixin.qq.com/cgi-bin/
  victorops_api_url: https://alert.victorops.com/integrations/generic/20131114/alert/
route:
  receiver: default-receiver
  group_by:
  - env_name
  - rule_type
  - service
  - instance
  - app_name
  group_wait: 30s
  group_interval: 3m
  repeat_interval: 10m
inhibit_rules:
- source_match:
    severity: critical
  target_match:
    severity: warning
  equal:
  - service
  - instance
  - rule_type
  - alertname
- source_match:
    severity: critical
  target_match:
    severity: info
  equal:
  - service
  - instance
  - rule_type
  - alertname
- source_match:
    severity: warning
  target_match:
    severity: info
  equal:
  - service
  - instance
  - rule_type
  - alertname
receivers:
- name: default-receiver
  webhook_configs:
  - send_resolved: true
    http_config: {}
    url: ###
templates: []

Firstly, your Prometheus and Alertmanager versions are very old. You really ought to consider running something a bit newer.
Secondly, it's not clear from your description how you were creating silences. Did you use amtool? If so, can you provide the exact command line arguments that you specified?


fix: Monaco editor allow scrolling

Description
Allow Monaco editor allow scrolling on parent elements.

Task Item
close #7351

Screenshots

Coverage remained the same at 50.84% when pulling 5a91790b7e3386daddcab8e33c0b0b0b1288a88d on zhixzhan/editor-scroll-fix into 1de395f4e39b7ed62fa709c6f177ce60d4afe9cc on main.


Update to latest util/lm

To validate this pull request against other sbt modules, please visit this link.

The following format "flavours" are allowed, with the current scalafmt configuration:
function(argument1,
         argument2)

// OR

function(
    argument1,
    argument2)

// OR

function(
    argument1,
    argument2
)

To enforce the last style (as I understand it) you have to opt into danglingParentheses = true and align.openParenCallSite = false. I haven't gotten round to PR'ing that.

To validate this pull request against other sbt modules, please visit this link.


UnnecessaryInnerClass: add test for safe qualified expressions

Add a unit test for a bug in which safe qualified references to a nullable field
in the parent class (i.e. as ?.) would not be marked as warnings in release
1.20.0. This issue has been inadvertently fixed by
https://github.com/detekt/detekt/pull/4738, but adding a unit test will guard
against future regressions.
I was able to confirm this test fails by checking out the 1.20.0 tag and running
the unit test; against that tag the fix was to override the
visitSafeQualifiedExpression() function with the same logic as
visitCallExpression().

Hm, looks like some a checks on windows failed due to gradle running out of memory; is there any easy way to re-run the check?


refactor: drop most CoeFun instances

If we define a CoeFun instance instead of a FunLike instance, then Lean unfolds the definition. We don't want this, at least until we find a way to make it work with *HomClasses or find an equally convenient machinery.

My guess is that stuff like this will make simp work more like it works in Lean 3. Obviously we don't want to start refactoring mathlib4 before we've ported mathlib3 but these changes look pretty innocuous to me.

Ping @gebner . At first glance this seems incorrect - we just need to make sure that any CoeFun instances are wrapped in functions with the @[coe] attribute. (PS: I'm on holiday this week and I'm probably not going to be spending much time on lean.)

@digama0 Lean 4 does not unfold FunLike.coe, so ((f : M →* N) : M → N) unfolds to FunLike.coe f, not to f.toFun. This allows us to use generic lemmas like map_add, map_sum etc.
In master, ((o : OrderIso α β) : α → β)  unfolds to something ugly (AFAIR, it's FunLike.coe o.toOrderEmbedding.toEmbedding but I'm not sure). Of course, we can drop FunLike.coe and unfold it to o.toFun but this will be o.toEquiv.toFun, not just OrderIso.toFun o. This means that we'll need to replicate, e.g., lemmas about OrderEmbedding.
Similarly, without FunLike, ((f : M →* N) : M → N) is f.toOneHom.toFun and there is no clear way to apply MulHom.map_mul here.

At first glance this seems incorrect - we just need to make sure that any CoeFun instances are wrapped in functions with the @[coe] attribute. (PS: I'm on holiday this week and I'm probably not going to be spending much time on lean.)

I think this PR is the right choice.  If we want to have FunLike (and now is probably not the right time to explore other designs) then FunLike.coe should be the unique function symbol we use for hom-to-fun coercion.

Okay, I retract my concern then.

I'll merge master and go over minor concerns tomorrow.

For some reason, the coercion of a MulEquiv gets unfolded. I don't know why.

This PR/issue depends on:

leanprover-community/mathlib4#1488
By Dependent Issues (🤖). Happy coding!

I merged master. Probably, most of the diff is not relevant anymore.

All the good parts were moved to other PRs and merged, so I'm closing this one.


Update template_v2.py to fix issue #428

Fix crash that occurs when 'augmented' key does not exist. The error is AttributeError: 'dict' object has no attribute 'augmented'

superseded by pull request #501


Part of bottomSheet hiding behind keyboard

Hi, There was a issue while using library.
If there is an input in the bottomSheet and the keyboard is raised due to focus on the input, the button fixed at the bottom is hidden behind the keyboard.
The activity is set to adjustResize . I checked to see if there is a way to solve this, but I'm not sure. If this function is not supported, could you add a function to raise the area of the bottomSheet as much as the keyboard area? Thank you.

@devnunu Can you give me example code to reproduce?
(Fork this repository -> edit sample -> push -> share your repository and branch🙌)

@devnunu
In case of you used bringIntoViewRequester, you can pass a Rect to bringIntoView function which indicates the area should be lifted along. Rect should indicate the area starting from focused component to the component you want to be visible. The behavior you addressing is a very intended behavior while lifting up the keyboard. If the area below focused content have large area, keyboard should cover that area to ensure the visibility of focused component.


[SPARK-14623][ML]add label binarizer

What changes were proposed in this pull request?
SPARK-14623
LabelBinarizer can make it possible to transform a fixed set of class labels to binaries. It uses one-vs-all scheme to extend regression and binary classification algorithms to the multi-class classification.
How was this patch tested?
LabelBinarizerSuiter unit tests
for example
Input:
"yellow,green,red,green,0"
The labels: "0, green, red, yellow"
Output:
0, 0, 0, 1
0, 1, 0, 0
0, 0, 1, 0
0, 1, 0, 0
1, 0 ,0, 0
=> 0's index in input is 5 and set 1 here

Can one of the admins verify this patch?

ok with test

Can one of the admins verify this patch?

Isn't this just one-hot encoding? Spark has had this for a long time.

Let's close this


Support --defaults-file= argument to use only the given option file.

To support use of multiple mysql.cnf files, or to force to use none of the regular .my.cnf settings by pointing to an empty one.
ps. should also prove useful to work around this issue :
2019-03-14 13:06:23 [ERROR] Option host cannot be set via .my.cnf for this command
but that's less important.

2019-03-14 13:06:23 [ERROR] Option host cannot be set via .my.cnf for this command

Ah, that's actually a bug. Thanks for reporting this! I'll put a fix in the next patch release, currently aiming for tomorrow. host in ~/.my.cnf will be ignored by all commands.
Separate from that though, can you explain more your use-case for wanting --defaults-file? Skeema already has a hierarchy of global option files; see https://github.com/skeema/skeema/blob/master/doc/config.md#specifying-options-via-option-files.
If your use-case is wanting to supply different username/password in various situations, I'd recommend using different environment sections in ~/.skeema, e.g.:
[production]
user=admin
password=123

[dev]
user=root
password=456

A fix for host in ~/.my.cnf is now in master. I was hoping to make a new Skeema release today, but my CI vendor seems to be broken yet again, so it may need to wait until Monday.

2019-03-14 13:06:23 [ERROR] Option host cannot be set via .my.cnf for this command
Ah, that's actually a bug.

That's what I hoped.

Thanks for reporting this! I'll put a fix in the next patch release, currently aiming for tomorrow. host in ~/.my.cnf will be ignored by all commands.

Separate from that though, can you explain more your use-case for wanting --defaults-file? Skeema already has a hierarchy of global option files; see https://github.com/skeema/skeema/blob/master/doc/config.md#specifying-options-via-option-files.

Yes but I find that insufficient for trust reasons. Instead of a --defaults file option I would be happy with a --no-defaults flag (just like mysql has) to make absolutely sure that skeema is not using anything from a .my.cnf it may encounter.

Thanks. If you could explain your use-case in more depth, it will help me evaluate and prioritize this.
Would you want --no-defaults to only skip ~/.my.cnf? Or all home dir option files (~/.my.cnf and ~/.skeema)? Or all global option files altogether (those 2 + /etc/skeema and /usr/local/etc/skeema)?
Are there specific options where you are concerned about Skeema using the value in ~/.my.cnf?

Would you want --no-defaults to only skip ~/.my.cnf?

Yes. Ideally skeema behaves a bit like the mysql client does.
I need to be completely sure where skeema gets its config from.
So if skeema can use settings from .my.cnf I want to be able to tell it which one to use.
If that is not possible I want to be able to decouple .my.cnf from skeema completely with something like a --no-defaults option.
I have multiple my.cnf files for various databases and would like to be able to use skeema on a few of them.

Or all home dir option files (~/.my.cnf and ~/.skeema)? Or all global option files altogether (those 2 + /etc/skeema and /usr/local/etc/skeema)?

That sounds useful too. But is not what I need at this point.
If you choose to implement this then maybe distinguish with names like

--no-my-cnf-defaults
--no-skeema-defaults
?

Are there specific options where you are concerned about Skeema using the value in ~/.my.cnf?

The hosts entry was one ;-)
But the thing is that it needs to be absolutely clear what config skeema uses.

I have multiple my.cnf files for various databases and would like to be able to use skeema on a few of them.

Is this re: auth info (user and password options) specifically, or something else?
If you just want to configure different auth info on different DBs, the way to do this in Skeema is via named environments. And since ~/.skeema takes precedence over ~/.my.cnf,  there's a pre-existing way to ensure you're overriding things in ~/.my.cnf.
I realize that doesn't solve your root concern adequately, but it may provide a sufficient work-around for you for now.

If you choose to implement this then maybe distinguish with names like

I'd lean more towards just a single option (to minimize complexity), skipping .my.cnf only.
Or maybe an alternative approach of not adding any new option, and instead just restricting which options are ever parsed from ~/.my.cnf's [client] and [mysql] sections to just a documented whitelist of user, password, and perhaps socket.
For backwards-compatibility, we would need to continue parsing all options from the [skeema] section in ~/.my.cnf. That seems more straightforward/expected though.

The hosts entry was one ;-)

To be clear, even in versions affected by this bug, presence of host in ~/.my.cnf was caught by a safety check and errored loudly. It's not like the wrong value was ever silently used in a detrimental manner.

But the thing is that it needs to be absolutely clear what config skeema uses.

This makes sense conceptually, though practically speaking I'm having difficulty seeing the harm vector. e.g. if Skeema picks up the wrong user/pass combo from ~/.my.cnf you'll just get an auth error.

I have multiple my.cnf files for various databases and would like to be able to use skeema on a few of them.
Is this re: auth info (user and password options) specifically, or something else?

Not specifically and nothing particular else either. I just want to enforce that nothing from a self-probed config file is used at all. (with self-probed I mean that I did not explicitly tell skeema to use a .my.cnf)

If you just want to configure different auth info on different DBs, the way to do this in Skeema is via named environments. And since ~/.skeema takes precedence over ~/.my.cnf, there's a pre-existing way to ensure you're overriding things in ~/.my.cnf.

Is that on per-key-value basis ? If so that does not guarantee that my override settings are complete.

I realize that doesn't solve your root concern adequately, but it may provide a sufficient work-around for you for now.

Can I make an empty ~/.skeema to invalidate any possible ~/.my.cnf ?

I'd lean more towards just a single option (to minimize complexity), skipping .my.cnf only.

That'd be great :)

Or maybe an alternative approach of not adding any new option, and instead just restricting which options are ever parsed from ~/.my.cnf's [client] and [mysql] sections to just a documented whitelist of user, password, and perhaps socket.

That would also work, but I don't like it.

This makes sense conceptually, though practically speaking I'm having difficulty seeing the harm vector. e.g. if Skeema picks up the wrong user/pass combo from ~/.my.cnf you'll just get an auth error.

The harm vector is obvious to me: manipulate the wrong database. But mixing up credentials is unwanted as well.
Concluding I think a --no-my-cnf-defaults would work best.
I hope this helps.

Is that on per-key-value basis ?

Yes.

Can I make an empty ~/.skeema to invalidate any possible ~/.my.cnf ?

No. You'd need to override the specific keys.

The harm vector is obvious to me: manipulate the wrong database.

That is not possible. Skeema explicitly does not permit host or schema to be configured in a global configuration file. There is no risk of values in my.cnf causing Skeema to manipulate the wrong database.

But mixing up credentials is unwanted as well.

Again, worst case there is Skeema is unable to connect to the database.

Concluding I think a --no-my-cnf-defaults would work best.

OK. I'll keep this open in case a third-party wants to contribute code for it.

Just released Skeema v1.2.3, which includes new option skip-my-cnf.


Unable to update a model with only the created_at timestamp.

Laravel Version: 5.6, 5.7
PHP Version: 7.2
Database Driver & Version: MySQL  10.2.17-MariaDB

Description:
If const UPDATED_AT = null the builder set to the updated_at column  current date.
Model:: updateTimestamps has checking for null but Builder:: addUpdatedAtColumn doesn't have one
Steps To Reproduce:

Make DB with the created_at but without the updated_at field.
Set in model const UPDATED_AT = null;
Update the model.

I dont understand - can you provide more explanation please?


Upgrade Prometheus integration to use remote writing

Limitations of the current exporter based approach

Prometheus scrapes metrics from a running vegeta attack process and assigns timestamps to samples on its server. This means result timestamps aren't accurate (i.e. they're scraping time, not result time).
Configuring Prometheus to scrape vegeta needs to happen out-of-band. That's a hassle!
Since there's no coordination between a vegeta attack process and a Prometheus server, an attack process will finish before Prometheus has the chance to scrape the latest observations.

Instead, we should do something like this: https://k6.io/docs/results-output/real-time/prometheus-remote-write/

I think this is a good addition for distributed "attacks"!
While we don't implement this, for distributed load tests an alternative would be:

use https://github.com/flaviostutz/etcd-registrar to start with each vegeta attacker (which will add an entry with the attacker address to a ETCD server) when the service starts and removes it from the etcd "directory" when it is killed
configure Prometheus to observe the ETCD service list to start monitoring it as soon as the attacker starts working (see https://prometheus.io/blog/2015/08/17/service-discovery-with-etcd/)

We still will have some of the issues mentioned above, but it can help in the meanwhile.

Would we implement this as part of the "attack" (changing the current implementation), or as a separate command?
In both situations we have to be careful about the latency introduced by the push part, so probably we have to make it run asynchronously, in a separate goroutine from the main processes.
What do you think?

Sure, we'll have to be careful always when introducing changes to attack, this included! I'm leaning to change the existing implementation + introduce a separate prom-write sub-command.

Just want to note that distributed tests shouldn't rely on an etcd server, or any other kind of external coordinator.


Missing time_of_use_settings in Fleet API?

Hi,
Unless I missed it when I did a code search there's no way to set the tariff in this API.. but there is in the Tesla Fleet API by using POST /api/1/energy_sites/{energy_site_id}/time_of_use_settings (Source: https://developer.tesla.com/docs/fleet-api/endpoints/energy)
Are some endpoints missing?
I also could not find it in the Cloud API either (although of course the app does support this)
Kind Regards (and happy holidays!),
Matthew

Hi @Matthew1471 you are correct. This API is not implemented, and likely many others. I would absolutely love and welcome the enhancement if you  have time to code it. Feel free to submit a PR. I will tag this as an enhancement request.


Prod no longer imports the expected API options after changing to user configuration bind

Azure app service can no longer find the expected args after changing to import the options into a ApiOptions instance

After further investigation, it appears that Azure App Service is not importing the sections from secrets as is expected. This appears to be because the setting used has been moved from "key" to "ApiOptions:Key".
As it is hosted on Linux, azure tries to change the json by changing the ":" into a double underscore ("__"). What this appears to mean is the configuration bind cannot find the section, as it does not exist. The nested json change is mentioned here.
This appears to then have a knock on that nested secrets don't seem to be importable as they end up being treated as environment variables and therefore lose the expected structure.
As a work around to this, the ApiOptions instance will need to have the values added manually.
It would be preferable in the long term to move to azure value key stores.


fix tf-628

The logic for putting constructor and accessor requirements in the witness table was missing.

@swift-ci please test tensorflow


Upgrade to cabal 3.8 and use top-level ghc-options

Resolves  https://github.com/input-output-hk/cardano-ledger/issues/2998

thank you @teodanciu !


Physical quantum resource estimates

In order to be able to account for runtime in performance analysis of QPE, we need to estimate it and include it in solution JSON files. To address this we should update our QPE resource estimation script to estimate runtimes for some reasonable hardware architecture.
Note that originally we were planning to use benchq's footprint analysis capabilities. However given that benchq is not compatible with the versions of pyliqtr that have double factorization, we could consider using another tool such as one of qualtran's physical cost models.

Branch https://github.com/isi-usc-edu/qb-gsee-benchmark/tree/max-radin/physical-resource-estimates now updates the LRE to include physical estimates using qualtran. However it's not very useful at this point because even for planted solution 1 (14 orbitals), it fails to find factories that satisfy the required success rate.

Addressed by #66.


Audit and make documentation for command JSON.TYPE consistent

The documentation of the command [JSON.TYPE](https://dicedb.io/commands/jsontype/) present in the docs could have become stale. We need your help to ensure that the documentation is complete, correct, and consistent.  Completing this issue will give you much-needed exposure to how the command is implemented and the different parameters it accepts. Hence, this is a great way to build a good understanding of the project and its functionality. While still making a significant contribution. Here's what you need to do:

Go through the documentation of the command and run all the examples, making sure they all work as expected
If the same command is present in Redis, then the expected output of the DiceDB command is the same as the Redis output
If the command is not in Redis, then as per your judgment, raise an issue with this template or fix the documentation and raise a pull request.
The documentation should contain the following sections in the following order

short and concise introduction paragraph about the command covering what it does
Syntax
Parameters: List all the parameters the command accepts, and ignore the section if there are no parameters
Return values: List all possible return values and under what condition
Behaviour: Describe the behavior of the command, what it does, how it does it, some internal specifics if any
Errors: List all possible errors the command can throw and under what condition
Examples: List all possible examples of the command and the expected output. Assume CLI implementation

Note: The title of the sections should be the exact strings mentioned above, like "Examples", "Return values", etc.
Note: The description of the command in Frontmatter of the command.md file is the first paragraph (introduction) of the command.
Go through the DiceDB/dice repository and explore the command implementation

to understand all possible return values
to understand all possible error values and conditions
to understand different parameters the command accepts

Please use the documentation of the SET command as the reference point and structure the
documentation of this command in a very similar way, including the following points

if you see any "Conclusion" section, remove it
the headers (h1, h2, h3) should be appropriately used
the CLI prompt should be <IP_ADDRESS>:7379> and not anything else
Use markdown tables for parameters and return values (ref SET command documentation)
wrap any command or paramter in backticks (`) to highlight them
the section header should be capitalize as used in the SET command documentation

If you find any inconsistencies, please fix the documentation and raise the PR.
The core idea of this exercise is to ensure that the documentation is consistent, correct, and complete.
Make sure you comment on the other issues you created (if any) as a comment on this issue and also any PR (if any) that you created.
Thank you for picking this up and contributing to the DiceDB. It means a ton.

hey there @arpitbbhayani can i take up this issue. this seems a good starting point for me to start contributing to this repo.

@onlybond assigned, thanks for contributing.

hey there @arpitbbhayani can i take up this issue. this seems a good starting point for me to start contributing to this repo.

@KunjShah95 this issue has already been assigned, can you please check for unassigned ones in this list once. Thanks for contributing.

Hello @onlybond,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hello @onlybond,
There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hey there @arpitbbhayani , I have been working on this issue.  I am sorry if this is taking too long. I am having issues understanding the db as this is my first time working on a db. will give an update and complete this issue by today EOD or tomorrow morning.


tests: generalise ui testing and allow for per file configuration

This patch makes the testing infrastructure more generalised and available to any of the stages within the compiler. This change shifts tests from using a configuration style that's based on the name of the directory, to what the file specifies in it's
own configuration.
Test files can now specify their configuration parameters within the file itself on the first line of the file. This configuration is a simple key-pair set that produces a TestMetadata that is generated at build time and processed within tests/testing-internal/src/metadata.rs. An example of this configuration would be:
// run=fail, stage=semantic

main := () => {
    [...x, t, ...] := a;

    match t {
        [...a, [...l, t, ..., c], t] => {};
        _ => {};
    };
};

This case specifies that the test should run up to semantics and that it should fail.
With this kind of configuration, it is easily possible to expand it and make it far more sophisticated with all kinds of possible configuration options. In light of all of this, it is now also possible to write tests for the semantics analysis, typechecking, exhaustiveness... and any other desired stage.
closes #460

Very nice sir


Adding language Esperanto

It would be fantastic if you would concider adding Esperanto language!
Here the data, I know it's a particular language.

language code: eo
country code: none if possible, XX if necessary (eo_XX)
language name in English: Esperanto
country name in English: none if possible, else Esperantoland
translated language name: Esperanto
translated country name: none if possible, else Esperantio

In case you need it.

Fixed now, can be closed.


style: add underline on 'Read License' link in challenge page

Adding an underline on the 'Read License' link on the challenge page to make it clear that it's a link.
PR for this issue : https://github.com/nauvalazhar/code-design/issues/86#issue-2297291062

@all-contributors add @altafsyah as design


Removed direct jackson dependencies from azure cosmos and spark

This PR removes direct jackson dependencies from azure-cosmos module. azure-cosmos depends on azure-core for jackson dependencies. However, to solve a CVE, we added direct jackson dependencies to azure-cosmos since azure-core was already released earlier.
Now that azure-core has updated jackson dependencies, we can remove the overridden ones.


First pass at enabling FlatCAF making in ND

I think this is approximately how it should look. Unfortunately it needs a newer C++/ROOT than is setup by default, and the ND_CAFMaker software setup is such a disaster that I haven't yet managed to get such a configuration to test.
There will also need to be some configuration options to enable/disable this, which I'm not sure how they should look.

Do you want to wait until after Luke has a whack at addressing #11?  He said he'll try it next week.

I got this to build using the set of libraries in ndcaf_setup.sh, plus various other downstream changes. Doesn't run though.
Before merging this branch bfba4255f8c056679964ae9c99ed4cb8e296ec4a should probably be reverted (because hopefully something similar but better will be in use by then)


Can't open document directly when enter the file path in the address bar

If I input D:/123.pdf in the address bar
In classic file explorer
It will open the pdf
In files uwp

A fix should roll out with v0.7.2, we will make sure to let you know when that happens.

This should be fixed with the v0.7.2 release, which is currently in certification in the Microsoft Store.


feat: Matomo refinements

What
Closes: #501
Some Matomo refinments for better statistics

Now also tracking user managment interations
Fixed a bug in the matomo library
More general page names

Codecov Report

Merging #2264 (e5c4793) into develop (2ea0da3) will decrease coverage by 1.09%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           develop   #2264      +/-   ##
==========================================
- Coverage     8.86%   7.76%   -1.10%
==========================================
  Files          161     181      +20
  Lines         6623    9113    +2490
==========================================
+ Hits           587     708     +121
- Misses        6036    8405    +2369

Impacted Files
Coverage Δ

...kages/smooth_app/lib/widgets/attribute_button.dart
0.00% <0.00%> (-92.00%)
:arrow_down:

packages/smooth_app/lib/themes/smooth_theme.dart
60.00% <0.00%> (-22.98%)
:arrow_down:

...s/smooth_app/lib/data_models/user_preferences.dart
9.37% <0.00%> (-22.94%)
:arrow_down:

...p/lib/generic_lib/dialogs/smooth_alert_dialog.dart
19.23% <0.00%> (-14.98%)
:arrow_down:

...mooth_app/lib/data_models/product_preferences.dart
26.47% <0.00%> (-4.96%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/welcome_page.dart
0.00% <0.00%> (-3.13%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/scan_example.dart
0.00% <0.00%> (-2.28%)
:arrow_down:

packages/smooth_app/lib/main.dart
15.74% <0.00%> (-2.16%)
:arrow_down:

...s/smooth_app/lib/pages/onboarding/next_button.dart
2.22% <0.00%> (-1.78%)
:arrow_down:

...p/lib/pages/onboarding/consent_analytics_page.dart
0.00% <0.00%> (-1.57%)
:arrow_down:

... and 169 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 67045d6...e5c4793. Read the comment docs.


Using ##vso[task.setprogress value=x] on Releases

Does ##vso[task.setprogress value=x] work on Release or is it a Build only? Using it while building correctly shows the percentage behind the current step (but does not show the current task)
While running a Release the set.progress percentage won't be shown anywhere but is omitted in the console output window, so it seems to be recognized somehow.
Steps to reproduce:

Have a build with an artifact

Create new empty Release Definition

Add PowerShell Task and switch to "Inline"

Add following Code to inline input:
Write-Host "Hello World!"
for ($i = 0; $i -le 100; $i += 10)
{
Write-Host ([string]::Format("##vso[task.setprogress value={0};]Deploy {1}", [int] $i, "MySolution"))
Write-Host ([string]::Format("Task: {1} / Perc: {0}", [int] $i, "MySolution"))
Start-Sleep -Seconds 1
}

Queue new Release

Tested with Hosted and private Agent, both don't show the progress.

It should work in either.  It's not specific to build or release.  RM should fix it.

This if fixed.

Just tested this with TFS-2017.....  Not Working In Releases!!!!!! (But is working in Build!!!!)

Sorry, this fix didn't make it to TFS 2017. This is only available from TFS 2018.

@kasubram - Thanks (FYI: Had that been explicitly stated that is was fixed for VSTS in the Aug 18th comment, it would have saved me at least 4 hours - and who knows how much time across the developer community)


ClusterIssuer with Cloudflare API failure

Hello,
I am new on cert-manager.
I trying to create ClusterIssuer, but no luck.
YAML:
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-dns01
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email<EMAIL_ADDRESS>    privateKeySecretRef:
      name: letsencrypt-dns01
    solvers:
    - selector: {}
      dns01:
        cloudflare:
          email<EMAIL_ADDRESS>          apiKeySecretRef:
            name: cloudflare-apikey
            key: api-key

Status:
  Acme:
  Conditions:
    Last Transition Time:  2020-06-05T09:48:50Z
    Message:               Failed to verify ACME account: context deadline exceeded
    Reason:                ErrRegisterACMEAccount
    Status:                False
    Type:                  Ready
Events:
  Type     Reason                Age                 From          Message
  ----     ------                ----                ----          -------
  Warning  ErrVerifyACMEAccount  52s (x13 over 37m)  cert-manager  Failed to verify ACME account: context deadline exceeded
  Warning  ErrInitIssuer         52s (x13 over 37m)  cert-manager  Error initializing issuer: context deadline exceeded

Thanks

Am I need add txt record to cloudflare ? if yes, how to gen txt record ?
Thanks

Seems your cluster cannot reach https://acme-v02.api.letsencrypt.org/directory can you check if you can access this URL within a pod?
/triage support

Hello,
I fixed this problem with secret key mainset.
Thanks

/close


Overloading of the "context variable" term in Power Apps

In the section labeled "Use context from Teams", there are references to a term "context variables" but then refers to incoming parameters from Teams, even showing using the Params() function to retrieve the values.
In Power Apps, "context variables" already refers to screen-local variables, and calling these incoming params the same thing will lead to maker confusion.

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

ID: a0367a42-3b99-3362-2ea7-1a821d66d4eb
Version Independent ID: 5bda16c0-b231-29f6-9da1-766ddd72b374
Content: Embed an app in Teams - Power Apps
Content Source: powerapps-docs/maker/canvas-apps/embed-teams-app.md
Service: powerapps
GitHub Login: @matthewbolanos
Microsoft Alias: mabolan

Thank you for reaching out. The context in this reference used is the 'Teams context' for clarity.


Language Support: Simplified Chinese

Would you be able to translate the new lines related to BROTHERINVASION in the languagefile?


Created using Colaboratory

@slarrauri  Thank you for your contribution. Can you please sign CLA? Thanks!

@slarrauri Can you please sign CLA. Thanks!

I'm going to go ahead and close this PR, because it seems to have stalled. If you're still interested in pursing this (and responding to my comments), please feel free to reopen!


Compound primary key

Thanks for the great component!
How I should handle situation where I use compound primary key? For example I try to insert new record and I get error 'Failed to create model: ... - column "id" does not exists'.
I tried to override idColumn and specify something as [ 'col1', 'col2' ].

Sorry, no support for compound primary keys at the moment. I think this is a feature that all self respecting ORMs should have though and it is on my todo list. Full support for compound primary keys requires a lot of work and a couple of breaking changes, but I'm just about to release a 0.4.0 and I could squeeze this feature in. I'll take a closer look at this and post here if I decide to start working on this.

I'm working on compound key support and I haven't found any show stoppers yet. I'll publish a new release candidate of 0.4.0 as soon as I have a working version ready.
In the future, compound primary key can be specified by setting idColumn to an array of column names, just as you tested. Similarly relationMappings can take an array of columns like so:
someRelation: {
  relation: Model.OneToManyRelation,
  modelClass: SomeModel,
  join: {
    from : ['tbl1.a', 'tbl1.b'],
    to: ['tbl2.c', 'tbl2.d']
  }
}

If you have any ideas or requirements for this feature, please feel free to post them here.

Good news!
I think that an array of columns is good idea. I will try a new version as soon as it will be released.

@Biktop I just published the version 0.4.0-rc.3 that has support for compound keys. Let me know if there are any problems.

Thank you very much! I've tried new version and haven't found any problems related to my use cases.

I'm closing this as solved. Please open a new issue if you encounter any bugs.


add onekey device support

Hello @achow101, we are still waiting to merge this PR, we have already rebased to latest commit and addressed questions and issues above. Could you kindly reveiw again base on our latest commit?

Can you please rebase it?

Please squash your commits.

Looking at the code, it seems this PR is not adding anything substantial.
The Onekey devices are just clones of Trezor One and Trezor Model T. They even copied the internal names (T1B1 and T2T1). I am not sure it is really worth complicating the codebase and risking rendering of Trezor support unusable (this PR modifies trezorlib too).
Since Onekey tries to be compatible with Trezor (their FAQ mentions "support all third-party clients supported by Trezor"), maybe we should not change HWI at all and let Onekey be detected as Trezor via HWI?

Looking at the code, it seems this PR is not adding anything substantial.
The Onekey devices are just clones of Trezor One and Trezor Model T. They even copied the internal names (T1B1 and T2T1). I am not sure it is really worth complicating the codebase and risking rendering of Trezor (and all its clones) support unusable (this PR modifies trezorlib too).
Since Onekey tries to be compatible with Trezor (their FAQ mentions "support all third-party clients supported by Trezor"), maybe we should not change HWI at all and let Onekey be detected as Trezor via HWI?

OneKey Touch/Pro are using different MCU and SE than Trezor T/One, which means hardware and low-level codes are totally different. We also designed and built our own GUI since the screen resolution is different, and we have no interest to have GUI looks the same.
OneKey firmware was forked from Trezor, but I don't think building on top of a fork should count as a counterfeit, that's not how open-source projects work. Many great projects were based on a fork.
Due to the nature of initially forked from Trezor, our protocol is compatible with Trezor. However, it does not work the other way around, since OneKey has many things Trezor does not support. This is why we need a separate implementation to fully support our device, and adding OneKey support to HWI is the first step.
Introducing fewer changes possible was suggested by @achow101. Ideally, we want a separate library path.

Looking at the code, it seems this PR is not adding anything substantial.
The Onekey devices are just clones of Trezor One and Trezor Model T. They even copied the internal names (T1B1 and T2T1). I am not sure it is really worth complicating the codebase and risking rendering of Trezor (and all its clones) support unusable (this PR modifies trezorlib too).
Since Onekey tries to be compatible with Trezor (their FAQ mentions "support all third-party clients supported by Trezor"), maybe we should not change HWI at all and let Onekey be detected as Trezor via HWI?

Hi @prusnak
I totally understand your worries.
I'm a big fan of Trezor—my very first hardware wallet was a Trezor back in 2014.
Yes, a lot of OneKey's firmware was indeed developed on the shoulders of Trezor. We strictly followed Trezor's open-source license and had no intentions beyond that.
It’s worth mentioning that all of OneKey’s app code is completely open-source. We do have plans to fully rebuild our firmware using the RTOS architecture, but that's going to take some time.
To draw an analogy, if Trezor is like Google, then OneKey would be like Xiaomi. Sundar Pichai doesn't mind other manufacturers using Android's code in an open-source manner, because it actually helps Google solidify its position and market share in mobile operating systems. Similarly, I believe OneKey genuinely helps promote Trezor’s communication standards, which is beneficial for Trezor.
And let’s be honest—there's a big, annoying elephant in the room. That’s the one we really need to aim to surpass, right?


Conflicting information

Although the release notes states "Starting with the 2005 release, when you update to a new major version (for example, 1.2005.x to 1.2008.x), the latest hotfixes (if any) in the new major version are installed automatically. From that point forward, if a hotfix is released for your build, you should install it."   In this paragraph the word "should" is used.
Next, the release note states that hotfixes are cumulative and that " you only need to install the latest hotfix to get all fixes included in any previous hotfix releases for that version."   In this paragraph the phrase "only need to" is used.
Lastly, the release note states as a "Hotfix prerequisites" - "The 2008 release of Azure Stack Hub must be applied on the 2005 release with the following hotfixes:" then goes on to list the latest hotfix for the previous ASH release.   In this paragraph the work "must" is used.
There is an ocean of difference between the words "should" and "must" and the phrase "only need to". I have emphasized with my customer that the best practice and best experience is to always install the latest hotfix prior to installing the next major release. With that said, my customer has pointed out that the words used and how they instruct to perform maintenance are confusing, unclear, contradictory. They have requested that the release notes be updated as to provide the best practice only and not state something "must" be done when clearly it does not; even if it would produce a more positive experience.
For clarity, the request is to update the release notes to state the following:
"Starting with the 2005 release, when you update to a new major version (for example, 1.2005.x to 1.2008.x), the latest hotfixes (if any) in the new major version are installed automatically. Further, Azure Stack Hub hotfixes are cumulative. As a best practice, all hotfix's released for your build should be installed to ensure the best update experience between major releases."
"Note*
If you operate a disconnected Azure Stack Hub, it is best practice that you monitor the RSS feed "Microsoft Support - Azure Stack Hub" (provide link) to ensure you have downloaded the most recent release of a major version. This will ensure you have the current inline hotfix for the new major version."
I was also requested that since hotfixes are cumulative - the section "Hotfix prerequisites: before applying the 2008 update" should be removed because this is a best practice - not a requirement due to the cumulative nature of the hotfixes.

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

ID: c6e05517-6ffa-ad32-ec69-d3299492d880
Version Independent ID: 2d6ffb4c-9134-a390-3f90-2322c9182e76
Content: Azure Stack Hub release notes - Azure Stack Hub
Content Source: azure-stack/operator/release-notes.md
Service: azure-stack
Sub-service: azure-stack-hub
GitHub Login: @sethmanheim
Microsoft Alias: sethm

@noellis-ms Thank you for the feedback. We have a couple of issues here.
First, I agree the wording of this is confusing. The idea is that you don't need to install the latest hotfix before updating to a major release (which was previously a requirement); the major releases contain all the cumulative hotfixes up to that point. I like your suggestions for rewording, and will make that change you suggest.
For the RSS feed, I do not have a link or any access to that feed, so I won't include that change. We will continue to rely on the other channels customers have used to keep informed about new major releases. Thank you for the suggestion, however!

@noellis-ms Thank you for the feedback. We have a couple of issues here.
First, I agree the wording of this is confusing. The idea is that you don't need to install the latest hotfix before updating to a major release (which was previously a requirement); the major releases contain all the cumulative hotfixes up to that point. I like your suggestions for rewording, and will make that change you suggest.
For the RSS feed, I do not have a link or any access to that feed, so I won't include that change. We will continue to rely on the other channels customers have used to keep informed about new major releases. Thank you for the suggestion, however!

Hi Seth,
Much appreciate the quick response.
The URL to the RSS feed for Azure Stack Hub hotfixes is listed below.
https://support.microsoft.com/app/content/api/content/feeds/sap/en-us/32d322a8-acae-202d-e9a9-7371dccf381b/rss
Additionally, a customer reading the release note could go to this URL and select Azure Stack Hub from the dropdown menu.
Feed Picker (microsoft.com)https://support.microsoft.com/en-us/rss-feed-picker
Kind Regards,
[Microsoft]
<EMAIL_ADDRESS>Norman Ellis
Customer Engineer
Microsoft Federal
U.S. Regulated Industries
Office: Reston, VA | +1<PHONE_NUMBER> X6461
Mobile: +1<PHONE_NUMBER>
Norman.Ellis<EMAIL_ADDRESS>
If you have any feedback about my work, please let either me or my manager Becky Wynne know at<EMAIL_ADDRESS><EMAIL_ADDRESS>From: Seth Manheim<EMAIL_ADDRESS>Sent: Thursday, January 21, 2021 12:42 PM
To: MicrosoftDocs/azure-stack-docs<EMAIL_ADDRESS>Cc: Norman Ellis<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-stack-docs] Conflicting information (#1254)
@noellis-mshttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnoellis-ms&data=04|01|Norman.Ellis%40microsoft.com|0ceed4d1c5bb4c38e44008d8be33eba4|72f988bf86f141af91ab2d7cd011db47|1|0|637468477508002509|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=7oFP1UM6Yuzqy%2F%2BwU0A4mJPV1EA3jZXOGQfwK80FL%2BI%3D&reserved=0 Thank you for the feedback. We have a couple of issues here.
First, I agree the wording of this is confusing. The idea is that you don't need to install the latest hotfix before updating to a major release (which was previously a requirement); the major releases contain all the cumulative hotfixes up to that point. I like your suggestions for rewording, and will make that change you suggest.
For the RSS feed, I do not have a link or any access to that feed, so I won't include that change. We will continue to rely on the other channels customers have used to keep informed about new major releases. Thank you for the suggestion, however!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-stack-docs%2Fissues%2F1254%23issuecomment-764820478&data=04|01|Norman.Ellis%40microsoft.com|0ceed4d1c5bb4c38e44008d8be33eba4|72f988bf86f141af91ab2d7cd011db47|1|0|637468477508002509|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=Xykd5mHbpV31lrgRQJvyBcyQMo6CQmpkuaXtAvrJL10%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FASRQ2ZK7OF3V6AZVYZ2MOKLS3BRQHANCNFSM4WNGFKHQ&data=04|01|Norman.Ellis%40microsoft.com|0ceed4d1c5bb4c38e44008d8be33eba4|72f988bf86f141af91ab2d7cd011db47|1|0|637468477508012464|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=ho0btVMF37bSoA7P8A8JcuWfBXM4uUmFQou2JtqPMtA%3D&reserved=0.

Hi Seth,
Much appreciate the quick response.
The URL to the RSS feed for Azure Stack Hub hotfixes is listed below.
https://support.microsoft.com/app/content/api/content/feeds/sap/en-us/32d322a8-acae-202d-e9a9-7371dccf381b/rss
Additionally, a customer reading the release note could go to this URL and select Azure Stack Hub from the dropdown menu.
Feed Picker (microsoft.com)https://support.microsoft.com/en-us/rss-feed-picker
Kind Regards,
[Microsoft]
<EMAIL_ADDRESS>Norman Ellis
Customer Engineer
Microsoft Federal
U.S. Regulated Industries
Office: Reston, VA | +1<PHONE_NUMBER> X6461
Mobile: +1<PHONE_NUMBER>
Norman.Ellis<EMAIL_ADDRESS>
If you have any feedback about my work, please let either me or my manager Becky Wynne know at<EMAIL_ADDRESS><EMAIL_ADDRESS>From: Seth Manheim<EMAIL_ADDRESS>Sent: Thursday, January 21, 2021 12:42 PM
To: MicrosoftDocs/azure-stack-docs<EMAIL_ADDRESS>Cc: Norman Ellis<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-stack-docs] Conflicting information (#1254)
@noellis-mshttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnoellis-ms&data=04|01|Norman.Ellis%40microsoft.com|0ceed4d1c5bb4c38e44008d8be33eba4|72f988bf86f141af91ab2d7cd011db47|1|0|637468477508002509|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=7oFP1UM6Yuzqy%2F%2BwU0A4mJPV1EA3jZXOGQfwK80FL%2BI%3D&reserved=0 Thank you for the feedback. We have a couple of issues here.
First, I agree the wording of this is confusing. The idea is that you don't need to install the latest hotfix before updating to a major release (which was previously a requirement); the major releases contain all the cumulative hotfixes up to that point. I like your suggestions for rewording, and will make that change you suggest.
For the RSS feed, I do not have a link or any access to that feed, so I won't include that change. We will continue to rely on the other channels customers have used to keep informed about new major releases. Thank you for the suggestion, however!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-stack-docs%2Fissues%2F1254%23issuecomment-764820478&data=04|01|Norman.Ellis%40microsoft.com|0ceed4d1c5bb4c38e44008d8be33eba4|72f988bf86f141af91ab2d7cd011db47|1|0|637468477508002509|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=Xykd5mHbpV31lrgRQJvyBcyQMo6CQmpkuaXtAvrJL10%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FASRQ2ZK7OF3V6AZVYZ2MOKLS3BRQHANCNFSM4WNGFKHQ&data=04|01|Norman.Ellis%40microsoft.com|0ceed4d1c5bb4c38e44008d8be33eba4|72f988bf86f141af91ab2d7cd011db47|1|0|637468477508012464|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=ho0btVMF37bSoA7P8A8JcuWfBXM4uUmFQou2JtqPMtA%3D&reserved=0.

Thanks again for your feedback. I have changed this section in the 2008 release notes as follows. It should be live today after 10 AM PST:
After successfully applying the 2008 update
Because Azure Stack Hub hotfixes are cumulative, as a best practice you should install all hotfixes released for your build, to ensure the best update experience between major releases. When you update to a new major version (for example, 1.2005.x to 1.2008.x), the latest hotfixes (if any) in the new major version are installed automatically.
After the installation of 2008, if any 2008 hotfixes are subsequently released, you should install them:
Azure Stack Hub hotfix 1.2008.20.102

Thanks again for your feedback. I have changed this section in the 2008 release notes as follows. It should be live today after 10 AM PST:
After successfully applying the 2008 update
Because Azure Stack Hub hotfixes are cumulative, as a best practice you should install all hotfixes released for your build, to ensure the best update experience between major releases. When you update to a new major version (for example, 1.2005.x to 1.2008.x), the latest hotfixes (if any) in the new major version are installed automatically.
After the installation of 2008, if any 2008 hotfixes are subsequently released, you should install them:
Azure Stack Hub hotfix 1.2008.20.102

#please-close

#please-close


The link references are pointing to the wrong address on Node.js Client API doc

For example:
The link "See op.joinInner" on joinInner method is pointing to nowhere on docs.marklogic.com (http://docs.marklogic.com/op.joinInner)
The actual link on docs.marklogic.com is: http://docs.marklogic.com/AccessPlan.prototype.joinInner

I noticed today that the jsdoc on pubs is coming off the wrong branch. Tomorrow's build should the optic content and it'll be easier to confirm the correct reference (if that's needed).

Thanks for the input.  The issue in this case is that the code generation is not taking account of the class for the method when building the documentation URIs.

Links for class methods should now point to server-side documentation where it exists.
Functions without server-side documentation shouldn't have links to the server-side documentation.
The fix to the JSDoc shouldn't cause regressions.

Link references are pointing to the correct SJS doc now


Skip the job depending on the type of error

Currently, we never skip a job if the previous run has returned an error. But it should be conditional: only retry for an allowlist of errors (e.g., ConnectionError), not the other way: for the same commit, we will get the same result and just lose time and resources.
Here: https://github.com/huggingface/datasets-server/blob/893a70cb7201090b8c64cd127fbe029c723f2aa3/workers/datasets_based/src/datasets_based/worker.py#L221

Done in https://github.com/huggingface/datasets-server/pull/761


Feature request: option to untag the struct name from the serialization

I made a logger that accepts any serializable struct and pass it to csv::writer::Writer::serialize. The current issue is that typetag always serialize a struct into a map, which makes it incompatible with the csv.
#[typetag::serialize]
pub trait LogRecord {}

#[derive(serde::Serialize)]
struct TestRecord<'caller> {
    pub s: &'caller str,
    pub n: usize,
}
#[typetag::serialize]
impl<'caller> LogRecord for TestRecord<'caller> {}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_ser() {
        let r = TestRecord { s: "a", n: 0 };
        let a = ron::to_string(&r).unwrap();
        let b = ron::to_string(&r as &dyn LogRecord).unwrap();
        assert_eq!(a, b);
        // assertion `left == right` failed
        //   left: "(s:\"a\",n:0)"
        //  right: "{\"TestRecord\":(s:\"a\",n:0)}"
    }
}

If &dyn LogRecord is passed to csv::writer::Writer::serialize, the writer complains that:
Error(Serialize("serializing maps is not supported, if you have a use case, please file an issue at https://github.com/BurntSushi/rust-csv"))

Reading through the ser.rs of this project, I found the solution that works:
Solution
/// Make a reference of `T` of `erased_serde::Serialize` to also be `serde::Serialize`
///
/// So that you can put the reference of `T` to anywhere that requires `serde::Serialize`
pub struct SerWrap<'erased, T: ?Sized>(pub &'erased T);
impl<'erased, T> serde::Serialize for SerWrap<'erased, T>
where
    T: ?Sized + erased_serde::Serialize + 'erased,
{
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        erased_serde::serialize(self.0, serializer)
    }
}

pub trait LogRecord<'erased>: erased_serde::Serialize + 'erased {}

#[derive(serde::Serialize)]
struct TestRecord<'caller> {
    pub s: &'caller str,
    pub n: usize,
}
impl<'caller> LogRecord<'caller> for TestRecord<'caller> {}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_ser() {
        let r = TestRecord { s: "a", n: 0 };
        let a = ron::to_string(&r).unwrap();
        let wrapped = SerWrap(&r);
        let b = ron::to_string(&wrapped).unwrap();
        assert_eq!(a, b);
    }
}

Context
The trait_upcasting feature got reverted, which breaks the use like &r as &dyn serde::Serialize


pull request for e2e test at 01/23/2017 11:45:08

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Single quotes not syntax-highlighted correctly in debug console

Sorry I had a JSON file open at the time


peeling up reinforced glass tiles makes a mixing sound

Description

peeling up reinforced glass tiles makes a mixing sound

This also applies to putting down glass windows.

actually i think its every construction graph that has glass in it


Refactoring of solar control console

About the PR
Main purpose of this PR is to add a base class for computer stuff to reduce boilerplate, and fix access control.
Secondary purpose is fixing some stuff with solar control computers.
Changelog
:cl:

fix: Solar control computers UI scale properly, better prediction, unusable by ghosts

To give an idea of what adding a new computer looks like using this system, here's an example of a logicless computer with everything in place to start adding logic
https://github.com/20kdc/space-station-14/commit/74d772cd2f552aad3b6960404b0a83ddde7334ee

Can you record a gif of it scaling?

@SweptWasTaken

Ok, that's everything resolved AFAIK

EnsureComponent part fixed.

What changes are remaining?

Nothing just been busy so I haven't had time to review it and test.

Tested it a bit and it seems like the solar UI direction is rotated 90 degrees clockwise from where it actually is from what I can tell from the raytrace and direction.toVec call.

Tested it a bit and it seems like the solar UI direction is rotated 90 degrees clockwise from where it actually is from what I can tell from the raytrace and direction.toVec call.

might need ToWorldVec instead of ToVec?

Solar UI direction is setup to visually match direction of the solar panel object, which in turn matches other objects.
This requires some internal rotation because of Robust rotation conventions, the result is screen-wise correct.
The raytrace direction is based off of the sun direction. I'm not sure if this direction was incorrect beforehand (if so, it would likely be due to rotation changes as it was tested-correct-as-originally-written) but I've tested that it is correct now (i.e. placing and removing a wall in the way of where the sun ought to be properly occludes and unoccludes)

Alright, last thing is to merge master, since the big reorganization happened. If you set git config merge.renameLimit 999999 before you merge then it'll move the files itself for the most part.
Afterward run git config --unset merge.renameLimit to unset the config.

To be clear, that's merge, not rebase?

Yes merge master.

Done.


0.1.11

Codecov Report

Merging #87 (687a872) into publish-smarty-ui-vite (8c355cb) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 687a872 differs from pull request most recent head f6dd302. Consider uploading reports for the commit f6dd302 to get more accurate results

@@                   Coverage Diff                    @@
##           publish-smarty-ui-vite       #87   +/-   ##
========================================================
  Coverage                  100.00%   100.00%
========================================================
  Files                           1         1
  Lines                          92        92
  Branches                        5         5
========================================================
  Hits                           92        92

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


lock.ops.unlock_one: Fail sooner on 403, with msg

In the case of e.g. owners values not matching on an unlock attempt, we were exhausting all retries and failing to display the exact reason for the unlock failure. We can simply break on 403 errors and let the rest of the function do its thing.

Here's a CLI session demonstrating what changed:

(virtualenv) zack@teuthology:~/teuthology$ time teuthology-lock -v --unlock smithi111
Traceback (most recent call last):
  File "/home/zack/teuthology/virtualenv/bin/teuthology-lock", line 8, in <module>
    sys.exit(main())
  File "/home/zack/teuthology/scripts/lock.py", line 18, in main
    sys.exit(teuthology.lock.cli.main(parse_args(sys.argv[1:])))
  File "/home/zack/teuthology/teuthology/lock/cli.py", line 203, in main
    if not ops.unlock_one(ctx, machine, user):
  File "/home/zack/teuthology/teuthology/lock/ops.py", line 209, in unlock_one
    while proceed():
  File "/home/zack/teuthology/teuthology/contextutil.py", line 135, in __call__
    raise MaxWhileTries(error_msg)
teuthology.exceptions.MaxWhileTries: 'unlock smithi111.front.sepia.ceph.com' reached maximum tries (10) after waiting for 32.5 seconds

real	0m29.106s
user	0m0.861s
sys	0m0.081s
(virtualenv) zack@teuthology:~/teuthology$ git checkout unmask-unlock-response
Switched to branch 'unmask-unlock-response'
Your branch is up to date with 'origin/unmask-unlock-response'.
(virtualenv) zack@teuthology:~/teuthology$ time teuthology-lock -v --unlock smithi111
2023-05-24 19:43:02,643.643 ERROR:teuthology.lock.ops:failed to unlock smithi111.front.sepia.ceph.com. reason: Cannot unlock - locked_by values must match

real	0m0.803s
user	0m0.703s
sys	0m0.054s
(virtualenv) zack@teuthology:~/teuthology$ teuthology-lock --list smithi111
[
    {
        "name": "smithi111.front.sepia.ceph.com",
        "description": "/home/teuthworker/archive/vshankar-2023-04-25_04:09:41-fs-wip-vshankar-testing-20230420.132447-testing-default-smithi/7250722",
        "up": true,
        "machine_type": "smithi",
        "is_vm": false,
        "vm_host": null,
        "os_type": "ubuntu",
        "os_version": "22.04",
        "arch": "x86_64",
        "locked": true,
        "locked_since": "2023-04-25 05:05:37.015600",
        "locked_by": "scheduled_vshankar@teuthology",
        "mac_address": null,
        "ssh_pub_key": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCocR9CBppEnpWQB0VbC3HGh+Oxne8nlLd5DXnCCTD+aQgvw+qsMgkwA6Q47jJLbnLaj8Jb3mRl3Y14TXqlxnv0="
    }
]
(virtualenv) zack@teuthology:~/teuthology$ teuthology-lock -v --unlock smithi111 --owner scheduled_vshankar@teuthology
2023-05-24 19:43:57,950.950 INFO:teuthology.lock.ops:unlocked: smithi111.front.sepia.ceph.com

nice.  this has bugged me for a while and I never dug in.

This was https://tracker.ceph.com/issues/58011


Remove unused architecture docs images

These are no longer displayed from the docs in this repo. They are now
used in the Architecture docs on Submariner's website.
Signed-off-by: Daniel Farrell<EMAIL_ADDRESS>

We are having random failures with libreswan and wireshark lately.


584 alter qbwriter to support pivoted shape

Satisfies #584 .

I've converted this back to a draft so we don't accidentally merge it in to main due to the breaking changes it currently introduces.
Once everything is done, feel free to 'merge' it into a branch called pivoted-shape-feature if you want a sense of completion on the ticket. That would make it easier for others to work on it at the same time without dealing with the cruft in this PR (including all of the commits).

@robons I have moved this into ready for review as the PR is now pointing to the newly created pivoted shape feature branch.


Many pages of the documentation don't load properly

Hi,
There seems to be an issue with the documentation. When I go to https://sutil.dev/#documentation-html, for example, the main area stays empty.
There is a lot logged to the console, including the following two errors:
TypeError: Cannot read properties of null (reading 'ownerDocument')
Uncaught (in promise) Error: Child not found

Oh boy what did I do..I can fix this later tonight
On Fri, 3 Mar 2023 at 19:01, d4h0 @.***> wrote:

Hi,
There seems to be an issue with the documentation. When I go to
https://sutil.dev/#documentation-html, for example, the main area stays
empty.
There is a lot logged to the console, including the following two errors:
TypeError: Cannot read properties of null (reading 'ownerDocument')
Uncaught (in promise) Error: Child not found
—
Reply to this email directly, view it on GitHub
https://github.com/davedawkins/Sutil/issues/76, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACFV3OSWPIHAEAGOCYAQRLW2I5XZANCNFSM6AAAAAAVO6RVFI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

This is fixed with a temporary patch which disables the Open in REPL buttons. I need daylight and coffee to fix it properly.

Found root cause, fixed and uploaded

Thanks, @davedawkins!


Sub routers

Each route should support specifying a sub-router.

This will be a diff. routing solution

Update: sub-routers are a bad idea. A router should be treated like a state machine. One machine, many states.


Collect entities when a new node entity is added/removed

The static executor has a list which contains executables like timers, subscribers and waitables belonging to nodes registered in the executor.
This list should be rebuilt each time a new entity is added/removed to/from a node, so the static executor checks for guard conditions being triggered in order to re-collect entities.
Some possible guard conditions to be checked by the static executor are:
1. Ctrl+C guard condition
2. Executor interrupt_guard_condition_
3. Node guard_conditions_
4. Waitables guard conditions
5. ...

The previous approach was only checking if NOT (1 & 2), so if a waitable guard condition was triggered it would re-collect all entities, even if no new node entities were added/removed.
This is the case of the intra process manager, which relies on waitables. Every time a subscriber gets a message, all the entities would be re-collected in the executable list. This could happen hundreds of times per second, having a noticeable impact on the CPU performance and in the ROS2 system (high latencies, lost messages).
With the new approach the executable list is rebuilt only when a new node entity is added/removed to/from a node, by checking for triggered guard conditions belonging to nodes registered in the executor.
Below, the benchmark [1] performances for the standard, static and modified static executor on a Rasperry Pi Model A+ (RPi 1), single core @700Mhz
Using:

DDS: CycloneDDS
ROS2: Master
IPC: Enabled
Topology: Sierra Nevada (10 nodes - 13 topics)
Benchmark duration: 300 seconds

Executor
CPU [%]
RAM [Mb]
Late [%]
Too late [%]
Lost [%]

SingleThreadedExecutor
72
14.12
0.64
0
0.03

StaticSingleThreadedExecutor
53.71
13.34
21.04
9.96
27.15

StaticSingleThreadedExecutor (this PR)
40.32
13.88
0.05
0
0

The gain in CPU performance is about ~13% compared to the StaticSingleThreadedExecutor, and 32% compared to the SingleThreadedExecutor.
[1] https://github.com/irobot-ros/ros2-performance/tree/master/performances/benchmark

@alsora
@digoel


Idź do Pozycji menu does not work as needed

See below, when I use this menu:

system correctly finds it in Study window (green below), however the Scoresheet and the Main Board are wrong and show position that the user viewed the last time he worked din the Study

The same issue happens for Games and also Exercises

All works fine except Exercises. When a bookmark is made in the middle of Exercise then clicking it shows Exercise Main Board with the mid exercise position which is good. However, Solution should be shown by default with the bookmark move current. Currently:

If last Exercise View had Show Solution on - system works as needed, meaning Main board and exercise solution show mid exercise position
If last Exercise View had Show Solution off - system works strangely, meaning Main board show mid exercise position but when I click on Show Solution, system shows exercise start position on Main board and solution does not highlight any move. This defies the idea of a bookmark where user wants to go to the specific position in exercise which can be mid exercise


error running start Stable-Difussion

this error has occurred when I want to initialize SD
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/transformers/utils/import_utils.py", line 1146, in _get_module
return importlib.import_module("." + module_name, self.name)
File "/usr/lib/python3.10/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/usr/local/lib/python3.10/dist-packages/transformers/modeling_utils.py", line 83, in
from accelerate import version as accelerate_version
File "/usr/local/lib/python3.10/dist-packages/accelerate/init.py", line 7, in
from .accelerator import Accelerator
File "/usr/local/lib/python3.10/dist-packages/accelerate/accelerator.py", line 33, in
from .tracking import LOGGER_TYPE_TO_CLASS, GeneralTracker, filter_trackers
File "/usr/local/lib/python3.10/dist-packages/accelerate/tracking.py", line 34, in
import wandb
File "/usr/local/lib/python3.10/dist-packages/wandb/init.py", line 21, in
from wandb import sdk as wandb_sdk
File "/usr/local/lib/python3.10/dist-packages/wandb/sdk/init.py", line 28, in
from .wandb_init import _attach, init
File "/usr/local/lib/python3.10/dist-packages/wandb/sdk/wandb_init.py", line 39, in
from . import wandb_login, wandb_setup
File "/usr/local/lib/python3.10/dist-packages/wandb/sdk/wandb_login.py", line 19, in
from .wandb_settings import Settings
File "/usr/local/lib/python3.10/dist-packages/wandb/sdk/wandb_settings.py", line 25, in
from pydantic import (
ImportError: cannot import name 'computed_field' from 'pydantic' (/usr/local/lib/python3.10/dist-packages/pydantic/init.cpython-310-x86_64-linux-gnu.so)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 13, in
initialize.imports()
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/initialize.py", line 17, in imports
import pytorch_lightning  # noqa: F401
File "/usr/local/lib/python3.10/dist-packages/pytorch_lightning/init.py", line 34, in
from pytorch_lightning.callbacks import Callback  # noqa: E402
File "/usr/local/lib/python3.10/dist-packages/pytorch_lightning/callbacks/init.py", line 14, in
from pytorch_lightning.callbacks.callback import Callback
File "/usr/local/lib/python3.10/dist-packages/pytorch_lightning/callbacks/callback.py", line 25, in
from pytorch_lightning.utilities.types import STEP_OUTPUT
File "/usr/local/lib/python3.10/dist-packages/pytorch_lightning/utilities/types.py", line 28, in
from torchmetrics import Metric
File "/usr/local/lib/python3.10/dist-packages/torchmetrics/init.py", line 14, in
from torchmetrics import functional  # noqa: E402
File "/usr/local/lib/python3.10/dist-packages/torchmetrics/functional/init.py", line 77, in
from torchmetrics.functional.text.bleu import bleu_score
File "/usr/local/lib/python3.10/dist-packages/torchmetrics/functional/text/init.py", line 30, in
from torchmetrics.functional.text.bert import bert_score  # noqa: F401
File "/usr/local/lib/python3.10/dist-packages/torchmetrics/functional/text/bert.py", line 24, in
from torchmetrics.functional.text.helper_embedding_metric import (
File "/usr/local/lib/python3.10/dist-packages/torchmetrics/functional/text/helper_embedding_metric.py", line 26, in
from transformers import AutoModelForMaskedLM, AutoTokenizer, PreTrainedModel, PreTrainedTokenizerBase
File "", line 1075, in _handle_fromlist
File "/usr/local/lib/python3.10/dist-packages/transformers/utils/import_utils.py", line 1136, in getattr

Exact same issue.

Seems like a dependency issue.

temporary fix, add this code before "starst stable diffusion"
!pip uninstall wandb
press Y to uninstall
!pip install wandb==0.15.12

it worked, thanks bro

temporary fix, add this code before "starst stable diffusion" !pip uninstall wandb press Y to uninstall
!pip install wandb==0.15.12

Same ^^

Same problem but it was solved with the code that he shared, thank you very much <3

I was also experiencing the same issue and was confused, but uninstalling it using his code solved the problem. Thank you.

一時的な修正として、"starst stable diffusion" の前にこのコードを追加してください 。!pip uninstall wandb アンインストールするには Y を押してください
!pip インストール wandb==0.15.12

あなたのおかげで解決しました！
本当にありがとうございます！！

temporary fix, add this code before "starst stable diffusion" !pip uninstall wandb press Y to uninstall
!pip install wandb==0.15.12

Please tell me where to insert this, I don’t understand. can I get a screenshot?

temporary fix, add this code before "starst stable diffusion" !pip uninstall wandb press Y to uninstall
!pip install wandb==0.15.12

Please tell me where to insert this, I don’t understand. can I get a screenshot?

Go to the bottom of the cells, hover the mouse cursor over the bottom center of the last cell, you will get this "code" button.
Click and add this code -
!pip uninstall wandb
!pip install wandb==0.15.12
Then run the cell before running the "Start Stable Diffusion" cell

Thank you!!

I’m curious about why you’re using the computed_field function from version 0.19.x while working with version 0.15.x, instead of using 0.18.x, 0.17.x, or similar versions.
Is it for stability?
I’m asking purely out of curiosity.

!pip install pydantic==1.10.7
!pip install wandb==0.15.5
It seems implementation for Flux...