Makerfabs TFT 7" board with gt911 doesn't reset properly

When attempting to use the Makerfabs TFT 7" display board with this library the board won't initialize, complaining that the touch screen can't be found at either the primary or secondary I2C address. The makerfabs board pulls the int line high which I believe causes the display to initialize but somewhat randomly selects the primary/secondary I2C address (since the INT pin is tied high and can't be used as intended, I've been omitting or passing None for the INT pin on library calls - the pin is actually not even made available on the board I'm using :grin:).
I'm not all that good at reading datasheets so I don't really understand the reset code. I did attempt to lift the reset logic from various arduino gt911 examples and was able to get the makerfabs board to initalize properly and when I compare my reset logic to the logic used in this library there are a few differences.
I went ahead and ported my reset logic into this library (leaving the original code in as comments) which made this library work with the makerfabs/gt911 board.
After staring at my new version for a bit, I realized most of the differences came down to some differences in the sleep times so I made a version of the reset that only changed some of the timing and that also works with the makerfabs board. I don't have any other gt911 displays to test with and I suspect simply using my version of the reset won't work in the general case, but I'm hoping that someone that understands the reset process closer might be able to generalize the two versions to work more generally.
    def _reset(self) -> None:
        """If the reset pin is defined, the device can be reset. If the interrupt pin is also
        defined, device can be reset into a specific I2C address configuration.
        """
        if not self.rst_pin:
            raise RuntimeError("RESET pin must be configured to reset device.")

        time.sleep(.0001)
        self.rst_pin.switch_to_output(True)  # Switch pin to output, high
        if self.int_pin:
            self.rst_pin.switch_to_output(False)  # Switch pin to output, low
        time.sleep(.005)

        self.rst_pin.value = False  # Stop the device
        time.sleep(.001)

        # Interrupt pin modifies I2C addressing (High: 0x14 | Low: 0x5D)
        if self.int_pin:
            # Set interrupt pin value in Open Drain mode.
            self.int_pin.switch_to_output(
                self.int_high, drive_mode=digitalio.DriveMode.OPEN_DRAIN
            )
            time.sleep(0.0001)  # Wait >10μs

        time.sleep(.001)

        self.rst_pin.value = True
        if self.int_pin:
            time.sleep(0.005)  # Wait >5ms
            self.int_pin.switch_to_input()  # Listen for interrupts
        time.sleep(.12)

The makerfabs board pulls the int line high which I believe causes the display to initialize but somewhat randomly selects the primary/secondary I2C address

The LILYGO T-Deck also pulls the INT line high and exhibits the same behavior. It's confusing to troubleshoot since it really only triggers on device hard-reset vs soft-reset.

I'm not all that good at reading datasheets so I don't really understand the reset code. I did attempt to lift the reset logic from various arduino gt911 examples and was able to get the makerfabs board to initalize properly and when I compare my reset logic to the logic used in this library there are a few differences.

I can relate. This library was my first experience interpreting datasheets and writing a driver. I used a lot of Arduino and MicroPython examples to piece it together. I appreciate your help sorting out the reset logic because it's the one area of the code I wasn't able to fully test without control over the INT pin.

I realized most of the differences came down to some differences in the sleep times so I made a version of the reset that only changed some of the timing and that also works with the makerfabs board

This makes a lot of sense. I'll give your changes a test on the T-Deck and see if it fixes the addressing flipping I was seeing before.


Installing from .vsix and says incompatible version

hello, I am using version 1.66.2 and says it is incompatible.
I am have tried installing from .vsix by doing "ctrl + x", clicking the three dots and then "installing from .vsix" the first version release and the last one.
Nothing worked

Any ideas? thanks

Hi @cabiamdos, you'll need to update your vscodium, minimum required version is 1.70.2

you are right. I usually don't update because updates are annoying and sometimes I believe there is no true impact on my experience. this is one of the time worth updating. Thanks


Improve image loading time when searching

Hello @sebworks I would like to work on this issue if you could help me a little bit.
Can you give me some pointers into what aspects of the image delivery we would like to optimise? I have many divergent ideas and would gladly appreciate if you could help focus my efforts on some bottlenecks of the process by pointing them out.

tagging @brenoferreira in case he has something to add

@dhruvkb we don't have any defined criteria for what we want to improve so we've closed the issue. If you have any ideas you want to implement, please open a new GitHub issue with the details and we'll discuss.


bdlib isnt working at all

IT conflicts with every api I have installed on the modpack. It is a custom modpack with over 200 mods and very much stable with just this little hickup with gendustry and tesseracts directly touching eachother.
here is my crash log.
http://pastebin.com/acjKbKHg

It doesn't conflict with anything and has nothing to do with your crash
Your pressure pipes versions is very out of date - http://bdew.net/pressure/
Try updating it first and if you are still having problems paste the new crash

Due to no response I'm assuming that this is fixed and closing the issue. If the problem still exists please comment here or open a new issue.


Tests

Tests are currently missing but they exist in the original project (however they likely require a massive rework e.g. to use JUnit 5)

Implemented minimalisic tests in testcontainers module


fix incorrect impl method declarations

These were found due to the compiler fixes in rust-lang/rust#38897

Thanks for the PR @nikomatsakis; looks more sensible to me.


Add UTs for gosnappi SDK

Add coverage report with cov and make sure the coverage crosses 95%

Added


Transpiling two and more C code

Example:
File one.c:
#include "head.h"
int main(){
        say();
        return 0;
}

File head.h:
void say();

File two.c:
include<stdio.h>
void say(){
        printf("42");
}

Command line for checking in gcc - gcc -c one.c; gcc -c two.c ; gcc -o pr one.o two.o; ./pr
Result: 42
Command line for checking clang - clang -E two.c one.c. Result is like usually.
So, with little modifications of project - we can support a multiply C code transpilation, but now we will have one big single result Go code.
Reason:
It is need for transpilation of project https://www.cs.cmu.edu/~quake/triangle.html.

This is a duplicate of #63


Reviewdog doesn't post reports in the same workflow

i have multiple workflows running in my project, the reports generated by reviewdog are not linked to the same workflow but it shows in some other workflow of my project.

Duplicate of #403


Fixed #24943 -- Update contributing tutorial to use virtualenv

See ticket: https://code.djangoproject.com/ticket/24943

Updated according to review. I went through the tutorial on Windows and noted the following:

A fresh install of Python 3.4 does not seem to add it to default path.
If the "Git Bash" option is selected on installing Git, everything else will be smoother, so moved that recommendation to the top.
The built-in venv functionality of Python 3.4 on Windows seems only to install activate.bat and Activate.ps1 scripts, i.e. nothing suitable for the Git Bash shell. Installing the virtualenv package instead solves this, so recommending that in the tutorial.
Windows does indeed do the tilde expansion, so updated that.
Added a note about activating venv on new shell, but also included a link to virtualenvwrapper since a lot of people find it really convenient.

Updated per all review comments, and from running the entire setup again from scratch on Windows. As suggested, managed to get rid of all ugly path components (C:, Python34 and such)

merged in fb1ba4d63e76c418c2dd6214dabe4dcf25ab3bad, thanks!


Password is incorrect

When executing the command I get a:
[2024-06-27T18:52:56.712Z] {"username":"---","password":"***","country":"DE","loginStore":"auth.data","pollInterval":30,"mqttUrl":"mqtt://localhost:1883","mqttClientId":"solix2mqtt","mqttRetain":false,"mqttTopic":"solix","verbose":true}
[2024-06-27T18:52:56.729Z] Fetching data
[2024-06-27T18:52:56.747Z] {"ab":"DE","client_secret_info":{"public_key":"---"},"enc":0,"email":"---","password":"---","time_zone":7200000,"transaction":"1719514376747"}
[2024-06-27T18:52:57.029Z] Could not log in: Current password is incorrect. (26156)
[2024-06-27T18:52:57.030Z] Not logged in
But I can log into the anker webpage with the credentials...

Does the password maybe contain german special characters? For me the login is working fine, so I could only guess that it might be related to the characters. Maybe try changing the password to contain only "simple" characters and test again.

Password did not contain german chars, but changing it to a different password, solved the issue...the previous password was: "OqhY1$QwQrHg9", which was accepted by the anker webpage, but not by solix2mqtt

Do you have put your password in ' ?
Otherwise it will not transfer correctly


[Task]: Refactor GKE terraform provisioning and add bitnami kafka cluster

What needs to happen?
The output of this task is to:

Refactor the existing .test-infra/terraform/google-cloud-platform/google-kubernetes-engine terraform code
Add https://github.com/bitnami/charts/tree/main/bitnami/kafka to .test-infra/kafka as an additional kafka alternative

Issue Priority
Priority: 2 (default / most normal work should be filed as P2)
Issue Components

[ ] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.take-issue


feat: new send form tests

Try out this version of the Hiro Wallet - download extension builds.

Putting this up as a draft for feedback. I still want to share code a bit better b/w tests if can.
Looking for feedback on folder structure for new tests as we migrate them over (especially selectors).

Can we decide on a format here for selector naming. We use both Btn before and after the name. Example:
AnalyticsDenyBtn and BtnSendTokens
Which do we prefer as a standard?

Which do we prefer as a standard?

@kyranjamie do you have a pref on the naming convention here for selectors? I would like to make them consistent in this PR.


ns-3: remove unused input, add a comment on dependency for root

A minor nitpick.

I would bundle this in the next ns-3 update.


Channels - TPL Dataflow

I'm a little confused with regards to channels as the features look to be duplicating the dataflow? or is channels to replace dataflow? If channels is to replace dataflow is there a migration path/backwards compatibility planed?

Channels library is more focused on the specific scenario of handing data off between open-coded producers and consumers, and is optimized for that scenario, further expanding on the kinds of such buffers available and with implementations geared towards the relevant consumption models.

If these Channel interfaces were to become part of corefx, System.Threading.Tasks.Dataflow would likely take a dependency on System.Threading.Tasks.Channels as a lower-level set of abstractions

