If the Ingress is enabled the Base/Public URLs need to be the Ingress' host

For example if you set
ingress:
  enabled: true
  hosts:
    - host: limesurvey.local
      paths:
        - path: /
          pathType: Prefix

then the baseUrl und publicURL need to be limesurvey.local. Maybe we can provide some logic to do that in the template, so that it works out-of-the-box
- name: BASE_URL
  value: {{ .Values.limesurvey.baseUrl }}
- name: PUBLIC_URL
  value: {{ .Values.limesurvey.publicUrl }}

Just tested this a buit, both can just be set to empty


Replace 'user' with 'client' in help text

I'd like to propose this text replacement so as to provide clarity and consistency as to the behaviour of this command.
Many thanks!
Peter

Hi, thanks for your PR, Please read: https://github.com/pivpn/pivpn/blob/master/CONTRIBUTING.md#do-you-want-to-open-a-pull-request-to-modify-the-source

Open a new GitHub pull request with the patch on the test branch.

Sorry for the delay - Christmas! Thanks for the feedback. Target branch changed from master to test.

Thank you.
LGTM .. Merging


fix: Ajust financed by icons with button width

Closes #96
Description of the changes
Align button "Github Sponsor" with icon in footer
Checklist

[x] I didn't over-scope my PR
[x] My PR title matches the commit convention
[x] I did not include breaking changes
[x] I made my own code-review before requesting one

I included unit tests that cover my changes

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

I added/updated the documentation about my changes

