using index.Fields().Unique() for single column causes DROP/CREATE INDEX migration cycle

[x] The issue is present in the latest release.

as of 87e21993097e

[x] I have searched the issues of this repository and believe that this is not a duplicate.

https://github.com/ent/ent/issues/1344 was reporting the same phenomenon but different issue

Current Behavior 😯
The following schema causes DROP/CREATE INDEX migration cycle. Though it is mentioned in the document to use field.String().Unique() for single column, I'm assuming this behavior is unintentional.
// ent/schema/user.go

package schema

import (
	"entgo.io/ent"
	"entgo.io/ent/schema/field"
	"entgo.io/ent/schema/index"
)

func (User) Fields() []ent.Field {
	return []ent.Field{
		field.String("email"),
	}
}

func (User) Indexes() []ent.Index {
	return []ent.Index{
		index.Fields("email").Unique(),
	}
}

DROP INDEX is happening here:
https://github.com/ent/ent/blob/master/dialect/sql/schema/migrate.go#L344
Expected Behavior 🤔
either of the following:

raise error when index.Field(..).Unique() with single column is used
accept single column index.Field(..).Unique() and migration cycle does not happen

Steps to Reproduce 🕹
Steps:

add the schema above
run ent auto migration

Your Environment 🌎

Tech
Version

Go
1.16

Ent
v0.9.2-0.20210929153101-87e21993097e

Database
Postgres

Driver
github.com/jackc/pgx/v4 v4.13.0

Hey @Liooo and thanks for reporting this issue.
What's your PostgreSQL version? Thanks 🙏

Hey @a8m thanks for the quick response 👍
❯ postgres --version
postgres (PostgreSQL) 13.3

Hey @Liooo, I was able to reproduce this and submitted a patch #2004
Please, update to the latest master version, and let me know if we can close this issue. Thanks 🙏

@a8m that was the fastest fix I've seen in opensource 🚀 lol thanks so much, ill check later 🙏

confirmed the fix, closing 👍


Fix broken links README.md to point to new relevant locations

Fix broken links (404) to point to relevant new locations
Description
Two links in the ReadMe are returning 404 responses
Related issues

I didn't raise an issue

Remove this section if you don't have related PRs.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Expose sourceFileName to plugins

I'm trying to add relative imports to the styled jsx plugin styled-jsx-plugin-sass, but to do that, I need to be able to give sass the directory containing the file (that contains the CSS chunk).
You can read more of the discussion here: https://github.com/giuseppeg/styled-jsx-plugin-sass/issues/10
I imagine other plugins could have their uses for this too, if anything is wrong feedback is appreciated!
I noticed when I was testing this via nextjs that fileInfo.sourceFileName can have a query attached to it eg ./pages/index.js?entry and I wasn't sure whether to strip the query or leave that to the plugin author, in this PR I just left it.
Thanks!
(EDIT: oh no snapshot testing I don't know how to deal with it!)

So I did some investigating and here's what I found.

As far as I can tell, state.file.filename is never defined, and what we're really after is state.file.opts.filename. (state.file.filename is placed onto fileInfo here)
sourceFileName is the relative path from the file to the source map, I shouldn't have been using it! (it just happened to be the same path I was looking for when compiling via webpack)
According to the babel docs state.file.opts.filename comes from the options passed to babel, so it's not guaranteed to be present. It is present when compiling via babel-cli and webpack, as well as any other sensible tool using babel I imagine.

I found this by logging some stuff in a babel plugin as you suggested, you can have a look: https://github.com/MarcoThePoro/babel-fileinfo-test


Stephane help

Moar Reactor optimization + fixing thread local populated on WebClient body emissions (see Spring Cloud Sample ITIssue)


Prepare a set of test CSV files and remote sources.

Prefer intelligible ones (the suggested Austrian ones might be hard to understand, so either choose those with clear meaning for German non-speakers, or adapt some from other sources), mix both files and remotely accessible. Provide also a few files sharing the same schema (in abstract sense). And some suitable for RDF cube generation.
Put both the files and the list of URLs to some publicly and freely available storage.
Requirement 9.

Hi, as agreed, here are some more specific instructions:

The goal is to have something to test for the 1st iteration, although there are some requirements that expect you to provide files that will be used in later iterations (RDf cube generation for example). Consider those as optional in case the timely delivery of other issues is jeopardized.
Put the files and the one with the list of remote sources (the URLs might actually lead to the other files on the same file sharing service) to some public file sharing site. I don't think it is necessary to make them a part of the repo content, at least for now.
The files must be predominantly in English, but it might be possible to have one or two in other languages (but something that the DBpedia will handle).
At least two files has to share the same schema (the same column headers, in the same order, same valu types,...).
Provide as many as possible files with the metadata (the simplest way might be to actually translate some of those from the Austrian catalog where they provide the metadata file). But please chose the files in such way, that the the column headers and values are interpretable without the metadata file (so no cryptic codes and such). On the other hand at least one file depending on the metadata to interpret it might be useful for later iterations, so please provide this one as well.
Provide a file suitable for RDF cube generation (dash separated "contingent table style" headers).
The total number of files should be at least 7. On the other hand keep the number of files to minimum, the sooner this will be done, the better.
The files should vary in the topics covered.
The files should be friendly towards the DBpedia content.
Please do not neglect the other issues for the sake of this one. It is wise to do this one in the parallel to the file service implementation, as this issue will provide you with suitable test files.

If there are any problems or something not clear, feel free to let me know.

Moved to @tomas-knap at his own request.


Clean up client/server examples

Examples should be as straight-forward as possible and focused on demonstrating the API usage. Trying to remove the non-essential clouding parts from the examples to make them easier to understand.

Tempted to remove the --insecure flag from the client example, as it doesn't really demo how h3 should be used. Is it there for a particular reason?

One more thing: the integration test leaks if it panics when testing, so adding an RAII struct to clean up the server would be great.

Tempted to remove the --insecure flag from the client example, as it doesn't really demo how h3 should be used. Is it there for a particular reason?

I don't have a strong opinion, only that the examples currently provide two things: 1) how to use h3, and 2) an easy way to check interop with a different implementation.
So, it'd be good if it's still very easy for a newcomer to check "does this actually work with cloudflare or youtube".

I don't have a strong opinion. I only note that the examples currently provide two things: 1) how to use h3, and 2) an easy way to check interop with a different implementation.

Noted.
I guess the flag --insecure was added to address this issue #51. If we use a CA certificate instead of a self-signed one, that wouldn't be a problem right?

To sum it up a bit, hopefully by uploading a CA cert, we could get rid of some non-essential logic from the examples

--insecure
dynamically generating self-signed cert when not provided

to make them more straight-forward and easier to learn from.

Tempted to remove tests against nightly from CI. They probably shouldn't be run on a per-PR basis.


Karate CLI Behaves Differently Than Java Runner When Locating Files

This is the original issue I've noticed, that's prevented needed credential setup from running at the beginning of my test when attempting to debug in 0.9.5.RC3.  I've whittled down my project to a few files that replicate a difference I believe demonstrates the original issue.
j-api-integration-tests.zip

@aanutter I'm lost trying to figure what the problem reported is. can you provide steps.

Sorry.

Run feature file using Java runner class.
Set breakpoint in feature file and run using Karate Runner (debug mode)

Actual Results:
Failures are different between the two runners.
Expected Results:
Runners should both fail at the same point.

I'm giving up and tagging as help wanted this is a non-trivial project using Java 11 and I can't run this locally. I'd like a simpler project. cc-ing @kirksl if he has any ideas. my only suggestion is it must be a classpath issue.

Looks like the launch.json did not have the Maven settings added.  If you see the video, you can see the difference where CLI fails to load jdbc, but the java runner does not.  I'll try to upload to slack, the size is too big for github it seems.
Is it just dependency installation that is causing you issues with running the test?

closing due to inactivity. what we expect as a example project is clearly documented here: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

Tried removing the dependencies, the issue is not reproducible.  This is a case where the POM cannot change.
I did ask you about this 11 days ago, never got a response...


[Typo] typo in DataEntryBuilder.java, getFiled() should getField()

I found a place that is likely a typo. But I found it is used widely in downstream projects, fixing this requires a typo fix tool and some planning. Should we consider fixing it now or put it for a later refactoring?
// wondering putField() would make more sense
    public DataEntryBuilder putFiled(String fieldName, Object value) {

        Field field = lookupField(fieldName);
        payload[field.getIndex()] = value;
        return this;
    }

Yes, Could you help to pr it :-0


Outofbox frontend

Changes for the Out of box experience, lots of broken tests somehow

There were the following issues with your Pull Request

Commit: 447240b45f85ea71a3cdc1cbf68e589c11890db4
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/ministryofjustice/fr-staffapp

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: 447240b45f85ea71a3cdc1cbf68e589c11890db4
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/ministryofjustice/fr-staffapp

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: 447240b45f85ea71a3cdc1cbf68e589c11890db4
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/ministryofjustice/fr-staffapp

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: 447240b45f85ea71a3cdc1cbf68e589c11890db4
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/ministryofjustice/fr-staffapp

This message was auto-generated by https://gitcop.com

Closed as this work was moved into another branch and merged from there


BUG: Minor bug fix Callback in linprog(method='simplex')

fixes #9535 @mdhaber

seems straightforward and fixes the issue, merging. Thanks @Kai-Striega


Cross compiling for android

Not sure if I'm writing in right place, but would anyone give me some cross compiling tips for android please? I've successfully cross compiled libcec but without detection ability. Usually there is configure script where I can set some --host --prefix etc, but here is just plain makefile. Sorry for such a lame request, I have no c++ skills and I just need your daemon so much... :)

Did you figure out? Thanks. Do you have any blog post with instructions?


Update TAP reporter to TAP 13

I noticed that mocha is using the older TAP specification and wondering if you would be open to updating it to TAP 13? It is pretty similar. I think the main differences are that version 13 starts with a line that says TAP version 13, and encodes test output in YAML.
General format:
TAP version 13
1..N
ok 1 Description # Directive
# Diagnostic
  ---
  message: 'Failure message'
  severity: fail
  data:
    got:
      - 1
      - 3
      - 2
    expect:
      - 1
      - 2
      - 3
  ...