https://github.com/dotnet/corefxlab/tree/master/src/System.Threading.Tasks.Channels#relationship-with-tpl-dataflow

@i3arnon but, dataflow has the following description:-
The Task Parallel Library (TPL) provides dataflow components to help increase the robustness of concurrency-enabled applications. These dataflow components are collectively referred to as the TPL Dataflow Library. This dataflow model promotes actor-based programming by providing in-process message passing for coarse-grained dataflow and pipelining tasks. The dataflow components build on the types and scheduling infrastructure of the TPL and integrate with the C#, Visual Basic, and F# language support for asynchronous programming. These dataflow components are useful when you have multiple operations that must communicate with one another asynchronously or when you want to process data as it becomes available.
....
The TPL Dataflow Library provides a foundation for message passing and parallelizing CPU-intensive and I/O-intensive applications that have high throughput and low latency. It also gives you explicit control over how data is buffered and moves around the system. To better understand the dataflow programming model, consider an application that asynchronously loads images from disk and creates a composite of those images. Traditional programming models typically require that you use callbacks and synchronization objects, such as locks, to coordinate tasks and access to shared data.
so in short dataflow & channels have duplicate features; which I feel should be broken out into shared library as apposed to duplication of functionality in different implementations?

so in short dataflow & channels have duplicate features; which I feel should be broken out into shared library as apposed to duplication of functionality in different implementations?

There is some overlap.  But they're optimized for different things.  If there are places where we could layer the dataflow library on top of channels, using primitives from the channels library to implement dataflow, we can explore that, but it would be as an implementation detail.  The dataflow library has already shipped, so we won't be taking any breaking changes to its APIs in order to factor our shared portions, and there are sufficient differences in the APIs being exposed in the two libraries.  The dataflow library is really focused on chaining together the "blocks" it exposes, whereas the channels library is really focused on using the core primitives directly as a hand-off between your own manually-written producers and consumers.

Closing as I think the questions have been answered. Please feel free to reopen if not.


:expr matches don't play nice with ASI

let identity = macro {
	rule { $l:expr } => { $l }
}
a
identity b

outputs
a(b);

Yep, known problem. I'm working on getting rid of this behavior.

I'm mass closing issues due to the release of 1.0 obviating lots of bugs. If you feel this issue is something we still need to address feel free to reopen.


Vit3D for Brain CTscans

Dear lucidrains,
Thank you so much for this amazing code. I've tried to adapt the ViT to my 3D Brain CT images but unfortunately the training did not work as wished. I would be very greatful if you could check my notebook and tell me whether you see a mistake. I use MONAI Framework usually and got an accuracy of 0.91 with DenseNet121 for the classification task.
https://github.com/Meddebma/pyradiomics/blob/master/Classification_HBI_ViT.ipynb
thank you very much!

@Meddebma you should try extending some of the more recent ViT variants to 3d, the ones with hierarchy, position generating convolutions, as well as local / global inductive biases. they should train a lot faster

@lucidrains thanks a lot, do you have a finished notebook for 3d images? I cant find it

@Meddebma no, this repository is just for images, but you can extend any one of these architectures by simply accounting for the extra dimension

dear @lucidrains,
I am trying to convert the crossformer to 3D but I am honestly struggling with it, could you please help me out with the lines I should change?
Or do you recommend another architecture for 3d Brain slices?
Thank you very much.
https://github.com/lucidrains/vit-pytorch/blob/79c864d7964e27043c2c4bc42627ba13b2eea9cf/vit_pytorch/crossformer.py#L204

@Meddebma crossformer may be tricky, as you'd need to extend the dynamic positional embedding bias to 3d

@Meddebma just do the original ViT, but do four stages with downsampling, and perhaps use the 3d convs in the feedforwards


Remove __ from tensor name for dict input

background:
For forward() with a dictionary, if we append __  to input feature xyz, one will get feature xyz is not found in pytorch eval. If we removed __ in input spec of config.pbtxt and run python client without __, the inference works.
However, when updating config.pbtxt for model with forward() using feature list, will get error during model loading.
When loading the model, we don't know if it is using dictionary or feature list. It seems the input handling is not consistent.
This PR is to remove the __ from name.

@baojunliu I am making some assumptions from the description here but it appears you are using a tool or some logic to generate the config input names. The fix this is making is to allow Triton to support the input names generated by the tool to be parsed into their corresponding dictionary key values (by removing the __index from the input name).
It appears that you are trying to add logic to triton to work around these cases.
The right way to do this would be to check that the model input type is a dictionary and change the input names for those cases from "<NAME__INDEX>" to just "".
Feel free to correct my understanding.
cc @dzier @msalehiNV

@CoderHam
When loading the model, we don't know if it is using dictionary or feature list. If it is a dict, we need the "__" to pass model loading, and remove it to make PyTorch eval work.

@CoderHam isn't it a bit redundant to append __index to feature names, given that the index can be implied from config.pbtxt already? I think that can give you a much cleaner and unified config across different frameworks.

@baojunliu Reg: If it is a dict, we need the "__" to pass model loading, and remove it to make PyTorch eval work.

Is this limitation you are implying Triton has?
https://github.com/triton-inference-server/server/blob/main/docs/model_configuration.md#special-conventions-for-pytorch-backend clarifies that the names for the inputs in the case of a single dictionary as input do not need __<index>.

@thuningxu Reg: isn't it a bit redundant to append __index to feature names, given that the index can be implied from config.pbtxt already? I think that can give you a much cleaner and unified config across different frameworks.

In the case where Triton enforced that the order for the input/output names must be the same i.e. input__0 will always occur before input__1 and so on, we would get rid of the index for the input/output names.
The reason the configs cannot be identical across all frameworks is because the metadata PyTorch model stores/exposes is not very descriptive. However if you use the input names from the forward function as mentioned in the docs you would not need to use the __index convention for the inputs.

If the forward function for the TorchScript model was defined as forward(self, input0, input1), the first and second inputs could also be named "input0" and "input1" respectively.

@CoderHam It requires different handling for dict and non-dict. We don't know if a model has dict. The workaround will let us to handle the input in a uniform way.

@baojunliu Reg: If it is a dict, we need the "__" to pass model loading, and remove it to make PyTorch eval work.

Is this limitation you are implying Triton has?
https://github.com/triton-inference-server/server/blob/main/docs/model_configuration.md#special-conventions-for-pytorch-backend clarifies that the names for the inputs in the case of a single dictionary as input do not need __<index>.

@CoderHam maybe I misunderstood something here. Do you mean __<index> is not required for forward(self, input0, input1) case?
When is __<index> required for torchscript?

@CoderHam maybe I misunderstood something here. Do you mean __ is not required for forward(self, input0, input1) case?

Yes that is correct. Let me explain:
Let us assume a forward function that has the following definition:
forward(self, input0, input1)

The model config for the same (using only input names for simplicity):
input [
  {
    name: "input0"
    ...
  },
  {
    name: "input1"
    ...
  }
]

If you do not know the input names then in that case you can use the __index naming convention;
input [
  {
    name: "INPUT__0"
    ...
  },
  {
    name: "INPUT__1"
    ...
  }
]

Given this do you still feel there is a need for the enforcing of ordered inputs in the model config?

Closing PR due to inactivity. Feel free to reopen if further work is planned.


[bug] Schema:Create doesn't create foreign keys in SQLite

Describe the bug
npx mikro-orm schema:create -r doesn't create any foreign keys in SQLite for relations, while it's created successufully in Postgresql.
npx mikro-orm schema:create -d prints SQL without any foreign keys.
To Reproduce
I may create a repl, but it seems to have this behavior in any sqlite database.
Expected behavior
Creating foreign keys in SQLite like it does in Postgres.
Versions

Dependency
Version

node
12.16.1

typescript
3.8.3

mikro-orm
3.6.1

sqlite3
4.1.1

This is not supported because of SQLite limitations in knex, you can subscribe here https://github.com/knex/knex/issues/3351 (unfortunately the issue was ignored).


Extend createAction API to include additional action properties

I would like to combine the simplicity of createAction with the flexibility of createStandardAction by extending the API of the former to include additional action properties. For example, it is a common use case to include an error property in Flux standard actions, but the current implementation of createAction does not support this. In order to support additional properties beyond just one (or just error), we can make the third parameter to the returned function an object with any number of properties that can be spread over the action.
Here is an example of what this might look like:
createAction(types.WITH_PAYLOAD_META_ERROR, action => {
  return (id: number, token: string, error: boolean) => action(id, token, { error });
});

Initially discussed in https://github.com/piotrwitek/typesafe-actions/pull/108.

One note I have discovered when I was rewriting all the tests to dts-jest.
Please use overload solution, conditional types don't work with optional parameters, so if you have optional resulting action prop will be a non-nullable type (it's erasing undefined) and I don't like it as this is not retaining type soundness.
action is based on overloads which I refactored and is looking good.
createAction is based on conditional and is losing undefined from optional params - we need to refactor it to overloads solution matching action function.

@piotrwitek OK cool. I also see that the overload solution is arguably more readable (readability is one reason I created a bunch of extra types for the conditional solution for createAction in the original PR).
One question: I've been looking at both action and createAction and considering your idea to make it possible to add any number of additional properties. This is still fine, but action at least is documented as a flux standard action factory and according to the FSA docs, such an extra MAY have an error property (likewise payload and meta) and MUST NOT include any other properties. So I just wanted to clarify your vision and intentions before proceeding further.
Sneak preview:
export function action<T extends StringType, E>(
  type: T,
  payload: undefined,
  meta: undefined,
  error: E
): { type: T; error: E };

export function action<T extends StringType, P, E>(
  type: T,
  payload: P,
  meta: undefined,
  error: E
): { type: T; payload: P; error: E };

export function action<T extends StringType, M, E>(
  type: T,
  payload: undefined,
  meta: M,
  error: E
): { type: T; meta: M; error: E };

export function action<T extends StringType, P, M, E>(
  type: T,
  payload: P,
  meta: M,
  error: E
): { type: T; payload: P; meta: M; error: E };

