[MB-13136] PPM closeout add new item page

Jira ticket for this change
Summary
Is there anything you would like reviewers to give additional scrutiny?
this article explains more about the approach used.
Setup to Run Your Code

💻 You will need to use three separate terminals to test this locally.
Terminal 1
Start the Storybook locally.
make storybook

Terminal 2
Start the UI locally.
make client_run

Terminal 3
Start the Go server locally.
make server_run

Additional steps

Access the
Login as a

Verification Steps for Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

Frontend

[ ] User facing changes have been reviewed by design.
[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] There are no new console errors in the browser devtools
[ ] There are no new console errors in the test output
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.

Backend

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

Screenshots

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

Messages

:book:
:link: MB-13136

  Generated by :no_entry_sign: dangerJS against f53eeaaaed60d9090df9a240f7ac990cd620d675

Question: should the mobile layout hold true in storybook?

That's a good point.  I guess it depends, the more general you make a component it means that often it's hard to apply styles when custom components are passed in as links and buttons to allow more control.  Here it is probably easier to style certain things at the page level because you know what's being passed in.
I can probably fix storybook styling regardless so it doesn't look wrong but may not actually put those styles in the ReviewItems component module.

Based on my understanding of the story's AC, this is missing the routing logic, cypress tests, and potential testdatagen data. (The routing logic is also mentioned in the integration story.) This also partially completes the work of https://dp3.atlassian.net/browse/MB-13137 (summary of pro gear and expenses).
We may need to update the stories to capture this.

Agree we'll need to clean up some of the ACs to reflect that we moved this work up ahead of where it was initially intended to be.  I am adding a testdatagen move now, I don't think I'll include the homepage routing though.  I think it's enough that you can get to the page from the weight tickets page at the moment.

Looks good, but I noticed a couple of things:
In the info about each trip, the field label for Trip weight should have a lowercase w — Trip weight, not Trip Weight
In the mobile view, the button to add more weight should wrap to a new line.
Here's what I'm seeing:
Here's the look in Zeplin

@scarequotes Thanks I'll fix the capitalization.
Our mobile breakpoint is set at less than 375px so you will need to resize to below that to see the specific layout changes.  Maybe we should make it to include 375px because that's what the iPhone SE setting is but that's not what it's currently set to.


WSO2IS is firing very ineffective queries to clear session records from IDN_AUTH_TEMP_SESSION_STORE and IDN_AUTH_SESSION_STORE

Hello ,
Recently we upgraded to 5.9.0 from 5.7.0 version of wso2IS . We are seeing long running and ineffective queries being run by wos2 to clear session records from both tables , IDN_AUTH_TEMP_SESSION_STORE and IDN_AUTH_TEMP_SESSION_STORE.
It looks like nothing is getting deleted from the tables in the end ,

DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < :1 AND ROWNUM <= 8192);

DELETE FROM IDN_AUTH_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_SESSION_STORE WHERE EXPIRY_TIME < :1 AND ROWNUM <= 8192);

DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < :1 AND ROWNUM <= 8192;

i am attaching the explain plans for the queries as well.

could you please help us solving this .?

@JKAUSHALYA @madurangasiriwardena ,
i have disabled the  internal session data cleanup job by setting false in identity.xml ,
false
But still the job is running and failing with the cursors error ,
Caused by: Error : 1000, Position : 0, Sql = DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < :1  AND ROWNUM <= 8192), OriginalSql = DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < ? AND ROWNUM <= 8192), Error Msg = ORA-01000: maximum open cursors exceeded

@JKAUSHALYA  , this is related to my previous question 8 days back , the cleanup script is handling the table IDN_AUTH_SESSION_STORE and it is not handling the second table IDN_AUTH_TEMP_SESSION_STORE.
I can disable the internal job for this also , but who will clean the data from the table  IDN_AUTH_TEMP_SESSION_STORE, do we have a cleanup script for this table ?
<SessionDataCleanUp>                 <Enable>false</Enable>                 <CleanUpTimeout>20160</CleanUpTimeout>                 <CleanUpPeriod>1440</CleanUpPeriod>                 <DeleteChunkSize>8192</DeleteChunkSize>             </SessionDataCleanUp>             <OperationDataCleanUp>                 <Enable>true</Enable>             </OperationDataCleanUp>             **<TempDataCleanup>                 <Enable>false</Enable>**

@JKAUSHALYA
i see some code inside https://github.com/wso2/carbon-identity-framework/blob/master/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/store/SessionDataStore.java
which might need some improvement,
`private void removeExpiredSessionData(String sqlQuery) {
    Connection connection = null;
    PreparedStatement statement = null;

    try {
        connection = IdentityDatabaseUtil.getDBConnection();
    } catch (IdentityRuntimeException e) {
        log.error(e.getMessage(), e);
        return;
    }

    if (log.isDebugEnabled()) {
        log.debug("DB query for removing expired data: " + sqlQuery);
    }

    long currentTime = FrameworkUtils.getCurrentStandardNano();
    try {
        boolean deleteCompleted = false;
        int totalDeletedEntries = 0;
        while (!deleteCompleted) {
            statement = connection.prepareStatement(sqlQuery);
            statement.setLong(1, currentTime);

            int noOfDeletedRecords = statement.executeUpdate();
            deleteCompleted = noOfDeletedRecords < deleteChunkSize;
            totalDeletedEntries += noOfDeletedRecords;
            if (log.isDebugEnabled()) {
                log.debug(String.format("Removed %d expired session records.",
                        noOfDeletedRecords));
            }
            IdentityDatabaseUtil.rollbackTransaction(connection);
        }
        if (log.isDebugEnabled()) {
            log.debug(String.format("Deleted total of %d entries ", totalDeletedEntries));
        }
    } catch (SQLException e) {
        IdentityDatabaseUtil.rollbackTransaction(connection);
        log.error("Error while removing session data from the database for nano time " + currentTime, e);
    } finally {
        IdentityDatabaseUtil.closeAllConnections(connection, null, statement);
    }
}`

i am not sure what is the use of the first "IdentityDatabaseUtil.rollbackTransaction(connection);" inside the while loop .
Even after increasing the open_cursors to 1000 , still we face the same issue ,
Caused by: Error : 1000, Position : 0, Sql = DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < :1 AND ROWNUM <= 8192), OriginalSql = DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < ? AND ROWNUM <= 8192), Error Msg = ORA-01000: maximum open cursors exceeded
I think the problem with while loop is it is not closing the individual prepared statements , so suggestion is replace the "IdentityDatabaseUtil.closeAllConnections(connection, null, statement);" inside while loop with "IdentityDatabaseUtil.closeAllConnections(connection, null, statement);" . This should make sure that each statement is closed after execution ,
Please respond as this has become critical for us .
Thanks,

@JKAUSHALYA ,
we can simply move the code statement = connection.prepareStatement(sqlQuery); out of the while loop which will solve the statements not getting closed .
Let us know if we make some changes in this class SessionDataStore.java , how can we bundle it again into the wso2IS.we will test it on our side and let you guys know.
Thanks,

@JKAUSHALYA @madurangasiriwardena ,
can we disable the persistence of temp data into this table "IDN_AUTH_TEMP_SESSION_STORE"  by having "false", .
Is it recommended and if so what are the side effects of disabling ?
<SessionDataPersist>     <Enable>true</Enable>     **<Temporary>false</Temporary>**

@JKAUSHALYA  @madurangasiriwardena
i have disabled the internal job for temp data cleanup by having false in identity.xml as ,
<TempDataCleanup> <Enable>false</Enable> ,
and this is not working as expected and as per documentation , the job ran again to cause another oracle cursor error ,
Caused by: Error : 1000, Position : 0, Sql = DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < :1 AND ROWNUM <= 8192), OriginalSql = DELETE FROM IDN_AUTH_TEMP_SESSION_STORE WHERE ROWID IN (SELECT ROWID FROM IDN_AUTH_TEMP_SESSION_STORE WHERE EXPIRY_TIME < ? AND ROWNUM <= 8192), Error Msg = ORA-01000: maximum open cursors exceeded
is the temp data cleanup job supposed to run even after setting false as mentioned above?

@hari819
Please accept our sincere apologies for the late reply.  Thanks for the investigation and suggestion on the codebase. I will go through this and will check on a possible fix.

Hi @hari819,
As you have mentioned, we too found several issues(delete query not getting committed, a prepared statement is not properly closed) in the codebase regarding this, where all of them together, can lead to the issue that you are facing.
And also, you may not need to do any config changes regarding this.
In order to test the fix, you can try patching it with the existing WSO2 Identity server pack. First, find out what is the identity-framework version used in your WSO2 IS pack(You can go to the {WSO2-IS-PACK}/repository/components/plugins folder, and see what is the version number of the jar, org.wso2.carbon.identity.application.authentication.framework). Then checkout to that version tag in the identity-framework repository. Apply the fix[1] there. Then build the repo to get the corresponding jar file. You need to patch the WSO2 IS product with this jar file. Please refer to the patching process.
I hope this would fix your issue. Let us know the feedback!
[1] https://github.com/wso2/carbon-identity-framework/pull/2735

@tharindu-bandara ,
thank you for accepting the issue and resolving it .
We will test the patch and let you know about the results.
Thanks,

@hari819  did the patch work for you? I am facing the same problem but with PostgreSQL .

@hari819 did the patch work for you? I am facing the same problem but with PostgreSQL .

we did not try the patch , we disabled the internal job and are running the cleanup jobs via cronjobs.
Thought we will wait for this till the next official release


NSIS Installer - Process Still Running Error and Cannot Kill Process