ok 47 Description
ok 48 Description
more tests....

+1 for TAP 13
with YAML,  multiline error message can be handled correctly by testem test runner.


fix(events): if oldValue or newValue not present return empty array

Note: If there are pending changes to the PR, prefix the PR title with "WIP" and add the label "DO NOT MERGE"
Mandatory

[ ] What does this PR do?
fixes:

fix events according to backend changes

return empty array when oldValue or newValue is not present in relationships

[ ] What issue/task does this PR references?
https://github.com/openshiftio/openshift.io/issues/4147

[ ] Are the tests Included?

Optional

[ ] Is the documentation Included?

[ ] Are the Release Notes included?

[ ] @mention(s) to expected reviewer(s) included

@sahil143 Your image is available in the registry. Run docker pull quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2751 && docker run -it -p 5000:8080 quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2751 and visit http://localhost:5000 to access it.

Looking good but you really should have a test that checks if you can ha.....

added a test for the same https://github.com/fabric8-ui/fabric8-planner/pull/2751/files#diff-54a28a37b7f272fea6972c13962b87eaR304

@sahil143 Your image is available in the registry. Run docker pull quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2751 && docker run -it -p 5000:8080 quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2751 and visit http://localhost:5000 to access it.

@sahil143 Your image is available in the registry. Run docker pull quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2751 && docker run -it -p 5000:8080 quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2751 and visit http://localhost:5000 to access it.


Bug report - [Short description] Tuya devices not in Homey

Describe the bug
I got the message :  making cabililty …. On off , devices can not be add , what must I do ?
I started up new everything, all devices are in the Homey except the Tuya smarts ones, when I want to add new device I don’t see them in the Tuya APP in Homey
App and Homey version
What Homey version are you running?  Homey Pro early 2023
What version of Homey firmware do you use? ?
What version of the Tuya Smart App are you using? Latest version.

Screenshots
If applicable, add screenshots to help explain your problem. -> see attachements

See here the devices in the Tuya smart APP

Tuya zigbee devices are directly connected on the zigbee radio of the homey. If they have been previously connected to a tuya zigbee gateway they will show offline in the tuya app as they are no longer connected.

Normally I restart Tuya APP in Homey, but this does not help in this case !

and I don’t have a Tuya zigbee gateway.

If you dont have a tuya zigbee gateway device how did you get those in your tuya app? Are you sure you have Zigbee devices and not Wifi? If you have wifi devices you'll need the Tuya Cloud homey app. https://homey.app/en-us/app/com.tuya.cloud/Tuya-cloud/
In order to connect Tuya zigbee devices go through the homey app hit add device and select Tuya zigbee -> select device type/model Homey will enter the pairing mode put the device in pairing mode. Usually 3 to 5 seconds of holding down the pinhole button until a led starts flashing.

Hello,We did and changed password as well, but we get message “ 2009”  client ID is invalid.Normally the Tuya devices show up automatically when selecting new device.Met vriendelijke groet,Johan ScholtenOp 11 nov. 2023 om 13:29 heeft Wheel @.***> het volgende geschreven:
If you dont have a tuya zigbee gateway device how did you get those in your tuya app? Are you sure you have Zigbee devices and not Wifi? If you have wifi devices you'll need the Tuya Cloud homey app. https://homey.app/en-us/app/com.tuya.cloud/Tuya-cloud/
In order to connect Tuya zigbee devices go through the homey app hit add device and select Tuya zigbee -> select device type/model Homey will enter the pairing mode put the device in pairing mode. Usually 3 to 5 seconds of holding down the pinhole button until a led starts flashing.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Zigbee doesnt require a password
Zigbee devices do not just show up like compatible devices show up with the Tuya cloud app
client ID invalid is another pointer you are using the Tuya cloud app this is Tuya zigbee app it works completely different.
Pretty sure you have to head over to https://homey.app/en-us/app/com.tuya.cloud/Tuya-cloud/


To-do list for upgrade command

Tentative changes for 1.0 that should be handled in the upgrade command

Move batch table hierarchy to extension: https://github.com/AnalyticalGraphicsInc/3d-tiles/issues/303
Fix leading slash: https://github.com/AnalyticalGraphicsInc/3d-tiles-tools/issues/141
CESIUM_RTC to RTC_CENTER: https://github.com/AnalyticalGraphicsInc/3d-tiles-tools/issues/142
asset.gltfUpAxis removed
Padding: https://github.com/AnalyticalGraphicsInc/3d-tiles/issues/225
gltf 1.0 to 2.0
content.url changed to content.uri
Upgrade glTF semantic BATCHID to _BATCHID

Progress is in https://github.com/AnalyticalGraphicsInc/3d-tiles-tools/tree/2.0-tools

This issue originally referred to the upgrade from "pre-1.0" to "1.0" tilesets. Some of the bullet points have therefore been addressed already, or are tracked in dedicated issues, or have become obsolete (the latter also insofar that gltf-pipeline does the actual upgrade of glTF data).
The question of the scope of the upgrade command is still relevant, though, and maybe now more than before, because it may now refer to upgrading 3D Tiles 1.0 to 1.1.
There is a (somewhat preliminary) set of options in the TilesetUpgrader class that show what the upgrade is currently doing, and this includes some of the bullet points from above.
Beyond that, one could consider to extend the upgrade functionality to cover more of what is described in the 3D Tiles 1.0 to 1.1 migration guide for tile formats.

(This comment contains some TODOs - I'll edit and extend this as we move on...)
The migration guide gives a few hints about how to "emulate" several features of the previous tile formats in glTF. I'll try to start sorting out which of these steps could be part of an automated process.
On the highest level, the entry point would be to add this functionality to the TilesetUpgrader. It should be possible to enable/disable the upgrade based on the input type, so there would probably be upgradeB3dmToGlb, upgradeI3dmToGlb, and upgradePntsToGlb flags in the UpgradeOptions in the TilesetUpgrader.
(The case of CMPT is special in many ways, and has to be discussed separately)
The actual upgrade functionality would then be implemented in the TilesetUpgrader. This upgrade will include modifications to the tileset JSON. These modifications will at least be things like changing the content.uri from .b3dm to .glb. But it may be even more, for example, when converting a (single-content) .cmpt into a (multiple-contents) list of .glb contents.
(The latter has some constraints, though. It may not be done for implicit tile content, for example....)
A large part of the infrastructure for this kind of modification already exists. For example, the b3dmToGlb functionality that is currently part of the pipeline content stages could also be applied to do more than just extracting the GLB from the B3DM. So on this level, many migration steps can be boiled down to the seemingly trivial core:
"The migration function receives a B3DM/PNTS/I3DM buffer. It creates an equivalent GLB buffer"
And what "equivalent" means, is sorted out in the following sections

Feature detection and error handling
A large part of the features from the legacy tile formats can be migrated automatically. In the first versions, there will be some  things that are not migrated yet, but will be migrated in future versions. But there also are cases that can "never" be migrated automatically. One overarching question is how to handle that. A high-level, straightforward approach could be to examine the input data and its Feature Table and Batch Table, and if it contains anything that can not be migrated, then just print a warning and leave the content unmodified.

The RTC_CENTER
For all tile formats, the migration guide says

The RTC_CENTER can be added to the translation component of the root node of the glTF asset.

There already is a function for replacing the CESIUM_RTC extension in a glTF with such a node transform (in GtlfUtilities). Extending that to be a function like applyRootTransform(gltf, center) would be trivial, and then it could be made part of the upgrade command. Whatever the input tile format is: We'd parse the Batch Table JSON, extract the RTC_CENTER, and pass it to that function.
The BATCH_ID
This applies to all tile formats as well. The actual ID can be translated into the EXT_mesh_features extension. This should not be much more than translating the _BATCHID into a _FEATURE_ID_0 attribute 🤞
Translating the contents of the Batch Table into glTF may be a bit more tricky. Broadly speaking, it would involve translating the current Batch Table JSON information - specifically, the "binary body references" - into a 3D Metadata representation, and the Batch Table binary data into property attributes, so that they can be represented with the EXT_structural_metadata extension.
It should be possible to implement that somewhat generically, juggling only with JSON and buffers, and I don't foresee any "large" technical hurdles here - roughly speaking: EXT_structural_metadata is more powerful/expressive than the Batch Table, so it should be possible to convert everything without losing information.
PNTS to GLB
This could be easy for most cases, and impossible for others. Looking at the point semantics:

POSITION, NORMAL: Standard glTF attributes
RGBA, RGB: Standard glTF attributes with VEC4 or VEC3
POSITION_QUANTIZED, RGB565, NORMAL_OCT16P: Not possible. This would cause a warning, and leave the data unmodified
CONSTANT_RGBA (global): Could be emulated with a standard glTF material

The fact that this is relatively clearly separated into "easy" and "impossible" makes it a good candidate for a first step. Different test cases for point clouds that contain these features can be found via https://github.com/CesiumGS/cesium/blob/db2669aae149e965a3578fd0343384a33f83543c/Specs/Scene/PointCloud3DTileContentSpec.js#L35-L70
B3DM to GLB
TODO
I3DM to GLB
TODO
CMPT to GLB
TODO

Just to have a back-link here: There are some points about a possible upgrade from 3D Tiles 1.0 to 1.1 summarized in https://github.com/CesiumGS/3d-tiles/issues/592#issuecomment-982634526 that may have to be taken into account here.

A short update: Most of the functionality for the generalized upgrade has been implemented in https://github.com/CesiumGS/3d-tiles-tools/pull/41 and https://github.com/CesiumGS/3d-tiles-tools/pull/52 .
The remaining (open) task is that of upgrading CMPT files. There are some caveats (as described in detail in the previous comment), so this may not be tackled immediately. But the approach of "merging the (resulting) GLBs" could be worth a try, because for the kind of data that usually appears as tile content, this could be implementable with glTF-Transform with reasonable effort.

A small update: The conversion of CMPT to GLB has been implemented as part of https://github.com/CesiumGS/3d-tiles-tools/pull/117 (with caveats, corner cases, and limitations laid out in the PR, and the comment above)
Now, from the list that was posted when we were still young, there are two main points left:

https://github.com/CesiumGS/3d-tiles-tools/issues/7 - what to do with that?
"Padding"

The latter made its way into the specification, But it was pretty late, and caused some "disruption" like https://github.com/CesiumGS/cesium/commit/4b3b4186b4afa2307d7d1666569826d864b984ca and many (other) ("legacy") data sets that are "invalid" due to some alignment errors.
Some of this is already handled via the functionality of converting the "legacy" tile formats to GLB. But one could make a case for offering a command that just takes contents like B3DM and fixes the alignment requirements, with as few other changes as possible. Maybe this should be tracked in a dedicated issue...?

@javagl I think this issue is closeable now, after 6 years 😄

But one could make a case for offering a command that just takes contents like B3DM and fixes the alignment requirements, with as few other changes as possible. Maybe this should be tracked in a dedicated issue...?

Feel free to open a separate issue. Though this would be lower priority.


Timed out after 120000 ms while trying to connect to the browser! Only Chrome at revision r722234 is guaranteed to work?

Timed out after 120000 ms while trying to connect to the browser! Only Chrome at revision r722234 is guaranteed to work?
How do you handle it?Local normal,but centOs 7 has problem？ @jeresig

👍🏽


feat: Better diagnostic error messages for policy issues

Produce better error messages for parsing and validation problems found in policy files. Includes accurate line and column numbers and surrounding context where possible.

The protobuf check failure is not relevant because the changed protobuf is not yet used anywhere else.


Small suggestion for improvement

Could we remove the dependency for ZIPFoundation? By that I don't mean to completely remote it, but to split the main library into multiple parts, one LITE version that does not have this dependency and FULL that still has it. In our case we simply don't need the zip functionality and carrying around an unused ZIP framework in the app bundle is redundant for us.
This is possible in cocoapods, but I'm not sure how this can be done with cartahge. Maybe RxSwift repository can give us a hint how to set it up (they provide multiple modules from a single repository).

I understand your point, but there are some buts:

I don't think using Base64 strings is that popular that many would benefit from the split.
I would rather think about having DFU with a simple DFUFirmware class, without the ZipFramework dependency + another module that extends it and allows to use ZIP. I don't know if it's possible.
I have a lot in my backlog right now and this doesn't seem to be important task (just an improvement). So even if it's implemented, it will take long time, so PRs are welcome :)
That would also require us to maintain this modules in the future. I have no idea is it easy or not, never done that. Perhaps some script would solve everything (automated release, etc).