[ ] 📜 README.md
[ ] 📕 docs/*.md
[ ] 📓 docs.lenra.io
[x] 🙅 no documentation needed

:tada: This PR is included in version 1.3.3 :tada:
The release is available on:

GitHub release
v1.3.3

Your semantic-release bot :package::rocket:


[PE-D][Tester B] Line formatting issues in use cases - DG

Line formatting for extensions got displaying properly in DG, example below

Labels: type.DocumentationBug severity.Low
original: Jasperabez/ped#7

fixed #229


[TERRA-320], [TERRA-565] AWS sagemaker support on CLI

Add support for AWS sagemaker notebook create, delete, credential, start, stop
rename Type.S3_STORAGE_FOLDER to Type.AWS_S3_STORAGE_FOLDER
Minor comment / document updates
[TERRA-565] test to create, delete, start, stop, getCredentials, resolve

Testing
terra-cli (dexamundsen/320-create) >> terra resource create sagemaker-notebook --name=dex-note-512-1 --instance-name=dex-note-512-1-dex-ws-512-1
CLI timed out waiting for the job to complete. It's still running on the server.

terra-cli (dexamundsen/320-create) >> terra resource list
NAME                            RESOURCE TYPE         STEWARDSHIP TYPE      DESCRIPTION
dex-note-512-1                  AWS_SAGEMAKER_NOT...  CONTROLLED            (unset)
dex-note-512-2                  AWS_SAGEMAKER_NOT...  CONTROLLED            (unset)
dex-note-512-3                  AWS_SAGEMAKER_NOT...  CONTROLLED            (unset)
dex-s3-512-1                    S3_STORAGE_FOLDER     CONTROLLED            (unset)

terra-cli (dexamundsen/320-create) >> terra resource describe --name=dex-note-512-3
Name:         dex-note-512-3
Description:
Type:         AWS_SAGEMAKER_NOTEBOOK
Stewardship:  CONTROLLED
Cloning:      COPY_RESOURCE
Access scope: PRIVATE_ACCESS
Managed by:   USER
Region:       us-east-1
Private user<EMAIL_ADDRESS>Properties:   class Properties {
    []
}
SageMaker Notebook instance name:   dex-note-512-3-name
SageMaker Notebook instance type:   ml.t2.medium
SageMaker Notebook instance status: InService

terra-cli (dexamundsen/320-create) >> terra resource credentials --name=dex-note-512-3
class AwsCredential {
    version: 1
    accessKeyId: …
    secretAccessKey: …
    sessionToken: …
    expiration: 2023-05-12T19:19:47Z
}

terra-cli (dexamundsen/320-create) >> terra notebook start --name=dex-s3-512-1
Only able to use notebook commands on AWS SageMaker Notebook resources, but specified resource is S3_STORAGE_FOLDER

terra-cli (dexamundsen/320-create) >> terra notebook start --name=dex-note-512-3
Notebook instance started  # already started

terra-cli (dexamundsen/320-create) >> terra resource delete --name=dex-note-512-3 --quiet
Name:         dex-note-512-3
…

SageMaker Notebook instance status: Stopped
Resource successfully deleted.

terra-cli (dexamundsen/320-create) >> terra resource list
NAME                            RESOURCE TYPE         STEWARDSHIP TYPE      DESCRIPTION
dex-note-512-1                  AWS_SAGEMAKER_NOT...  CONTROLLED            (unset)
dex-note-512-2                  AWS_SAGEMAKER_NOT...  CONTROLLED            (unset)
dex-s3-512-1                    S3_STORAGE_FOLDER     CONTROLLED            (unset)

pending (in next PR) -
Notebook ProxyUrl (TERRA-564)
Tests (TERRA-565)

WSM errors unrelated to current change, merging


travis: upgrade linux dist to avoid openssl deprecation error

Pull Request Test Coverage Report for Build 119

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.697%

Totals

Change from base Build 113:
0.0%

Covered Lines:
467

Relevant Lines:
488

💛  - Coveralls


bindings/python: Bump PyO3 to 0.21

PyO3 has been released, we can bump pyo3 to 0.21 now.
Update pyo3 in https://github.com/apache/opendal/blob/main/bindings/python/Cargo.toml and address possible build failure and warnings.

Seems we can write async fn directly in pyo3 now: https://pyo3.rs/v0.21.0/async-await
Would you like to give it a try? I'm guessing we can remove pyo3-asyncio entirely.

Based on the previous discussion, I took the following action:
1. Open an issue in `pyo3-asyncio`, but I'm not sure how long it will take to get a response.

* [Bump PyO3 to 0.21.0? awestlake87/pyo3-asyncio#119](https://github.com/awestlake87/pyo3-asyncio/issues/119)

2. Try remove `pyo3-asyncio`, use the async function provided by `PyO3` 0.21.0 itself.

* It seems that `PyO3` has a bug that prevents async `pymethod` from introducing additional parameters once it has a receiver(i.e. &self/&mut self), even though they are safe enough in the asynchronous context.

* I have create an issue and open a pull request to fix this, and It was quickly merged: [Async `pymethod` with receiver can not pass any other arguments PyO3/pyo3#4005](https://github.com/PyO3/pyo3/issues/4005)

Do we wait for the next release or just depend on the commit included this patch?

I think we need to wait for the next release.

@reswqa Good news, https://github.com/PyO3/pyo3/releases/tag/v0.21.1 pyo3 minor release includes your change!

0.21.2 has been released now. @reswqa would you like to take another look?

Yes, but I'm getting married and will on my honeymoon recently though 💒

Wow, congrats! Please enjoy your time :love_letter:

so I can't put in the time right away. 😉

Never mind, there is no hurry.

I tried to bump to 0.21 but met many issues...
error: future cannot be sent between threads safely
   --> src/file.rs:311:1
    |
311 | #[pymethods]
    | ^^^^^^^^^^^^ future created by async block is not `Send`
    |
    = help: within `pyo3::PyAny`, the trait `Sync` is not implemented for `UnsafeCell<pyo3::ffi::PyObject>`, which is required by `{async block@src/file.rs:311:1: 311:13}: std::marker::Send`
note: captured value is not `Send` because `&` references cannot be sent unless their referent is `Sync`
   --> src/file.rs:311:1
    |
311 | #[pymethods]
    | ^^^^^^^^^^^^ has type `&pyo3::PyAny` which is not `Send`, because `pyo3::PyAny` is not `Sync`
note: required by a bound in `new_coroutine`
   --> /home/xuanwo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.21.2/src/impl_/coroutine.rs:22:40
    |
15  | pub fn new_coroutine<F, T, E>(
    |        ------------- required by a bound in this function
...
22  |     F: Future<Output = Result<T, E>> + Send + 'static,
    |                                        ^^^^ required by this bound in `new_coroutine`
    = note: this error originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `impl futures::Future<Output = Result<bool, pyo3::PyErr>>: IntoPyCallbackOutput<_>` is not satisfied
   --> src/file.rs:311:1
    |
311 | #[pymethods]
    | ^^^^^^^^^^^^ the trait `IntoPyCallbackOutput<_>` is not implemented for `impl futures::Future<Output = Result<bool, pyo3::PyErr>>`
    |
    = help: the following other types implement trait `IntoPyCallbackOutput<Target>`:
              <bool as IntoPyCallbackOutput<bool>>
              <bool as IntoPyCallbackOutput<i32>>
              <usize as IntoPyCallbackOutput<isize>>
              <usize as IntoPyCallbackOutput<usize>>
              <HashCallbackOutput as IntoPyCallbackOutput<isize>>
              <IterNextOutput<T, U> as IntoPyCallbackOutput<*mut pyo3::ffi::PyObject>>
              <IterANextOutput<T, U> as IntoPyCallbackOutput<*mut pyo3::ffi::PyObject>>
              <Result<T, E> as IntoPyCallbackOutput<U>>
            and 3 others
note: required by a bound in `pyo3::callback::convert`
   --> /home/xuanwo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.21.2/src/callback.rs:170:8
    |
168 | pub fn convert<T, U>(py: Python<'_>, value: T) -> PyResult<U>
    |        ------- required by a bound in this function
169 | where
170 |     T: IntoPyCallbackOutput<U>,
    |        ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `convert`
    = note: this error originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)


fix: Fixes pipelinerun retrigger

Description
We are removing pipelineruns without checking if the pipelinerun failed. Im changing the flow to use CurrentSpecReport().NumAttempts to retrigger a pipelinerun.
Issue ticket number and link
https://issues.redhat.com/browse/STONEBLD-754
Type of change

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("[test_id:01] DEVHAS-62 devfile source")
[ ] I have updated labels (if needed)

/test ?

/test redhat-appstudio-e2e


[UX enhancements] amp stats

ref: #1216
amp stats command improvements to the user experience:

We should have an option to only see user deployed services and exclude the core amp services, or have it be the default option.

Agreed


uinputdriver can't handle pro controller

Hello, once compiled and launched, I get this error with uinputdriver :

USB device info:
vid: 0x057E pid: 0x2009
path: /dev/hidraw0
MAC:<PHONE_NUMBER>01
interface_number: 0
Manufacturer: Nintendo Co., Ltd.
Product:      Pro Controller
Failed to open controller at Failed to get handle for right Joy-Con or Pro Controller, exiting...

I'm on an Antergos 64bit.

You need to do this on linux:
This is because Linux doesn't have a driver for Switch Pro controllers and Linux makes the device read-only by default. Chrome can use it without a driver but it needs to send commands to the device to initialize it first.
The fix is to configure udev rules that tell Linux to make the device writeable. As root, create a file /etc/udev/rules.d/50-nintendo-switch.rules and paste these rules into it:
# Switch Joy-con (L) (Bluetooth only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2006.*", MODE="0666"

# Switch Joy-con (R) (Bluetooth only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2007.*", MODE="0666"

# Switch Pro controller (USB and Bluetooth)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0666"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:057E:2009.*", MODE="0666"

# Switch Joy-con charging grip (USB only)
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="200e", MODE="0666"

After creating the .rules file, disconnect and reconnect the controller.
Steam creates similar rules for Switch Pro, you could also try installing Steam if you don't want to mess with udev rules. Running through steam + bluetooth also works.
https://www.reddit.com/r/Stadia/comments/egcvpq/using_nintendo_switch_pro_controller_on_linux/fc5s7qm/


Revive gephysio module

Fallout from #5 has broken the gephysio module.

Peripheral data reaping has been removed entirely. The GE physio reaping code remains, but would need to be rewritten as a standalone reaper in order to be usable again. Closing until then.


Add logging data set

It would be great to have logging data set in Rally as it is an important use case for Elasticsearch. To mimic real usage it should also use multi date based indices and we should benchmark range queries, especially range queries with relative dates (i.e. "now") to see the effect of the recent query refactoring.

After a quite long search, @eskibars pointed me to http://ita.ee.lbl.gov/html/contrib/WorldCup.html, which looks promising.

Closed by https://github.com/elastic/rally-tracks/commit/05754d32aba72a7ff24ba1e5999547271354af4a (track data have been externalized with #69)


NVOffset validator is too strict

Describe the bug
NVOffset validator is too strict -- complains about setting for two games for the same table
To Reproduce
Consider this:

I have 4 cc_13 tables:

Cactus Canyon Continued (LW), NVOffset=2 (selected in screenshot)
Cactus Canyon Continued (VPW), NVOffset=2
Cactus Canyon (VPW), NVOffset=2
Cactus Canyon (VPW + DarRDog), NVOffset=2

The validation shows: NVOffset = 2 but Cactus Canyon Continued (VPW) also has the NVOffset 2
In my opinion this is correct -- both games are for table https://virtualpinballspreadsheet.github.io/?game=gBpX0hxi&fileType=table so they should have the same NVOffset.
I think the uniqueness of NVOffset should be for:

same rom
different tables (game=XXX)

Fixed with 3.10.1


Compile Error when running with DirectX Backend

The commands I did were to clone the repository, and then do
cargo r --release --example raytracing -- dx

(I also tried it with the path_tracer example)
The error is:
[2023-09-16T12:05:25Z ERROR lc-cpp] Compile Error: hlsl.hlsl:793:15: error: invalid format for vector swizzle 'v'
    l84.v2=l83.v2.v[0u];
                  ^
    hlsl.hlsl:794:15: error: invalid format for vector swizzle 'v'
    l84.v3=l83.v2.v[1u];

I tried running the callable example with the dx backend and it seems to work.
My computer is a windows 10 install with DirectX 12, with a 3080 (laptop) gpu.

I have pushed a fix

Alright, thanks!


Converts q parameter into keywords to work with Google Chrome

This means Google Chrome users will be able to
tab into a search of GOV.UK and our new finders
will be able to understand this.
Trello: https://trello.com/c/hWcX9Feo/502-setup-q-as-a-synonym-for-keywords-in-finders-m

Some failing integration tests, but otherwise looks good!


Scrolling content is shown above BoxShadow instead of below it

For some reason BoxShadow it is not being shown correctly when scrollable content need to pass below it.
Don't know hoy to explain this so here it is a full example code to reproduce the behavior/bug and two pictures:
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Bug demo',
      theme: new ThemeData(
        primaryColor: Colors.white,
      ),
      home: Home(),
    );
  }
}

class Home extends StatefulWidget {
  @override
  HomeState createState() => new HomeState();
}

class HomeState extends State<Home> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.white,
      body: SafeArea(
        child: Container(
          child: Column(
            children: <Widget>[
              Row(
                children: <Widget>[
                  Expanded(
                    child: Container(
                      decoration: BoxDecoration(
                        color: Colors.white,
                        boxShadow: <BoxShadow>[
                          BoxShadow(
                            color: Colors.black26,
                            offset: Offset(0.0, 8.0),
                            blurRadius: 2.0,
                            spreadRadius: 0.0,
                          ),
                        ],
                      ),
                      padding: const EdgeInsets.only(top: 8.0, bottom: 8.0),
                      child: Container(),
                    ),
                  ),
                ],
              ),
              Expanded(
                child: Container(
                  child: SingleChildScrollView(
                    padding: EdgeInsets.all(20.0),
                    child: Container(
                      child: Wrap(
                        spacing: 0.0, // gap between adjacent chips
                        runSpacing: 12.0, // gap between lines
                        children: linesArray(),
                      ),
                    ),
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }

  List<Widget> linesArray() {
    List<Widget> lines = List<Widget>();
    for (var i = 0; i < 10; i++) {
      lines.add(
        Row(
          children: <Widget>[
            Expanded(
              child: Container(
                height: 100.0,
                color: Colors.yellow,
              ),
            ),
          ],
        ),
      );
    }
    return lines;
  }
}

EDIT: This is happening both on iOS and Android :)
Picture 1

Picture 2 (the bad behavior) Yellow rectangle must be shown below shadow, not above.

This is happening both on iOS and Android and even if I use Card instead of a Container with BoxShadow.

Similar to #17636

Hi ;-)
For me Container's box shadow works only if items count fit inside the screen (without scrolling)

Still persists. Flutter master v1.16.3-pre.58

Just ran into this myself.

I opened this issue on Oct 2018. It's still happening :)

Verified using latest versions and observed that behavior persists.

 stable, master flutter doctor -v
[✓] Flutter (Channel stable, 3.3.8, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.3.8 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 52b3dc25f6 (25 hours ago), 2022-11-09 12:09:26 +0800
    • Engine revision 857bd6b74c
    • Dart version 2.18.4
    • DevTools version 2.15.0

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

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

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.6.0-12.0.pre.20, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.6.0-12.0.pre.20 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 02de12947a (48 minutes ago), 2022-11-29 22:57:31 -0500
    • Engine revision d5690468da
    • Dart version 2.19.0 (build 2.19.0-443.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

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

! Doctor found issues in 1 category.

Any update on this? Still not finding a solution, at least not a clean one, and not readily.


serializerSettings with v3 client

In the previous v2 version I could pass serializer settings to the client. With the new v3 client, it's not so clear how to do that
So I could do something like:
var serializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };

this.client = new DocumentClient(new Uri(this.options.CosmosDbEndPoint), this.options.CosmosDbKey, serializerSettings: serializerSettings);

How do I do this with v3? I've had a look at the docs and the API, I can see an options object with a serializer parameter on it, but I can't figure out how I could configure it as above?

@coffeymatt we removed settings and added the ability to have completely custom serializers in v3.
CosmosClientOptions.Serializer
This is the SDK's default serializer.

@j82w This seems like one step forward, two steps backward. Should you not provide some mechanism to provide settings the default serializer?
Otherwise what I can do with one line of code above now will require me to create a custom serializer.

That's a good point. I don't see any reason that can't be supported.  I created an issue to support it.


MySQL, SQLite: Better ForeignKeyConstraintViolation error message

If you e.g. can not delete an entry because of a constraint, you get this error:
MySQL:
PrismaClientUnknownRequestError:
Invalid `const deletedUser = await prisma.user.delete()` invocation in
/Users/janedoe/cascasing-deletes-demo/index.js:16:49

  12   },
  13 });
  14
  15 try {
→ 16   const deletedUser = await prisma.user.delete(

Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: ForeignKeyConstraintViolation { constraint: Fields(["author"]) } })
    at PrismaClientFetcher.request (C:\Users\Jan\Documents\prisma2-docs-demos\cascading-deletes\mysql\node_modules\@prisma\client\runtime\index.js:1:51487)
    at processTicksAndRejections (internal/process/task_queues.js:85:5)

SQLite:
Invalid `const deletedUser = await prisma.user.delete()` invocation in
C:\Users\Jan\Documents\prisma2-docs-demos\cascading-deletes\sqlite\index.js:16:49

  12   },
  13 });
  14
  15 try {
→ 16   const deletedUser = await prisma.user.delete(

Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(SqliteFailure(Error { code: ConstraintViolation, extended_code: 1811 }, Some("FOREIGN KEY constraint failed"))) })
    at PrismaClientFetcher.request (C:\Users\Jan\Documents\prisma2-docs-demos\cascading-deletes\sqlite\node_modules\@prisma\client\runtime\index.js:1:51487)
    at processTicksAndRejections (internal/process/task_queues.js:85:5)

This could be nicer.

CREATE TABLE `CascadingDeletesDemo`.`User` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `name` VARCHAR(256)
);

CREATE TABLE `CascadingDeletesDemo`.`Post` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `title` VARCHAR(256),
  `author` INT,
  CONSTRAINT `author` FOREIGN KEY (`author`) REFERENCES `CascadingDeletesDemo`.`User`(`id`) ON DELETE RESTRICT
);

model Post {
  author Int?
  id     Int     @default(autoincrement()) @id
  title  String?
  User   User?   @relation(fields: [author], references: [id])

  @@index([author], name: "author2")
}

model User {
  id   Int     @default(autoincrement()) @id
  name String?
  Post Post[]
}

const { PrismaClient } = require('@prisma/client');

const prisma = new PrismaClient();

async function main() {
  const userWithPost = await prisma.user.create({
    data: {
      name: 'Alice',
      Post: {
        create: { title: 'Hello World' },
      },
    },
  });

  try {
    const deletedUser = await prisma.user.delete({
      where: { id: userWithPost.id },
    });
  } catch (e) {
    console.log(e);
  }
}

main();

We haven't had any additional requests for this in the last 3+ years, so it is safe to say that this is not the most pressing need. As we have hundreds of issues where we do get constant feedback and upvotes, it is not realistic for us to prioritize this one any time soon, sorry.
I am closing this issue for now. If someone has a dire need for this, please comment below or open a new feature request. Thank you.


Bump ring to 0.2.6 to fix Oauth issues

Breaking Change:
Bump Ring to 0.2.6 version
Description:
Upgraded Ring component to address oauth issues.

Needs to fix another problem and then I'll reopen it.


Design of interaction between GRE, vxlan and IPSec needs to be rethought

Note: the issue was created automatically with bugzilla2github tool
Bugzilla Bug ID: 96
Date: 2016-09-21 11:36:32 +0200
From: Dan Lilliehorn - Enea<EMAIL_ADDRESS>To:   Sorin Vultureanu<EMAIL_ADDRESS>Last updated: 2016-09-21 11:36:32 +0200
Bugzilla Comment ID: 182
Date: 2016-09-21 11:36:32 +0200
From: Dan Lilliehorn - Enea<EMAIL_ADDRESS>

The biggest problems and limitations regarding fragmentation of tunneled packets and regarding nested tunneling were fixed by the following commits:
fdb6f35 Do fragmentation before tunnel encapsulation.
5859c84 Recurse back to ofp_ip_output() after VxLAN encapsulation.
cc4df42 Recurse back to generic IP output after GRE encapsulation.
As the original complainer about the problems I think this is enough to close this issue even though there are certainly more cleanup opportunities in the code.


Fixd the typo in pruning.md

I installed intel-extension-for-transformers for pruning a whisper model. While following the pruning.md in the docs, I tried running the import statements to make sure that the installation is working well. I tried running the code
from intel_extension_for_transformers.optimization import metric, objectives, PrunerConfig, PruningConfig, but I was getting an error
ImportError: cannot import name 'metric' from 'intel_extension_for_transformers.optimization' (/home/___/anaconda3/envs/nlp/lib/python3.10/site-packages/intel_extension_for_transformers/optimization/__init__.py)
I thought maybe it's some problem installing with pip, and I uninstalled it and starting installing from scratch, but I was again getting the same error. It was only when I went into the source code, I realised that in the code snippet given in the github, metrics is written as metric which was caused me some frustration. Creating this pull request so that other's may not face this issue.
Have a nice day :)

@hardikkamboj please check DCO details and use "git commit -s" to sign off

@hardikkamboj Could you please fix the issues reported by spell check? You should also sign off your change using "git commit -s" (more details in https://github.com/intel/intel-extension-for-transformers/pull/77/checks?check_run_id=16010728329).


Host has two buttons for either closing the game or restarting the game, which leads to the lobby view

9018761ad2766a1b42d182f8596c94ca5a0032cf


Different settings for quotes inside selector vs values ?

Hi,
First of all, thanks for the great work!
Is there a way to have single quotes for declarations/properties
attribute-quotes: 1
quotes: 1

and to allow double quotes for attributes selectors?
[type="text"] {}

Actually, I get this message
Strings must use single quotes  quotes

Thanks a lot!

What version of Sass Lint are you using? 1.10.2
Please include any relevant parts of your configuration
  quotes: 1
  attribute-quotes: 1

What did you do? Please include the actual source code causing the issue.
[type="text"] {}

What did you expect to happen? no error
What actually happened? Please include any error messages given to you by Sass Lint.  Strings must use single quotes
If you're using a IDE plugin have you tried the CLI too? Yes, both

As mentioned here another option would be to use quotes only for values (traverseByType('value'), then check 'string' types) and use attributes-quotes with a new style property…

Finally, doesn't make sense to mix single/double quotes in my sass files (as CSS support both).


1462 make sure geocoder ui sends correct queries

@xavijam CR this, please. It fixes #1462 , you have a LONG discussion with for more information.
Additional info for QA test:

What has changed:

Only the pattern sent to the backend for high-resolution geolocation.

What I think should be tested additionally, at least:

Smoke tests about high resolution geolocation.
High resolution geolocation request with close data: a couple of points in the same street should be located close but not together.
High resolution geolocation request with not high resolution information: a couple of rows in the same street, without number, must be placed together.
High resolution geolocation requests with different combinations of fields for correct data. Results should be "good enough".

5 fields.
4 fields.
3 fields.
Every combination of 2 fields.

High resolution geolocation requests with wrong data: nulls, not maching (numbers in country field, for example...). Geolocation must not work, but in a user-friendly way.

There's no need for bulk testing,

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

Retest this, please.

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)


[GH-#417] Multi node test framework

resolves #417
Multi node test framework has such functionalities:

The state that keeps the important information about each node.
state = %{
process_port: process_port,  #  Process port to send commands to the node
path: tmp_path,
port: port,  # Server port
sync_port: sync_port,  #  Sync port
top_block: nil,  #  Top block structure (updated every time the function get_node_top_block is called)
peers: %{},  #  Map with information about peerrs (updated every time the function get_all_peers is called)
 registered_oracles: %{},   #  Map with information about registered oracles (updated every time the function registered_oracles(node_name) is called)
oracle_interaction_objects: %{}
}

Adding any number of nodes: they are copied to the temporary folder and with the port that is different from the port of the calling node.
Function: Aeutil.MultiNodeTestFramework.new_node(node_name, port, sync_port)

Send commands to the nodes using Port module: the command that is sent will be executed in a specified node iex shell with the respond. For now the respond is shown using IO.inspect. But this will be changed, I just want some suggestions how to make it better.

Function: Aeutil.MultiNodeTestFramework.send_command(node_name, "Aecore.Chain.Worker.top_block")

There are already written all types of txs with the parameters taken from the tests and all frequently used functions like mine_sync_block_to_chain. So calling these functions you just need to specify the node name.
Examples:
Aeutil.MultiNodeTestFramework.spend_tx(node_name)
Aeutil.MultiNodeTestFramework.mine_sync_block(node_name)

The nodes can be synced and after that compared by their top_block. The top_block is written to the state every time the function get_node_top_block or compare_nodes is called.
Example:
Aeutil.MultiNodeTestFramework.sync_two_nodes "node1", "node2"
Aeutil.MultiNodeTestFramework.compare_nodes "node1", "node2"

The functionality to delete node releasing it's port and deleting the temporary folder.
Function: Aeutil.MultiNodeTestFramework.delete_node(node_name)

@0legIv will you merge master and resolve ci issues?

I think that You can avoid sleep if You handle properly the responses in the handle_info. From what I see Port requires a pid where to send back the response. In fact You are using already handle_info to log errors.
I also see that Port provides monitoring, so You can use that as well if something goes wrong and the os terminate the process. This is what I'd try to do.

@thepiwo Yes, I have some errors in the tests now, I'm solving them

I'll close this until the issues are resolved, reopen when ready for review


distintUntilChanged: new overload missing in bundle

Describe the bug
Definition of the new overload
export function distinctUntilChanged<T, K>(
comparator?: (previous: K, current: K) => boolean,
keySelector: (value: T) => K = identity as (value: T) => K
): MonoTypeOperatorFunction
is not generated in the bunde (rxjs/dist/types/internal/operators/distinctUntilChanged.d.ts)
Expected behavior
Have it with the other ones:
import { MonoTypeOperatorFunction } from '../types';
export declare function distinctUntilChanged<T>(comparator?: (previous: T, current: T) => boolean): MonoTypeOperatorFunction<T>;
export declare function distinctUntilChanged<T, K>(comparator: (previous: K, current: K) => boolean, keySelector: (value: T) => K): MonoTypeOperatorFunction<T>;
//# sourceMappingURL=distinctUntilChanged.d.ts.map

Reproduction code
No response
Reproduction URL
No response
Version
7.8.1
Environment
No response
Additional context
No response

I am facing the same problem

If you analyze the source you will see
export function distinctUntilChanged<T>(comparator?: (previous: T, current: T) => boolean): MonoTypeOperatorFunction<T>;
export function distinctUntilChanged<T, K>(
  comparator: (previous: K, current: K) => boolean,
  keySelector: (value: T) => K
): MonoTypeOperatorFunction<T>;
export function distinctUntilChanged<T, K>(
  comparator?: (previous: K, current: K) => boolean,
  keySelector: (value: T) => K = identity as (value: T) => K
): MonoTypeOperatorFunction<T>

the first overload is just the comparator,
the second one is the comparator and the key selector which means you can have two objects as T and property keys as K, which would be returned by the second argument which is the keySelector function.
The third overload is the implementation
The implementation signature must also be compatible with the overload signatures
so in this case it is having a default value of identity which is a function returning the argument
export function identity<T>(x: T): T {
  return x;
}

So in this case you don't need it actually
And also that's how typescript work.
Official typescript
`
Again, the signature used to write the function body can’t be “seen” from the outside.
The signature of the implementation is not visible from the outside. When writing an overloaded function, you should always have two or more signatures above the implementation of the function.
`


Using Relative paths

relates to fog/fog#3430

Thanks :smiley:

released as v1.0.1

Wow. Thank you for the fast reply @sawanoboly. :heart:


Add post() examples to the README

I have to look up how to do a POST request every time, for JSON and
x-www-form-urlencoded.
Many of the existing examples duplicate themselves, so I figured we
could change some of them to demonstrate the different ways to send a
POST request without changing the flow too much.

Thanks, saved me some time! Please merge!

Thank you @kevinburke for your contribution.
It will be merged into v3.1.0


Add woker_tid to tooltip

Changed a couple of protobufs to send info about which tid and pid caused a thread to turn from an interruptable sleep state to runnable state. If you hover over the blue slice of a thread X, the tooltip will show the tid, pid, thread name, and process of the thread that has woken thread X.
P.S: That information is only shown when available.
Bug: http://b/235541501
Screenshot: http://screenshot/3MgxdfCE7AXJaFt.png

I'm also going to ask @dpallotti  for a review due to the ThreadStateManager changes.


Windows don't always get rersized correctly, rotating fixes them

I'm not really sure how to go about debugging this, but I often have windows open and get placed as larger than the space they should be taking, if I rotate the open windows once they are back in the same orientation the offending window will be sized correctly now.

meh.. the macOS accessiblity API that we rely on is just garbage.
Will see if I can find a way to reliably reproduce this and try come up with a usable solution.


[FEAT]: main web page

Description
Make a main web page for the https://go-skill-icons.vercel.app website idk if its a error but i think you just don't have a main web page
Additional Information
No response
Code of Conduct Acknowledgment

[X] I have read and agree to the Code of Conduct.

Description
Make a main web page for the https://go-skill-icons.vercel.app website idk if its a error but i think you just don't have a main web page
Additional Information
No response
Code of Conduct Acknowledgment

[x]  I have read and agree to the Code of Conduct.

it's not an error, currently main website is under development when it's done it will be released, you can find more here #101

duplicate of #101


SIL: Utilities for calculating and verifying memory lifetimes.

In analogy to the ownership verifier, the MemoryLifetimeVerifier checks the lifetime of memory locations.
It's based on MemoryLifetime, which is a general utility for calculating the lifetime of memory locations. It can be used by optimizations, which need to compute memory lifetime.
Memory locations are limited to addresses which are guaranteed to be not aliased, like @in/inout parameters or alloc_stack.

@swift-ci test

@gottesmm @atrick Thanks for reviewing. I pushed a new version: I split the MemoryLifetime utility into 2 separate ones. This addresses your comment about inheritance and also makes the utilities more flexible to use.

@swift-ci test

@swift-ci test

@eeckstein Thanks. That reorganization makes it even more clear how well each of the three classes are nicely decoupled, and a fair amount of the declarations have moved into the .cpp file. Ultimately, I think you as the author need to be happy with it.
One more style suggestion for class MemoryLocations. I find it easiest to read and work with class layouts in this form:
class MemoryLocations
public:
  /* exposed types */