Describe the bug
Hello!
Our application is utilizing the auto-start plugin and runs from the task tray (which we're using an invisible window to keep alive), noticing that if we try to manually install updates on top, the NSIS installer warns that the process is still running and when it attempts to kill the process, it fails.
When you force quit the app from task manager and even when you uninstall, the NSIS installer still believes the process is running and "fails" to kill the process.

This is the error message that is displayed when attempting to kill the process from the NSIS installer, retrying throws the same error.
Reproduction
No response
Expected behavior
No response
Platform and versions
[✔] Environment
    - OS: Windows 10.0.22000 X64
    ✔ WebView2: 113.0.1774.42
    ✔ MSVC:
        - Visual Studio Community 2022
        - Visual Studio Build Tools 2019
    ✔ rustc: 1.69.0 (84c898d65 2023-04-16)
    ✔ Cargo: 1.69.0 (6e9a83356 2023-04-12)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 18.9.0
    - yarn: 1.22.19
    - npm: 8.19.1

[-] Packages
    - tauri [RUST]: 1.3.0
    - tauri-build [RUST]: 1.3.0
    - wry [RUST]: 0.24.3
    - tao [RUST]: 0.16.1
    - @tauri-apps/api [NPM]: 1.3.0
    - @tauri-apps/cli [NPM]: 1.3.1

Stack trace
No response
Additional context
No response

which we're using an invisible window to keep alive

you don't need to do that, see https://tauri.app/v1/guides/features/system-tray#preventing-the-app-from-closing

Could you make a repro or at least clear steps to reproduce? The kill function seems to be working fine for me.


Can't set response headers when implementing custom Recovery Formatter

The docs indicate that when overriding the default Recovery.Formatter, it's possible to set response headers. I'm currently attempting to set the Content-Type header to application/json, however it appears that doesn't stick and reverts to text/plain; charset=utf-8.
Example:
package main

import (
	"fmt"
	"net/http"

	"github.com/urfave/negroni"
)

type PanicFormatter struct{}

func (t *PanicFormatter) FormatPanicError(rw http.ResponseWriter, r *http.Request, infos *negroni.PanicInformation) {
	rw.Header().Set("Content-Type", "application/json")
	fmt.Fprintf(rw, `{"error":"%s"}`, infos.RecoveredPanic)
}

func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
		panic("oh no!")
	})

	n := negroni.New()
	recovery := negroni.NewRecovery()
	recovery.Formatter = &PanicFormatter{}
	n.Use(recovery)
	n.UseHandler(mux)

	http.ListenAndServe(":3003", n)
}

$ curl -i localhost:3003
HTTP/1.1 500 Internal Server Error
Date: Fri, 16 Nov 2018 20:32:32 GMT
Content-Length: 18
Content-Type: text/plain; charset=utf-8

{"error":"oh no!"}

