Rendering artifact on CPU mode (no artifact on GPU).

I found artifact on rendered image on kUseSingleCpu. (I'll share artifact image later)
When I change to kUseSingleGpu, it was fixed.
Who do you ever have any experience that the two rendered image are different on CPU and GPU?
If this issue is already known, can I know what is occur this?

I attached the obj file which could reproduce CPU rendering artifact.
jean_hood_only.zip
[CPU Result]

There is artifact like black spots.

[GPU Result]

I have tried model from jean_hood_only.zip, but output looks ok
[CPU]

[GPU]

@generalistr6 , can you check with the latest version and provide your hw spec if the issue still persist?

Yes, still persist on the lasted version.
CPU : Intel Core i7-4790K 4.0 GHz
GPU : Nvidia GTX 750Ti
RAM : 16GB
I changed the image size to 1024 x 1024.
int g_window_width = 1024;
int g_window_height = 1024;

And, I recommend the camera state as below. The camera projection scale seems affect the result in my case.
	float3 min = float3(std::numeric_limits<float>::max(), std::numeric_limits<float>::max(), std::numeric_limits<float>::max());
	float3 max = float3(std::numeric_limits<float>::min(), std::numeric_limits<float>::min(), std::numeric_limits<float>::min());

	for (int i = 0; i < g_scene->vertices_.size(); ++i)
	{
		auto& v = g_scene->vertices_[i];

		min.x = std::min(min.x, v.x);
		min.y = std::min(min.y, v.y);
		min.z = std::min(min.z, v.z);

		max.x = std::max(max.x, v.x);
		max.y = std::max(max.y, v.y);
		max.z = std::max(max.z, v.z);
	}

	auto diagonalLength = std::sqrtf((max.x - min.x) * (max.x - min.x) + (max.y - min.y) * (max.y - min.y) + (max.z - min.z) * (max.z - min.z));
	g_camera_pos = float3((max.x + min.x) * 0.5f, (max.y + min.y) * 0.5f, max.z + diagonalLength);
	g_camera_at = float3((max.x + min.x) * 0.5f, (max.y + min.y) * 0.5f, (max.z + min.z) * 0.5f);
	g_camera_up = float3(0.f, 1.f, 0.f);

    g_scene->camera_.reset(new PerspectiveCamera(
        g_camera_pos
        , g_camera_at
        , g_camera_up));


GooglePlayDriver: doesn't reschedule Jobs after App is updated.

GooglePlayDriver doesn't reschedule Jobs after Google Play Services or the app is updated.
GooglePlayReceiver has check for that situation in onStartCommand, but it doesn't handle this case correctly. All Jobs should be rescheduled.
To Reproduce issue:

create any recurring Job with Lifetime.FOREVER.
schedule the job.
install updated .apk or update Google Play Services.
Job won't be called no more.

Confirmed. Any current workarounds?

Hey! Is this still an issue? I want to use the library in production. I've got the library working like I want it too but reading this issue has got me worried.

Yes, this is still happening. We have an internal issue tracking this (the fix needs to happen in Google Play services), but the fix hasn't been launched yet.
For now, as a workaround, I recommend scheduling all your jobs sometime during your initialization phase with shouldReplaceCurrent set to false: https://github.com/firebase/firebase-jobdispatcher-android/blob/0.5.0/jobdispatcher/src/main/java/com/firebase/jobdispatcher/JobParameters.java#L82

@ciarand Ah, damn. Thing is, in the app I'm working on, I schedule a recurring job (repeats everyday) which runs a service to fetch an image from an API and sets it as the wallpaper. The user doesn't really need to open the app for this to function. So, a GPlay Services or an app update removing the jobs I schedule with break the app, I think. Do you think I can work my way around this problem?

On this page, it's written that Google Play Services has an onInitializeTasks() callback called after Play Services or the client app is updated, where we are supposed to reschedule tasks. It's not ideal as not having to reschedule tasks would be better, but how can we apply this "workaround" to Firebase Job Dispatcher in the meantime?

is this an issue with recurring job only or with one time scheduled job also, i have used this in my project and wondering if this is happening in one time scheduled job as well then that will create issues and i have to look for alternates.

When this critical issue will see a fix?
I'm going to advocate against this library if usability issues big like this one take months (closer to a year in fact) to be solved here!

@ciarand Do you know how jobs can be rescheduled here ?
https://github.com/sytolk/firebase-jobdispatcher-android/commit/a47ab5a440e72eeeee307fe781e7d06d88960acc

Has this issue been fixed yet?

If anyone is still facing this issue, a workaround I found is what LouisCAD touched on. Create a stub GcmTaskService, that does nothing in OnRunTask, and override OnInitializeTasks function to perform all re-scheduling.

@summersmichael  any example code you can share?

@aftabsikander here:
public class PostNotifyReschedule extends GcmTaskService {
    @Override
    public int onRunTask(TaskParams taskParams) {
        PostNotification.switchOn(PostNotifyReschedule.this);  // Schedules the job
        return 0;
    }
}

Then register it in the manifest as usual:
<service
            android:name=".services.PostNotifyReschedule"
            android:enabled="true"
            android:exported="true"
            android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE">
            <intent-filter>
                <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
            </intent-filter>

 </service>

@ciarand @SUPERCILEX @ogeidix @googolmo @jenzz @michaeldiener @vRallev ping

As a workaround you could listen to  ACTION_MY_PACKAGE_REPLACED and reschedule your job onReceive.

@ciarand I'm ringing the bell. What's the progress on your internal issue on this?
It's been more than a year, 3 newer Android versions since (7.0, 7.1, 8.0).
Are we waiting for something, or are we waiting for vaporware?

@ciarand Also, why is this issue marked as unassigned?

Hi,
After making a small sample to try the behavior of this library, I could see that jobs are not forgotten after an app update or Google Play Services update (downgraded to stock v8 too see how the sample would behave when auto updating to v11). So it seems this issue is fixed and that Firebase Job Dispatcher doesn't need the trick that was needed for GCMTaskManager after all. So why is this issue still open?

Hi,
After testing again, I saw a scheduled job that wasn't run after I updated my app through adb with Android Studio, so this critical issue (as seen from us, developers who want to make reliable apps that user can trust, at least) seems to still be unresolved. I'll publish a gist with my workaround until the folks that work on this library fix this issue.

Here's a workaround

That makes sense, @LouisCAD. The current version of Google Play services does not cancel FJD jobs when the app is updated, which matches the behavior of the platform job scheduler. There was a bug in older versions where it would, but it was fixed in the February release (v9). We were waiting for market penetration before closing this, but it ended up falling off our radar.
If the onInitializeTasks behavior + pre-v9 compat is important, it's probably much easier just to listen for your MY_PACKAGE_REPLACED broadcast instead of the onInitializeTasks, no? That saves you the hassle of including the GCM package and is ultimately a better solution from the system's perspective.

@ciarand Thanks for letting us know the status of this issue! We had really no information about this before.
Doesn't MY_PACKAGE_REPLACED fails to be called when Google Play Services themselves are replaced (and discard scheduled jobs before v9)?
Also, maybe a solution is to block our app from working until Play Services are updated to v9+, using a simple check like this one?

There was a bug in older versions where it would, but it was fixed in the February release (v9). We were waiting for market penetration before closing this, but it ended up falling off our radar.

Is the market penetration good enough now (in October 2018) to consider that problem solved? I'm considering using Firebase JobDispatcher and the workaround is non-trivial.

In April 2019 we announced that Firebase Job Dispatcher would be deprecated today, April 7th 2020.  For this reason we are going to close all open issues and archive the repository.  We will also stop supporting FJD for new app installations (such as those targeting sdk versions greater than Android Q).  Existing apps that rely on FJD should continue to function as usual.
While we will no longer work on FJD, we encourage you to migrate to Work Manager which is a superior tool and fully supported by the Android team.
Thank you for taking the time to try the library and provide this feedback.  We sincerely appreciate your effort and we apologize for not addressing it in time.


[landing] Making Dashboards the first/default tab

@hughhhh I think that the "Recently Viewed" tab still needs some refinement in terms of what we show there, and that user's may be somewhat confused, i.e.,

This PR changes the tab ordering and makes the "Dashboards" tab the first (and thus default) tab, which should seem familiar to the users,

to: @hughhhh @mistercrunch

Codecov Report

Merging #4553 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4553   +/-   ##
=======================================
  Coverage   71.12%   71.12%
=======================================
  Files         187      187
  Lines       14780    14780
  Branches     1083     1083
=======================================
  Hits        10513    10513
  Misses       4264     4264
  Partials        3        3

Impacted Files
Coverage Δ

superset/assets/javascripts/welcome/App.jsx
94.44% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Unable to reconnect - reconnectwm.sh defunct

xrdp version
0.9.17-2
Detailed xrdp version, build options
xrdp 0.9.17
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --build=x86_64-redhat-linux-gnu
      --host=x86_64-redhat-linux-gnu
      --program-prefix=
      --disable-dependency-tracking
      --prefix=/usr
      --exec-prefix=/usr
      --bindir=/usr/bin
      --sbindir=/usr/sbin
      --sysconfdir=/etc
      --datadir=/usr/share
      --includedir=/usr/include
      --libdir=/usr/lib64
      --libexecdir=/usr/libexec
      --localstatedir=/var
      --sharedstatedir=/var/lib
      --mandir=/usr/share/man
      --infodir=/usr/share/info
      --enable-fuse
      --enable-pixman
      --enable-painter
      --enable-vsock
      --with-socketdir=/run/xrdp
      build_alias=x86_64-redhat-linux-gnu
      host_alias=x86_64-redhat-linux-gnu
      CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
      LDFLAGS=-Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
      PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig

  Compiled with OpenSSL 1.1.1k  FIPS 25 Mar 2021

Operating system & version
CentOS Stream release 8
Installation method
dnf / apt / zypper / pkg / etc
Which backend do you use?
Xvnc
What desktop environment do you use?
Xfce
Environment xrdp running on
VM
What's your client?
Microsoft's official client
Area(s) with issue?
Session manager (sesman)
Steps to reproduce
Sometimes users try to reconnect to a session and they are unable to.
I can see that reconnectwm.sh is defunct.
✔ Expected Behavior
User is able to reconnect
❌ Actual Behavior
User is unable to reconnect and prompted with a message like:
connecting to sesman ip <IP_ADDRESS> port 3350
sesman connect ok
sending login info to session manager, please wait...
login successful for display 120
VNC started connecting
VNC connecting to <IP_ADDRESS> 6020
VNC error - problem connecting
some problem

After a long time, like a day, tipically users are able to connect again.
I can't restart xrdp or xrdp-sesman to solve the problem, since we have dozens of users connected and that would make them loose their work and it's very hard to accommodate such a maintenance window.
Anything else?
In xrdp-sesman.log I get logs like this:
[20240709-14:33:46] [INFO ] Socket 5: AF_INET connection received from <IP_ADDRESS> port 60408
[20240709-14:33:46] [DEBUG] session_get_bydata: search policy 0 U user1 W 1920 H 1080 bpp 16 T 2 IP <IP_ADDRESS>:51825 - socket: 12
[20240709-14:33:46] [DEBUG] session_get_bydata: try 0x55808882ed40 U user2 W 1920 H 1080 bpp 16 T 2 IP <IP_ADDRESS>:61845 - socket: 12
[20240709-14:33:46] [DEBUG] session_get_bydata: try 0x55808881c880 U user3 W 1648 H 916 bpp 16 T 2 IP <IP_ADDRESS>:60571 - socket: 12
[20240709-14:33:46] [DEBUG] session_get_bydata: try 0x55808881e300 U user1 W 1920 H 1080 bpp 16 T 2 IP <IP_ADDRESS>:58819 - socket: 12
[20240709-14:33:46] [INFO ] ++ reconnected session: username user1, display :23.0, session_pid 3446468, ip <IP_ADDRESS>:51825 - socket: 12
[20240709-14:33:46] [ERROR] sesman_data_in: scp_process_msg failed
[20240709-14:33:46] [ERROR] sesman_main_loop: trans_check_wait_objs failed, removing trans
[20240709-14:33:46] [DEBUG] Closed socket 5 (AF_INET <IP_ADDRESS>:3350)
[20240709-14:33:46] [INFO ] Starting session reconnection script on display 23: /usr/libexec/xrdp/reconnectwm.sh
[20240709-14:33:46] [DEBUG] Calling exec (excutable: /usr/libexec/xrdp/reconnectwm.sh, arguments: /usr/libexec/xrdp/reconnectwm.sh )

That log looks fine- the errors are generated when the xrdp connection to sesman is terminated.
This is interesting and may well be the cause of your problem:-

login successful for display 120
VNC started connecting
VNC connecting to <IP_ADDRESS> 6020

By default VNC allocates ports for a display  :$D.0 as follows:-
VNC client TCP port : 5900 + $D
VNC X11 TCP port : 6000 + $D
So for display :20.0, VNC will use TCP ports 5920 and 6020. For display 120, VNC will use ports 6020 and 6120. You can see there's a collision here. If you've got a user on :20.0, a user on :120.0 won't be able to connect, as xrdp will connect to TCP port 6020 and send it VNC commands. However port 6020 will be expecting X11 commands.
Later versions of xrdp place a limit on the display number to stop this happening.
A display number of 120 suggests you've got at least 111 sessions active (allocations 1 uses display 10, allocation 2 uses display 11 and so-on). This is pretty enormous, and I think needs some investigation. Do you have that many users on one machine?

Thanks for the feedback @matt335672
We do have a lot of users. I just did a count of Xvnc sessions and currently I see 76 processes.
What i suspect is happening is that some of the sessions get defunct, but xrdp still keeps record of them somehow and still tries to reconnect the user to an old connection that no longer exists. But really don't understand the inner works of xrdp, this is just a wild guess from reading the logs and seeing a lot of defunct reconnectwm.sh processes.
Is there a way to like make xrdp forget about the old session and just try and create a new one? I've found that the sockets are created under /run/xrdp/* , maybe deleting the respective sockets of those old connections would make xrdp create a new one?
Best regards

You can use the xrdp-sesadmin command to list the sessions that xrdp knows about. On your version of xrdp however it's very clunky, and you'll need to authenticate with a username and password. It should however, let you tie up usernames with sessions.
There's no way at the moment to get xrdp to forget about sessions. The state information is held in memory by xrdp-sesadmin.
What do you mean by 'defunct reconnectwm.sh' processes?

Do you think an upgrade to <IP_ADDRESS>-2 could solve this problems? It's the version I have available at the EPEL repo.
Are there breaking changes and configurations I need to change from 0.9.17?
reconnectwm.sh is the script configured in ReconnectScript in sesman, I have the default one. Currently, I have 65 defunct (zombie) reconnectwm.sh processes, with  10 months 23 days of xrdp service running.
Thanks!

You shouldn't have any zombie reconnectwm.sh processes, let alone 65 of them. That suggests sesman is missing the SIGCHLD signals from these processes.
I've done a bit of archeology, and this was fixed for v0.9.19 - see #2146, #2151, #2168. So an upgrade to <IP_ADDRESS> should help.
As far as breaking changes go, here are the relevant release notes:-

v<IP_ADDRESS>
v0.9.22
v<IP_ADDRESS>
v0.9.21
v0.9.20
v0.9.19
v<IP_ADDRESS>
v0.9.18

I can't see anything in there which I'd describe as a breaking change. However - you're the systems admin, so if it does break you'll be the one explaining why! Please look through the above yourself. I've been a systems admin myself, and I can see you've got a huge system there with no scope for down-time. Take all the usual precautions (including a rollback strategy, tested on a VM or desktop machine) and you should be fine. Please ask if you need any clarification from the release notes above.

Thank you so much @matt335672 !!
This host is for accessing a very costumized htcondor cluster for our users, so it's very crowded 😄
I'll try to find a maintenance window to do the update during a weekend. It's a VM, so a snapshot should be fine in case we need to rollback.
Best regards!


JSON-formatted cli extension info (details + enabled/disabled)

See #19083, #37620, #69090
Currently, I know of two ways to get extension information:
One way, in a shell:
code --list-extensions [--show-versions]

which produces the an extension id (and, optionally, version) followed by a newline character for each installed extension:
<EMAIL_ADDRESS><EMAIL_ADDRESS>...

And the other way, in VS Code:

Toggling the Extensions panel
Right-clicking on an extension
Selecting "Copy Extension Information"

which produces this output in the clipboard:
Name: ESLint
Id: dbaeumer.vscode-eslint
Description: Integrates ESLint JavaScript into VS Code.
Version: 1.8.2
Publisher: Dirk Baeumer
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint

I would like the ability to output extension information in JSON format when using the cli argument --list-extensions. This option could be implemented with an additional argument such as --json and used like the --show-versions argument:
code --list-extensions --json

I propose that the output would be a JSON-formatted array of objects representing each installed extension containing the information provided via the "Copy Extension Information" command, and additionally providing a boolean attribute for whether the extension is enabled. It would look like this:
[
  {
    "name": "ESLint",
    "id": "dbaeumer.vscode-eslint",
    "description": "Integrates ESLint JavaScript into VS Code.",
    "version": "1.8.2",
    "publisher": "Dirk Baeumer",
    "link": "https://marketplace.visualstudio.com/items?itemname=dbaeumer.vscode-eslint",
    "enabled": true
  },
  {
    "name": "Live Share",
    "id": "ms-vsliveshare.vsliveshare",
    "description": "Real-time collaborative development from the comfort of your favorite tools.",
    "version": "1.0.91",
    "publisher": "Microsoft",
    "link": "https://marketplace.visualstudio.com/items?itemname=MS-vsliveshare.vsliveshare",
    "enabled": false
  }
]

This would allow programmatic retrieval of extension information and status.

@jsejcksn What is the usecase and why you need this?

Hi @sandy081: I am not aware of another way to get a list of all installed extensions with information about which ones are enabled and which ones are disabled. This export would be a first step in being able to store the information so that the current extension state can be replicated in another instance of VS Code.

So you are trying to sync extensions? There is an extension already in market place that does it already - https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync
Have you tried this?

Yes, I have tried that extension previously, but it introduces dependencies which don't need to be present for this functionality:

installation of that extension
a GitHub account

giving that extension OAuth access to a GitHub account

Using that extension also makes the user's settings public by syncing them to a GitHub gist. GitHub gists cannot be made private, only "secret" (security through obscurity).

I do not think we have plans/cycles to implement this request unless it is highly requested. So I would close this as out of scope and revisit this if more users request for the same.
On the other hand, We have a feature request to support synchronisation of settings across machines. Synchronising extensions will also be supported while implementing that. https://github.com/Microsoft/vscode/issues/2743

@sandy081 How can I get a list of enabled extensions vs disabled extensions in VS Code?

@jsejcksn You cannot right now, but there is a request already asking for it - #14444


Game Submission: Underground Grind

I am a professional full stack web developer. I have never done game development or written code in C before. I did have ambitions of creating something greater but ended up staying visually close to the Snake3D game. Game is unpolished but functional and playable. I developed primarily on a Mac with Ares as well as Everdrive 64 x7 on the real N64.
There are 9 dirt blocks that the snake players needs to dig through to find the one randomly placed treasure chest.
Controls are as follows:

Using the control stick to move around.
A or Z to dig the
A and Z in sequence will give you bonus damage on the dirt blocks

When the block containing the chest is dug enough by the player it vanishes, a chest is revealed, the game ends, and the last player to do the destroying digging on the dirt block is determined to be the winner.

Thank you for your submission!

Merged to main into the unified ROM.


Ridge based polyhedron

Resolves: #10

PR size is :skull_and_crossbones: :

For follow-up PR's/issues see #10


[Sprint 4] Write a Google Script that commits data from our production data spreadsheet to our repository.

What:
Write a Google Script that commits data from our production data spreadsheet to our repository.
How:

[x] Write the script. Look at examples of other google scripts doing similar things. This one is in use by the Fedramp team. There are others also.
[x] Ensure the script is version controlled in our repo.
[x] Ensure the script is running in Google Scripts.
[x] Set the script to run on every edit in the spreadsheet.
[ ] There is a quick security review has to get approved too.

Why:

Our partners want to have Google Spreadsheet as the interface to their data for the PII Inventory.
Google Scripts has an existing ATO. Adding new scripts don't need new ATO. Its a compliance hack to get data into our repo.

Acceptance:

[ ] We have a working script that is making regular commits to our repository on every edit in the spreadsheet.

The Fedramp gscript uses a GitHub personal access token. Is that okay?
Here is another example setting up a GitHub app that does the committing instead of a personal token.

We did some testing of script ownership and permissions.
Adding the @OnlyCurrentDoc to the script restricts its permissions to access only the spreadsheet that it is installed in.
If we store an access token needed to communicate with GH in another spreadsheet, restricting permissions might prevent us from accessing it.
Whoever runs the script needs to grant it permissions - currently it must be re-authorized frequently and is triggering Cloud Lock restrictions. Hopefully this will change if we get the application white-listed.

We learned that white-listing this will authorize the script itself to run, regardless of the person running it. This should mean that we can get it whitelisted and anyone can use it.

Submitted request for a security review.

Followed up with cloudlock to confirm that they had received our request.


docs: clarify Signal::derive() behavior

@benwis No rush -- Does this seem like a reasonable way to add context to Signal::derive()?

Very clear! Definitely an improvement that would clear the initial confusion I had.
The (and convert it into a Signal<_>) part seems a little redundant but definitely just a nit pick

There's a small typo on line 101

/// Values can be access with the same function call ...

Should be

/// Values can be accessed with the same function call ...


Button Dropdown issue when button is inside box positioned at right or right/bottom

Hi,
If you have a look at https://almsaeedstudio.com/themes/AdminLTE/pages/UI/buttons.html. Refer to "Horizontal Button Group" container, specifically to the Dropdown controls. When clicking the caret the contents of the dropdown are hidden outside the container and out of view. This results, in a horizontal scrollbar being added to the parent box.

Hello,
That's caused by the responsive table div. If you want to avoid that effect, don't use dropdowns within responsive tables.
Thanks!

I have resolved it by doing this:
.box-body {
overflow: visible !important;
}

You might want to check that code on Safari since it caused me trouble before.


API: Create endpoint to reload mapping entities from JSON files

As a developer, I want to have an endpoint to reload the mapping entities based on the information in the mapping rules JSON files.

@zperova done


chore: sync workflows

Changes

chore: sync workflows (2e1f84322da1f68c8cda3f8760afa2c4f9154b50, 0797e33a4a43a1f7cc81cf22c434a9b0abd23b5c, 1f50381a2fb55e9f3c90cb0b62c4008bd0f2d589, af4de9fe6002ddaa50d6e2b5f1f5cd15a6ac8774, f92bfb602d92491e68e36dc26662ff82e0cce54a, ...)

Base PullRequest
default branch (https://github.com/technote-space/tech-blog/tree/main)
Command results

Details:

add path
/home/runner/work/_actions/technote-space/create-pr-action/v2/node_modules/npm-check-updates/bin

rm -rdf .github/workflows/.tmp

mkdir -p .github/workflows/.tmp

git clone --depth=1 https://github.com/technote-space/github-actions-workflows.git .github/workflows/.tmp/workflows
stderr:
Cloning into '.github/workflows/.tmp/workflows'...

bash .github/workflows/.tmp/workflows/ts-repo/copy.sh release

sed -i "s/cron:.\+$/cron: ${MINUTE} ${HOUR} * * ${DAY}/" .github/workflows/update-dependencies.yml

rm -rdf .github/workflows/.tmp

Changed files

Changed 4 files:

.github/workflows/add-test-tag.yml
.github/workflows/broken-link-check.yml
.github/workflows/ci.yml
.github/workflows/update-dependencies.yml

:octocat: Repo | :memo: Issues | :department_store: Marketplace

Command results

Details:

add path
/home/runner/work/_actions/technote-space/create-pr-action/v2/node_modules/npm-check-updates/bin

rm -rdf .github/workflows/.tmp

mkdir -p .github/workflows/.tmp

git clone --depth=1 https://github.com/technote-space/github-actions-workflows.git .github/workflows/.tmp/workflows
stderr:
Cloning into '.github/workflows/.tmp/workflows'...

bash .github/workflows/.tmp/workflows/ts-project/copy.sh

sed -i "s/cron:.\+$/cron: ${MINUTE} ${HOUR} * * ${DAY}/" .github/workflows/update-dependencies.yml

rm -rdf .github/workflows/.tmp

Changed files

Changed file:

.github/workflows/ci.yml

:octocat: Repo | :memo: Issues | :department_store: Marketplace

Command results

Details:

add path
/home/runner/work/_actions/technote-space/create-pr-action/v2/node_modules/npm-check-updates/bin

rm -rdf .github/workflows/.tmp

mkdir -p .github/workflows/.tmp

git clone --depth=1 https://github.com/technote-space/github-actions-workflows.git .github/workflows/.tmp/workflows
stderr:
Cloning into '.github/workflows/.tmp/workflows'...

bash .github/workflows/.tmp/workflows/ts-project/copy.sh

sed -i "s/cron:.\+$/cron: ${MINUTE} ${HOUR} * * ${DAY}/" .github/workflows/update-dependencies.yml

rm -rdf .github/workflows/.tmp

Changed files

Changed file:

.github/workflows/ci.yml

:octocat: Repo | :memo: Issues | :department_store: Marketplace

Command results

Details:

add path
/home/runner/work/_actions/technote-space/create-pr-action/v2/node_modules/npm-check-updates/build/src/bin

rm -rdf .github/workflows/.tmp

mkdir -p .github/workflows/.tmp

git clone --depth=1 https://github.com/technote-space/github-actions-workflows.git .github/workflows/.tmp/workflows
stderr:
Cloning into '.github/workflows/.tmp/workflows'...

bash .github/workflows/.tmp/workflows/ts-project/copy.sh

sed -i "s/cron:.\+$/cron: ${MINUTE} ${HOUR} * * ${DAY}/" .github/workflows/update-dependencies.yml

rm -rdf .github/workflows/.tmp

Changed files

Changed file:

.github/workflows/ci.yml

:octocat: Repo | :memo: Issues | :department_store: Marketplace

Command results

Details:

add path
/home/runner/work/_actions/technote-space/create-pr-action/v2/node_modules/npm-check-updates/build/src/bin

rm -rdf .github/workflows/.tmp

mkdir -p .github/workflows/.tmp

git clone --depth=1 https://github.com/technote-space/github-actions-workflows.git .github/workflows/.tmp/workflows
stderr:
Cloning into '.github/workflows/.tmp/workflows'...

bash .github/workflows/.tmp/workflows/ts-project/copy.sh

sed -i "s/cron:.\+$/cron: ${MINUTE} ${HOUR} * * ${DAY}/" .github/workflows/update-dependencies.yml

rm -rdf .github/workflows/.tmp

Changed files

Changed file:

.github/workflows/ci.yml

:octocat: Repo | :memo: Issues | :department_store: Marketplace


Bot not responding to other users on Facebook

If I chat to it using the Facebook profile of the user who created it (the Facebook app that is linked to the bot), it responds. But if I try another user, it does nothing.
What could be causing this?

Apparently the bots have to be reviewed by Facebook before external parties can interact with them. Can you confirm that this is the case?

Yep, that's right.
https://developers.facebook.com/docs/messenger-platform/implementation
"When your app is in Development Mode, plugin and API functionality will only work for admins, developers and testers of the app. After your app is approved and public, it will work for the general public."


fix: Handle messages republished by MQTT bridge following a disconnection event

Proposed changes
The OSADL device running the built in bridge was occasionally disconnecting from cloud while sending messages and then failing to recover upon reconnection. The root cause was that unacknowledged messages were being republished by rumqttc upon reconnection, but the code was always waiting for a corresponding event from the other half of the bridge (as it implicitly assumed each message was only published once). Since there was no such corresponding event, this caused the bridge to block.
This PR ignores the duplicate publishes in the section of code that was blocking to fix this bug.
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

#2960

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

The merge queue rejected this PR because the following relevant unit test is failing
test bridge_reconnects_successfully_after_local_connection_interrupted ... FAILED


optimize: optimize the default values for some switches

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
optimize the default values for some switches
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #5183 (c614708) into develop (512e605) will increase coverage by 0.00%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##             develop    #5183   +/-   ##
==========================================
  Coverage      48.45%   48.45%
- Complexity      4135     4136    +1
==========================================
  Files            743      743
  Lines          26517    26517
  Branches        3294     3294
==========================================
+ Hits           12848    12849    +1
+ Misses         12273    12269    -4
- Partials        1396     1399    +3

Impacted Files
Coverage Δ

...n/src/main/java/io/seata/common/DefaultValues.java
0.00% <0.00%> (ø)

...rpc/processor/server/ServerOnRequestProcessor.java
0.00% <0.00%> (ø)

...eata/core/store/db/AbstractDataSourceProvider.java
0.00% <ø> (ø)

...seata/server/storage/redis/JedisPooledFactory.java
26.08% <0.00%> (ø)

...ure/properties/server/store/StoreDBProperties.java
28.07% <100.00%> (ø)

.../properties/server/store/StoreRedisProperties.java
31.81% <100.00%> (ø)

...rage/db/store/DataBaseTransactionStoreManager.java
60.71% <100.00%> (ø)

...rage/redis/store/RedisTransactionStoreManager.java
72.06% <100.00%> (ø)

.../java/io/seata/spring/util/TCCBeanParserUtils.java
30.64% <0.00%> (-1.62%)
:arrow_down:

...erver/storage/file/session/FileSessionManager.java
47.77% <0.00%> (-0.64%)
:arrow_down:

... and 3 more


Provider receiving invalid prop supplied to Route

So I'm not 100% sure that this is a bug or simply something I'm doing incorrect. But I went over my code 30+ times today and I couldn't find anything wrong. I then decided to copy the real-world example over line for line, and I still continued to receive an error. I then decided to do the same thing with the counter example, since it's an easier example, but still the error persisted. Here's the error I'm receiving:
Warning: Failed propType: Invalid prop `component` of type `object` supplied to `Route`, expected `function`. Check the render method of `Provider`.

Uncaught Error: Invariant Violation: Provider.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.

I'm not sure what Route it is complaining about...initially I was using react-router but then after getting this error I removed it, to help track down the bug. I'm not sure what other file configurations you'd like to see to help track down this bug?? I seriously copied the files over from counter and the other examples but I couldn't get any of them to work. I thought it might be npm cache so I ran npm cache clean, and deleted my node_modules folder.
Some of the other main pieces I'm using are express, and webpack. Like I said, I'm not sold on the idea that it is actually a bug with redux...but after removing everything but redux and react those are the only options I see left.  Here's my package.json file:
{
  "name": "redux-test",
  "version": "0.0.1",
  "description": "Initial setup for frontend",
  "scripts": {
    "start": "npm install; node server",
    "test": "test"
  },
  "dependencies": {
    "express": "^4.13.3",
    "http-proxy": "^1.11.1",
    "humps": "^0.6.0",
    "isomorphic-fetch": "^2.1.1",
    "normalizr": "^0.1.3",
    "react": "^0.13.3",
    "react-redux": "^0.8.2",
    "react-router": "^1.0.0-beta3",
    "redux": "^1.0.1",
    "redux-logger": "0.0.3",
    "redux-thunk": "^0.1.0",
    "style-loader": "^0.12.3"
  },
  "devDependencies": {
    "babel": "^5.8.21",
    "babel-core": "^5.6.18",
    "babel-eslint": "^3.1.15",
    "babel-loader": "^5.3.2",
    "babel-runtime": "^5.8.20",
    "eslint": "^0.23",
    "eslint-config-airbnb": "0.0.6",
    "eslint-plugin-react": "^2.3.0",
    "react-hot-loader": "^1.2.7",
    "redux-devtools": "^1.0.2",
    "webpack": "^1.11.0",
    "webpack-dev-server": "^1.10.1"
  }
}

and here's my webpack.config.js file:
var webpack = require('webpack');
var path = require('path');
var appPath = path.resolve(__dirname, 'src');
var nodeModulesPath = path.resolve(__dirname, 'node_modules');
var buildPath = path.resolve(__dirname, 'public', 'build');

var config = {
  context: __dirname,
  devtool: 'eval-source-map',
  entry: {
    app: [
      'webpack-dev-server/client?http://localhost:3000',
      'webpack/hot/dev-server',
      path.resolve(appPath, 'index.js')],
    vendor: ['react', 'redux', 'react-redux']
  },
  output: {
    path: buildPath,
    filename: '[name].js',
    publicPath: '/build/'
  },
  module: {
    loaders: [
      {test: /\.jsx?$/, exclude: [nodeModulesPath], loader: 'babel'},
      {test: /\.css$/, loader: 'style!css'}
    ]
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.bundle.js'),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoErrorsPlugin()
  ]
};

module.exports = config;

Other than that, I simply copied over the files/folders from the examples.

did you forget to export your main component?
export default class YourComponent extends React.Component { .. }

I was exporting it but not as default... maybe I forgot to import {default as } from ''
I'll double check after I get out of my meeting and let you know. If that's all it is, then I'll be embarrassed that I missed it myself and posted this bug.

Closing because this is not related to Redux.
Please file in react-redux if it is causing the issue somehow.


Improve error handling

improves Zod parsing error message when there is no path/field
catch Saleor's throttle errors

Code seems fine but the saleor build is failing - related?

I created this PR to catch the error before it was not catching it and returned data undefined. Saleor fails because, like in the screenshot above, the environment is limited and can't handle that many requests. I talked with the Saleor team, and they will increase that limit.


UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4

[2018-11-11 10:12:24] [Ranger] Discovered GATT services and characteristics of Eve Thermo 0514
[2018-11-11 10:12:24] [Ranger] Connected to Eve Thermo 0514
(node:1732) UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4
at HapExecutor._getResponsePayload (/usr/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13)
at HapExecutor._executeCommand (/usr/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34)
at
(node:1732) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1732) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2018-11-11 10:12:45] [Ranger] Reported reachability for Eve Thermo 0514: true

