VoiceOver traversal within a ListView not working correctly

b/ 161103275
Observe that VoiceOver will lose focus when attempting to read a SingleChildScrollView out of the viewport in a ListView.
Steps to Reproduce

Turn on VoiceOver.
Swipe to right the move to the next container.
VoiceOver works fine when navigating to text 1 to 3.
However, it will navigate to elsewhere when attempting to navigate to text 4. Meanwhile, it could not focus on text 0 to 3 any more.

Video (internal): http://rcll/cuKRuXHHSIm5lhnG6mjwDr/b1rKJ2mnEijiFIO4SIRJcV
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(),
        body: _buildListViewBody(),
      ),
    );
  }

  Widget _buildListViewBody() {
    return ListView(
      children: List.generate(
        100,
        (index) => _buildContainer('Text $index'),
      ),
    );
  }

  Widget _buildContainer(String text) {
    return MergeSemantics(
      child: SingleChildScrollView(
        child: Container(
          height: 200,
          decoration: BoxDecoration(border: Border.all(color: Colors.blue)),
          child: Center(child: Text(text)),
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-2.0.pre.95, on Mac OS X 10.15.6 19G73, locale en-GB)
    • Flutter version 1.21.0-2.0.pre.95 at /Users/tahatesser/Code/flutter_master
    • Framework revision 50b87dc6c3 (19 hours ago), 2020-07-22 11:09:59 -0700
    • Engine revision dcc9a4048d
    • Dart version 2.9.0 (build 2.9.0-21.0.dev 9dca49e71e)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.1
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (5 available)
    • SM M305F (mobile)      • 32003c30dc19668f          • android-arm64  • Android 10 (API 29)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS 13.6
    • macOS (desktop)        • macos                     • darwin-x64     • Mac OS X 10.15.6 19G73
    • Web Server (web)       • web-server                • web-javascript • Flutter Tools
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 84.0.4147.89

• No issues found!

@mehmetf I wasn't able to reproduce it, the voice over traversal works correctly for me.

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-6.0.pre.18, on Mac OS X 10.15.5 19F101, locale en-US)
    • Flutter version 1.21.0-6.0.pre.18 at /Users/chtai/git/flutter
    • Framework revision 5e0ba2290f (2 hours ago), 2020-07-24 13:37:08 -0700
    • Engine revision 626244a72c
    • Dart version 2.9.0 (build 2.9.0-21.0.dev a3815b6590)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/chtai/Library/Android/sdk
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.5, Build version 11E608c
• CocoaPods version 1.9.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 39.0.3
• Dart plugin version 191.8423
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] Connected device (4 available)
• yellow XR (mobile) • 00008020-000A208E26D1002E • ios            • iOS 13.5.1
• macOS (desktop)    • macos                     • darwin-x64     • Mac OS X 10.15.5 19F101
• Web Server (web)   • web-server                • web-javascript • Flutter Tools
• Chrome (web)       • chrome                    • web-javascript • Google Chrome 84.0.4147.89

Since accessibility problems can be iOS version specific, I will ask the customer to let us know what iOS version they were testing with.

Seems you have already done that. Thanks!

Close as not reproducible


logging: Increase thread stack size when net backend in use

It has been seen that when net backend is enabled stack usage
is around 1080. Setting 1152 as the default.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

@aunsbjerg can you try this fix and see if it helps? I've been only able to run it on qemu_x86. There was already stack overflow before logging overhaul merge. It was using 1080 bytes of 768 byte stack.

@nordic-krch thank you for the fix. Can confirm that this PR fixes the issue. Tested on a frdm_k64f and mimxrt1064_evk.


loadAsync missing from loaders

three version: 0.152.2
@types/three version: 0.152.0
three-stdlib version: 2.21.11

Problem description:
loadAsync is missing from all loaders
Relevant code:

import { FontLoader } from "three-stdlib";
const fontLoader = new FontLoader();
fontLoader.loadAsync(font)
           ^
           Property 'loadAsync' does not exist on type 'FontLoader'. [2339]

Suggested solution:
@types/three already have loadAsync typed for all of its loaders:
https://github.com/three-types/three-ts-types/tree/master/types/three/examples/jsm/loaders
Maybe we can adopt them for this repo?

IIRC they recently removed the loadAsync signature from the Loader types, so we'll have to add it ourselves. Can make a type helper to prevent breakage like this.

Thank you for the fix! But it seems that the return value of the function isn't typed correctly.
For example, with @types/three:
import { FontLoader } from "three/examples/jsm/loaders/FontLoader.js";
const fontLoader = new FontLoader();
fontLoader.loadAsync(fontFile).then((font) => {
    console.log(font);
                ^
                (parameter) font: Font
});

But with three-stdlib:
import { FontLoader } from "three-stdlib";
const fontLoader = new FontLoader();
fontLoader.loadAsync(fontFile).then((font) => {
    console.log(font);
                ^
                (parameter) font: any
});

@types/three types the return value correctly for each loader:
https://github.com/three-types/three-ts-types/blob/b2ff16404b9d4d290e2aac3a02a5e1af5ba5db3e/types/three/examples/jsm/loaders/FontLoader.d.ts#L12
But three-stdlib resorts to a generic Any type:
https://github.com/pmndrs/three-stdlib/blob/35f014c20e54d69fa505345394f4bfe97508dce1/src/types/Loader.ts#L5

I think we'll have to add all the member signatures individually like they did. Don't see how we can hide the issue.

Thank you, it's working perfectly!


fix: missing types

Summary
yarn build:
[build:client] src/client/classification.ts(5,30): error TS2307: Cannot find module '../types/VuePress'.
[build:client] npm ERR! code ELIFECYCLE
npm ERR! errno 2
[build:client] npm ERR<EMAIL_ADDRESS>build:client: `tsc -p tsconfig.client.json`
[build:client] npm ERR! Exit status 2
[build:client] npm ERR!
[build:client] npm ERR! Failed at the<EMAIL_ADDRESS>build:client script.
[build:client] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[build:client]
[build:client] npm ERR!      /Users/billy/.npm/_logs/2019-08-08T16_57_26_478Z-debug.log
[build:client] npm run build:client exited with code 2
[build:node] src/node/handleOptions.ts(34,37): error TS2339: Property 'sourceDir' does not exist on type 'VuePressContext'.
[build:node] src/node/handleOptions.ts(97,16): error TS2459: Type 'VuePressPage' has no property 'regularPath' and no string index signature.
[build:node] src/node/index.ts(10,38): error TS2339: Property 'themeAPI' does not exist on type 'VuePressContext'.
[build:node] src/node/index.ts(42,15): error TS2459: Type 'VuePressPage' has no property 'frontmatter' and no string index signature.
[build:node] src/node/index.ts(63,15): error TS2459: Type 'VuePressContext' has no property 'pages' and no string index signature.
[build:node] src/node/index.ts(143,61): error TS2339: Property 'addPage' does not exist on type 'VuePressContext'.
[build:node] src/node/interface/VuePress.ts(4,8): error TS2307: Cannot find module '../../types/VuePress'.
[build:node] src/node/pagination.ts(60,13): error TS2459: Type 'VuePressContext' has no property 'pages' and no string index signature.
[build:node] src/node/pagination.ts(96,50): error TS2339: Property 'addPage' does not exist on type 'VuePressContext'.
[build:node] src/node/util.ts(84,40): error TS2339: Property 'frontmatter' does not exist on type 'VuePressPage'.
[build:node] src/node/util.ts(85,40): error TS2339: Property 'frontmatter' does not exist on type 'VuePressPage'.
[build:node] npm ERR! code ELIFECYCLE
[build:node] npm ERR! errno 2
[build:node] npm ERR<EMAIL_ADDRESS>build:node: `tsc -p tsconfig.node.json`
[build:node] npm ERR! Exit status 2
[build:node] npm ERR!
[build:node] npm ERR! Failed at the<EMAIL_ADDRESS>build:node script.
[build:node] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[build:node]
[build:node] npm ERR!      /Users/billy/.npm/_logs/2019-08-08T16_57_26_958Z-debug.log
[build:node] npm run build:node exited with code 2

File: ./src/node/interface/VuePress.ts

File: ./src/client/classification.ts

I think It's because we ignore all the types folder:
// .gitignore
# Output
lib
.temp
types    // <<< here
src/**/*.js
dist
...

I guess you wanted to ignore /types.  However, maybe there's a file /src/types and it has been ignored, too. I created a new folder src/interface with types which I found in previous commit.
What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Build-related changes
[ ] Other, please describe:

If changing the UI of default theme, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)

You have tested in the following browsers: (Providing a detailed version will be better.)

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge
[ ] IE

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature
[ ] Related documents have been updated
[ ] Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:
Later, I found my previous commit will break output structure:
lib/
├── client
│   ├── client
│   ├── components
│   └── interface
└── node
    ├── interface
    └── node

So I modified ts config to fix it:
lib/
├── client
│   ├── classification.js
│   ├── components
│   ├── components.js
│   └── pagination.js
├── interface
│   └── VuePress.js
└── node
    ├── handleOptions.js
    ├── index.js
    ├── interface
    ├── pagination.js
    └── util.js

@ulivz Can you check your local repo?

fixed by #22


feature: disable features and routes for Interlay

Change the navigation and routing so that only the transfer feature is available on Interlay. The changes to transfer can be reverted when we're ready to support XCM on Interlay.
This PR also changes the redirect so the transfer feature will be loaded at the base URL.

Looks like the deployment can't connect to the parachain:
The env variables in vercel seemed fine to me though. I checked on https://interbtc-ui-interlay-git-tom-interlay-transfer-only-interlay.vercel.app/transfer

We're getting and error returned - [loadInterBtc] error.message =>  No CurrencyId entry for provided ticker

@tomjeatt can we please have two routes:

transfer
staking

For the others, please add: Coming soon like we had it on kintsugi

@tomjeatt can we please have two routes:

transfer
staking

For the others, please add: Coming soon like we had it on kintsugi

Yes, no problem :) I'll co-ordinate this with Peter as he'll be testing the features and would make sense to test on this branch.

Branch is too far behind master to easily merge now - quicker to handle this on a new branch. #


raiplayradio.it support

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Support for www.raiplayradio.it added.
Notes:

Using --embed-thumbnail produces ERROR: Conversion failed! on some links, like the one in the tests: I have no idea why that is happening, but the downloaded temporary image has a .jpg extension but it is encoded in webp (the URL is correct). The resolution and ratio are also different.

Here is an example:
./youtube-dl --add-metadata -o '%(artist)s/%(album)s/%(title)s.%(ext)s' https://www.raiplayradio.it/playlist/2017/12/Alice-nel-paese-delle-meraviglie-72371d3c-d998-49f3-8860-d168cfdf4966.html
Other pages to test can be found at: https://www.raiplayradio.it/programmi/adaltavoce/archivio/audiolibri/tutte/1
Fixes #17141 and #15027.

