Import 'sl_rtc' error

Hi there
I installed 'sl_rtc' in npm and import it into a JS file.
code:
import React from "react";
import {Button, Glyphicon, Row, Col} from "react-bootstrap";
// import video from '../video';
import { createCall, SlCall } from 'sl_rtc';
require("jssip-sl");
import css from '../css_modules/videos.less';
I got a error message from browser's console:
warning.js:45 Warning: Failed propType: Calling PropTypes validators directly is not supported by the prop-types package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types
Uncaught Error: Cannot find module "../package.json"
at webpackMissingModule (JsSIP.js:5)
at eval (JsSIP.js:5)
It says is about JsSIP.js.
Even just require("jssip-sl"), got same error.
here is my NPM & node version info:
PRB:js PRB$ npm version
{ sts: '0.0.1',
npm: '3.10.3',
ares: '1.10.1-DEV',
http_parser: '2.7.0',
icu: '57.1',
modules: '48',
node: '6.3.0',
openssl: '1.0.2h',
uv: '1.9.1',
v8: '<IP_ADDRESS>',
zlib: '1.2.8' }
PRB:js PRB$ node --version
v6.3.0
Could your guys take look about this error, thanks.

You shouldn't need to require('jssip-sl') yourself - it should be picked up in the dependency chain by importing sl_rtc. Try removing that line from your code and it should work.
The error message in the console is from the React library.

Yes， I don't need to require('jssip-sl'), just want to locate where the problem is.

when I am running nmp also got error message
"ERROR in ./~/jssip-sl/package.json
Module parse failed: /Users/PRB/projects/aliyun/cinapsis-server/src/js/node_modules/jssip-sl/package.json Unexpected token (2:9)
You may need an appropriate loader to handle this file type.
"
It doesn't look like from React.
Do I need to add any file loaders in my webpack.js?

I am using "webpack": "1.13.2" in my package.json.
I take look your package.json and webpack.js
try to added
"@types/sprintf-js": "^1.1.0",
"awesome-typescript-loader": "^3.2.3",
"typescript": "^2.5.3",
in "devDependencies" package.js
added
{
test: /.ts$/,
loader: 'awesome-typescript-loader',
},
in my webpack.js
but could not work.

Hi, I coyp all starleaf js files into my own folder, and then import into my react component, that is still have same error.

If comment "require("./call/interface")" which call.js include "require("jssip-sl");" That's is compiled successfully.

I know the your code just require a third party lib, I just guess the problem could be the version of webpack, npm or Nodejs, any minimum requirements for Starleaf?
"webpack": "1.13.2", npm: '3.10.3', node: "v6.3.0",  in my project.

Ah, I've only tested this with npm >=5.0.3. If you can upgrade your npm to version 5, that would probably solve this issue. I'd forgot to add that dependency to the project - I'll add it now. Thanks!


Session destroy not free memory as  expected

The code below will consecutively load multiple models and immediately destroy them after each load. From the output, it is evident that the memory was not completely freed as expected.
model file here:
example_lgb.onnx.zip
code:
package main

import (
	"bytes"
	"fmt"
	"os"
	"os/exec"
	"strconv"
	"strings"

	ort "github.com/yalue/onnxruntime_go"
)

func main() {
	fmt.Println("~~~~~ START :" + CurrentMemoryUsage())

	ort.SetSharedLibraryPath("/path/to/lib")
	ort.InitializeEnvironment()

	fmt.Println("~~~~~ InitializeEnvironment :" + CurrentMemoryUsage())

	modelPath := "./example_lgb.onnx"
	for i := 0; i < 10; i++ {
		sess, _ := ort.NewDynamicAdvancedSession(modelPath, []string{"input"}, []string{"probabilities", "label"}, nil)
		sess.Destroy()
		fmt.Println(fmt.Sprintf("~~~~~~ After DestroySession-%d: ", i) + CurrentMemoryUsage())
	}

	ort.DestroyEnvironment()

	fmt.Println("~~~~~~ After DestroyEnvironment: " + CurrentMemoryUsage())

}

func CurrentMemoryUsage() string {
	pid := strconv.Itoa(os.Getpid())

	cmd := exec.Command("ps", "-p", pid, "-o", "rss=")
	var out bytes.Buffer
	cmd.Stdout = &out
	err := cmd.Run()
	if err != nil {
		fmt.Printf("Failed to run command: %v\n", err)
		return ""
	}

	output := strings.TrimSpace(out.String())
	memUsage, err := strconv.Atoi(output)
	if err != nil {
		fmt.Printf("Failed to parse memory usage: %v\n", err)
		return ""
	}

	return fmt.Sprintf("current memory usage: %d MB\n", memUsage/1024)
}

output:
~~~~~ START :current memory usage: 8 MB

~~~~~ InitializeEnvironment :current memory usage: 20 MB

~~~~~~ After DestroySession-0: current memory usage: 55 MB

~~~~~~ After DestroySession-1: current memory usage: 66 MB

~~~~~~ After DestroySession-2: current memory usage: 78 MB

~~~~~~ After DestroySession-3: current memory usage: 87 MB

~~~~~~ After DestroySession-4: current memory usage: 91 MB

~~~~~~ After DestroySession-5: current memory usage: 102 MB

~~~~~~ After DestroySession-6: current memory usage: 111 MB

~~~~~~ After DestroySession-7: current memory usage: 123 MB

~~~~~~ After DestroySession-8: current memory usage: 124 MB

~~~~~~ After DestroySession-9: current memory usage: 125 MB

~~~~~~ After DestroyEnvironment: current memory usage: 125 MB

If I don't run destroy, memory use goes up, as expected. But when I do run destroy, memory isn't fully freed. Am I missing something?
ps:

go version go1.20.12 darwin/arm64
onnxruntime 1.16.3
onnxrumtime_go 1.8.0

It's possible that this is simply due to Go's garbage collector not relinquishing memory back to the operating system quickly enough.  The onnxruntime_go library shouldn't be allocating much memory on its own.  So there are two possibilities here, as I see it:

The memory used to hold a copy of the .onnx file isn't being garbage collected
The memory used to hold a copy of the .onnx file is being garbage collected but not returned to the host OS
The onnxruntime library itself is allocating memory that it doesn't relinquish.

I'll investigate further if I get a chance.  One thing you may try is putting a call to runtime.GC() at the end of every loop, after Destroy-ing a session.  This should manually invoke the garbage collector.

After more investigation, I will now say this is almost certainly normal behavior from Go's garbage collector.  I modified your example in two ways:

I added a call to runtime.GC() after sess.Destroy() to manually prompt Go to invoke its garbage collector
I ran the loop for 100 iterations rather than 10.

After doing this, the reported memory usage capped out at 185 MB (on my test system).  On other runs it was more or less. In some cases the reported memory even went down.  It's just a case of the garbage collector holding onto more pages that it needs.  Let me know if you see further problems!
Also, here are the last few lines of output when I inserted runtime.GC() and ran 100 iterations:
...
~~~~~~ After DestroySession-78: current memory usage: 185 MB

~~~~~~ After DestroySession-79: current memory usage: 185 MB

~~~~~~ After DestroySession-80: current memory usage: 185 MB

~~~~~~ After DestroySession-81: current memory usage: 185 MB

~~~~~~ After DestroySession-82: current memory usage: 185 MB

~~~~~~ After DestroySession-83: current memory usage: 185 MB

~~~~~~ After DestroySession-84: current memory usage: 185 MB

~~~~~~ After DestroySession-85: current memory usage: 185 MB

~~~~~~ After DestroySession-86: current memory usage: 185 MB

~~~~~~ After DestroySession-87: current memory usage: 185 MB

~~~~~~ After DestroySession-88: current memory usage: 185 MB

~~~~~~ After DestroySession-89: current memory usage: 185 MB

~~~~~~ After DestroySession-90: current memory usage: 185 MB

~~~~~~ After DestroySession-91: current memory usage: 185 MB

~~~~~~ After DestroySession-92: current memory usage: 185 MB

~~~~~~ After DestroySession-93: current memory usage: 185 MB

~~~~~~ After DestroySession-94: current memory usage: 185 MB

~~~~~~ After DestroySession-95: current memory usage: 185 MB

~~~~~~ After DestroySession-96: current memory usage: 185 MB

~~~~~~ After DestroySession-97: current memory usage: 185 MB

~~~~~~ After DestroySession-98: current memory usage: 185 MB

~~~~~~ After DestroySession-99: current memory usage: 183 MB

~~~~~~ After DestroyEnvironment: current memory usage: 170 MB


[DOC] Feedback on Upgrading OpenSearch - broken link

What do you want to do?

[ ] Request a change to existing documentation
[ ] Add new documentation
[x] Report a technical problem with the documentation
[ ] Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
The link to Breaking Changes is broken: https://opensearch.org/docs/1.3/install-and-configure/upgrade-opensearch/index/#reviewing-breaking-changes
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
The link is going to: https://opensearch.org/docs/1.3/breaking-changes/
Since the 1.3 version doesn't have a breaking changes file, we can point to the latest version.

This is fixed.


fix: downgrade sanitize-html to 1.x for es5 support

sanitize-html v2.x drops ES5 support, which means all our es5 checks fail.  Downgrading to revert, and will fix forward by trying to remove our dependency if at all possible, or including the package in babel transpilation

Coverage remained the same at 90.594% when pulling 37864e28fbfca8ce3f114ad7c843341a5574a3a9 on djoy/downgrade_sanitize-html into 0a9f8b9a7b5a1837339c39ffbde4fdbcf97383d2 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Surveyer: Server side pagination

Surveyer paginates on the server based on a READ_LIMIT of 15, we might need to change the api response to do the pagination, vuetify passes through items, itemsPerPage, and sortBy, so we need to pass in the last item's cursor to the backend to grab the next few items and also sort/paginate

Done


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


help(google-maps): Apply a KML layer doesn't work properly (or as expected).

What are you trying to do?
I'm trying to apply one KML layer by code.
What troubleshooting steps have you tried?
Try, instead of using the GoogleMap class which is the one offered to me in Angular components, get the HTML object directly and pass it as a parameter of the Map() constructor. But doing this generates a new instance of the map.
I expected, when creating a KML layer, to pass by parameter of the options of the KML layer, a GoogleMap object, instead of Map.
Reproduction
map.html
<div fxLayout="row" fxLayoutAlign="start center" style="padding-top:3px;background-color:lightgray">
  <mat-form-field>
    <mat-label>Layer</mat-label>
    <mat-select id="ddlLayer" name="dllLayer" (selectionChange)="this.dllLayer_selectionChange($event)">
      <mat-option [value]="">Nothing</mat-option>
      <mat-option *ngFor="let entry of this.layers" [value]="entry.value">
        {{ entry.display }}
      </mat-option>
    </mat-select>
  </mat-form-field>
</div>

<google-map
  id="map"
  height="90%"
  width="100%"
  [center]="this.center"
  [zoom]="this.zoom"
  [options]="this.mapOptions">
  <map-marker
    #marker
    *ngFor="let markerPosition of this.markerPositions"
    [position]="markerPosition"
    [options]="this.markerOptions">
  </map-marker>
  <map-info-window>Info Window content</map-info-window>