Hey @sjsyrek, I have a feeling that we should go with the fourth param as error property which would be compliant with FSA standard, and I'll update the tutorial to state that it's FSA standard compatible.
The reason for that is that now we have createCustomAction to handle all the remaining use-cases, so most basic API should cover most common use-cases.
I'd agree to go with what you suggested in the sneak preview. 👍

@piotrwitek I spent some time today working on this. Results so far: https://github.com/sjsyrek/typesafe-actions/tree/add-error-property-to-action
I want to make sure I'm conforming to the spirit of this project, however. And also to the best representation of the FSA spec. It's a little unclear what to do about the relationship between error and payload, for example. If error is true, then payload SHOULD be an Error object. Of course, trying to account for this in typesafe-actions will introduce additional complexity, so I left it out for now, which means the user will have to make sure they are following conventions. This also means it's possible to have an action with an error property but no payload.
Also, you might have a look at the tests. Everything passes, but that doesn't mean I wrote them correctly.
I'm struggling a bit with the overload implementation of createAction. Since the part that varies is a callback, tslint keeps yelling at me to unify the overloads into a union, which is fine, but it still doesn't work. Have you experimented with this at all? Or do you have some sense of the best way to do this?

@sjsyrek thanks for the update 👍 Don't worry about the overloads, for now. Let's finish the first part and we can take a look at overloads later. I'll probably have to take a look at it myself and see what the compiler is telling me.
Please run npm run test-types:update in your repo to generate spec snapshots, I'll be able to see resulting types in changelog

@piotrwitek Shall we close this one?

Only when #119 is merged and documentation is updated.

@sjsyrek inspiration for API documentation update example: https://github.com/piotrwitek/typesafe-actions/releases/tag/v3.2.0

@piotrwitek For createAction itself, I am still struggling with how to do the overloads correctly. The linter complains about them. Here's what I have so far:
import { StringType, ActionCreator } from './type-helpers';
import { action } from './action';

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(type: T): AC;

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  // tslint:disable-next-line: unified-signatures
  createHandler: (
    actionCallback: <P>(payload: P) => { type: T; payload: P }
  ) => AC
): AC;

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  // tslint:disable-next-line: unified-signatures
  createHandler: (actionCallback: <M>(meta: M) => { type: T; meta: M }) => AC
): AC;

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  // tslint:disable-next-line: unified-signatures
  createHandler: (actionCallback: <E>(error: E) => { type: T; meta: E }) => AC
): AC;

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  // tslint:disable-next-line: unified-signatures
  createHandler: (
    actionCallback: <P, M>(
      payload: P,
      meta: M
    ) => { type: T; payload: P; meta: M }
  ) => AC
): AC;

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  // tslint:disable-next-line: unified-signatures
  createHandler: (
    actionCallback: <P, E>(
      payload: P,
      error: E
    ) => { type: T; payload: P; error: E }
  ) => AC
): AC;

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  // tslint:disable-next-line: unified-signatures
  createHandler: (
    actionCallback: <M, E>(type: T, meta: M) => { type: T; meta: M; error: E }
  ) => AC
): AC;

export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  // tslint:disable-next-line: unified-signatures
  createHandler: (
    actionCallback: <P, M, E>(
      type: T,
      payload: P,
      meta: M
    ) => { type: T; payload: P; meta: M; error: E }
  ) => AC
): AC;

/**
 * @description typesafe action-creator factory
 */
export function createAction<
  T extends StringType,
  AC extends ActionCreator<T> = () => { type: T }
>(
  type: T,
  createHandler?: (
    actionCallback: <P = undefined, M = undefined, E = undefined>(
      payload?: P,
      meta?: M,
      error?: E
    ) => any
  ) => AC
): AC {
  // validation is already done in action function

  const actionCreator: AC =
    createHandler == null
      ? ((() => action(type)) as AC)
      : createHandler(action.bind(null, type) as Parameters<
          typeof createHandler
        >[0]);

  return Object.assign(actionCreator, {
    getType: () => type,
    // redux-actions compatibility
    toString: () => type,
  });
}

I haven't updated the tests yet, however, and two of them aren't passing.

Also noticed this in the redux-actions repo:

If the payload is an instance of an Error object, redux-actions will automatically set action.error to true.
Is this something you think worth emulating?

@piotrwitek I have some time in the next week or so to work on this if you have comments!

@sjsyrek thanks for the heads-up, let me try to look at it tomorrow

@piotrwitek ping :-)

Sorry I was preparing for my vacations, I'll pick it up in 2,5 weeks when I'm back

@piotrwitek Any update?

Hey @sjsyrek, thanks for the reminder, I'll try to pick this up this week, I have a lot on my plate now 💻

@piotrwitek No worries, me too. I just don't want to forget about this project. I like the library and want to help improve it if I can be useful.

I'm blocking this issue for now as I'm working on new createAction API so this API might be deprecated. I'll get back to it when v5 design is complete.

Closing because it is superseded by #207


Here is my blocklist, hope you add these (or some)!