:+1: thanks for the report @nicklaw5
It looks like the ResponseWriter.WriteHeader() call flushes disallowing any additional header setting.
My initial thought is to move that call into the default PanicFormatter and require library users overriding the Formatter to set their own response code. This would, however, make it more of a PanicHandler than a PanicFormatter so perhaps one solution is to introduce a new PanicHandler field and deprecate the `PanicFormatter. This would also allow us to preserve compatibility.
I'll think about this a bit more, but suggestions welcome!

Your suggestion of introducing a PanicHandler and deprecating the PanicFormatter sounds good to me. If we could also preserve writing the default 500 Internal Server Error response status, unless ResponseWriter.WriteHeader() is called within PanicHandler, that would also be ideal.

:+1: agreed; I think that should be feasible by passing in a different ResponseWriter that would do something akin to https://github.com/urfave/negroni/blob/master/response_writer.go#L56-L64.
I'll try to get to this, but PRs also welcome :smile:


steam: runtime-generated.nix md5->sha256

Motivation for this change
#4491 (md5 sucks)
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

cc @abbradar

The reason because I use md5 is because Runtime contains a tag file with md5 sums. I'm not sure if it's really needed though.

I'll see what happens when you remove the tag file in the weekend and move to sha256 if it's okay.

Closed by https://github.com/NixOS/nixpkgs/commit/cac553e8e098022a444661c35526562737675bb3


i/o yaml file

i have 6 degree of freedom robotic arm and i want to connect its moveit2 package to my arduino mega, how would i write .yaml file to map the joints to desired i/o pins?
also i'm using stepper motors plus one servo motors for the gripper, can i use this package for the servo ros2_control hardware interface.

I updated the documentation to provide answers to some of the questions.
The actuator package that you mentioned is like an abstract class. It's useless by itself, but it is used by remote_hardware_interface to drive packages that provide a compliant interface (for example PWM channels configured as actuator_velocity or actuator_position in this microcontroller package).
To be honest, I did not yet test the ros2_control part outside of the main OpenVMP setup where there is a couple of extra other building blocks that are responsible for wiring all modules with each other in a very OpenVMP specific way (naming convention).
So watch out for the naming of topics and services. In case it hangs, use ros2 node info to ensure that the consumers and producers use the same names.
While the original use case for this library is a robot with 12 steppers, 12 servo and 4 BLDCs, it currently only works for PWM servos and UART (ModBus/RS485) steppers.
I plan to add support for PUL/DIR steppers on this weekend. Stay tuned.
Overall, be mindful that the first line of code for this module was written like 10 days ago.
So adjust your expectations for both the reliability of the current state and what's it's going to be like in 10 days from now.

thank you i appreciate your response.
i tried to build the package but i get this error:
Starting >>> remote_actuator
Starting >>> remote_switch
Starting >>> ros2_serial
--- stderr: remote_switch
CMake Error at CMakeLists.txt:24 (rosidl_get_typesupport_target):
  Unknown CMake command "rosidl_get_typesupport_target".

---
Failed   <<< remote_switch [4.87s, exited with code 1]
Aborted  <<< ros2_serial [5.08s]
Aborted  <<< remote_actuator [5.24s]

Summary: 0 packages finished [5.67s]
  1 package failed: remote_switch
  2 packages aborted: remote_actuator ros2_serial
  3 packages had stderr output: remote_actuator remote_switch ros2_serial
  2 packages not processed

it seems like because i'm running ros2 foxy while "rosidl_get_typesupport_target" is compatible with humble and higher. is there any way to make it work for foxy

There is plenty of examples how to convert from Foxy syntax to the Humble one.
E.g. https://github.com/ros2/demos/pull/529/commits/a8f78d7ba668f6516d2962a048d8d26374a20dec
You can just do the reverse changes and see if it helps.
Share the pull request if it compiles, I'll create a branch for foxy.
I've spent a couple hours trying to get Foxy up and running on my MacBook, but it just doesn't work.
RoboStack gave up on supporting it: https://github.com/RoboStack/ros-foxy
Foxy is officially end of life next month.
Are you sure Humble is not an option?

I just added the branch "foxy" to all of the modules.
It compiles fine but I didn't test it with the real hardware yet.
Please, let me know if it works for you at least to send come PWM commands.

Though the same code works for Humble as well, so you can just pull the latest changes on the main branch.

i just compiled it on my host machine but haven't test it on my hardware yet. i will keep you updated.
also i think my stepper can not use this package stepper_driver_em2rs, so looking forward for PUL/DIR steppers support update

Almost there. Stay tuned.

Give it a try, please

thanks a lot, will definitely give it a try.
btw I'm curious if i can use joint_trajectory_controller  with the stepper interface, given that it requires at least position interface(if i understand it correct).
or do i need to use other controller?

Sure, that is possible. The only question is the precision. That's what OpenVMP robot does in the "use_fake_hardware" mode. That's also what I do in the real robot for the joints where I didn't install the encoders yet.
But it works with a trick. I use the node "fake" from "remote_encoder". It listens for the state changes in the "remote_encoder" and attempts to approximate what the position is. Just make sure to have an update rate high enough to reduce approximation errors.
In theory, the mode "remote_stepper_driver" must be improved to implement "remote_encoder" out of the box, for open loop control, assuming that there were no misses. It should be especially precise if it's used in the stepper is used in the position control mode (not supported yet).


Release Moto 4.x

The release of Moto 4.x is due soon now released, and will contain the following changes:
Multi-Account support (see the documentation)
Removal of the mock_dynamodb2 and mock_rds2 decorators
The ThreadedMotoServer will be considered out of beta, and the API considered stable
The following dependencies will get a minimum version:
responses >= 0.13.0
Timeline
A new development release will be created for every change, with some time in between every release to catch any bugs.
The table below contains the approximate exact timeline:

Feature
Release Date
Version

Multi-Account support
13/08/2022
4.0.0.dev3

Removal deprecated decorators
16/08/2022
4.0.0.dev4

Set minimum version of responses
17/08/2022
4.0.0.dev5

ThreadedMotoServer
18/08/2022
4.0.0.dev10

Full Release
20/08/2022
4.0.0

Feedback
We encourage everyone to test these changes as early as possible, and let us know about any bugs you may encounter by raising a new issue.
Breaking Changes
Introducing the Multi-Account support means changing the complete data structure, to ensure the data for each account is logically separated.
We know a lot of users access the internal API to have better control over the mocked data. Before, you may have done something like this to access internal models:
from moto.ec2.models import ec2_backends

ec2_backend = ec2_backends["us-west-1"]

As of verion 4, you will also have to specify which Account ID you want to access:
from moto.ec2.models import ec2_backends

ec2_backend = ec2_backends[ACCOUNT_ID]["us-west-1"]

The variable moto.core.ACCOUNT_ID is also removed, in favor of moto.core.DEFAULT_ACCOUNT_ID.
Issue Change Log

Date
Change

09 Aug 22
Added this table & Added the note on removal of ACCOUNT_ID

13 Aug 22
Added release-date for MultiAccount support

16 Aug 22
Added the Removal of Deprecated Decorators release

20 Aug 22
Full v4 release

MultiAccount support is now available as of Moto >= 4.0.0.dev3

The deprecated decorators are now removed as of Moto >= 4.0.0.dev4

Moto 4 is now released! Please raise a new issue if you encounter any bugs/problems with this version, as usual.

@bblommers Please mention how to replace usages of the removed deprecated mock_dynamodb2 decorator. All I can find by googling is an issue that proposed how to ignore deprecation warnings... instead of upgrading to whatever the current practice should be, which is the only option as of 4.0.0.

Is it as simple as replacing mock_dynamodb2 with mock_dynamodb?

Yes, it is @berzi  - I'll mention it above as well for clarity. Thanks for bringing this to our attention.
FYI, the full history/reasoning behind this change can be found here: https://github.com/spulec/moto/issues/4526


hex view: some data are not correctly displayed

Type: Bug Report
Describe the bug

OS and Version:
Remote SSH: 20.04.1 Ubuntu
Local: Windows 10 Enterprise 19045
VS Code Version: 1.83.0
Serial Monitor Extension Version: Pre-release 0.10.231005001

I was looking for this hex display on the receive panel, glad to see it's supported in the pre-release version.
I gave it a try, and I noticed some data are not always correctly displayed.
In my case, I'm supposed to receive 00 80 FF 00 00
but the panel displays 00 FFFD FFFD 00 00
Looks line a sign or cast issue, not sure why the data is displayed on 2 bytes instead of 1.

@axel-lebourhis To help us be able to investigate this, reproduce it, and then hopefully diagnose the issue, is there any way that you can provide a project repro so that we can reproduce this erroneous output?

Hi @gcampbell-msft,
While I am not the original reporter, I also observe this issue. I can't provide a project that would assist with repro but I can explain the setup where I observe it, which is fairly trivial to reproduce.
OS and Version:  Windows 10 Pro 19045
VS Code Version: 1.85.1
Serial Monitor Extension Version: v0.11.0
In my case, I have an embedded device that I am listening to over serial. It is configured with Baud Rate 115200, Data Bits 8, Stop Bits 1, Parity None.
If I configure the embedded device to transmit 0xFE followed by 0xED while monitoring with VSCode Serial Monitor in Hex mode, I will see 'fffd fffd' displayed in the output. I do not need to open a particular workspace or configure anything specific other than the COM port.
Hopefully this helps, let me know if I can provide more information.

I should have followed through on#134 I see you have mentioned it is fixed pending release there.
Probably worth marking this closed.

@embed-shaun @axel-lebourhis I'm curious if a fix I'm testing works for you, could you manually install this vsix? You'll need to download the zip, modify the extension to .vsix, and then manually install in VS Code. Thanks!
vscode-serial-monitor.zip

@embed-shaun @axel-lebourhis I'm curious if a fix I'm testing works for you, could you manually install this vsix? You'll need to download the zip, modify the extension to .vsix, and then manually install in VS Code. Thanks!
vscode-serial-monitor.zip

This resolves the issue!

@embed-shaun @axel-lebourhis I'm curious if a fix I'm testing works for you, could you manually install this vsix? You'll need to download the zip, modify the extension to .vsix, and then manually install in VS Code. Thanks!
vscode-serial-monitor.zip

Hi, yes this appears to fix it. Here is before:

and then after:

Thank you for resolving :)

@FlyinPancake @embed-shaun Great! I am currently working on merging those changes and a new pre-release version should be out in the coming days with those changes.

Hi @gcampbell-msft , sorry for my lack of follow up, glad to know you've been able to resolve it.
I will retest when the pre-release is out.
Thanks !

I have met the same problem when using the SerialMonitor extension.
Windows 10, VScode Insider, SerialMonitor 0.11.0
if the sent byte is less or equal to 127, seems it can display correct forms, when the data sent is bigger than 128 (like 0x80), it will cause the error of "fffd".

The data I received also shows an error FFFD.

Hello,
Im having the same error. Im developing a modbus reader with ESP32 MCU and when they send the data it gives me fffd always i send any data above 127. If i send data below that number it shows ok but not above that. What could be causing the problem?

@Isaacbg84 What version of the extension are you using? This issue should be solved on the pre-release channel. Could you test that?

@Isaacbg84 What version of the extension are you using? This issue should be solved on the pre-release channel. Could you test that?

Good day to you,
i've tried out pre release version of 'serial monitor' with vscode and vscode insiders. Both doesn't display correctly. The thing is, when i copy out the text with mouse right click and 'copy' and past it into another editor, then i can see the correct text. So it seem to be an displaying issue.
---- Opened the serial port COM4 ----
CLOCK_STATUS_1: 120
CLOCK_STATUS_2: 21
Samp Freq = 48000 Hz (48.0000 KHz)

@Muxmaeuschenstill Could you point out to me what exactly looks incorrect in your screenshot?

@Muxmaeuschenstill Could you point out to me what exactly looks incorrect in your screenshot?

Yes of course, thank you. Please look at the difference between the correct text, which i copied out with a right mouse click and the screen shot of the 'serial monitor' output. I ithink there are dublicates at the end of each line, like in the first line, 't COM4 ----' and in the second line '  120'. Additionally, the duplicate characters are not placed on the same line (best seen at the end of the third line of  the screenshot “2:   212”, where the position of the characters seems not to be correct.
I use another serial extension that works fine. So i'am sure not to send something wrong over the serial bus.

@Muxmaeuschenstill Ah, thank you for the clarification! I wasn't fully understanding, as this seems to be an independent issue.
Could you please create a new issue for this? It would be most helpful since it's a separate issue than the hex display content. Additionally, it would be best if you could create a minimal repro that I could then attempt to reproduce the problem with. I haven't been able to reproduce this locally, but any help from you could help us solve this. Thanks!

I can confirm the issue of not correct displaying hex values from 0x80 up. Serial Monitor version 0.11.0.
Setup: Ubuntu + 2x CP210x UART Bridge  connected each to other Tx to Rx, registered in system as /dev/ttyUSB0 and /dev/ttyUSB1.
Verification that communication works correctly:

Terminal1:cat /dev/ttyUSB1 | hexdump -v -e '/1 "%02x\n"' (keeps running and printing incoming data)
Terminal2:echo $'\x80' > /dev/ttyUSB0
Terminal prints correctly value 80

Serial Monitor test:

Setup Serial Monitor to 9600 8N1 HEX /dev/ttyUSB1 (the CP210x are by default configured to 9600 8N1, but it can be verified by stty -F /dev/ttyUSB0)
Terminal:echo $'\x80' > /dev/ttyUSB0
Serial monitor shows fffd.
Terminal:echo $'\x7f' > /dev/ttyUSB0
Serial monitor shows correctly 7f.

@EV3NE This issue should be fixed in the pre-release version. Could you test whether it works in the pre-release version? If not, then I will investigate as soon as I can.

@gcampbell-msft I tested the preview versions, here are the results:
Windows
- v0.11.240217001 (pre-release)
- generated values 00-ff, SM shows 00-7f, then starts again 00-7f - NOT OK
Linux
- v0.11.240217001 (pre-release)
- generated values 00-ff, SM shows 00-ff - OK
There is another strange behavior, I'm not sure if intended, both in Win and Lin versions - the hex sometimes prints multiple values in the line (the number of values is not constant) and then prints only one value per line. This is repeating without any obvious patter, and is always different event when stopping the monitoring and starting again. This is probably different issue then the above mentioned, but I'm not sure, I should open new issue on this, or it can be fixed in this one.
Here is an example:
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0e 0f 10
11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20
21
22
23
24
25
26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35
36
37
38
39
3a
3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c
4d
4e
4f
50
51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63
64
65
66

@EV3NE What data are you sending in the repro for the weird multiple lines issue? I'm wondering if that will help me investigate in trying to find what is wrong for that one. Thanks.

@gcampbell-msft What concerns the interval, the problem disappears (on both Win, Lin), when I add a delay at least 10ms between each byte. With that delay, the HEX prints nicely 16 bytes per row, one row after another without any exception. But the data rate is already slow, as it is 9600kbps so I don't think it should be at some speed limit edge and to need any delay between the bytes.
On linux I tried full speed (without any delay between bytes) just between two terminals (via the USB-UART modules) and there was no problem, all data were received correctly.
Ommiting 0x0d
I realized, that there is one more issue. The Serial Monitor is not displaying 0d. This is actually visible in the SM output above, where is 0d missing in the data, which are generated with +1 for loop. But I tried to send it separatelly too.
Again, I tested it between two linux terminals and everything was transcieved correctly and displayed too:

Terminal1: cat /dev/ttyUSB1 | hexdump -v -e '1/1 " %02x" "\n"'
Terminal2: echo -n $'\x0d' > /dev/ttyUSB0

This issue has different behavior between OSes:

Linux:

sending: 0d; receiving: nothing

Windows:

sending: 0d; receiving: nothing
sending: 8d; receiving: nothing - this is consequence of aforementioned issue, where on Win, the SM displays correctly only values 00 - 7f, and for input 80 up, the SM displays values again from 00 up, and when it comes to displaying 0d (input 8d), it is again missing in the outputs, which tells me, the problem is somewhere at the end of the processing.

Except 0d, all other hex values are displayed.

@EV3NE
Did you ever get this fixed? I'm experiencing exactly the same with 0x0D value not being displayed. I've verified with other serial monitors that the byte actually gets sent, so something is up with this.


go-demo-6 to 1.0.39

Promote go-demo-6 to version 1.0.39

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


InvalidArgumentError: Data too short when trying to read string in Google kws_streaming

Hi,
I tried to train a custom model, and the training failed due to InvalidArgumentError: Data too short when trying to read string 	 [[node data/DecodeWav (defined at google-research/kws_streaming/data/input_data.py:415) ]]
When I trained a model with less number of training steps like 2,2,2,2, the training is successful on the dataset, whereas if I increase the training steps to 40000,40000,20000,20000, the training failed.
My dataset contains wav audio between 1 second to 3 seconds with a 16k sampling rate.

Hi @csetanmayjain, this lib does not support training samples with different audio length: all data should have the same length with defined parameter e.g. "--clip_duration_ms=1000" for audio with 1000ms length.

It will crop it in line wav_decoder = tf.audio.decode_wav(wav_loader, desired_channels=1, desired_samples=desired_samples)), where desired_samples is defined by clip_duration_ms.

If I'm not wrong, this one is during the decoding?
I have trained a model, keeping "--clip_duration_ms=1000", with the data having 0.5 seconds to 3seconds of audio.
In this,  whether the model was trained on the entire utterance between the audios of 0.5 to 3 seconds or, it trim the 1000 ms of audio, train on it, and discard the rest of the utterance?

audio will be trimmed by 1000ms in above I pointed you to the line in the code where trimming will happen. tf.audio.decode_wav reads audio and trims/crops it.

got it
Thanks for your time @rybakov


What changed?

Removed the PowerShell installation script (install.ps1)
Eliminated Windows-specific update logic from src/updater.rs
Updated README.md to remove the PowerShell installation command

Why make this change?
This change streamlines the update process by focusing on Unix-based systems (Linux and macOS). It simplifies the codebase by removing Windows-specific logic, potentially reducing maintenance overhead and improving overall consistency in the update mechanism.

#32  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @mAmineChniti and the rest of your teammates on  Graphite

Merge activity

Oct 4, 12:08 PM EDT: @mAmineChniti started a stack merge that includes this pull request via Graphite.


Timetable capping.

The timetable does not allow you to go further than 4:00 PM.

If I use the sidebar to access, it does this.

If I use the sidebar to access, it does this.

Is it just your schools settings?

If I use the sidebar to access, it does this.

Is it just your schools settings?

I've just checked all the settings requests that seqta makes, and I couldnt find anything related to a timetable cap. It must be something else, but idk what

Potentially there may be some differences in the version of seqta that your school uses, and so some of the styles may be different causing some kind of conflict. If you do have experience working with devtools and manage to play around and get it working, we might be able to integrate those changes directly into the extension.

So it turns out there was a caching problem where the old and new seqta timetable mixed. After a cache clear, it's now fixed.


Change readme to use append

Thanks! However this syntax is limited to Capistrano 3.5.0, which is less than a month old, and it takes a while for users to upgrade. I'm going to hold off merging this right now.

After I upgrade to capistrano 3.5.0, some feature was broken. And finally, I found out why it was broken. It was overwriting problem. So I close this issue.
#58


Migrate to androidx

Here is a PR for migrating to androidx. We would like to ditch jetifier in our project.
Changes

Update gradle and sdk versions (needed to migrate to androidx)
Migrate to androidx
Remove butterknife and use findViewById due to runtime issues
Fix unit tests after the above changes

I am not sure how I should increment the swipe-maker version

I am not sure if the project is still maintained, it would be good to get an answer. Otherwise we would need to integrate our fork in our project


IGNITE-2144 IgniteSemaphore's failover related tests are failing to compile

https://issues.apache.org/jira/browse/IGNITE-2144 is closed, closing PR


IE 7 Bug - Nav Hidden

Who would of figured there would be a bug in IE 7...
In IE 7 on page load - the navigation is mysteriously hidden. After resizing of the window, the navigation appears.
Finally figured out that IE7 does not like [role="navigation"].
The solution: replaced the custom selector, [role="navigation"], with class .rolenavigation in html, css, & js. and it fixed the issue.

Thanks! Let me know when the site your working on goes live. I'd love to see real uses of this in the wild.


Sharp Implant Still Running

There is an issue with the SharpImplant continuing to run in some situations which has not been fully bottomed out. There are a few ways the implant can be destroyed but some have adverse effects on the host process and therefore has not been performed. Further work here is required to find the solution to best kill an active C# implant. The work around is to inject into processes that are only running the Implant and then Kill that process using taskkill or similar code using start-process with args.

https://github.com/nettitude/PoshC2_Python/commit/8e40bdf7d73671950a68f04a8180a652db734ec0


Improve URL streaming in open_file

As noted in this discussion from #903, opening URLs through open_file/open_files could be improved in a way that the contents of a request are not all loaded into memory and instead are read from disk.
I've proposed a strategy that will likely work just fine, however this depends on an open issue in the CacheControl repo https://github.com/ionrock/cachecontrol/issues/77 .

Duplicate do #912

:snail:


Typescript usage with dynamoose namespace

Summary:
New to typescript (leaving flow) and somewhat dynamoose so this may be a simple question, but how do you assign dynamoose as a type? This is specifically for when dynamoose is passed in as a dependency. I can access some type exports such as Model, Schema, Table etc. but looking through the dynamoose.d.ts file I ses no actual dynamoose type. Am I missing something?
Code sample:
This is what I'm trying to achieve.
import Dynamoose from 'dynamoose'

type Options = {
  dynamoose: Dynamoose,
}

const provider = ({ dynamoose }: Options) => {...}

Current output and behavior:
I'm currently getting TS errors as follows:
Cannot use namespace 'Dynamoose' as a type.ts(2709)
Property 'dynamoose' of exported interface has or is using private name 'Dynamoose'.ts(4033)

Expected output and behavior:
To get typings for the Dynamoose object.
Environment:
Operating System:
Operating System Version: MacOS 10.14.x
Node.js version (node -v): 8.12.0
NPM version: (npm -v): 6.4.1
Dynamoose version: 1.8.0
Dynamoose Plugins: n/a
Dynamoose Plugins:

[ ] Yes, I believe that one or multiple 3rd party Dynamoose plugins are effecting this issue
[ ] No, I believe this issue is independent of any 3rd party Dynamoose plugins I'm using
[ ] Unknown, I'm unsure if Dynamoose plugins are effecting this issue
[x] I am not using any Dynamoose plugins

Other information (if applicable):

Type (select 1):

[ ] Bug report
[ ] Feature suggestion
[x] Question
[ ] Other suggestion
[ ] Something not listed here

Other:

[x] I have read through the Dynamoose documentation before posting this issue
[x] I have searched through the GitHub issues (including closed issues) and pull requests to ensure this issue has not already been raised before
[x I have searched the internet and Stack Overflow to ensure this issue hasn't been raised or answered before
[x] I have tested the code provided and am confident it doesn't work as intended
[ ] I have ensured that all of my plugins that I'm using with Dynamoose are listed above
[x] I have filled out all fields above
[x] I am running the latest version of Dynamoose

I fixed this issue by defining Dynamoose type like this: type Dynamoose = typeof dynamoose

Thanks @dolsem I've got that working now - much appreciated!

I've opened a request to fix issues like these in TypeScript by bringing declaration files to parity with language features. https://github.com/microsoft/TypeScript/issues/35822


2021.3.0 fix

Fixes #103. Fix by @danielbrunt57.

Thanks you both for this!

Happy to help!
I tried finding other code using normalized_name but could not so I took a SWAG, modified it and it worked.
Thanks,
Daniel
From: Jan Seidl<EMAIL_ADDRESS>Sent: March 5, 2021 7:01 PM
To: jseidl/hass-magic_areas<EMAIL_ADDRESS>Cc: Daniel Brunt<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [jseidl/hass-magic_areas] 2021.3.0 fix (#104)
Thanks you both for this!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jseidl/hass-magic_areas/pull/104#issuecomment-791849737, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL4JU3MKHGREMSOP2TTGVYLTCGLIPANCNFSM4YTNQKIQ.


HD wallet

HD wallet for Dash Core 0.12.2.x+

minimal BIP32 changes backported from Bitcoin upstream;
BIP44 derivation scheme;
BIP39 mnemonic and mnemonic passphrase can be used to create HD wallet (optional, using random mnemonic ~and mnemonic passphrase~ if mnemonic was not specified by the user explicitly);
only seed is stored, all keys are derived on the fly (seed is stored encrypted if wallet is locked).

~Note: mnemonic is not stored and can't be recovered.~

Whoa. You can do this in core?

Will mean everyone needs to export and reimport their privkeys to the new wallet structure. But I can confirm this works as it is in https://github.com/duality-solutions/dynamic

What that HD stands for?

Hierarchical deterministic

@SCDeveloper Yep, there will be a need in some migration for old users (optional though). Another option would be to create a completely new wallet and then simply send all funds from an old wallet to a new one. This way ALL keys will be recoverable. And yes, that repo was where I started from first and as able to compile wallet after resolving some conflicts. But I wasn't happy with way too many changes all over the place due to embedded refactoring, so had to backport upstream changes selectively instead. Anyway, thanks for a starting point :)
@akijuh Hierarchical Deterministic (HD) Wallets https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

This should be ready for review and testing now.

Changes:

top up keypool on hd wallet encryption (fix tests)
backport, fix and slightly refactor bitcoin core 9294 and 10235 (hd chain split),

NOTEL: This breaks compatibility with hd wallets created on previous commits. If you have such wallet, apply this patch locally and run it once:
diff --git a/src/hdchain.h b/src/hdchain.h
index 6cdc7c831..b0fee515b 100644
--- a/src/hdchain.h
+++ b/src/hdchain.h
@@ -29,7 +29,17 @@ public:
         READWRITE(vchSeed);
         READWRITE(id);
         READWRITE(nExternalChainCounter);
-        READWRITE(nInternalChainCounter);
+        if (ser_action.ForRead()) {
+            try {
+                READWRITE(nInternalChainCounter);
+            }
+            catch (std::ios_base::failure&) {
+                nInternalChainCounter = 0;
+            }
+        }
+        else {
+            READWRITE(nInternalChainCounter);
+        }
     }

     bool SetNull();

Wallet should now store mnemonic/mnemonicpassphrase.
NOTE: This is incompatible with previous hd wallets once again, run-once patch is similar to the one above:
index 8520bc181..4e75612e7 100644
--- a/src/hdchain.h
+++ b/src/hdchain.h
@@ -34,8 +34,20 @@ public:
         READWRITE(id);
         READWRITE(nExternalChainCounter);
         READWRITE(nInternalChainCounter);
-        READWRITE(vchMnemonic);
-        READWRITE(vchMnemonicPassphrase);
+        if (ser_action.ForRead()) {
+            try {
+                READWRITE(vchMnemonic);
+                READWRITE(vchMnemonicPassphrase);
+            }
+            catch (std::ios_base::failure&) {
+                vchMnemonic = std::vector<unsigned char>();
+                vchMnemonicPassphrase = std::vector<unsigned char>();
+            }
+        }
+        else {
+            READWRITE(vchMnemonic);
+            READWRITE(vchMnemonicPassphrase);
+        }
     }

     bool SetNull();

CHDChain should be aware if it's crypted or not now. But it's incompatible again :)

I suppose the last step is implementing the function to redeem the mnemonicpassphrase.

@SCDeveloper not sure what you mean
> help dumphdinfo
dumphdinfo
Returns an object containing sensitive private info about this HD wallet.

Result:
{
  "hdseed": "seed",                    (string) The HD seed (bip32, in hex)
  "mnemonic": "words",                 (string) The mnemonic for this HD wallet (bip39, english words)
  "mnemonicpassphrase": "passphrase",  (string) The mnemonic passphrase for this HD wallet (bip39)
}

I was under the understanding that the mnemonic phrase could be used to redeem the entire wallets inputs to a new wallet or is that not what the mnemonic phrase is for?

@SCDeveloper nope, see the spec https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed

@UdjinM6 So it uses ImportWallet?

@SCDeveloper I'm not sure I understand you... "it"? "ImportWallet"?...
If you mean how user would migrate from old random key wallet to a new HD wallet, then I guess there are many options. I would suggest this: no mixing txes - dumpwallet/importwallet, many mixing txes but no/low PS balance (i.e. many useless keys) - just send funds to new wallet. By default existing users just continue using random keys wallet, there is no option for automatic migration.

Ah, I was more interested in the use of the mnemonic phrase and where it would be used.

Ah, I was more interested in the use of the mnemonic phrase and where it would be used.

Spec:

A user may decide to protect their mnemonic with a passphrase.
...
The described method also provides plausible deniability, because every passphrase generates a valid seed (and thus a deterministic wallet) but only the correct one will make the desired wallet available.

https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed

Also, is this still WIP?

Should be pretty close to production imo unless I'm missing smth, but will require rebase/fix after #1437 (which I'd like to merge first) and probably some final review/testing after that.

@UdjinM6
[Wallet] keep HD seed during salvagewallet -
https://github.com/bitcoin/bitcoin/commit/bc94b87487824c6fba45788facf96faba97a4aa6

@UdjinM6 However those above links would require the moving of wallet initialisation functions to a new function in CWallet:: i.e. bool CWallet::InitLoadWallet()

@SCDeveloper these HD-related commits in bitcoin repo aren't applicable here because:

key meta is not used for storing hd path, instead it's constructed on the fly https://github.com/dashpay/dash/pull/1405/files#diff-67a7a232bdd1149d2041d8748bca535bR178;
key is not used as a seed source, seed is either provided via -hdseed directly or derived from mnemonic/mnemonicpassphrase.

Segfault (c587577) is smth general and not HD-related as far as I see, so if there is a real issue in bitcoin 12.0 code base, it should be fixed separately imo.

No c587577 isn't HD related, it is if you create CWallet::InitLoadWallet() and start moving load wallet functions out of init.cpp

I have implemented this code to Dynamic and Sequence. Works an absolute treat. Really good work @UdjinM6
I will be PR'ing some code changes to Dash 12.2 in the coming days or so to help take some weight off your shoulders ;)

Is there a reason to put hdchain.h/.cpp in src instead of src/wallet ?
Seems like it is only used by the wallet code, but maybe I am missing something.

It looks like commit db0d3c1 did a great job of handling sensitive data in vectors :+1: .
But there are also places where sensitive data is contained in strings (ie. for mnemonics).  It should be possible to create a SecureString type that uses the SecureAllocator analogously to SecureVector to handle these cases.

rebased on top of current v0.12.2.x
@tgflynn
re hdchain: yes, it's used in wallet only currently but in general it can be used by some utils too (just like key/pubkey) and is not inherent to wallet imo
re mnemonic: hmm, probably, I'll have a look

Add #include  to secure.h

bip39 tests need std::string for mnemonic changing to securestring uses.

Agree - add #include <vector> (as it is in src/support/allocators/zeroafterfree.h for CSerializeData).
SecureVector is a typedef alias of a std:vector template, i.e. just a type declaration.
A definition of std::vector is required only at the point of template instantiation.
In Travis I see the OSX compile failing with this
./support/allocators/secure.h:62:14: error: no type named 'vector' in namespace 'std';
typedef std::vector<unsigned char, secure_allocator<unsigned char> > SecureVector;

It seems that the OSX compiler setup is attempting to instantiate at the point of declaration, an earlier check than necessary - the compiling platforms are not circumventing type safety, just type checking at point of use.

Also, while editing secure.h, I suggest a C++11 update to the exception specification:
search-replace throw() with noexcept(false)
(also in zeroafterfree.h)
throw() dynamic exception specification is deprecated in C++11
(there are also a couple of throw() specifications in governance-exceptions.h, we can update those when that file is next touched)

@willwray
If you do that, you end up with error: exception specification of overriding function is more lax than base version

@UdjinM6
Minor:
wallet/rpcdump.cpp:571:27: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long')
      [-Wsign-compare]
        for (int i = 0; i < hdChainCurrent.CountAccounts(); ++i)

@spencerlievens, @UdjinM6 re: allocator exception specification
I'd meant 'noexcept(true) or just noexcept, as in the linked cppreference (oops)!
Anyway; ignore for now - this would be just a cosmetic change.
We can update to minimal C++11 allocators in a later 'remove deprecation' PR if desired
(following std::allocator_traits<T> rather than inheriting from std::allocator<T>, which was never intended as a base class)

@UdjinM6 Is that a Travis-CI glitch?

@spencerlievens I wish I knew... I don't quite understand the error because it's not pointing where it actually failed exactly and I don't see why code like that would fail. I tried few versions already and out of ideas atm tbh...

@UdjinM6 can line 157 be swapped for line 159, with what is currently line 159 removed.

@UdjinM6 you are calling SecureString passphrase, do you need to?

@UdjinM6
    uint8_t salt[8 + 256 + 4];
    const char *passphrase_ = passphrase.c_str();
    memcpy(salt, "mnemonic", 8);
    memcpy(salt, passphrase_, strlen(passphrase_));

I just built with this, not sure you need that +8: memcpy(salt+ 8, passphrase_, strlen(passphrase_));

@spencerlievens two memcpy are for concatenating "mnemonic" and passphrase, that's why  +8 (8 is the length of "mnemonic"). Your second memcpy just overwrites the result of the first one and I doubt that would solve travis ci issue.

@UdjinM6 So irritating when this is the final part of the commit :(

The problem was rather simple - while(mnemonic[i]) worked fine for an array of chars and didn't work so well for a vector (it was falling out of bounds when it reached the end). 040a562 should fix it.

@UDjinM6 Nice work. Looks pretty complete to me. utACK.

@tgflynn addressed recent comments in fbb288b

utACK

rebased to solve merge conflict after #1473  (around this line https://github.com/dashpay/dash/pull/1405/files#diff-8bdec64a6a2adb83b9696e5ca6d5522bR1282)


Guidance about the design pattern of the repo needed

Hi Bryan,
First of all congrats for the repository. Really nice and neat job! :clap:
To some extend, I am interested in implementing SOTA RL papers as well and I have gathered all I have managed to implement here.
But unlike you, I have been struggling to put them altogether in a modular manner (the same you have achieved in this repo) rather separate repositories and isolated implementations.
So, I thought to ask you if you could provide me with some tips and tricks and guidelines you followed to build up your repo?
For instance, the way you constructed an inheritance relationship between base_policy, off_policy and on_policy algorithms and why.
Thank you so much. :smile:

Hi Alireza,
Thanks for the kind words and you seem to have your own nice implementations :)
We can find some time to chat about how I designed this and what I think can be improved, perhaps a week or so from now.

That would be great Bryan!
I'm gonna be in Edmonton on Dec 17th onward and available. I'm afraid you might be on the Christmas vacations at the end of year so, If that's the case then the next term would still be fine and I can reach you again at a more convenient time of yours.
If you wanted to have an online meeting then I'm available prior my flight. I can email you to fix a date for that.


Generated classes are not visible/accessible at runtime or by lint in the RELEASE build of the app

I just added Compose destinations to one of our modules. It works perfectly fine in the debug build, but in our qa/release build variant, the page containing Destinations is completely blank.
The other clue is that Lint is not able to see the NavGraphs class, and it show up in red, even though the app compiles and runs

Again, this lint red highlight only shows up when I select the qa/release variant of the app. In the debug variant, NavGraphs does not get highlighted in red.
here are the differences between our build variants
debug {

         applicationIdSuffix ".x"
         firebaseCrashlytics {
             mappingFileUploadEnabled false
         }
         debuggable true
         multiDexEnabled true
         signingConfig signingConfigs.debug

         minifyEnabled false
         shrinkResources false

         FirebasePerformance {
             instrumentationEnabled false
         }

         //build speed improvements for dev builds
         aaptOptions.cruncherEnabled = false
         ext.alwaysUpdateBuildId = false
         splits.density.enable = false
         splits.abi.enable = false
     }

     qa {
         firebaseCrashlytics {
             mappingFileUploadEnabled false
         }
         debuggable true
         signingConfig signingConfigs.release
         minifyEnabled false
         shrinkResources false
         FirebasePerformance {
             instrumentationEnabled false
         }
         proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         testProguardFiles 'proguard-rules-test.pro'
     }

Note: in this version I already turned off minify since that was our first suspecion, But it did not make a difference

Hi 👋
How are you making the IDE aware of the generated files? Did you follow documentation?
https://composedestinations.rafaelcosta.xyz/setup#3-and-finally-you-need-to-make-sure-the-ide-looks-at-the-generated-folder

ok so turned out the blank screen issue was something else out side of destinations. But the Lint issue IS a problem and it sounds like it's exactly what you linked above, thank you.


Use Log without using RUM

With the following code, Datadog SDK works as expected for our project

RUM works
Log works

However we want to disable the RUM to reduce the cost. We can't see any logs in Datadog dashboard. Please refer to the screenshot

No logs when RUM disabled

Datadog SDK init code
       private fun initRum(context: Context) {
           val applicationId = context.getString(R.string.dd_app_id)
           val clientToken = context.getString(R.string.dd_token)
           val environmentName = context.getString(R.string.dd_env)
           val appVariantName = BuildConfig.BUILD_TYPE

           val config = Configuration.Builder(
               rumEnabled = true, // WE WANT TO DISABLE RUM
               crashReportsEnabled = false,
               logsEnabled = true,
               tracesEnabled = false
           )
               .useSite(DatadogSite.EU1)
               .build()

           val credentials = Credentials(
               clientToken,
               environmentName,
               appVariantName,
               applicationId
           )

           Datadog.initialize(context, credentials, config, TrackingConsent.GRANTED)
           GlobalRum.registerIfAbsent(RumMonitor.Builder().build()) // WE WANT TO DISABLE RUM
           Datadog.setVerbosity(Log.VERBOSE)
           Log.d(TAG, "DataDogLogger init() = ${Datadog.isInitialized()}")
       }

       fun generateLogger(context: Context): Logger {
           val logger = Logger.Builder()
               .setLogcatLogsEnabled(false)
               .setDatadogLogsEnabled(true)
               .setServiceName(processName)
               .build()

           val anonymousId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
           Log.d("===>", "anonymousId = $anonymousId")
           logger.addAttribute("appVersion", getVersionName(context))
           logger.addAttribute("mwVersion", Build.VERSION.INCREMENTAL)
           logger.addAttribute("hwVersion", Build.DEVICE)
           logger.addAttribute("anonymousId", anonymousId)
           return logger
       }

Hello @changxiangzhong!
To disable RUM simply set rumEnabled = false in the constructor of Configuration.Builder and then you don't need to register any RumMonitor, so you can remove the following line:
GlobalRum.registerIfAbsent(RumMonitor.Builder().build())

Once you created a Logger instance, you should use it to send logs to Datadog. Do you see any warnings or errors in your Logcat related to our SDK?
Do you see your (not created by the Datadog SDK internally) logs in the dashboard with RUM enabled?

Hi @0xnm Thanks for replying. Those two steps are my first instinct. So I've done the following

Remove the two lines you mentioned
Set the DD SDK log level to Verbose
Run the apps (We have two processes, both uses DD SDK)

Result: I don't see any logs in the DD live trail view. Neither can I find anything peculiar in the log.

Here are the init source code

        private fun initRum(context: Context) {
            val applicationId = context.getString(R.string.dd_app_id)
            val clientToken = context.getString(R.string.dd_token)
            val environmentName = context.getString(R.string.dd_env)
            val appVariantName = BuildConfig.BUILD_TYPE

            val config = Configuration.Builder(
                rumEnabled = false,
                crashReportsEnabled = false,
                logsEnabled = true,
                tracesEnabled = false
            )
                .useSite(DatadogSite.EU1)
                .build()

            val credentials = Credentials(
                clientToken,
                environmentName,
                appVariantName,
                applicationId
            )

            Datadog.initialize(context, credentials, config, TrackingConsent.GRANTED)
            Datadog.setVerbosity(Log.VERBOSE)
            Log.d(TAG, "DataDogLogger init() = ${Datadog.isInitialized()}")
        }

        fun generateLogger(context: Context): Logger {
            val logger = Logger.Builder()
                .setLogcatLogsEnabled(false)
                .setDatadogLogsEnabled(true)
                .setServiceName(processName)
                .build()

            val anonymousId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
            Log.d("===>", "anonymousId = $anonymousId")
            logger.addAttribute("appVersion", getVersionName(context))
            logger.addAttribute("mwVersion", Build.VERSION.INCREMENTAL)
            logger.addAttribute("hwVersion", Build.DEVICE)
            logger.addAttribute("anonymousId", anonymousId)
            return logger
        }

        private fun getVersionName(context: Context): String {
            val pInfo = context.packageManager.getPackageInfo(context.packageName, 0)
            return pInfo.versionName
        }

Here's the logcat

Basically I did exactly as you suggested since yesterday. But I haven't managed to get any logs in the DD dashboard.

Thank you mister, it works. It's the applicationId filter issue.


Fixed #35275 -- Fixed crash on OpClass/UniqueConstraint validation.

Trac ticket number
ticket-35275
Branch description
Fixes an issue that leads to an SQL syntax error when validating UniqueConstraint that uses OpClass.
Checklist

[x] This PR targets the main branch.
[x] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[x] I have checked the "Has patch" ticket flag in the Trac system.
[x] I have added or updated relevant tests.
[x] I have added or updated relevant docs, including release notes if applicable.
[ ] [not applicable] ~For UI changes, I have attached screenshots in both light and dark modes.~

@mkniewallner Do you have time to keep working on this?

Superseded by #18160.


Update top-nav.tsx

The mobile app header isn't full width.

@drago26  On which mobile you are getting this issue?


Revert to including only open files in partial semantic server mode

@typescript-bot cherry-pick this to release-4.0

@typescript-bot pack this

Looks good to me locally after some finagling.


Energy scan should be the peak of ED measurement

The energy scan should be the peak of a repeated ED measurement within the scan duration instead of the average rssi, and the current implementation seems to map it to the latter.
https://github.com/openthread/ot-efr32/blob/c89cea0b6a50afdab61093829544229e19ce19fe/src/src/radio.c#L1334

@bukepo thanks for reporting this issue.  This will be addressed in an upcoming release.


Speed &  Languages

Hey
The parser tokens is slow to output, result = parser.parse(tokens)

What is the cause and how to speed this up?
Anyway to extend this to other languages?

Hi Arjun,
Sorry for my delayed answer, was busy these last couple of days.
Glad to see you trying Rley...
Can you give more details about the context you experienced the slow output (which grammar used, input text...)?
Outputting to screen can be a factor of slowdown. Minimizing the output (no tree/forest output) can really help.
I will try to expand an example in order to measure performance.
Concerning the language: not 100% sure about your question. Do mean extend Rley to other implementation language than Ruby? Or do you mean extending to another language than Mini-English?
The answer to the first question is that there is no plan to Rley to another programming language. If your question is about natural language, then Rley by itself is language-neutral. The only restriction, is that the grammar of the language to be parsed must be a context-free language. Most natural languages "in the wild" aren't context-free. On the other hand it is possible to invent subset on natural languages that could be context-free (or almost).  If you want to apply Rley for your favourite language, my recommendation will be to first find a context-free variant grammar variant of the languagge then start with this.
My intent in the neat term is to expand the examples with:

More ambitious English subset (I dream about Rley being able to parse the contents of the "Things Explained" book from Randall Munroe.

Hey
I was following the steps you had written. It took a lot of time to get the result = parser.parse(tokens) with the demo sentence you had mentioned.
But after that, all other steps were quick.
But that really took almost a minute.
About the language, I was asking about a write up, if you have, about extending to other spoken languages.
Also, when I started searching for more I realised instead of context-free approach, the current methods are to use shift-reduce parsers, which are apparently fast and provide very good accurate dependency parsing.
As you guess, can we work on that.

Hi Arjun,
As I was anxious about Rly speed, I wrote a benchmark script and I just it committed to Github .
You can find the file named benchmark_mini_en.rb  in the examples/NLP directory. If you install the Rley gem, then download and run the above file, you will see the benchmark results on your screen.
As an indication, on my computer, the benchmark ran for about 45 seconds. Here are the detailed results produced by the standard Benchmark library:
user     system      total        real
Parse 100 times  0.031000   0.000000   0.031000 (  0.037953)
Parse 1000 times  0.375000   0.000000   0.375000 (  0.380093)
Parse 10000 times  3.750000   0.000000   3.750000 (  3.736678)
Parse 1000000 times 38.062000   0.000000  38.062000 ( 38.060720)
In short: repeating 100,000 times the parse of a sentence took less than 40 seconds. Not too bad for a NLP-grade parse.
I did the benchmark with:
-Rley gem version 0.5.06
-MRI Ruby: ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]
-OS: Windows 10 Pro Version: 1703 Build: 15063.674
-CPU: i7-2600 @ 3.40 Ghz
-Memory: 12 Gb
As you can see, my configuration isn't geared for high performance.
I am curious about the results you'll report.

Hey
This is actually strange
Running in irb, the benchmark runs really fast
irb(main):150:0> Benchmark.bmbm(1) do |x|
irb(main):151:1* x.report("rehersal result is") {result = parser.parse(tokens)}
irb(main):152:1> x.report("actual  result is") {result = parser.parse(tokens)}
irb(main):153:1> end
Rehearsal ------------------------------------------------------
rehersal result is   0.000000   0.000000   0.000000 (  0.000811)
actual  result is    0.000000   0.000000   0.000000 (  0.000714)
--------------------------------------------- total: 0.000000sec

                         user     system      total        real
rehersal result is   0.000000   0.000000   0.000000 (  0.000699)
actual  result is    0.000000   0.000000   0.000000 (  0.000599)
=> [#<Benchmark::Tms:0x005571fedaeab0 @label="rehersal result is", @real=0.0006988500001625653, @cstime=0.0, @cutime=0.0, @stime=0.0, @utime=0.0, @total=0.0>, #<Benchmark::Tms:0x005571fedb18c8 @label="actual  result is", @real=0.0005991940001877083, @cstime=0.0, @cutime=0.0, @stime=0.0, @utime=0.0, @total=0.0>]

Your script runs like this
~/Desktop/ruby$ ruby benchmark_mini_en.rb
             user     system      total        real
Parse 100 times  0.030000   0.000000   0.030000 (  0.034606)
Parse 1000 times  0.330000   0.000000   0.330000 (  0.326775)
Parse 10000 times  3.210000   0.000000   3.210000 (  3.205700)
Parse 1000000 times 32.490000   0.010000  32.500000 ( 32.499518)
~/Desktop/ruby$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

But outputting simply result = parser.parse(tokens) in the irb is very slow. Why? Not the output itself to print, but running the line itself.

Some notes

In ruby 2.3.3, there is some issue with the benchmark file

~/Desktop/ruby$ ruby benchmark_mini_en.rb
benchmark_mini_en.rb:60:in `block in tokenizer': uninitialized constant Rley::Lexical (NameError)
Did you mean?  Lexicon
	from benchmark_mini_en.rb:56:in `map'
	from benchmark_mini_en.rb:56:in `tokenizer'
	from benchmark_mini_en.rb:76:in `<main>'
~/Desktop/ruby$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]

In ruby 2.2.3
Rley::Tokens::Token.new(word, terminal) line has issue
NameError: uninitialized constant Rley::Tokens
	from (irb):267:in `block in tokenizer'
	from (irb):263:in `map'
	from (irb):263:in `tokenizer'
	from (irb):272
	from /home/arjun/.rbenv/versions/2.2.3/bin/irb:11:in `<main>'

In ruby 2.3.3
Rley::Lexical::Token.new(word, terminal) line has issue
NameError: uninitialized constant Rley::Lexical
Did you mean?  Lexicon
	from (irb):151:in `block in tokenizer'
	from (irb):147:in `map'
	from (irb):147:in `tokenizer'
	from (irb):161
	from /home/arjun/.rbenv/versions/2.3.3/bin/irb:11:in `<main>'

Hi Arjun,
Ruby version should not be an issue: when I commit a new version of Rley , it is tested against several Rubies thanks to Travis CI and AppVeyor.
Just in case, I committed a new version of the travis.yml file in GitHub.
The error messages you show above let me think that the Rley gem version used in the Ruby 2.3.3 configuration is older than 0.5.06.

Hey
~/Desktop/ruby$ gem which rley
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rley-0.5.06/lib/rley.rb
~/Desktop/ruby$ rbenv local 2.2.3
~/Desktop/ruby$ gem which rley
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rley-0.5.06/lib/rley.rb
~/Desktop/ruby$

Yeah that was the case. Didn't check you had recently uploaded a new version.

Hi Arjun,
In the meantime, I committed version 0.5.07 that contains a README.md with updated sample code. Thank you for helping me detect the issue.
I'll look at the irb issue. I suspect that irb has a hard time to cope with graph-based structure and recursive productions.

Cool.Thanks.
Would be nice if you can give a thought to other types of parser, which I had linked before.
At present I am trying to figure out how to use this constituency output for dependency parsing.
Also, if you know, got an idea on converting the bracket notation to PTB output. That way, we can use that to convert it to a dependency output?

Hi Arjun,
Three points.
a) I did a small experiment. I looked at the statement result = parser.parse(tokens) . As you know now, it runs quite fast. Then I added as a next line, this: p(result). Reason: I knew that with cyclic structures (graphs and interconnected objects), the p, inspect and pp are in trouble. Well, this is confirmed: the p(result) statement never returned!... If you really need to get an idea in the contents of the result (by the way, an instance of the GFGParsing class), I can provide convenience code. But deciphering this requires a thorough understanding of the Earley's parsing algorithm. That's why I am investing time to provide tree and forest representations of parse results. b) I come from the programming language parsing universe, so I don't feel myself entitled to rate the other parsers you mentioned (as I consider my NLP experience to be limited). Here a few things I know: dependency grammars are unknown outside NLP field. To my knowledge there is no single programming language interpreter nor compiler that uses the dependency grammar approach. I expect from a stronger/better formalism to be able to cope with simpler languages (like programming languages). That's not case with dependency grammars. Annoyingly, I never found a clear-cut definition of dependency in the NLP sense and how to use then in case of ambiguous sentences. Now, there is still some hope: in the Jurafski and Martin textbook, they mention (in section 12.7.1 -2nd edition- ) an algorithm to convert a cfg parse (e.g. from Rley) into an unlabeled dependency graph. So this can be an inspiration. c) Rley will extend to PCFG (probabilistic context-free grammars) and SPPF data structure will be augmented with probabilities. But on the shorter term, I want to consolidate the foundations: ensure that custom AST parse trees are easy to create. Add more no-NLP examples because these are the most convenient to test the core algorithms in Rley. Then gear up to NLP. For instance, generating PTB formatted trees (by combining Rley with a POS tagger like entagger`).