private:
  /* state */
public:
  /* ctor/dtor/copy, need to quickly eyeball that it covers state and keep it up-to-date with state */

 /* public interface, which we often refer to */

protected:
 /* internal interface that no one looks at unless they're hacking on the implementation.
}

@swift-ci smoke test and merge

@swift-ci smoke test and merge


getText() -> readText()

See comment:
https://plus.google.com/112150855976116854237/posts/LV146hQhrDT

Whoops!
There were 4 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2018/03/clipboardapi.md#L5 - WF Tag 'wf_updated_on' must be within the last 7 days.
src/content/en/updates/2018/03/clipboardapi.md#L21 - Line must be at most 100 characters
src/content/en/updates/2018/03/clipboardapi.md#L46 - Line must be at most 100 characters
src/content/en/updates/2018/03/clipboardapi.md#L49 - Line must be at most 100 characters

:tada: This has been pushed live to https://developers.google.com/web/


Getting Sync failed: failed to unlock correct collection '/org/freedesktop/secrets/aliases/default' error

I've installed snipkit with apt on my Ubuntu 20.04 server, then I got the following error..
Syncing all managers...
⣽  Syncing GitHub Gist...
Checking gist.github.com/Jason202268
Sync failed: failed to unlock correct collection '/org/freedesktop/secrets/aliases/default'
✗  Sync did not finish.
Any insight?

Hi @ZhichaoDuan ,
please run the command on trace level: snipkit manager sync -l trace, then provide the contents of the latest log file (<SNIPKIT_HOME>/.log/log).
The output from snipkit info may also be beneficial.
Thanks!

Thanks for your reply. Here is the output of the log
12:20:12 DBG 1 config/service.go:77 > SnipKit Home: /home/duanzhichao/.config/snipkit
12:20:12 TRC 1 ui/themes.go:63 > Chosen theme: default.light
12:20:12 TRC 1 ui/themes.go:63 > Chosen theme: default.light
12:20:12 TRC 1 ui/tui.go:107 > Color profile: 1
12:20:12 INF 1 managers/provider.go:53 > Number of enabled managers: 1
12:20:12 TRC 191 githubgist/manager.go:89 > github gist sync started
12:20:12 ERR 191 githubgist/manager.go:94 > error="Sync failed: failed to unlock correct collection '/org/freedesktop/secrets/aliases/default'" Sync failed

Here is the info:
Config path: /home/duanzhichao/.config/snipkit/config.yaml
SNIPKIT_HOME: /home/duanzhichao/.config/snipkit
Theme: default
GitHub Gist enabled: true
GitHub Gist number of URLs: 1
GitHub Gist total number of snippets: 0

I love this tool and really look forward to solve this!

I was a bit stuck on this -  but as it turns out, this issue is related to https://github.com/zalando/go-keyring/issues/116
This has been a bug of go-keyring for a couple of months now. To my knowledge, there aren't any good alternatives to this library. For the time being, I will solve this as many other projects by storing the access token for github in file.
This will be an opt-in workaround and removed as soon as the related issue is fixed.

This is resolved for the time-being with release 1.6.0


Views cache path

Why do you need ../views/cache?

This was originally a way to use the templates in the root of the theme (typically WP theme files) via the Blade Compiler I was using. It did not work with templates outside of the templates folder.


Suggesting auto fixes for violated parts to fix reports issued by rules

Suggesting code fixes for violated parts in the code base could be a nice add-on for detekt and its users/integrators.
I know that we decided (with good reasoning) to not mess with user code. Anyway, this is a different story, since this feature doesn't mess with source code without any user intervention.
It's nice for 1st time contributors to exactly notice, what has triggered a violation and how to fix the issue.
Since this allows to fix issues automatically with the help of GitHubs auto suggestion feature, for instance, this could lead to new plugins or use cases for detekt's users and integrators.
Auto fixes are one of the most awesome things for code reviews and saves time for the human reviewer.
For instance, the following rule could be a good starting point.
issue: LineEndsWithWhitespace
- println("Hello World")
+ println("Hello World")

Thinking about detekt, which is the difference between suggesting auto fixes and auto fix the code? I mean, which is the different in the output of detekt? Instead of change the code create diff files that you could apply to the code if you like them?
After reading your suggestion in the other PR I hacked around a bit and I wrote this: https://github.com/BraisGabin/seshat it is just a prove of concept.
This is a backend that receives a diff file and transforms it to comments in a PR as code sugestions. And it works: https://github.com/BraisGabin/ktlint-bot-playground/pull/1 (the comment was writted by the code in seshat)
The idea:

Run your code formatter/fixer in your CI
git diff > information.diff
Upload the information.diff to a github app
The github app parses the file and comment in the PR the changes done by the code formatter/fixer

The good part of this is that it works for any tool you want and any language. This is just a prove of concept I don't know if I'll continue with it.

This is just a prove of concept I don't know if I'll continue with it.

I really like the idea. I was also looking for something like that and I haven't found much around. Happy to see that there is development on this side 👍 Happy to support making this a production ready tool.

To bring this in a production ready state I think detekt has to assert the reported locations in the code by our rules more thoroughly.  I once formulated this in issue #2087.
@cortinico thanks btw for your awesome support. 🙂

An incubation in the detekt group could be an option to make this tool more visible and attract some contributors similar to the detekt-compiler-plugin.

Does the project fit in detekt? I mean, the visibility that detekt can give is great, but I think that the goals are different. Just as an example, right now I'm using ktlint as the first integration. detetk doesn't have a option to provide fixes (or suggestions) yet.
And the detekt focus is kotlin. This project is language agnostic. Any tool that edits text files could be integrated here.

Happy to support making this a production ready tool.

We can write a roadmap and see how to make this production ready. PRs or similar have little sense right now because the project is a real mess. Single backend file. Bad naming. No architecture. Bad practices. 0 security... It needs to be refactored completely.

I worked a bit more in the project. Progress:

Now the messages are sent by the Github App instead of my own account.
I have a fully functional workflow installed in this repository. If you open a PR to that repo with a kotlin file that doesn't follow the ktlint guidelines you will get an automatic message with the suggestion to fix it.

But there are a lot of things missing:

Error handling
The code in the backend project is a mess. Single file backend.
I need to try the annotations in the checks API they seem the perfect match. But I don't know if they support suggestions.
Right now it's kind of difficult to intergrate this in a repo: You need to install de Github App and you need to create the workflow. It would be nice to have a web console where you can decide in which repo you want to use this tool. Then the console will ensure that you have the Github App installed and will create the workflow for you.

Instead of change the code create diff files that you could apply to the code if you like them?

Do you mean that the user sees the original file and a copy, which contains the auto fix? Afterwards, the user can decide, whether the suggestion should be applied. The diff can also be uploaded to GitHub in order to show the proposed changes. Do I understand you correctly?

Yes, what I mean with this is: How can we do detekt "suggest" the changes? The cli should create some output. The easiest one is to edit the code with the actual "suffestion". This is nice because you have git to show you the differences. But, as you say, this has serious trust problems.
The other output that I can think of is create diff files. One per issue (or just one, or one per file). This way we don't touch the code. But the change can be applied if the user wants really easy: patch < unusedPrivate.diff. The problem is that review diff files is bit difficult if you don't have other tools. I think that we could expand our html report to have the suggestions too. And even a button to add to the clipboard the command that you need to run to autofix that issue.
Does this have sense? Any other idea about the output format for this? I think that the output should work without github but should be expandable to allow any other tool to use it. I don't know if there is any standar around this. Something like checkstyle for report issues.

@BraisGabin do you still actively work on this project? I think it's a hidden gem, which should gain more visibility in the detekt ecosystem. 🙂

No really. I still think about it but I didn't implement anything new in 8 months.

Do we still want this? Should we add the "help wanted"?

I think that we should talk about the "auto-correct" feature in detekt and how do we want it to work in 2.0
We know that it introduces issues in the core of detekt:

If we fix first and the run the "normal" issues some rules could receive a "corrupted" KtFile
If we fix at the and the reports aren't correct because the text position change

I still think that detekt should only provide patch files and let the user apply them. We could create a task to apply them all.
But even with that in mind, right now we have false positive and false negatives that we need to fix. If we add the "suggestions" this project will require even more maintenance and I'm not sure if we are able to provide that.
So I would vote to think if we want to change our curren "auto-correct" from modify directly files to generate .patch files. But I wouldn't implement that feature to any of the default rules that we provide for now.

Adding to the milestone work for 2.x

So I would vote to think if we want to change our curren "auto-correct" from modify directly files to generate .patch files. > But I wouldn't implement that feature to any of the default rules that we provide for now.

I really like this idea! I tried to think on how it could look if integrated into Detekt — I mean an actual user-visible API.
My thoughts were that to produce a .patch (diff -u) output detekt would need to know before/after state.

"Before" state is known, in each Rule there is a KtFile which is passed for e.g. preVisit/postVisit
"After" state has to be provided by the rule author, but how exactly?

Should this be a mapping from old AST elements to new ones like
class MyRule : Rule() {
  override fun buildAutoCorrectChangeSet(): Map<KtElement, KtElement> {...}
}

And then Detekt would apply these changes by iterating through KtFile elements replacing some of them using the provided mapping and then calling ktFile.text() on the source and the result and diffing?
But doing this with mapping will be a bit noisy and clumsy to specify I guess.
Maybe instead simply ask the rule author to provide a whole KtFile where they apply changes to any part of it they wish?
class MyRule : Rule() {
  override fun buildAutoCorrections(source: KtFile): KtFile  {...}
}

Won't this be hard too? Because this would split my work as a rule author: first I do some clever AST tricks to find errors and then in a completely separate function I must... do them again, but a bit different this time? Maybe it would be nicer to somehow append intended auto-corrections at places where I do my report(...) calls? But so far I didn't think much on how this could be done and how ergonomic this would be.
These are my rather raw thoughts, maybe you did discuss other approaches? I'd be interested to hear about them!

@dimsuz No discussion regarding solution approaches for this issue has been started. If you are interested, you could look way back into the git history to investigate the approach back then, where native detekt rules were included in the default package.

No discussion regarding solution approaches for this issue has been started

Actually my intention with the previous post was to try to start it :)
I didn't know detekt already had an auto correction take prior to the last one. I'll try to investigate.

The first option, the one that does both things at the same time is what ktlint does and I think that's a good way to do it. A boolean that decides if you should also do the change or not.
The difference here is that ktlint doesn't report issues if the autofix is provided and in our case I'm not sure if that would be true. Probably we will create the report and the fix. Both at the same time.
Also I'm not sure how the diffs should look like.

One diff per issue
one diff per rule
one diff per run (all the fixes of all the rules applied at the same time)

Thanks, I'll study how ktlint does this (didn't think to look it up!).

Also I'm not sure how the diffs should look like.

Personally I'd prefer a "one diff per run option", because my goal would be to do something like this on CI:
$ detekt --autofix > patch.diff
$ patch -i ./patch.diff

Thanks, I'll study how ktlint does this (didn't think to look it up!).

You could also take a look on how detekt implemented it in earlier versions. Note that detekt included auto correction natively for detekt rules. Back then, we didn't have a ktlint integration.


Add Boolean and Number types

It seems Boolean and Number were missing from declaration.
Also, I fixed a duplication within SingleToken.ts
Probably, linting and formatting are off.
I could not run the pre-commit hook for a reason I can't explain.

Sorry for the spam, typo renaming the branch...


Havardpe/improve tensor conformance testing

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.
@arnej27959 please review
This is only the first step, more to come soon

15:10:10 C++ exception with description "This is an invalid model. Error in Node: : No Op registered for Cast with domain_version of 13" thrown in the test body.
PR build broken due to mysterious onnx runtime downgrade since yesterday


Fixed issues 11 through 14.

Added a more informative error message when you :USE an
invalid package from DEFPACKAGE (#11).
Added an error check to FIND-SYMBOL so it can generate a non-cryptic
error message (#12)
Added a missing quote so that code that uses uninterned symbols in
the :IMPORT-FROM clause of DEFPACKAGE will work (#13)
Implemented FILE-NAMESTRING (#14).

Hello @heegaiximephoomeeghahyaiseekh. Can you split each fix into a separate commit? Let me know if you need help with git to do that.


Programmatically set connection limit instead of using configure

Details can be found in #254

:white_check_mark: Build ServiceBusExplorer 4.1.0-PullRequest0255.269.build.466 completed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/6c62d4f4e4 by @)

Since SBE is sometimes used for performance testing my concern is that 50 connections won't be enough and by hardcoding it, it becomes cumbersome to change it . I see little harm in increasing it to 200. It won't affect anything unless the connections are actually used.

What happened to "increasing to 200 connections" and 👍s ?

My understanding it should have been done on PR prior to merging it.

@SeanFeldman true, but I've seen that all of you approved the PR, so I merged it. @jeremy001181 could you please create another PR to increase the max number of connections to 200? Thanks!

@paolosalvatori yeah ,there you go #257


Locations Update: New Zerg Challenges

What's Added/Changed?
9 new locations have been added.

1 New Challenge Location in HotS - Harvest of Screams

Objective Text: "Destroy unfrozen structures [0/20]"
Location: "Harvest of Screams: 20 Unfrozen Structures"

3 New Challenge Locations in HotS - Shoot the Messenger

Objective Text: "Destroy the Launch Bays [0/3]"
Location: "Shoot the Messenger: West Launch Bay"
Location: "Shoot the Messenger: Center Launch Bay"
Location: "Shoot the Messenger: East Launch Bay"

1 New Challenge Location in HotS - Domination

Objective Text: "Destroy Zagara's base without collecting 100 eggs"
Location: "Domination: Win Without 100 Eggs"

3 New Challenge Locations in HotS - Fire in the Sky

Objective Text: "Destroy Orbital Command Centers [0/3]"
Location: "Fire in the Sky: South Orbital Command Center"
Location: "Fire in the Sky: Northwest Orbital Command Center"
Location: "Fire in the Sky: Southeast Orbital Command Center"

1 New Challenge Location in HotS - Waking the Ancient

Objective Text: "Brakk Can't Destroy ANY Quillgor Biomass"
Location: "Waking the Ancient: Flawless"

Tests Completed for each new location

(If applicable) Objective failed
(If applicable) After objective failed, attempt to get credit anyways (ensure you can't complete after failing)
Objective completed
Re-entry into map after objective completion no longer presents the objective

Pairing Archipelago PR
PR-239

Could you add a check that fails the 20 structures objective if there are less remaining than required?


Escape entities

Entities in markup should be escaped.  For instance < should become <.
Example in Trac:
What does google link end up looking like?

What if it's in {{{google link}}}

Becomes
What does <a href=" http://google.com">google link</a> end up looking like?

What if it's in <tt><a href="http://google.com">google link</a></tt>

They auto-link the URL inside the escaped link markup from the first line.

When this is fixed it would be nice to still have a way to add embedded HTML within the markup.  We'll need to see what Trac does for this (does it allow it?) and match that, or come up with our own way of allowing it.  It might be a feature that should be controlled from the admin configuration for the plugin since on some wikis you will definitely not want users to be able to embed markup.


how to compress multiple images?

i did not see any documentation,  how to compress multiple images at a time?

You can't multi-select files right now.
Anyway it's a feature we need to seriously consider, because a multi-upload can take time. You need to design a progress bar, a cancel button etc...
It's for that case that I separated the "upload feature" from the "compress feature".
Feel free to create by yourself a multi-upload, and you can use the compress function into a loop and compress everything at a time.

Done in version 13+


After running 'gradle eclipse', Eclipse says The App Engine SDK appengine-api-1.0-sdk-1.9.26.jar on the project's build path is not valid and is not a directory)

I have successfully installed and configured the Gradle Google App Engine plugin for Eclipse, and I'm now able to manage dependencies without the need to commit them to source control.
However, the setup is easily broken when new dependencies are required. Running gradle eclipse regenerates the .classpath file, but there's a problem that occurs due to Eclipse needing to know the location of the installed App Engine SDK.  In order to resolve the issue, one must open Preferences -> Java Build Path -> Order And Export and then move all of the App Engine SDK libraries to the bottom while moving the installed App Engine SDK files to the top.  Moreover, the library mentioned in the error message must be moved to the absolute bottom of the list in "Order and Export".
Description	Resource	Path	Location	Type
The App Engine SDK '/Users/jem/.gradle/caches/modules-2/files-2.1/com.google.appengine/appengine-api-1.0-sdk/1.9.26/96df7122857b0b8ec0b478cb9fdac62bccdb89eb/appengine-api-1.0-sdk-1.9.26.jar' on the project's build path is not valid (SDK location '/Users/jem/.gradle/caches/modules-2/files-2.1/com.google.appengine/appengine-api-1.0-sdk/1.9.26/96df7122857b0b8ec0b478cb9fdac62bccdb89eb/appengine-api-1.0-sdk-1.9.26.jar' is not a directory)	Postfix_Calculator_TDD		Unknown	Google App Engine Problem

Each time one runs gradle eclipse, the files must once again be manually moved to the bottom.  This is a a barrier to entry for the majority of average developers who are not active participants in the open source community.
Therefore, is it possible to make this more user friendly by configuring gradle so it moves these files to the bottom by default when running gradle eclipse?  This information was incredibly difficult to find. Even finding the Stack Overflow link below, for reference in this thread, took about 30 minutes since I did not bookmark it. We should make this work smoother for folks, if possible.
Hope this helps. Please let me know if you need more details. I'm happy to help.
Additional Information:

http://stackoverflow.com/q/4992693/552792
https://github.com/GoogleCloudPlatform/gradle-appengine-plugin/issues/184

I mean #184 explains it.  The gradle appengine plugin's eclipse support is mostly generic, I don't think it plays well with the google plugin for eclipse (which largely depends on the eclipse builder).
We can try to fix this, but it's not the way it was intended to work (gpe has a different architecture).  I don't have any eclipse projects handy, but do you have a .classpath file that I can compare against.  I don't want to insert and gpe specific code in this plugin but maybe we can come up with some code that you can insert in your build.gradle that injects the appengineSDK dependency directly when running gradle eclipse.

For #184, the one thing that is missing is hot deploy, meaning that each time I change a file, the Eclipse builder reloads the dev appserver so that it doesn't need to be restarted.  With the gradle appengine plugin, the dev server must be restarted manually after each change.  Even something as simple as fixing a typo in a string requires a complete server restart.
This isn't a Gradle bug; instead, this is a lacking feature in the dev_appserver.sh command as part of Google App Engine.  Eclipse solves a problem Google failed to solve.
However, if Gradle can work with the Google Eclipse Plugin, we keep the power of both Eclipse's App Engine integration as well as Gradle's eclipse and app engine integration.
Thanks for your suggestion to write code to modify the .classpath.  I understand why you wouldn't want to put any GPE specific code in your plugin.  So I will try to see if I can write a gradle task to do this manually.  If I get it working, I'll post back here as it would make a great addition to a "Getting started with Gradle with Eclipse" article.

Yeah, so historically this plugin has been blowing away the working directory on creation of the runnable war directory : see discussion #97
Yes, please keep me updated when you get it work!


Map loading and Transform/Odom topic refactoring

This PR covers two changes to the hdl_graph_slam master.

Introduces an initial first pass of tying together the loading functionality of g2o and graph_slam within a service request endpoint.
Refactors the code slightly so that published topic frames can be easier defined in the launch files.

To the first point. We have added a load service endpoint that takes a string of the path to a map previously dumped using the dump endpoint. This is a folder that contains pose graph information and keyframes.
{
  "path": "/tmp/dumped/map"
}

This loading should be performed on a fresh start of hdl_graph_slam, and before new point clouds are received. After loading new point clouds will be used to extend the loaded map.
Of particular importance to know is that the current odometry information from the previous map generation process is not retained, ie where it figured the Velodyne frame was within the Map frame. This means that after starting a new instance of hdl_graph_slam and after loading a previous map the "current estimated position" of the Velodyne will be at the origin. This is super important because if point clouds don't then arrive and describe the same local environment, the registration to the existing map will be incorrect. There may be ways to help alleviate this problem, perhaps by providing an initial position estimate to update the internal odom estimate. However, this is a topic for future work.
An example of the std output from the loading service call.
loading data from:/tmp/dumped/map
loading pose graph...
nodes  : 11
edges  : 10
kernels: 0
loaded 9 keyframes
loaded special nodes - anchor_node: 1 anchor_edge: -2 floor_node: 8
snapshot updated
loading successful

With respect to the second lot of changes, to the topic subscriptions. These basically involved some minor modifications to the nodelet code to allow additional parameters to be passed into the node to configure the transform frame names. Basically, just to remove hardcoded values like "/odom" so we can avoid conflicts when integrating with other systems on the robot.

@koide3, I might be interested in these changes, so I can wrap up the work of merging this PR. Is this something that still interests you?
I was looking at the code in here, and I am wondering if you have any reasoning of what the anchor_edge means when we save or load a map. It seems that every edge that we create has an id = -2 (I added prints to my code), so it doesn't seem to be relevant for anything. Would you have a different interpretation for it?

Hey guys, apologies for neglecting this. I moved into a different role and didn't have time to continue working on it / totally forgot. My bad :).
Though it does work, this PR was more a PoC than a serious attempt at getting it working robustly. My understanding at the time was somewhat surface level, so there is certainly more that can be done to get map reuse working to a level where it would be useful in practice. From memory, some helper processes to aid in roughly aligning the map on load would go a long way. The kidnapped robot problem is still real.
I had renamed the topics to add clarity for our use context and remove contentions with other systems we were running ( We used this on a Boston Dynamics Spot in conjunction with a number of other solutions ). However, I agree it makes sense to change back.
I don't have the capability to test this anymore, but I can make the requested changes and push a new commit to the PR.

Hey @TirelessDev, thanks for coming back and making some new commits. Let me know when you're done with new commits, I can test them for you with some test bags.
And you did clarify the question on my mind, as this isn't solving the kidnapped robot problem yet. Still, it is a good step in the right direction. I will see if I can find some time to work on that once this PR finally merges

@marcelinomalmeidan Not a prob; it should be up to date with master now and have those default names reverted.
Adding the extra /hdl_graph_slam prefix to the topics was simply a compatibility thing. I was testing numerous slam solutions at the same time. HDL graph slam was my favourite :)
Yeah, as mentioned in the PR, the robot needs to be in a very similar position and orientation when booting up for the map to converge correctly. Practically this wasn't an issue for us, as Spot always returned to the same spot to charge. However, one of the interesting drivers for map reuse for us was actually map sharing and map collaboration. While finding kidnapped robots in SLAM maps is an entire research topic, there are practical ways that the problem can be worked around. Having solid anchors ( QR codes ) in the map to help localise and provide an initial pose correction would probably be the easiest. However, the map as it stands would need to be extended to support this sort of anchor. Alternatively, such behaviour could be sideloaded to a different service quite easily.
So much potential, so little time.

Wow, thanks guys for your work!  I'll make time to review and approve the PR in a few days.

The code now looks good to me, and I did a quick test in my environment . I'll merge this PR once the last issue pointed by @marcelinomalmeidan is fixed.

@TirelessDev ping :-)

Not a problem. Sorry for missing that final semicolon. There is always something, looks like you caught it in the merge though.

@TirelessDev thanks for finalizing the PR!
@koide3 you're very welcome!


Remove unused string completion code

PR Summary
Removes unused code for completing members in double quoted strings.
The idea seems to have been that users would have been able to enter a variable, or literal type in a double quoted string and tab complete the member to auto convert it into a subexpression like this:
"Hello$MyVar.<Tab> -> "Hello$($MyVar.MyMember)
"Hello[string]::<Tab> -> "Hello$([string]::Empty)

But the actual code isn't working.
An obvious alternative to removing the code would be to fix it but I've never seen anyone request this and it doesn't seem very useful to me.

PR Context

PR Checklist

[X] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[X] Summarized changes
[X] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[X] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[X] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[X] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[X] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[X] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

I'd prefer this work and in @"" too.

@iSazonov (and @fflaten since I see you gave a 👍) do you care about the type literal member completion? Or is it just the variable member completion you would like to see? There wouldn't be any completion for the type literal itself so you would have to enter the whole typename yourself before the member completion would be able to change it to a subexpression.
As for the here-string completion, that's definitely out of scope for now as I'm waiting on my proposed here-string syntax changes to either get merged or rejected.

Variable member completion for me

I mainly mean that if PowerShell allows code between double quotes, then it would be logical to expect IntelliSense to work exactly the same as in normal mode.

@iSazonov Well, that's just the thing. PowerShell doesn't allow that syntax inside strings, you need a subexpression, and inside subexpressions the tab completion works as you would expect. This is just "magic" code that infers that the user probably wants to access a member so it adds the subexpression for the user.

The changes indicate that the isQuotedString parameter is never passed in a true value, making all related code not used. Given that this targets an uncommon scenario, I'm fine with removing the dead code to reduce complexity.

Yeah I'm inclined to agree. Especially since removing the method isn't causing any build errors so we're not missing another invocation (and the compiler wouldn't be calling this with reflection so we're safe there). LGTM


build/tests  ERROR

When I set up all the stuff and run build/tests I got this:
tests is a Catch v2.0.1 host application.
Run with -? for options

-------------------------------------------------------------------------------
RGB Image
-------------------------------------------------------------------------------
/home/victor/Downloads/vln/regretful-agent/src/test/main.cpp:302
...............................................................................

/home/victor/Downloads/vln/regretful-agent/src/test/main.cpp:308: FAILED:
  REQUIRE_NOTHROW( sim.init() )
due to unexpected exception with message:
  OpenCV(3.4.4) ../modules/highgui/src/window_QT.cpp:1665: error: (-218:No
  OpenGL support) Library was built without OpenGL support in function 'CvWindow'
  'CvWindow'

===============================================================================
test cases:      5 |      4 passed | 1 failed
assertions: 118336 | 118335 passed | 1 failed

**Note 1:** have already installed OpenGL
glxinfo | grep "OpenGL version"
OpenGL version string: 4.6.0 NVIDIA 410.93

**Note 2:**  opencv version: 3.4

I am using Ubuntu 16.04, python 3.6 in the r2r virtual environment created by anaconda.
But it dones't influence on the following mini training test or the whole training stuff.

You should build opencv with OpenGL, and cmake with following command "OpenCV_DIR=you/opencv/build/ cmake .."

Hi,
Thanks for reporting the issue.
I agree with @DecenWill. This seems to me like an issue with OpenGL support for OpenCV.
And this is primarily due to the fact that OpenGL rendering is not associated with your OpenCV. If you would like to use OpenCV associated with your virtual environment, please refer to here:
https://github.com/chihyaoma/regretful-agent/blob/master/Install_macOS.md#install-opencv-from-source-within-anaconda-environment
This was originally prepared for macOS installation, but I also showed how you can compile OpenCV with OpenGL support. Those should be the exact same command for Ubuntu as well.
Note that this error with OpenGL won't affect the training at all since we are not using OpenGL rendering during training.

I have encountered the following error from unittest with EGL build, any idea to resolve?
/root/mount/Matterport3DSimulator/src/test/main.cpp:350: FAILED:
REQUIRE_NOTHROW( sim.initialize() )
due to unexpected exception with message:
EGL error 0x300c at eglGetDisplay
===============================================================================
test cases:      5 |      4 passed | 1 failed
assertions: 119187 | 119186 passed | 1 failed


resizability & min/max dimensions

Original: https://github.com/tomaka/glutin/issues/681

It appears that this might be two separate issues:

We need a resizable flag for creating windows
with_min_dimensions and with_max_dimensions include the window border on (at least) Windows, which is likely a bug.

Closing in favor of #540
Fixed by #444 (it's actually still an issue on macOS, but a fix for that is shoved into my upcoming DPI PR)


CU-mt6x39_Improve-ranged-enemies-flee-behavior

Task linked: CU-mt6x39 Improve ranged enemies flee behavior


Fix the logo in the react icons README.md

Describe the bug
The logo in the react icons README.md is not showing up.
Expected behaviour
Ideally, there should be a logo instead of the alt text.
Screenshots

Additional context
This issue has been opened as discussed in PR #289 and please assign this to me as a part of GSSOC23
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@kartikjoshi267 assigning this to you


Add methods for converting trajectories between different (but equivalent) state spaces

We need to be able to plan trajectories for one MetaSkeleton in MetaSkeletonStateSpace, while being able to execute them in different but equivalent state spaces. This is important for pipelining planning and execution: since trajectories are tied to a specific state space (a MetaSkeletonStateSpace for a MetaSkeleton in a specific World), trajectories from the planning environment cannot be executed in the execution environment.
This should probably have better error-checking to prevent converting between incompatible StateSpaces. Without knowing the exact type of the StateSpace, is the best thing I can do here just compare the dimensions? Is it fair to assume that the two spaces will always be a MetaSkeletonStateSpace? (When else would one need to convert the state space into an equivalent one?)
I'm open to better suggestions, but this is the best way that I've thought of so far.

Before creating a pull request

[x] Document new methods and classes
[x] Format code with make format

Before merging a pull request

[x] Set version target by selecting a milestone on the right side
[ ] Summarize this change in CHANGELOG.md
[ ] Add unit test(s) for this change

Hmm, I need to think a bit about how we are ending up a situation where we have multiple Statespaces that are identical.
Is there something going on where the Statespaces should be immutable objects that are passed by reference when cloning occurs?  @mkoval?

This is a fundamental issue beyond MetaSkeletonStateSpace. Aikido currently enforces that a State may only be used with the StateSpace instance that created it. In theory, this means that it is not valid to pass a state created by one R<3> instance to another R<3> instance - even though they are bit-for-bit identical.
I see two possible solutions:

allow a StateSpace to operate on States from other “equivalent” StateSpace instances or
add functions to convert States between “equivalent” state spaces (this PR).

The key difference between is whether we (1) relax this requirement or (2) work around it through conversion functions. I prefer (1) because it keeps all of the nasty conversion logic, instead of scattered throughout the entire public API.
The conversion and compatibility check could look something like this:
bool Rn::convert(StateSpace sourceSpace, const StateSpace::State* sourceState,
               StateSpace::State* destinationState)
{
  auto sourceSpaceRn = dynamic_cast<const Rn*>(&sourceSpace);
  if (!(sourceSpaceRn && mN == sourceSpaceRn->mN)) return false;
  auto sourceStateRn = static_cast<const Rn*>(sourceState);
  auto destinationStateRn = static_cast<Rn*>(destinationState);
  destinationStateRn->mData = sourceStateRn->mData;
  return true;
}

In principle, this solves the problem. All we would need to do is implement a conversion function on each JointStateSpace that checks that the two Joints are “equivalent” and copies their position vector. Since a StateSpace only represent the topology of the space, we could deem two Joints equivalent if they: (a) are the same type and (b) have the same number of DegreeOfFreedoms.

However, @psigen raises a great point. It’s odd that we a MetaSkeletonStateSpace is tied to a specific MetaSkeleton, even though it only represents the topology of the state space. Putting a MetaSkeleton and Joint objects inside the space muddles this with a huge number of attributes (names, owners, etc) that are semantically important but do not affect the topology of the space at all. This seriously confuses what it means to be equivalent - which of these properties matter for a given application?
It may be worth refactoring MetaSkeletonStateSpace to be a factory that: (1) provides a factory function to create a StateSpace and (2) provides helper functions for converting between MetaSkeleton positions and the ``States. That way we could use the same StateSpaceinstance across multipleMetaSkeleton`s that have the same topology and dodge this issue entirely.
For example, the API could look like this:
class MetaSkeletonStateSpace {
  StateSpacePtr getStateSpace() const;
  void convertStateToPositions(const StateSpace::State* state, Eigen::VectorXd* positions) const;
  void convertPositionsToState(const Eigen::VectorXd& positions, StateSpace::State* state) const;

  static MetaSkeletonStateSpace fromMetaSkeleton(const dart::dynamics::MetaSkeleton& metaSkeleton);
};

In hindsight, I wish I implemented it this way originally. :sweat:

@brianhou @psigen @jslee02: Thoughts?

Aikido currently enforces that a State may only be used with the StateSpace instance that created it.

@mkoval: Do you remember why we originally went with this?  I'm trying to recall if it was an implementation constraint, or if there was a particular set of semantics we were trying to create.
It certainly seems intuitive at the moment that two R<3> instances should be able to operate on the same State, i.e. that this would be enforced at the class level instead of the instance level.
Also, I'm still not entirely clear why we need to create new instances of StateSpace so often.  It seems like we could re-use and pass around the same StateSpace instance for most cloning and planning operations (assuming we decouple the MetaSkeletonStateSpace, which seems like it really shouldn't be inheriting anyway since it's more of an adapter/wrapper from StateSpace to a MetaSkeleton's Joint positions).

@mkoval: Do you remember why we originally went with this? I'm trying to recall if it was an implementation constraint, or if there was a particular set of semantics we were trying to create.
It certainly seems intuitive at the moment that two R<3> instances should be able to operate on the same State, i.e. that this could be enforced at the class level instead of the instance level.

It's a semantic I wanted to enforce.
It's true that it's harmless to pass states between two R<3> instances because all R<3> instances are identical. The same is not true for state spaces that take runtime arguments, e.g. to support conversions between Rn instances or R<x> and Rn(x)` instances.
It gets more complicated if you think about state spaces that represent the same topology, but have different internal representations. For example, SO(3) may be parameterized by unit quaternions, spatial twists, rotation matrices, or Euler angles. It's clear what the intended result is - that all of these parameterzations are interchangeably - but it's tricky to implement that cleanly. @jslee02 tacked some of these issues in the GenericJoint refactor in DART.
The simplest solution is to only allow a StateSpace to operate on States that it creates, so that is what we did to avoid stalling development. Now we have to figure out a better solution. :grin:

I am generally in favor of keeping the "only allow a StateSpace to operate on States that it creates" semantic by adding an extra conversion function. I see two key advantages:

Knowing if a State is compatible with a StateSpace requires knowledge of what StateSpace created it (e.g. Rn::State does not know its own length)
Converting between compatible states may be inefficient, e.g. converting between a rotation matrix and a unit quaternion requires, so the conversion should be explicit.
The compatibility rules are complicated and should live in one place, rather than in every function that is part of the StateSpace's public API.

Separately, I'm still not entirely clear why we need to create new instances of StateSpace so often. It seems like we could re-use and pass around the same StateSpace instance for most cloning and planning operations (assuming we decouple the MetaSkeletonStateSpace, which seems like it really shouldn't be inheriting anyway [...]

I agree! Even without a conversion function, a lot of issues go away if we do this. We could also consider using a singleton for state spaces that take no runtime parameters (e.g. R<n>).

Ok, FWIW, I think we're on the same page here.
I think it would make sense to do the following:

Refactor non-dynamic state space (e.g. R<3>) to use singleton classes (perhaps make the constructor private and add a static .create() on the template class?
Change most planning and cloning operations to pass pointers to the same instance of the StateSpace instead of creating a new instance.

If we do these two things, then I think we largely obviate the need for this PR.  We might need to convert state spaces in cases where two dynamic StateSpaces are loaded and we need to do a more rigorous equivalence check, but we can do this via a "conversion" function ahead of time and use a normal comparator to check instance equality in the internal functions.
@brianhou @mkoval does this follow what you were thinking?

@mkoval -- @gilwoolee and I have been trying to understand how this works, but we have a few questions.

What kind of StateSpace would getStateSpace return? From our understanding, we would then need to then create an additional StateSpace class. Is it necessary to enforce this separation?

What's the benefit of having a static method to create a MetaSkeletonStateSpace, rather than an ordinary constructor? We thought that maybe passing it into the constructor implies that the MetaSkeleton is being saved in one of the fields, and fromMetaSkeleton doesn't have that implication? Regardless of where we put the logic, it seems that we would still be constructing a CartesianProduct of JointStateSpaces -- is that correct?

Rather than having a separate StateSpace class, what if we continued to have MetaSkeletonStateSpace inherit from StateSpace? I think our proposal basically looks the same as the current implementation, except that we no longer have a mMetaSkeleton field maintained in the MetaSkeletonStateSpace class. (Similarly, we would remove mJoint from JointStateSpaces.)
We'd still use the input MetaSkeleton to ensure that MetaSkeletonStateSpace is a CartesianProduct of the appropriate JointStateSpaces, but we wouldn't keep a reference to it. Every time we would need to operate on a concrete MetaSkeleton or Joint, we'd explicitly pass in the object we want to operate on to our getState and setState convenience methods.
Since MetaSkeletonStateSpaces won't have any concrete MetaSkeleton, some classes that currently use MetaSkeletonStateSpace (e.g. the CollisionFree constraint) would then have to take an additional MetaSkeleton argument in their constructor.
class JointStateSpace : StateSpace {
  void convertStateToPositions(const State* state, Eigen::VectorXd* positions) const;
  void convertPositionsToState(const Eigen::VectorXd& positions, State* state) const;

  void getState(Joint skel, State* state) const;
  void setState(Joint skel, const State* state);
};

class MetaSkeletonStateSpace : CartesianProduct {
  void convertStateToPositions(const State* state, Eigen::VectorXd* positions) const;
  void convertPositionsToState(const Eigen::VectorXd& positions, State* state) const;

  void getState(MetaSkeleton skel, State* state) const;
  void setState(MetaSkeleton skel, const State* state);

  static MetaSkeletonStateSpace fromMetaSkeleton(const dart::dynamics::MetaSkeleton& metaSkeleton);
};

Refactor non-dynamic state space (e.g. R<3>) to use singleton classes (perhaps make the constructor private and add a static .create() on the template class?
Change most planning and cloning operations to pass pointers to the same instance of the StateSpace instead of creating a new instance.

If we do these two things, then I think we largely obviate the need for this PR.

My understanding is that this solution means we won't implement the convert logic (and won't need to), since we're sticking to the stricter requirement that States have to be from the exact StateSpace instance. Making the non-DART state spaces singletons sounds reasonable, and we haven't really started using the cloning so we can definitely just start using the same state space there.

@brianhou @gilwoolee: maybe it would help to think of it this way:
MetaSkeletons are used to generate MetaSkeletonStateSpaces, but ideally, the two have nothing to do with each other besides corresponding at the time of construction.
So, you can think of MetaSkeletonStateSpace as just a StateSpace, that happens to have a couple of conversion functions on it that go from Joints to States.  But it doesn't track what MetaSkeleton created it, and it doesn't keep up to date with the generating MetaSkeleton (it's immutable).  Instead, it specifically only keeps mapping information from the JointStateSpaces that were available in the MetaSkeleton at construction time to States internally.
We can take a given MetaSkeleton and generate up this immutable MetaSkeletonStateSpace and keep it around to use for functions that need a state space (e.g. planning).  If something changes in the MetaSkeleton, we need to generate a new MetaSkeletonStateSpace (after all, we can't convert our old States to the new Joints anyway).  If we make a copy of the MetaSkeleton, we don't need to generate a new MetaSkeletonStateSpace: nothing changed, so we can just pass a pointer to the instance we already have.
So the intended API for a MetaSkeletonStateSpace is for it to inherit from StateSpace, but not contain information about the originating MetaSkeleton.  That information is only used during construction (e.g. in the create method), to build an internal mapping of JointStateSpace which is used after that.  You can think of it as a StateSpace that is formed from a snapshot of the MetaSkeleton at that time.
Does that make sense?  With that architecture the presented API was intended to be relatively straightforward to implement without requiring extra params or conversion functions.

I entirely agree with @psigen here. I regret not implementing MetaSkeletonStateSpace that way in the first place. 😞  I strongly suggest tabling the discussion of converting States between StateSpace instances for now and instead focus on making that refactor, which solves the same problem in a much cleaner way.

Sounds good! I started to work on the refactor today, and I'm hoping to finish it in the next couple days.
I initially removed the Joint completely, but it seems that it would still be convenient to maintain some information about the joint in the JointStateSpaces. I'm currently planning to keep a copy of Joint::Properties in the JointStateSpaces so that we can still extract information like position limits for creating constraints.

Closing in favor of #278.


[WIP] Remove shots attr from expval and var operations

Context:
As part of the work to support dynamically shaped measurement primitives, shots is now tied to the device through a SSA value, so it can be dynamic. See #1310 .
Correspondingly, the static shots int literal attribute of the expval and var operations in mlir should be removed. This is more so the case since their shots values are not actually used in their respective runtime CAPIs.
Description of the Change:
Remove shots attr from expval and var operations in mlir, and frontend tracing and jax primitives.
Benefits:
Unification of how measurement operations handle shots.
[sc-78845]

@rauletorresc was this the "some measurements in c++ doesn't actually use shots" you were talking about a while ago?


Not working with postCSS

it does not work with postcss. I don't get any error messages, it just doesn't output a bundle.
{
   test: /\.p?css/, loader: ExtractTextPlugin.extract({fallbackLoader: 'style-loader', loader: 'style-loader!css-loader!postcss-loader'}),
}

Versions:
    "webpack": "2.1.0-beta.20",
    "extract-text-webpack-plugin": "2.0.0-beta.3",
    "postcss": "^5.1.2",
    "postcss-loader": "^0.10.0",
    "css-loader": "0.23.1",
    "style-loader": "0.13.1",

Sounds like the same issue as #218

it is the same with me. anyone solve it?

Having the same problem

This works for<EMAIL_ADDRESS><EMAIL_ADDRESS>{
  loader: ExtractTextPlugin.extract({
    fallbackLoader: 'style',
    loader: [{
      loader: 'css',
      query: {
        modules       : true,
        localIdentName: '[path]___[name]__[local]___[hash:base64:5]'
      }
    }, {
      loader: 'postcss',
      query: {
        sourceMap: 'inline'
      }
    }]
  })
}

There's another solution:
[
	{
		test: /\.css$/,
		loader: ExtractTextPlugin.extract('style', 'css?importLoaders=1&-autoprefixer!postcss')
	}
]

I tried this https://github.com/postcss/postcss-loader/issues/144

@monolithed how would you write it if you use .pcss file extensions?

how would you write it if you use .pcss file extensions?

test: /\.pcss$/,

I made an issue here:
https://github.com/webpack/webpack/issues/3414

Can you try against rc0? Note that you need to go with use instead of loader when extracting.
@MoeSattler Would you mind setting up a demo project if that fails?

@bebraw due to the problems with postCSS and extract-text-webpack-plugin we moved to other solutions (namely styled-components). I am not sure if this is still an issue.

@bebraw I'll try it later today.

this worked fine: )
https://github.com/quantumjs/solar-popup/blob/master/webpack.config.js#L30


how to use resular expression in botium box?

I want to use regular expression in my test script.
i followed the wiki and created the script.

Script:
001
#bot default
Hi John Doe! I'm a abc Chatbot. I can help you with finding documents
BUTTONS Search Documents|HR Queries
#me
001_ME_1
#bot default
I found [0-9]+ documents matching your criteria.

In Advanced Settings :
kept Text Matching mode as "Regular Expression"
I have used the regular expression in second response from bot and getting this error.

The Scenario is :
today we have 1 document in this category.
tomorrow if the document are updated suppose 3 documents are there in that category
then our script will fail because we hard coded to 1.
i want to verify the text is coming "I found  XX documents matching your criteria."
XX today is 1
tomorrow is 2
In place of XX , can i use regular expression that verify the rest text and leave that XX

What version of Botium Box or Botium core are you using ? I am not able to reproduce on the latest version. Can you build a showcase`of this problem in our online trial box.botium.at ?

Currently i am using Version : 1.7.4
Edition :  community
Sorry I cannot integrate the chatbot on trial version because of security reasons as it is open for all to use.
I am attaching the zipped file of my test Set and as well as attaching the step i followed to perform this scenario.
Step 1 :  Created botium.json and added a capability SCRIPTING_MATCHING_MODE and kept it as "regex" for using regular expression

Botium.json :
{
"botium": {
"Capabilities": {
"CONTAINERMODE": "directline3",
"DIRECTLINE3_SECRET": "**************************************************",
"DIRECTLINE3_WEBSOCKET": false,
"DIRECTLINE3_POLLINGINTERVAL": 1000,
"DIRECTLINE3_GENERATE_USERNAME": false,
"DIRECTLINE3_BUTTON_TYPE": "message",
"DIRECTLINE3_BUTTON_VALUE_FIELD": "text",
"SCRIPTING_MATCHING_MODE": "regexp"
},
"Sources": {},
"Envs": {}
}
}

step 2:
created this test script

001
#bot default
Hi John Doe! I'm a CMS Chatbot. I can help you with finding documents based on desired type and answer your policy related queries. Type Help for sample queries.
BUTTONS Search Documents|HR Queries
#me
001_ME_1
#bot default
I found [0-9]+ documents matching your criteria.

Currently in bot response , it coming "I found 1 documents matching your criteria."
I want to make it generic . I want to verify the text and not the count of documents  . i.e used [0-9]

Step 3 👍
In advanced setting of test set .
kept Text Matching mode as "Regular Expression"
Can you please help.
if i am doing something wrong over here.
getting this error :
Error: 001/001_ME_1-L1/Line 3: error waiting for bot SyntaxError: Invalid regular expression: /Hi John Doe! I'm a CMS Chatbot. I can help you with finding documents based on desired type and answer your policy related queries. Type Help for sample queries./: Nothing to repeat at String.match () at utterances.forEach.expected (/app/agent/node_modules/botium-core/src/scripting/ScriptingMemory.js:181:36) at Array.forEach () at Object.fill (/app/agent/node_modules/botium-core/src/scripting/ScriptingMemory.js:172:16) at scriptingEvents.onBotStart.then.then (/app/agent/node_modules/botium-core/src/scripting/Convo.js:336:33)
dummy_substring.zip

Ah, now I can see it.
When using the regexp-mode, all your asserters have to be valid regular expressions.
You have this in your convo file:
#bot default
Hi John Doe! I'm a CMS Chatbot. I can help you with finding documents based on desired type and answer your policy related queries. Type **Help** for sample queries.

This is not a valid regular expression, you have to quote the asterisks and the dots, if you expect the literal character:
#bot default
Hi John Doe! I'm a CMS Chatbot\. I can help you with finding documents based on desired type and answer your policy related queries\. Type \*\*Help\*\* for sample queries\.

You can use a tool like https://regex101.com/ to check your regular expressions.
As regular expressions can be rather complex, with the next Botium build, there will be a simplified regexp mode called wildcard, where you can just use * as wildcard for everything - so this section:
#bot default
I found [0-9]+ documents matching your criteria.

will then look like this:
#bot default
I found * documents matching your criteria.

far more user friendly than to deal with regular expression syntax for simple cases.

Hi ,
Thanks for the explanation of regexp-mode.
Now able to put regex for both numeric and alphabets . :)
Please notify when this new feature wildcard will come

Wildcard mode is default since Botium Box 1.8.