Debugging by adding "throw new Error(packet.readUInt8())" to line 135
returns (node:2275) UnhandledPromiseRejectionWarning: Error: 2

I get the same error with an Eve Energy. If i'm reading the code right - is this error 4 as in invalid instance id? From the spec: 'The HAP Request's characteristic Instance Id did not match the addressed characteristic's instance Id'

Yep - all the throws in HapExecute are no good because they are called from an async function. I stuck a big try {} around most of the packet reading/parsing code and now it skips the non-standard characteristics and pairs

Or not - it tries to pair, and eventually starts without pairing, instead probing the device without a secure session, which fails with error 5.

Yeah, this is affecting me to at the moment with an Eve Energy.

Same here with Eve Window/Door. :(

It's strange to meet the same people in different repositories. :D @TillmannD (b4f)

It's strange to meet the same people in different repositories. :D @TillmannD (b4f)

the world is smaller than you think :))
BTT: I could fix my issue buy going to Node 9.10. Its easy to change cause ranger runs on my Pi in a dockercontainer. ;-)

Is there any workaround for nondevelopers?

Running into the same problem here with my Eve Energy:
Dec 29 12:48:42 unifipi homebridge[29683]: (node:29683) UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4 Dec 29 12:48:42 unifipi homebridge[29683]:     at HapExecutor._getResponsePayload (/opt/node-v9.3.0-linux-armv7l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13) Dec 29 12:48:42 unifipi homebridge[29683]:     at HapExecutor._executeCommand (/opt/node-v9.3.0-linux-armv7l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34) Dec 29 12:48:42 unifipi homebridge[29683]:     at <anonymous> Dec 29 12:48:42 unifipi homebridge[29683]: (node:29683) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) Dec 29 12:48:42 unifipi homebridge[29683]: (node:29683) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Running Node 9.3.0 @TillmannD did you downgrade from 9.3.0 to 9.10 or did you upgrade from an older version?