Hey

a. As you know now, it runs quite fast.

Yup it does. That was really fun to see.
When you say you ran p(result), does it mean the step before that ran normally for you in the irb itself. In my case it was very slow. Am i doing something wrong in IRB?
Simply running result=parser.parse(tokens) was very slow

b. I come from the programming language parsing universe

Okay. I didn't know that.
I thought Rley was primarily targetted for NLP.
Yeah in terms of NLP, dependency is important to parse and resolve queries . I have started to work on the shift-reduce parser. But since my knowledge on NLP is not even limited, and am simply converting it to Ruby, I thought you would have a better insight. That's why asked.

c.  Rley will extend to PCFG .

Shift-reduce. Please :pray:

Add more no-NLP examples because these are the most convenient to test the core algorithms in Rley. Then gear up to NLP.

That would be cool to see. Maybe I can work on a timeline with you.

Hi Arjun,
Executing the p(result) inside IRB or not doesn't really matter: the p method seems to loop forever.
I don't think you did something wrong with IRB. I believe that IRB is the problem when it has to deal with data structures with strongly interconnected objects like Grammar Flow Graphs.
Rley is indeed targeted for NLP. My personal aim is limited to Controlled Natural Languages because I am not yet convinced that a parser like Rley can be on a par with NLP capabilities from the GAFA guys or large and mature products like SpaCy. I think that we must restrict the use case to well defined natural language subsets (e.g. in specialized domains or with restricted vocabulary).
But before digging in the NLP adventure, I want in the short term:

Add more non-NLP examples. For instance, I am thinking of adding a parser for the Simple Regex Language. Why? It gives the opportunities to specify through a human readable language regular expressions.
Review the approach for generating AST (Abstract Syntax Tree). Current approach works but it looks clunky.

Hey Arjun, if you have some idea of a nice example to demo the Rley capabilities that will be cool. Probably the best will be start with something not overly ambitious...

Hey
I have added a basic nlp example using engtagger.
Do you have a reference to adapt it for any general text?

Hi Arjun,
Really nice that you catch the ball...
If your question is about getting a more realistic context-free grammar for English, then these aren't easy
to find. I located one here: large-grammar. The name speaks for itself! Bear in mind that natural languages aren't fully context-free. In other words, a CFG-based parser like Rley won't be strong enough to cope with all the subtleties of the written language. But the above grammar may give you the ability to support a subset of English that might still be useful for your purposes.
In full honesty, I you really want to support a realistic subset of English (or another written language), then most likely you to need to augment the parser with features and unification (e.g. singular/plural agreement...).
My proposal is that I add another NLP example - still very basic - that uses the L1 grammar from Jurafski.
To keep it simple, the language will have a very limited vocabulary (so no engtagger) yet.

In other words, a CFG-based parser like Rley won't be strong enough to cope with all the subtleties of the written language.

  No need to be like spacy or syntaxnet, just something for ruby to say, I got that.