Read coding conventions.

I am trying to figuring out what is the problem here:

[x] id, title and url aree mandatory fields
[x] Don't capture groups you don't use
[x] Provide fallbacks (NA)
[x] never split long string literals like URLs
[x] Make regular expressions relaxed and flexible
[ ] Long lines policy
[x] Inline values
[x] Collapse fallbacks
[ ] Trailing parentheses
[x] Use convenience conversion and parsing functions

@dstftw Ready for the code review.

Would it be possible to have it merged? Is there anything else that should be done/changed?

@dstftw anything I can do to have this PR merged?

I've already pointed out: read coding conventions.

I read them and I worked on my code to respect them. I can try to recap the conventions and double check them:

Mandatory and optional metafields: mandatory fields are there
Provide fallbacks: the rule says "try to" provide fallbacks to make the extractor robust; my code has been working for 9 months without any issue, and it looks solid to me
Regular expressions

Don't capture groups you don't use: I do not
Make regular expressions relaxed and flexible: they look to me and the code worked for 9 months

Long lines policy: lines are under 80 characters
Inline values: it seems to me that it is OK
Collapse fallbacks: NA
Trailing parentheses: code is compliant
Use convenience conversion and parsing functions: I reused what was already there and I had to make a small HTML attribute parser that was not available
flake8: the code passes the test for the sections I added/changed

Could you please point out which rule my code is violating? So I can fix that and avoid bothering you further.

Everything seems fine to me now. The only possible problem is how to handle critical error: should I raise a specific exception when a critical failure happens?

I know that reviewing requires time, but I used a lot of my time too to adhere to the guidelines as much as possible. I only have an open question (should I let the code fail if something happens or should I catch the exception and raise a custom error?), but except that the code looks fine to me. I would like to move forward with this PR if possible. Another year passed from my last commit.


Avoid VOLUME

This is a suggestion for the structure of the docker image, not the docker compose setup in this git repo.
Currently, the image defines several volumes:
$ docker image inspect mattermost/mattermost-team-edition:release-10.2 | grep -A6 Volumes
            "Volumes": {
                "/mattermost/client/plugins": {},
                "/mattermost/config": {},
                "/mattermost/data": {},
                "/mattermost/logs": {},
                "/mattermost/plugins": {}
            },

Some users like to use a few docker volumes to persist all the data that needs to be persisted (instead of local bind mounts or numerous docker volumes). For example, a user may want to use a single docker volume for the data in all 5 of the above volume directories.
To this end, the user may inherit the official image and in his own image create a directory /mattermost-data to store the data for the above 5 locations, with the help of symlinks (e.g. in the Dockerfile have a RUN ln -s /mattermost-data/config /mattermost/config).
FROM mattermost/mattermost-team-edition:release-10.2

USER root

VOLUME /mattermost-data

RUN mkdir /mattermost-data /mattermost-data/config /mattermost-data/data /mattermost-data/plugins \
 /mattermost-data/client-plugins /mattermost-data/bleve-indexes \
 && chown -R 2000:2000 /mattermost-data \
 && ln -s /mattermost-data/config /mattermost/config \
 && ln -s /mattermost-data/data /mattermost/data \
 && ln -s /mattermost-data/plugins /mattermost/plugins \
 && ln -s /mattermost-data/client-plugins /mattermost/client/plugins \
 && ln -s /mattermost-data/bleve-indexes /mattermost/bleve-indexes

USER 2000:2000

Then when he runs the image, he just needs to mount /mattemost-data without mounting /mattermost/config etc. However, this results in anonymous empty volumes being created for /mattermost/config etc every time the image is run. Docker does not allow removing VOLUME definitions so when inheriting an official image we cannot remove VOLUME definitions responsible for /mattermost/config etc.
VOLUME has very little benefit other than providing documentation of where important data is located; VOLUME does serve as documentation to mark the location of data that likely needs to be persisted. I suggest that the VOLUMEs be removed and LABEL entries be added to list the directories /mattermost/config etc and note that these are the locations where user data is stored. Using LABEL, the documentation can be even more descriptive than with VOLUME as you can describe the situation with any words you want, perhaps describing the purpose of each directory.
Alternatively, could you open-source the code used to build the docker image?

Move the issue to https://github.com/mattermost/mattermost/issues/29131.


mathjax won’t run

I have put in both my pages.html and post.html files:

But have had no luck getting matjax to work. Any suggestions on what I’m doing wrong? It is not a syntax issue, even $$ y = x $$ doesn’t work. I neither see a rendered equation, nor do I see the literal text $$ y = x $$.

Just got it working. Add _includes/mathjax.html containing:
<script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        extensions: ["tex2jax.js"],
        jax: ["input/TeX", "output/HTML-CSS"],
        tex2jax: {
          inlineMath: [ ['$','$'], ["\\(","\\)"] ],
          displayMath: [ ['$$','$$'], ["\[","\]"], ["\\[","\\]"] ],
          processEscapes: true
        },
        messageStyle: "none",
        "HTML-CSS": { availableFonts: ["TeX"] }
      });
    </script>
    <script type="text/javascript"
            src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">

    </script>

Modify your _layout/default.html to containt {% include mathjax.html %}.Example of how my looks:
$ tail default.html
        <footer class="footer">
          {% include svg-icons.html %}
        </footer>
      </div>
    </div>

    {% include analytics.html %}
    {% include mathjax.html %}
  </body>
</html>

This get it running :)
Consider giving a few bucks to mathjax if it solved your issue, it's nice :)

Thanks. I got it working by just putting the end mathjax script in my header include file, but I didn't put the syntax code before. Is that code necessary if you use kramdown, I assume it is to extend the syntax to be the same as MMD? I will try this. Also, good idea, I will support mathjax.

Is that code necessary if you use kramdown, I assume it is to extend the syntax to be the same as MMD?

Don't know sorry, I just had this reference which worked for me, didn't explore the concepts once it started working :)

OK, I’ve looked into it (at least using jekyll with kramdown). Not all the “standard” multi-markdown/latex equation syntax works if you only include the script to connect to mathjax. The include code you gave me allows all permutations of $$, $, \[ and \( to work as expected. Thanks again.


How to auto-detect a brand new service without rewrite the service section in synapse configuration

Synapse  is very useful. But I facing some problem when I'm using it.

Synapse refresh HAProxy config by watching changes on zk.

when services comes up it update the ha config file.

 But when I want to add a brand new services that never write in "services"
 section of Synapse config file.

 How can I update all my Synapse config files in all the servers
 I maintaining without manually rewrite the configuration?

 Thanks

Sorry,I did not think it over.Synapse are not responsible to do that.

Hi @PepperYan
Yes, an external component must supply the list of services to Synapse. We pull from our central service configuration library over in a cron job, which works pretty well.


Deploying Terraform to Moto

Is there a way to deploy AWS infra using Terraform which would create the resources in moto? Just as a way to test the infra that is being deployed, rather than actually deploying it to AWS.

Hey @WesleyHindle, you can when using Moto server.
See our docs here, the Example Usage section also contains an example for Terraform:
https://docs.getmoto.org/en/latest/docs/server_mode.html

I'm able to deploy TF infra using the local server, however when I go to test this with moto the resource isn't being picked up:
provider "aws" {
  region                      = "us-east-1"
    skip_credentials_validation = true
    skip_metadata_api_check     = true
    skip_requesting_account_id  = true
    s3_use_path_style         = true

  endpoints {
    s3       = "http://localhost:5000"
    lambda           = "http://localhost:5000"
  }
}

resource "aws_s3_bucket" "b" {
  bucket = "my-tf-test-bucket"

  tags = {
    Name        = "My bucket"
    Environment = "Dev"
  }
}

resource "aws_s3_bucket_acl" "example" {
  bucket = aws_s3_bucket.b.id
  acl    = "private"
}

import boto3
from moto import mock_s3
import os
import pytest

@pytest.fixture
@mock_s3
def aws_credentials():
    """Mocked AWS Credentials for moto."""
    os.environ["AWS_ACCESS_KEY_ID"] = "testing"
    os.environ["AWS_SECRET_ACCESS_KEY"] = "testing"
    os.environ["AWS_SECURITY_TOKEN"] = "testing"
    os.environ["AWS_SESSION_TOKEN"] = "testing"

@pytest.fixture
def s3_client(aws_credentials):
    with mock_s3():
        yield boto3.client("s3")

def test_client_created(s3_client):
    users = s3_client.list_buckets()
    print(users)

This returns, with empty buckets:
{'ResponseMetadata': {'RequestId': 'lCYc0YWhbQlmlobyRTggpTRV3pnsA3tbjs7PmVAzaZ13tKYAABDK', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'lCYc0YWhbQlmlobyRTggpTRV3pnsA3tbjs7PmVAzaZ13tKYAABDK'}, 'RetryAttempts': 0}, 'Buckets': [], 'Owner': {'DisplayName': 'webfile', 'ID': 'bcaf1ffd86f41161ca5fb16fd081034f'}}
.

I'm running the server from the CLI, not docker image. Seems to be working fine, I'm able to apply and destroy, but the server log does have some 404s e.g.
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "GET /my-tf-test-bucket?lifecycle= HTTP/1.1" 404 -
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "GET /my-tf-test-bucket?replication= HTTP/1.1" 404 -
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "GET /my-tf-test-bucket?encryption= HTTP/1.1" 404 -
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "GET /my-tf-test-bucket?object-lock= HTTP/1.1" 404 -
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "HEAD /my-tf-test-bucket HTTP/1.1" 200 -
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "GET /my-tf-test-bucket?tagging= HTTP/1.1" 200 -
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "PUT /my-tf-test-bucket?acl= HTTP/1.1" 200 -
<IP_ADDRESS> - - [27/Feb/2023 12:15:17] "GET /my-tf-test-bucket?acl= HTTP/1.1" 200 -

Also, are there only certain services available when using moto to deploy TF resources locally?
When I go to http://localhost:5000/moto-api/ the only service listed are: CloudWatch, Core, Events, IAM, S3 and STS. And when I tried to deploy a basic Lambda moto server crashed.

Yes, I would consider that best practice @WesleyHindle. Specifying the endpoint makes it really obvious that these tests only work if there is a Server running.
The 404's are expected actually - that's just AWS' (and Moto's) way of telling Terraform that these object locks/encryption configurations have not been set.
Regarding the errors: have you installed Moto with moto[server]? That should install all required dependencies. If you only install moto, it wouldn't install the Docker-dependency that you need for AWSLambda.