Can anyone confirm Node 9.10 working (with Eve Thermo)? I downgraded to Node 8 without success.

Hey, sorry for the late reply.
I run homebridge on my pi in a dockercompose.
As I changed the main library to "arm32v7/node:9.10.0-stretch" I don't see the error anymore.
BR

Hi TillmanD,
Im new to running apps in docker, how do you do that?
When I install ranger it homebridge goes into  loop and wont run
Thanks
Dave

Hi, I didn't got it work with node 8.x, node 9.3.0, node 9.10.1, node 10.y. This is what I got (Eve Thermo 2017):
[2019-1-2 01:55:41] [Ranger] Initializing Ranger platform... [2019-1-2 01:55:41] [Ranger] Ranger Platform Plugin Loaded [2019-1-2 01:55:41] [Ranger] Found device in config: "Eve Thermo 7890" [2019-1-2 01:55:41] [Ranger] Waiting for accessory: Eve Thermo 7890 [2019-1-2 01:55:41] [Ranger] Not all accessories have their devices. Not publishing yet. [2019-1-2 01:55:41] Loading 0 accessories... [2019-1-2 01:55:41] [Ranger] DidFinishLaunching [2019-1-2 01:55:41] [Ranger] Starting to scan for BLE HomeKit accessories [2019-1-2 01:55:41] [Ranger] Found paired accessory Eve Energy 1234 address=d8:42:aa:2a:xx:cc rssi=-87dB [2019-1-2 01:55:43] [Ranger] Found paired accessory Eve Thermo 4567 address=ef:hh:8e:zz:vv:99 rssi=-88dB [2019-1-2 01:55:43] [Ranger] Found unpaired accessory Eve Thermo 7890 address=d5:qq:b4:ww:yy:f1 rssi=-69dB [2019-1-2 01:55:43] [Ranger] Accessory 'Eve Thermo 7890' found. [2019-1-2 01:55:44] [Ranger] Scanning stopped externally. Restarting in 2s. [2019-1-2 01:55:44] [Ranger] Discovered services. [2019-1-2 01:55:45] [Ranger] Discovered GATT services and characteristics of Eve Thermo 7890 [2019-1-2 01:55:45] [Ranger] Connected to Eve Thermo 7890 [2019-1-2 01:55:45] [Config-Ranger] Using Form Authentication [2019-1-2 01:55:45] [Config-Ranger] Console v3.9.2 is listening on port nnnn. (node:25189) UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4     at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13)     at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34)     at <anonymous> (node:25189) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:25189) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. [2019-1-2 01:55:53] [Ranger] Found paired accessory Eve Energy 6543 address=c5:53:zz:qq:88:66 rssi=-99dB [2019-1-2 01:56:21] [Ranger] Eve Thermo 7890: First advertisement after 38119ms. [2019-1-2 01:56:21] [Ranger] Disconnected from Eve Thermo 7890 [2019-1-2 01:56:29] [Ranger] Reported reachability for Eve Thermo 7890: true [2019-1-2 03:38:15] [Ranger] Device Eve Thermo 7890 issued a disconnected event.