Seriously, ruby is lacking.
I have shallow-chunker with wapiti. and trying to train NER as well. also trying to port certain python   libraries to a basic stuff for ruby.
But nlp requires a good dependency parser. And your project is interesting. So...

Thanks Arjun for your comments.
You're right about nlp support in Ruby: the Python and Javascript community are quite ahead in this domain. That's why I think the RubyNLP curated list by @arbox is a first step in the right direction.
The reason I started with Rley was that I wanted to go beyond Cucumber testing. Don't take me wrong, working with Cucumber is fascinating. The fact that one can specify scenarios in a English-like language is a very strong point. But if one works on a large scale (which I did a few years ago) then the framework shows its limitations. Therefore, I dreamed of a tool that was able to read specifications in an (almost) natural language. There came the idea of working with a controlled natural language (CNL). One impressive CNL example is (Attempto Controlled English)[https://en.wikipedia.org/wiki/Attempto_Controlled_English]. So CNL capability is my personal aim. With time I realize that Rley packs strong features that form a good basis for NLP (complete context-free grammar support, shared packed parse forests,..) . Now, I still consider_Rley_ as just a building block in the NLP game and it is not my intent to begin with a complete toolchain. My current priorities for Rley are:

Provide demos as a showcase. Show that Rley can be useful in other projects. Your NLP-focused input can certainly help there. I keep notice of the links you gave me, if I see quick wins, I may help in implementing a POS tagger. The next demo I am working on is a parser for SRL.
Enhance the support for SPPFs (Shared Packed Parse Forest). I am strongly convinced that SPPFs can help in handling syntactic ambiguity. Add bayesian reasoning for the selection of the most probable parse tree.