Let's keep the task here. Perhaps it will eventually be resolved.

Well base64 is just our way to hardcode the raw FW data into the app binary, we convert it into Data when required. We might add Firebase support in the future and distribute FW updates through the web which most likely will also avoid zip files.
It's definitely not a super important task but it would remove unnecessary dependency from our project. If I find some time in the next couple of weeks I could provide a PR, but I'm not sure how I can quickly test pods as I probably would need to create a new podspec just for testing.


String representation for network

Based on Lasagne PR #324
A string representation for a Neural Network built using Lasagne. The network topology is represented using adjacency lists (currently). Listing incoming and outgoing layers for each layer in the network is optional.
Examples:
(1) A network with sequential structure: input --> dense --> dropout --> dense --> dropout --> dense
>>> print(get_network_str(output_layer))

Layer    Description
-----    -----------
0        <lasagne.layers.input.InputLayer object at 0x1004f1110>
1        <lasagne.layers.dense.DenseLayer object at 0x104c86510>
2        <lasagne.layers.noise.DropoutLayer object at 0x104c86550>
3        <lasagne.layers.dense.DenseLayer object at 0x104ca1550>
4        <lasagne.layers.noise.DropoutLayer object at 0x104ca1590>
5        <lasagne.layers.dense.DenseLayer object at 0x104ca1810>

(2) A network with two branches: input --> conv1, conv2 --> pool1, pool2 --> dense1, dense2 --> concat --> output
>>> print(get_network_str(output_layer, incomings=True, outgoings=True))

or
>>> layers = get_all_layers(output_layer)
>>> print(get_network_str(layers, get_network=False, incomings=True, outgoings=True))

In -->     Layer    --> Out    Description
-------    -----    -------    -----------
[]         0        [1, 4]     <lasagne.layers.input.InputLayer object at 0x104ca1810>
[0]        1        [2]        <lasagne.layers.conv.Conv2DLayer object at 0x104c86550>
[1]        2        [3]        <lasagne.layers.pool.MaxPool2DLayer object at 0x104c86510>
[2]        3        [7]        <lasagne.layers.dense.DenseLayer object at 0x104d5ec10>
[0]        4        [5]        <lasagne.layers.conv.Conv2DLayer object at 0x104d5ec50>
[4]        5        [6]        <lasagne.layers.pool.MaxPool2DLayer object at 0x104d5eed0>
[5]        6        [7]        <lasagne.layers.dense.DenseLayer object at 0x104d6e190>
[3, 6]     7        [8]        <lasagne.layers.merge.ConcatLayer object at 0x104d6e1d0>
[7]        8        []         <lasagne.layers.dense.DenseLayer object at 0x104d6e450>

Overriding __str__ for each Layer class can change the default description of each layer.
For something prettier, there's the draw_net tool. (See Lasagne PR #174)

Great, our first utility function! Thank you.


Error creating new project

I was trying to create a new empty project with 'bundle gem' but received this error
bundle gem rubyTest2
DL is deprecated, please use Fiddle
Creating gem 'rubyTest2'...
â?â?â? ERROR REPORT TEMPLATE â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?

What did you do?
What did you expect to happen?
What happened instead?

Error details
NameError: undefined local variable or method `opts' for #<Bundler::CLI::Gem:0x2d42978>
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/cli/gem.rb:43:in `run'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/cli.rb:351:in `gem'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/vendor/thor-0.19.1/lib/thor/command.rb:27:in `run'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/vendor/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/vendor/thor-0.19.1/lib/thor.rb:359:in `dispatch'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/vendor/thor-0.19.1/lib/thor/base.rb:440:in `start'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/cli.rb:10:in `start'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/bin/bundle:20:in `block in <top (required)>'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/lib/bundler/friendly_errors.rb:6:in `with_friendly_errors'
C:/Ruby21/lib/ruby/gems/2.1.0/gems/bundler-1.9.0.pre/bin/bundle:18:in `<top (required)>'
C:/Ruby21/bin/bundle:23:in `load'
C:/Ruby21/bin/bundle:23:in `<main>'

Environment
Bundler   1.9.0.pre
Rubygems  2.4.6
Ruby      2.1.5p273 (2014-11-13 revision 48405) [i386-mingw32]
Git       1.9.4.msysgit.0

â?â?â? TEMPLATE END â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?â?
Unfortunately, an unexpected error occurred, and Bundler cannot continue.
First, try this link to see if there are any existing issue reports for this error:
https://github.com/bundler/bundler/search?q=undefined+local+variable+or+method+`opts'+for+%23<Bundler%3A%3ACLI%3A%3AGem%3A0x2d42978>&type=Issues
If there aren't any reports for this error yet, please create copy and paste the report template above into a new issue. Don't forget to anonymize any private data! The new issue form is located at:
https://github.com/bundler/bundler/issues/new
My system is a windows 7 pro machine, ruby version ruby 2.1.5p273 (2014-11-13 revision 48405) [i386-mingw32] and bundler 1.9.0.pre
If you need any more informations let me know

Hi @antonio-fasolato, thank you for reporting.
This was an issue we've already caught and fixed, pending a new pre release.
Thank you also for testing betas. Really helps! :heart:


Various bug fixes and stability improvements

An LB delete that gets back Invalid request... will never be able to complete. Junk it and move on
Clean up a number of deprecated things in CuratorAsyncManager and prefer more lambdas over old style
In the load balanced curator, attempt to use the same curator client for the same thread where possible to avoid race conditions hitting possibly different zk instances
For tasks that do not have any active task data when they hit status updates, clean them up. These will only cause issues if allowed to persist (and will never actually be added to LB)
Fix a possible overflow in length for task usage column with task ids oover 200 chars. This fails gracefully and is fine to leave empty
Rerun the scheduler check after marking as started during startup. this should fix a case where a status update came in but we did not schedule a new pending task for it yet because we were not marked as started

🚢


PhysicalResourceId not set in response

Hi,
There is an issue with the body generated. The fallback when self.PhysicalResourceId is not set is incorrect.
PhysicalResourceId: self.PhysicalResourceId || event.ResourceProperties.Name
I believe it should be
PhysicalResourceId: self.PhysicalResourceId || event.PhysicalResourceId

Fixed via #6


Implement a Notification System

I propose the implementation of a notification system that will alert users about significant updates on the platform, such as the addition of new stations, changes in operating hours, upcoming events, and any other relevant information. This system will ensure that users receive timely updates and can stay connected with the latest developments.
Key Features:
Real-Time Notifications: Users will receive notifications in real-time for new updates or changes, ensuring they are always informed.
User Preferences: Allow users to customize their notification preferences (e.g., types of updates they want to receive, frequency).
Notification Center: Implement a dedicated section on the user dashboard where users can view past notifications and manage their settings.
Push Notifications: Explore the option to implement push notifications for mobile users, allowing them to receive updates even when they are not actively browsing the site.
Email Notifications: Provide an option for users to receive email notifications for important updates.
Benefits:
Keeps Users Informed: Ensures users are always updated on critical changes, enhancing their overall experience on the platform.
Increases User Engagement: Encourages users to return to the site to check for updates, leading to higher engagement rates.
Personalized Experience: By allowing users to customize their notification preferences, we cater to their interests and enhance their connection to the platform.
Promotes New Features: Alerts about new stations or services can drive user interest and encourage exploration of the platform.

[. ] Yes
[ ] No

I will use Socket.io with Node.js and Express.js to implement real-time notifications, ensuring users receive updates instantly. User preferences will be stored in MongoDB, and a React.js UI will allow users to manage their notification settings. A dedicated Notification Center will be built using React.js, where users can view past notifications, and MongoDB will handle the storage. For push notifications, I will leverage the Push API and Service Workers to send updates to mobile devices, and I will use Nodemailer in Node.js for sending email notifications based on user preferences.