I hadn't before. So I've uninstalled moto and reinstalled with pip3 install 'moto[server]', but now when I run moto_server I just get zsh: command not found: moto_server

It was the pedantic quotes! Thank you.
When I go to http://localhost:5000/moto-api/ the only service listed are: CloudWatch, Core, Events, IAM, S3 and STS. After deploying the Lambda more services were shown. Does this API page's content change depending on what you have deployed?
Just curious: Why does pip install moto not install the deps that moto[server], when the former installs for all services (I think)?

The page only shows services that have been loaded into memory, so yes, it depends on what you have deployed.
pip install moto does not install all dependencies actually, only the basic ones. You should always list the services that you use as extras, so that Moto installs all dependencies for those services: e.g. pip install moto[awslambda], pip install moto[ec2,s3], or just pip install moto[all] if you don't care about the install-time/size of the dependencies.

Thank you for the clarification. Last question, hopefully for a while!
When using the moto server can you make calls to the AWS API on the CLI which go to the server, rather than your real AWS account?

Yes, you can specify the endpoint URL in the CLI as well!
aws ec2 whatever --endpoint-url http://localhost:5000

Thank you for that.
If I deployed TF infra using moto server and then wanted to write tests to check something checking an unauthorised user couldn't create a bucket how would I do this regarding test fixtures:

By building on top of previous fixtures e.g.

@pytest.fixture
@mock_s3
@mock_iam
def aws_credentials():
    """Mocked AWS Credentials for moto."""
    os.environ["AWS_ACCESS_KEY_ID"] = "testing"
    os.environ["AWS_SECRET_ACCESS_KEY"] = "testing"
    os.environ["AWS_SECURITY_TOKEN"] = "testing"
    os.environ["AWS_SESSION_TOKEN"] = "testing"

@pytest.fixture
def iam(aws_credentials):
    with mock_iam():
        yield(boto3.client (
            service_name='iam',
            region_name='eu-west-2',
            endpoint_url='http://localhost:5000'
            ))

@pytest.fixture
def s3(iam):
    with mock_lambda():
        yield(boto3.client (
            service_name='s3',
            region_name='eu-west-2',
            endpoint_url='http://localhost:5000'
            ))

Or by having separate fixtures for separate services using aws_credentials as a parameter separately:

@pytest.fixture
@mock_s3
@mock_iam
def aws_credentials():
    """Mocked AWS Credentials for moto."""
    os.environ["AWS_ACCESS_KEY_ID"] = "testing"
    os.environ["AWS_SECRET_ACCESS_KEY"] = "testing"
    os.environ["AWS_SECURITY_TOKEN"] = "testing"
    os.environ["AWS_SESSION_TOKEN"] = "testing"

@pytest.fixture
def iam(aws_credentials):
    with mock_iam():
        yield(boto3.client (
            service_name='iam',
            region_name='eu-west-2',
            endpoint_url='http://localhost:5000'
            ))

@pytest.fixture
def s3(aws_credentials):
    with mock_lambda():
        yield(boto3.client (
            service_name='s3',
            region_name='eu-west-2',
            endpoint_url='http://localhost:5000'
            ))

And if you get to the point where you're writing tests like:
def invalid_user_s3(s3, iam)
 # create iam user
 # assert iam_user.create_bucket == response["code"] == "401"

Then it's time to move to a more suitable tool?

Regarding the fixtures: Personally I prefer the second version, because it's obvious when seeing the test that both mocks are active. But it is a personal preference, both should work.

The authentication:
By default, all actions are allowed, just to make things as easy as possible. It is possible to configure Moto to authenticate requests, and return 401's if the provided user does not have roles with the correct permissions, but the implementation is far from complete.
The docs are here: http://docs.getmoto.org/en/latest/docs/iam.html
The docs don't explcitly mention this, but the decorator only works for in-memory Moto tests. If you use the MotoServer, you would have to use the environment variable.
So it's a bit difficult if you only have a single test where you want to verify authentication. With an environment variable, this would have to be set on server startup, and you would need a dedicated MotoServer instance just for this test - otherwise all subsequent tests suddenly also need authentication.
Feel free to open a new feature request to improve this, if you do want to go down this road - maybe we can offer an API to toggle authentication on/off on demand.

The error message is Docker-specific, and just means that Moto can't connect to the Docker engine. There are some possible fixes here: https://stackoverflow.com/questions/64952238/docker-errors-dockerexception-error-while-fetching-server-api-version


Preset Features

Absolutely love the new preset features added in the last update, but my numbers are 3 digits & have kWh as the unit, get spread to two lines & therefore the sell figure gets pushed outside the box. I’ll have to try templates to shorten the data.
But I’d love similar data for total solar production & others like total for car, pool, battery import/export since last fill. But no pressure, keep up the great work.

Hi there @ccspack 👋,
Glad you like it.
Could you maybe share a screen shot of the issue so I can get rid of it?
Thanks alot in advance 👍

Sure, too easy…

Ok it took a while but I am finally getting some time to get rid of a few issues. I applied a fix by just decreasing the font size and removing the space in-between the number and the unit. I will release the new version the next few days.
Take care and thanks for reporting ! 👍


Derive Serialize and Deserialize for public-facing structs

It would be useful to be able to use Serialize and Deserialize for the MatchSettings type (among others).

Can you share a little bit more about your envisioned use case?

That's a reasonable use-case, but there are some difficulties to implementing this:

RLBot changes their data format occasionally, and every time they do it would break all the data from previous versions (including your config files).

The FFI uses some inconvenient types, for example the player name is:
Name: [u16; 32]

There's no way that will serialize nicely in yaml.

The ffi bindings are generated with bindgen, and it has no way to add your own derives (that I can see). Doing it all by hand would be quite tedious.

So right now I'm leaning towards not doing this, unless you have some ideas to overcome these issues. Maybe instead of using yaml or json for your config files, you could use rust instead 😄

I don't currently need this feature so I'm fine with waiting a bit for the API to stabilize.


Make TensorNet compatible with TorchScript

I can torch.jit.script TensorNet (the test_forward_torchscript passes), but when I try to torch.jit.script TorchMD_Net and do a training I get an error:
Traceback of TorchScript (most recent call last):
  File "/shared/raul/torchmd-net/torchmdnet/models/model.py", line 254, in forward
        if self.derivative:
            grad_outputs: List[Optional[torch.Tensor]] = [torch.ones_like(y)]
            dy = grad(
                 ~~~~ <--- HERE
                [y],
                [pos],
RuntimeError: The following operation failed in the TorchScript interpreter.
Traceback of TorchScript (most recent call last):
RuntimeError: The following operation failed in the TorchScript interpreter.
Traceback of TorchScript (most recent call last):
RuntimeError: The size of tensor a (128) must match the size of tensor b (3) at non-singleton dimension 3

I dont really understand why this error arises here and not in the test. I also do not understand why this error only happens when using jit.script.

Is the problem happening only when trying to train, or also when doing inference on both energies and forces?

I updated the TorchScript test to try and do a double backwards, it passes without issues.
I can do inference and backpropagation of an scripted TorchMD_Net module, but if I give LNNP an scripted module, or try to script LLNP itself (either calling jit.script on it or using the Lighning to_torchscript() member) I get that error.

Given that TorchScript is not really intended to be used in training within TorchMD-Net as of now this PR in its current state leaves tensornet at the same level of compatibility as ET (I cannot use script during training with any model), that is the tests pass. One can script TorchMD-Net set up with tensornet, store it, load it and do inference and backprop on it.
Provided this I think we should merge this now. Please review!

I am ok with leaving it just compatible at this point, but accelerating training might be useful even if it is a 10%. Anyway, I remember that at some point we could train? That's when we saw the limited speedup of 10-20%, right?

I was not able to trace the model. I am leaving that aside for now... Just for the record, the error I get in test_train when trying to trace is this:
torchmd-net/torchmdnet/module.py:128: UserWarning: Using a target size (torch.Size([8, 1])) that is different to the input size (torch.Size([50, 1])).
This will likely lead to incorrect results due to broadcasting. Please ensure they have the same size.
    loss_y = loss_fn(y, batch.y)

Batch size is 8 in this test, I believe the issue is that the batch size is different for testing, val, and training. The scripted/traced model is cool with training, but when the shape of the input changes for testing it gets confused.
I remember we were able to train with a scripted module @guillemsimeon, but that was without using LNNP as far as I can remember.

Interestingly this test passes without any issue:
@mark.parametrize("model_name", models.__all__)
def test_torchscript_dynamic_shapes(model_name):
    z, pos, batch = create_example_batch()
    model = torch.jit.script(
        create_model(load_example_args(model_name, remove_prior=True, derivative=True))
    )
    #Repeat the input to make it dynamic
    for rep in range(0, 10):
        zi = z.repeat_interleave(rep+1, dim=0)
        posi = pos.repeat_interleave(rep+1, dim=0)
        batchi = torch.cat([batch + i for i in range(rep+1)])
        y, neg_dy = model(zi, posi, batch=batchi)
        grad_outputs = [torch.ones_like(neg_dy)]
        ddy = torch.autograd.grad(
            [neg_dy],
            [posi],
            grad_outputs=grad_outputs,
        )[0]

I found out why this test passes and training does not work.
The tests are cpu ony, trying the above test with gpu-stored tensors yields the error I posted initially.
Its only with tensornet, after a couple of differently sized inputs to the model it gives that error.

Does removing the enumerates fix the error?

Does removing the enumerates fix the error?

No, you cannot do that in TorchScript:
E       RuntimeError:
E       Expected integer literal for index. ModuleList/Sequential indexing is only supported with integer literals. Enumeration is supported, e.g. 'for index, v in enumerate(self): ...':
E         File "torchmd-net/torchmdnet/models/tensornet.py", line 201
E               # Interaction layers
E               for i in range(self.num_layers):
E                   X = self.layers[i](X, edge_index, edge_weight, edge_attr)
E                       ~~~~~~~~~~~~~~ <--- HERE
E               I, A, S = decompose_tensor(X)
E               x = torch.cat((tensor_norm(I), tensor_norm(A), tensor_norm(S)), dim=-1)

../../mambaforge/envs/test2/lib/python3.10/site-packages/torch/jit/_recursive.py:397: RuntimeError

I would like to merge this now, since my upcoming PR with TensorNet optimization depends on this. @raimis @guillemsimeon , could you please review again?

I understand that it has been made compatible, but we cannot use this compatibility in training in the end? Or the situation changed?

I still cannot train with a TorchScript model. But not only TensorNet, no model at all. I believe it is Torch lightning related...
I spoke to @PhilippThoelke and apparently he also had issues with this.


Could not find module d3 imported from ember-cli-nvd3/components/nvd3-chart

I receive the following error:

Uncaught Error: Could not find module d3 imported from ember-cli-nvd3/components/nvd3-chart

I am running a clean install
ember-cli : 2.7.0
node: 6.2.2
win 10 x64
it looks like all the correct dependencies for node and bower have installed and the project build fine but when i try render a graph I get the above error.

@jonathanjansen are you on the latest version of this lib?

@offirgolan Hi I am on 0.1.2

@jonathanjansen Im sorry for the delay in getting this resolved. There are some bigger underlying issue at play which involve a couple peer dependencies needed to be updated in order to get everything working. In the mean time, a quick fix to get this to work is the following:
ember i ember-cli-nvd3
npm i ember-d3

Thanks for your help @offirgolan. FWIW the above quick fix did not work for me on 2.7.0. Still seeing the same error.

Just a quick check as to whether ember-cli-nvd3 is currently broken because of this bug or whether I've missed something?  Thanks!


Add option to concatenate to clipboard

Thanks for your extension! Could you add an option to save the output to the clipboard instead of creating a new file?

Yes, I will strongly consider this feature for future updates.
Can I ask for some more feedback on how and for what you use this extension, so I can further improve it?

A new update with exciting features is out! Thanks for your support! And don’t forget to leave a review and share this extension if you found it helpful :)
https://marketplace.visualstudio.com/items?itemName=dcopia.combo-concatenate-files&ssr=false#review-details