By the way, I looked rather briefly to the code of the dependency parser. My first impression was it many stuff are hardcoded. Not sure that it is flexible enough to cope with the language malleability.
nearley

Hello Arjun,
The speed issues with irb you reported initially should be lifted since Rley 0.5.11. This was caused by the Ruby's default inspect methods: they went amonk when encountering the "loopy" data structure used in Rley.
Could you confirm me that this issue can be closed.
Thanks.


🌱 bump shellcheck to v0.10.0

Shellcheck has its first release since 2022, so bump it.
/hold
needs project-infra change too.

/unhold
Project-infra has gone in.
/test shellcheck
/override test-ubuntu-e2e-integration-release-1-6


Skoda Connect Implementation

Hi,
might it be possible to integrate this library https://github.com/lendy007/skodaconnect
Thanks Jan

The API looks pretty straight forward. That shouldn't be a problem to implement. Unfortunately I can't buy a "testdevice" ;)
Have you tested the example to see if it works for you:
https://github.com/lendy007/skodaconnect/blob/main/example/example.py

I unfortunatly crashed my whole server system 2 weeks ago.. Crash of raid controller.. Still recovering data.. All my test Environments are still not operational 🥲 if it would help I could share my car with you...

The example is working for me. The script makes a login and fetches vehicle data. There just seems to be a problem with the token, but this may be my environment (Failed to verify connect token, error: module 'jwt.algorithms' has no attribute 'RSAAlgorithm')

Great, would you share your login via email? I would give it a try and would only retrieve values from the car.

Hi Jan,
please test with the latest version :)
Thanks for providing me your car for testing!

Just to inform everybody who reads this. skodaconnect will work as soon as the skodaconnect packages is updated, see:
https://github.com/lendy007/skodaconnect/issues/18

We might close. 1.0.42 from lendy007/skodaconnect is out and working. The module works fine for my car. Perhaps i will ask in fhem forum to test, so electric cars might be tested too, as mine is not electric...

Released with 0.1.66, thanks!


Service ramdomly crashed with error 'ERR_MULTIPLE_CALLBACK();'

Hi,
The service crashes from time to time either with the latest stable version (3.2.1) or with the master branch.
I've got the same error, but I can't find out where it occurs. It is very unpredictable, either the service fails in a few seconds after startup or it can lasts more than 1 hour and half without any issue reported by my users.
The common pattern is the service fails with this same error (the path /srv/multiparty-meeting/ and /srv/multiparty-meeting-3.2.1 are where the server files are located):
_stream_writable.js:415
    throw new ERR_MULTIPLE_CALLBACK();
    ^

Error [ERR_MULTIPLE_CALLBACK]: Callback called multiple times
    at onwrite (_stream_writable.js:415:11)
    at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:87:12)
    at Immediate._onImmediate (/srv/multiparty-meeting/server/node_modules/handle-thing/lib/handle.js:127:11)
    at processImmediate (internal/timers.js:456:21)
    at process.topLevelDomainCallback (domain.js:137:15) {
  code: 'ERR_MULTIPLE_CALLBACK'
}