Ethereum Exection Layer & Consensus Layer programs are now combined

Summary
Ethereum Foundation's Bug Bounty Programs have now been combined into a single program.
Quality Assurance Checklist
< Confirmation of this pull request meeting the following requirements, prior to merge >

Review Items
Y/N

Site has a publicly known bug bounty or vulnerability disclosure program
Y

Disclosure policy is publicly available
Y

Public URL
Y

Submission follows the Diodb schema
Y

Your Twitter handle (Optional): fredriksvantes

Thanks!


Selects with more then 4 explictly typed options always return string values in v-model.

Vue version
3.2.38
Link to minimal reproduction
sfc.vuejs.org
Steps to reproduce
I have a simple <select v-model="foo"> setup with 5 options and the values all set to numbers.  When there are 4 options, the variable is set to a number type as expected.  When there are 5 or more options, the variable is set to a string!
See the example link as a demo with two identical selects other than the number of options.
If you instead define an array and use v-for to create your options, this bug does not appear and you can have 100 options and the value is always a number.
What is expected?
The v-model variable should always be a number and the number of options set shouldn't matter.
What is actually happening?
As soon as more than 4 explicit option tags are present you get a string as the value.
System Info
No response
Any additional comments?
No response

A compiler optimization hoists these elements as one static HTML string, which removes the runtime type information that was present in the binding.


fix: Remove logging of a parameter while using mlflow.sklearn.autolog()

mlflow.log_param("Regularization rate", reg_rate) was removed since mlflow.sklearn.autolog() is used above and it isn't mentioned to pay attention on the additionally logged Regularization rate in the Detail section of AML Studio
Module: 10
Lab/Demo: 10
Fixes # 1
Changes proposed in this pull request:
Either remove manual logging while using mlflow.sklearn.autolog() or add a comment, to make people pay attention on the difference between manual and auto logging looking at the Detail section of AML Studio

Already fixed in a previous PR.


v07 UnicodeDecodeError invalid continuation byte

My JPP docker setup stopped working a couple weeks ago. It seems to be related to a character in the JuiceBox ID that the box is sending...although I haven't changed anything.
This appears to be different than the other issue mentioning UnicodeDecodeError - as that issue was using what appeared to be an encrypted version of the protocol...mine is still v07.
juicepassproxy  | 2024-11-09 18:58:10  DEBUG     [juicebox_mitm] Starting JuiceboxMITM Loop
juicepassproxy  | 2024-11-09 18:58:22  DEBUG     [juicebox_mqtthandler] From JuiceBox: b'0\xc300081509281447541218021146:v07,s0,u6623,V2479,L20710648,S1,T25,M24,m32,t30,i50,e0,f6002,X0,Y0!UF0:\n'
juicepassproxy  | 2024-11-09 18:58:22  ERROR     [__main__] A JuicePass Proxy task failed: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 1: invalid continuation byte
juicepassproxy  | 2024-11-09 18:58:30  DEBUG     [__main__] jpp_task_list: [<Task finished name='mqtt_handler' coro=<JuiceboxMQTTHandler.start() done, defined at /juicepassproxy/juicebox_mqtthandler.py:320> result=None>, <Task finished name='mitm_handler' coro=<JuiceboxMITM.start() done, defined at /juicepassproxy/juicebox_mitm.py:49> exception=UnicodeDecodeError('utf-8', b'0\xc300081509281447541218021146:v07,s0,u6623,V2479,L20710648,S1,T25,M24,m32,t30,i50,e0,f6002,X0,Y0!UF0:\n', 1, 2, 'invalid continuation byte')>]

Startup just loops until finally erroring out.

@pbjfarm I think that with my branch the container will not stop, can you test ?
https://github.com/JuiceRescue/juicepassproxy/pull/69
If is just sometimes that it send wrong messages we can just skip, but if your device keeps sending that, maybe we need to get a way to ignore that unexpected character

@ivanfmartinez I have your branch running now. It's producing the same error, but is continuing with the Starting JuiceboxMITM Loop...and it did finally exit with:
juicepassproxy  | 2024-11-10 21:33:21  ERROR     [aiorun] Unhandled exception; stopping loop: 'Task exception was never retrieved'

The weird thing is that the problem ID in the message doesn't quite match my JuiceBox ID.
Sent:  b'0\xc300081509281447541218021146
Mine:<PHONE_NUMBER>281447541218021146

I'm not sure if it's gotten corrupted on the JuiceBox, or what? I'm not really sure how to change it either...

@pbjfarm its TCP/IP which does have checkings, the value will not be corrupted on TCP/IP part, it should be corrupted before going out juicebox device.
It appear to me something hardware related.
Even if I change the \xc3 to 1 on the message you sent on first comment of the issue, the checksum still does not match.
Appear that something else on the message are wrong.
To try to understand if there is also another exception that I can catch probably I need a complete log to check. If you dont want to send log here you can send to my email (my github username at gmail) or telegram with same username .
All messages are corrupted or some are correct ?

@ivanfmartinez I thought this was UDP...but it does seem like my messages (or at least the ID) are corrupted somehow.
I've now managed to brick my box somehow (it's not showing the local WiFi SSID on reboot), so I won't be able to provide logs until I can figure out what's going on.

@pbjfarm JB used UDP and UDP is part of TCP/IP.
If the ids are broken in all messages, them is something on the device.
Maybe FalconFour can help with more ideas or maybe someone else on Discord check main page for link https://github.com/JuiceRescue

Hi.  Not trying to be critical at all.  But I'd like to clarify about TCP and UDP.  UDP isn't part of TCP/IP.  IP is a layer 3 protocol.  Both UDP and TCP are layer 4 protocols that run on top of IP.  You use one OR the other.  TCP establishes a stateful connection to a remote peer and provides reliable stream transport so that higher layer protocols can send data without worrying about issues such as resending data if packets are lost.  TCP takes care of that.  UDP is a best effort datagram protocol.  It is connectionless.  It sends a packet and it's done.  When using UDP, the higher layer protocol must handle issues such as resending lost packets/data.
While UDP doesn't guarantee packet delivery, it does support a checksum to try to detect any packet corruption.  However, this checksum is optional and the implementation can set it to zero to disable it.
UDP seems a logical choice for the JB as it sends a complete message in a single datagram, and even if a packet is lost, the JB is going to resend another soon anyway.  TCP would add unnecessary overhead, especially on a busy server.  As for the UDP checksum, I have no idea if the JB uses it or not.  We could tell from a packet capture.  Since the Enel X protocol provides its own checksum, there is a good chance they are not using the UDP checksum.