Thank you very much! It's much better now! As a small suggestion, I'd change the error messages to be in English, but otherwise, it's great. Thanks, again.


Major updates

New roles
Call common roles (vsphere_vm, node_iso, setup) rather than duplicatig code
Updates to gitignore, ansible.cfg, staging, group_vars, etc...

Thanks for the great updates


TravisCI PR builds are....problematic

Because in order to build a PR, travisCI builds the proposed merge, but it does not have the merge driver set up, any PR which ought to generate new pins or which has lines next to each other changing in the manifest is not going to work.

Example PR build: https://travis-ci.org/TerabyteQbt/meta/builds/348594235
Created this merge commit without mergeDriver: https://github.com/TerabyteQbt/meta/commit/9873f20f7e36c80d7113a15816702f35fd8eb833


ValueError: unsupported hash type

In docker (alpine) I was receiving this error. Using the following:
apk add --no-cache --upgrade gcc linux-headers musl-dev libffi-dev openssl-dev openvpn easy-rsa python python-dev py-pip

The error occurs from pbkdf2_hmac('sha512', password, token['accessToken'], 128000) in the scirpt.
My solution is to use hashlib. Quick edit of the script with the following:
sed -i "s/#import hashlib/import hashlib/" /etc/openvpn/openvpn-azure-ad-auth.py
sed -i "s/#from hmac import compare_digest/from hmac import compare_digest/" /etc/openvpn/openvpn-azure-ad-auth.py
sed -i "s/from backports.pbkdf2 import pbkdf2_hmac, compare_digest/#from backports.pbkdf2 import pbkdf2_hmac, compare_digest/" /etc/openvpn/openvpn-azure-ad-auth.py
sed -i "s/pbkdf2_hmac(/hashlib.pbkdf2_hmac(/" /etc/openvpn/openvpn-azure-ad-auth.py

Perhaps consider this as a permanent fix?

https://github.com/outlook/openvpn-azure-ad-auth/issues/11


RLayerVectorTile

Does the RLayerVectorTile support popup ?  I have two layers one layers is a vector layer which I am now able to provide a popup for each point.  I also have a VectorTileLayer which contains multiple polygons from local pg_tileserver  but when I try to add the pop to provide details of each polygon on click i get an error saying the "RFeature must be part of a vector layer" Which I am assuming to mean it is not supported in VectortileLayers unless i am missing somthing.
Thank You

Duplicate of https://github.com/mmomtchev/rlayers/issues/45
You must have a static feature for a popup.


7 27 issues

Please use the bullet list to write some brief notes to let the reviewer know what issues are fixed or what new features are covered by this pull request.
@GongDDEX @wlchn

When I create a config file and discard the modal form, the action icon buttons should in the same line.

When I open the modal for the second time, the last validation error message is still there.


Mark TRANS_TTL_{01,02} and STAKE_POOLS_JOIN_05 pending

Issue Number
None. Addressing CI failures.
Overview

[x] Add new flakyBecauseOf ticketOrReason helper that calls pendingWith unless RUN_FLAKY_TESTS is set.
[x] Mark TRANS_TTL_{01,02} and STAKE_POOLS_JOIN_05 pending/flaky.
[x] Add manual test calling for running flaky tests

Comments

Should lower the failure rate by 21% of runs, from 59% to 38%.
Next candidate for marking pending would be #2224, but with a relatively low failure rate of 3.6%, and being important, I think it would be a bad idea.
Maybe we should have flaky tests run per default, unless setting DONT_RUN_FLAKY_TESTS in CI, to maximise the times we run them locally.

Recent bors failures:
succeded: 19, failed: 37 (66%), total: 56
excluding #expected failures

Broken down by tags/issues:
10 times #2292 Flaky test - various DB properties causing timeout | https://github.com/input-output-hk/cardano-wallet/issues/2292
7 times #2295 Flaky TRANS_TTL_{01,02} - SlotNo 80 > SlotNo 50 | https://github.com/input-output-hk/cardano-wallet/issues/2295
6 times
3 times #2311 Flaky test - integration test timeout after/related to STAKE_POOLS_LIST_01 | https://github.com/input-output-hk/cardano-wallet/issues/2311
3 times #2230 Flaky  STAKE_POOLS_JOIN_05 - Can join when stake key already exists | https://github.com/input-output-hk/cardano-wallet/issues/2230
2 times #2224 Flaky STAKE_POOLS_LIST_01 - List stake pools, has non-zero saturation & stake | https://github.com/input-output-hk/cardano-wallet/issues/2224
1 times #another-integration-timeout  |
1 times #2337 STAKE_POOLS_GARBAGE_COLLECTION_01 timed out | https://github.com/input-output-hk/cardano-wallet/issues/2337
1 times #2320 Flaky test - The node backend is unreachable at the moment. STAKE_POOLS_QUIT_02 | https://github.com/input-output-hk/cardano-wallet/issues/2320
1 times #2295, #2331 Flaky TRANS_TTL_{01,02} - SlotNo 80 > SlotNo 50 | https://github.com/input-output-hk/cardano-wallet/issues/2295
1 times #2207 Flaky SHELLEY_MIGRATE_01_big_wallet | https://github.com/input-output-hk/cardano-wallet/issues/2207
1 times #2118 Property `prop_rebalanceSelection` occasionally fails. | https://github.com/input-output-hk/cardano-wallet/issues/2118

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors try

bors try

bors try

bors try

Disabling STAKE_POOLS_SMASH_01 looks promising. I hope it "fixes" #2337.
bors r+

bors r+

bors r+


debug toolbar can not display Relations

$customers = Customer::find()->with('orders', 'country')->all();
when use with can't see any with('orders', 'country') sql in debug toolbar

with('orders', 'country') does not generate any SQL itself. It will result in multiple queries being performed when all() is called. These are visible in the toolbar.


error: too many arguments to function 'ngx_time_update'