I downgraded to "node-v9.10.0-linux-armv7l.tar.xz" as the node version, still seeing this:
Jan 02 20:13:18 unifipi homebridge[6829]: (node:6829) UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4 Jan 02 20:13:18 unifipi homebridge[6829]:     at HapExecutor._getResponsePayload (/opt/node-v9.10.0-linux-armv7l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13) Jan 02 20:13:18 unifipi homebridge[6829]:     at HapExecutor._executeCommand (/opt/node-v9.10.0-linux-armv7l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34) Jan 02 20:13:18 unifipi homebridge[6829]:     at <anonymous> Jan 02 20:13:18 unifipi homebridge[6829]: (node:6829) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) Jan 02 20:13:18 unifipi homebridge[6829]: (node:6829) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
It's driving me crazy :-/

Mmm I think it has something to do with Eve, I updated my Thermo to the latest firmware and now it gives me the same error, will contact their support as well see what they can tell me.

Sorry, that’s to hard for me:
https://stackoverflow.com/questions/39716569/nodejs-unhandledpromiserejectionwarning

The other thing to try is:
for (let svc of serviceSignature) {
    const op = new ServiceSignatureReadRequest(svc.address, svc.cid);
    console.log(svc.cid);
    try {
      const signature = await device.run(op);
      console.log(`Service signature: ${JSON.stringify(signature)}`);
    }
    catch (e) {
      console.log(`Failed to read service signature: ${util.inspect(e)}`);
    }
}

This will still error but it will print a bunch of cids. I think the last one it prints will be the none-homekit one that is causing the error. We want to build a list of them, and then skip them. To do this we can do:
var ignore = ["cid-you-printed", "other-cid-you-found"];

for (let svc of serviceSignature) {
    const op = new ServiceSignatureReadRequest(svc.address, svc.cid);
    console.log(svc.cid);

    // skip known incompatible service characteristics
    if (ignore.includes(svc.cid)) {
        continue;
    }

    try {
      const signature = await device.run(op);
      console.log(`Service signature: ${JSON.stringify(signature)}`);
    }
    catch (e) {
      console.log(`Failed to read service signature: ${util.inspect(e)}`);
    }
}

You will have to do this multiple times, each time you block a non-homekit characteristic id you should get a different one the next time. Eventually you will have blocked all the Eve non-homekit ones and it might start working... Might...
But I dont have an environment to try any of this in, so good luck!

Wow!
Sounds great. So with this:  const signature = await device.run(op).catch((err) => console.log(err));  console.log(Service signature: ${JSON.stringify(signature)});the lines 303/304 should be replaced?
How can I do that as a non developer?
Can I edit the files in the local modules directory and do a npm rebuild on my pi?

Sorry @palasinio i'm not enough of a javascript dev to say! For figuring this out I /think/ editing the local module files directly is enough, and you shouldnt even have to touch npm?
And yes, just replace the existing ones!

Okay - big thx @Jc2k - I‘ll try your ideas the next days if the kids let me.