This just started happening for me one day ago. Here's the error:
juicepassproxy  | 2024-11-15 23:12:07  INFO      [ha_mqtt_discoverable.sensors] Setting Send Command to JuiceBox to Send Command to JuiceBox using hmd/text/JuiceBox/Send-Command-to-JuiceBox/state
juicepassproxy  | 2024-11-15 23:12:12  ERROR     [juicebox_mitm] Not a valid juicebox message |b'0817081001070462465218264504:v08\xc2\xe1_\x01\x00\x01Z&\x17\xa5Wzp\x8c,\x00\xa7\xee/Tf\t\xf4\xe3\xed\xa4\xb6\x88I\x9en\x84a\x83\\\xb7\xc4\xa9RD\xe8%\x0cX\xfe\x93\x96\xa7\xa5\xf3B\x94)\xf7>\xef\x16\x9f\x8d\xa4\xa9\x84\x17sha\x86\xc1\xa9\x8ff\x02/F\x12|C\x0eR\xd5\xf1!\xeeYTE\xdfS/J<\xf5\xcfO\xc2\xa9\xaa\xf5\x98\xff\x85\x82\x9f4\x01\xbeJ\r\xac\xc7\xf0\xb6\xb9\x06,ce.\x9e\x1c\xf0%\x17m\xaf\xe4`\xc5'| 'utf-8' codec can't decode byte 0xc2 in position 32: unexpected end of data
juicepassproxy  | Traceback (most recent call last):
juicepassproxy  |   File "/juicepassproxy/juicebox_message.py", line 144, in juicebox_message_from_bytes
juicepassproxy  |     string = data.decode("utf-8")
juicepassproxy  |              ^^^^^^^^^^^^^^^^^^^^
juicepassproxy  | UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 32: invalid continuation byte
juicepassproxy  |
juicepassproxy  | During handling of the above exception, another exception occurred:
juicepassproxy  |
juicepassproxy  | Traceback (most recent call last):
juicepassproxy  |   File "/juicepassproxy/juicebox_mitm.py", line 156, in _message_decode
juicepassproxy  |     decoded_message = juicebox_message_from_bytes(data)
juicepassproxy  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
juicepassproxy  |   File "/juicepassproxy/juicebox_message.py", line 148, in juicebox_message_from_bytes
juicepassproxy  |     return JuiceboxEncryptedMessage().from_bytes(data)
juicepassproxy  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
juicepassproxy  |   File "/juicepassproxy/juicebox_message.py", line 389, in from_bytes
juicepassproxy  |     string = data[0:33].decode("utf-8")
juicepassproxy  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
juicepassproxy  | UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 32: unexpected end of data
juicepassproxy  | 2024-11-15 23:12:12  ERROR     [__main__] A JuicePass Proxy task failed: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 32: invalid continuation byte
juicepassproxy  | Traceback (most recent call last):
juicepassproxy  |   File "/juicepassproxy/juicepassproxy.py", line 581, in main
juicepassproxy  |     await asyncio.gather(
juicepassproxy  |   File "/juicepassproxy/juicebox_mitm.py", line 62, in start
juicepassproxy  |     await self._connect()
juicepassproxy  |   File "/juicepassproxy/juicebox_mitm.py", line 105, in _connect
juicepassproxy  |     self._mitm_loop_task = await self._mitm_loop()
juicepassproxy  |                            ^^^^^^^^^^^^^^^^^^^^^^^
juicepassproxy  |   File "/juicepassproxy/juicebox_mitm.py", line 136, in _mitm_loop
juicepassproxy  |     await self._main_mitm_handler(data, remote_addr)
juicepassproxy  |   File "/juicepassproxy/juicebox_mitm.py", line 213, in _main_mitm_handler
juicepassproxy  |     data = await self._local_mitm_handler(data, decoded_message)
juicepassproxy  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
juicepassproxy  |   File "/juicepassproxy/juicebox_mqtthandler.py", line 649, in local_mitm_handler
juicepassproxy  |     message = await self._basic_message_parse(data)
juicepassproxy  |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
juicepassproxy  |   File "/juicepassproxy/juicebox_mqtthandler.py", line 472, in _basic_message_parse
juicepassproxy  |     parts = re.split(r",|!|:", data.decode("utf-8"))
juicepassproxy  |                                ^^^^^^^^^^^^^^^^^^^^
juicepassproxy  | UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 32: invalid continuation byte
juicepassproxy  | 2024-11-15 23:12:25  ERROR     [__main__] Restarting JuicePass Proxy Loop (9)
juicepassproxy  | 2024-11-15 23:12:25  INFO      [juicebox_mqtthandler] max_current: 32

I tried rebooting the juicebox, and I found something interesting.
After issuing the reboot command through the telnet shell, as soon as the juicebox came online again I briefly saw the following result from the list command:
list
! # Type  Info
# 0 UDPC  juicenet-udp-prod4-exw.enelx.com:9004 (30660)
# 1 HTTP  https://juicenet-prod4.enelx.com/v1/unit/0817081001070462465218264504/keys:443 (20379)
> [2024-11-15 | 22:22:27: Closed: 1]

Note: That HTTP thing wasn't there before and went away after a few seconds.
Checking the response when visiting that URL, I saw this:
{"key":"ef3c41c925ff10174684512b40beace03dd22aeeac5aa2fb97a8af49fcb4d38c","exp_date":"2025-11-14T14:27:30.802Z","err_msg":null}

Notably, the expiry time correlates almost exactly with the time the juicebox stopped responding (screenshot from home assistant, I'm in UTC+1 which very closely matches the date and time data was last received from the Juicebox:

This may be a coincidence, but I wouldn't be surprised if there's something more going on here. Would be helpful if someone else could check this so we can get some more datapoints.

Found another bit of interesting information. I was using the DNS override method, and I had the hosts set to the IP of juicepassproxy. I decided to temporarily revert this change to let the juicebox phone home again, in the hope that it would obtain a fresh key with a new exp_date. What I saw after rebooting the juicebox again and running list is this:
❯ nc -v <IP_ADDRESS> 2000
Connection to <IP_ADDRESS> port 2000 [tcp/callbook] succeeded!
[2024-11-15 | 23:09:22: Ready]
> list
list
! # Type  Info
# 0 UDPC  jbv1.emotorwerks.com:8042 (6470)
# 1 HTTP  https://directory-api.emotorwerks.com/v1/profiles/juicebox/0817081001070462465218264504/:443 (35085)
> [2024-11-15 | 23:09:24: Closed: 1]
[2024-11-15 | 23:09:24: Closed: 0]
[2024-11-15 | 23:09:25: Opening: juicenet-udp-prod4-exw.enelx.com:9004]
[2024-11-15 | 23:09:25: Opened: 0]
[2024-11-15 | 23:09:26: Opening: juicenet-prod4.enelx.com]
[2024-11-15 | 23:09:27: Opened: 1]
[2024-11-15 | 23:09:31: Closed: 1]
[2024-11-15 | 23:09:33: Opened: 1]
[2024-11-15 | 23:09:33: Closed: 1]
[2024-11-15 | 23:10:04: Opened: 1]
[2024-11-15 | 23:10:04: Closed: 1]
[2024-11-15 | 23:10:24: Opened: 1]
[2024-11-15 | 23:10:24: Closed: 1]

This time there's another URL listed (https://directory-api.emotorwerks.com/v1/profiles/juicebox/0817081001070462465218264504), which returned this little gem:
{
  "control_api_endpoint" : "https://juicenet-prod4.enelx.com",
  "device_https_endpoint" : "https://juicenet-prod4.enelx.com",
  "device_ocpp_endpoint" : "https://juicenet-prod4.enelx.com",
  "device_protocol" : "Both",
  "device_udp_endpoint" : "juicenet-udp-prod4-exw.enelx.com:9004",
  "encrypt" : "false"
}

Could this be the way to MITM this box permanently?

One more error, this time a different error (Unsupported encrypted message version):
2024-11-16 01:32:43  INFO      [ha_mqtt_discoverable.sensors] Setting Send Command to JuiceBox to Send Command to JuiceBox using hmd/text/JuiceBox/Send-Command-to-JuiceBox/state
2024-11-16 01:32:43  INFO      [telnetlib3.client] Connected to <Peer <IP_ADDRESS> 2000>
2024-11-16 01:32:45  INFO      [juicebox_udpcupdater] JuiceboxUDPCUpdater Check Starting
2024-11-16 01:32:46  INFO      [juicebox_udpcupdater] UDPC IP correct
2024-11-16 01:32:48  ERROR     [juicebox_mitm] Not a valid juicebox message |b'0817081001070462465218264504:v08(\x1d?\x01\x00\x00\r\xadT\x93\xeaL*wt\xe3T\xdb\xe6\x96CU\x8c&\xf9K\x8a\x83\xc0\xcdu\xd6\xf5\x1e*\t\x81P]\x01\xeeGz\x8b\x9cX\xeb\xb6\xdd\xae\xe3m\xfd\xa4\xc97c\x86@\x1cEH\xc8e2\xd4#\xa9\xc2c\xd7a\xc0\x81\xd9{\xac\x04\xb4{\xf49V\xcb#4X\x1dxo\xb6\x8f-\xbf\x07O\xba?w\xd3\xd7\x10\xa40T1\xaa\x97X\x12.x\xca`\xd1\xc3\x8e\xc89\xae\n\x98\xe2#B\xc0\x94v'| Unsupported encrypted message version: 'b'0817081001070462465218264504:v08(\x1d?\x01\x00\x00\r\xadT\x93\xeaL*wt\xe3T\xdb\xe6\x96CU\x8c&\xf9K\x8a\x83\xc0\xcdu\xd6\xf5\x1e*\t\x81P]\x01\xeeGz\x8b\x9cX\xeb\xb6\xdd\xae\xe3m\xfd\xa4\xc97c\x86@\x1cEH\xc8e2\xd4#\xa9\xc2c\xd7a\xc0\x81\xd9{\xac\x04\xb4{\xf49V\xcb#4X\x1dxo\xb6\x8f-\xbf\x07O\xba?w\xd3\xd7\x10\xa40T1\xaa\x97X\x12.x\xca`\xd1\xc3\x8e\xc89\xae\n\x98\xe2#B\xc0\x94v''
Traceback (most recent call last):
  File "/juicepassproxy/juicebox_message.py", line 144, in juicebox_message_from_bytes
    string = data.decode("utf-8")
             ^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 39: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/juicepassproxy/juicebox_mitm.py", line 156, in _message_decode
    decoded_message = juicebox_message_from_bytes(data)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/juicepassproxy/juicebox_message.py", line 148, in juicebox_message_from_bytes
    return JuiceboxEncryptedMessage().from_bytes(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/juicepassproxy/juicebox_message.py", line 398, in from_bytes
    raise JuiceboxInvalidMessageFormat(f"Unsupported encrypted message version: '{data}'")
juicebox_exceptions.JuiceboxInvalidMessageFormat: Unsupported encrypted message version: 'b'0817081001070462465218264504:v08(\x1d?\x01\x00\x00\r\xadT\x93\xeaL*wt\xe3T\xdb\xe6\x96CU\x8c&\xf9K\x8a\x83\xc0\xcdu\xd6\xf5\x1e*\t\x81P]\x01\xeeGz\x8b\x9cX\xeb\xb6\xdd\xae\xe3m\xfd\xa4\xc97c\x86@\x1cEH\xc8e2\xd4#\xa9\xc2c\xd7a\xc0\x81\xd9{\xac\x04\xb4{\xf49V\xcb#4X\x1dxo\xb6\x8f-\xbf\x07O\xba?w\xd3\xd7\x10\xa40T1\xaa\x97X\x12.x\xca`\xd1\xc3\x8e\xc89\xae\n\x98\xe2#B\xc0\x94v''
2024-11-16 01:32:49  ERROR     [__main__] A JuicePass Proxy task failed: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 39: invalid start byte
Traceback (most recent call last):
  File "/juicepassproxy/juicepassproxy.py", line 581, in main

The  enel X servers are enabling encryption on the devices.
You have to block access to the enel x servers using something

firewall rules
DNS overriding to enel x servers
or any other way to keep the juicebox without talking to enel x directory server using only unencrypted protocol.

I have tried to access the standard endpoint for some of the devices that are using encryption and all return encrypt false, probably the Juicebox send any header that makes the server know that device can support encryption and then are returning true or other thing to enable the encryption.

@philipkocanda the line numbers from your exceptions does not match the lines from latest version in my branch. Latest version has better messages when encryption is found.
Your device is sending v08 protocol version, can you add information about your device at, help understand if its a different version or just something that directory server changed :
https://github.com/JuiceRescue/JuiceboxRescueWiki/wiki/Firmware-Versions
https://github.com/JuiceRescue/JuiceboxRescueWiki/wiki/Hardware-Versions


[Feature request] Add the ability to link multiple ETHM-1 Plus

Is it possible to add a feature that allows more than one ETHM-1 Plus panel to be connected?
I have several such control panels in different buildings and would like to control them with Home Assistant, but it seems that the current integration allows only one ETHM-1 Plus to be connected.
I know that there is such a possibility in Openhab, but I need to be able to do it in Home Assistant.

there are more people like you. I also have several locations and a huge problem to manage all the integras in one place

Is there a chance to add this functionality? I tried using OpenHab, but it is much less stable and accessible than Home Assistant.

There is always a chance 😉
I don't want to commit to anything but it is on my radar.

Current YAML schema supports only one device. Another thing is that a general trend in HA is to move towards GUI configuration instead of YAML
So maybe it would not be a bad idea to combine two different changes together: to implement GUI config flows supporting multiple devices. Existing single-device YAML config could be migrated automatically and once migrated the YAML entry would be ignored (to be manually removed).


chore: remove lines from text retriever mock

Complement of https://github.com/updatecli/updatecli/pull/490

@lemeurherve I let you merge this PR once you are ready


Manual Pagination doesnt reset PageIndex when Manual Column Filtering. (server-side, v8)

Describe the bug
We have recently moved to use v8 of react-table and have noticed a bug where the pageIndex doesn't reset when we are using manualPagination and manualFiltering. This is when we are making server-side calls to get our data with the information.
In v7 it was the case that we would have our pageIndex reset to 0 when we make a filter change when we had both manualPagination && manualFiltering.
This resulted in the correct Query being made, however with the regression in behaviour in v8 we are seeing incorrect requests.
Your minimal, reproducible example
https://codesandbox.io/p/sandbox/festive-hertz-chekxf
Steps to reproduce

go to page 1000
filter on status complicated
you'll see page 1000/331 - with no data

Expected behavior
As a User when i am on a page I should be reset back to the first page when i filter and expect to see the the contents of the filter on page  1/331
How often does this bug happen?
Every time
Screenshots or Videos

Platform

MacOS 13.2.1
Chrome 111.0.5563.146

react-table version
V8.8.5
TypeScript version
No response
Additional context
No response
Terms & Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

Hi @talatkuyuk,
Adding autoResetPageIndex: true resets the pageIndex every time we navigate to a new page.
adding autoResetPageIndex: false never resets the pageIndex even when filtering.
unfortunately neither of these offer a solution to the underlying issue.

Got it. Your problem is not related with react-table.
If you follow manual pagination and manual filtering from server side, your API has to respond every time with the pagination data. I mean that whenever you make a new query with new filter parameters, your API has to contain new pagination data (if you don't request specific page from the server, it normally sends the first page of the filtered results), so that you can apply this pagination data into table manually (by setting the pagination state of the react table). This is the manual pagination. If you receive 1000 records and show 50 records in the page, this is not manual pagination.

Hi Talatkuyuk,
Thanks for the reply!
The confusion here is that this change in behavior is a regression from the functionality of v7.
Is there any plan to support this old functionality in the future?


Tagging Broken in 0.12 (including in the demo)

Anyone else seeing Tagging without multiple broken in 0.12?
In 0.11.1 I see:

Plunker of 0.11.1 Demo
But in 0.12 I see nothing happening:

Plunker from the readme.rd

Got the same in 0.12!
If you add multiple to "Tagging without multiple" part it works!

@r00tat, Interesting, but that also changes the UI to make users think it takes multiples, which is not correct for an app that does not take multiples.

Hi
I've the same problem with tagging without multiples in version 0.11.2 and 0.12 I was looking at the code and it seems the keyput listener $select.searchInput.on('keyup', function(e) { it's only on the directive uiSelectMultipleand not in uiSelectSingle neither in uiSelect
I moved that part of the code to uis.directive('uiSelect', and it seems it works with multiple and without multiple.....(shows the tagging-label in the dropdown)
I'm not sure what does this break.....

@jjchiw thanks much this has fixed the problem for me! I have this on 7 or 8 places, and changing this did not break any of my usages... wondering why it was changed in the first place though... May submit a PR later with this change after some more testing.

Yeah... this is killing me right now :(

Still broken in 0.13.2

That problem have many issues but without fix, just pull request.
Many issues related are opened and closed without solution. It's frustrating!

Updated Plunker here


vBump arc and azdata ext

Possibly not necessary but doing this now in case we want to release a minor update between now and release.

Pull Request Test Coverage Report for Build 298204397

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

Totals

Change from base Build 298183079:
0.0%

Covered Lines:
20093

Relevant Lines:
46189

💛  - Coveralls


Update Messenger.md

Note about Architectural principle violation

Fixes #
Docs for Toolkit PR #
What changes to the docs does this PR provide?

PR Checklist
Please check if your PR fulfills the following requirements:

[x] Correctly picked the right branch to base the change off (dev for new features, master for typos/improvements)
[x] For new pages, used the provided template
[x] For new features, added an entry in the Table of Contents
[x] Ran against a spell and grammar checker
[x] Contains NO breaking changes

Other information

Probably, my way of explain can be changed, English is my foreign language.

Docs Build status updates of commit b218a72:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/mvvm/Messenger.md
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.Graph.Uwp.Converters/UserToPersonConverter.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.Graph.Uwp.Converters/ObjectToStringConverter.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.Graph.Uwp.Controls/PeoplePicker.xml
:warning:Warning
View
Details

dotnet/xml/Microsoft.Toolkit.Uwp.UI.Controls/TokenizingTextBox.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/Carousel.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/BladeView.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/CarouselItem.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/DropShadowPanel.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/GridSplitter.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/DockPanel.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/EyedropperToolButton.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/ImageCropper.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/InfiniteCanvas.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/MenuItem.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/StaggeredPanel.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/Menu.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/UniformGrid.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls.TextToolbarButtons/DefaultButton.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/WrapPanel.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/RadialGauge.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/WrapLayout.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/TabbedCommandBarItemTemplateSelector.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/RadialGaugeAutomationPeer.xml
:warning:Warning
View
Details

dotnet/xml/CommunityToolkit.WinUI.UI.Controls/TokenizingTextBox.xml
:warning:Warning
View
Details

This comment lists only the first 25 files in the pull request.

docs/mvvm/Messenger.md

Line 17, Column 47: [Warning: hard-coded-locale - See documentation] Link 'https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/architectural-principles#explicit-dependencies' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 17, Column 47: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/architectural-principles#explicit-dependencies' will be broken in isolated environments. Replace with a relative link.

dotnet/xml/CommunityToolkit.Graph.Uwp.Converters/UserToPersonConverter.xml

Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.ConvertBack(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'Windows.UI.Xaml.Data.IValueConverter'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.Convert(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.ConvertBack(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'Microsoft.Graph.User'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'Microsoft.Graph.Person'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.Convert(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:Convert(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.UserToPersonConverter.Convert(System.Object,System.Type,System.Object,System.String).
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:ConvertBack(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.UserToPersonConverter.ConvertBack(System.Object,System.Type,System.Object,System.String).
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:Convert(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.UserToPersonConverter.Convert(System.Object,System.Type,System.Object,System.String).
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:ConvertBack(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.UserToPersonConverter.ConvertBack(System.Object,System.Type,System.Object,System.String).

dotnet/xml/CommunityToolkit.Graph.Uwp.Converters/ObjectToStringConverter.xml

Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'Windows.UI.Xaml.Data.IValueConverter'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.Convert(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.ConvertBack(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.ConvertBack(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'System.Object.Convert(System.Object,System.Type,System.Object,System.String)'.
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:Convert(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.ObjectToStringConverter.Convert(System.Object,System.Type,System.Object,System.String).
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:ConvertBack(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.ObjectToStringConverter.ConvertBack(System.Object,System.Type,System.Object,System.String).
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:Convert(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.ObjectToStringConverter.Convert(System.Object,System.Type,System.Object,System.String).
Line 0, Column 0: [Suggestion: ECMA2Yaml_Inheritdoc_NoFoundParent] Found no member can be inherited by key:ConvertBack(System.Object,System.Type,System.Object,System.String) for uid: CommunityToolkit.Graph.Uwp.Converters.ObjectToStringConverter.ConvertBack(System.Object,System.Type,System.Object,System.String).

dotnet/xml/CommunityToolkit.Graph.Uwp.Controls/PeoplePicker.xml

Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'Windows.UI.Xaml.Controls.ListViewBase'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'Windows.UI.Xaml.Controls.ListViewBase.GetContainerForItemOverride'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'Windows.UI.Xaml.Controls.ListViewBase.IsItemItsOwnContainerOverride(System.Object)'.

This comment lists only the first 25 errors (including error/warning/suggestion) in the pull request.
For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@Sergio0694 hi, can you approve/decline changes? Thanks

I'm not sure I understand how "WeakReferenceMessenger violates Explicit dependencies architectural principle".
Could you elaborate and explain what you're referring to?

I'm not sure I understand how "WeakReferenceMessenger violates Explicit dependencies architectural principle". Could you elaborate and explain what you're referring to?

When a function within its argument not implies some interface IXxx but inside of body subscribes by messenger to events of interface IXxx, IMHO it violates "Explicit dependencies" principle. Do not you think so? Thanks

I'm still not sure I understand what you mean. That link says the following:

"Methods and classes should explicitly require any collaborating objects they need in order to function correctly. [...]. If you define classes that can be constructed and called, but that will only function properly if certain global or infrastructure components are in place, these classes are being dishonest with their clients."

I don't see how that is the case for WeakReferenceMessenger. That type has no implicit dependencies, and it can be constructed and used on its own. It does not depend on some other global state or additional setup that needs to be done. You can instantiate it and then use those APIs it exposes (or pass or inject it as an IMessenger instance), and it will work just fine.
Can you please elaborate on what you mean here? Maybe with some additional context, an example or something?
I would like to understand what you're trying to say here, but I need more details 🙂

Hi Sergio.
The problem is, class not showing to out world,  that it use some interface. I thought it's works against those principles,  and this (from same link):
"By following the explicit dependencies principle, your classes and methods are being honest with their clients about what they need in order to function. Following the principle makes your code more self-documenting and your coding contracts more user-friendly, since users will come to trust that as long as they provide what's required in the form of method or constructor parameters, the objects they're working with will behave correctly at run time."
Probably,  I am wrong, but when some class, that I not aware of,  got some message, it's alarms me

@Sergio0694 or do i need to suggest text change to those Explicit dependencies? To write something, like:
....these classes are being dishonest with their clients... except when using Event Aggregator...
or not this and not this?
thanks!

I have to say I still don't understand what you mean here at all and how it relates to that explicit dependencies.
I don't see how the messenger type is "being dishonest" with anyone, really, or how it has hidden dependencies.
@michael-hawker help? 😅

Sorry for delay, missed ping on this.
@Sergio0694, I don't think he's saying that the WeakRefenceMessenger itself violates the Explicit dependencies principle. He's saying by using this in a class, your class now has a 'hidden ("dishonest") dependency" that anyone using that class doesn't know about.
It's important to note the article linked to is an excerpt from a book in relation to web and cloud technologies. The principle is basically saying there shouldn't be a case where your component in a vacuum fails because there was some unknown requirement needed by the client.
I can understand this principle being important for a public API or service; so that's important that someone knowing an API knows what side-effects its going to have or what it needs to function. But even then, some internal message pump is an implementation detail.
Usually messages are a notification for someone else to listen to and not a network message going back and forth required for something to function. The messenger pattern and this class is specifically designed for UI construction and coordination.
These are two different things related to different technologies. I don't think this is useful to call out at all and point a MVVM based library on UI to an excerpt of an azure/web doc about architecture.


I am not using Anaconda. So is there a way that I can do the same thing with out anaconda?

@datitran  This is really useful . I actually trained a ssd with mobilenet for my own data set but still I have issues with FPS. So your medium post did help me a lot .
Can you explain me what is environment.yml file and why we need to conda env variable to execute that ?

@shamanez anaconda includes pip + virtualenv (+ virtualenvwrapper) it can work without using anaconda but it'll require some workarounds , the environment.yml keeps your project's dependencies clean and separated from your global site-packages

I have already installed my TF in a separate environment . So do I still need anaconda or can I continue with the way I am doing ?

conda env create -f environment.yml

So basically above command is for have an environment will all the dependencies installed before running the code. So if I don't use anaconda I have to install the dependencies manually .
Am I right ?

@shamanez As @talamoin said the environment.yml file is to keep your project's dependencies clean which means that you of course can also manually install all the dependencies yourself. In your case, if you already installed everything in a separate environment, then you can continue with what you're doing.


Auto request missing bodies, add browser column, factor out enums

Summary by Sourcery
This pull request introduces a new 'browser' column to the database schema and refactors constants for scrape status and browser types into Enum classes. Additionally, it updates the logic to request missing bodies and handle different scrape statuses using the new Enum values.

New Features:

Added a new 'browser' column to the database schema to store the browser type for each tab.

Enhancements:

Refactored constants for scrape status into an Enum class for better code organization and readability.
Refactored browser types into an Enum class for better code organization and readability.

Summary by CodeRabbit

New Features

Introduced ScrapeStatus and Browser enums for more descriptive status and browser type values.
Added browser attribute to tab rows for better tracking of browser types.

Refactor

Updated function signatures and SQL queries to utilize new enums and accommodate the browser attribute.

Chores

Updated .gitignore to exclude backup files (*.bak).

@coderabbitai configuration


Lintr is not recognized as installed.

VSCode Version: 1.19.1
VSCode-R Version: 0.5.2
OS Version: Windows 10

With the following settings when I try to run R: lintr it tells me that the lintr package is not installed even though it is.
any(installed.packages()[, "Package"] == "lintr")
[1] TRUE

Those are default settings:
  // toggle caching of lint results
  "r.lintr.cache": true,

  // Enable lintr
  "r.lintr.enabled": true,

  // R executable path for lintr
  "r.lintr.executable": "",

  // If true, lintr exec lint_package() instead of lint()
  "r.lintr.ispackage": false,

  // list of linter functions
  "r.lintr.linters": "default_linters",

  // R path for Linux
  "r.rterm.linux": "/usr/bin/R",

  // R path for Mac OS X
  "r.rterm.mac": "/usr/local/bin/R",

  // R command line options (i.e: --vanilla)
  "r.rterm.option": [
    "--no-save",
    "--vanilla"
  ],

  // R.exe path for windows
  "r.rterm.windows": "C:\\Program Files\\R\\R-3.3.3\\bin\\x64\\R.exe",

  // An optional encoding to pass to R when executing the file, i.e. 'source(FILE, encoding=ENCODING)'
  "r.source.encoding": "UTF-8",

  // Keeping focus when running
  "r.source.focus": "editor",

This is what I have in user settings
    "workbench.colorTheme": "Monokai",
    "r.rterm.windows": "C:\\Program Files\\R\\R-3.4.2\\bin\\x64\\R.exe",
    "r.lintr.executable": "C:\\Program Files\\R\\R-3.4.2\\bin\\x64\\R.exe"

I have the same issue too. I am using R-3.4.2 on Windows.

OK, this issue looks very important.
Thank you for information @UpsideDownRide , @zhihaolyu and @hongyuanjia !

I was experiencing a similar bug when I first installed the plugin. Now, running the lintr command doesn't seem to do anything at all. Even when I have obvious code flaws, the lintr doesn't say anything at all. All other commands seem to work as expected. And when I remove my user r.rterm and r.lintr settings, the lintr command still doesn't do anything. It doesn't even throw an error. Meanwhile, the other commands throw the expected "cannot find R client..." error. Not sure if this is helpful but it seems potentially related?

@bpiv400 Thank you for new information.
This bug looks related https://github.com/REditorSupport/vscode-r-lsp .
I published new r-lsp version for windows user, please try it.

It doesn't appear the 2018-03-03 update to vscode-r-lsp fixed this. I tried both CRAN and the dev version and am still having the issue. As the others, running on Windows, R v3.4.3. Please lmk if I can help with more info.

I have the same problem on macOS. The linting works, but I get the notification about lintr not being installed every time I save a file. It does seem to be related to vscode-r-lsp.

I should add that when I disable lintr using the vscode-r options, I still get the code linting and do not get any more error notifications. I assume this means that vscode-r-lsp is doing the linting and the problem is likely related to both extensions trying to use the linter.

@jacob-long  Thank you, well explain!
So, I'll remove the linting function from this extension.
But it needs large changes.

It began working for me as soon as I set "r.lintr.cache": false.
I have;

vscode 1.23.0
R 0.5.9
R LSP Client 0.0.7

And CRAN R v3.5.0

@andycraig How do you set custom lintr settings now?
I've added .lintr files in my workspace root and in the folder where my R code lies, but the lintr in r-lsp ignores them.
my .lintr file looks like this:
linters: with_defaults(line_length_linter(120))

and the lintr still complains Lines should not be more than 80 characters. on lines with 80-120 lines.

@benedikt-mayer This has been recently fixed by https://github.com/REditorSupport/languageserver/pull/236. Please try the latest development version of languageserver:
devtools::install_github("REditorSupport/languageserver")

@renkun-ken That's it! Thanks so much!


Victory data viz

Description
Finished data viz implementation.
Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas

Staging here


Did this go anywhere?

I see there is no activity here since 2017. Is there any chance that it will be revived again? I'm interested in this app.

Hi there! Thanks for the interest.
This has been indefinitely paused by other life commitments and side projects. If you're happy to have a try at the code I can provide a walk through of the overall project structure.
There's some interesting bits (like the $filter expression parser) but it definitely needs some refactoring and features to be implemented.
Cheers

Hi,
Thanks an d a pitty. I think I'll have a look at your code first and then come back to you, is that okay?

I ran across this a few days ago and have been tinkering with it. Did you even get this to work with excel by any chance? I.e run the dev server and use excel to connect to the odata feed? Very interested to know before I dig in more

Hi, just discovered this project.  Hope it succeed. :)


[Android] Support theme color at task switcher on Lollipop+(5.0+)

This is supported to work on Android >= Lollipop (5.0). Otherwise it will always show a gray background in the task switcher.
BUG=XWALK-4305
(cherry picked from commit c6a8be02852b53b67538316ed2ef0c90890e749f)

@rakuco


proposal: Go 2: just return the error

Author background

5 years experience writing production Go code. I have forked and created Go error handling libraries.
Other language experience: Many of the common languages that are not JVM/CLR (Rust, Haskell, Python, Ruby, TypeScript, SQL, bash, etc)
I have opened other error handling proposals and reviewed many of the existing proposals- this experience has led me to realize that we really just need to fix how returning errors also requires returning zero values.

Related proposals

This proposal is about error handling
There is a very similar proposal to this that is still open. This proposal does not introduce a new syntax but instead relaxes the requirements for multiple return parameters when returning an error.

Proposal
When returning an error, one may omit the rest of the return values.
// before
return mystruct{}, package.PackageStruct{}, err

// after
return err

This new form matches the intent that "I just want to return an error".
The new form is optimal to read, write, and diff for the purpose of returning an error.
This form is allowed if and only if the last return value satisfies the interface error.
The value of the omitted return values will be the zero value of their type.
Motivation
The benefits to readability will be seen in every multi-valued error return statement, which is a significant amount of existing Go code.
I see Go programmers returning structs as pointers because nil is easier than hassling with putting empty structs at every return, so unfortunately the existing situation contributes to making the code messier outside just the return statement.
Reading, writing, diffing

Reading: Existing code obscures the intent when reading- the reader needs to check that all the non-error values are in fact zeros and then ignore them.
Writing: Writing out zero values is tedious but can be automated or atleast auto-completed by IDEs.
Diffing: Diffs can be unnecessarily large- if I make a one line change at the bottom of my function to return one additional result, the only additional change the reviewer needs to see is the diff of the type signature. But the diff will also show adding zero values on all the rest of the return lines.

Orthogonality
This proposal could be viewed as an extension/specialization to the existing concept of a naked/bare error return.
Because of this, it may be best to use named return variables when they exist rather than only returning zero values.
This feature is specialized to errors. It is possible to attempt to generalize this feature to support using it to return any return result type that is uniquely typed. However, such a generalization is rarely useful outside of bare/naked returns and bare/naked returns are not used with high frequency in the Go community.
Compatibility
Old code will continue to compile on newer versions of Go.
New code will not compile on older versions of Go unless this feature is back-ported to older releases, or the new code is modified with automated tooling.
Costs

What is the cost of this proposal? (Every language change has a cost).
An additional rule to understand. Outside of the interaction with named results, this rule should be intuitive.

Would this change make Go easier or harder to learn, and why?
Some will argue this makes Go harder to learn because it is a new additional feature. I would argue it will make it much easier to learn Go because it will be significantly easier to read error return statements- that saved time will make it possible to spend more time learning Go.

How many tools (such as vet, gopls, gofmt, goimports, etc.) would be affected?
Most linters that use the Go analysis library could continue to work without change for most of their lints.
However, some lints focused on the specifics of returns would require changes. It will now be easier to perform autofixes or suggestions that add an error return- these no longer need to bother with zero values.

What is the compile time cost?
Probably none? In theory an integrated compiler could compile this (probably not noticeably) faster since there is less to parse and returns must be type-checked already.
However, the separation of compilation phases might mean the effect would be the opposite.

What is the run time cost?
None, in theory this might make some optimizations easier.

Can you describe a possible implementation?
No, but I imagine the machinery for this is probably somewhat in place already due to the existence of bare/naked returns.

Do you have a prototype? (This is not required.)
I have a library that panics (and recovers) an error. This achieves the same result of omitting zero values.

You can‘t beat that for simplicity. It does not feel right though to make err special here, given that it is just another return parameter with no formal significance.

@andig thanks for voicing that concern. I guess there is a point of view that Go is just returning multiple values, and there is no reason to formalize the return of errors in any way.
The point of view that I am representing is that the code is not actually trying to return multiple values. The code is trying  to return a success or an error, exclusively. Some functions are exceptions to this general pattern, and those exceptions should not use this feature, but what is described here represents the majority of functions in some code bases.
AFAICT this can only really only be generalized to actually adding a Result types to Go (or more generally a sum type), which would be an enormous challenge. This proposal describes the one reliable convention for using sum types in Go. The benefits of sum types are clear to anyone that has experience using them, but it is not actually clear that a Result type would produce easier to read code for this common pattern than what Go would have after this proposal.

May I ask how do you think about the proposal of https://github.com/golang/go/issues/21182 ?

The point of view that I am representing is that the code is not actually trying to return multiple values. The code is trying to return a success or an error, exclusively. Some functions are exceptions to this general pattern, and those exceptions should not use this feature, but what is described here represents the majority of functions in some code bases.

An argument could even be made that standardizing the use of a result type for the usual case of value or error will signal to the client that a function that isn't using the result type might need some special handling. It may be too late for that benefit, though, since the standard library is filled with multi-return value-or-error functions already. Still, I'd personally really like to have functionality similar to the following available, though it would be dependent on #56462 or something similar:
type Result[T ...any] struct {
  v T
  err error
}

// Just doing some bikeshedding...
func R[T ...any](v T, err error) Result[T] { /* Converts from an existing multi-return function. */ }
func Success[T ...any](v T) Result[T] { /* Straightforward. */ }
func Err[T ...any](err string) Result[T] { /* Equivalent to errors.New(). */ }
func (r Result[T]) Must() T { /* Panic if there's an error. */ }
func (r Result[T]) IgnoreErr() T { /* Just return the value. */ }
func (r Result[T]) Or(v T) T { /* Return v if the error wasn't nil. */ }
func (r Result[T]) Err() error { /* Return the error, whether or not it's nil. */ }
func (r Result[T]) Unwrap() (T, error) { /* Return everything. */ }

// Elsewhere:
package fmt

func Resultf[T ...any](format string, args ...interface{}) { /* ... */ }

Unfortunately, the Err() and fmt.Resultf() constructors would be significantly less useful without some extensions to the generic type inference system. As it stands currently, you'd have to do something like return fmt.Resultf[time.Time]("parse time: %w", err), which would be annoying.
@gregwebs
That would require such a major overhaul of the type system that it seems extremely infeasible to me to implement for use with a single feature. I think an actual result type is far more likely to happen at some point.

I like the idea of the Unwrap api that goes from a sum type to multi-value with zeroes- it's the way to preserve compatibility, although I would name it different given its existing usage for errors!
It's easy to come up with the return result and such an API but it is harder to explain how this will actually be better on the caller side than what exists today. Rust had to add ? for early returns to avoid lots of nesting from matching, etc.


Trillian

[ Project Lead ] @demitri
[ GitHub Repo ] https://github.com/trillian/trillian
[ Track ] Tools: you are building a tool others can help you build
[ Level ] Advanced
Description
Trillian aims to make open astronomy data more usable, by automating the delegation of analysis tasks to remote data repositories.

Note to the Project Lead
Congrats, @demitri! This is your official project listing for the Mozilla Science Global Sprint 2016. To confirm your submission, please complete the following:

[x] Provide a GitHub repository for work and discussion on your project
[ ] Confirm in a comment that at least one person will be available to review and answer questions on this project from 9-5 in their timezone on both June 2 & 3.

Confirmed! I will be available.


Added new example connector

Australian Bureau of Statistics (ABS) SDMX-JSON Connector

Coverage remained the same at 98.913% when pulling bad3186ba975df07b25f748ba6ef16d2183e2cfc on aprince:patch-1 into b5dc150d6b0c80a4786065b703f0805e0ae8f4c5 on tableau:master.

You even put it in alphabetical order! Awesome!! :)


alternative fix for #185 without ifdefs

This is an alternative PR for #187
It uses lists and adds a single callback to the EditorApplication.update delegate.
It is based on a solution I use internally and the comment @jacobdufault made on #187.
I quickly tested and it seems to work, but would appreciate a review before merging.

I'm amazed I hadn't noticed this issue until @hymerman mentioned. I guess I just crash Unity so much that I rarely go long enough for it to became apparent.
Today, I just left Unity sit open and active for a few hours (the computer didn't sleep because Windows) and when I came back I though I had a memory leak on my mesh generation. Turns out it was this issue. It was allocating over a megabyte per frame!

A trivial merge will be needed to have both this and #193

Thanks!


Enter keypress on time inputs causes form submit

If flatpickr with enableTime: true is in a form and you press enter when filling in a time - the event bubbles and the form submits too.
Expected behaviour: flatpickr should close/hide and the form should not submit.
Reproduced in this jsfiddle: https://jsfiddle.net/v9dejzuh/
Your Environment

flatpickr version used: 4.5.7
Browser name and version: Chrome 73.0.3683.86
OS and version: macOS 10.14.4

Has this been released in 4.6.0? I can't find any changelog, so not sure if this is in latest published npm version.


Provide control over select props for each field type

🤔 This is a ...

[x] New feature
[ ] Bug fix
[ ] Demo update
[ ] Component style update
[ ] TypeScript definition update
[ ] Bundle size optimization
[ ] Performance optimization
[ ] Refactoring
[ ] Code style optimization
[ ] Test Case
[ ] README update
[ ] Other (about what?)

🔗 Related issue link
💡 Background and solution
We have recently run into a problem where the onMouseDown event handler in antd/lib/select component is causing a modal (where the Cron component is rendered) to close. It has been found that this is due to the event bubbling. To solve this we can either:

Explicitly set the onMouseDown to not propagate the event, or
Provide more granular control over each select component that can be rendered by the Cron component

This PR addresses Option 2.
The Cron component can take a customSelectProps prop which is an object which has optional SelectProps definitions for each field type. These are then spread into each respective field component in Cron.tsx.
☑ Self Check before Merge
⚠ Please check all items below before review. ⚠

[x] Demo in storybook is updated/provided or not needed
[x] TypeScript definition is updated/provided or not needed
[x] Tests are updated and passed without a decrease in coverage

NOTE this is dependant on this PR being merged to fix flaky tests

[x] Format (lint & prettier) script passed
[x] Build script is working
[x] README API section is updated or not needed

Hello, thanks for the MR!
I let you handle prettier problems


Message format defined by prior negotiation

Context and Problem Statement
There are multiple existing communication protocols where the message format is defined by prior negotiation. The field length (https://github.com/Componolit/systematization-binary-schemas/issues/28) as well as the field type (https://github.com/Componolit/systematization-binary-schemas/issues/53) can be affected.
Considered Options
O1 Generic message type with types as formal parameters (#133)
+ Also usable for different purposes (cf. #133)
− Not directly applicable for variable-length opaque field in DTLS 1.3, NTP, QUIC
− Probably only instances of generic type could be verified
O2 Variant message type with scalars as discriminants
The discriminant could be used in conditions (SPDM, TLS 1.3) and in length aspects (DTLS 1.3, NTP, QUIC).
+ Applicable in all known instances
+ Extension of message verification is simple: references to discriminants can be handled similar as references to fields
Decision Outcome
O2 is the only viable option.
Tasks

[x] Decide naming: variant messages, discriminated messages or parameterized messages.

Decision: Parameterized Messages

[ ] How could a condition on the discriminants/parameters be defined (restricting allowed parameter values or parameter combinations before evaluation of first message field)?

Options:

Condition on link to first field (conflicts with #425)

Decision: Use existing functionality for now

[ ] Decide: Allow the definition of the first field by a parameter value?
[x] Extend specification parser
[x] Extend message model
[x] Extend code generator for messages
[ ] Extend session model
[ ] Extend code generator for sessions
[ ] Support use of parameterized messages as field types
[ ] Extend PyRFLX
[ ] Amend documentation

package Test is

   type Length is range 1 .. 2**14 - 1 with Size => 16;

   type Message (Length : Length; Extended : Boolean) is··
      message
         Data : Opaque
            with Size => Length * 8
            then Extension
                if Extended = True
            then null
                if Extended = False;
         Extension : Opaque
            with Size => Length * 8;
      end message;

   generic
      C : Channel with Readable, Writable;
   session Session with
      Initial => Receive,
      Final => Terminated
   is
      M_R : Message;
   begin
      state Receive
      is
      begin
         M_R'Reset (Length => 2, Extended => False);
         C'Read (M_R);
      transition
         then Reply
            if M_R'Valid
         then Terminated
      end Receive;

      state Reply
      is
      begin
         C'Write (Message'(Length => M_R.Length, Extended => True, Data => M_R.Data, Extension => [3, 4]));
      transition
         then Terminated
      exception
         then Error
      end Reply;

      state Error
      is
      begin
         transition
            then Terminated
      end Error;

      state Terminated is null state;
   end Session;

end Test;


Deprecated the lr_schedulers in Trainer module

Removed trainer.lr_schedulers for 1.8 release.

Thanks @rohitgr7  for fixing the change log