</google-map>

map.ts
  @ViewChild(GoogleMap) map: GoogleMap;
  @ViewChild(MapInfoWindow, { static: false }) infoWindow: MapInfoWindow;

  public readonly mapOptions: google.maps.MapOptions;
  public center = { lat: 24, lng: 12 };
  public markerOptions = { draggable: false };
  public markerPositions: google.maps.LatLngLiteral[] = [];
  public zoom = 4;
  private kmlLayer: google.maps.KmlLayer;
  public layers: ComboEntry[] = [
    { display: 'A', value: 'http://clss.nrcan.gc.ca/data-donnees/kml/Canada%20Lands.kmz' },
  ];

  constructor() {
    this.mapOptions = {
      fullscreenControl: false,
      mapTypeId: google.maps.MapTypeId.TERRAIN,
      streetViewControl: false,
    };
  }

  public dllLayer_selectionChange(e: MatSelectChange): void {
    const options: google.maps.KmlLayerOptions = {
      url: e.value as string,
      // map: document.getElementById('map') // <-- I expect put the GoogleMap instance here!
    };
    this.kmlLayer = new google.maps.KmlLayer(options);
    // const map = new google.maps.Map(document.getElementById('map'));
    this.kmlLayer.setMap(this.map); // <-- or here!
  }
}

Environment

Angular: 9.0.6
CDK/Material: 9.1.3
Browser(s): Edge Chromium / Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Win 10 Pro

This code works for me:
const options: google.maps.KmlLayerOptions = {
url: 'https://developers.google.com/maps/documentation/javascript/examples/kml/westcampus.kml'
       };
this.kmlLayer = new google.maps.KmlLayer(options);
this.kmlLayer.setMap(this.map._googleMap);

Note the setMap parameter above is this.map._googleMap, not this.map as you had.
The Google Maps package in Angular Components is a thin wrapper around a subset of @types/googlemaps types. this.map is an instance of a class from Google Maps package and its _googleMap property is an instance of the wrapped map from @types/googlemaps. The KML layer is not wrapped by Angular's Google Maps package - hence its setMap parameter must be the wrapped map.

@eamon-otuathail Thanks! That worked for me!


WOL

What is the story on OWL and not WOL, and is there really a Winnie the Pooh connection?

https://www.w3.org/2003/08/owlfaq


Locale errors

When building my own image, the console output is littered with warnings from primarily Perl, but also other programs. The Perl warning:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_TIME = "nb_NO.UTF-8",
        LC_MONETARY = "nb_NO.UTF-8",
        LC_ADDRESS = "nb_NO.UTF-8",
        LC_TELEPHONE = "nb_NO.UTF-8",
        LC_NAME = "nb_NO.UTF-8",
        LC_MEASUREMENT = "nb_NO.UTF-8",
        LC_IDENTIFICATION = "nb_NO.UTF-8",
        LC_NUMERIC = "nb_NO.UTF-8",
        LC_PAPER = "nb_NO.UTF-8",
        LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory

Here's a tutorial on how to fix this problem interactively. There's probably a way of doing this through a script. It would be nice to have a cleaner output on building, that way I could actually follow what's being done.

Thanks. I will take a quick look at this and see if I can blind fix it for version 1.0, because its no reproducing on my machine.

OK I added locales and set the LANG explicitly for building. Works good on my tests. Hope this will fix this. Closing issue.


Issue with start_flash.sh

Hello,
I am flashing, I have followed the steps of tuya convert, but when I execute start_flash.sh the process stops and does not advance and the raspberry stops responding

How can I solve this?
thanks

Looks like you might be connected to your PI wirelessly. You must connect some other way.
See Troubleshooting for more information.

thanks, now my issue is that when starting smart config pairing procedure , the process ends with timeout meanwhile write in the terminal:
SmartConfig complete.
Resending SmartConfig Packets........
I connected my smartphone to the wifi vtrust-flash and I put my device in paring mode, but I got a timeout

It will attempt to automatically diagnose the issue after it times out. What was the message?

the message is Timed out while waiting for the device to (re)connect
Attempting to diagnose the issue....
An ESP82xx based device connected according to your wifi log.
If this is the device you are trying to flash, another issue may be preventing it from flashing.
Otherwise, it could be that the device does not use an ESP82xx or it did not connect.
For additional information, check the *.log files inside the scripts folder
Note: my device is a Tasmota smart plug based in esp8266

For additional information, check the *.log files inside the scripts folder

Please share these logs

Note: my device is a Tasmota smart plug based in esp8266

I assume you mean Tuya smart plug? Tasmota is already alternative firmware.
How have you determined that this device uses ESP8266?

Yes , my device is:
https://www.athom.tech/blank-1/color-smart-plug
and is based in Tasmota.
In the logs:
smarthack-mqtt.log:
1626694147: mosquitto version 2.0.11 starting
1626694147: Using default config.
1626694147: Starting in local only mode. Connections will only be possible from clients running on this machine.
1626694147: Create a configuration file which defines a listener to allow remote access.
1626694147: For more details see https://mosquitto.org/documentation/authentication-methods/
1626694147: Opening ipv4 listen socket on port 1883.
1626694147: Opening ipv6 listen socket on port 1883.
1626694147: mosquitto version 2.0.11 running
1626694646: mosquitto version 2.0.11 starting
1626694646: Using default config.
1626694646: Starting in local only mode. Connections will only be possible from clients running on this machine.
1626694646: Create a configuration file which defines a listener to allow remote access.
1626694646: For more details see https://mosquitto.org/documentation/authentication-methods/
1626694646: Opening ipv4 listen socket on port 1883.
1626694646: Opening ipv6 listen socket on port 1883.
1626694646: mosquitto version 2.0.11 running
1626694810: mosquitto version 2.0.11 starting
1626694810: Using default config.
smarthack-psk.log:
could not establish sslpsk socket: [SSL: NO_SHARED_CIPHER] no shared cipher (ssl.c:1056)
don't panic this is probably just your phone!
new client on port 443 from <IP_ADDRESS>:45614
could not establish sslpsk socket: [SSL: NO_SHARED_CIPHER] no shared cipher (ssl.c:1056)
don't panic this is probably just your phone!
^CTraceback (most recent call last):
File "./psk-frontend.py", line 113, in
main()
File "./psk-frontend.py", line 106, in main
r,, =  select.select(readables, [], [])
KeyboardInterrupt
smarthack-udp.log:
^CListening for Tuya broadcast on UDP 6666
Listening for encrypted Tuya broadcast on UDP 6667
^CListening for Tuya broadcast on UDP 6666
Listening for encrypted Tuya broadcast on UDP 6667
smarthack-web.log:
Listening on <IP_ADDRESS>:80
[I 210719 22:29:13 web:2243] 302 GET /gen_204 (<IP_ADDRESS>) 5.79ms
[I 210719 22:29:14 web:2243] 302 GET /mobile/status.php (<IP_ADDRESS>) 2.94ms
[I 210719 22:29:14 web:2243] 200 GET / (<IP_ADDRESS>) 4.88ms
[I 210719 22:29:21 web:2243] 200 GET / (<IP_ADDRESS>) 3.25ms
[I 210719 22:29:21 web:2243] 302 GET /favicon.ico (<IP_ADDRESS>) 3.22ms
[I 210719 22:29:21 web:2243] 304 GET / (<IP_ADDRESS>) 3.14ms
^CReceived SIGINT, exiting...
Listening on <IP_ADDRESS>:80
smarthack-wifi.log:
61ba060
Linux vega 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
OpenSSL 1.1.1d  10 Sep 2019
Versión dnsmasq 2.80  Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
Este software viene SIN NINGUNA GARANTIA.
Dnsmasq es software libre, y usted está autorizado a redistribuirlo
under the terms of the GNU General Public License, version 2 or 3.
hostapd v2.8-devel
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2019, Jouni Malinen<EMAIL_ADDRESS>and contributors
Python 3.7.3
Configuring AP interface...
RTNETLINK answers: File exists
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlan0...
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr b8:27:eb:83:c2:ba and ssid "vtrust-flash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: AP-STA-CONNECTED e8:db:84:9c:76:23
wlan0: AP-STA-CONNECTED 46:38:e2:15:09:96
wlan0: interface state ENABLED->DISABLED
wlan0: AP-STA-DISCONNECTED 46:38:e2:15:09:96
wlan0: AP-STA-DISCONNECTED e8:db:84:9c:76:23
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
AP closed
Stopping DNSMASQ server...
System info
61ba060
Linux vega 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
OpenSSL 1.1.1d  10 Sep 2019
Versión dnsmasq 2.80  Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
Este software viene SIN NINGUNA GARANTIA.
Dnsmasq es software libre, y usted está autorizado a redistribuirlo
under the terms of the GNU General Public License, version 2 or 3.
hostapd v2.8-devel
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2019, Jouni Malinen<EMAIL_ADDRESS>and contributors
Python 3.7.3
Configuring AP interface...
RTNETLINK answers: File exists
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlan0...
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr b8:27:eb:83:c2:ba and ssid "vtrust-flash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: AP-STA-CONNECTED e8:db:84:9c:76:23
wlan0: AP-STA-CONNECTED 46:38:e2:15:09:96
wlan0: interface state ENABLED->DISABLED
wlan0: AP-STA-DISCONNECTED 46:38:e2:15:09:96
wlan0: AP-STA-DISCONNECTED e8:db:84:9c:76:23
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
AP closed
Stopping DNSMASQ server...
System info
61ba060
Linux vega 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
OpenSSL 1.1.1d  10 Sep 2019
Versión dnsmasq 2.80  Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
Este software viene SIN NINGUNA GARANTIA.
Dnsmasq es software libre, y usted está autorizado a redistribuirlo
under the terms of the GNU General Public License, version 2 or 3.
hostapd v2.8-devel
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2019, Jouni Malinen<EMAIL_ADDRESS>and contributors
Python 3.7.3
Configuring AP interface...
RTNETLINK answers: File exists
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlan0...
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr b8:27:eb:83:c2:ba and ssid "vtrust-flash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: AP-STA-CONNECTED e8:db:84:9c:76:23

There seems to be a misunderstanding. I am not sure what you are trying to accomplish.
tuya-convert enables you to install alternative firmware like Tasmota on an ESP device running Tuya firmware. If the device is already running Tasmota, you have no use for tuya-convert.

is it not possible to flash from one tasmota firmware to another custom tasmota firmware?

You can do that without tuya-convert. tuya-convert only helps you convert tuya. See Tasmota to learn how to update your firmware.


hotkey: Render default_view via changing hash.

Directly rendering the default view on pressing escape key
will lead to default_view being rendered on the current window
hash. So, we set empty hash to load default view and let
hashchange handle it.
Bug:

Narrow to any stream
press escape
hash doesn't change but default_view is rendered.

Thanks for tracking this down!  Merged, after a small tweak to the block comment.