I'm running nodejs  version 13.13.0 and using npm version 6.14.4.
I tried to set numWorkers : 1 in server/config/config.js as a workaround in case of race conditions due to multiple workers, but I still get the same failure.
Here is an extract of the logs when the server is started with systemd and has encountered multiple crashes since its initial startup:
Apr 23 12:37:18 mpm systemd[1]: multiparty-meeting.service: Scheduled restart job, restart counter is at 24.
Apr 23 12:37:18 mpm systemd[1]: Stopped multiparty-meeting is a audio / video meeting service running in the browser and powered by webRTC.
Apr 23 12:37:18 mpm systemd[1]: Started multiparty-meeting is a audio / video meeting service running in the browser and powered by webRTC.
Apr 23 12:37:19 mpm server.js[20864]: - process.env.DEBUG: undefined
Apr 23 12:37:19 mpm server.js[20864]: - config.mediasoup.logLevel: undefined
Apr 23 12:37:19 mpm server.js[20864]: - config.mediasoup.logTags: undefined
Apr 23 12:37:19 mpm server.js[20864]: (node:20864) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
Apr 23 12:37:27 mpm server.js[20864]: _stream_writable.js:415
Apr 23 12:37:27 mpm server.js[20864]:     throw new ERR_MULTIPLE_CALLBACK();
Apr 23 12:37:27 mpm server.js[20864]:     ^
Apr 23 12:37:27 mpm server.js[20864]: Error [ERR_MULTIPLE_CALLBACK]: Callback called multiple times
Apr 23 12:37:27 mpm server.js[20864]:     at onwrite (_stream_writable.js:415:11)
Apr 23 12:37:27 mpm server.js[20864]:     at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:87:12)
Apr 23 12:37:27 mpm server.js[20864]:     at Immediate._onImmediate (/srv/multiparty-meeting-3.2.1/server/node_modules/handle-thing/lib/handle.js:127:11)
Apr 23 12:37:27 mpm server.js[20864]:     at processImmediate (internal/timers.js:456:21)
Apr 23 12:37:27 mpm server.js[20864]:     at process.topLevelDomainCallback (domain.js:137:15) {
Apr 23 12:37:27 mpm server.js[20864]:   code: 'ERR_MULTIPLE_CALLBACK'
Apr 23 12:37:27 mpm server.js[20864]: }
Apr 23 12:37:27 mpm systemd[1]: multiparty-meeting.service: Main process exited, code=exited, status=1/FAILURE
Apr 23 12:37:27 mpm systemd[1]: multiparty-meeting.service: Failed with result 'exit-code'.

Any idea how to find out ? Thanks !

I have commited somthing that hopefully fixes this.

error remains ... running up2date develop-branch with fix commit (45a89b9) included

Could you please verify if you had commit 7e9160927684e85d73ab41dcf8359b1ce7f42617 included?

commit 7e91609 not included (missed by a hour)
updated now ... will give feedback if error occurs again

error is still there ...
if it relevant / useful info - noticed crash after crash on this use-case:
8 users over 6 rooms, 2 of them in all 6 rooms and 1 user/room tried to share screen.
not when same 8 users are splitted over 2 rooms, 2 of them in all 2 and 3 screenshare / room.

I'm not sure I understand the use-case.
You have 6 rooms with 8 users pr. room, in total 48 users?
Two users pr. room share screen at the same time, in total 12 users sharing screen at the same time?
Which Node version are you running?

just 8 users in total, distributed over 6 rooms ... 6 users only in 1 room, 2 users in all 6 rooms
in each room just 1 user sharing screen (or trying ... there the repeated crash happened)
nodejs 13.13.0

Thank you, I will try to reproduce this.

Use nodejs 10.x to avoid it temporary. According my experience it do not occour with 10.x.
We still investigate the issue.

I reverted all docker images to node 10.x


Xa8

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


feat(map): add initial support for loading map formats

This PR lands initial support for loading Maps from .wdt files and MapAreas from .adt files.

Codecov Report
Attention: 85 lines in your changes are missing coverage. Please review.

Comparison is base (227b0da) 92.14% compared to head (80093d8) 90.13%.

Files
Patch %
Lines

src/lib/map/util.ts
49.20%
32 Missing :warning:

src/lib/map/Map.ts
73.95%
25 Missing :warning:

src/lib/map/MapChunk.ts
86.48%
10 Missing :warning:

src/lib/map/MapArea.ts
93.91%
7 Missing :warning:

src/lib/map/MapLayer.ts
79.31%
6 Missing :warning:

src/lib/index.ts
0.00%
5 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #34      +/-   ##
==========================================
- Coverage   92.14%   90.13%   -2.01%
==========================================
  Files          13       23      +10
  Lines         993     1643     +650
  Branches      135      175      +40
==========================================
+ Hits          915     1481     +566
- Misses         73      157      +84
  Partials        5        5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Issue #200: Adding SelectKBest chi2 support

This pull request adds support for SelectKBest with chi2 support.
Testing:

Uncommented the chi2 test which was previously commented out.

Codecov Report

Merging #262 into master will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #262      +/-   ##
==========================================
- Coverage   92.78%   92.77%   -0.02%
==========================================
  Files          41       41
  Lines        2288     2284       -4
  Branches      421      422       +1
==========================================
- Hits         2123     2119       -4
  Misses         86       86
  Partials       79       79

Flag
Coverage Δ

#unittests
92.77% <100.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ator_converters/sklearn/array_feature_extractor.py
100.00% <100.00%> (ø)

hummingbird/ml/_container.py
93.43% <0.00%> (-0.07%)
:arrow_down:

...rd/ml/operator_converters/_tree_implementations.py
98.15% <0.00%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 39a79be...d2b3ca4. Read the comment docs.

Thanks @scnakandala  !!  I was stuck on one!


prevDisabled : NullReferenceException: Object reference not set to an instance of an object.

I have been stuck on this issue for days. (See #8316)
How/Where does HasPreviousPage get initialised as it is only set in the PaginatedList method, but when is Paginated list called?

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

ID: 877f0457-37d9-9a34-e2ce-beb41d717086
Version Independent ID: e9b0d4d1-e98c-fb96-415f-0ff4e37d3658
Content: Razor Pages with EF Core in ASP.NET Core - Sort, Filter, Paging - 3 of 8
Content Source: aspnetcore/data/ef-rp/sort-filter-page.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Step through it with the debugger.

Please don't create new issues for the same problem.


Cannot update BasicUser & BasicPass values

I suspect this is an API issue rather than within the client, but figured this would be the best place to report it for now.
I've been working on writing a custom Terraform provider for StatusCake using this client & the beta api, and it seems that the BasicUser & BasicPass properties for an uptime request cannot be update by the api client:
package main

import (
	"context"
	"github.com/StatusCakeDev/statuscake-go"
	"log"
	"os"
)

func main() {
	apiToken, _ := os.LookupEnv("STATUSCAKE_API_KEY")

	client := statuscake.NewAPIClient(apiToken)

	res, err := client.CreateUptimeTest(context.TODO()).
		Name("my test").
		TestType("HTTP").
		WebsiteURL("https://www.example.com").
		CheckRate(300).
		Execute()

	if err != nil {
		panic(err)
	}

	log.Println("Successfully created Uptime test")

	err = client.UpdateUptimeTest(context.TODO(), res.Data.NewID).
		BasicUser("user").
		BasicPass("pass").
		Execute()

	if err != nil {
		panic(err)
	}

	log.Println("Successfully updated Uptime test")
}

terraform-provider-statuscake2 on  main took 3s
❯ go run te.go
2021/10/03 16:22:55 Successfully created Uptime test
panic: Invalid request. No changes were requested. Please check your inputs and try again.

goroutine 1 [running]:
main.main()
        /c/Users/G-Rath/workspace/projects-personal/terraform-provider-statuscake2/te.go:34 +0x6f7
exit status 2

Hi, we'll take a look into this. Thanks for reporting it. You may also be interested to know that we are currently developing an official Terraform provider using this client code. If you are keen to take a look the code can be found here

Thanks - I am definitely interested in an official provider; I've already published our unofficial provider and was planning on adding some more resources to it.
Do you have any sense of when you think your new provider might be ready?

Sorry for the delay. This has now been fixed. We hope to also get a beta version of a new Terraform provider released this week.


feat: Need to Create Same UI for both ios and android

Type: feat
Platform: all
Similar to this forum post( http://forum.ionicframework.com/t/need-to-create-same-ui-for-both-ios-and-android/20000 ) discussed, compliance the platform-specific interactive specification is good, but in some scenarios we need to build a unified interactive mode.
So I hope there are components for UI differences between platforms, can be configured through the $ionicConfigProvider, for example, change actionSheet style to iOS like:
$ionicConfigProvider.actionSheet.style("standard");

Thanks!

This is something we're actively doing piece by piece as we update each component.  In v2, it will be the default for every component from the start. For v1, it's something many components already allow. Others can be tricked by setting the appropriate body class.
I'm going to close this since it's a pretty broad issue that we're working on in several ways.


File not created on android

Below is my code:
audioPath =${AudioUtils.DocumentDirectoryPath}/rec_test.aac
AudioRecorder.prepareRecordingAtPath(audioPath, {
SampleRate: 22050,
Channels: 1,
AudioQuality: 'Low',
AudioEncoding: 'aac',
AudioEncodingBitRate: 32000
});
On successful recording I get the file path on stopRecording promise as /data/user/0/com.myapp.sample/files/rec_test.aac
When I checked the storage for the file using a file manager, file does not exists.

I was looking at incorrect path. Thanks.

I was looking at incorrect path. Thanks.


Describe Performance Tracing in the Performance Page

CC @salemhilal, I think Performance Tracing might be a reasonable way to diagnose where a lot of time is being spent in type-checking.

CC @salemhilal, I think Performance Tracing might be a reasonable way to diagnose where a lot of time is being spent in type-checking.


ci: docker base

Description
We can use the same wasm-enabled docker base image weather or not we are using wasm with ibc-go.  This will save us a lot of time in CI and compute credits.
closes: #4680
Commit Message / Changelog Entry
ci: make a docker base image

see the guidelines for commit messages. (view raw markdown for examples)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md).
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/).
[ ] Added relevant godoc comments.
[ ] Provide a commit message to be used for the changelog entry in the PR description for review.
[ ] Re-reviewed Files changed in the Github PR explorer.
[ ] Review Codecov Report in the comment section below once CI passes.

thanks for the PR @faddat. Would be nice to have more discussion as Cian pointed out in https://github.com/cosmos/ibc-go/issues/4680#issuecomment-1723613185. Feel free to re-open if we're missing something!


Update _filter.xml

Docs Build status updates of commit 944d480:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msbuild-api-docs/xml/_filter.xml
:white_check_mark:Succeeded

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 944d480:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msbuild-api-docs/xml/_filter.xml
:white_check_mark:Succeeded

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Overall user rating is not updating

I have a listing that received one 5 star rating.

My overall user rating is still displaying 0 though

I've seen the same issue across multiple stores.

Displays 0 on the user card as well

Have you published since then?
The only ratings that are available are the ones since the last time that node was published to the network.

Yes, no luck.
[[OB-SERVER]] [STDOUT] 17:47:57.945 [Publish] [INFO] Published zdj7WmxRjsSqYhJpLctUGx4YaJJyvBPVp5GUdE5wTESmB4fcH to IPNS

@jjeffryes Do you know whether this is a server or client issue? If the former, I think we could close this.

It's a server issue, tracked here:
https://github.com/OpenBazaar/openbazaar-go/issues/696