Since things get bigger, I thought of dividing the list into several categories:
[  + means new category
[  = meaning a category already present
[  - means category no longer necessary
(I used the maiusc to make it more readable)
(+) GENERAL SITES, improved
(+) GOOGLE PRODUCTS, added some (such as waze, hangouts, hire...)
(+) GOOGLE DOMAINS, added some
(=) DOUBLECLICK, added some
(=) GOOGLE ANALYTICS (I haven't touched it)
(=) GOOGLE FONTS (I haven't touched it)
(- ) GOOGLE PLAY (I moved the domains in Google Products)
(=) YOUTUBE, improved
(=) GOOGLE DOCS (I haven't touched it)
(=) FIREBASE (I haven't touched it)
(+) SHORT LINKS
(+) PROXIES (strange domains)
(+) OTHER - YOUTUBE (strange domains)
(+) OTHER - YOUEUBE (strance domains)
Note: Domains (of every category) are all in alphabetical order.
Note: Another note is that GitHub is saying: "Showing with 1,990 additions and 550 deletions.",
but I have only added domains, the others have simply been moved in the categories above.
If you find some domains (especially the ones at the bottom), please tell me, as I don't have much
knowledge in networking and I have no idea whether they are really useful or not.
EDIT: I forgot to say: I entered "<IP_ADDRESS> recaptcha.google.com" in the list. (not sure if it's ok).
(Sorry for my english)
EDIT2: (Use the lase one, which is the 9th from the top now)

This seems to be fine. I'm not sure however of the revamped Read.me as you've modified it in your own fork, despite i surely like the regex, warning with YouTube, and the domains whitelist. I'll let the final decision on that to nickspaargaren as it's a pretty important addition.

I think I did merge your changes correctly, can you double check? Thank you so much!

This seems to be fine. I'm not sure however of the revamped Read.me as you've modified it in your own fork, despite i surely like the regex, warning with YouTube, and the domains whitelist. I'll let the final decision on that to nickspaargaren as it's a pretty important addition.

Right, I agree! You should change the last part of the readme since this isn't a fork :)

This seems to be fine. I'm not sure however of the revamped Read.me as you've modified it in your own fork, despite i surely like the regex, warning with YouTube, and the domains whitelist. I'll let the final decision on that to nickspaargaren as it's a pretty important addition.

Right, I agree! You should change the last part of the readme since this isn't a fork :)

Ahah, you're absolutely right. I'll definitely change that. I gave you all permissions to edit the master so if you want you can change anything you want and help build the list with us.

Thx!


Add tests for scenario-map components

That should be it for testing components!

Current coverage is 50.52% (diff: 33.33%)

No coverage report found for dev at f10c09a.

Powered by Codecov. Last update f10c09a...df25350


Trouble with listening to the device

i keep running into this unhandled exception when i build the sample code:
Create receiver on partition: 0
Listening for messages on: 0
Create receiver on partition: 1
Listening for messages on: 1
Unhandled Exception: System.AggregateException: One or more errors occurred. (At least one receiver for the endpoint is created with epoch of '5', and so non-epoch receiver is not allowed. Either reconnect with a higher epoch, or make sure all epoch receivers are closed or disconnected. TrackingId:a74bf05f-3a4a-4efc-b42a-2dd38175cdcf_B1, SystemTracker:ihsuprodamres040dednamespace:EventHub:iothub-ehub-testfactor-625443-8c8ed748aa~16383, Timestamp:11/23/2018 12:08:42 PM Reference:775cb9b9-5eea-4a2b-bf4f-9969feae5215, TrackingId:0e48e1a1-b7ef-4d00-bb64-71e1505ba767_B1, SystemTracker:ihsuprodamres040dednamespace:eventhub:iothub-ehub-testfactor-625443-8c8ed748aa~16383|$default, Timestamp:11/23/2018 12:08:42 PM TrackingId:9877b45ca6484bb99328bb2be9ac2b00_G11, SystemTracker:gateway5, Timestamp:11/23/2018 12:08:42 PM) (At least one receiver for the endpoint is created with epoch of '5', and so non-epoch receiver is not allowed. Either reconnect with a higher epoch, or make sure all epoch receivers are closed or disconnected. TrackingId:89c59b01-d268-47ea-b342-0ecb3116082e_B5, SystemTracker:ihsuprodamres040dednamespace:eventhub:iothub-ehub-testfactor-625443-8c8ed748aa~32766|$default, Timestamp:11/23/2018 12:08:41 PM Reference:e6756088-687f-4347-bb21-91d3ff969318, TrackingId:373b3103-9912-4363-a96b-c41260fd2c7e_B5, SystemTracker:ihsuprodamres040dednamespace:eventhub:iothub-ehub-testfactor-625443-8c8ed748aa~32766|$default, Timestamp:11/23/2018 12:08:42 PM TrackingId:9877b45ca6484bb99328bb2be9ac2b00_G11, SystemTracker:gateway5, Timestamp:11/23/2018 12:08:42 PM) ---> Microsoft.Azure.EventHubs.ReceiverDisconnectedException: At least one receiver for the endpoint is created with epoch of '5', and so non-epoch receiver is not allowed. Either reconnect with a higher epoch, or make sure all epoch receivers are closed or disconnected. TrackingId:a74bf05f-3a4a-4efc-b42a-2dd38175cdcf_B1, SystemTracker:ihsuprodamres040dednamespace:EventHub:iothub-ehub-testfactor-625443-8c8ed748aa~16383, Timestamp:11/23/2018 12:08:42 PM Reference:775cb9b9-5eea-4a2b-bf4f-9969feae5215, TrackingId:0e48e1a1-b7ef-4d00-bb64-71e1505ba767_B1, SystemTracker:ihsuprodamres040dednamespace:eventhub:iothub-ehub-testfactor-625443-8c8ed748aa~16383|$default, Timestamp:11/23/2018 12:08:42 PM TrackingId:9877b45ca6484bb99328bb2be9ac2b00_G11, SystemTracker:gateway5, Timestamp:11/23/2018 12:08:42 PM
at Microsoft.Azure.EventHubs.Amqp.AmqpPartitionReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan waitTime)
at Microsoft.Azure.EventHubs.Amqp.AmqpPartitionReceiver.OnReceiveAsync(Int32 maxMessageCount, TimeSpan waitTime)
at Microsoft.Azure.EventHubs.PartitionReceiver.ReceiveAsync(Int32 maxMessageCount, TimeSpan waitTime)
at read_d2c_messages.ReadDeviceToCloudMessages.ReceiveMessagesFromDeviceAsync(String partition, CancellationToken ct) in C:\Users\idris.tlili\Desktop\azure-iot-samples-csharp-master\iot-hub\Quickstarts\read-d2c-messages\ReadDeviceToCloudMessages.cs:line 45
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.WaitAll(Task[] tasks)
at read_d2c_messages.ReadDeviceToCloudMessages.Main(String[] args) in C:\Users\idris.tlili\Desktop\azure-iot-samples-csharp-master\iot-hub\Quickstarts\read-d2c-messages\ReadDeviceToCloudMessages.cs:line 98
at read_d2c_messages.ReadDeviceToCloudMessages.<Main>(String[] args)

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

ID: 666d1390-a995-fb5f-e1ee-49e28c50e901
Version Independent ID: d699e566-83d8-5af9-56a5-4baa56ae0455
Content: Send telemetry to Azure IoT Hub quickstart (C#)
Content Source: articles/iot-hub/quickstart-send-telemetry-dotnet.md
Service: iot-hub
GitHub Login: @dominicbetts
Microsoft Alias: dobett

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

Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

I am getting the same error. How do I "Either reconnect with a higher epoch, or make sure all epoch receivers are closed or disconnected."???? I am running the node ReadDeviceToCloudMessages.js.

@mapavia see the following thread on SO: https://stackoverflow.com/questions/53652400/how-to-increase-size-of-the-epoch-at-azure
Hope it helps. Thanks!


Add rules for unknown failure before 2021.2.3

Namely
https://internal.pingcap.net/idc-jenkins/blue/organizations/jenkins/tidb_ghpr_unit_test/detail/tidb_ghpr_unit_test/64465/pipeline/
https://internal.pingcap.net/idc-jenkins/blue/organizations/jenkins/tidb_ghpr_unit_test/detail/tidb_ghpr_unit_test/64472/pipeline/
https://internal.pingcap.net/idc-jenkins/blue/organizations/jenkins/tidb_ghpr_check_2/detail/tidb_ghpr_check_2/73449/pipeline
https://internal.pingcap.net/idc-jenkins/blue/organizations/jenkins/tidb_ghpr_mybatis/detail/tidb_ghpr_mybatis/29332

@lilinghai


fix: idps

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

GitHub release
v0.88.5

Your semantic-release bot :package::rocket:


Error when using recon-neonatal-cortex

Hi,
I was trying to use the MIRTK recon-neonatal-cortex, I run the command like this:
mirtk recon-neonatal-cortex -v --threads=4 --config=C:\Users\lenovoM425\Desktop\dHCP_pipeline_test\dhcp-structural-pipeline-master\parameters\recon-neonatal-cortex.cfg --session=test-0 --prefix=surfaces\test-0\vtk\test-0 --temp=surfaces\test-0\vtk\temp-recon\test-0 --white --pial
however gets the error
`Reconstructing cortical surfaces of test session 0
Dividing brain volume into disjoint regions
Traceback (most recent call last):
File "C:\Users\lenovoM425\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 789, in get
value = d[option]
File "C:\Users\lenovoM425\AppData\Local\Programs\Python\Python38\lib\collections_init_.py", line 898, in getitem
return self.missing(key)            # support subclasses that define missing
File "C:\Users\lenovoM425\AppData\Local\Programs\Python\Python38\lib\collections_init_.py", line 890, in missing
raise KeyError(key)
KeyError: 'fill_wm_holes'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\CMake Program Files\MIRTK\Lib\Tools\recon-neonatal-cortex.cmd", line 923, in
recon_neonatal_cortex(config=config, section=args.section, config_vars=config_vars,
File "D:\CMake Program Files\MIRTK\Lib\Tools\recon-neonatal-cortex.cmd", line 480, in recon_neonatal_cortex
require_brain_mask(config, section, config_vars, stack, verbose,
File "D:\CMake Program Files\MIRTK\Lib\Tools\recon-neonatal-cortex.cmd", line 228, in require_brain_mask
require_regions_mask(config, section, config_vars, stack, verbose)
File "D:\CMake Program Files\MIRTK\Lib\Tools\recon-neonatal-cortex.cmd", line 207, in require_regions_mask
fill_wm_holes=config.getboolean(section, 'fill_wm_holes'),
File "C:\Users\lenovoM425\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 828, in getboolean
return self._get_conv(section, option, self._convert_to_boolean,
File "C:\Users\lenovoM425\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 808, in _get_conv
return self._get(section, conv, option, raw=raw, vars=vars,
File "C:\Users\lenovoM425\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 803, in _get
return conv(self.get(section, option, **kwargs))
File "C:\Users\lenovoM425\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 792, in get
raise NoOptionError(option, section)
configparser.NoOptionError: No option 'fill_wm_holes' in section: 'recon-neonatal-cortex'`
Please help, thanks.

Hi, you will see this error with an "older" version of MIRTK. I've added the fill_wm_holes option only in recent months. To use it, you have to use the latest HEAD revision of the master branch. Please note that due to a bug in VTK <9, you have to build MIRTK with VTK 9. This unfortunately affects the AppImage that is available on bintray. I should have submitted a fix for this by the end of this week.
Otherwise, if you want to keep using the MIRTK version you have, you will have to remove the new option from your input configuration file.

Hi, you will see this error with an "older" version of MIRTK. I've added the fill_wm_holes option only in recent months. To use it, you have to use the latest HEAD revision of the master branch. Please note that due to a bug in VTK <9, you have to build MIRTK with VTK 9. This unfortunately affects the AppImage that is available on bintray. I should have submitted a fix for this by the end of this week.
Otherwise, if you want to keep using the MIRTK version you have, you will have to remove the new option from your input configuration file.


User photos take a long time to load

Not really actionable -- load times are fairly negligible even on the very very bad early 2015 school macs (<3s)


fix_permissions bug on sshfs mounted volume

First of all, I've been using the locally hosted wandb version for a few weeks now and I gotta say it's pretty awesome, good job!
I guess this is kind of a very special case, but I am using sshfs to mount a shared directory which is then used as docker volume.
I do not have root privileges on the network share, but with uid and gid mapping I can circumvent any permission problems. However, changing group ownership is not allowed for the host mounting the share, so the first exec command in the following find invocation (located in the fix_permissions script) exits with an error:
find "$d" \
    ! \( \
      -group 0 \
      -a -perm -g+rwX  \
    \) \
    -exec chgrp 0 {} \; \
    -exec chmod g+rwX {} \;

And I noticed that if an exec command returns an error, subsequent exec commands will not be executed, so the chmod command is never run in my case.
I'd suggest swapping the order of those two exec options, to ensure chmod is executed in any case.

Thanks @DavidPL1, that's some great sleuthing.  I'm worried that even if we do the chmod the instance won't function properly.  We start our container assuming we'll be assigned a random uid for the user but this user will be in the root group so as long as the root group has write access to the files we're good.  In your case if we can't control the group of the filesystem you'll likely need to run the container as root or as a user that has write permission to the filesystem thereby circumventing the need for us to alter the permissions.

I'll also note that for production use cases we eliminate the need for any persistent storage within the container.  We would connect an external MySQL server and S3 or equivalent object store for all persistence.

Thanks for the swift answer @vanpelt.
Actually the container runs just fine when remapping both the uid and gid of the files inside the volume to 0 and ensuring the group permissions are set correctly (at least for now). The host of the share doesn't care if the container thinks it has root privileges.
Currently a production scale setup is somewhat too much overhead for my use case, as I am the only one using this wandb instance. I simply resorted to network storage, as I was running out of memory on my local machine.
I'm aware that this is a very unusual use case and this problem is easy to fix manually. I just wanted to bring it to your attention.
I was also wondering if it would somehow be possible to skip the permission check completely with some flag while starting the container, as the bigger the volume gets, the longer it takes to check permissions of each file. E.g. for my ~40 GB volume (shared over sshfs) it took about an hour.
As in my case I ensure that the permissions are correct beforehand, it would be nice saving some time with the possibility to skip this step. But I also get that introducing changes that only enhance the free plan experience might not be your priority :)
PS: Just in case I happen to stumble on more (potential) problems like this one while fiddling around, is this the correct place to report such issues?

Good to hear @DavidPL1!  I just took a look at the code, when the container is started without specifying a uid we run fix_permissions.sh on everything that was mounted.  If you specify a uid >= 100000 we don't run fix_permissions.sh on the entire volume.  Can you try the following when starting the container (the key specifying a uid of 100000):
docker run --rm -d -v wandb:/vol -p 8080:8080 -u 100000 --name wandb-local wandb/local

Moving forward, this is the best place to raise any other issues you may hit.

Thank you very much, using the -u option works for me.
Alright, if I encounter other problems, I'll open another issue here.


Minor Documentation Update

This PR adds two new entries to the "Introduction" page under the "Installation in your project" section:

an entry for Alpine.js, and an entry for Typescript.

Thanks!


README: Fix to use npm

It seems we are using npm because there is a package-lock.json
and we use npm in other packages.

This seems to be unnecessary anymore, it was already updated to npm in another commit


[REFACTOR]  Functional Components (Home | AccountsComponent)

1- Files Converted to Functional Components

App.tsx
HomeScreen.tsx
AccountComponents.tsx

2- Svg files import typescript warning fix (type declaration added)
3- AppText component missing prop types (style prop)
4- Prettier bracket spacing added (most of the files were already using this).

LGTM

These styles are used by two files (AccountList, and AccountComponent). I'll see if I can separate them (in the next PR maybe when I convert AccountList component).

That would be great.

On the component called AccountComponents...  For components so far I have been adding Screen to end of component name but otherwise leaving Component out of component name.  Maybe AccountComponents could be renamed to Accounts?

@Fahad-Mahmood I'm done reviewing.  This looks great.  Just the comment above on AccountComponents naming.

nice idea.

oh, that's correct! we receive an array prop for accounts

But I think we should create a separate directory for screens in the future.

But I think we should create a separate directory for screens in the future.

I think that makes sense, especially when multiple files are needed for a screen.  I think it will be a good pattern.

@Psycarlo @tmakerman Thanks for the review ❤


Blocking Call to open (Blitzortung)

Cause: The open function is being used to read files, which is another blocking operation. Like the other issues, this is causing performance problems within the event loop.

It should be fixed in 1.3.6

@mrk-its yeah cant see anything in the logs now!


Security Update

Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[ ] Your submissions are formatted according to the guidelines in the contributing guide
[ ] Your additions are ordered alphabetically
[ ] Your submission has a useful description
[ ] The description does not end with punctuation
[x] Each table column should be padded with one space on either side
[x] You have searched the repository for any relevant issues or pull requests
[x] Any category you are creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thanks for the contribution @georgehossa!
Closing the PR - the library is already updated.


"how to contribute" has bad link

the section on jira accounts has a link for "the sign up form" but it links to a "create new page" template.

Fixed. Thanks for letting us know.


Rest Service - reduce result for GeoTempSearch

At the moment: if /api/geotemporalsearch was requested, the complete tweet with data:

text, user.name, user.screenname,user.profile_image_url, coordinates, created_at, place.bounding_box.coordinates, id

will be returned.
In future, only data

coordinates ,place.bounding_box.coordinates und id

should be returned

@merando: I think @martingrimmer said that this ticket is part of Milestone 3. Can you clear that?

moved to MS 3

done


Test usdchecker workflow improvements

This PR checks if the proposed usdchecker workflow changes work as expected.
The validation pipeline should be green.

Works!


Add optional support for relative paths in config json for prompt loader

PR title: langchain-core: add relative path support for template paths in load_prompt
PR message:
Description: This PR adds a template_base_path parameter (Optional[Union[str, Path]]) to various prompt loading functions in the langchain_core library, enabling dynamic resolution of template paths. This enhances flexibility for scenarios with non-standard directory structures or different environment setups. Changes are backward compatible with the optional function arguments.
Dependencies: No change
Lint and test: done

Not sure what to do about the linting fail, any help would be appreciated!

@hwchase17 feedback on this please? It solves a problem we're having in organising our prompts when deploying on arbitrary environments.

there is a new supported way to serialize things, we'll be supporting that going forward


Support for styling views by controller types.

For example:
UITabBarController > UIView {
    backgroundColor: white;
}

Now I can't seem to find a way to style a root views (only by setting the styleClass for the view itself).

Currently, selectors are only matched against items in the view hierarchy, which means that declarations containing non-view types won't work. However, it could be useful to be able to express that kind of selector chain, so I will definitely consider adding support for this going forward.


gnet v2编译时总提示engine找不到是什么原因呢

诸如此类的编译错误——
github.com/panjf2000/gnet/v2
github.com\panjf2000\gnet\v2@v2.0.2\gnet.go:49:7: undefined: engine
github.com\panjf2000\gnet\v2@v2.0.2\gnet.go:55:18: el.loadConn undefined (type *eventloop has no field or method loadConn)
github.com\panjf2000\gnet\v2@v2.0.2\gnet.go:384:27: cannot use options (type *Options) as type bool in argument to initListener
github.com\panjf2000\gnet\v2@v2.0.2\gnet.go:389:14: too many arguments in call to serve
have (EventHandler, *listener, *Options, string)
want (EventHandler, *listener, *Options)
github.com\panjf2000\gnet\v2@v2.0.2\gnet.go:402:11: undefined: engine
github.com\panjf2000\gnet\v2@v2.0.2\gnet.go:404:13: undefined: engine
github.com\panjf2000\gnet\v2@v2.0.2\load_balancer.go:71:4: el.idx undefined (type *eventloop has no field or method idx)
github.com\panjf2000\gnet\v2@v2.0.2\load_balancer.go:101:12: el.loadConn undefined (type *eventloop has no field or method loadConn)
github.com\panjf2000\gnet\v2@v2.0.2\load_balancer.go:103:12: v.loadConn undefined (type *eventloop has no field or method loadConn)
github.com\panjf2000\gnet\v2@v2.0.2\load_balancer.go:112:4: el.idx undefined (type *eventloop has no field or method idx)
github.com\panjf2000\gnet\v2@v2.0.2\load_balancer.go:112:4: too many errors

按 issue 模板填，现在 OS 是啥都不知道，干嘛要删掉模板？

Please fill out the following system information before opening an issue:

OS (e.g. Ubuntu 18.04): Windows 10
Go version (e.g. Go 1.13): go1.16.5 windows/amd64
gnet version (e.g. v1.0.0): v2.0.2

What is your question about gnet?
Please describe your question meticulously.
编译的时候提示
gnet.go:49:7: undefined: engine
gnet.go:55:18: el.loadConn undefined (type *eventloop has no field or method loadConn)
gnet.go:384:27: cannot use options (type *Options) as type bool in argument to initListener
gnet.go:389:14: too many arguments in call to serve
have (EventHandler, *listener, *Options, string)
want (EventHandler, *listener, *Options)
…………

关了，v2应该是只能在Unix环境下编译


Unexported types causing TypeScript errors 4023 and 7056

What version of Ajv are you using? Does the issue happen if you use the latest version?
8.6.2
TypeScript version
4.3.5
TypeScript config
tsconfig.build.json is a tsconfig intended for building an NPM package.
We use this successfully across many projects and with AJV 7.x.
It extends a base tsconfig that successfully compiles, presumably because its rootDir is . (project root including node_modules).
There's no scope for changing this config in our org as a workaround for this particular issue.
{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "rootDir": "src",
    "outDir": "./lib"
  }
}

The tsconfig.json that this extends (compiles successfully):
{
  "include": [
    "src/**/*"
  ],
  "exclude": [
    "lib/**/*"
  ],
  "compilerOptions": {
    "target": "ES2019",
    "module": "commonjs",
    "rootDir": ".",
    "strict": true,
    "typeRoots": [
      "./node_modules/@types",
      "./src"
    ],
    "declaration": true,
    "types": [
      "node"
    ],
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "importHelpers": true,
    "lib": ["ES2019"],
    "noImplicitAny": true,
    "strictNullChecks": true,
    "alwaysStrict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "resolveJsonModule": true,
    "stripInternal": true
  }
}

Your code
This is comparable to a function that we've successfully used in AJV 7.x:
import type { JSONSchemaType } from 'ajv'

export const willICompile = <T>(schema: JSONSchemaType<T>): boolean =>
  schema ? false : false

TypeScript error output
src/validation/test.ts:3:14 - error TS4023: Exported variable 'willICompile' has or is using name 'NumberKeywords' from external module "...projectRoot/node_modules/ajv/dist/types/json-schema" but cannot be named.

3 export const willICompile = <T>(schema: JSONSchemaType<T>): boolean =>
               ~~~~~~~~~~~~

src/validation/test.ts:3:14 - error TS4023: Exported variable 'willICompile' has or is using name 'StringKeywords' from external module "...projectRoot/node_modules/ajv/dist/types/json-schema" but cannot be named.

3 export const willICompile = <T>(schema: JSONSchemaType<T>): boolean =>
               ~~~~~~~~~~~~

src/validation/test.ts:3:14 - error TS7056: The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.

3 export const willICompile = <T>(schema: JSONSchemaType<T>): boolean =>
               ~~~~~~~~~~~~

What results did you expect?
I would expect this code to compile.
Various internally used types aren't exported from the root of the ajv package. My working theory is that when an exported type uses one of these unexported types and the root dir does not include node_modules, we get a 4023 and/or a 7056 error.
We did not experience these errors with equivalent code and the same tsconfig in AJV 7.x.
Incidentally we also had the ability to declare something as a partial schema but this is also no longer possible due to unexported types.
Are you going to resolve the issue?
Could be a rabbit hole with no guarantee any PR would be accepted.
Though not ideal I may have to roll my own versions of some types in types/json-schema.ts.

It might be the option https://www.typescriptlang.org/tsconfig#stripInternal - the TS docs say you should not be using it.

although it doesn't seem to be compiling without this option... I don't think I used it like that tbh - normally you use it with specific types...
cc @erikbrinkman

We do need to be careful using stripInternal and I might look into api-extractor, but I don't think that's related to this issue.

I get different results from you. neither tsconfig.json nor tsconfig.build.json compile (same errors for each), with the same ajv and typescript versions, which leads me to dismiss the roodDir hypothesis.
I was able to address it by doing what typescript asked:
interface WillICompile {
  <T>(schema: JSONSchemaType<T>): boolean;
}

export const willICompile: WillICompile = (schema) =>schema ? false : false

compiled just fine for me.
JSONSchemaType is right at the border of what typescript is willing to accept in terms of complexity, and I think the step up from 7 to 8 pushed it more towards that direction. My current hypothesis is that JSONSchemaType is just too complex. Potentially typescript was trying to simply the export by referencing NumberKeywords and StringKeywords which it can't do because they're internal, and that led to all of the errors. That hypothesis leads to investigating the third error: TS7056, but I've only found a handful of cases, and they all seem to reference "complicated" inferred types.
Given that I'm inclined to think it's good practice manually annotate exported objects anyway, so the above fix seems like good practice. From ajv side the fix would be to make JSONSchemaType simpler. I'm generally in favor of a breaking rewrite of that type, but JSONSchema is quite complicated, so even that is not super trivial.

I'm now seeing some weird inconsistencies in this -
tsc --project tsconfig.build.json -  Same code and config which previously gave me the 3 errors above, I'm now only seeing error 7056
tsc --project tsconfig.build.json --noEmit - Now outputs no errors at all
Could this be affected by memory/resources? Seems like a TypeScript bug that these 2 commands would give different errors, and possibly explains why @erikbrinkman gets different results.
Agreed on simplifying the JSONSchemaType though :)

it could potentially be cause by memory resources, although from my very limited understanding of the API the complexity has hard coded limits, rather than relying on some weak caching. This is certainly edge case behavior though.


Example of passing random replica suffix to replica name

Breaks TF deploy because of TF for_each dependencies.
This is not alleviated with module_depends_on or tf13 depends_on inputs.

Wanted to open as example on form


Cow: Watch mskinternational.com.pk

Cow requests the watch of the watch_keyword mskinternational\.com\.pk. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

mskinternational\.com\.pk has been seen in 1 true positive, 0 false positives, and 0 NAAs.


Cover IR 80

The third mandatory operation “Link View Service”, which allows a Public Authority or a Third Party to declare a view Service for the viewing of its resources through the Member State View Service while maintaining the viewing capability at the Public Authority or the Third party location, shall be implemented through the “Discover Metadata” operation of the Discovery Service which allows for View service metadata to be retrieved.

Duplicates #3

Closed as duplicate


Ring motion detector not showing up in Hass

Re-submit under correct github account...
Describe the bug
I have 2 Ring motion detectors (same model). One of them shows up fine in HA, and the other does not.
"Motion Detector Mudroom" is fine (entity id: binary_sensor.motion_detector_mudroom)
"Motion Detector Basement" is not in HA
Any ideas of where else I should look? Thanks!
Debug Logs
This is the addon log where the motion detector basement is called out.
2020-06-02T15:32:46.523Z ring-mqtt Republishing existing device id: d3608c02-8e70-4c35-aba4-2de196067fc0
2020-06-02T15:32:46.523Z ring-mqtt HASS config topic: homeassistant/binary_sensor/cfd4351f-8b35-4f83-b592-725b9fdcbadf/d3608c02-8e70-4c35-aba4-2de196067fc0/config
2020-06-02T15:32:46.523Z ring-mqtt {
name: 'Motion Detector Basement',
unique_id: 'd3608c02-8e70-4c35-aba4-2de196067fc0',
availability_topic: 'ring/cfd4351f-8b35-4f83-b592-725b9fdcbadf/alarm/binary_sensor/d3608c02-8e70-4c35-aba4-2de196067fc0/status',
payload_available: 'online',
payload_not_available: 'offline',
state_topic: 'ring/cfd4351f-8b35-4f83-b592-725b9fdcbadf/alarm/binary_sensor/d3608c02-8e70-4c35-aba4-2de196067fc0/motion_state',
json_attributes_topic: 'ring/cfd4351f-8b35-4f83-b592-725b9fdcbadf/alarm/binary_sensor/d3608c02-8e70-4c35-aba4-2de196067fc0/attributes',
device_class: 'motion'
}
And here is an example of an activity reporting state of the same device id:
2020-06-02T15:18:01.786Z ring-mqtt ring/cfd4351f-8b35-4f83-b592-725b9fdcbadf/alarm/binary_sensor/d3608c02-8e70-4c35-aba4-2de196067fc0/motion_state OFF

Running HassOS as a VM on Ubuntu 20.04 server.

It's difficult for me to see how this could be a problem with the addon as everything you show indicates that it is working perfectly.
Is there any chance it's just not showing in the overview dashboard but is available in the entities screen?  Otherwise, I don't have any great suggestions.  You could run "ha logs" and you should see the discovery messages on the home assistant console, perhaps there's some error, although I don't know why there would be as the debug logs you provided show fully correct discovery messages being sent.
Also, there have been some changes with the MQTT addon recently if you are running the lastest HassIO versions.  Please make sure it is configured with the "Enable newly added entities" option which you can under Configuration...Integrations...Mosquitto broker...System options.

OK. I'll check these options. I agree that it's likely not with the addon, but I wanted to check here to confirm, and to see if there were any common things to look at. I've checked the entities page (the seensor i still not there) and the MQTT settings, and nothing looks wrong. I even tried uninstalling the MQTT addon and integration, restarting, and re-adding; but still no luck.
I'm fine with closing this, as it's likely not related to this addon.

Obviously it could still be some bug that is just non-obvious, but I'm aware of users leveraging this addon with >100 devices across multiple locations and this is the only report of missing motion devices, plus the messages above look correct, so I think the problem has to be outside of the addon, but if you find evidence otherwise I'm happy to try to dig a little deeper.
Any time you see the "Publishing" or "Republishing" messages in the addon logs you should also see equivalent messages at the same time from the "ha logs" output showing the MQTT devices being discovered.  Hopefully that will provide some clue.

Just to come full circle, I ended up wiping and reinstalling HassOS as a new VM. Instead of loading the addon as pulled from a snapshot, I ended up loaded it new. Works as expected.


Unable to locate message source for category 'mailjet'.

When triggering Craft to send a test email i get the following error:
Unable to locate message source for category 'mailjet'.

Craft edition & version: Craft Solo 4.0.4
PHP version: 8.1.5
Database driver & version: MySQL 10.3.34
Mailjet Plugin Version: 1.0.1

@boboldehampsink any update on this?

Fixed in 1.0.2


node-gyp rebuild fails on my system!

i am trying to install/rebuild the node-opus again and i got the latest version of both npm and node js but it fails.
it tells me to include: C:\Users\user_name\AppData\Roaming\npm-cache_logs\2017-03-02T21_09_02_
831Z-debug.log.
when i connect my bot to voicechat it says something like: couldn't find any opus engine

You are probably missing Python/another build dependency. Please either provide us with the error you're experiencing or just install opusscript (npm i opusscript), which works well on Windows.

but i am using javscript do i need python for that? pyhton is another language.
it says it's preffered to use node--opus cuz it performs significantly better then opusscript but does that not matter ?
here's the error i get if i connect the bot to voice:
Error: Couldn't find an Opus engine.
at Object.exports.fetch (C:\Users\user_name\Desktop\Discord_Bot\bot\nod
e_modules\discord.js\src\client\voice\opus\OpusEngineList.js:23:9)
at AudioPlayer (C:\Users\user_name\Desktop\Discord_Bot\bot\node_modules
\discord.js\src\client\voice\player\AudioPlayer.js:20:37)
at VoiceConnection (C:\Users\user_name\Desktop\Discord_Bot\bot\node_mod
ules\discord.js\src\client\voice\VoiceConnection.js:58:19)
at PendingVoiceConnection.upgrade (C:\Users\user_name\Desktop\Discord_Bot\bot
\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:241:12)
at PendingVoiceConnection.pass (C:\Users\user_name\Desktop\Discord_Bot\bot\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:220:28)
at PendingVoiceConnection.checkReady (C:\Users\user_name\Desktop\Discord_Bot\bot\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:151:12)
at PendingVoiceConnection.setTokenAndEndpoint (C:\Users\user_name\Desktop\Discor

d_Bot\bot\node_modules\discord.js\src\client\voice\ClientVoiceManager.j
s:192:10)
at ClientVoiceManager.onVoiceServer (C:\Users\user_name\Desktop\Discord_Bot\bot
\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:36:74)
at emitOne (events.js:96:13)
at Client.emit (events.js:191:7)
And here's the error when i try installing it again when it's already installed/rebuild it:
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
HON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Program Files\nodejs\node_mo
dules\npm\node_modules\node-gyp\lib\configure.js:454:19)
gyp ERR! stack     at PythonFinder. (C:\Program Files\nodejs\node_mod
ules\npm\node_modules\node-gyp\lib\configure.js:480:16)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\grac
eful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:114:15)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodej
s\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\user_name\Desktop\Discord_Bot\bot\node_modules\ref
gyp ERR! node -v v7.7.1
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\
node_modules\npm\bin\npm-cli.js" "install" "discord.js" "node-opus" "--save"
npm ERR! node v7.7.1
npm ERR! npm  v4.3.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ref package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ref
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ref
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\user_name\AppData\Roaming\npm-cache_logs\2017-03-04T17_21_13_
292Z-debug.log

node-gyp relies on Python to build dependencies. As you can see in the NPM error logs, gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. You need to install Python 2.7 for node-gyp to function properly. While node-opus is preferable to opusscript because it is much faster, while you are on Windows rather than a UNIX-based system, you should probably use opusscript as it is much easier to install on Windows.

Please use the official discord.js Discord server for questions; this issue tracker is only intended for bug reports and enhancement suggestions.

okay,now i understand.
i installed python 2.7.13 and the python error is gone but something went wrong with MSBuild now so i get this error:
MSBUILD : error MSB1025: Ett internt fel uppstod vid körning av(a internal error happened under the running of) MSBuild.
Microsoft.Build.BuildEngine.InvalidToolsetDefinitionException: MSBuildToolsPath
har inte angetts för (have not been specified for)ToolsVersion 14.0 som definierats vid (that has defined at)HKEY_LOCAL_MACHINE\SO
FTWARE\Microsoft\MSBuild\ToolsVersions\14.0, eller så utvärderas värdet som ange
tts till den tomma strängen.(or the specified value to the empty string is investigated)
vid Microsoft.Build.CommandLine.MSBuildApp.BuildProject(String projectFile, S
tring[] targets, String toolsVersion, Dictionary`2 globalProperties, ILogger[] l
oggers, LoggerVerbosity verbosity, DistributedLoggerRecord[] distributedLoggerRe
cords, Boolean needToValidateProject, String schemaFile, Int32 cpuCount, Boolean
enableNodeReuse, TextWriter preprocessWriter, Boolean debugger, Boolean detaile
dSummary)
vid Microsoft.Build.CommandLine.MSBuildApp.Execute(String commandLine)
Ohanterat undantag: Microsoft.Build.BuildEngine.InvalidToolsetDefinitionExceptio
n: MSBuildToolsPath har inte angetts för ToolsVersion 14.0 som definierats vid H
KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0, eller så utvärd
eras värdet som angetts till den tomma strängen.
vid Microsoft.Build.CommandLine.MSBuildApp.BuildProject(String projectFile, S
tring[] targets, String toolsVersion, Dictionary2 globalProperties, ILogger[] l oggers, LoggerVerbosity verbosity, DistributedLoggerRecord[] distributedLoggerRe cords, Boolean needToValidateProject, String schemaFile, Int32 cpuCount, Boolean  enableNodeReuse, TextWriter preprocessWriter, Boolean debugger, Boolean detaile dSummary)    vid Microsoft.Build.CommandLine.MSBuildApp.Execute(String commandLine)    vid Microsoft.Build.CommandLine.MSBuildApp.Main() gyp ERR! build error gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
` failed with exit code:<PHONE_NUMBER>
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules
npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:194:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_proces
s.js:215:12)
i tried translating a little but it's difficult to do it right away. it's swedish.
i am looking into how to fix it but don't know yet.

As already suggested to you, we have a Discord server for support. And also as I already suggested, if you don't want to deal with building node-opus, just use opusscript instead.

building node-opus is an struggle


When trying to open a PSD for the first time in Extract it says "To sign in, please connect to the internet."

Obviously I am connected to the internet. I have tried turning off firewall and reinstalling. I tried versions 1.1 and 1.2, but am having the same problem.
http://i.imgur.com/4yckfBk.png

@unproductiveefficiency Sorry for not being able to use Extract. Could you confirm if you are able to install any extension and also tell us if you able to use Live Preview feature? Also please check if you are able to open the PSD by pasting the short URL of your PSD?

Yes. I was able to use other extensions. For some reason it just started working. Sorry I could not give a reason why.

Closing for now. Please reopen if you see the issue again.

I have the same issue with my system. I could connect to internet and adobe bracket extension site even brackets extension manager shows extensions to download but extract fails with "To sign in please connect to internet."
I removed the brackets package totally to fix this and reinstalled but nothing worked.
OS: ubuntu 14.04


SBD url is broken

http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/semantic_contours/benchmark.tgz will be ok

Updated, thanks.


unhashable type: 'list' when using list of boolean in in_()

Environment details

OS type and version: Mac M1 (MacOS Monterey)
Python version: python --version 3.9.9
pip version: pip --version 22.1.2
sqlalchemy-bigquery version: pip show sqlalchemy-bigquery 1.4.3
sqlalchemy 1.4.27

Steps to reproduce

create a sqlalchemy session
create a sqlalchemy declarative meta table object
execute the following query

from sqlalchemy import case, column, func

...

sessiom.query(sum(case([(column(<column_name>).in_([True, False]), 1)], else_=0))).select_from(<ORM table object>).first()

Stack trace
SELECT SUM(CAST(CASE WHEN (`tag_based` IN UNNEST(%(tag_based_1:BOOL)s)) THEN %(param_1:INT64)s ELSE %(param_2:INT64)s END AS NUMERIC)) AS `countInSet`
FROM `stackoverflow`.`badges`
Traceback (most recent call last):
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1702, in _execute_context
    context = constructor(
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 1080, in _init_compiled
    param = {
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 1081, in <dictcomp>
    key: processors[key](compiled_params[key])
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/sql/sqltypes.py", line 1984, in process
    value = _strict_as_bool(value)
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/sql/sqltypes.py", line 1957, in _strict_as_bool
    if value not in self._strict_bools:
TypeError: unhashable type: 'list'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2810, in first
    return self.limit(1)._iter().first()
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2894, in _iter
    result = self.session.execute(
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1689, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1614, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1481, in _execute_clauseelement
    ret = self._execute_context(
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1708, in _execute_context
    self._handle_dbapi_exception(
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2026, in _handle_dbapi_exception
    util.raise_(
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1702, in _execute_context
    context = constructor(
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 1080, in _init_compiled
    param = {
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 1081, in <dictcomp>
    key: processors[key](compiled_params[key])
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/sql/sqltypes.py", line 1984, in process
    value = _strict_as_bool(value)
  File "/Users/teddycrepineau/.venv/omd_3_9/lib/python3.9/site-packages/sqlalchemy/sql/sqltypes.py", line 1957, in _strict_as_bool
    if value not in self._strict_bools:
sqlalchemy.exc.StatementError: (builtins.TypeError) unhashable type: 'list'
[SQL: SELECT SUM(CAST(CASE WHEN (`tag_based` IN UNNEST(%(tag_based_1:BOOL)s)) THEN %(param_1:INT64)s ELSE %(param_2:INT64)s END AS NUMERIC)) AS `countInSet`
FROM `stackoverflow`.`badges`
 LIMIT %(param_3:INT64)s]

When comparing with other dialects (i.e. redshift), I can see that bigquery passes a list to the processor function in sqlalchemy/engine/default.py (line 1081) which causes an issue in sqlalchemy/sql/sqltypes.py (line 1957) where the below check is performed
    _strict_bools = frozenset([None, True, False])

    def _strict_as_bool(self, value):
        if value not in self._strict_bools:
            if not isinstance(value, int):
                raise TypeError("Not a boolean value: %r" % value)
            else:
                raise ValueError(
                    "Value %r is not None, True, or False" % value
                )
        return value

Other dialects seem to break down each parameter into a single value. For example, when performing the same query with redshift dialect I can see the following compiled parameters
[{'param_1': 1, 'param_2': 0, 'param_3': 1, 'is_customer_1_1': 'True', 'is_customer_1_2': 'False'}]

vs bigquery
[{'tag_based_1': [True, False], 'param_1': 1, 'param_2': 0, 'param_3': 1}]

it seems likely the issue stems from this where it appears the whole approach SQLAlchemy takes for IN is somehow modified or bypassed.
I see the comment "Bigquery can accept an ARRAY directly", OK that's nice, some other DBAPIs can also, but if that's the main rationale for this code, perhaps it's best to just let SQLAlchemy do the IN the way it wants to, so that things aren't breaking and SQLAlchemy isn't awkwardly pinned at 1.4.27 - then come to us and say, "I'd like SQLAlchemy to support a dialect flag that will use arrays directly for IN rather than expanding them".   Because we can do that on our end, it will be tested, and it wont break (at least not this much).      beyond that, IN expressions are usually pretty small and if the only point here is optimization, this is likely premature.

For those who run into this issue, we decided to work around it by converting IN expressions into a series of OR expressions when appropriate:
sa.or_(*[
    column == value if value is not None else column.is_(None)
    for value in non_null_values
])

We only applied this workaround for booleans, since that seems to be the only affected type, and the difference in performance (if there is any after query planning) between IN and the manual OR can't be that significant for booleans (which have a max of three distinct values in the statement).

While that was enough to get us unblocked, curious if there's an update on this from the package maintainers. IN expressions for boolean columns isn't a niche use case, such that I'm surprised how low traffic this issue is. Mike suggested a concrete path forward (thanks for the detailed explanation!), but it isn't clear if any there's any plan to implement their advice.
Am I missing some other resolution?


Consider submitting this as a GOV.UK community tool

Hi Chris!
My name is Kim. I work on the GOV.UK Design System team—I'm also a Nova user and casual extension developer—so naturally I was intrigued to see this pop up in the extension library (if just that I've been very, very slowly building the same thing 😅).
I'm not sure if you're aware, but we list extensions like this on the resources and tools page of our website so that the community can find them easier.
We would require some changes (mostly around documentation) so that your extension is compliant with our contribution criteria, but if you're willing and wish to do so, it'd be great to see it listed with the others! Just open an issue with us when you're ready.
Thanks!
~ Kim

Thanks @querkmachine – I'll take a look at the guide and see what I have to do!


validate issuer of credential

This PR accomplishes the following:

validates issuer of credential by checking membership in DCC registry

Just recently rediscovered this PR and fixed some broken tests. Two important notes about this PR:

This feature was originally implemented in this PR to Digital Bazaar's vc-js library. However, we agreed that issuer validation was too use-case-specific for a core VC library, so I moved it here instead. On second thought, I am wondering if we should place this validation in the higher level sign-and-verify service as opposed to here in sign-and-verify-core?
Currently, the validation status is merged in the same property (verified) as the verification check (see here). I was thinking of potentially moving it to its own valid property, but that would just mean that sign-and-verify instances would need to know to read this new property. Is this behavior education worth the separation of concerns?

@kezike

On second thought, I am wondering if we should place this validation in the higher level sign-and-verify service as opposed to here in sign-and-verify-core?

Yeah, I think it'd be better to move it to sign-and-verify (and pass in the issuer registry into the call to core).


fix(wizard): fix message styling

Fix the message styling to match the form layouts. Also sets a minimum height for the wizard panels for consistency.
fixes https://github.com/fabric8io/fabric8-ui/issues/1558 and https://github.com/fabric8io/fabric8-ui/issues/1561

@mindreeper2420 snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1588-fabric8-ui.int.rdu2c.fabric8.io


Add serde compatibility for type Schedule

[x] Unit Tests included
[x] Added serde-Feature as an optional feature

Hi, if you're still interested in working on this PR would you mind rebasing it?

Deserializing without added allocation
Visitor::visit_string should be changed to use TryFrom<String> for Schedule, removing the current double allocation. (String -> &str -> String)
Visitor::visit_str may be migrated from FromStr to TryFrom<&str>, plainly for the sake of consistency.
Serializing without added allocation
impl Serialize currently uses ToString::to_string (serializer.serialize_str(&self.to_string()) - link), which delegates to the rather slow impl Display for Schedule.
This allocation contains a copy of Schedule::source and is only used via a reference.
Proposal: impl Schedule should get a new fn source() -> &str which allows to borrow Schedule::source as &str for the duration of serialization.
This new method might generally be useful, as it allows access to the cron expression without resorting to Display.


Add support for pyright language server

This should add pyright support to lsp-mode with an opt-in +pyright flag.

Thanks! Made the requested changes (I think)

Note there's still some issues with completions in modules that may be related to the typestubs distributed with pyright, so people might want to defer to using the old language server for now!

Ok, if you're having issues getting typing, you just need to create stubs in your project directory
cd path/to/my/project
source /path/to/my/virtualenv/bin/activate
pyright --createstub tensorflow

Understood. Thanks for the PR!

I think I'm a bit confused. Is this a language server?
https://github.com/microsoft/pyright

Pyright only provides syntax and type checking

@jtpavlock pylance, the new language server that powers vscode python completion uses is a proprietary wrapper (with an accompanying non-permissive license) around pyright. pyright has a language-server built-in as well (but with some fancy AI-assisted intellisense)

@jtpavlock pylance, the new language server that powers vscode python completion is a proprietary wrapper (with an accompanying non-permissive license) around pyright. Pyright has a language-server built-in as well (but without the fancy AI-assisted intellisense).
See: microsoft/pyright#99

Thanks for the reply, I figured that out shortly after posting and tried to save my embarrassment 😄

No embarrassment at all! So many language servers...


Lazy can't see through public -> private type aliases

Java: OpenJDK 1.8.0_202
Scala: 2.12.4
shapeless: 2.3.3
Minimal reproduction: I believe all four cases shown below should compile, but only the first three do. The fourth fails because Lazy seems to lose the detailed knowledge of NonEmptyChain[String] (but works in the simple case where the first type parameter case is just String).
trait TC[F[_]]

type ValidatedString[A]    = cats.data.Validated[String, A]
type ValidatedNecString[A] = cats.data.Validated[NonEmptyChain[String], A]

{
  implicit def mkTypeClass[F[_]](implicit F: cats.Functor[F]): TC[F] = ???
  implicitly[TC[ValidatedString]]        // works
  implicitly[TC[ValidatedNecString]]     // works
}

{
  implicit def mkTypeClassLazy[F[_]](implicit F: Lazy[cats.Functor[F]]): TC[F] = ???
  implicitly[TC[ValidatedString]]        // works
  implicitly[TC[ValidatedNecString]]     // doesn't compile
}

I've had a look through related tickets but I don't think this is covered elsewhere.

Having poked this a bit more, I wonder if it's some weird interaction between Lazy and the (slightly strange) way in which NonEmptyChain is declared as a no-overhead newtype.
Replacing NonEmptyChain with regular Chain allows everything to work normally, i.e. the following compiles as expected:
type ValidatedChainString[A] = cats.data.Validated[Chain[String], A]
implicit def mkTypeClassLazy[F[_]](implicit F: Lazy[cats.Functor[F]]): TC[F] = ???
implicitly[TC[ValidatedChainString]]

Is it possible that Lazy can't "see through" the new type to figure out that NonEmptyChain is really just an alias for Chain, and that it should look in the latter's companion object for instances?

You could try this patch: #797

You could try this patch: #797

No joy, unfortunately: I applied this patch on top of 2.3.3 and it still doesn't work. Taking a quick look at the patch, it seems that this is specific to shapeless' @@ type (where the problem here is the newts / newtype approach used by cats)?

Yes, but they are related (it's a similar encoding). So I hoped that the fix to dealias less would help in this case as well. But no luck...

Okay I'm building a test case and I've found something interesting: it seems to be caused by the specific way in which the packages are laid out in cats. A minimal reproduction of this layout is as follows:
trait TC[F[_]]

object a {

  // 1. the Impl class is package-private here
  private[a] object FooImpl {

    // Zero-overhead newtype
    private[a] type Base
    private[a] trait Tag extends Any
    type Type[+A] <: Base with Tag

    implicit def mkTC: TC[Foo] = new TC[Foo] {}
  }

  // 2. we then re-export the "nice" type alias
  type Foo[+A] = FooImpl.Type[A]
}

// This works
implicitly[TC[a.Foo]]

// This doesn't
implicitly[Lazy[TC[a.Foo]]]

The Lazy implicit does work however if you remove the private[a] qualifier from FooImpl i.e. make it public again. It's as if, when the alias points to a type which is private (not visible from the call site) then the regular compiler can see through but Lazy cannot.

And having discovered that I've just managed to solve my (original) problem: simply explicitly re-importing the implicits I need allows Lazy to see them again. From my original example:
{
  implicit def mkTypeClassLazy[F[_]](implicit F: Lazy[cats.Functor[F]]): TC[F] = ???
  implicitly[TC[ValidatedString]]        // works

  import cats.data.NonEmptyChain._
  implicitly[TC[ValidatedNecString]]     // now works again
}

It's as if, when the alias points to a type which is private (not visible from the call site) then the regular compiler can see through but Lazy cannot.

Thanks for the analysis ... very helpful.
If you're building on 2.13, would you mind trying to replace Lazy with a by-name implicit argument and see how that behaves?

Compiling with scala 2.13.1, a by-name implicit works as expected. Assuming the definition of object a above:
def implicitByName[A[_]](implicit tc: => TC[A]) = println { tc }
def implicitByLazy[A[_]](implicit tc: Lazy[TC[A]]) = println { tc }

// This works as expected
implicitByName[a.Foo]

// This doesn't work without explicit re-import
import a.Foo._
implicitByLazy[a.Foo]

Ok I think that's another instance of scala/bug#6794 - the implicit is accessible when inferred by the compiler but not when written down by the user (and having a macro generate it is morally equivalent to it being written down by the user).

It's possible that a bit less dealiasing in the Lazy macro might help, but even if it did it would be very fragile.
I think it's a mistake to rely on constructions which depend on aliases having different properties from their alisees (IOW, I think this is a problem with the newtype implementation) ... we should have referential transparency at the type level as well as the term level.
I'll leave this open for a bit, but I'm inclined to close it.

Thanks all for your input on this. Agreed, it seems like it's not something shapeless can reasonably fix, so I'm happy for you to close. The workaround (for now at least) is to explicitly re-import the necessary implicits.
It also seems like there are other issues cats with newtypes, so I will comment there and link back to this issue.


Need to clean up obsolete method usage warnings.

e.g.: warning CS0618: 'RequestTelemetry.HttpMethod' is obsolete: 'Include http verb into request telemetry name and use custom properties to report http method as a dimension.'

Please document sample solution and provide a link to it in the message.

@abatishchev do you mean example AspNet Core Apps and how it uses ApplicationInsights?
Will try to add a .net core sample here:
https://github.com/Microsoft/ApplicationInsights-Home/tree/master/Samples

@cijothomas I mean how to include http verb into request telemetry name and use custom properties to report http method as a dimension

I've also noticed that telemetryClient.StopOperation(operation) throws the exception below if the RequestTelemetry.HttpMethod property is not set (even though the property is marked obsolete).
Newtonsoft.Json.JsonSerializationException occurred   HResult=0x80131500   Message=Error getting value from 'HttpMethod' on 'Microsoft.ApplicationInsights.DataContracts.RequestTelemetry'.   Source=<Cannot evaluate the exception source>   StackTrace:    at Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(Object target)    at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter writer, Object value, JsonContainerContract contract, JsonProperty member, JsonProperty property, JsonContract& memberContract, Object& memberValue)    at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)    at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)    at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)    at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)    at     at Microsoft.ApplicationInsights.TelemetryClient.Track(ITelemetry telemetry)    at Microsoft.ApplicationInsights.Extensibility.Implementation.OperationHolder1.Dispose(Boolean disposing)
at Microsoft.ApplicationInsights.Extensibility.Implementation.OperationHolder1.Dispose()

Closing, as this was fixed with commit 71937799


[BULK] Validation fixes (remove links to nonexistent art)

For User Story https://dev.azure.com/msft-skilling/Content/_workitems/edit/98992: VALIDATION: AspNetDocs/AspNetCore
Removes broken image links to nonexistent site http://www.breezejs.com/sites/all/images/spa-template/* from breezeangular-template.md and breezeknockout-template.md. Removes all graphics from these articles.
The articles are 10 years old and require Visual Studio 2012 so are outdated, but the screenshots aren't necessary for following the procedures. However, pulled the articles out into a separate PR in case something else needs to be done with them.

@Rick-Anderson @mcleblanc - This PR is ready for your review and merge. It fixes the 14 remaining validation issues in AspNetDocs, as explained in the opening comment. (The other build validation issues in this PR are all fixed in PR #836.)


Improve Neo4jGraph write performance due to every write checking for AutomaticIndices (use smart caching)

The main problem is getting the list of automatic indices in a graph for every write. this was not so bad when this list was cached. However, now it depends on Neo4j for this list with every write. It is unnoticeable at 2-3 indices, but when you get to 100+ indices, it becomes readily apparent.
Potential solution: some graph metadata that says what the automatic indices are.

Via Michael Hunger of Neo4j.......
There are graph properties in since about early 1.6 which are intended for configuration and/or metadata. This is also transferred cross-cluster and in backups.
AbstractGraphDatabase or GraphDatabaseSPI graph;
PropertyContainer properties = graph.getKernelData().properties();
properties.getProperty("key", "default");
Michael