I'm not able to compile this into NginX 1.0.11:
/var/opt/agentzh-echo-nginx-module-03a2fd2//src/ngx_http_echo_timer.c: In function 'ngx_http_echo_timer_elapsed_variable':
/var/opt/agentzh-echo-nginx-module-03a2fd2//src/ngx_http_echo_timer.c:32:5: error: too many arguments to function 'ngx_time_update'
src/core/ngx_times.h:23:6: note: declared here
/var/opt/agentzh-echo-nginx-module-03a2fd2//src/ngx_http_echo_timer.c: In function 'ngx_http_echo_exec_echo_reset_timer':
/var/opt/agentzh-echo-nginx-module-03a2fd2//src/ngx_http_echo_timer.c:70:5: error: too many arguments to function 'ngx_time_update'
src/core/ngx_times.h:23:6: note: declared here
make[1]: *** [objs/addon/src/ngx_http_echo_timer.o] Error 1
make[1]: Leaving directory `/var/opt/nginx-1.0.11'

It seems that you're using an old version of ngx_echo. Which version of ngx_echo are you using? Could you please try the latest version, v0.37rc7, here?
https://github.com/agentzh/echo-nginx-module/tags
Thanks!
-agentzh

Hi,
This error was with the latest version. I've read the bug reports of people having this issue with older versions, and the fact that this was fixed in ngx_echo v0.33+. Thats why I posted this report - since the problem was with the most recent version of ngx_echo and NginX 1.0.11:

On Sun, Jan 8, 2012 at 2:53 AM, Tom Kirkpatrick
<EMAIL_ADDRESS>wrote:

Hi,
This error was with the latest version. I've read the bug reports of people having this issue with older versions, and the fact that this was fixed in ngx_echo v0.33+. Thats why I posted this report - since the problem was with the most recent version of ngx_echo and NginX 1.0.11:

I cannot reproduce this issue on my side with the latest ngx_echo and
nginx 1.0.11 on Linux x86_64 + gcc 4.6.
Which system are you in?
Thanks!
-agentzh

I've done some (blind) fixes in the latest rc version (v0.37rc8):
https://github.com/agentzh/echo-nginx-module/tags

Could you please try it out on your side?
Thanks!

Any updates on this issue on your side?


convert string

hi . thanks for the useful library.
can I convert my string to  YouTube-like ?? or this package only works with numbers?
for example, i want to generate a short link from one URL.

Yes you can. You input an integer ID and get an output of any character. You can even decide what alphabet you want to use.

No strings, only numbers.
https://github.com/ivanakimov/hashids.php#pitfalls


[RFC] Spans

This is a draft of string formatting with spans. Benchamrk.Net shows 0b allocated for formatting and constant 800b for transporting stats.
Is there an option for such kind of change to get merged?

FormatterBenchmark
    Method |      Mean |      Error |    StdDev |  Gen 0 | Allocated |

-------------- |----------:|-----------:|----------:|-------:|----------:|
IncrementBy1 |  20.75 ns |   3.471 ns | 0.1961 ns | 0.0127 |      80 B |
IncrementBy12 |  79.92 ns |  25.707 ns | 1.4525 ns | 0.0279 |     176 B |
Decrement |  89.07 ns |  59.937 ns | 3.3866 ns | 0.0279 |     176 B |
Event |  21.25 ns |   8.006 ns | 0.4523 ns | 0.0127 |      80 B |
Gauge | 186.38 ns | 161.779 ns | 9.1408 ns | 0.0165 |     104 B |
Timing |  90.21 ns |  19.432 ns | 1.0979 ns | 0.0304 |     192 B |
StatSendingBenchmark

Method
Mean
Error
StdDev
Gen 0
Allocated

RunUdp
103.32 us
50.502 us
2.8535 us
0.1221
800 B

RunIp
74.36 us
6.203 us
0.3505 us
0.1221
800 B

What are the before and after metrics from benchmarkDotNet, on the same machine?
What are the platforms supported by this code? We currently target net451 and netstandard2.0.  Though we could increment or drop the older platform, but only if we do a new major version.

I kept the old formatter and benchamrks for it. Span based results are:

Method
Mean
Error
StdDev
Median
Allocated

IncrementBy1
99.53 ns
4.2938 ns
12.2505 ns
93.66 ns
0 B

IncrementBy12
135.96 ns
2.7377 ns
5.4674 ns
135.36 ns
0 B

Decrement
146.06 ns
1.8600 ns
1.6488 ns
146.12 ns
0 B

Event
88.29 ns
1.1799 ns
1.1037 ns
88.12 ns
0 B

Gauge
127.66 ns
0.6875 ns
0.5368 ns
127.78 ns
0 B

Timing
133.87 ns
2.6460 ns
2.9410 ns
132.76 ns
0 B

String-based formatter:

Method
Mean
Error
StdDev
Median
Gen 0
Allocated

IncrementBy1
29.58 ns
0.6804 ns
1.118 ns
29.26 ns
0.0508
80 B

IncrementBy12
110.60 ns
1.5780 ns
1.318 ns
110.43 ns
0.1118
176 B

Decrement
120.23 ns
2.0964 ns
1.751 ns
120.35 ns
0.1118
176 B

Event
31.12 ns
0.7074 ns
1.775 ns
30.39 ns
0.0508
80 B

Gauge
247.25 ns
4.9498 ns
7.559 ns
244.57 ns
0.0658
104 B

Timing
126.62 ns
2.0130 ns
1.681 ns
126.21 ns
0.1218
192 B

@AnthonySteele to get full benefit out of it the proper choice would be netcoreapp2.1+, and probably .net 4.8 if it gets native spans.
It still might be worth doing on a slowspan implementations (.net and netcoreapp < 2.1). I am not entirely sure if span based apis will work there, I will investigate.

My main concern is that the span run seems to be slower. And if the benchmark is using 2.1, it should use the fast spans?

It looks like it is slower due to UTF8.GetBytes is called at formatter level, previously UTF8 get bytes was called before sending the packet over the wire

Previous implementation benchmark on my machine:

Method
Mean
Error
StdDev
Median
Allocated

RunUdp
832.3 us
19.88 us
56.07 us
815.3 us
1.16 KB

RunIp
774.6 us
15.19 us
21.30 us
766.6 us
1.16 KB

This:

Method
Mean
Error
StdDev
Allocated

RunUdp
783.8 us
12.176 us
10.167 us
800 B

RunIp
766.3 us
8.581 us
6.700 us
800 B

I will run benchmarks from my laptop, for some reason, it performs 8 times slower than a desktop.
After the latest change to transport with Connect-Send methods performance degraded approximately by 5%
It feels like major perf benefit would come from Socket's pooling, via something similar to HttpClientFactory but for sockets.
Perf boost from utf8 parser writing into stackalocked span is only slightly faster than String.Format, there might be some perf boost potential hidden there as well.
Reducing stacklocked buffer size to something dependant on payload helped a bit, will scratch it there as well.

A quick two-pence thought into this PR (though I don't have time to properly review it until tomorrow), I'm concerned that in the rush to jump on the new-shiny-thing of Spans, we'd seem to be forcing the library to only support the latest version of .NET Core/Standard, which would suddenly leave users with slower release trains a bit left out in the dark for bugs fixes etc.

It could be #ifed to keep support for the current TFMs, or the other existing TFMs could take a dependency on System.Memory, which polyfill with "slow Span", which will still be crazy quick with this.
I vote for minimum impact to existing TFMs, so #if where needed.

Several updates:
I've added a benchmark with empty transport implementations. In them, span based version runs 33 % faster. But the absolute time change is in a range of milliseconds. The really slow part is a socket creation and IO it produces.
Average time to create a socket and send a packet via it is approximately 100ms on my machine. Perf boost from using non-allocating formatting falls into a range of standard deviation of sending the actual data over the wire.
I will focus on separating new formatter from existing stuff to make it optional and keep compatibility with older versions of .net.

So I've tried to add socket pooling for UDP transport

Method
Categories
Mean
Error
StdDev
Scaled
Gen 0
Allocated

RunUdp
UDP
315.91 us
49.740 us
2.8104 us
1.00
0.9766
4029 B

RunUdpSpanPooled
UDP
54.18 us
6.273 us
0.3544 us
0.17
-
0 B

RunIp
TCP
290.65 us
22.373 us
1.2641 us
1.00
0.9766
4045 B

RunIpSpan
TCP
284.13 us
26.288 us
1.4853 us
0.98
0.4883
2208 B

I’ll look at the results again tomorrow, but socket-overhead is something that’s come up internally. We have a couple of apps using their own socket-pooling implementation, but the CPU overhead wasn’t quite quantifiable enough in benchmarks to make the case for it being the default implementation here in the main library.

I agree with Martin: the Spans have a lot of complexity, only run on a few of the frameworks that we use, produce small gains on something that's not the bottleneck.

We had pooled resources, but it wasn't helping performance. See https://github.com/justeat/JustEat.StatsD/pull/75/files
Possibly we weren't doing it well or in the right place and it can be re-introduced with more modern platform support?

@martincostello https://youtu.be/LCV-JNOkZC4?t=6m5s
This clip pretty much covers my understanding. It's worth watching 10 minutes from there, my comment gets read out and your tweet and gets shown too.

I'd be much happier with a separate package until it's more reasonable to bring up the drawbridge on older TFMs, but even if we add an extra TFM and use #if now, we're still creating divergence as you need to make a breaking change to the core interface (for the 3rd time this year?) so you can pass in a span.

Closing it cause it definitely would not be merged, will still refer to in future PRs.


Suggestion to recommend using templates for new repositories

In Project setup items 1.4 and 1.5 recommend adding a license and readme to the repository. This can be done automatically through the use of template repositories, which will help enforce this policy in organizations where this is adopted. It may be useful to outline this in the document.

@aholmes thanks for all you feedback! Regarding this specific one, we do have a template repository referenced here in item 7.1. Would that work? Our thought process was to list all our best practices in sections 1 to 6 and then provide in section 7 tools/approaches to help developers implement them.


Deploy via CI

Ideally the deployment happens via the CI server, so that it is easier to do

Steps from homebrew contibuting doc

Submit a 1.2.3 version upgrade for the foo formula

check if the same upgrade has been already submitted by searching the open pull requests for foo.
brew edit foo
edit url and sha256/tag, leave the bottle as-is
brew install --build-from-source foo
run brew audit --strict foo and fix any issues
git commit with commit subject foo 1.2.3
open a pull request and fix any failing tests

Preconditions:

fork of Homebrew/homebrew-core CI can read/write

Steps:

clone the homebrew fork
sync with upstream
hack a new branch
Edit Formula/git-town.rb
Update the url
Download the file at the url, get the sha256 (see our contributing doc)
Update the sha256
Run the other steps brew suggests
Create a PR (using hub?)

need to tag at least one maintainer of git-town so we get notifications if the PR reviewer requests any changes (I'm assuming the PR is made with an Originate bot github account)

@kevgo do we have an Originate github account that we could use for this?

Can we use our normal Github account for this ("github.com/originate")? It uses the email<EMAIL_ADDRESS>

Yeah that should be fine. Hmm, will be interesting to see if brew will install on a linux machine (in order to run the brew test commands) or if we need to switch to a OSX machine on circle in order to deploy. I'll look into this later this week.

Good point. The normal Mac version won't work here, but there is http://linuxbrew.sh, which is Homebrew for Linux. Hopefully it is compatible enough.
If we get this running, we could possibly also use it to avoid the issues we had with the built-in package managers on Linux.

Just learned this may be easier thanks to the brew developer command brew bump-formula-pr

Publishing the executables is done via CI and I haven't had to make a PR to homebrew recently. It appears @ilovezfs has a way to know what formulas need to be updated and then runs their handy tool brew bump-forumla-pr


CI: Improved container support is not enabled for the organization

All ci workflows with a non pull request trigger event currently fail due to them not being able to push images to ghcr.io. This feature is currently still in beta and requires an organization global flag to be set.
@Eloston do you think you could enable this? I haven't noticed any issues while testing on my fork but I would also understand if you wouldn't want to enable a beta feature.
How to enable support can be found here

OK, I've enabled the feature with Container Creation set to Private only (the default). Let me know if this should be changed.

I'm a bit confused about the visibility system github uses, as I'm able to see and pull the two new packages without any authentication but that was an initial goal with the move anyways.
Could you also remove the outdated docker.pkg.github.com/ungoogled-chromium-archlinux package?

Both ungoogled-chromium-archlinux and ungoogled-chromium-archlinux-testing already seem to be set as public. I've deleted the outdated package.


fix: update hyper dep 0.13 -> 0.13.1, since we depend on hyper::client::connect::Connect

We depend on the hyper::client::connect::Connect trait that was exposed only with the 0.13.1 release. See https://github.com/hyperium/hyper/blob/master/CHANGELOG.md#v0131-2019-12-13 for more details.
The reason this fix is necessary is because you can break others' builds without an obvious fix -- if a project's Cargo.lock contains hyper 0.13.0, then rusoto_core will simply fail to compile.

thanks!


"MSI auth not yet supported."

When will it be?

It is supported.
https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-authorize-azure-active-directory#authorize-by-using-a-system-wide-managed-identity-1


Demo

Hello, the demo page of RespondCms, is not working.

Seems to be missing solving a captcha.
https://demo.respondcms.com/create

Thank you.  I removed the reCAPTCHA for now.  I think there is an issue with how the reCAPTCHA library is loaded using the CLI, because I do sometimes see the reCAPTCHA.  I logged an issue to track this problem:
https://github.com/madoublet/respond/issues/534
I am going to close this issue and use 534 to track the problem.


User feedback: Today View Widget not showing bookmarks

User feedback:

Widget does not work or refresh. Just always shows this.

App Version = 20.1.0
iOS Version = 13.3
Bookmark Count = 1

I'm pretty sure that this is being caused by an App Group misconfiguration issue caused by the switchover from the UW to OTSF Apple Developer accounts.

I can't reproduce this bug on simulator or my device (app store 20.1.0). Clean app store install did not have the bug either. I don't think it's misconfigured app group.


API responses are out of date

https://api.exchangeratesapi.io/latest?symbols=EUR&base=USD request returns value for 29.05, although it's 01.06

I'm about to use https://www.exchangerate-api.com/docs/overview instead


chore(main): release 2.16.0

:robot: I have created a release beep boop
2.16.0 (2024-07-24)
Features

EMS-3536-3540: remove 'how your data will be used' declaration (#2789) (9efa559)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.16.0
:sunflower:


Concurrent execution vs mocks without falsely creating Mutex

Finish up #1236 by handling the Mutex edge case.

Thanks! 👍


CircleCI project setup

Set up Circle CI for the project in the same way we do it in other BBs.

Here are some conflicts!


Why did this Travis build fail?

https://travis-ci.org/studentinsights/studentinsights/builds/130475484 fails the rspec tests.
The identical build from the same PR https://travis-ci.org/studentinsights/studentinsights/builds/130476319 succeeded, which makes me think that either this PR introduced some random element to our rspec suite (seems unlikely -- it didn't touch any Ruby code) or a random element was always there.

Are we just missing a .sort in the line expect(educator.allowed_homerooms).to eq?

@erose Yep, that looks correct. The context block above uses .sort to eliminate the randomness.

Not sure why this would happen... Homeroom 101 should always be inserted into the database before Homeroom 102, since it's created on a preceding line. Can't imagine race conditions at work here.
If anyone else has ideas or hypotheses, let me know!
In any case, the order of homerooms in the array is irrelevant for authorization.

I added it in a few more places.

@erose Ah OK. I'll close my PR since yours is more comprehensive.

@erose Oh shoot! Didn't realize you committed directly on top of my PR. Reopening.

@erose Taking a closer look, we don't want to call .sort on those last two examples.
For "teacher with grade level access", we don't want to call .sort because there's only one object in the array. No point in sorting it.
For "#allowed_homerooms_by_name", we're expecting the output array to come out in a certain order. Order matters here. So calling .sort on both sides of the equality negates the value of the spec.

Closed via #491.


Make Day & Month inits public

Details
Made Day and Month structs' initializers public.
Related Issue
n/a
Motivation and Context
Solves the case where the user wants to programmatically select a range of dates. To do so, there are two problems the user has to solve

Providing the right Set<ClosedRange<Date>> to the DayRangeItemProvider
Having the right DayRangeItemProvider enum to apply the appropriate selection style for start/end dates

The first problem can be easily solved by the user. However, the second one can not be solved as both Day and Month structs' initializers' levels are internal and are not accessible to the user.
How Has This Been Tested
No significant changes have been made to the codebase. Therefore believe that no additional tests have to be written.
Types of change

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Hi @mosaic-engineering , thanks for the proposed change. I think this is something that I could probably make clearer in the documentation. With that said...
These two structs are intentionally internal to the calendar, as only HorizonCalendar has the necessary pieces of information (a Date range and a Calendar instance) to be able to construct these. HorizonCalendar ensures that only valid Day / Month structs are created by always deriving them from the Calendar instance that you initialized CalendarViewContent with. If any consumer could construct these, then there could be programmer errors where invalid Days are created. For example, Day(year: 2020, month: 01, day: 500) makes no sense.
The basic philosophy is that consumers of the API always provide Dates and a Calendar instance to HorizonCalendar, and HorizonCalendar always passes Day and Month instances to you that are guaranteed to be valid for the current date range and calendar combination.

Having the right DayRangeItemProvider enum to apply the appropriate selection style for start/end dates

I think the key to solving your problem is knowing that you can always convert a Day to a Date. You can use let date = calendar.date(from: day.dateComponents)! to convert a selected day into a corresponding date. Make sure to use the same calendar instance that you used to initialize the CalendarViewContent otherwise you'll have some weird bugs due to calendar conversion issues!
I also think the example project code could be useful. I do a conversion from Day -> Date here for the purpose of using the withDayRangeItemProvider https://github.com/airbnb/HorizonCalendar/blob/master/Example/HorizonCalendarExample/HorizonCalendarExample/Demo View Controllers/DayRangeSelectionDemoViewController.swift#L121

Let me know if that solves your issue 🙂

If any consumer could construct these, then there could be programmer errors where invalid Days are created.

Makes sense. Framework enforcing rules to prevent programmer errors. Brilliant!
Thanks for the feedback and keep up the great works guys :)


Plugin version is incorrect

The plugin version (and potentially the schemaVersion) is incorrect in the CommentsRatingPlugin.php file:
https://github.com/madebyshape/comments-rating/blob/master/commentsrating/CommentsRatingPlugin.php
The releases.json has it listed as 1.0.2 but the plugin itself thinks it's still 1.0.1.
This causes it to always thing it needs to be updated in the AdminCP.

Whoops - My mistake! Just fixed it :)


Publish Release for 0.9.0-dev0

The last release v0.8.1 for fido2 was on November 25 2019. There have been a number of awesome fixes since then. For example, v0.8.1 has a segfault when enumerating HID devices on MacOS Big Sur which  is all ready fixed by the new HID cleanup in a862fdaa938444faa3e3f4ef187d4a0c6a40d1b8.
Would it be possible to publish an interim release to PyPI so that the fixes can be picked up downstream. At the moment, the only way to consume it is as an egg from this repo, i.e:
pip install git+https://github.com/Yubico/python-fido2@507818c95ed84f543511455bc7fef646801f1cd8#egg=fido2

Very glad you're finding the improvements since 0.8.1 useful! Our current plan is to release 0.9 early next year, most likely in January. Will that be "soon enough" for your use case, or is there something in the interim I can do that would be helpful?

0.9.0 has now been released.

0.9.0 has now been released.


Small paragraph added

This is a small paragraph added to the GI docs, only a small thing compared to the news item.

Oh silly me, the images were in the other PR. Should pass this test and will merge.


bug: a variable named range could be nil

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.8.3 Build type: Release LuaJIT 2.1.0-beta3 Compiled by builduser
Operating system/version
Arch Linux x86_64 / 6.1.12-arch1-1
Describe the bug
when i update a plugin named LuaSnip, it will genrate an error, checkout failed

Steps To Reproduce

install LuaSnip
enter nvim
input :Lazy, then press U for update
then the bug will reproduce

Expected Behavior
It should not check failed, I think maybe just add and range  in git.lua, like this

But I am not familiar with lua, so you'd better look at what to do.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  -- add any other plugins here
  {
    "L3MON4D3/LuaSnip",
    -- follow latest release.
    version = "<CurrentMajor>.*",
    -- install jsregexp (optional!).
    build = "make install_jsregexp"
  },

}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Your version string is invalid. That's not an actual semver range


⚠ Processors has degraded performance

In 3f9c763, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 65 ms

Resolved: Processors performance has improved in ef284d9.


possible to use mailgun smtp server?

The email environment variables appear to be ignored.
ENV SMTP_HOST="mg.fullstacknews.com" \
    SMTP_PORT="25" \
    SMTP_STARTTLS_AUTO="true" \
<EMAIL_ADDRESS>\
    SMTP_PASSWORD="xxx"

There are not for me.
In console:
$ docker-compose run --rm lobsters rails c
$ ENV.fetch("SMTP_PORT", 33535)
=> 25

I got 25 as excepted.
As you can see in the Lobsters repo, these variables are use for SMTP config: https://github.com/lobsters/lobsters/blob/master/config/initializers/email.rb
Could you give me more details please ?


fix a degenerate case in topk

I found a degenerate case in topk, added a test for it, and fixed it.
The bug
Suppose you have the following item frequencies:
map[string]int{
        "a": 123,
        "d": 99,
        "e": 87,
        "b": 45,
        "c": 42
}

If the next 6 items in the stream are [c, c, c, c, c, c], the Stream will have a count of 48 for c and 45 for b, but min will still point to "c" when it should be pointing to "b".
At this point if you add a new item, "f", it will replace "c" instead of replacing "b" even though "c" has a higher count.
The fix
Keep a reference to the actual minimum Element at all times using container/heap.
(This is #3 with cleaner commits, but two years later. Sorry about the delay.)

@blinsay Has this patch worked for you over the last, almost, 8 years?

I haven't used it in a long time. Feel free to close this out.


code: Select variables & create initial maps for selected variables

Connected to #19 #18 . Also connected to others?

This is revised to making sure that we can process all the variables that Carolyn has selected for us.

From Carolyn's Slack message:
Four variables in example formats that I would like to be able to easily map (think of this as user stories for a generalized mapping tool):
Flooding risk to roads (Column W) from CVI Data Excerpts.xlsx (values to be associated with a census shapefile based on an ID column). An extension example that I will need to do will be crossing the CWNS facility locations with the flood risk by census track to create flood risk values for each facility.
@Curtis Atkisson
Let me know if that is a pre-processing step or something you can build in to the mapping functionality (point data that you want to assign attributes from a shapefile to and then map)
Any column from WWpctr_5arc.nc (raster with global coverage that needs to be cut to only include grid cells covering parts of the US)
SWIVULN from SGD_Coastal_Vulnerabilities.csv, using Catchment_CONUS_coastline (values with an identifier tying it to a polygon shapefile provided by the user-UPON FURTHER REFLECTION, THE SPACES BETWEEN THE POLYGONS IN THIS SHAPEFILE COULD BE THE NEGATIVE IMAGE OF RIVERS. While I can look into that, you can use this shapefile as a proxy for data with polygons that have spaces between them but maybe shouldn't.  I'd also be fine with you ignoring that aspect of the shapefile for this step of the mapping.  However, you may need to account for that situation when you are trying to convert data to a scale derived from a user-specified shapefile in terms of how data available in negative space should be handled.
@Curtis Atkisson
let me know if you want to discuss this further)
drinkingwater_use from ATTAINS_Assessment_20240523.gpkg (values already attached to polygons)


Using L298N-Motor with gpiozero

Using this code on RPI2 with L298N-Motor:
from gpiozero import Motor
from time import sleep

motor = Motor(forward=17, backward=27)

while True:
    motor.forward()
    sleep(5)

gives the following error:
> Traceback (most recent call last):
  File "motpi.py", line 3, in <module>
    motor = Motor(forward=17, backward=27)
  File "build/bdist.linux-armv7l/egg/gpiozero/devices.py", line 122, in __call__
  File "build/bdist.linux-armv7l/egg/gpiozero/output_devices.py", line 756, in __init__
  File "build/bdist.linux-armv7l/egg/gpiozero/devices.py", line 122, in __call__
  File "build/bdist.linux-armv7l/egg/gpiozero/output_devices.py", line 306, in __init__
  File "build/bdist.linux-armv7l/egg/gpiozero/pins/__init__.py", line 179, in <lambda>
  File "build/bdist.linux-armv7l/egg/gpiozero/pins/__init__.py", line 175, in _set_frequency
gpiozero.exc.PinPWMUnsupported: PWM is not supported on pin GPIO17
Exception AttributeError: AttributeError(u'no such attribute _source_thread',) in  ignored

If I use LED(17), LED(27) is working perfect.

I've just tried reproducing this myself on both Python2.7 and Python3.4 on each of a RPi2 and RPI3, using the latest version 1.2 of gpiozero, and in all cases your sample script worked without any problem :-/
Are you definitely using the latest v1.2 of python-gpiozero? How did you install it? Which version of Raspbian and/or Python are you using?

That looks like it's not using RPi.GPIO - because its software PWM is permitted on any pin. It must be falling back to RPIO, or more likely the built-in pins implementation.
@goloplo Are you running this in a virtualenv? If so, you probably want to install RPi.GPIO in the virtualenv. If not, have you uninstalled RPi.GPIO?
@waveform80 can you tell from the stack trace which implementation is being used?

@goloplo Note I've edited your post to use fenced code blocks to help make it more readable. Click edit and see how it's laid out for future reference.

Just to keep things tied together - see my comments on #301 too.

And see also #303 :-)
(which indeed allows motors to be used if RPi.GPIO isn't installed, by specifying pwm=False in the Motor constructor)

Bennuttall, lurch thank you.
To answer your questions:

I'm running this in a virtualenv.
RPi.GPIO is not install.

So my current set (one motor) without PWM is:
    | BCM Pin |           | L298N |
         17   -------------> IN1
         27   -------------> IN2

If I have to use (one motor) PWM should be:
    | BCM Pin |           | L298N |
          4   -------------->ENA
         17   -------------> IN1
         27   -------------> IN2

I think lurch suggestion is very good. Using pwm=False or defining two motor classes.
Another suggestion is for the speed of the motor maybe a range 0 to 120 should be added as on Arduino.
This way GPIOZERO can separate from the installation of RPi.GPIO.

I'm running this in a virtualenv.
RPi.GPIO is not install.

You're better off depending on RPi.GPIO at present. It's the most reliable back-end.

I think lurch suggestion is very good. Using pwm=False or defining two motor classes.

I agree. I think I raised the issue of why we don't have an on/off motor at some point previously, I can't remember the reasoning. Alternatively, pwm=False would do.

Another suggestion is for the speed of the motor maybe a range 0 to 120 should be added as on Arduino.

All device values range 0 to 1 (or -1 to 1) so we wouldn't change that. It makes it easier if everything is proportional and components can be easily used together, for example if a light sensor has values 0 to 1, the value can be passed directly (or inversely) to a PWM device like PWMLED or Motor.

So it is not possible to add Motor() and PMotor() ?
PMotor() will have the pwm=True and will use 3 pins, one for speed and to for rotation.

Myself, @bennuttall and @waveform80 are all "software guys" and not hardware-guys or electronics-guys, so we're not always aware of all the different options.
In terms of motor-driver chips, the current Motor class supports (PWM_forwards, PWM_backwards) style controls, but it sounds like the PMotor class you're suggesting requires (Digital_forwards, Digital_backwards, PWM_speed) style controls, and the PhaseEnableMotor in #276 requires (Digital_direction, PWM_speed) style controls.
See also my brief discussion in https://github.com/RPi-Distro/python-gpiozero/pull/277#issuecomment-211608633 about different types of motor drivers.

Thanks for replys guys.
On RPI forum they are saying that the IN pins from the drive board  can be used with PWM.
I'll will try that and update the post.

Page 4 of http://www2.st.com/resource/en/application_note/CD00003776.pdf talks about the difference between using PWM on the INput pins and using PWM on the ENable pins. The finer details are a bit over my head.

Hi guys,
Just an update I've done the installation on the virtual environment of the RPi.GPIO and it is working. I'm using just 2 IN pins per motor and it is working with PWM as well.
Thank you.

IMHO this should be re-opened, as I believe to 'properly' support the L298N we'd need a Motor class with (Digital_forwards, Digital_backwards, PWM_speed) style controls.

Thanks. Just looking at this thread, the contents seem to be focused around whether or not this was a bug, and problems with back-end PWM support. I've closed and created a new issue #330 for adding support for more motors. Hope that helps.


Is this plugin dead? - I have not been able to watch Netflix for a month

Someone can explain or write a workaround to watch neflix with this Plugin again?
We have many different errors, "no login", "invalid key" and many other messages.
Since 10/01/2019 can't watch netflix daily on my rpi4. :-(
This plugin is last edit for one year ago, someone have a other tool to watch netflix on kodi?

Hello Daniel,
As it says in the README, this repo is no longer mantained. However, there is an active fork. Please check https://github.com/CastagnaIT/plugin.video.netflix/
Cheers!

I'm confused, the fork has way more commits 1000 vs 600 but it looks like this repo is still maintained because there was a release 3 days ago. I guess the fix a recent breakage because it broke again a few days ago.
I thought there was going to be a 0.14 release eventually, because that had been going on for a while in a PR, though this had been taking a very long time so I wasn't sure what was happening with that.
But now a fork which seems to have a repository for release builds? Sounds a lot easier than manually installing every time there is an update.

Thank you so much @Fubukimaru - now Netflix is working again!

Hello Daniel,
As it says in the README, this repo is no longer mantained. However, there is an active fork. Please check https://github.com/CastagnaIT/plugin.video.netflix/
Cheers!

I just wish this was more well known, I was looking for these answers for a few months too.


Would it possible to get a "Monterey 12.3" python2 fix for this workflow?

If anyone has the knowledge and time to update this workflow to be compatible with Monterey 12.3, I would really appreciate it! I'm thinking it is the removal of python2 that is causing trouble.

Try which python in your Terminal and change the Python path like this:

That worked for me.

I ended up adding this at the top of the script and it seems to have worked as well. But I've also done some of hte other python2 related workarounds so I'm not fully sure where the fix came from.


raspberry pi supported?

will it work for a hobbyist drone using raspberrypi as a ros platform?

@nickxdxd I have not seen it work on the raspberry pi yet, but would be really excited to see it working on it

With the release of the new RaspberryPi 4 there is definitely enough power there to run the Planner. The issue is that we need to get ROS running on it first, but I'm sure the community will get that to happen quickly.


ComparisonEngine: plotting fails on "no numeric value"

Visualization of database output is currently based on plotting the values, but the database columns often contain non-numeric values.
Therefore we would rather visualize the count of variables

It seems this is fixed with 1648a71481b581e5e1cb3c2b666fe7d9cd55f87b


Problem about Readme semple code

@chrismoos
i have a problem using your code. i run the code in Readme but trap in setup. here is my code:
#include <Arduino.h>

#include <util/delay.h>

extern "C" {
    #include <os.h>
}

spinlock_t testLock;

void kernel_task(void *arg) {
    while(1) {
        spinlock_acquire(&testLock);
        Serial.println("kernel: " + String((long)os_get_uptime()));
        spinlock_release(&testLock);
        os_sleep(1000);
    }
}

void user_task(void *arg) {
    int x = 0;
    while(1) {
        spinlock_acquire(&testLock);
        Serial.println("user_task: " + String(x++));
        spinlock_release(&testLock);
        os_sleep(5000);
    }
}

void setup() {
    Serial.begin(9600);
    Serial.print("Begin.\n");
    os_init();
}

void loop() {
    spinlock_init(&testLock);

    os_schedule_task(kernel_task, NULL, 0);
    os_schedule_task(user_task, NULL, 0);
    os_loop();
}

and here is the result keep running the setup:

i am using arduino mega2560. and i put your code in Arduino/libraries/os.

@yuhaoc You might try changing the timer with CONFIG_AVR_TIMER. Looks like its crashing and that's why you see that output.

@chrismoos I difine CONFIG_AVR_TIMER as 0, 1, 2. But it still not working.


Prevent loading all non-Bundler gems

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

This prevents random user-installed gems from breaking brew in various ways, including but not limited to:

Broken native extensions of critical components, like fileutils, causing brew to not load. [#10520, #10684, many many discussions]
Various warnings about user-installed gems that brew isn't responsible for. [#10649, #10675, #10688]
Breaking-change updates of gems being used which brew has not been tested against. [#2984]

Prior discussion in #7681.

Review period will end on 2021-02-25 at 18:08:29 UTC.

I cannot reproduce that rubocop-ast error. Nor can I think of anything that could cause it.

I cannot reproduce that rubocop-ast error. Nor can I think of anything that could cause it.

Bootsnap? The Library/Homebrew/rubocops.rb load_path require?

Bootsnap?

I don't think that actually is being used on Linux:
https://github.com/Homebrew/brew/blob/74f7d2f84f1e017692197a7b35eece4fb79c3375/Library/Homebrew/homebrew_bootsnap.rb#L10
HOMEBREW_PROCESSOR being "Intel" is a macOS-specific quirk.

The Library/Homebrew/rubocops.rb load_path require?

Call path appears to be brew bottle. It doesn't happen in my Linux docker though.

I think I figured it out - we (intentionally) remove non-existent directories from the $LOAD_PATH. But because we Homebrew.install_bundler_gems! mid-run, some of the gitignored gems won't be in the $LOAD_PATH on first install. Removing the "exists" check causes this horrible bug again though:
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54: [BUG] Segmentation fault at 0x0000000000000018

I'll play around with it.

I don't think that actually is being used on Linux:
https://github.com/Homebrew/brew/blob/74f7d2f84f1e017692197a7b35eece4fb79c3375/Library/Homebrew/homebrew_bootsnap.rb#L10
HOMEBREW_PROCESSOR being "Intel" is a macOS-specific quirk.

Whoops, should revert that as it's not intentional.

The last commit should fix the Ruby crash issue once and for all.

Review period ended.

Enabling that test immediately finds a bug! Fixed that now.
(I've also made the brew test command print the stacktrace to stderr instead of stdout - it makes the integration test for it have much better output when it fails)

Related? https://github.com/Homebrew/discussions/discussions/953

We do not ship a rake script (though the gem was there) with portable Ruby, so that's half intentional.
I suspect the user is actually wanting to use system Ruby however, which would make sense for formula build scripts specifically. This probably broke because GEM_PATH and GEM_HOME is bleeding into formula.
So we can either:

Not use those envs and use alternative Gem API.
Reset those ENVs in a build environment.

I'll try out the former just now because it looks interesting.

#10726

Is there a way now to allow specific Gems which are not in the Gemfile? The cask review action broke because it cannot load the git_diff gem.

I have a fix for Homebrew.install_gem! here: #10735
For more complex scenarios, bundler still works (homebrew-formula-analytics).

Merged now:
$ brew irb
==> Interactive Homebrew Shell
Example commands available with: `brew irb --examples`
irb(main):001:0> Homebrew.install_gem! "git_diff"
==> Installing 'git_diff' gem
Fetching git_diff-0.4.3.gem
irb(main):002:0> require "git_diff"
=> true
irb(main):003:0> defined? GitDiff
=> "constant"


file generated by apiserver-boot create cannot compile

Follow up: https://github.com/kubernetes-sigs/apiserver-builder-alpha/pull/436#discussion_r341859066
The code generated by apiserver-boot should also be updated to be compatible with the 1.16 kubernetes dependencies.
cc @cofyc

i will schedule a release for 1.16 i.e. v.1.16.alpha.0 very soon, before that we can build ur own release by running make install from the project root. that will be a workaround for the issue.
-- thanks, min


Persistence?

Requesters queue messages until a responder is online...but how is this done?

Messages are kept in the Requester's memory, basically in an in-memory array, so currently it's volatile.

Do you have plans for a adapter interface so it can be stored in disk, redis, or whatever and if the requester restarts, it reads this log and resends?

Also, does the Requester queue has exponential backoff?

An adapter could really be interesting, but I think it would complicate the solution. cote is designed to be technology independent and I can easily see developers thinking they have to use at least another technology for the Requester queue where in fact it's only necessary in extreme situations where every part of your application is failing. In that case, losing a few requests would be a minor concern. Redundancy is extremely cheap in cote, so developers are encouraged to have multiple Responder copies. That way, the need for a queue is also negligible.
Having said that, I would be happy to merge such a change set if anyone would pick up the creation of adapters for queues.

The current implementation of the queue keeps the requests in the queue forever, doing nothing until a Responder is available. Upon discovering a Responder, a Requester flushes its queue all at once.
Since we do service discovery, we don't employ "reconnections" or "retries", because we always know if there's another component on the other hand to receive the request. I think exponential backoff would be a good solution if we had retries, and actually it's explicitly disabled because the underlying library, axon, has retry feature for connections, which is unnecessary with a service discovery mechanism.
In what other way do you think a backoff solution would be useful?

I believe the assumption here (referring to the backoff solution) is that the request could expire. An expectation borne from dealing with HTTP for a generation is that requests must eventually respond. A request made to a service that will never respond, never log and never error is a recipe for code that is difficult to maintain.


Setup testing for scraping-scrips

[ ] Design of testing procedure and what to test / how to test it
[ ] Implement first draft of unit testing for RSS feed scraper

Possible link to issue #6.

duplicate


Class missing

So was it your plan to remove the code? HVTableView is empty after pod install.

the same question

The project is dead, take the files from the example and include them directly. You only need HVTableView.h and .m
But be aware of the open issues, none of them got fixed.

On Mar 22, 2017, at 9:24 AM, LuoshEn<EMAIL_ADDRESS>wrote:
the same question
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
, or mute the thread
.

the issue is resolved in 0.2.0 version. Sorry for the inconvenience.
If you are using pods do this:
pod update
thanks.


Do you have an EVM-C integration?

Do you have an implementation of an EVM-C wrapping of eEVM somewhere which could be published, so we can try using eEVM within Geth or similar on the Ethereum mainnet or testnets?  Thanks!

We don't have an EVM-C wrapping. We may look at building one in the new year if we have time, but this kind of integration isn't a high priority for us.

Hey Eddy - thanks for the info.
I have an email thread running with Cale Teeter, Marley Grey and Yorke Rhodes talking about eEVM, and I would love to bring you onto that too.  We have worked together on Ethereum topics since 2016, first when I was at the EF, and then within the context of the EEA.
Please could you drop me a mail at<EMAIL_ADDRESS> Thanks!


migrations --create

Is there a reason --create flag does not exist for module migrations?
ie:
module:make-migration create_events_table --create=events

outputs
 [Symfony\Component\Console\Exception\RuntimeException]
  The "--create" option does not exist.

Not sure what that flag is supposed to do, but the command guesses the action from the migration name.
Example if your migration name is create_events_table it'll know it's to create a table and prepare the correct boilerplate for it.

Yes I've just realised it still creates the boilerplate code. So yes you're right it's not needed.
Thanks 👍

Hello how can l alter the table using this package i.e. I used php artisan module:make-migration add_is_pending_to_finance_payments_cash finance --table='finance_payments_cash'; to try and alter my table within my finance module and i get  The "--table" option does not exist.


*: update yatp to reduce allocations in future spawn

What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Proposal: xxx
What's Changed:
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
None

/bench sysbench


Conditionally render name of loaded template sample in Loaded Output

Context
This issue concerns the conditional rendering of the loaded template sample name within the "Loaded Output" section of the Accord Project Playground.
Expected Behavior
Upon clicking a template sample within the playground, the name of the loaded template sample should be clearly displayed within the "Loaded Output" area. This provides users with immediate confirmation of the loaded sample and enhances clarity.
Actual Behavior
Currently, clicking a template sample does not trigger the display of the sample name within the "Loaded Output" section. This leaves the user unsure of which sample is loaded and can be confusing, especially when dealing with multiple samples.
Possible Fix
The potential fix involves modifying the code responsible for rendering the "Loaded Output" section. This could involve:

Updating the logic to conditionally render the template sample name based on user interaction (e.g., clicking a sample).
Passing the sample name as a parameter to the "Loaded Output" component and conditionally displaying it based on the presence of the name.

Steps to Reproduce

Open the Accord Project Playground.
Navigate to the template library section.
Click on any template sample.
Observe that the name of the clicked sample is not displayed within the "Loaded Output" area.

Existing issues
Your Environment

Version used: (Specify the Accord Project Playground version, if applicable)
Environment name and version: (e.g., Chrome 110, Node.js 18.12.1)
Operating System and version: (e.g., Windows 11, macOS Ventura)
Link to your project: (If applicable, provide a link to your local or development environment)

Additional Notes:

Solved in PR https://github.com/accordproject/template-playground/pull/33

Hey 👋 @muskanbararia
I fixed this issue in PR #33 already.

Hey 👋
Why has this issue not been closed if it's been solved?
It clutters up the issue list.


Fix lists to consider pre and postblocks

Before, numbered list items were just labelled 1. Now, they are numbered 1. 2. 3...

The renderers stuff is pretty experimental, but -- this looks to be improving it. Thanks!


Consider Adding Edit Support

Thanks for creating this plugin, its a nice utility for getting at the APIs.
OpenAI has now launched a new engine specifically for editing/rewriting code. It has a lot of benefits over code generation from scratch because you can give it a lot more prompts around how you like to write/structure your code.
Announce blog post:
https://openai.com/blog/gpt-3-edit-insert/
Docs:
https://beta.openai.com/docs/guides/code/editing-code
You can hit the edit endpoint
https://api.openai.com/v1/engines/{engine_id}/edits

Using  code-davinci-edit-001  as the engine_id
You most likely would want to add an additional user prompt to allow the user to specify the instruction.

For fun I had the open ai insert endpoint try to write this function
    def get_edit_response(self, prompt,key):/*
        """
        * Takes the users selected value as "prompt" and pass into the API as field "input"
        * Asks the user to specify an "instructions" parameter to pass into the API endpoint
        * Queries open AI edit endpoint "https://api.openai.com/v1/engines/{engine_id}/edits" using engine id "text-davinci-edit-001"
        * For more information on the edit endpoint <https://beta.openai.com/docs/api-reference/edits>
        * Returns the response from Open AI
        */
        """
       # settings = sublime.load_settings('codex-ai.sublime-settings')
        instructions = sublime.active_window().show_input_panel("Instructions","","",None,None)
        response = requests.post(
            'https://api.openai.com/v1/engines/text-davinci-edit-001/edits',
            headers={
                'Authorization': "Bearer " + key,
                'Content-Type': 'application/json',
            },
            data=json.dumps({
                'input': prompt,
                'instructions': instructions,
            }),
            verify='/etc/ssl/certs'
        )

        #respone_dict = response.json()

        if response.get('Error', None):
            raise ValueError(respone_dict['Error'])
        else:
            choice = response.get('choices', [{}])[0]
            ai_text = choice.get('text', response.text)
        return ai_text

Thanks for the suggestion! Makes me very happy to see another soul has used this plugin besides myself.
The edits endpoint looks perfect for this project, hopefully I'll get some time this week to look into it.
Love being able to use Codex plugin to write Codex plugin - one big meta-joke, somehow deeply satisfying.

Alright! Added the new 'edits' command to release v1.3.0 - Codex can still be a bit unwieldy, as the 'edits' endpoint is still in beta, but it is very fun to use.
Check the current readme with updated git and use info.
Thank you kindly for the suggestion! Let me know what you think


Unable to generate flattened enum

I have tried both tagged or untagged enum in struct, not working.
Code
Tagged:
use serde::Serialize;
use ts_rs::TS;

#[derive(Serialize, TS)]
#[ts(export)]
struct Foo {
    #[serde(flatten)]
    baz: Bar,
}

#[derive(Serialize, TS)]
#[serde(tag = "tag")]
#[ts(export)]
enum Bar {
    _Baz { a: i32 },
}

Untagged:
use serde::Serialize;
use ts_rs::TS;

#[derive(Serialize, TS)]
#[ts(export)]
struct Foo {
    #[serde(flatten)]
    baz: Bar,
}

#[derive(Serialize, TS)]
#[serde(untagged)]
#[ts(export)]
enum Bar {
    _Baz,
}

Error
---- ts::export_bindings_foo stdout ----
thread 'ts::export_bindings_foo' panicked at 'Bar cannot be flattened', [:REDACTED:]/.cargo/registry/src/github.com-1ecc6299db9ec823/ts-rs-6.1.2/src/lib.rs:243:9

Info
version of ts-rs: 6.1.2
version of rustc: rustc 1.60.0 (7737e0b5c 2022-04-04)

thanks for the report! will look into this when I find some time.

The untagged variant should be fairly easy to do, at least conceptually. If you have something like
#[derive(Serialize, TS)]
#[ts(export)]
struct Foo {
    one: i32,
    two: String,

    #[serde(flatten)]
    baz: Bar,
}

#[derive(Serialize, TS)]
#[serde(untagged)]
#[ts(export)]
enum Bar {
    Baz(BazStruct),
    Qux(QuxStruct),
}

The generated TS for Bar becomes something like
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { BazStruct } from "./BazStruct";
import type { QuxStruct } from "./QuxStruct";

export type Bar = BazStruct | QuxStruct;

and it feels like the generated TS for Foo could just be
import type { Bar } from "./Bar";

export type Foo = {
    one: number
    two: string
} & Bar;

or thereabouts.

Huge shoutout to @escritorio-gustavo for getting this implemented!


prepare for python3

This remove syntax incompatibility. However glacier-cli is still not functional. Now I'm blocked by  https://github.com/boto/boto/issues/3110

Thanks!