@palasinio same here, although I'm even less of a javascript dev. Hopefully will find some time as well, and will report back looking forward to your results in the meantime as well.

@Jc2k 🥇 your're the best!
Really interesting: I found a "homebridge-ranger-0.2.0.tgz" in the "/usr/local/lib/node_modules/homebridge-ranger" folder.
Next I wanted to edit "AccessoryDatabase.js" in "/usr/local/lib/node_modules/homebridge-ranger/src/hap".
Surprisingly the content didn't look like here.
It looked that way w/o try/catch:
  for (let svc of serviceSignature) {
    const op = new ServiceSignatureReadRequest(svc.address, svc.cid);
    const signature = await device.run(op);
    console.log(`Service signature: ${JSON.stringify(signature)}`);
  }

Exchanging it with the "try/catch" thing didn't change behaviour. Your first guess does:
const signature = await device.run(op).catch((err) => console.log(err));
(I didn't expect Node to be something like a BASIC interpreter).
While pairing I got three undefined cids:
Jan 03 15:57:54 raspberrypi homebridge[5135]: ********** CID: 11 *********************************************************************
Jan 03 15:57:54 raspberrypi homebridge[5135]: Error: HAP-BLE request failed with status 4
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13)
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34)
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at <anonymous>
Jan 03 15:57:54 raspberrypi homebridge[5135]: Service signature: undefined
Jan 03 15:57:54 raspberrypi homebridge[5135]: ********** CID: 27 *********************************************************************
Jan 03 15:57:54 raspberrypi homebridge[5135]: Error: HAP-BLE request failed with status 4
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13)
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34)
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at <anonymous>
Jan 03 15:57:54 raspberrypi homebridge[5135]: Service signature: undefined
Jan 03 15:57:54 raspberrypi homebridge[5135]: ********** CID: 44 *********************************************************************
Jan 03 15:57:54 raspberrypi homebridge[5135]: Error: HAP-BLE request failed with status 4
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13)
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34)
Jan 03 15:57:54 raspberrypi homebridge[5135]:     at <anonymous>
Jan 03 15:57:54 raspberrypi homebridge[5135]: Service signature: undefined

But this didn't prevent hombridge to start.
Once paired the undefined cids didn't show up again and my "Eve Thermo" (2017, FW 1.2.7 (1132)) is running through Ranger.
So there is only one line to edit,
Many, many THX.
How can we continue? Is a change request in GIT a "pull" Request? have you ever done this?

GitHub calls it a pull request indeed. And you are right it’s probably the place to start here. I’ve done it quite a bit for python projects. Do you want to have a go?

@palasinio you've only edited this line:
const signature = await device.run(op);
to this line:
const signature = await device.run(op).catch((err) => console.log(err));
Almost at the end of the document? I just did the same thing myself, and I'm seeing the same error still in the log file for my Eve Energy.
However, this seems to have fixed it for my Eve Thermo, so I'm a little bit closer.
Second time trying to start homebridge however it hangs again because it sees an unpaired device (my Eve Energy) and doens't continue.

@jcvangent yes, I only edited this line and as you can see two posts above I get still this error: "Error: HAP-BLE request failed with status 4", but Homebridge starts.
This is my first time with Ranger, so I'm not very experienced. Can you start Ranger with only one Energy in the devices part ans see, what the log says and if homebridge starts?
I get my Energy back, when the christmastree leaves ;)

@Jc2k I just never done something like this before. Lets see whats up @jcvangent and I'ii try to start my first "pull" ;).

I only added one Eve Energy, HomeBridge is not starting and the log says this:
Jan 03 21:19:39 unifipi homebridge[5790]: [2019-1-3 21:19:39] [Ranger] noble failed to establish a BLE connection to Eve Energy Jan 03 21:19:39 unifipi homebridge[5790]: (node:5790) UnhandledPromiseRejectionWarning: Error: noble failed to establish a BLE connection to Eve Energy Jan 03 21:19:39 unifipi homebridge[5790]:     at HapBleDevice.connect (/opt/node-v9.10.0-linux-armv7l/lib/node_modules/homebridge-ranger/src/hap/HapBleDevice.js:75:13) Jan 03 21:19:39 unifipi homebridge[5790]:     at <anonymous> Jan 03 21:19:39 unifipi homebridge[5790]: (node:5790) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) Jan 03 21:19:39 unifipi homebridge[5790]: (node:5790) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. Jan 03 21:19:43 unifipi homebridge[5790]: [2019-1-3 21:19:43] [Ranger] Reported reachability for Eve Energy: true
After that nothing in the logfile so it doesn't continue. I also tried downloading the master files from git here and use those (there are 5 commits already done to the git but not merged yet so hence you saw the difference in the file) but that code isn't working at all.

Hi @jcvangent , seems to be the same topic in a different file? I wondered already, how @Jc2k  concluded from "HapExecutor.js" to "AccessoryDatabase.js" - there must be kind of includes.
The error is similar, cause its not captured.
I guess, if we find the right file/position, its the same change nescessary.
if you run this:
/usr/local/lib/node_modules/homebridge-ranger/src/hap $ grep -rnw -e 'await'
you get something like this:
HapCharacteristicAccessor.js:23:      const result = await this._executor.run(request);
HapCharacteristicAccessor.js:44:      const result = await this._executor.run(request);
HapExecutor.js:35:      await this._establishSecureConnection();
HapExecutor.js:36:      const result = await this._executeCommand(cmd);
HapExecutor.js:59:      await this._device.write(c, encryptedPacket);
HapExecutor.js:62:      let rxPacket = await this._device.read(c);
HapExecutor.js:68:        rxPacket = await this._device.read(c);
HapExecutor.js:174:      newConnection = await this._connectToBleDevice();
HapExecutor.js:175:      isConnected = await this._establishSessionSecurity();
HapExecutor.js:196:      await this._device.connect();
HapExecutor.js:216:        this._previousSessionKeys = await this._executeCommand(pairVerify);
HapExecutor.js:233:        await this._device.disconnect();
AccessoryDatabase.js:81:    accessoryDatabase = await loadFromFile(filePath);
AccessoryDatabase.js:94:    await device.connect();
AccessoryDatabase.js:95:    accessoryDatabase = await generateAccessoryDatabase(device);
AccessoryDatabase.js:99:    await device.connect();
AccessoryDatabase.js:101:    accessoryDatabase.services = await generateServices(device);
AccessoryDatabase.js:107:    await accessoryDatabase.save();
AccessoryDatabase.js:143:  const hapServices = await generateServices(device);
AccessoryDatabase.js:168:  const cids = await discoverCharacteristicIDs(allCharacteristics);
AccessoryDatabase.js:169:  const characteristics = await discoverCharacteristicMetadata(device, cids);
AccessoryDatabase.js:170:  const metadata = await discoverServiceMetadata(device, cids);
AccessoryDatabase.js:218:      const instanceIdDescriptor = await discoverInstanceIDDescriptor(c.characteristic);
AccessoryDatabase.js:225:        cid: await readDescriptor(instanceIdDescriptor),
AccessoryDatabase.js:281:    const signature = await device.run(r);
AccessoryDatabase.js:303:    const signature = await device.run(op).catch((err) => console.log(err));
HapBleDevice.js:69:      await this._connect();
HapBleDevice.js:70:      await this._sleep(100);
HapBleDevice.js:78:    await this._discoverServicesAndCharacteristics();
HapBleDevice.js:108:    await this._disconnect();

Maybe there is more to do ;)
i.e. here:
HapBleDevice.js:78:    await this._discoverServicesAndCharacteristics();
Please add the same here: .catch((err) => console.log(err));

@jcvangent What "Eve Energy" do you have exactly, so I can test, when the tree is away (maybe sunday)?

There is only one no?
https://www.evehome.com/en/eve-energy
Using the latest firmware.

@palasinio yes it is listed as unpaired. I unpaired it as per the instruction in the manual.
This is the output
root@unifipi:/opt/node/lib/node_modules/homebridge-ranger/src/hap# grep -rnw -e 'await' HapBleDevice.js:69:      await this._connect(); HapBleDevice.js:70:      await this._sleep(100); HapBleDevice.js:78:    await this._discoverServicesAndCharacteristics(); HapBleDevice.js:108:    await this._disconnect(); HapExecutor.js:35:      await this._establishSecureConnection(); HapExecutor.js:36:      const result = await this._executeCommand(cmd); HapExecutor.js:59:      await this._device.write(c, encryptedPacket); HapExecutor.js:62:      let rxPacket = await this._device.read(c); HapExecutor.js:68:        rxPacket = await this._device.read(c); HapExecutor.js:174:      newConnection = await this._connectToBleDevice(); HapExecutor.js:175:      isConnected = await this._establishSessionSecurity(); HapExecutor.js:196:      await this._device.connect(); HapExecutor.js:216:        this._previousSessionKeys = await this._executeCommand(pairVerify); HapExecutor.js:233:        await this._device.disconnect(); HapCharacteristicAccessor.js:23:      const result = await this._executor.run(request); HapCharacteristicAccessor.js:44:      const result = await this._executor.run(request); AccessoryDatabase.js:81:    accessoryDatabase = await loadFromFile(filePath); AccessoryDatabase.js:94:    await device.connect(); AccessoryDatabase.js:95:    accessoryDatabase = await generateAccessoryDatabase(device); AccessoryDatabase.js:99:    await device.connect(); AccessoryDatabase.js:101:    accessoryDatabase.services = await generateServices(device); AccessoryDatabase.js:107:    await accessoryDatabase.save(); AccessoryDatabase.js:143:  const hapServices = await generateServices(device); AccessoryDatabase.js:168:  const cids = await discoverCharacteristicIDs(allCharacteristics); AccessoryDatabase.js:169:  const characteristics = await discoverCharacteristicMetadata(device, cids); AccessoryDatabase.js:170:  const metadata = await discoverServiceMetadata(device, cids); AccessoryDatabase.js:218:      const instanceIdDescriptor = await discoverInstanceIDDescriptor(c.characteristic); AccessoryDatabase.js:225:        cid: await readDescriptor(instanceIdDescriptor), AccessoryDatabase.js:281:    const signature = await device.run(r); AccessoryDatabase.js:301:    //const signature = await device.run(op); AccessoryDatabase.js:302:    const signature = await device.run(op).catch((err) => console.log(err));
So only this line:
HapBleDevice.js:69:      await this._connect();
Should be changed to:
await this._connect().catch((err) => console.log(err));
?