Fix formatting issues in README.md

Some headers have the hash tags smashed into the text.
Delimit the header declarations and the texts with a space.

Coverage remained the same at 100.0% when pulling 1b35f516cfae4104d51e1e79f56b358dcaf1b2c7 on MichaelFoss:master into 7f653784586ea812738ee902161073abd419ff83 on adametry:master.


Excuse me, an image error occurred, what should I do?

I need more info to help you.
Vue Version?
Build tools?
How are you invoking this package?

I'm getting the same error using:

"vue": "^3.2.37"
"laravel-mix": "^6.0.6"

"type":"commonjs" in package.json preventing import / export


Expo support

so copy https://stackoverflow.com/posts/76045246/edit
I have an Expo app and want to use Pusher Channels
There was react-native sdk in pusher-js library - https://github.com/pusher/pusher-js/tree/master/react-native but it seems to be deprecated, and it is recomended to use official SDK package - https://github.com/pusher/pusher-websocket-react-native
But i'm facing the error bellow while trying to load my app

Error: The package 'pusher-websocket-react-native' doesn't seem to be linked. Make sure:

- You rebuilt the app after installing the package
- You are not using Expo managed workflow
, js engine: hermes

package.json:
"@pusher/pusher-websocket-react-native": "^1.2.1",

connection:
import { Pusher } from '@pusher/pusher-websocket-react-native'

const pusher = Pusher.getInstance()

...

in useEffect:

pusher.init({
    apiKey: 'KEY',
    cluster: 'eu',
    useTLS: true,
    // authEndpoint: api.USER_PUSHER_AUTHENTIFICATION
})

I guess that this sdk is not supported by Expo.
I also tried to use pusher-js/react-native with different versions, but app fails without error, just many symbols in console
Is there any workaround to use Pusher channels with Expo?

Are you able to run this using the prebuild command as part of the run process? See https://docs.expo.dev/workflow/customizing/#adding-custom-native-code-with-development-builds

yes, it seems to be working when using development build

Thanks @markdeitchell. The instructions at https://docs.expo.dev/workflow/customizing/#adding-custom-native-code-with-development-builds should be followed for integration with Expo.


ci: Windows -RunAsAdmin

Main currently failing with https://github.com/prisma/prisma/runs/5481573468?check_suite_focus=true
Run bash .github/workflows/setup-mysql.sh
+ '[' Windows = Windows ']'
+ pwsh .github/workflows/install-mysql.ps1
Initializing...
Running the installer as administrator is disabled by default, use -RunAsAdmin parameter if you know what you are doing.
Abort.
Error: Process completed with exit code 1.

Indeed!

It should not really be necessary for Scoop to run as Admin though. That is why they discourage that and make you supply an additional parameter.

@janpio yes, but the user on GitHub Actions is a full Admin with UAC disabled, we don't get to choose that

Yeah, turns out that is indeed a change on Scoop side somehow - also affected engines: https://github.com/prisma/prisma-engines/pull/2755


Graphical glitches when using Refraction on SpatialMaterial with 2 directional lights

Godot version
v3.4.4.stable.official [419e713a2]
System information
Windows 10, GLES3, NVIDIA GeForce GTX 1060 6GB
Issue description
There seems to be a rendering issue with SpatialMaterials that use transparent textures and refraction. I recently noticed this issue when working on a personal project.
This occurs under the following conditions:

When a mesh has a SpatialMaterial that has a transparent texture, refraction enabled and uses a roughness value greater than 0
and the scene includes 2 directional lights
and the scene includes a WorldEnvironment node that does not use the default environment.

Changing settings inside of the WorldEnvironment also gives weird results. Strangely, when one of the DirectionalLights is disabled or the WorldEnvironment is reset to the default environment or removed, the issue goes away.
Also, things inside of the mesh (like the 3d gizmo) become invisible.
I included a minimal reproduction project below.
This is the issue inside my project:
https://youtu.be/F_fsCOGInJY
And this is how it looks inside the minimal reproduction project:
https://youtu.be/jcZdoQNGPgQ
Steps to reproduce

Open reproduction project
Open Spatial.tscn
Disable one of the directional lights -> issue goes away
Remove WorldEnvironment -> issue goes away

Minimal reproduction project
Glitch.zip

It looks like an infinite feedback loop is occurring because a second render pass is performed for the second DirectionalLight (if I'm not mistaken).
This can probably be fixed by ignoring the refractive material in this case. It'll look darker than other objects, but this is probably better than an infinite feedback loop :slightly_smiling_face:


:robot: triggering CI on branch 'release-next' after synching from upstream/main

Codecov Report
Patch and project coverage have no change.

Comparison is base (14c9cab) 48.98% compared to head (14c9cab) 48.98%.

:exclamation: Current head 14c9cab differs from pull request most recent head 5cee943. Consider uploading reports for the commit 5cee943 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##           release-next     #696   +/-   ##
=============================================
  Coverage         48.98%   48.98%
=============================================
  Files                96       96
  Lines             13105    13105
=============================================
  Hits               6419     6419
  Misses             6049     6049
  Partials            637      637

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

/override "On Cluster RT Test (1.20.2, ubuntu-latest)"
/override "On Cluster Test (1.20.2, ubuntu-latest)"
/override "Integration Test (1.20.2, ubuntu-latest)"

OCF Webhook is merging this PR

OCF Webhook is merging this PR


Data quality as a spectrum

Approach Data Quality as a spectrum rather than 3 types

From Patrick comments:
In this example, a Q2 version of a model does not have any meta data visible. How can this be?
Q0 version - with elaborate metadata:
https://www.eotdl.com/models/RoadSegmentation/
Q2 version - no meta data visble at all:
https://www.eotdl.com/models/RoadSegmentationQ2
I think this is an issue that needs to be resolved. Metadata as provided for Q0 should be passed on to Q1 or Q2...

Other ideas:

suggest users where to improve and reward the completeness of metadata.


Setup GitHub actions for CI

Since TravisCI will no longer be supporting open-source projects anymore, we should migrate CI to GitHub Actions.

Should be done in #145.

Fixed with #145.


chore: moving to the crossplane-contrib org

sure, please go ahead!
One additional question from my side, do I need to add any additional/fallback owners in OWNERS or CODEOWNERS files?

Secrets for this repo have been updated!

do I need to add any additional/fallback owners in OWNERS or CODEOWNERS files?

nope, you're the sole maintainer for now 😉 - if more folks get involved and you find they meet your quality bar and will be helpful to the long term sustainability of this repo, then you're welcome to add them as a maintainer then! the fairly strict process for upstream crossplane is captured in https://github.com/crossplane/crossplane/blob/master/GOVERNANCE.md#becoming-a-maintainer, which will give you an idea of the "spirit" for adding a maintainer, but the bar is much lower for community providers than that and the maintainers for each repo can act autonomously there:

Each repository in the Crossplane organizations are allowed their own unique set of maintainers...adding and removing maintainers for a given repo is the responsibility of the existing maintainer team


Adding property to get a table identifier for a query.

Also updating BigQuery usage docs to use the correct form of table identifier in a query string.

@tseaver I'm not sure if this is necessary? Maybe we should just modify table_id or something else?

@tseaver Here is an example
>>> table.table_id
u'omega-moonlight-697:timestamp_test.test'
>>> table.query_id
'[omega-moonlight-697:timestamp_test.test]'
>>> table.query_id == '[' + table.table_id + ']'
True

@tseaver Bump

Did you plan to update the test expected value generation?  I don't see any reasonable chance that the project / dataset / table will be bytes.

@tseaver Let's just kill this PR. It was inspired by a farse (me not waiting long enough for results to come back).


Display all complex subunit names?

When you uncollapse a complex, you see

Is it possible to display all members ?

@ValWood - in this particular example, are there more than four members of the Ndc80 complex?
I didn't see more than four in the model, in which case we have a different display bug for this example.
We could open a new ticket to more holistically address how complexes and their members are displayed, especially in light of how big some complexes may be.

this particular complex has only 4 members
https://www.pombase.org/term/GO:0031262
but regardless I would want to see all members (not only 4), so probably it's 2 issues


test

Describe the bug
.
Input code
No response
Config
No response
Playground link (or link to the minimal reproduction)
https://play.swc.rs
SWC Info output
No response
Expected behavior
.
Actual behavior
No response
Version
.
Additional context
No response

+1


Loading spike sorting fails in some environment

Hi guys,
Yesterday I opened a terminal, activated IBL env, and run this:
from brainbox.io.one import SpikeSortingLoader
from one.api import ONE

one = ONE()
pid = '0777b1bf-964b-49b7-888b-8a6c9df09c3b'
In [11]: spikes, clusters = load_good_units(one, pid)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Input In [11], in <cell line: 1>()
----> 1 spikes, clusters = load_good_units(one, pid)

File ~/int-brain-lab/paper-brain-wide-map/brainwidemap/bwm_loading.py:134, in load_good_units(one, pid, compute_metrics, **kwargs)
    132 spike_loader = SpikeSortingLoader(pid=pid, one=one, eid=eid, pname=pname)
    133 spikes, clusters, channels = spike_loader.load_spike_sorting()
--> 134 clusters_labeled = SpikeSortingLoader.merge_clusters(
    135     spikes, clusters, channels, compute_metrics=compute_metrics).to_df()
    136 iok = clusters_labeled['label'] == 1
    137 good_clusters = clusters_labeled[iok]

AttributeError: 'NoneType' object has no attribute 'to_df'

It still has this error when trying this in the same terminal today.
Then today, I do the exact same thing and it loads the spikes normally. Any idea?

With the new spike sorting this issue is moot !


jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.

Description
2023-05-29 05:39:19.492073: E external/xla/xla/stream_executor/cuda/cuda_dnn.cc:427] Loaded runtime CuDNN library: 8.5.0 but source was compiled with: 8.6.0.  CuDNN library needs to have matching major version and equal or higher minor version. If using a binary install, upgrade your CuDNN library.  If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.
Traceback (most recent call last):
  File "/t5x_home/t5x/train.py", line 834, in <module>
    config_utils.run(main)
  File "/t5x_home/t5x/config_utils.py", line 214, in run
    gin_utils.run(main)
  File "/t5x_home/t5x/gin_utils.py", line 129, in run
    app.run(
  File "/usr/local/lib/python3.8/dist-packages/absl/app.py", line 312, in run
    _run_main(main, args)
  File "/usr/local/lib/python3.8/dist-packages/absl/app.py", line 258, in _run_main
    sys.exit(main(argv))
  File "/t5x_home/t5x/train.py", line 787, in main
    _main(argv)
  File "/t5x_home/t5x/train.py", line 829, in _main
    train_using_gin()
  File "/usr/local/lib/python3.8/dist-packages/gin/config.py", line 1605, in gin_wrapper
    utils.augment_exception_message_and_reraise(e, err_str)
  File "/usr/local/lib/python3.8/dist-packages/gin/utils.py", line 41, in augment_exception_message_and_reraise
    raise proxy.with_traceback(exception.__traceback__) from None
  File "/usr/local/lib/python3.8/dist-packages/gin/config.py", line 1582, in gin_wrapper
    return fn(*new_args, **new_kwargs)
  File "/t5x_home/t5x/train.py", line 265, in train
    rng = random.PRNGKey(random_seed)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/random.py", line 137, in PRNGKey
    key = prng.seed_with_impl(impl, seed)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/prng.py", line 320, in seed_with_impl
    return random_seed(seed, impl=impl)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/prng.py", line 734, in random_seed
    return random_seed_p.bind(seeds_arr, impl=impl)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/core.py", line 380, in bind
    return self.bind_with_trace(find_top_trace(args), args, params)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/core.py", line 383, in bind_with_trace
    out = trace.process_primitive(self, map(trace.full_raise, args), params)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/core.py", line 790, in process_primitive
    return primitive.impl(*tracers, **params)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/prng.py", line 746, in random_seed_impl
    base_arr = random_seed_impl_base(seeds, impl=impl)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/prng.py", line 751, in random_seed_impl_base
    return seed(seeds)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/prng.py", line 1419, in _rbg_seed
    halfkey = threefry_seed(seed)
  File "/usr/local/lib/python3.8/dist-packages/jax/_src/prng.py", line 980, in threefry_seed
    return _threefry_seed(seed)
jaxlib.xla_extension.XlaRuntimeError: FAILED_PRECONDITION: DNN library initialization failed. Look at the errors above for more details.
  In call to configurable 'train' (<function train at 0x7efc24d265e0>)

What jax/jaxlib version are you using?
jax 0.4.10  jaxlib-0.4.10+cuda11.cudnn86-cp38-cp38
Which accelerator(s) are you using?
GPU
Additional system info
ubuntu 22.04
cuda 11.8
cudnn 8.8
NVIDIA GPU info

No response

I had the same issue. Downgrading jax to 4.1 helped

When I downgraded jax to 4.1:
Traceback (most recent call last):
  File "/t5x_home/t5x/train.py", line 34, in <module>
    from clu import metric_writers
  File "/usr/local/python3/lib/python3.9/site-packages/clu/metric_writers/__init__.py", line 46, in <module>
    from clu.metric_writers.async_writer import AsyncMultiWriter
  File "/usr/local/python3/lib/python3.9/site-packages/clu/metric_writers/async_writer.py", line 29, in <module>
    from clu.metric_writers import interface
  File "/usr/local/python3/lib/python3.9/site-packages/clu/metric_writers/interface.py", line 25, in <module>
    import jax.numpy as jnp
  File "/usr/local/python3/lib/python3.9/site-packages/jax/__init__.py", line 35, in <module>
    from jax import config as _config_module
  File "/usr/local/python3/lib/python3.9/site-packages/jax/config.py", line 17, in <module>
    from jax._src.config import config  # noqa: F401
  File "/usr/local/python3/lib/python3.9/site-packages/jax/_src/config.py", line 28, in <module>
    from jax._src import lib
  File "/usr/local/python3/lib/python3.9/site-packages/jax/_src/lib/__init__.py", line 74, in <module>
    version = check_jaxlib_version(
  File "/usr/local/python3/lib/python3.9/site-packages/jax/_src/lib/__init__.py", line 69, in check_jaxlib_version
    raise RuntimeError(msg)
RuntimeError: jaxlib version 0.4.10 is newer than and incompatible with jax version 0.4.1. Please update your jax and/or jaxlib packages.

@FatemehMashhadi you need to downgrade jaxlib also but you need to use wheel link with direct version. Anyway I found different solution, I upgraded CUDA to 12.1. It work well with jax 4.10

Thank you @kgonia, this worked and solved the issue!


Add ChangeLog

Before submitting a pull request make sure you have:

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

What is the purpose of your pull request?

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

Description of your pull request and other information
Fixes #1626.

Any good way to do this automatically, e.g. with git?

Do you have some commands for that? I hope to have something more readable than git log --oneline or git shortlog.

Found this after a quick search

@phihag @dstftw @jaimeMF I guess it's OK to have external dependencies in developer-only scripts?

This is another alternative. It's more specified towards GitHub (using their API), though it it is written in Ruby.

Why CamelCase?
If you plan this to be auto generated from git log then commit messages should be very accurate, clean and isolated that is barely possible in our case.
I'm fine with external dependencies if they work across major platforms.

Why CamelCase?

I follow the convention of GNU autotools [1]. Other names like Changelog or NEWS are also fine.

commit messages should be very accurate, clean and isolated

You're right. In fact I think commit message are for developers. For example I guess [compat] Fix compat_shlex_split for non-ASCII input is clear and accurate for developers, while users may not be able to get it in a short time.
I'm not sure whether maintaining an additional change log is a burden or not, so automation is always in my mind.
[1] https://www.gnu.org/software/automake/manual/automake.html

Agreed with @dstftw - generating a changelog from commit messages is infeasible for youtube-dl. Just pushed the latest changelog. Any comments on the format or other things?

When do you expect changes in changelog to be applied: after each relevant commit or during the release process? If latter then releaser may easily overlook some changes. In any case release scripts should be tweaked to at least insert a version number.
What's origin of suggested changelog layout? Such huge indents look very odd.

When do you expect changes in changelog to be applied

For commits by collaborators, include modifications to the changelog in each relevant commit. An issue is pull request authors. If they include changes to the changelog, there will be lots of merge conflicts. An idea is the one that merges a pull request should add some notes to the changelog.

In any case release scripts should be tweaked to at least insert a version number.

Added to devscripts/release.sh

What's origin of suggested changelog layout? Such huge indents look very odd.

Well, vim's changelog.vim forces real tabs (\t). Sorry for not noticing that. Updated.

Well, you did not get it. What's the point of indents at all? As for me it's just waste of space and unnecessary margins.

What about markdown instead of indents?

Markdown does not make much sense for files that should be distributes plain text.

OK. Should changes be categorized within each release, or should there just be a list of the changes, e.g. like FFmpeg's?

Updated with eliminating leading spaces and trailing colons in group titles.
@TRox1972 I like grouped ChangeLog more. For example Python's NEWS is more readable than FFMpeg's Changelog for me.

It's probably reasonable to use different prefixes for different changes, e.g. + for additions, - for deletions and * for regular changes, etc. Some examples:
+ hrti extractor (#9482)
+ Added bbc extractor
+ New extractors: // unsure about inner lists
 + hrti (#9482)
 + carambatv
+ New cool feature `--blah`
- bbc extractor

* Fixed/improved extractors:
 * theplatform
 * aenetworks
 * nationalgeographic
 * hrti (#9482)
 * facebook (#5701)
 * buzzfeed (#5701)
 * rai (#8617, #9157, #9232, #8552, #8551)
 * nationalgeographic (#9991)
 * iqiyi

* Fixed format selection with filters.

Further formatting is fine for humans but not machines. I guess people may use the raw ChangeLog to generate different formats (HTML, Markdown, etc.), so I hope ChangeLog can take a balance between human-readable and machine-readable.

Changelog should also be bundled in youtube-dl.tar.gz.

Changelog should also be bundled in youtube-dl.tar.gz.

Thanks. Done.

LGTM.

Rebased and pushed to 35aa6c538f593eb47169e6b06ef383ad12b45930.


Labeling during BLE recording looks strange when graph starts shifting

Create a label during recording
Wait for the graph to start moving

=> The label is not extend all the way to the right


Create policy report policy

Kyverno can be installed on managed clusters and you can create policies similar to a sample in progress now.  These policies create PolicyReport or ClusterPolicyReport CRs.  Inside these CRs are the results as to whether there was a policy failure.  To keep from having to look for these failures for each kyverno policy that is written, something like this generic policy report policy can be used to match any policy report failures.
Other tools could use the PolicyReport CRD also, in which case this policy will automatically detect those reports that have failures automatically.

too much got pull in somehow... closing and will create a cleaner pr


GH-34724: [Go] Add Table SetColumn method

Small method similar to the c/c++ implementation.

Closes: #3472
Closes: #34724

@yevgenypats As I mentioned on the other PR, can you make issues for these subtasks so that merging this doesn't end up closing the umbrella "Data Table Manipulation" issue? If you update the title of this PR to point at a subtask issue the bot will update the comments. Then I'll merge this, and the automation won't make things confusing.
Sorry for the difficulty and strangeness there.

Closing for now as we try to use Records directly instead of the table abstraction.


CORE-5405 Enabled package verification

Enabled package verification
Relaxed format 1 verification so that verification is successful for existing CPIs

Relaxed format 1 verification is implemented in a way that verification exception is caught and logged as warning. This will most likely log only errors related to package signatures (as that is checked first). Logging all errors would require wrapping code at different places where each verification check is performed which would require considerable refactoring.
Verification is relaxed just for package uploading. CLI packaging tool verification will still fail and it can be used resolve packing issues before uploading.

We need to inform people how to import trusted signing certs before merging this (Working on it now).

Yes, I've used this for testing:
curl --insecure -u admin:admin -X PUT -F alias="cordadev" -F<EMAIL_ADDRESS>https://localhost:8888/api/v1/certificates/codesigner
We might also need to update documentation how to create CPB/CPI as following current documentation produces packages that don't validate successfully

We need to inform people how to import trusted signing certs before merging this (Working on it now).

Yes, I've used this for testing: curl --insecure -u admin:admin -X PUT -F alias="cordadev" -F<EMAIL_ADDRESS>https://localhost:8888/api/v1/certificates/codesigner
We might also need to update documentation how to create CPB/CPI as following current documentation produces packages that don't validate successfully

I'll leave the review to @josephzunigadaly , but we definitly need to update or create good documentation of the end-to-end process of creating a valid CPI and uploading it, and we should send an email with this ahead of the merge so to give people enough warning. We also need to include QA in this email too.


MEF Issue

Hello,
I wanted import a object in InjectPhase class but the imported object always return null I added Export attribute to InjectPhase class but exclude plugin from protections.

In the cases I used, the phases were not exported over MEF. Only the protections and confuser components are. Not exactly sure what you tried to do. The protections currently all know exactly what phases are required.
Can you share some code? How you exported and imported the objects?

I noticed must import the class in Protection class for usage in InjectPhase must call to Parent property but if it was possible to import class directly from InjectPhase it would be good.

I still do not understand what exactly it is you are trying to do. Have a look at the phases of the other protections on how to properly implement the Parent property.
For example:
https://github.com/mkaring/ConfuserEx/blob/release/2.0/Confuser.Renamer/AnalyzePhase.cs#L16

My mean is solved my problem by call to Parent property (Parent.MyClassImport), Now I Import the CompositionContainer but returned null I want call the container to GetExportedValue.
`namespace Confuser.Protections.Test {
[Export(typeof(IProtection))]
[ExportMetadata(nameof(IProtectionMetadata.Id), _FullId)]
[ExportMetadata(nameof(IProtectionMetadata.MarkerId), _Id)]
internal sealed class TestProtection : IProtection {
[Import]
public CompositionContainer container;

}
}`

You can't import the CompositionContainer. The only thing you can import are the protections that got the Export attributes.

You have to be aware that currently only the other protections are in the composition container. You should be able to get those with
[Import]
public IEnumerable<IProtection> Protections { get; set; }

Not sure if that is what you were going for.

Problem resolved, Thanks.


How to repeat an animation as loop ?

How can I repeat a single animation with this package ? I want to repeat it as loop.

maybe use timer.periodic in void initState()

Try
animateController.repeat();

Guys how can I trigger the animation manually? It works just once and i can't figure it out.
class _MyAppState extends State<MyApp> {
  AnimationController animateController;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Scaffold(
        floatingActionButton: FloatingActionButton(
          child: Text('T'),
          onPressed: () {
            print("Setto a true");
            animateController.forward();
            /*
            setState(() {
              animateController.forward();
            });

             */
          },
        ),
        body: SafeArea(
          child: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.spaceAround,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
                Pulse(
                  delay: Duration(milliseconds: 100),
                  manualTrigger: true,
                  controller: (controller) => animateController = controller,
                  child: Square(),
                  //duration: Duration(milliseconds: 1000),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

You could use the property "repeat", but some animated widgets have it some others not, but this should work with the controller
animateController.repeat();

You could use the property "repeat", but some animated widgets have it some others not, but this should work with the controller
animateController.repeat();

No it doesn't work for any animated widgets


CAMEL-18456: consolidate Jetty usages in test code

Adds the test infra + converts camel-ahc-ws

Checkstyle failing because the new test infra module is not on the repos yet. It should be fine to go.


Adds table-responsive class to docs table

This still removes the extra div but adds table-responsive to the table itself.

Thanks!


Xcode archive generates Generic Xcode Archive instead of IPA

Current behavior
after updating to 1.3.1 Xcode creates Generic Xcode Archive instead of creating IPA. after looking up the problem and checking created archive, i found out RNCAsyncStorage.h and RNCAsyncStorageDelegate.h which are header files for the library is included in archive. you can find headers in
Archive.xcarchive -> show Package Content/Products/usr/local/include
after looking up the problem i found a solution here which is to move headers from Public to Project in the Build Phase / Headers.
Expected behavior
Xcode should create IPA not a Generic Xcode Archive
Repro steps

Xcode -> Clean
Xcode -> clean DerivedData folder
Xcode -> Archive

Environment

Async Storage version: 1.3.1
React-Native version: 0.59.4
Platform tested: iOS

Thanks for the report! The fix was merged and released with v1.3.3. Please upgrade and let us know if you hit any other issues. 😄


Set BASE DOCKER IMAGE from env

Hey!
I would like to be able to set the base docker image by special env , i.e. TRAINS_BASE_DOCKER_IMAGE
Thanks :)

Great idea! it will be part of the next trains release, probably something like:
TRAINS_DOCKER_IMAGE
I'll update here once we have an RC with support for this feature.

Hi @shaulimaya ,
Trains v0.13.0 was just released, with TRAINS_DOCKER_IMAGE env var support :)
$ pip install trains==0.13.0


Avoid crash when autocorrect has origin pointing to payload

Motivation
Origins seem messed up for constant references when applying autocorrect for 7001 errors:
FOO = 10

a = FOO
[].each { |i| a = nil } # Error: changing the type of a variable in a loop

Is autocorrected as
T.let(FOO, T.nilable(Integer)) = 10

a = FOO
[].each { |i| a = nil }

There are a few issues about this already: https://github.com/sorbet/sorbet/issues/3497,  https://github.com/sorbet/sorbet/issues/3190, https://github.com/sorbet/sorbet/issues/1848.
One side effect of this problem is when the constant used comes from the payload:
b = Float::INFINITY
[].each { |i| b = nil } # Error: changing the type of a variable in a loop

The autocorrect will try to write the payload file and sorbet will crash.
While I'm not sure how to fix the original problem, I can at least make it so it doesn't try to write the payload and doesn't crash. When you try to fix hundreds of errors thanks to the autocorrect, a few bad ones are better than a crash that produce no correction at all.
Test plan

See included automated tests.

302 @jez.  This looks plausible, but I am unsure whether the fix should actually land someplace else.


 False expression: Token end is child end
Error: Debug Failure. False expression: Token end is child end
    at processChildNode (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:144315:38)
    at e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:144255:21
    at visitNode (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:29849:24)
    at Object.forEachChild (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:29972:21)
    at processNode (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:144254:20)
    at formatSpanWorker (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:144055:17)
    at e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:144019:140
    at Object.getFormattingScanner (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:142646:23)
    at Object.formatNodeGivenIndentation (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:144019:31)
    at e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:129984:46
    at Object.flatMap (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:508:25)
    at getEntryForMemberCompletion (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:129982:38)
    at createCompletionEntry (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:129802:23)
    at getCompletionEntriesFromSymbols (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:130166:29)
    at completionInfoFromData (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:129620:17)
    at Object.getCompletionsAtPosition (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:129481:36)
    at Object.getCompletionsAtPosition (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:161847:35)
    at IpcIOSession.Session.getCompletions (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:173395:64)
    at Session.handlers.ts.Map.ts.getEntries._a.<computed> (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:172237:61)
    at e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:174044:88
    at IpcIOSession.Session.executeWithRequestId (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:174035:28)
    at IpcIOSession.Session.executeCommand (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:174044:33)
    at IpcIOSession.Session.onMessage (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:174070:35)
    at process.<anonymous> (e:\vs code\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js:176705:31)
    at process.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21): Error: <semantic> TypeScript Server Error (4.6.2)

🔎 Search Terms
N/A since I'm not sure how to describe it.
It suddenly appeared at a certain moment. I don't know how to trigger it. I tried to reinstall vscode, but it didn't work
🕗 Version & Regression Information
vscode version:

ts version: 4.6.2
⏯ Playground Link
In playground link, it is normal
💻 Code
class A {
    $a(){

    }

    b(){

    }
}

class B extends A{
   //As long as there is input here, an error will be reported, and there is no type prompt
}

🙁 Actual behavior

🙂 Expected behavior
It should prompt the $a method and the b method

escapeSnippetText adds \ for all $
https://github.com/microsoft/TypeScript/blob/a4f5555e09862d442185c09cb0b0630f6c06fbd0/src/services/completions.ts#L1070-L1077
formatting doesn't handle escaping \ because \$a (or \$\$a) is not a valid identifier.
https://github.com/microsoft/TypeScript/blob/a4f5555e09862d442185c09cb0b0630f6c06fbd0/src/services/completions.ts#L995-L1001
+1  related https://github.com/microsoft/TypeScript/issues/48215 issue
Should TS Server return escaped snippet \$0? Or should only names be escaped \$\$a? I think we can call escapeSnippetText after formatting, just need to be sure that snippets \$0 have to be escaped too.
/cc @andrewbranch

Oh good find @a-tarasyuk, I think it makes sense to do the escaping after formatting. If we really needed to, we could have the formatter ignore snippet nodes (there’s a property on the attached EmitNode IIRC) but if the simple solution of swapping the order of operations works, that’s great.

If we really needed to, we could have the formatter ignore snippet nodes (there’s a property on the attached EmitNode IIRC)

Currently, the insertText response looks like this
"\\$\\$b(): `test\\${string}` {\n    $0\n}"

$0 is not escaped. And this source text breaks formatting. If we apply escapeSnippetText here
https://github.com/microsoft/TypeScript/blob/a4f5555e09862d442185c09cb0b0630f6c06fbd0/src/services/completions.ts#L1013
return { insertText: escapeSnippetText(insertText), isSnippet, importAdder, replacementSpan };

the response will be changed to
"\\$\\$b(): `test\\${string}` {\n    \\$0\n}"

Should TS Server return escaped snippet $0? Or should only names be escaped $$a?

Not sure if escaped snippets (\\$0) affect VSCode (or other clients) or not.

Oh, right. The $0 placeholder needs to reach VS Code unescaped. So maybe the formatter does need to be aware of these snippet nodes.


Test all rest route's functionality

At the rest branch we currently are tracking implementation and functionality of the routes, this file specifically.
I will publish a package soon but there's some things I need to finalize first, but if anyone would like to help test route functions by actually writing a code example for them and testing practically with a real token, that would be appreciated. I doubt any routes will fail and if the types were wrong, that's on discord-api-types and not us.

As outlined in that file, everyone should ensure full functionality of all endpoints before they get checked off. However it wouldn't be a bad idea to set up a file that will run through all API routes and test every one of them all at once. Opinions on setting this up?

However it wouldn't be a bad idea to set up a file that will run through all API routes and test every one of them all at once. Opinions on setting this up?

i thought about that, and it would be extremely cool if we could pull off unit tests for the rest api, but that just seems like a huge task to me. maybe it isn't; and if we did do it, we would have a cool line of saying "unit tested against the api". maybe re-look into it once bun's fetch/event loop bug gets fixed, and we can use bun's testing utils or just a standalone program in a test folder or something.

Yeah. Will look into this later.


[TACHYON-385] Remove some deprecated API methods in tachyon

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/3039/
Test PASSed.


Shadow with negative spread doesn't match figma

A continuation for https://github.com/treeform/pixie/issues/372#issuecomment-1179821158
Figma:

create a 47x47px frame
add a 29x29px rectangle at x=y=9
set the corner radii to 6px
set the fill to white and the opacity to 0.001% (it should become 0% when confirmed).

6. export the frame
Pixie:
proc drawShadow() =
  let image = newImage(47, 47)

  let r = 6f32
  let path = newPath()
  path.roundedRect(rect(9, 9, 29, 29), r, r, r, r)

  image.fillPath(path, "white")

  image.shadow(
    offset = vec2(0, 0),
    spread = -2,
    blur = 0,
    color = color(0, 0, 0, 0.4)
  ).writeFile("shadow_pixie_negative_spread_no_blur.png")

Figma:

25x25px rect
corner radius is 4px (6 - 2):

Pixie:

25x25px rect
corner radius is 6px (unchanged):

See https://www.w3.org/TR/css-backgrounds-3/#shadow-shape

Thank you for the issue!
You are totally right. I have looked into this and we don't match.
We will fix this eventually.

I believe shadow()'s logic is correct as is, Are you going to add box-shadow() function ?


How to read Arduino mega 2560 sensor values ?

What are you trying to do?

Am trying to ready DHT11 sensor value which is connected  to my Arduino Mega 2560 board. Am using Johnny five which lacks serial communication so i came across this project so i thought i could use it with johnny five.
am following this basic guide : https://www.instructables.com/id/Serial-Communications-with-Arduino/
so i wonder how can i get raw data from pin A0 as my sensor is connected to A0 pin.
DHT11 sensor : https://www.adafruit.com/product/386
DHT11 data sheet : https://akizukidenshi.com/download/ds/aosong/DHT11.pdf

What happens?
here is my code but am not able to read pin A0

 var five = require("johnny-five");
const SerialPort = require('serialport');
var arduinoCOMPort = "COM4";
var Sensor_pin = "A0";

var arduinoSerialPort = new SerialPort(arduinoCOMPort, {
 baudRate: 9600
});

arduinoSerialPort.on('open',function() {
  console.log('Serial Port ' + arduinoCOMPort + ' is opened.');
});

arduinoSerialPort.read();

What should have happened?

should get raw data from pin A0
Code to Reproduce the Issue
// added above
Versions, Operating System and Hardware

SerialPort@ latest just installed it
Node.js v 10
Windows 7
Hardware and chipset = Arduino Mega 2560 + DHT11 sensor

You’re so close!
Instead of saying:
port.on(‘open’, function (){})
Use:
port.on(‘data’, function(data){ console.log(data)})
Sorry if the formatting of my response is bad. I’m typing from my phone.
Cheers.

I think it’s also worth mentioning that you might not need to user your open function as the port will automatically be opened unless you use the auto open = false option.

Okay now that I am on a laptop:
Here's a better format to my answers above:
var five = require("johnny-five");
const SerialPort = require('serialport');
var arduinoCOMPort = "COM4";
var Sensor_pin = "A0";

var arduinoSerialPort = new SerialPort(arduinoCOMPort, { baudRate: 9600 });

// Really don't need to use in my opinion
arduinoSerialPort.on('open',function() {
  console.log('Serial Port ' + arduinoCOMPort + ' is opened.');
});

// What works for me
arduinoSerialPort.on('data', function(data){
    console.log(data);
);

Now from my limited experience with this library, simple using that last on('data') function does nothing. It needs to be called somewhere. So here's how I've done it (May not be optimal).
listen = function() {
  const parser = arduinoSerialPort.pipe(new Readline({ delimiter: '\r\n' }))
  parser.on('data', (data) => { console.log('Message: ', data) })
}

listen()

Hope this help dude,
Cheers

thanks you sir :) ya right now am getting some raw data through
// What works for me
arduinoSerialPort.on('data', function(data){
    console.log(data);
);

however the listen function not worked.

What do you mean by the listen not working?
I quickly whipped up some demo node code here https://gist.github.com/mike-io/c23ae153a8085585adfa0689ee5ca9ff that goes nicely with some demo Arduino code here https://gist.github.com/mike-io/ffc3b9b81ddf74e49fd4413eb3da9f6f
In the demo I'm sending 3 sensor values as a string the format "123,456,789\r\n" (minus the quotes) from the Arduino, out over the serial port, into my PC.
The script uses the inbuilt node-serialport ReadLine parser, which strips off the "\r\n" newline bits and calls the parser's 'data' callback for every new line that arrives, meaning that the variable 'data' will now be "123,456,789" (again ignore the quotes). I split this into an array, with each item being separated by a comma. I can then get the values I want from the array and do something with them. I've chose 3 values, but you can send as many or as few as you like, just add/remove commas
Note that I have the line arduinoParser.on('data', function(data) {.... instead of arduinoSerialPort.on('open', function() {...... If you get the data callback on the port itself you'll end up with the raw data buffer, whereas the parser gives you a nice formatted string.
Using the two source files above, and an actual Arduino plugged into my Windows PC, gives the following output in my console:
A: 102, B: 105, C: 0
A: 102, B: 102, C: 0
A: 91, B: 85, C: 0
A: 66, B: 69, C: 255
A: 91, B: 89, C: 255
A: 92, B: 92, C: 255
A: 98, B: 92, C: 0

Hopefully that helps!

thank you very much :) i will play with it and will let u know how it goes it my end
thanks


#532 - Retry click when element is not clickable

Addresses #532
@p0deje - I think I proposed this once a couple years ago, but either you or Jari were against it because it was a browser specific error message (Chrome only at that time). Since this is going to be a part of the W3C, I think we should add this as is, then update it to rescue the specific W3C error class when Watir moves to Se 4.
Hmm, and actually @BluePhoenix we might want to see if we can create a spec for this as well. I think there is a Ruby spec in Selenium for getting this error, and we'd need to duplicate that html and add javascript code for it to go away after a brief time (we have that code in the wait specs). Let me know if we should pair on this.

Yeah, find the html that allows that spec to work (click_tests/overlapping_elements.html) in the Selenium project. I forget where the html files are stored somewhere in the common code. Then recreate it in Watir. Probably should put it wherever the stale element rescue code is? Maybe?

In Toptal we deal with a bunch of various "unclickable" elements and most of them require different handling. Here is an example of a code:
click = instance_method(:click)
define_method(:click) do |*args|
  Features::Helpers::FlashMessagesHandler.close_all_notice_messages(browser.driver)
  begin
    click.bind(self).call(*args)
  rescue Selenium::WebDriver::Error::UnknownError => error
    message = error.message
    if element_not_clickable?(message)
      element_received_click = message[/Other element would receive the click: (.+)$/, 1]
      element_received_click = Nokogiri::HTML(element_received_click)

      if nps_overlay?(element_received_click)
        discard_nps
        retry
      end

      if scrolling_overlay?(element_received_click)
        wait_for_scrolling_overlay_to_disappear
        retry
      end

      if sticky_flash_message?(element_received_click) || sticky_header?(element_received_click)
        scroll_half_page_up
        retry
      end

      if tooltip?(element_received_click)
        hide_tooltip
        retry
      end

      if bounce_modal?(element_received_click)
        close_bounce_modal
        retry
      end

      if side_menu?(element_received_click)
        wait_for_menu_animation
        retry
      end
    end

    raise error
  end
end

with that said, I personally see no point in blindly retrying click upon this error (also, this PR will make an infinite loop).

Oh, right, because we can get recursive calls, the loop break is based on the timer in the Wait class which won't apply here. Ok.
But wouldn't blindly retrying fix your use cases for wait_for_scrolling_overlay_to_disappear & wait_for_menu_animation?

But wouldn't blindly retrying fix your use cases for wait_for_scrolling_overlay_to_disappear & wait_for_menu_animation?

They are close but not similar (waiting for DOM changes on different elements). However, even if we retry clicking 3 times with a small delay between them that won't be reliable (just like any other hardcoded sleeps).

I guess I see a fundamental difference between needing to take an action for something to work and something that will work if only given more time. The idea behind this is explicitly to avoid hard coding a sleep by polling for the blocking item to go away. I get that this implementation gets in the way of more complex solutions, though.
I'm not sure what self is in your code, but it looks like that's essentially an extensive monkey patch of Watir::Element. I'm wondering if there is a way we can do this to provide a default retry (because the site will eventually synchronize with the state of the test code), but allow it to be overridden with a more complicated handling of things that require more active adjustments.

I'm wondering if there is a way we can do this to provide a default retry (because the site will eventually synchronize with the state of the test code)

So if Watir provides Element#clickable? we can easily implement "relaxed_click", but I'm not sure how hard it would be. Otherwise, I don't think we can provide default retry because there is a big chance that site will not synchronize with the test code.

Yeah, I don't think we can do Element#clickable? without actually clicking it, even with updated implementations in w3c spec...
Spitballing... what would it look like to do something like...
@element.click
rescue Exception => ex
        browser.after_hooks.run(ex)

and let #run do:
def run(ex=nil)
      if @after_hooks.any? && @browser.window.present?
        each { |after_hook| after_hook.call(@browser, ex) }
      end
     raise ex if ex
end

Might be too complicated and/or not do what I actually want... I'd need to write a bunch of specs for it because scopes of the Procs might prevent this from being useful.

Maybe this is short sighted of me, but the way that I see this would ideally work is similar to how click waits for elements to exist.
But in this case,

click would wait for element to exist if not covered (like it does now)
click would wait for element to not be covered if it exists and is covered

Seems one of the bigger challenges is that there really is no way to know before actually clicking.
I'll update this branch with the specs because at least it gives us something to try things against. There is a current issue (as mentioned before) that the test will run infinitely with the current code, so I also added a spec to cover that scenario.

@BluePhoenix - the problem with this approach is that it would get in the way of alternative handling. We would need to find a more complicated way to make a retry the default behavior, but still allow for more complicated things like what Alex is doing. I'm not sure what that would look like. Sorry for sending you down a dead end road.

Just today I had to create a wrapper method for clicking elements for the sole purpose of catching non-clickable errors, retrying a few times, and then giving up and re-raising the exception if the problem persisted.
Between automatically waiting for and element to exist, not be stale, or become clickable, I don't see much difference such that the first two would be supported but the last one would not. All of these states should be temporary and when they are not, it is perfectly appropriate for them to time out and cause an error because there is clearly a problem with either the application or the test and that problem should be addressed.
It is true that having a timeout instead of an immediate exception would get in the way of trying to fix things on the fly like in the example provided by @p0deje, but that kind of exception handling indicates a lack of understanding of the flow of the application being tested or an inability to control the test environment. Which is itself a larger and separate problem beyond the scope of Water.
That being said, an immediately returning #clickable? method analogous to the #exists? method would be pretty important to this kind of change.

It would be awesome to have #clickable? but unfortunately WebDriver doesn't provide this command so the only correct way to check if element is clickable is to actually perform click.

Hmm. Given the choice between automatic waiting or the ability to know immediately if an element is clickable, I'd choose the later (even if that immediate knowledge comes from it immediately blowing up in my face). Because I can always add extra wait time myself but I cannot remove wait time that is baked in and having #clickable? available is what would prevent me from otherwise needing to remove wait time.
So...both or neither, is what I am saying and it sounds like the second one isn't technically possible right now. So neither it is.

@enkessler the problem is that whether an element is "clickable" is even less knowable than whether it is actually present. The driver can make a better stab at the former than the latter. Check out David Burns presentation that details some of these issues. It was also specifically discussed with respect to the w3c standard.
Watir can only support the things the drivers themselves can support. What framework are you using? It is possible to wait for the javascript action to complete before attempting the click in the first place.
I'm closing this issue because I don't think there is any way we're going to be able to implement something that will address this for reasons beyond our control.


Issue if all data = 0

Hello, I have this issue if all data = 0
I/flutter ( 1389): Another exception was thrown: Offset argument contained a NaN value.
When I change one data more that 0 it's ok.
There is no visual bug, just error that I don't know if it important for google when I push the app on the playstore
version 0.0.8
Thank you for your work

Hi, I think it's not important to Google,
but please let me know in which chart type you faced this issue

I use barchart
Le dim. 23 juin 2019 à 16:48, iman khoshabi<EMAIL_ADDRESS>a
écrit :

Hi, I think it's not important to Google,
but please let me know in which chart type you faced this issue
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/imaNNeoFighT/fl_chart/issues/28?email_source=notifications&email_token=AGSYLS5EWEJD434KCS7EWK3P36EKNA5CNFSM4H2WPK4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYLAFLQ#issuecomment-504758958,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGSYLS33PWFO4TO47JIPHOTP36EKNANCNFSM4H2WPK4A
.

we have some errors happening in the library, but they are not critical,
by the way, I will check them once and fix all.
Thanks for the issue, no worry.

Same issue

Set y data all 0 makes this issue like top img.
@imaNNeoFighT

@imaNNeoFighT Same issue for me. it would be nice to have it so the line can animate all from 0 to their numbers

The error occurs when there is no maxY provided. But if you set all to 0 and a maxY like 100 it works :)

@jamesblasco I don't know what are you talking about?
Does it related to this closed issue?


Update SetRandomHostPlugin.php

a couple of cleanups and some questions / requests.

changes merged separately, thx for review!


Unable to determine the fees taken when performing a non-free transaction

We want to demonstrate that a token has been enabled as a fee token and fees are being taken for transactions with this ERC20 asset.
This contract has been enabled as a fee token in the fee_specs.json on Samrong:
  {
    "token": "0xb307901ac0a807402a99879a491836697fec5e62",
    "flat_fee": 1
  }

Before:
./plasma-cli get utxos --watcher http://watcher.samrong.omg.network --address 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T17:56:45+07:00] Starting OmiseGO Plasma MoreVP CLI
INFO[2019-10-29T17:56:46+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T17:56:46+07:00] Amount: 1
INFO[2019-10-29T17:56:46+07:00] Block Number: 8845000
INFO[2019-10-29T17:56:46+07:00] Transaction Index: 0
INFO[2019-10-29T17:56:46+07:00] Output Index: 0
INFO[2019-10-29T17:56:46+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T17:56:46+07:00] UTXO Position:<PHONE_NUMBER>000000
INFO[2019-10-29T17:56:46+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T17:56:46+07:00] Amount: 1
INFO[2019-10-29T17:56:46+07:00] Block Number: 8846000
INFO[2019-10-29T17:56:46+07:00] Transaction Index: 0
INFO[2019-10-29T17:56:46+07:00] Output Index: 0
INFO[2019-10-29T17:56:46+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T17:56:46+07:00] UTXO Position:<PHONE_NUMBER>000000
INFO[2019-10-29T17:56:46+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T17:56:46+07:00] Amount: 1e+18
INFO[2019-10-29T17:56:46+07:00] Block Number: 8847000
INFO[2019-10-29T17:56:46+07:00] Transaction Index: 0
INFO[2019-10-29T17:56:46+07:00] Output Index: 0
INFO[2019-10-29T17:56:46+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T17:56:46+07:00] UTXO Position:<PHONE_NUMBER>000000
INFO[2019-10-29T17:56:46+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T17:56:46+07:00] Amount: 9e+18
INFO[2019-10-29T17:56:46+07:00] Block Number: 8847000
INFO[2019-10-29T17:56:46+07:00] Transaction Index: 0
INFO[2019-10-29T17:56:46+07:00] Output Index: 1
INFO[2019-10-29T17:56:46+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T17:56:46+07:00] UTXO Position:<PHONE_NUMBER>000001

After:
./plasma-cli get utxos --watcher http://watcher.samrong.omg.network --address 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T18:00:28+07:00] Starting OmiseGO Plasma MoreVP CLI
INFO[2019-10-29T18:00:28+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T18:00:28+07:00] Amount: 1
INFO[2019-10-29T18:00:28+07:00] Block Number: 8845000
INFO[2019-10-29T18:00:28+07:00] Transaction Index: 0
INFO[2019-10-29T18:00:28+07:00] Output Index: 0
INFO[2019-10-29T18:00:28+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T18:00:28+07:00] UTXO Position:<PHONE_NUMBER>000000
INFO[2019-10-29T18:00:28+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T18:00:28+07:00] Amount: 1
INFO[2019-10-29T18:00:28+07:00] Block Number: 8846000
INFO[2019-10-29T18:00:28+07:00] Transaction Index: 0
INFO[2019-10-29T18:00:28+07:00] Output Index: 0
INFO[2019-10-29T18:00:28+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T18:00:28+07:00] UTXO Position:<PHONE_NUMBER>000000
INFO[2019-10-29T18:00:28+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T18:00:28+07:00] Amount: 1e+18
INFO[2019-10-29T18:00:28+07:00] Block Number: 8847000
INFO[2019-10-29T18:00:28+07:00] Transaction Index: 0
INFO[2019-10-29T18:00:28+07:00] Output Index: 0
INFO[2019-10-29T18:00:28+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T18:00:28+07:00] UTXO Position:<PHONE_NUMBER>000000
INFO[2019-10-29T18:00:28+07:00] Owner: 0x324371c2013d2c11143fe818b9aebabe584d3fcd
INFO[2019-10-29T18:00:28+07:00] Amount: 8.9e+18
INFO[2019-10-29T18:00:28+07:00] Block Number: 8848000
INFO[2019-10-29T18:00:28+07:00] Transaction Index: 0
INFO[2019-10-29T18:00:28+07:00] Output Index: 1
INFO[2019-10-29T18:00:28+07:00] Currency: 0xb307901ac0a807402a99879a491836697fec5e62
INFO[2019-10-29T18:00:28+07:00] UTXO Position:<PHONE_NUMBER>000001

Transaction: https://quest.samrong.omg.network/transaction/0x6b38973388cb1739bfa6622996080effd0006c97d3caf45b836c6e101e6d04ea
Problems:

We were unable to perform this transaction with the plasma-cli
We were unable to perform this transaction with the js-starter-kit
@pdobacz built the transaction object for /transaction.create from an iex shell manually
We want to show the fee was taken for this asset

There could be a rounding error with the block explorer displaying these large ints. I've increased the fee to 1 whole DAI on Samrong to help mitigate this:
  {
    "token": "0xb307901ac0a807402a99879a491836697fec5e62",
    "flat_fee":<PHONE_NUMBER>000000000
  }

Here is the response from the watcher, describing the (unrounded) details of the DAI transaction I sent:
iex(21)> ~c(echo '{"id": "0x6b38973388cb1739bfa6622996080effd0006c97d3caf45b836c6e101e6d04ea"}' | http POST #{watcher_url}/transaction.get) |>
...(21)> :os.cmd() |>
...(21)> Jason.decode!()
%{
  "data" => %{
    "block" => %{
      "blknum" => 8848000,
      "eth_height" => 5347178,
      "hash" => "0xa13b000c1cdef8ea8c8e5f20c0c6a4043b198420f2add016704fae97a395923c",
      "timestamp" =><PHONE_NUMBER>
    },
    "inputs" => [
      %{
        "amount" =><PHONE_NUMBER>999999996,
        "blknum" => 8847000,
        "currency" => "0xb307901ac0a807402a99879a491836697fec5e62",
        "oindex" => 1,
        "owner" => "0x324371c2013d2c11143fe818b9aebabe584d3fcd",
        "txindex" => 0,
        "utxo_pos" =><PHONE_NUMBER>000001
      }
    ],
    "metadata" => nil,
    "outputs" => [
      %{
        "amount" =><PHONE_NUMBER>00000000,
        "blknum" => 8848000,
        "currency" => "0xb307901ac0a807402a99879a491836697fec5e62",
        "oindex" => 0,
        "owner" => "0x16fb96a5fa0427af0c8f7cf1eb4870231c8154b6",
        "txindex" => 0,
        "utxo_pos" =><PHONE_NUMBER>000000
      },
      %{
        "amount" =><PHONE_NUMBER>999999995,
        "blknum" => 8848000,
        "currency" => "0xb307901ac0a807402a99879a491836697fec5e62",
        "oindex" => 1,
        "owner" => "0x324371c2013d2c11143fe818b9aebabe584d3fcd",
        "txindex" => 0,
        "utxo_pos" =><PHONE_NUMBER>000001
      }
    ],
    "txbytes" => "0xf9011bf843b8417d162521c10459924d6d7a03f43018e3228b6faa90aa5c3028566775a1bc732752fe93a23159db9debd52f71d6673d6f4419aa43b196adfaee5e72b7656d0e881cd3c68386fe988001c3808080c3808080c3808080f8c0f39416fb96a5fa0427af0c8f7cf1eb4870231c8154b694b307901ac0a807402a99879a491836697fec5e6288016345785d8a0000f394324371c2013d2c11143fe818b9aebabe584d3fcd94b307901ac0a807402a99879a491836697fec5e62887b8326d884f9fffbeb94000000000000000000000000000000000000000094000000000000000000000000000000000000000080eb94000000000000000000000000000000000000000094000000000000000000000000000000000000000080",
    "txhash" => "0x6b38973388cb1739bfa6622996080effd0006c97d3caf45b836c6e101e6d04ea",
    "txindex" => 0
  },
  "success" => true,
  "version" => "0.2"
}

Deduce the sum of outputs from the amount of the input to get the implicit fee paid in this txs (one weiDAI, as previously required)
iex(23)><PHONE_NUMBER>999999996 -<PHONE_NUMBER>00000000 -<PHONE_NUMBER>999999995
1

Both the plasma-cli and quest seem to have the rounding problem

on top of that, here's a transaction that pays 1 DAI to send 0.5 DAI over to self.
https://quest.samrong.omg.network/transaction/0x9213c426d4c4674aaff3acec975c542b444c913b63f1269b1b0cc3993b85265b

I think this turned out to be non-elixir-omg-related, closing


responses do not result in RxSwift onError events.

When i ha a code 200 the func retun my json, but if i have an error ex 403 the filter don't print the statuscode and the map not call

    func getItem(_ path: String) -> Observable<(HTTPURLResponse, T)> {
        let absolutePath = "\(hostName)/\(path)"
        return RxAlamofire
            .requestJSON(.get, absolutePath, encoding: JSONEncoding.default, headers: headers)
            .observeOn(scheduler)
            .filter { response, _ in
                print(response.statusCode)
                return 200..<300 ~= response.statusCode
            }
            .map({ response, json -> (HTTPURLResponse, T) in
                print(absolutePath)
                print(json)
                let object = try Mapper<T>().map(JSONObject: json)
                return (response, object)
            })
    }

I call this function like this :
public func getInfo() -> Observable<ResInfo> {
        let network: Network<RestInfo> = Network()
        let response: Observable<(HTTPURLResponse, RestInfo)> = network.getItem(url)

        return response.map({ _, restInfo in
                return restInfo})
    }

how i can get the error code for return of other function ?
Thanks.

filter allows you to ignore invalid status code. (Full explanation here)
Your map is not invoked because of this.
I think what you are looking for is flatMap to transform an invalid status code into an error.
Here is what I would do instead :

With changes provided by PR #103 you might write :
func getItem(_ path: String) -> Observable<(HTTPURLResponse, T)> {
    let absolutePath = "\(hostName)/\(path)"
    return RxAlamofire
        request(.get, absolutePath, encoding: JSONEncoding.default, headers: headers)
        .validate(statusCode: 200..<300)
        .responseJSON()
        .map { response, json -> (HTTPURLResponse, T) in
            print(absolutePath)
            print(json)
            let object = try Mapper<T>().map(JSONObject: json)
            return (response, object)
        }
}

No response from OP in a long time.


Akash 2024 Hackathons

Hackathon #1 Kick off call this week

Moved kickoff call to 2/6

Done:

WG kick off call
Dorahacks kick off call

Next:

Review support applications
Set next WG call

Working on followups

sponsorships
judges
workshops
website launch

Setting hackathon tracks call this week
Speaking with Jackal abot "sponsored track"

Hackathon tracks drafted
Finalize tracks by EOW
Create dorahacks RSVP page by EOW  early next
Hackathon kickoff by 4/8

Sent Hackathon tracks to Dorahacks to create Website for hacker registrations
This week working on locking in kick off event for 4/8 and weekly workshops

Hackathon is LIVE: https://dorahacks.io/hackathon/akashathon2/detail
Hosted kick off events: https://www.youtube.com/watch?v=wDAvBnf6ZYM
Might add a few more judges and sponsored tracks
Adding one more track in 1-2 weeks

Working on adding 2 more hackathon tracks (by eow)
67 hackers have signed up
Hosting Akash workshop with week (weekly workshops)

84 hackers have signed up
Prep work for judging
4 weeks to go

added Filebase track
added Citadel One judge
107 hackers registered
No Akash submissions yet.
6 sponsored track submissions (none are good though)

11 days left.
2 workshops this week
Dorahacks says most project submissions come in 3-4 days before the hackathon is over.
Getting lots of conversations in the Discord for Fiat andAI/GPU tracks.

164 registrations
3 Submissions qualified (out of 17)
Working on Judges submission review period
Finalist demo day - Livestream

197 registrations
21 projects
+ adding a few late submission projects
Demo day is Wednesday
Aiming to announce winners on Thursday

Hackathon ended
Winners announced in Dorahacks website https://dorahacks.io/hackathon/akashathon2/results
Payments are being sorted out by Dorahacks, followed up
Sponsor tracks payment are handle by the sponsors, followed up
Scheduled call with George from Dorahacks to sync up post hackathon

I just got off with a call with George from Dorahacks to recap about how Akashathon went
The good

Payouts are done
20+ builds submitted and 11 finalist selected
Decent Workshops offering for the participants

The not so good

Not a lot of promotion by Akash in their Social Media and related channels
Other big events going on could’ve impacted the performance of the hackathon

Recommendations

Do Quadratic Funding rounds with the finalist to keep the momentum going
Get community more involved and push in social media

About Quadratic funding
Dorahacks would like Akash to have its first Quadratic funding round with the finalist
They recommend a 50k USD prize pool and other details we can ask Dorahacks
Do you think we should pursue a quadratic round for the finalist or keep this for the next Akashathon happening this year?


Fix: Investigate initializer errors

:camera: Screenshots

:page_facing_up: Context

When user wouldn't include all tools into build.gradle file, it would cause crash "WorkManager is already initialized". It seems problem was in how AndroidManifests were merged.
I am adding Antun as optional reviewer since he was there when crashes happened 😄 .
:pencil: Changes

By removing 2 startup providers and merging them under one with separate meta-data, crashes are gone. Same provider had to be put inside of no-op module as well, otherwise it would cause NPE. Other modules didn't have to be touched.
:paperclip: Related PR

:no_entry_sign: Breaking

:hammer_and_wrench: How to test

:stopwatch: Next steps

I made a fix based on https://developer.squareup.com/blog/workmanager-for-background-work-in-libraries/
I changed 2 things:

Sentinel will initialize WorkManager only if it hasn't been initialized
In Sentinel now we invoke DelegateWorker (instead of CertificateCheckWorker) to do work. DelegateWorker will create an appropriate worker and delegate work to it. The only additional trick is to remember WorkerFactory for our CertificateCheckWorker inside of DelegateWorker. Why do we need to do that?
Because CertificateCheckWorker (and related factory) have custom dependencies and WorkManager won't be able to create them without setting Configuration (which we don't set up if app initializes WorkManager)

How I tested:

I added Sentinel to New Project Templated (only main Sentinel lib without extra tools). The old version of Sentinel crashed the app, while the new one (with this PR) doesn't.

I have also tested the sample app and added a log to see if doWork is invoked properly in CertificateCheckWorker. Also, I managed to get notifications from Sentinel regarding the invalid certificate (notifications have to be enabled!). So I would say it works!

Do we need to have 2 different provider elements in AndroidManifest? I think meta data can still be under one provider element

I haven't look into that to be honest, I will explore

Also, I can't approve this because I am still author 😂 . Should we ping Flas or someone?

Well, I can approve PR for myself? But, yes, if someone else can take a look why not?

Are we good with this PR?

Are we good with this PR?

From my side good. I pinged Antun today but I believe he is busy.

All points should be improved upon now
@AsimRibo recheck one more time. Just don't forget to bump version in config.gradle and libs.toml publish to mavenLocal and used that new version. Because tools have references to published version and if you don't update that before test it could cause errors.

All points should be improved upon now
@AsimRibo recheck one more time. Just don't forget to bump version in config.gradle and libs.toml publish to mavenLocal and used that new version. Because tools have references to published version and if you don't update that before test it could cause errors.

Looking good amigo.


reactive_declaration_non_reactive_property is considered error instead of warning

Before You File a Bug Report Please Confirm You Have Done The Following...

[X] I have tried restarting my IDE and the issue persists.
[X] I have updated to the latest version of the packages.

What version of ESLint are you using?
9.13.0
What version of eslint-plugin-svelte are you using?
2.46.0
What did you do?

Configuration
import js from '@eslint/js';
import ts from 'typescript-eslint';
import svelte from 'eslint-plugin-svelte';
import prettier from 'eslint-config-prettier';
import globals from 'globals';

// /** @type {import('eslint').Linter.FlatConfig[]} */
export default [
  js.configs.recommended,
  ...ts.configs.recommended,
  ...svelte.configs['flat/recommended'],
  prettier,
  ...svelte.configs['flat/prettier'],
  {
    languageOptions: {
      globals: {
        ...globals.browser,
        ...globals.node,
      },
    },
    rules: {
      '@typescript-eslint/no-explicit-any': 'warn',
      '@typescript-eslint/no-unused-vars': [
        'warn',
        { varsIgnorePattern: '^\\$\\$(Props|Events|Slots|Generic)$' },
      ],
    },
  },
  {
    files: ['**/*.svelte'],
    languageOptions: {
      parserOptions: {
        parser: ts.parser,
      },
    },
  },
  {
    ignores: [
      '.env',
      '.env.*',
      '!.env.example',
      '/static/assets/fa',
      '.DS_Store',
      '/package',
      'build/',
      '.svelte-kit/',
      'dist/',
      'pnpm-lock.yaml',
      'package-lock.json',
      'yarn.lock.DS_Store',
      '.pnpm-debug.log',
      'node_modules',
      'vite.config.ts.timestamp-*',
      'playwright-report/**',
    ],
  },
];

  $: initial = {
    envelope_id,
    account_id: $envelope?.account_id,
    type:
      TransactionType.INFLOW == type
        ? TransactionType.INFLOW
        : TransactionType.OUTFLOW,
    amount: Number(amount),
  };

TransactionType is an enum and all it's properties have this warning when used inside $: (we haven't started migration to Svelte 5 runes yet.
Properties of objects and arrays are not reactive unless in runes mode. Changes to this property will not cause the reactive statement to updatesvelte(reactive_declaration_non_reactive_property)

Then ran:
pnpm exec eslint .

What did you expect to happen?
I was expecting this to not be an error and instead a warning.
What actually happened?
/src/routes/app/create-envelope-transaction/+page.svelte
  16:7   error  Properties of objects and arrays are not reactive unless in runes mode. Changes to this property will not cause the reactive statement to update(reactive_declaration_non_reactive_property)  svelte/valid-compile
  17:11  error  Properties of objects and arrays are not reactive unless in runes mode. Changes to this property will not cause the reactive statement to update(reactive_declaration_non_reactive_property)  svelte/valid-compile
  18:11  error  Properties of objects and arrays are not reactive unless in runes mode. Changes to this property will not cause the reactive statement to update(reactive_declaration_non_reactive_property)  svelte/valid-compile

Link to GitHub Repo with Minimal Reproducible Example
I'll post an MRE later.
Additional comments
When I try to ignore it with the following it persists, which makes sense since these are two different tools (one is the Svelte VSCode extension and the other ESLint):
// svelte-ignore reactive_declaration_non_reactive_property

After thoroughly testing I seem to have found that the error steamed from an bogus node_modules. I'm closing this as I'm not able to reproduce in the MRE.

Sorry, I was thinking about this the wrong way. It's not related to node_modules, it just a different behavior between pnpm check and pnpm eslint .. The first one throws warnings as expected but pnpm eslint . throws the errors which is the unexpected part. The reason I was confused is that we have a custom formatter and it was uing pnpm eslint . under the hood instead of directly pnpm check.
Here`s the MRE: https://github.com/fev4/reactive-non-reactive
I'm going to reopen this issue as I believe it's an inconsistency.

The svelte/valid-compile rule reports Svelte compiler's warnings/errors via ESLint at the specified severity level. Therefore, if error report is unnecessary, you can change it to a warning level.
rules: {
  'svelte/valid-compile': 'warn'
}


Documentation - disambiguate the term "month"

The methods often use the term "months" in an ambiguous way. As far as I can tell, there are three separate usages of the term "month", which need disambiguation in the documentation.

Month as period of time. (e.g., "12 months") when describing periods of time. For clarity, it is probably better to use a better-defined unit, such as days ("12 months" -> "365 days"). A "month" is an ambiguous unit, as months vary in length. If the intention is that  so that there less ambiguity.12 months is a 365 day period, then my suggestion is that the documentation should just read "365 days".
Month as calendar month. If month means calendar month, I suggest that the term "calendar month" be used. This is a pattern already sometimes present in the documentation.
Month as billing period. Sometimes the term "month" is sometimes used to refer to a billing period, which is confusing because billing periods rarely align perfectly with calendar months, and sometimes are not even close (e.g., bi-monthly billing periods). My suggestion is to use the term "billing period" when this usage is intended. This ambiguity in usage extends even to the official name of the method - "CalTRACK Monthly Method".

This update has been integrated in CalTRACK 2. Closing this issue


[DE Number]  'fünfzehn' missing in german text-number extractor

Class GermanNumeric.java is missing 'fünfzehn' with an umlaut in addition to 'fuenfzehn' in static member TenToNineteenIntegerRegex.
Expected response would be:
"start":0,"typeName":"number","end":7,"text":"fünfzehn","resolution":"15"
Actual result:
empty
Run a query
NumberRecognizer.recognizeNumber("fünfzehn", "de-de");

Platform: Java

the term for fifteen, including fifteen hundred are not detected (actually fifteen hundred is detected as a datetime)


[Caching][NFC] Unify the two cache replay code path

There were two cache replay code exists, one for cache replay from swift-frontend, the other for replay using C API from libSwiftScan. It is easy to forget to update one copy when new specialized cache replay logic is added for some output kinds. Now unify the replay logics to a single location to avoid confusion. This is a rewrite of the existing logic and NFCI.

@swift-ci please smoke test