When I do that, I get the following:
Jan 03 22:08:10 unifipi homebridge[8298]: (node:8298) UnhandledPromiseRejectionWarning: Error: noble failed to establish a BLE connection to Eve Energy Jan 03 22:08:10 unifipi homebridge[8298]:     at HapBleDevice.connect (/opt/node-v9.10.0-linux-armv7l/lib/node_modules/homebridge-ranger/src/hap/HapBleDevice.js:75:13) Jan 03 22:08:10 unifipi homebridge[8298]:     at <anonymous> Jan 03 22:08:10 unifipi homebridge[8298]: (node:8298) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) Jan 03 22:08:10 unifipi homebridge[8298]: (node:8298) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. Jan 03 22:08:14 unifipi homebridge[8298]: [2019-1-3 22:08:14] [Ranger] Reported reachability for Eve Energy: true

Give it a try; there are 4 lines in this file - as far I can see 69, 70, 78 and 108?
After unpairing check if the hardwareaddress is the same.

Okay done all of them, moved my Raspberry Pi closer to the Eve Energy to make the paring go easier.
The first time it showed me the error messages, but it ended up pairing by the looks of it, it shows up in my Eve app. Then I added the Thermo as well in the config, it worked and showed up in the Eve app.
I can see both devices in the "ranger" directory of my config.
However, both devices are not controllable via the Eve app and show up as unreachable in the home app. The error I can read in the Eve is is "The bridged accessory is not reachable. Make sure Wi-Fi is enabled and try again." << which sounds a bit weird since there is no Wi-Fi in the Eve devices.

Hm, so both devices are paired now and show up in the Eve app?
That’s a big step forward, I think.
Can you control the devices if you have only one in the config?
Ranger is not really fast. Do you have a RaspberryPi Zero?
Maybe you have to play with the advanced parameters in the config (reachabilityTimeout).

Indeed already a big step forward!
Using a Raspberry Pi 3 model B+ here and already added the following to the config:

"reachability": "true",

    "reachabilityTimeout": "120000",
     "rssi": "false"

To make it deal with the timeouts etc. Only one device doesn't let me control it either.

Do you get „pair verify request“ in the log? Can you see Ranger talking with your device?
I saw, that the RPI bluetooth device is not the most reliable one and sometimes needs to be reset.

I just restarted homebridge to see what happens on start, this is the logfile:

Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] Loading 1 platforms...
Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] [Ranger] Initializing Ranger platform...
Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] [Ranger] Ranger Platform Plugin Loaded
Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] [Ranger] Found device in config: "Eve Energy"
Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] [Ranger] Waiting for accessory: Eve Energy
Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] [Ranger] Not all accessories have their devices. Not publishing yet.
Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] [Ranger] DidFinishLaunching
Jan 04 15:07:28 unifipi homebridge[14578]: [2019-1-4 15:07:28] [Ranger] Starting to scan for BLE HomeKit accessories
Jan 04 15:07:31 unifipi homebridge[14578]: [2019-1-4 15:07:31] [Ranger] Found paired accessory Eve address=XX:XX:XX:XX:XX:XX rssi=-41dB
Jan 04 15:07:32 unifipi homebridge[14578]: [2019-1-4 15:07:32] [Ranger] Found paired accessory Eve Energy XXXX address=XX:XX:XX:XX:XX:XX rssi=-91dB
Jan 04 15:07:32 unifipi homebridge[14578]: [2019-1-4 15:07:32] [Ranger] Accessory 'Eve Energy ' found.
Jan 04 15:07:32 unifipi homebridge[14578]: [2019-1-4 15:07:32] [Ranger] Connecting to Eve Energy
Jan 04 15:07:32 unifipi homebridge[14578]: [2019-1-4 15:07:32] [Ranger] Scanning stopped externally. Restarting in 2s.
Jan 04 15:07:34 unifipi homebridge[14578]: [2019-1-4 15:07:34] [Ranger] Discovered services.
Jan 04 15:07:36 unifipi homebridge[14578]: [2019-1-4 15:07:36] [Ranger] Discovered GATT services and characteristics of Eve Energy Fridge Kitchen
Jan 04 15:07:36 unifipi homebridge[14578]: [2019-1-4 15:07:36] [Ranger] Connected to Eve Energy
Jan 04 15:07:36 unifipi homebridge[14578]: [2019-1-4 15:07:36] [Ranger] Failed to retrieve characteristic Manufacturer for accessory information.
Jan 04 15:07:36 unifipi homebridge[14578]: [2019-1-4 15:07:36] [Ranger] Failed to retrieve characteristic Model for accessory information.
Jan 04 15:07:36 unifipi homebridge[14578]: [2019-1-4 15:07:36] [Ranger] Failed to retrieve characteristic Name for accessory information.
Jan 04 15:07:37 unifipi homebridge[14578]: [2019-1-4 15:07:37] [Ranger] Failed to retrieve characteristic Serial Number for accessory information.
Jan 04 15:07:37 unifipi homebridge[14578]: [2019-1-4 15:07:37] [Ranger] Failed to retrieve characteristic Firmware Revision for accessory information.
Jan 04 15:07:37 unifipi homebridge[14578]: [2019-1-4 15:07:37] [Ranger] Failed to retrieve characteristic Hardware Revision for accessory information.
Jan 04 15:07:37 unifipi homebridge[14578]: [2019-1-4 15:07:37] [Ranger] Publishing BLE service E863F007-079E-48FF-8F27-9C2605A29F52 via proxy
Jan 04 15:07:38 unifipi homebridge[14578]: [2019-1-4 15:07:38] [Ranger] Publishing BLE service 00000047-0000-1000-8000-0026BB765291 via proxy
Jan 04 15:07:38 unifipi homebridge[14578]: [2019-1-4 15:07:38] [Ranger] Initializing platform accessory 'Eve Energy'...
====
====
====
====
Jan 04 15:07:38 unifipi homebridge[14578]: [2019-1-4 15:07:38] Homebridge is running on port 52827.
Jan 04 15:08:15 unifipi homebridge[14578]: [2019-1-4 15:08:15] [Ranger] Disconnected from Eve Energy
Jan 04 15:08:17 unifipi homebridge[14578]: [2019-1-4 15:08:17] [Ranger] Eve Energy: rrsi=-92dB
Jan 04 15:08:20 unifipi homebridge[14578]: [2019-1-4 15:08:20] [Ranger] Reported reachability for Eve Energy: true
Jan 04 15:08:20 unifipi homebridge[14578]: [2019-1-4 15:08:20] [Ranger] Connecting to Eve Energy
Jan 04 15:08:23 unifipi homebridge[14578]: [2019-1-4 15:08:23] [Ranger] Scanning stopped externally. Restarting in 2s.
Jan 04 15:08:23 unifipi homebridge[14578]: [2019-1-4 15:08:23] [Ranger] Discovered services.
Jan 04 15:08:24 unifipi homebridge[14578]: [2019-1-4 15:08:24] [Ranger] Discovered GATT services and characteristics of Eve Energy Fridge Kitchen
Jan 04 15:08:24 unifipi homebridge[14578]: [2019-1-4 15:08:24] [Ranger] Connected to Eve Energy
Jan 04 15:08:24 unifipi homebridge[14578]: [2019-1-4 15:08:24] [Ranger] Connected to Eve Energy
Jan 04 15:08:55 unifipi homebridge[14578]: [2019-1-4 15:08:55] [Ranger] Disconnected from Eve Energy
Jan 04 15:09:03 unifipi homebridge[14578]: [2019-1-4 15:09:03] [Ranger] Eve Energy: rrsi=-92dB
Jan 04 15:09:04 unifipi homebridge[14578]: [2019-1-4 15:09:04] [Ranger] Eve Energy: rrsi=-90dB

And then it just continous forever with that last line.
The RPI Bluetooth device is the one on my raspberry pi? How can I reset that one?

https://raspberry-projects.com/pi/pi-operating-systems/raspbian/bluetooth/bluetooth-commands
Strange, there is nothing about pairing. I don‘t know, why yours behaves different to mine.
If you empty the devices part in the Ranger config, are your two devices shown as paired?
I‘ll try to connect an Energy the next days. My Thermo is still working with Ranger.
Btw, how did you get the latest commits? With the @master option?
I wonder, why @grover  stopped working on these things(?).

You mean remove from the /var/lib/homebridge/ranger directory? Will try that in the morning and let you know.
I downloaded the zip from the "clone or download" link on the top here > https://github.com/grover/homebridge-ranger, downloaded the zip. Replaced the directory in /opt/node/lib/node_modules/homebridge-ranger/src
Maybe @grover doesn't have a need for them anymore?

I meant:
{
  "platform": "Ranger",
  **"devices": []**
}

Ah yeah:

Jan 04 20:12:11 unifipi homebridge[29012]: [2019-1-4 20:12:11] [Ranger] Found paired accessory Eve Thermo 4DB4 address=XX:XX:XX:XX:XX:XX rssi=-58dB
Jan 04 20:12:11 unifipi homebridge[29012]: [2019-1-4 20:12:11] [Ranger] Found paired accessory Eve address=XX:XX:XX:XX:XX:XX rssi=-103dB

probably because they are also still in that ranger directory, let me remove them from there as well

Nope, even if I remove them from the /var/lib/homebridge/ranger directory AND from the config.json they still show up as paired.

I hope, you still have the files from the Ranger directory.  These are containing the pairing information.
I didn‘t really noticed this information from you:

„However, both devices are not controllable via the Eve app and show up as unreachable in the home app. The error I can read in the Eve is is "The bridged accessory is not reachable. Make sure Wi-Fi is enabled and try again." << which sounds a bit weird since there is no Wi-Fi in the Eve devices.“

That means, your homebridge is not reachable from your iPhone - for whatever reason.
WiFi is not weird, because your PI talks Bluetooth to the Eve devices, while the home app or Eve app are talking via WiFi with homebridge.
Maybe using https://www.npmjs.com/package/homebridge-config-ui-x is a good option, because this can help to discover if Ranger works or not and if it’s maybe a problem between your iPhone and homebridge and you can see if homebridge is really running or not.

Yeah I just moved them temporarily to a different directory no worries ;-)
The only way I connect to my Raspberry Pi is using WiFi so that would seem strange to me. But checking out the https://www.npmjs.com/package/homebridge-config-ui-x  now

I installed https://www.npmjs.com/package/homebridge-config-ui-x and everything seem to be working fine:

I also moved my Raspberry Pi and my AppleTV both to static ip addresses in my router config as per suggestion somewhere as well.
So that is not really the issue I think.

Hey guys,
I've just pushed version 0.3.3 - I hope this does fix the problem you're hunting here. Let me know, I've got a bit of time to work on this the next few days.
Thanks,
Michael

@grover I see that the workaround you made looks a bit different than the changes we manually made right now here.
What would be the best way to test and install the changes you made?
Just a "npm install -g -unsafe-perm homebridge-ranger@latest -g"
Maybe I should first create a backup of the current directory with all the files?

Given that you‘ve had issues previously:

Create backups
Install the latest ranger and try again

Please note that I‘m still hunting an issue where ranger sort of locks up, e.g. devices appear to work, but do not update and do not respond to scenes or manual changes in a HomeKit app. I‘ve resorted to restarting my Raspberry Pi Zero W, where this occurs, nightly.
I started rewriting the bluetooth and HAP code to a better design that I‘ve used in my flower-power plugin, but that‘ll take a bit longer to publish.

WOuld it make sense when you start to rewrite the currrent code base for me to still test this update? The current solution is working for me with the workaround others found in this thread here and I'm currently not on site for a at least another week (so if someone goes wrong I can't reset my Eve Connect)

Ultimately that’s your decision.
The rewrite is rather large and I do not expect to be done with that before end of summer given other things I’m involved in.

Okay no worries will try to test it in the upcoming weeks then and good luck!

I just updated yesterday via config-ui-x and it works :). If seems to be much faster?
(Didn‘t Test any pairing /w the .33 version)

Good to hear, closing the issue.
Also nice that it feels faster, even though I haven’t changed anything in regards to that. 🙂

Thanks @grover - works with the v0.3.4
Mar 17 10:49:53 raspberrypi homebridge[24379]: [2019-3-17 10:49:53] [Ranger] Connecting to Eve Thermo XXX
Fresh install of pi, with homebridge
node v8.15.1
ranger v0.3.4
Homebridge : Version 0.4.46


the code is been detect by gmail acct now, can't log in

Hi @sandou78 ,
I've double checked and yes, unfortunately it's outdated now. I'll update the readme soon. Thank you for the heads up!

I found use puputeer stealth 2 4.5 it works .Give a try

Glad to hear that!


Remove support for Dynamic XML Data sources

The 2.4 updater states that

Existing Dynamic XML Data Sources can be edited and will continue to function until Symphony 2.7.0.

So we can remove the support for 2.7.0. ?
Or should we wait for a major release ?

If you think old-style Symphony then 2.7.0 is just fine.
If you think semver-style then you shouldn't wait but should still raise the version number to 3.0.0.

Safety's first then.


cannon-es.d.ts:359:36 - error TS2304: Cannot find name 'HTMLImageElement'.

Added cannon to project called ng3-cannon-template
npm i @angular-three/cannon@latest
npm i cannon-es
npm i -DE npx
npm i -DE @angular-three/schematics
npx ng generate @angular-three/schematics:cannon ng3-cannon-template
ng build results in the following error
Error: node_modules/cannon-es/dist/cannon-es.d.ts:359:36 - error TS2304: Cannot find name 'HTMLImageElement'.
359         setHeightsFromImage(image: HTMLImageElement, scale: Vec3): void;
Original project create using these commands
ng new ng3-cannon-template
cd ng3-cannon-template
npm i @angular-three/core@latest
npm install -E<EMAIL_ADDRESS>npm install -DE @types/three
resulting package.json
{
"name": "ng3-cannon-template",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test"
},
"private": true,
"dependencies": {
"@angular-three/cannon": "^4.3.0",
"@angular-three/core": "^4.3.0",
"@angular/animations": "~13.2.0",
"@angular/common": "~13.2.0",
"@angular/compiler": "~13.2.0",
"@angular/core": "~13.2.0",
"@angular/forms": "~13.2.0",
"@angular/platform-browser": "~13.2.0",
"@angular/platform-browser-dynamic": "~13.2.0",
"@angular/router": "~13.2.0",
"cannon-es": "^0.19.0",
"rxjs": "~7.5.0",
"three": "0.137.5",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~13.2.4",
"@angular-three/schematics": "4.3.0",
"@angular/cli": "~13.2.4",
"@angular/compiler-cli": "~13.2.0",
"@types/jasmine": "~3.10.0",
"@types/node": "^12.11.1",
"@types/three": "0.137.0",
"jasmine-core": "~4.0.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "~1.7.0",
"npx": "10.2.2",
"typescript": "~4.5.2"
}
}

You should be using:
ng add @angular-three/schematics
to add Angular Three to your project. Then to add cannon, just run the generator:
ng g @angular-three/schematics:cannon
You don't need to install cannon-es yourself. This is to minimize the possible conflicts between libraries' versions.


Block statement scope position resolver does not work properly when function parameters have not-null parents

Description:
Following is a sample test code
function sampleFunction([string, float, string] g) returns (function (string, [string, float, string]) returns (string)){
    return function (string x, [string, float, string] y) returns (string) {
       var [i, j, k] = y;
       var [l, m, n] = g;
       return x + i + j + k + l + m +
    };
}

After applying #20589 , parent nodes are assigned for function params. However, #20923 occurs because BlockStatementScopeResolver doesn't resolve scopes properly when variables in function parameters have not-null parents.
See the following screenshots. They shows the value of  treeVisitor.getSymbolEnv() in the isCursorBeforeNode method in BlockStatementScopeResolver class.

#20589 is not applied

#20589 is applied
Steps to reproduce:

Apply #20589
Debug BlockStatementScopeResolver using the sample test code above
Get the visible entries of the scope in the line no 5 of the above test code

Affected Versions:
V 1.1.4
OS, DB, other environment details and versions:
Related Issues (optional):
#20381 , #20923
Suggested Assignees (optional):
@nadeeshaan

@nadeeshaan  I just assigned you as it was suggested in the issue under Suggested Assignee.
Please assigned to correct person.

@dulajdilshan Could you please verify this with the current master?

@dulajdilshan Could you please verify this issue? Should be fixed with recent changes.

Closing as this is invalid


Websocket RPC and Pub/Sub

RPC specification
Publish/subscribe RPC methods as mixins
Closes lendingblock/order-book#14

We should come back and test more of the sad paths at some point.


cleaning up the read-only filesystem

Signed-off-by: Taylor Brown<EMAIL_ADDRESS>https://github.com/opencontainers/specs/issues/23

Thanks @jonboulle  both corrections addressed.  I added OS as a minor clarification for windows users/developers who do not refer to a root file-system.

The keys in the document have been updated in another PR for the root section.  Thanks.


Update NuGet to version 1.19.0

It looks like this project is not responsible for maintaining the version in NuGet however it lists it as a download source on the homepage.  Current version is showing 1.17.0 in NuGet but the website shows 1.19.0.  Can someone please update NuGet?

Did anyone contacted them and got an response?
Just in case, I contacted them also

Please update NuGet to the latest version 1.19.0.
See https://github.com/jquery-validation/jquery-validation/issues/2254


StringLocalizerFactory assumes that the default namespace is the same as the application name when resourcePath is specified

Steps:

Create an application named App1
Add .AddViewLocalization(options => options.ResourcesPath = "custom-dir") to Startup
Add a resource under custom-dir named Controllers.HomeController.resx and verify that the IHtmlLocalizer<HomeController> correctly works for App1.Controllers.HomeController.
Change the namespace for the controller to App2.Controllers.HomeController and see it fail to locate it.

Kinda obscure scenario I ran into when I tried copying the Controller from release verification to a different app.
Expected:
Perhaps an option to to specify the default namespace and for the resource to continue to be located.

I think it's duplicate or related to the issue #157

@ryanbrandenburg please see if this is a dup of the other bug.

This is a documented edge case.  If you're resource isn't in the main namespace for your project you must specify the entire namespace. So from your example Controllers.HomeController.resx would become App2.Controllers.HomeController.resx. We allow the base namespace to be left off the to prevent excessively long names or nested folders, but to prevent collisions you must specify the namespace of anything else.
How do you feel about that behavior? It's not my favorite thing, but I can't come up with any better solutions, so I'm open to input.

If you're resource isn't in the main namespace for your project you must specify the entire namespace.

I think in this case it was the inverse. The resource was in the base namespace, the controller (TType for IHtmlLocalizer<TType> ) wasn't. I think I might've spent less figuring out this issue if https://github.com/aspnet/Localization/issues/258 is addressed.

@ryanbrandenburg can you discuss with @DamianEdwards if necessary as well?

Sorry @pranavkm I was being confusing, I meant

If you're .cs file isn't in the main namespace for your project you must specify the entire namespace on the resource.

I talked with @DamianEdwards in person, he agrees with me that this is expected behavior.

Since nobody seems to be objecting I'll close this one out, feel free to re-open if there's new or missing info.


Hope to support less

I think it's already supported. You just install postcss-less.

That worked, and I'm truly thankful for your response.

I think it's already supported. You just install postcss-less.

That worked, and I'm truly thankful for your response.


Does not work with Google SMTP

Hi,
I have enabled SMTP on GMAIL and trying to use this code but getting this error while using the following API
http://localhost:3000/api/auth/register
Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials c4-c35345.73 - gsmtp

{
    "status": 0,
    "message": {
        "code": "EAUTH",
        "response": "535-5.7.8 Username and Password not accepted. Learn more at\n535 5.7.8  https://support.google.com/mail/?p=BadCredentials b29-c34543- gsmtp",
        "responseCode": 535,
        "command": "AUTH PLAIN"
    }
}

EMAIL_SMTP_HOST=smtp.gmail.com
EMAIL_SMTP_PORT=465
EMAIL_SMTP_USERNAME=tried both email id and only account name
EMAIL_SMTP_PASSWORD=password goes here
# true for 465, false for other ports
EMAIL_SMTP_SECURE=true

Any idea on how to fix this.

Hi @nitinmukesh I also had the same error a while ago.
I did a quick fix for it.
First make your account a secure account by turning on two factor authentication.
Then visit - https://myaccount.google.com/security?hl=en and check for app password.
Set your app password for mail service , device as custom and then use the password generated there here in EMAIL_SMTP_PASSWORD.
Then again run the app.
Hope that will work for you.


Add proper CPUID eax checking

This makes it possible to use the sse42, avx2 code paths on AMD processors

Description
Add a comprehensive description of proposed changes

Adds proper CPUID extension support checking which was previously done by guarding with a check for Intel CPUs. This allows AMD processors to use the sse42, avx2 code paths instead of the default sse2.

List associated issue number(s) if exist(s): #6 (for example)
Documentation PR (if needed): #1340 (for example)
Benchmarks PR (if needed): https://github.com/IntelPython/scikit-learn_bench/pull/155 (for example)

PR should start as a draft, then move to ready for review state after CI is passed and all applicable checkboxes are closed.
This approach ensures that reviewers don't spend extra time asking for regular requirements.
You can remove a checkbox as not applicable only if it doesn't relate to this PR in any way.
For example, PR with docs update doesn't require checkboxes for performance while PR with any change in actual code should have checkboxes and justify how this code change is expected to affect performance (or justification should be self-evident).
Checklist to comply with before moving PR from draft:
PR completeness and readability

[x] I have reviewed my changes thoroughly before submitting this pull request.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation to reflect the changes or created a separate PR with update and provided its number in the description, if necessary.
[ ] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
[ ] I have added a respective label(s) to PR if I have a permission for that.
[x] I have resolved any merge conflicts that might occur with the base branch.

Testing

[ ] I have run it locally and tested the changes extensively.
[ ] All CI jobs are green or I have provided justification why they aren't.
[ ] I have extended testing suite if new functionality was introduced in this PR.

Performance

[ ] I have measured performance for affected algorithms using scikit-learn_bench and provided at least summary table with measured data, if performance change is expected.
[ ] I have provided justification why performance has changed or why changes are not expected.
[ ] I have provided justification why quality metrics have changed or why changes are not expected.
[ ] I have extended benchmarking suite and provided corresponding scikit-learn_bench PR if new measurable functionality was introduced in this PR.

Thanks for the review @icfaust


TAC Evolution Plan

Please share any additional details on this topic
Presentation of a plan to evolve the TAC
Detail what actions or feedback you would like from the TAC
Feedback
How much time do you need for this topic?
At least 30 minutes

Latest plan version, which will be presented.
TAC Evolution Plan - 2024-03-07.pdf

Approved by TAC vote 3/12


Error?

When trying to run the plugin, getting this
Configuration file: /home/ninetailz/forbidden/blog/_config.yml
/home/ninetailz/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:121:in `require': /home/ninetailz/forbidden/blog/_plugins/responsive_image.rb:5: syntax error, unexpected '<' (SyntaxError)
<!DOCTYPE html>
 ^
/home/ninetailz/forbidden/blog/_plugins/responsive_image.rb:6: syntax error, unexpected '<'
<html lang="en" class="">
 ^
/home/ninetailz/forbidden/blog/_plugins/responsive_image.rb:6: syntax error, unexpected keyword_class, expecting end-of-input
<html lang="en" class="">
                     ^
        from /home/ninetailz/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:121:in `require'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/plugin_manager.rb:75:in `block (2 levels) in require_plugin_files'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/plugin_manager.rb:74:in `each'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/plugin_manager.rb:74:in `block in require_plugin_files'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/plugin_manager.rb:73:in `each'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/plugin_manager.rb:73:in `require_plugin_files'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/plugin_manager.rb:18:in `conscientious_require'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/site.rb:97:in `setup'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/site.rb:49:in `initialize'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:30:in `new'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:30:in `process'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/bin/jekyll:17:in `<top (required)>'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/bin/jekyll:23:in `load'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/bin/jekyll:23:in `<main>'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
        from /home/ninetailz/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'

please help.
Thanks,
Ninetailz

From that error, it looks like responsive_image.rbcontains some HTML?

Fixed this by using the gem, i think maybe i messed up caused i used wget to download that .rb file. I did have to reinstall rmagick to get this responsive gem working
Also i didn't know it should be listed as
gem:

jekyll/responsive-image

Please do update cause using the old way to list (jekyll-responsive_image) didn't work

That's strange, because the gem is called jekyll-responsive_image. I'm glad you got it working, anyway.

yea its strange and you have it listed in your website the same way to not the usual name..
BTW is there a way to specify specific width and height using {% responsive_image path: assets/2.jpg width: something height: something %}

I'm having the same problem with specifying the dependency. I used to just include the jekyll-response_image.rb file in my _includes to get around it.
If I specify
gems: [jekyll-response_image]
things don't work and I get the following error:
  Dependency Error: Yikes! It looks like you don't have jekyll-responsive_image or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- jekyll-responsive_image' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/!
However, if I specify
gems: [jekyll/responsive-image]
everything works.

In my case the message appears if I set:
gems: [jekyll/responsive-image]
It is solved changing this line in _config.rb to:
gems: [jekyll/responsive_image]
I've installed the plugin specifying it in my Gemfile:
source 'https://rubygems.org' gem 'jekyll', '3.1.6' gem 'jekyll-responsive_image'
The gem name is equal in both places.
I hope it helps someone.

In my case the message appears if I set:
gems: [jekyll/responsive-image]
It is solved changing this line in _config.rb to:
gems: [jekyll/responsive_image]
I've installed the plugin specifying it in my Gemfile:
gem 'jekyll-responsive_image'
The gem name is equal in both places.
I hope it helps someone.


Question about security.

I'm new to Rails and I don't understand how to use access_token.
When the user resets the password ( /auth/password/ ), the access_token parameter goes by the url, right? Is this safe? In the url anyone with malicious intent could get the access_token, change the user's password and enter the system, am I wrong?
In the case of the system I am developing, security is very important as it is a fintech that will deal with the user's money.
I'm sorry if this is a silly question, but I really don't understand and I'm afraid the security will fail.

They should have access to your email or the victim share the URL before using it somehow?  I don't think is an application security issue but if you come up with better ideas (like using magic codes) let me know.


Add Translate Service

Merge the Translate implementation into master to be included in the upcoming 0.8.0 release.

All contributors in this pull request have signed the contributor agreement.

So great to now have support for Translate API as part of gcloud-ruby!


Updated Strike

I tested Strike earlier in the year and found that it could scan a BIP21 QR, but did not recognize the lightning param.
Thanks manuela and verbiricha for pointing out this has now been updated to recognize the lightning param.

Maybe another section should be added if the wallet can parse bip21 URIs that are not scanned but opened with a button.
Strike supports parsing the lightning param when scanning but not when opening the URI through a button. I already reported this to strike, and the pushed a fix.


Cloud-based Apache JMeter Load Test from build task

we are running load test from VSTS build using Cloud-based Apache JMeter Load Test, but here for duration i can able to select value upto 300 sec only, i want to run test for 15mins. is that possible?

Could you please confirm, is this fix will be for my subscription/project only or is that for others also?

This will be applicable for all VSTS accounts

Hello, what is the maximum supported amount of JMeter Agents in VSTS ? In the task I can choose between 1 and 5, but if I customize the task I can specify even more. My question what is the maximum number I can specify ?

We support upto 25 agents per run and 50 concurrent agents per account.


Suggestion - limit to a single instance

When initially working with the program I didn't notice there was a tray icon.  At some point I noticed that I had three of them started.
You might want to consider popping open the existing instance rather than starting a new one.

Implemented in latest commit.


KYLIN-4657 dead-loop in org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork

Proposed changes
fix KYLIN-4657 dead-loop in org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork
https://issues.apache.org/jira/browse/KYLIN-4657
Types of changes
What types of changes does your code introduce to Kylin?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have create an issue on Kylin's jira, and have described the bug/feature there in detail
[x] Commit messages in my PR start with the related jira ID, like "KYLIN-0000 Make Kylin project open-source"
[x] Compiling and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] If this change need a document change, I will prepare another pr against the document branch
[ ] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at user@kylin or dev@kylin by explaining why you chose the solution you did and what alternatives you considered, etc...

Pull Request Test Coverage Report for Build 6190

0 of 7 (0.0%)  changed or added relevant lines in 1 file are covered.
6 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.006%) to 28.045%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
0
7
0.0%

Files with Coverage Reduction
New Missed Lines
%

engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
1
14.39%

tool/src/main/java/org/apache/kylin/tool/query/ProbabilityGenerator.java
1
83.33%

core-cube/src/main/java/org/apache/kylin/cube/cuboid/TreeCuboidScheduler.java
2
68.46%

core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
2
80.23%

Totals

Change from base Build 6183:
-0.006%

Covered Lines:
26243

Relevant Lines:
93573

💛  - Coveralls


Buttons should not contain interactive content

Describe the new a11y feature or project enhancement
A <button> tag should not contain interactive content.
Describe the solution you'd like
Following an approach similar to what is done for the <a> tag, show an error message when interactive content is present as a descendant of a button.
Link(s)

W3C Specification for <button>
MDN Docs: <button>
MDN docs: list of interactive content

Love this! Do you have an idea of what elements should not go inside a <button>? I have a feeling it's going to be nearly exactly the same as <a>.

The list of elements is in the last link - MDN docs: list of interactive content:

Interactive content includes elements that are specifically designed for user interaction. Elements that belong to this category include: <a>, <button>, <details>, <embed>, <iframe>, <keygen>, <label>, <select>, and <textarea>.
Some elements belong to this category only under specific conditions:

<audio>, if the controls attribute is present
<img>, if the usemap attribute is present
<input>, if the type attribute is not in the hidden state
<menu>, if the type attribute is in the toolbar state
<object>, if the usemap attribute is present
<video>, if the controls attribute is present

I'd like to pick it up 🙂


Add service catalog support for IBM CIC

Add support for service catalog provisioning to IBM CIC

#31 only implemented the backend, but frontend support was added in #40.  Since this didn't completely land in Petrosian, I'm moving over to Quinteros.


Fix unhandled exceptions when invalid class indexes are entered with …

…RemoveFromClassCommand and AddToClassCommand, standardize error message for RemoveFromClassCommand and AddToClassCommand
resolves #212
resolves #173

Codecov Report

Merging #252 (8841994) into master (4ce819e) will decrease coverage by 1.71%.
The diff coverage is 14.28%.

@@             Coverage Diff              @@
##             master     #252      +/-   ##
============================================
- Coverage     59.66%   57.94%   -1.72%
- Complexity      677      680       +3
============================================
  Files           129      129
  Lines          2593     2675      +82
  Branches        309      327      +18
============================================
+ Hits           1547     1550       +3
- Misses          959     1038      +79
  Partials         87       87

Impacted Files
Coverage Δ

...ogic/commands/classcommands/AddToClassCommand.java
86.27% <0.00%> (ø)

...commands/classcommands/RemoveFromClassCommand.java
0.00% <ø> (ø)

...sscommandparsers/RemoveFromClassCommandParser.java
0.00% <0.00%> (ø)

...r/classcommandparsers/AddToClassCommandParser.java
91.66% <100.00%> (-0.93%)
:arrow_down:

...java/seedu/address/logic/commands/SortCommand.java
29.41% <0.00%> (-2.95%)
:arrow_down:

.../seedu/address/ui/timetabletab/TimetablePanel.java
0.00% <0.00%> (ø)

.../seedu/address/logic/commands/FindNameCommand.java
53.84% <0.00%> (+3.84%)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM