Some thoughts on constrained Delaunay triangulations

Need to implement constrained Delaunay triangulation at some point. The method here https://www.sciencedirect.com/science/article/pii/S0925772115000322?via%3Dihub would be good. Once this is implemented, de Berg's method will probably be removed.
Some thoughts:

The interface for this will be important. It is important to be able to support:

General vertices.
Specified edges. These are just edges that will appear in the triangulation, and could be e.g. a matrix where each column defines an edge. For example, E = [1 2 3; 4 5 6] defines the edges [1, 4], [2, 5], and [3, 6] that have to appear in the triangulation. Could also allow E = [[1, 4], [2, 5], [3, 6]] for the same thing.
Specified holes. Holes will be a list of vertices v such that v[begin] == v[end], listed in clockwise order. Holes will be special as all edges that are inside the hole are removed. How this is done is to be decided, but the adjacent map should make this relatively simple. Note that the clockwise order is important to be consistent with all triangles being counterclockwise.
A specification for the boundary. Need to somehow handle a boundary loop as being different to a hole, and to allow the boundary to simply be the convex hull. Will need to think about this a bit more. Maybe we simply have a rule that boundaries are given counterclockwise and holes clockwise, so that if no counterclockwise boundary is given then we default to the convex hull. This could be extended to allow for the triangulation of multiply-connected domains, where there are multiple exterior boundaries.

With this interface, we could define three methods:
triangulate(pts) # Unconstrained Delaunay
triangulate(pts, edges) # Constrained Delaunay, no holes (this is a planar straight line graph)
triangulate(pts, edges, loops) # Constrained Delaunay, with holes (this is a piecewise linear complex)

(Maybe a PSLG or PLC struct needs to be defined?)
The returned value for all of these could still be a Triangulation. Triangulation would be updated to be something like
struct Triangulation
    points
    adjacent
    adjacent2vertex
    graph
    edges # better named needed probably - this will just be the list of constrained edges, not all edges in the triangulation - edges(graph) serves that purpose
    loops
    boundary_nodes
end

(The boundary_nodes field is just something extra to store boundaries for both the exterior and for the interiors.)

With these new features, assigning a value to edges that have no associated triangle is more complicated. e.g. if (i, j) is a boundary edge, currently adj(i, j) = 0 so that (i, j) is a boundary edge and (i, j, 0) is a ghost triangle. When we have interior holes, this is more delicate. Perhaps if we have a set of loops loops = [v1, v2, v3] (say), then adj(i, j) = -1 if the edge is a part of v1, -2 if it is a part of v2, and -3 if it is a part of v3, and so on. (Note that this drops support for non-one-based-indexing.) This is probably the simplest choice, though we would need to adjust DefaultAdjacentValue to something other than -4 (de Berg being removed will free the indices -1, -2, -3.

Point location will also be more complicated. This is where I struggled the most with the development of the unconstrained code (so many corner cases...), so this will most likely require the most thought again.

My Gmsh code could be extended as a good way to test all this, providing the interfaces I give above for triangulate except for generate_mesh (except entirely in terms of loops, since the main point there is dealing with boundaries and holes).

Will probably have to sit on these ideas for a while before getting the time to complete it, and to just think about the interface in general. The point location work needs a lot of thought as mentioned.

My Gmsh code could be extended as a good way to test all this, providing the interfaces I give above for triangulate except for generate_mesh (except entirely in terms of loops, since the main point there is dealing with boundaries and holes).

This has now been done (not on this master yet, need to incorporate the interface). Just provide a vector of vector of vectors to provide a list of boundaries, with boundaries split by segments, and the first boundary is the outer-most boundary. Very simple to do. Will be a good test case for point location, etc.

Some progress for this is in https://github.com/DanielVandH/DelaunayTriangulationDev.jl, where I've also rewritten how the predicates are implemented (with each predicate returning a Certificate type defined via EnumX.jl). No constrained triangulation yet, but everything has been rewritten to remove some assumptions that will no longer be true with multiple boundaries (e.g. BoundaryIndex is the only boundary index). Will be ported over eventually, probably once the interface is fully finalised + constrained triangulation is added, aiming for a 1.0 release.

See #32 for some progress

Still thinking about this. https://github.com/DanielVandH/DelaunayTriangulation.jl/tree/convex-triangulation has some work on triangulation convex polygons, i.e. vertex deletion, which involves code that will later go into constrained triangulation. Just have to keep working on it so that I understand how it works in the presence of cocircular/collinear points.


BMP388 driver does not work with bus driver...

Bus driver code is not working
SPI read does not work

Resolved


Question: When is Set/Map not?

I am writing some type checking routines isSet and isMap among others. I have them using Object#toString when toStringTag is not available, .and when it is available then I'm using the size getter to perform a check. This is working nicely across realm and on all environments that I have tested on. I then threw es6-shim into the mix, which has now caused me some dilemma. On ES5 environments the shim is used, it walks, talks, eats, sleeps, and even farts like a Duck :) but it's DNA is not of a Duck, Object#toString is [object Object]. Ok, so the alternative method of using size says that it is a Duck, and I thought "that's ok then". But using this method without es6-shim then fails due to bugs in old FireFox where size is a function rather than a getter. So I'm wondering what thoughts are regarding type checkers and shims which implement a Duck in all but DNA. Should these checkers support es shims or should they count a shim as not a real Duck and say false. I'm not asking for code, just a perspective from shim makers as to whether isSet should return true for the Set shim in an ES5 environment or even a Set patch in an ES6 environment where the constructor has been replaced?

You can go one of two ways - either isSet only returns true for a set that has native behavior (which is impractical to determine in JS), or, assume that if Set exists, cache the Set.prototype.size getter and use that (an old Firefox Set is not actually a Set if "size" is a non-getter).

Thanks for that perspective, my head is still in dilemma about what to do about it, how much to check (is a buggy Set not a Set?). Seems likely that there is a need to drop Object#toString checking for Map and Set and be more duck-typed. Maybe sleeping on it will clear my view.

Yes, Object#toString is not reliable whatsoever in an environment with Symbol.toStringTag, so it's best to avoid it except as an optimization in older engines.

Yeah, I was only using it where toStringTag didn't exist, but it didn't exist in the buggy Firefox. So this begs the question of how much of an implementation to test before you say "this is a Set/Map", sure I could require that es6-shim is loaded, but unlike es5-shim (which I fully recommend/require) these shims still feel like they are in their infancy, and some even require true ES5 environments. It feels a bit of a "between a rock and a hard place" situation.

es6-shim should still be used on every engine since there are tons of bugs in all of them with their implementations.

Based on what you've said, I am going back over all my work to add it in. It's going to throw up some issues I'm sure. :)

The only really reliable mechanism is to compile a list of bugs on each platform, and test for them individually.  That happens to be exactly what es6-shim is doing -- it then loads a shim to fix those bugs when it detects them.
But there are certainly ES6 features which are unshimmable. Our goal is that correctly written ES6 code which uses only the shimmable subset of ES6 will run correctly on every platform.  If you use unshimmable features we can't make any guarantees.  (ToStringTag is an unshimmable feature.)

I'm currently moving away from toStringTag checks in all of my code, and adding es6-shim to all projects. Often it means implementing more costly code, but nothing that I'm working on needs to be so performant. :)

Closing this, I'm very happy that the shim implements Map and Set as per spec, and that my isMap and isSet are happy. I look forward to a new release that includes the MapIterator and SetIterator changes that are sitting in the master. Thanks.


Using the same protocol to connect to another server after disconnecting

When disconnecting from a server/Client, the protocol is used again to connect to another server/Client however the connection hangs and eventually "Connection closed." is received.
I'd prefer to keep the protocol open otherwise Mojang blocks my attempts to log in again due to spam-preventions. Is there a certain method or something I have overlooked?

Oops, wrong repo.


Added processing-java functionality

Added Processing functionality, this was designed and tested for use with mac-osx 10.11.5 El Capitan using Processing 0241 with up-to-date processing-java command in $PATH. I suspect that this should work on any mac that can run processing, but I have not tested on any other version. Unfortunately, I don't have access to a windows computer nor am I familiar with command prompt, so I was unable to implement windows functionality.

Hi, @samendez!
Please, add a README entry.
I'll try to check this on win machine tomorrow.

Yeap, works for me! Thanks for the PR!

🚢 in 3.8.3.


Fix issue 19986 - Can't assign large const T to std.Variant.VariantN

A solution should probably handle this case too:
import std.variant;
void foo()
{
    VariantN!32 v;
    v = const(S).init;
}

struct S
{
    ubyte[33] s;
}

A solution should probably handle this case too:
import std.variant;
void foo()
{
    VariantN!32 v;
    v = const(S).init;
}

struct S
{
    ubyte[33] s;
}

Okay, let me deal with it. Thank you for reminding me.

@John-Colvin, Help me see, is it feasible to solve this issue? Thank you!


Add retry to nncp check

While testing the move to OCP 4.14 the wait command was found to be
failing jobs as configuring nncp would drop OCP API access causing the
oc wait command to fail with [1].

Add retry that will survive network disruption.
Remove unneeded TODO

[1] Unable to connect to the server: dial tcp: lookup api.crc.testing on <IP_ADDRESS>:53: no such host
JIRA: OSPRH-3923

Successful run in test project with OCP 4.14: https://review.rdoproject.org/r/c/testproject/+/35121

recheck

recheck

recheck  install-yamls-crc-podified-edpm-baremetal

recheck

recheck


Logic App Run Failed - Set SiteExists variable

Check if SharePoint site exists > Set SiteExists variable:
InvalidTemplate. Unable to process template language expressions in action 'Set_SiteExists_variable' inputs at line '1' and column '3759': 'The template language function 'bool' was invoked with a parameter that is not valid. The value cannot be converted to the target type.'.

The expression is:
bool(body('Get_site_exists_job_output'))

@neimadpc please can you check the run history for the 'CheckSiteExists' runbook in Azure Automation.
If you see a 403 error there then you are missing a step from the deployment instructions which was just added yesterday.
This is the part where you register the Azure AD app as a SharePoint add-in.

@neimadpc please can you check the run history for the 'CheckSiteExists' runbook in Azure Automation.
If you see a 403 error there then you are missing a step from the deployment instructions which was just added yesterday.
This is the part where you register the Azure AD app as a SharePoint add-in.

Hi, the previous step completed, status 200.

Hello @alexc-MSFT
First of all thanks for publishing this app. The timing is very good with a project I am working on where this functionality will be welcomed!
I ran into a similar problem to the above where the SetSiteExists variable fails with the same error that @neimadpc saw. I did register the SharePoint Add-In so looking at the CheckSiteExists runbook mine is failing with the following:
An error occured: Cannot bind argument to parameter 'AppId' because it is null. + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
Can you please help point me in the direction where I need to set this missing ID? I've checked the logic app is calling the correct client ID and secret. Is there somewhere else the AppID needs to be set?

@neimadpc please can you check the run history for the 'CheckSiteExists' runbook in Azure Automation.
If you see a 403 error there then you are missing a step from the deployment instructions which was just added yesterday.
This is the part where you register the Azure AD app as a SharePoint add-in.

Hi, yes thanks. I saw it completed but missed the error:
An error occured: Token request failed. + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
I'll redo the SP add-on and try again. Not seeing a 403 error. Previous step "Get site exists job output" returned status 200.

@alexc-MSFT
My issue is resolved. I had to grab the secret from the variable in logic app and update the variable in the automation account, now it runs. I expect it's from having to run the deploy script a few times while resolving other issues initially. - thanks!

utomation accou

@neimadpc Can you please advise if you needed to make any adjustments to the AppClientId variable as well as the appSecret? Mine is showing $null as the value and I am guessing this may be the reason mine is still failing but I cannot set this variable value so I don't know where it gets the value.

utomation accou

@neimadpc Can you please advise if you needed to make any adjustments to the AppClientId variable as well as the appSecret? Mine is showing $null as the value and I am guessing this may be the reason mine is still failing but I cannot set this variable value so I don't know where it gets the value.

@LeeDrinkwater  I did not have to make any changes there.. but my app ID is populated in the automation account variable, appClientId.
Are you sure your app is created in Azure app registrations? if there, you can grab the app ID and populate the variable.

utomation accou
@neimadpc Can you please advise if you needed to make any adjustments to the AppClientId variable as well as the appSecret? Mine is showing $null as the value and I am guessing this may be the reason mine is still failing but I cannot set this variable value so I don't know where it gets the value.
@LeeDrinkwater  I did not have to make any changes there.. but my app ID is populated in the automation account variable, appClientId.
Are you sure your app is created in Azure app registrations? if there, you can grab the app ID and populate the variable.

No mine is fixed at $null and won't let me modify it. The app did register which I can see under app registrations with a clientID and secret. I've modified the powershell with a new variable for the clientID which now works but presents me with another issue with "failed to obtain token" so I am getting somewhere! There must have been an issue with the deployment of the Azure logic app so I might remove the resource group and re-create from the script once again.

@LeeDrinkwater I would re-run the script again. I'm not quite sure how the appClientId variable has been set to null, this is generated by the script when the app is created and the variable has set.
The only thing I can think is that there must have been an issue when the script was run.
That being said, you should be able to edit that variable.
If not, just delete the variable and create another with the same name. As long as the name is the same and the value contains the App Id then you should be ok.

@neimadpc please can you check the run history for the 'CheckSiteExists' runbook in Azure Automation.
If you see a 403 error there then you are missing a step from the deployment instructions which was just added yesterday.
This is the part where you register the Azure AD app as a SharePoint add-in.

Hi, yes thanks. I saw it completed but missed the error:
An error occured: Token request failed. + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
I'll redo the SP add-on and try again. Not seeing a 403 error. Previous step "Get site exists job output" returned status 200.

@alexc-MSFT
My issue is resolved. I had to grab the secret from the variable in logic app and update the variable in the automation account, now it runs. I expect it's from having to run the deploy script a few times while resolving other issues initially. - thanks!

Glad you got it sorted, there must have been an issue with the script execution.
@LeeDrinkwater I will keep this issue open for you but once solved I will close it out.

@LeeDrinkwater I would re-run the script again. I'm not quite sure how the appClientId variable has been set to null, this is generated by the script when the app is created and the variable has set.
The only thing I can think is that there must have been an issue when the script was run.
That being said, you should be able to edit that variable.
If not, just delete the variable and create another with the same name. As long as the name is the same and the value contains the App Id then you should be ok.

Ok the APP ID issue is resolved. I now have a token generation exception so have a few questions please to help understand what is going on: as the app is registered in Azure AD and has been trusted as a SharePoint Add-In:

The ServiceAccount was created and setup during script execution. Do I need to give this account any specific permissions apart from a Teams licence?

If I use the test pane within the CheckSiteExists runbook I am receiving "token request failed" error. Is this running under the credentials of the user logged into the Azure portal or the ServiceAccount?

There is an additional error within this runbook. Is it of any concern?
Exception calling "Substring" with "2" argument(s): "Length cannot be less than zero.
Parameter name: length"
At line:12 char:1

$tenantName = $siteUrl.Substring(0, $siteUrl.IndexOf(".")).Replace("h ...

  + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
  + FullyQualifiedErrorId : ArgumentOutOfRangeException

This is now resolved. Thanks for the assistance.

@LeeDrinkwater good to here the issue is resolved - I will close this now.


use png logo for readme

This pr changes the logo file used in README.md
from
images/orbit_db_logo_color.jpg
to
images/orbit_db_logo_color.png
Both files existed previously.
The purpose of this pr is to play nicer with the new Dark Theme appearance.
@aphelionz brought this issue/improvement up in the community chat.
Test out how it looks in the branches preview
https://github.com/tabcat/orbit-db/tree/png-logo

ty!


Fix CI setup

[ ] remove julia nightly
[ ] Downgrade is broken
[ ] docs missing
[ ] anything else?

I can look into this

Thanks!


Downgrade css-loader to 5.2.7 to fix font loading issues

As part of #400, css-loader was upgraded from ^5.2.6 to ^6.7.1. Something about this upgrade seems to have caused our PatternFly Fonts to fail to load.

Troubleshooting this with @ibolton336, I tried to curl one of the font files exposed by webpack-dev-server by copying its path from the browser dev tools network tab, and I found that its contents were not binary font data, but JS:
$ curl http://localhost:8080/101eb68a37edfa8a2f9a.woff
export default __webpack_public_path__ + "fonts/overpass-bold.woff";

This indicated that it was something about a loader change, and css-loader was the only webpack loader with a recent major version bump. Indeed, downgrading it seems to have solved the problem. I'm not certain I understand why, though... here are the breaking changes listed in the css-loader 6.0.0 release notes.

cc @gildub : do you think it's a problem to downgrade css-loader here? was there some specific reason to upgrade it as part of #400? I'd love to understand how we can fix the font loading with the newer css-loader but maybe we should downgrade first, not sure

@mturley, for the record following our brief discussion, the issue css-loader during PR#400 was more likely related to dependencies issue but I can't remember the details.
We effectively need to go to the bottom of this in the meantime of a downgrade.
Thanks for investigating.


Support config remote clusters' TLS settings for geo-replicator

This issue is similar to #10242
Is your feature request related to a problem? Please describe.
Currently the pulsarClient for geo-replicator using the local cluster's TLS configuration in broker.conf. If the remote cluster is using a different TLS certificate, the geo-replicator will fail to connect.
Describe the solution you'd like
Add TLS parameters for each remote cluster to ClusterData, when adding a remote cluster, the TLS settings of the cluster could be configured.

@sijie Should we use unify configuration from remote cluster for geo-replicator, and remove the former logic that using the local cluster's configuration? or there are other reasons for keeping former logic.

@linlinnn We need to keep the former logic for backward compatibility.


feat: 🎸 trigger alpha release

Description
Trigger an alpha release. Eliminate TQ had commits older than the released commits we merged in to update.
Also updates README node version from 10 to 14
Breaking Changes

JIRA Link

Checklist

[ ] Updated the Readme.md (if required) ?

closing to get a PR with the changelog added in incase that doesn't get publised


Is there a way to use the default theme from 2021?

I'm trying to fond a way to use the theme that - I think - Typedoc was using by default in 2021:
https://diderot.nightlycommit.com/
I think it looked very nice.
Is it available somewhere or is it lost forever?
(well, forever being until someone extract it from the repository and publish it of course)

Thank you so much. I'll have a look.


[storage-file-share] shareName/name fields for Share clients

Addresses #5568 for file-shares
This is a breaking change.
Changes:

Renamed shareName to name in ShareClient
added name fields to FileClient and Directory client that return only the basename portion of the file path
added basic tests
added doc strings to path, name, and shareName fields

It looks like ShareServiceClient has a few parameters named shareName since they are in the context of Share. Do you think it would be more consistent if they were renamed to name as well?

There are also a couple of params  named filePath in ShareFileClient do you think it is worth renaming them to path?

@joheredi I don't have a strong opinion either way, but for consistency's sake I checked what .NET does. They use shareName and filePath in parameters like we do, so I think we should leave them as they are for now.


Added a React/Webpack/Sass sample

Hey, thanks a lot!!
I will merge this in when I get out of work!
On a side note, I will be making a blog post soon about rolling your own server-side js solutions in .NET Core. It really isn't that hard, and I think too many people are depending on monolithic and opinionated frameworks (like Microsoft's JavaScriptServices and ReactJS.NET) to achieve something so simple.

Awesome. And I agree. Your solution works better/faster anyways.
Also, this is a somewhat more complicated example. This could be scaled back to a simpler one without redo or sass pretty easily. Also, after merging I can add some docs for it.

Also, this is a somewhat more complicated example.

Well, ya.  My argument is that anybody starting a new project with webpack/gulp/react, should understand the simplicity of this approach, and how easily you can make it work with anything, including angular, browserify, etc. There is a boilerplate if anybody doesn't understand both the simplicity and the complexity, but just wants to hit the ground running.


Bitmart PureMM Strategy: Market connectors are not ready.

Describe the bug
// A clear and concise description of what the bug is.
When trying to run the pure market making strategy on bitmart, it gives the following errors on the right panel:
pure_market_making - Markets are not ready. No market making trades are permitted.
When running the "status" command, I get the following:
Market connectors are not ready.
I am able to query my balance and get the correct balance on bitmart. I am also able to see "Yes" for both Keys Added and Keys confirmed when I run the "connect" command.
Steps To Reproduce
// A concise description of the steps to reproduce the buggy behavior:
Here are the steps to reproduce the issue (see attachments in the section below):

Set up your configuration file with these parameters ( See Screen shot)
https://discord.com/channels/530578568154054663/1015211243931455518/1015213454866522204
Just type in start
Type in status
...

Screenshots
// If applicable, add screenshots to help explain your problem.
Release version
// Include your bot's version number (Can be found at the upper left corner of your CLI).
Version: 1.7.0
Attachments
// Please attach your config file and log file to help us debug. It would be difficult for us to help you without those!
2022-09-02 12:50:19,275 - 5267 - hummingbot.connector.exchange.bitmart.bitmart_exchange.BitmartExchange - ERROR - Error parsing the trading pair rule {'symbol': 'MAKI_USDT', 'symbol_id': 1585, 'base_currency': 'MAKI', 'quote_currency': 'USDT', 'quote_increment': '0.01', 'base_min_size': '0.010000000000000000000000000000', 'price_min_precision': 1, 'price_max_precision': 4, 'expiration': 'NA', 'min_buy_amount': '5.000000000000000000000000000000', 'min_sell_amount': '5.000000000000000000000000000000', 'trade_status': 'trading'}. Skipping.
Traceback (most recent call last):
File "/root/hummingbot/hummingbot/connector/exchange/bitmart/bitmart_exchange.py", line 243, in _format_trading_rules
max_order_size=Decimal(str(rule["base_max_size"])),
KeyError: 'base_max_size'
2022-09-02 12:50:19,275 - 5267 - hummingbot.connector.exchange.bitmart.bitmart_exchange.BitmartExchange - ERROR - Error parsing the trading pair rule {'symbol': 'MRHB_USDT', 'symbol_id': 2295, 'base_currency': 'MRHB', 'quote_currency': 'USDT', 'quote_increment': '1', 'base_min_size': '1.000000000000000000000000000000', 'price_min_precision': 3, 'price_max_precision': 6, 'expiration': 'NA', 'min_buy_amount': '5.000000000000000000000000000000', 'min_sell_amount': '5.000000000000000000000000000000', 'trade_status': 'trading'}. Skipping.
Traceback (most recent call last):
File "/root/hummingbot/hummingbot/connector/exchange/bitmart/bitmart_exchange.py", line 243, in _format_trading_rules
max_order_size=Decimal(str(rule["base_max_size"])),
KeyError: 'base_max_size'
2022-09-02 12:50:19,545 - 5267 - hummingbot.core.data_type.order_book_tracker - INFO - Initialized order book for QLINDO-USDT. 1/1 completed.
2022-09-02 12:51:07,288 - 5267 - hummingbot.connector.exchange.bitmart.bitmart_api_user_stream_data_source.BitmartAPIUserStreamDataSource - ERROR - Unexpected error while listening to user stream. Retrying after 5 seconds...
Traceback (most recent call last):
File "/root/hummingbot/hummingbot/core/data_type/user_stream_tracker_data_source.py", line 48, in listen_for_user_stream
await self._process_websocket_messages(websocket_assistant=self._ws_assistant, queue=output)
File "/root/hummingbot/hummingbot/connector/exchange/bitmart/bitmart_api_user_stream_data_source.py", line 83, in _process_websocket_messages
async for ws_response in websocket_assistant.iter_messages():
File "/root/hummingbot/hummingbot/core/web_assistant/ws_assistant.py", line 69, in iter_messages
response = await self._connection.receive()
File "/root/hummingbot/hummingbot/core/web_assistant/connections/ws_connection.py", line 62, in receive
msg = await self._process_message(msg)
File "/root/hummingbot/hummingbot/core/web_assistant/connections/ws_connection.py", line 84, in _process_message
msg = await self._check_msg_types(msg)
File "/root/hummingbot/hummingbot/core/web_assistant/connections/ws_connection.py", line 89, in _check_msg_types
msg = await self._check_msg_closed_type(msg)
File "/root/hummingbot/hummingbot/core/web_assistant/connections/ws_connection.py", line 99, in _check_msg_closed_type
raise ConnectionError(
ConnectionError: The WS connection was closed unexpectedly. Close code = 1006 msg data: None
2022-09-02 12:51:12,695 - 5267 - hummingbot.connector.exchange.bitmart.bitmart_api_user_stream_data_source.BitmartAPIUserStreamDataSource - INFO - Subscribed to private account and orders channels...
2022-09-02 13:00:00,001 - 5267 - hummingbot.strategy.pure_market_making.pure_market_making - WARNING - Markets are not ready. No market making trades are permitted.
WARNING: Do NOT publish any exchange API keys or your wallet's private key. Whoever has access to them may steal your assets!
Optional: your discord username:

Experiencing the same lately, connecting to bitmart works, but at the end it says market connectors are not ready.
Even with version 0.46.0 the same issue.
Bitmart changed something?

BitMart removed the base_max_size field. I heard from their developers that this value has long been deprecated, so it was removed from OpenAPI.

As a temporary fix, replace all base_max_size with<PHONE_NUMBER>9999.

As a temporary fix, replace all base_max_size with<PHONE_NUMBER>9999.

Is this done via the code, and then recompile, or is there a setting on the HB CLI that we can do this?

Some additional information. All evidence points to what PeterCHK and CaufieldZ say:
From Log File:
File "/root/hummingbot/hummingbot/connector/exchange/bitmart/bitmart_exchange.py", line 243, in _format_trading_rules
max_order_size=Decimal(str(rule["base_max_size"])),
KeyError: 'base_max_size'

For anyone that has the same issue, I was able to get it running by doing the following:
On Ubuntu 18.04

Go to the file /hummingbot/hummingbot/connector/exchange/bitmart/bitmart_exchange.py
On line 243, change the following line:
max_order_size=Decimal(str(rule["base_max_size"]))
to
max_order_size=Decimal(999999999999999)
recompile by going to your ~/hummingbot directory, and run: ./compile
Start the hummingbot: ./bin/hummingbot.py

This ran without the error, and it was able to start my strategy.

@CaufieldZ yes, you can follow @ethereumnitrate's method of recompiling.
For me, I was using docker, I went inside the docker "docker exec -it <container_id> bash", then changed the max_order_size, using step 1 and 2 of what @ethereumnitrate proposed.
Then restarted the docker container. "docker restart <container_id>" and "docker attach <container_id>"

Thank you @ethereumnitrate and @PeterCHK. This fix works

@CaufieldZ yes, you can follow @ethereumnitrate's method of recompiling. For me, I was using docker, I went inside the docker "docker exec -it <container_id> bash", then changed the max_order_size, using step 1 and 2 of what @ethereumnitrate proposed. Then restarted the docker container. "docker restart <container_id>" and "docker attach <container_id>"

Can you tell me exactly, how you did it? Having a hard time here

@CaufieldZ yes, you can follow @ethereumnitrate's method of recompiling. For me, I was using docker, I went inside the docker "docker exec -it <container_id> bash", then changed the max_order_size, using step 1 and 2 of what @ethereumnitrate proposed. Then restarted the docker container. "docker restart <container_id>" and "docker attach <container_id>"

Can you tell me exactly, how you did it? Having a hard time here

How are you running HB? My solution is good if you're running from source and compiling.

Bounty
Sponsor: Firo
Bounty Amount: 200 USDT
Developer Payment: 160 USDT (80%)
Status: OPEN

hi there! can i take this one?

Yes, this bounty is assigned to @tomasgaudino. Please try to provide updates here on your progress

Thanks! I've just opened this PR: https://github.com/hummingbot/hummingbot/pull/6573
But I told fede not to merge yet because i only could make it work upgrading the endpoint from v1 to v2, and v4 is available. Next week I'll confirm is v4 is working

thanks, so fast!! supporting v4 may not be in scope for this bounty, as
long as it solves issue. we'll ask bounty sponsor to test this PR
On Thu, Sep 21, 2023, 10:05 AM Tomás Gaudino @.***>
wrote:

Thanks! I've just opened this PR: #6573
https://github.com/hummingbot/hummingbot/pull/6573
But I told fede not to merge yet because i only could make it work
upgrading the endpoint from v1 to v2, and v4 is available. Next week I'll
confirm is v4 is working
—
Reply to this email directly, view it on GitHub
https://github.com/hummingbot/hummingbot/issues/5660#issuecomment-1728658591,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANWHVTWZ2PCCNM736MBSNTX3OOHFANCNFSM6AAAAAAQDILKAM
.
You are receiving this because you commented.Message ID:
@.***>

ok then! one important aspect to consider before merging is that using v2 forces the connector to replace client order id with exchange order id, and fede told me that the best practice is to keep the client one. as soon we solve that i'll provide updates 🦾

Closing this bounty as paid.
Fix available on latest development and release 1.20.0


feat: Prepare for Deno 2.0 migrations (use no deprecated APIs)

Prepares for migration to Deno 2.0
Changes
Deno.isatty(*.rid) -> Deno.*.isTerminal()
clicolor(*.rid) -> clicolor(*)
I also removed the isatty test and removed isatty fom $_internals.
I also replaced --unstable flag with --unstable-ffi and --unstable-fs.

It'll require us to use latest Deno (>=1.40). I'm not sure whether this migration is worth changing minimum required Deno version. @mxcl what do you think?

It's a duplicate of #953 ig


Enforcer code migration

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


Flex integration

There is a bit of a catch-22 with the CI, as it uses the boilerplate repo to compile and test the app on all supported targets.
However, stable branches of boilerplate will not support Flex until Ragger is updated. So Ragger cannot compile it for Flex, and its tests fail...

FWIW, tests are working locally.

Apart from the CI which cannot work until Flex Boilerplate is merged, I think everything is up-to-date for Flex and all comments resolved.

@lpascal-ledger What if I merge https://github.com/LedgerHQ/app-boilerplate/pull/115 and add the tests for flex later? Would that allow to merge this one without CI failure?

It's equivalent in term of CI. Is 115 ready still?
I'm bored of this PR, I would prefer merging it quickly.

It's equivalent in term of CI.

I'm not sure to get what we need to have this CI green if https://github.com/LedgerHQ/app-boilerplate/pull/115 is not enough?

Is 115 ready still?

That depends of what we want in it.
If it is just a UI and tests improvement yes.
If it is Flex porting, then only the tests adaptation (and snapshots) are missing. But they won't be there until this ragger PR is merged... (or we can add them but not enable Flex in the manifest while this ragger Pr is not merged).

If it is Flex porting, then only the tests adaptation (and snapshots) are missing. But they won't be there until this ragger PR is merged... (or we can add them but not enable Flex in the manifest while this ragger Pr is not merged).

I thought this PR was meant to contain the Flex porting. That's why I said it was equivalent: either we merge this PR with red CI, or we merge Boilerplate Flex porting with a red CI.
But in fact either way we will have a red CI somewhere : as Ragger compiles Boilerplate through the reusable workflow, targets are compiled according to the ledger_app.toml manifest. Until Boilerplate has the Flex target in the manifest, this PR will stay red.

What could be done is:

merging 155 with flex in ledger_app.toml but the CI do not run tests on flex (it's possible with run_for_devices on the reusable_ragger_tests workflow).
updating this PR accordingly

Codecov Report
Attention: Patch coverage is 96.51163% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 79.84%. Comparing base (d037ee6) to head (c206c1f).
Report is 15 commits behind head on master.

Files
Patch %
Lines

src/ragger/gui/interface.py
0.00%
2 Missing :warning:

src/ragger/navigator/navigation_scenario.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #174      +/-   ##
==========================================
- Coverage   80.22%   79.84%   -0.39%
==========================================
  Files          34       36       +2
  Lines        1704     1771      +67
==========================================
+ Hits         1367     1414      +47
- Misses        337      357      +20

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


Move assignment issue

I found some of the class has the following code:
	Framebuffer(Framebuffer&& rhs) noexcept { swap(*this, rhs); }
	Framebuffer& operator=(Framebuffer rhs) noexcept {
		swap(*this, rhs);
		return *this;
	}

It looks like the operator = should be a move assignment, and should be coded as:
	Framebuffer& operator=(Framebuffer&& rhs) noexcept {
		swap(*this, rhs);
		return *this;
	}

I am not sure why swap a local var would do the job, am I mistake something?

Also the move constructor should be:
Framebuffer(Framebuffer&& rhs) noexcept {
    swap(*this, rhs);
    rhs.release();
}


On Kafka， Two Consumer at the same group still get the same message.

I just use spring cloud stream to produce a message and two consumer in the same group.
When I produce a message，two consumer receive the same message in the same time.
What should I do to config that two consumer in the same group which only on can consume the message.
such like this
# Consumer's1
GenericMessage [payload=123, headers={kafka_offset=3, kafka_messageKey=null, kafka_topic=text1, kafka_partitionId=1, kafka_nextOffset=4, contentType=text/plain}]
# Consumer's2
GenericMessage [payload=123, headers={kafka_offset=3, kafka_messageKey=null, kafka_topic=text1, kafka_partitionId=1, kafka_nextOffset=4, contentType=text/plain}]

Producer's properties
spring:
  application:
    name: producer
  cloud:
     instance-count: 1
     instance-index: 0
     kafka:
        binder:
          brokers: localhost:9092
          zk-nodes: localhost:2181
          auto-add-partitions: true
          auto-create-topics: true
          min-partition-count: 2
     stream:
        bindings:
          output:
            destination: text1
            content-type: text/plain
            auto-add-partitions: true
            producer:
              partitionCount: 4
              partitioned: true

Consumer's 1 properties
spring:
  application:
    name: treadmill-analytics
  cloud:
     instance-count: 1
     instance-index: 0
     kafka:
        binder:
          brokers: localhost:9092
          zk-nodes: localhost:2181
          auto-add-partitions: true
          auto-create-topics: true
          min-partition-count: 1
          offsetUpdateCount: true
     stream:
        bindings:
          input:
            destination: text1
            group: s2
            consumer:
#              autoCommitOffset: false
              concurrency: 1
              partitioned: true
server:
  port: 8082

Consumer's 2 properties
spring:
  application:
    name: treadmill-analytics
  cloud:
     instance-count: 1
     instance-index: 0
     kafka:
        binder:
          brokers: localhost:9092
          zk-nodes: localhost:2181
          auto-add-partitions: true
          auto-create-topics: true
          min-partition-count: 1
          offsetUpdateCount: true
     stream:
        bindings:
          input:
            destination: text1
            group: s2
            consumer:
#              autoCommitOffset: false
              concurrency: 1
              partitioned: true
server:
  port: 8081

What you are describing shouldn't be possible.
Can you provide INFO level logs? The listener container reports which partitions are allocated to it.

I just ran a test with your configuration and saw this...
Consumer1:

2017-10-31 15:54:30.283  INFO 31612 --- [           -C-1] o.s.c.s.b.k.KafkaMessageChannelBinder$3  : partitions assigned:[text1-3, text1-2, text1-1, text1-0]
foo from partition 3 at offset 8
foo from partition 3 at offset 9
...
foo from partition 2 at offset 16
foo from partition 1 at offset 16
foo from partition 3 at offset 16
2017-10-31 15:54:57.328  INFO 31612 --- [           -C-1] o.a.k.c.c.internals.ConsumerCoordinator  : Revoking previously assigned partitions [text1-3, text1-2, text1-1, text1-0] for group s2
2017-10-31 15:54:58.210  INFO 31612 --- [           -C-1] o.s.c.s.b.k.KafkaMessageChannelBinder$3  : partitions revoked:[text1-3, text1-2, text1-1, text1-0]
2017-10-31 15:54:58.210  INFO 31612 --- [           -C-1] o.a.k.c.c.internals.AbstractCoordinator  : (Re-)joining group s2
2017-10-31 15:54:58.213  INFO 31612 --- [           -C-1] o.a.k.c.c.internals.AbstractCoordinator  : Successfully joined group s2 with generation 8
2017-10-31 15:54:58.213  INFO 31612 --- [           -C-1] o.a.k.c.c.internals.ConsumerCoordinator  : Setting newly assigned partitions [text1-1, text1-0] for group s2
2017-10-31 15:54:58.216  INFO 31612 --- [           -C-1] o.s.c.s.b.k.KafkaMessageChannelBinder$3  : partitions assigned:[text1-1, text1-0]
foo from partition 0 at offset 16
foo from partition 1 at offset 17

Consumer 2:

2017-10-31 15:54:58.221  INFO 31639 --- [           -C-1] o.s.c.s.b.k.KafkaMessageChannelBinder$3  : partitions assigned:[text1-3, text1-2]
foo from partition 2 at offset 17
...

i.e. all as expected.

Could u send me your test code？

Producer:
@SpringBootApplication
@EnableBinding(Source.class)
public class Kbgh1117Application {

	public static void main(String[] args) {
		SpringApplication.run(Kbgh1117Application.class, args);
	}

	@InboundChannelAdapter(channel = Source.OUTPUT, poller = @Poller(fixedDelay = "5000"))
	public String out() {
		return "foo";
	}

}

spring:
  application:
    name: producer
  cloud:
     instance-count: 1
     instance-index: 0
     kafka:
        binder:
          brokers: localhost:9092
          zk-nodes: localhost:2181
          auto-add-partitions: true
          auto-create-topics: true
          min-partition-count: 2
     stream:
        bindings:
          output:
            destination: text1
            content-type: text/plain
            producer:
              partitionCount: 4
              partitioned: true

Consumer:
@SpringBootApplication
@EnableBinding(Sink.class)
public class Kbgh11171Application {

	public static void main(String[] args) {
		SpringApplication.run(Kbgh11171Application.class, args);
	}

	@StreamListener(Sink.INPUT)
	public void in(String in, @Header(KafkaHeaders.RECEIVED_PARTITION_ID) int partition,
			@Header(KafkaHeaders.OFFSET) long offset) {
		System.out.println(in +  " from partition " + partition + " at offset " + offset);
	}

}

spring:
  application:
    name: treadmill-analytics
  cloud:
     instance-count: 1
     instance-index: 0
     kafka:
        binder:
          brokers: localhost:9092
          zk-nodes: localhost:2181
          auto-add-partitions: true
          auto-create-topics: true
          min-partition-count: 1
          offsetUpdateCount: true
     stream:
        bindings:
          input:
            destination: text1
            group: s2
            consumer:
#              autoCommitOffset: false
              concurrency: 1
              partitioned: true
server:
  port: 8082

I ran two instances of the consumer (after changing the server port).

I believe this has been addressed with comments form @garyrussell , so I am closing it. If you still believe you have an issue, please report it separately or re-open this one.


if the logs directory doesn't exist, it will throw ex instead of create directory

var transports = [];
transports.push(new winston.transports.DailyRotateFile({
  name: 'file',
  datePattern: '.yyyy-MM-ddTHH',
  filename: path.join(__dirname, "logs", "log_file.log")
}));

var logger = new winston.Logger({transports: transports});

logger.info("current scheduled_mt_task count");

If the subdirectory /logs doesn't exist, it will throw exception like can't open file logs/log_file.log20150213XXX ,
I think winston should automatic create the sub directory instead of asking users to manually create it.

I think it should be up to the dev to make sure that their environment is properly provisioned.
also, related to pr #581 and issue #511

I vote for an option for this. By default the log directory shouldn't be created, but with an option like createDirectory set to true, it would be really convenient if Winston created said directory.

+1

Agree with @ambbell here. It is up to the consumer of winston to ensure that their logs directory exists.

+1
Other logging tools such as NLog for .NET and SLF4J for Java are able to create the folder on the fly. Also, why does Winston fails if it cannot write the log? Why an entire application should fail just because it is not able to log?

Will you accept a PR for @PierLucGagnon's suggestion? About createDirectory option? I find current behavior very inconvenient and (as mentioned by @guillegr123) inconsistent with how other logging frameworks work, so it contradicts with user expectations.

@indexzero But why? When you say something like "I think", you need to provide reasoning for this, no? My reason to have this option is because usually logs directory is not under version control, and will not be created when cloning a repo - boom you have an error when trying to run it. I am not even talking about automatically deployed environments.

// Ensure logs directory is created fs.mkdir('./logs', (err) => { /* no-op */ })


MPHydro driver

RPi3: [pH (i2c-T3)] //[EC (i2c-T3)] //[Pt100] //[3chrelay (pump1, pump2, doser)]
USB: [USB cam]
Nano: BME280 (i2c pins A4,A5) //TSL2561 (i2c pins A4,A5) //SHT10 (pins 10,11) //2x flowsens (pins 2,3) //float sensor (pin 8)
Output format (with sampled readings):
Water level: LOW          //NOTE: either says "LOW" or "GOOD/HIGH"
Pump 1: 0 L/h
Pump 2: 0 L/h
Ambient Light (TSL2561): 40.00 lux
Air Temperature (BME280): 22.55 *C
Air Pressure (BME280): 997.09 hPa
Altitude (BME280): 135.64 m
Relative Humidity (BME280): 38.36 %
Bed Temperature (SHT10): 23.1999969482 *C / 73.8319931030 *F
Bed Humidity (SHT10): 45.27 %

Updated output format:
Water Level (float): LOW
Flow Rate Pump 1: 0 L/h
Flow Rate Pump 2: 0 L/h
Water Level Sensor (eTape) Signal: 480
Water Level Sensor (eTape) Reference: 488
Ambient Light (TSL2561): 20.00 lux
Air Temperature (BME280): 20.77 *C
Air Pressure (BME280): 1004.31 hPa
Altitude (BME280): 74.70 m
Relative Humidity (BME280): 47.67 %
Bed Temperature (SHT10): 20.1800003051 *C
Bed Humidity (SHT10): 53.49 %
NOTE: "Water Level (float)" outputs either "LOW" or "GOOD/HIGH"
NOTE: for eTape level reading, subtract the eTape sensor value from the reference value (e.g. 488-480=8)


message: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

I follow the documentation in the pub.dev but i get this error :

code :

Hi,
Maybe you can show full traceback where is stated which url gives 404?

I tested in postman is work fine

This not a traceback.

I think the package work only https not http

Same as odoo app. You have to provide correct proto. It wont follow redirects.


Hover effect added on all buttons

Fixes Issue #155
Closes #155
Changes proposed
Hover effect added on all buttons in homepage.

@AvineshTripathi Take a look 👍

/lgtm


"The checker shouldn't produce errors on unannotated files"

(That is: It might produce warnings, which could fail analysis in "strict mode." But "lenient mode" should succeed.)
This is a principle we've discussed a couple times (link, link). From the second link:

I think this should follow directly from the fact that @NullUnspec as we define it communicates zero semantic nullness information. So if a checker fails for some reason, it cannot be due to information it got from our annotations, because there was no such information.

However: While a file might not be annotated, it might use APIs from other files that are. For example, assuming that Optional is annotated:
[@DefaultNullnessUnspecified]
class Foo {
  void bar() {
    Optional.of(null); // error, presumably?
  }
}

That's "only" implementation code. Still, it's worth keeping in mind that we may have a cleanup to do before we can enable implementation checking universally.
Alternatively, we could consider making the checker skip @DefaultNullnessUnspecified APIs -- or just demote errors to warnings? But probably we'd want to roll out the checking gradually instead.
That all seems fine, hopefully? Just something that I'd overlooked initially.

It occurs to me that checkers can find errors even in code that's entirely reasonable:
map.get(foo).dereferenceIt();

With plain jspecify annotations, that is very likely to be an error.
I still think that's fine. It's just a reminder to us at Google (and perhaps other organizations) that turning on naive null checking everywhere would require a ton of suppressions to avoid breaking builds.

.... hence why there are those that are lobbying to let Map.get return
unspecified nullness :). [ this is one reason for doing that anyway ]

With plain jspecify annotations, that is very likely to be an error.

I believe the intention was to leave it up to checkers to decide what to
do?  I didn't think we would specify this to be an error for sure, or am I
missing something?
Nonetheless the point is certainly valid that there will be places where
annotations would suggest errors in unannotated code, and this will present
challenges for tools.  One response, of course, being not to do anything by
default until the file itself is annotated.

Sorry, yes, I continue to say "error" as shorthand for "type mismatch if the only information available to you is that from jspecify annotations," but I should stop doing that.
And sorry, this whole issue is more about adoption of tools than it is about our annotations per se. I just wanted to make sure we were aware that rolling out universal nullness checking will produce such "mismatches" in unannotated code, and in fact it's likely to be common. Even if we use a tool that has smarts for Map.get specifically, this same problem is bound to arise frequently (as I believe you've said we've seen with Android SDK upgrades :))
Maybe I should just close this issue, since I think we all agree on the facts. (Maybe we always did; I just thought I once detected an undercurrent to the contrary.) Given that, the issue is serving mainly as a forum for me to put my foot in my mouth :)

@kevin1e100 , @netdpb , and I had discussed this a bit last week, coming to similar conclusions as above:

Only implementation code can break. (Reasoning: Annotations on APIs can't be wrong if the APIs are unannotated :) In contrast, implementations can be broken because they can dereference @Nullable return types, etc.)
Fixes for broken implementation code can be made locally (without having to also update your own callers). (At the least, you have the option to suppress the warning, leaving your signature untouched. Other times, you might add a null check or something. Sometimes you will want to change your signature, but you don't need to immediately.)

But I did just realize that there is an edge case in which APIs could break:
@NullAware
interface Super1 {
  List<String> foo();
}

@NullAware
interface Super2 {
  List<@Nullable String> foo();
}

interface Sub extends Super1, Super2 {}

Tools could defensibly produce an error for Sub, since it inherits incompatible signatures for foo(). This is true even though:

It is unannotated code.
It doesn't even declare the problematic method directly.

I would imagine that this case is very rare. And it should come up only when someone adds @Nullable to a type in the supertype -- a change that is already potentially a breaking change and thus one that should be tested accordingly. So this may all be academic.


feat add waiIconLabel to enable aria-label on widget with expand button

AT-1388

I have reviewed your PR, and have created the waiIconLabel branch on my fork which contains the following changes:

adds support for the SelectBox widget

shares some common code for the widgets impacted

updates the test to include the SelectBox widget

You can see the diff here

Code review finished. 37e6a29 will be merged. Thanks @simonarbuckle to have finished the code of the PR.

@fbasso you're welcome


Using a wrong outputs definition in porter.yaml, doesn't provide en error

In my example I was not specifying the jsonPath using correct case (I used jsonpath as opposed to jsonPath):
      outputs:
        - name: "WEBAPI_ID"
          jsonpath: "$.properties.outputs.webapi_id.value"

This resulted in the mixin to run without an error, but not picking up the output.
I think the desired outcome should be an error on parsing porter.yaml while running the mixin. Thoughts?

Ah, thanks for filing.  It would definitely be good to bubble up errors of this nature.  It could perhaps happen during linting or maybe at runtime (I'll have to refresh my memory as to if one of path/jsonPath/regex is mandatory... if so, we could error when none is supplied -- as I believe would be the case if the key is incorrect/unknown.)  Maybe a linter check would be the best...

I ran into this same problem, took me a few minutes to figure out what was going on.

I think we need to refresh the schema.json file for the az mixin, and then validate against it during lint. Then when you use VSCode you will get the proper autocomplete and porter build/lint will fail when you typo the outputs.


Table Reimplementation

Step I of table reimplementation [#174718188] (#869)
Table Step II: In-place editing of table title and column headers [#175746781] (#870)
Table Step III: Implement input row for entering new data [#175766133] (#871)
Table UI IV: Implement Add Column and Remove Row buttons [#175773902] (#872)
Table UI V: UI tweaks (#873)
Table UI VI: Edit expression dialog [#175786227] (#874)
Re-implement SingleStringDialog in terms of new useCustomModal() (#875)
Implement  to replace blueprint.js  (#876)
Table improvements (#878) Table default title (#879)
Table changes written to content (#880)
Store and display expressions for columns [#175786227] (#884)
Improve cell selection and add column/remove row icon visibility issues [#175959558][#175959577] (#885)
Editing and expression handling improvements (#886)
Enable column selection/removal [#175786362] (#887)
New table UI supports linking multi-column tables to geometry tiles [#175768081] (#897)
Synchronize selection between table and geometry tiles [#176582684] (#898)
Miscellaneous table-related bug-fixes (#901)
Update dependencies (#902)
Support graph/geometry title [#174765909] (#905)

Merged without review as the constituent PRs had all been reviewed previously.


Adding endpoint to download local log files for each component

Adding endpoint to download local log files for each component for controller/broker/server/minion.

Codecov Report

Merging #9259 (f1079d3) into master (e6c2f5b) will decrease coverage by 54.63%.
The diff coverage is 3.38%.

@@              Coverage Diff              @@
##             master    #9259       +/-   ##
=============================================
- Coverage     69.96%   15.33%   -54.64%
+ Complexity     4689      170     -4519
=============================================
  Files          1859     1809       -50
  Lines         99120    96996     -2124
  Branches      15075    14832      -243
=============================================
- Hits          69353    14877    -54476
- Misses        24862    80989    +56127
+ Partials       4905     1130     -3775

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
15.33% <3.38%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

.../pinot/broker/api/resources/PinotBrokerLogger.java
0.00% <0.00%> (ø)

...rg/apache/pinot/common/utils/LoggerFileServer.java
0.00% <0.00%> (ø)

...ontroller/api/resources/PinotControllerLogger.java
0.00% <0.00%> (ø)

...apache/pinot/minion/MinionAdminApiApplication.java
0.00% <0.00%> (-87.18%)
:arrow_down:

.../pinot/minion/api/resources/PinotMinionLogger.java
0.00% <0.00%> (ø)

...va/org/apache/pinot/spi/utils/CommonConstants.java
0.00% <ø> (-27.70%)
:arrow_down:

...pinot/broker/broker/BrokerAdminApiApplication.java
83.92% <33.33%> (-6.64%)
:arrow_down:

...apache/pinot/controller/BaseControllerStarter.java
78.52% <33.33%> (-4.45%)
:arrow_down:

...src/main/java/org/apache/pinot/sql/FilterKind.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ain/java/org/apache/pinot/core/data/table/Key.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1410 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Openning encrypted realm created using NOT iOS Realm SDK

I want to use pre-filled encrypted realm db in my iOS Application. I tried to put it in Bundle and then to read it. It works well if I will use NOT encrypted realm DB, but if I use encrypted app can't open realm.
I tried to create pre-filled encrypted realm db using my own Mac app and using node.js sdk. In both cases iOS app can't open and decrypt realm. Without encryption everything works perfect.
If then I will try to open this realm file using Realm browser everything will open! I am sure that realm is encrypted, because Realm Browser asks me for the key. I entered it and it works.
What is interesting is that encrypted realm is easily can be read by simulator but not the real device.
Goals
To make Swift Realm working with encrypted realm files created using not iOS sdk.
Actual Results
Error Domain=io.realm Code=2 "Unable to open a realm at path '/var/containers/Bundle/Application/73CBF3CD-1E1E-4C7B-85E3-607D20217DCC/app-app.app/config.realm': Realm file decryption failed." UserInfo={Error Code=2, NSFilePath=/var/containers/Bundle/Application/73CBF3CD-1E1E-4C7B-85E3-607D20217DCC/app-app.app/config.realm, Underlying=Realm file decryption failed, NSLocalizedDescription=Unable to open a realm at path '/var/containers/Bundle/Application/73CBF3CD-1E1E-4C7B-85E3-607D20217DCC/app-app.app/config.realm': Realm file decryption failed.}
Code Sample
let encryptionConfig = Realm.Configuration(
            fileURL: pathToRealmInBundle,
            encryptionKey: encryptionKey,
            readOnly: true,
            objectTypes: [
                ...
            ]
        )
        guard let realm = try? Realm(configuration: encryptionConfig) else {
            print("Fail")
            return nil
        }

Version of Realm and Tooling
Realm framework version: 3.0.2
Xcode version: Version 9.1 (9B55)
iOS/OSX version:
iPhone 6 iOS 11.1.2
Dependency manager + version:
Pod 1.3.1

@GrigoryUlanov It seems that the 1encryptionKey1 parameter is not specified in 1encryptionConfig`. Is the code you shared correct?

@kishikawakatsumi, thank you!
I forgot to include it here.
I have updated the question.
But I had a mistake only in issue description. In code everything was correct, but still not working

@kishikawakatsumi, @jpsim

@kishikawakatsumi, @jpsim
Hello!
Do you have any ideas. I will be really glad if you will help me with this.
I spend today a whole  day looking for a solution. But without results. All code with encryption works on simulator but not works on real devices.
I only understand that it fails inside group.hpp while calling open func inside inline Group::Group(const std::string& file, const char* key, OpenMode mode)

I'm sure it should be a bug inside the ios realm (

@GrigoryUlanov We cannot reproduce the issue. Can you share the reproduction case? If you'd like to keep private your code, please send it to<EMAIL_ADDRESS>

@mikeartfay
Unfortunately, I haven't found a solution. I've decided to encrypt realm myself without the realm api.

From https://github.com/realm/realm-core/issues/3040:
Encrypted Realm files are not platform independent. The data is encrypted in chunk sizes equal to the platform's page size, and currently there's no way to read or write files with a different chunk size.


TST: fix from_shapely test for numpy 1.20

Small mistake I did in https://github.com/pygeos/pygeos/pull/269

This works now

This works now


make interfaces public

Codecov Report

Merging #602 into master will decrease coverage by 1.27%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #602      +/-   ##
=========================================
- Coverage   45.68%   44.4%   -1.28%
=========================================
  Files         189     186       -3
  Lines       16836   16570     -266
=========================================
- Hits         7691    7358     -333
- Misses       9145    9212      +67

Impacted Files
Coverage Δ

chain-impl-mockchain/src/leadership/mod.rs
0% <ø> (ø)
:arrow_up:

chain-storage/src/store.rs
0% <0%> (-91.55%)
:arrow_down:

chain-impl-mockchain/src/block/builder.rs
0% <0%> (-69.87%)
:arrow_down:

chain-impl-mockchain/src/block/mod.rs
68.57% <0%> (-14.29%)
:arrow_down:

chain-impl-mockchain/src/key.rs
47.56% <0%> (-7.32%)
:arrow_down:

chain-impl-mockchain/src/block/version.rs
29.16% <0%> (-6.26%)
:arrow_down:

chain-impl-mockchain/src/block/header.rs
77% <0%> (-4.5%)
:arrow_down:

chain-impl-mockchain/src/date.rs
63.15% <0%> (-3.95%)
:arrow_down:

...tocol-tokio/src/network_transport/response_code.rs
60.6% <0%> (ø)
:arrow_up:

chain-impl-mockchain/src/block/headerraw.rs
100% <0%> (ø)
:arrow_up:

... and 5 more

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 8e1c3a9...6cfbfae. Read the comment docs.


The control command does not work

the control command have  been set to a constant, such as: agent_action=(15,0)
and the AgentInterface is AgentType.LanerWithSpeed;
but ego vehicle's speed is change. at some time the ego speed = 6~7

@guanjiayi thank you for the question and sorry for the late reply. For the AgentType.LanerWithSpeed the speed is intended to be on straightaways. When taking turns the controller tends to interpret that intention which may result in a lower speed.
The main case where this would happen is on turns.

Thank you for your feedback! The problem was found during the test two days ago.


Can't login

Uncaught ReferenceError: regeneratorRuntime is not defined on login action

Issue due to usage of async/await. FIX with https://github.com/MAIF/daikoku/commit/a3b8b1d32fa27961b0f1e8430bd6c73b90417c42


Feature/expand with dst

Require https://github.com/vesoft-inc/nebula-storage/pull/468
See detail in #1017
The variable expand is disabled now, this maybe need new mechanism in another independent PR.

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


Expose a status endpoint

It might be useful to figure out if there's something up with the publisher. I haven't been seeing any updates in the last 15 hours and I thought (also according to https://github.com/Microsoft/types-publisher#manually-running) that it was on a webhook. It doesn't have to be much, but it might help people (like me now) figure out if we should log an issue or wait.
For instance, here's the one from Typings: http://api.typings.org/status.

I guess there's https://github.com/Microsoft/types-publisher/issues/40


Does not work in Cupertino apps

Attempting to use WoltModalSheet in a Cupertino app results in an error like the following:
The following assertion was thrown building WoltBottomSheetDragHandle(dirty, dependencies: [_LocalizationsScope-[GlobalKey#bacba]]):
No MaterialLocalizations found.

WoltBottomSheetDragHandle widgets require MaterialLocalizations to be provided by a Localizations widget ancestor.
The material library uses Localizations to generate messages, labels, and abbreviations.

To introduce a MaterialLocalizations, either use a MaterialApp at the root of your application to include them automatically, or add a Localization widget with a MaterialLocalizations delegate.

The specific widget that could not find a MaterialLocalizations ancestor was: WoltBottomSheetDragHandle
    dirty
    dependencies: [_LocalizationsScope-[GlobalKey#bacba]]
The ancestors of this widget were
    CupertinoTabScaffold
        dependencies: [CupertinoUserInterfaceLevel, MediaQuery, UnmanagedRestorationScope, _InheritedCupertinoTheme]
        state: _CupertinoTabScaffoldState#40ad1
    HomePage
        dependencies: [_CupertinoTabPageStateProvider]
    CupertinoApp
        dependencies: [MediaQuery]
        state: _CupertinoAppState#0015d

It seems that the modal requires MaterialLocalizations to be provided by a Localizations widget whereas a Cupertino app has a CupertinoLocalizations instance provided by Localizations.

This issue is still present AFAIK.

Hey @paldepind, can you try Remi's suggestion from here and let us know if it helps?

Sorry, I'm using a different package now that works with Cupertino.
If you're not interested in supporting Cupertino for this package I would suggest simply stating this in the readme :)

@paldepind We released 0.3.0 with instructions on how to use CupertinoApp within the ReadMe file. This is the https://github.com/woltapp/wolt_modal_sheet/pull/120 merged.


Override _createVis variable instead of createVis

The shortest PR ever.
Related to https://github.com/CartoDB/support/issues/1959

Let's keep searching for a shorter one (for example with a missing "point", cause '.' < '_' 😄 )


When i keep MPAndroid PieChart in FrameLayout after swipe half chart going out of screen

In PaperOnboardingEngine.java implemented PieChart to show in each screen swipe. Once i press right swipe PieChart going bottom of screen and only half chart is showing. Please help to fix this issue.
protected ViewGroup createContentTextView(PaperOnboardingPage PaperOnboardingPage) {
LayoutInflater vi = LayoutInflater.from(mAppContext);
ViewGroup contentTextView = (ViewGroup) vi.inflate(R.layout.onboarding_text_content_layout, mContentTextContainer, false);
...
pieChart = (PieChart) contentTextView.getChildAt(1);
pieChart.setRotationEnabled(false);
pieChart.setUsePercentValues(true);
..
..
}

Hello, @eswaraaa. To resolve this issue you may download the examples from this repository and
put your PieChart there. The reason of this issue is probably in your implementation.

Hi golovin47,
Thanks for your quick response. Issue is occurring only when i keep PieChart in screen.   I implemented piechart in this xml layout layout.onboarding_text_content_layout
and referring it here:
PaperOnboardingEngine.java
protected ViewGroup createContentTextView(PaperOnboardingPage PaperOnboardingPage) {
LayoutInflater vi = LayoutInflater.from(mAppContext);
ViewGroup contentTextView = (ViewGroup) vi.inflate(R.layout.onboarding_text_content_layout, mContentTextContainer, false);
...
pieChart = (PieChart) contentTextView.getChildAt(1);
pieChart.setRotationEnabled(false);
pieChart.setUsePercentValues(true);
..
..
}
should i need to include any extra code in any place or in ViewGroup 4 animate content text createContentCenteringVerticalAnimation method
// 4 animate content text
ViewGroup newContentText = createContentTextView(newElement);
mContentTextContainer.addView(newContentText);
AnimatorSet contentTextShowAnimation = createContentTextShowAnimation(
mContentTextContainer.getChildAt(mContentTextContainer.getChildCount() - 2), newContentText);

Hello, @eswaraaa. To resolve this issue you may download the examples from this repository and
put your PieChart there. The reason of this issue is probably in your implementation.

Hi golovin47,
Thanks for your quick response. I already integrated your code to my project. Issue is occurring only when i keep PieChart in screen. I implemented piechart in this xml layout layout.onboarding_text_content_layout
and referring it here:
PaperOnboardingEngine.java
protected ViewGroup createContentTextView(PaperOnboardingPage PaperOnboardingPage) {
LayoutInflater vi = LayoutInflater.from(mAppContext);
ViewGroup contentTextView = (ViewGroup) vi.inflate(R.layout.onboarding_text_content_layout, mContentTextContainer, false);
...
pieChart = (PieChart) contentTextView.getChildAt(1);
pieChart.setRotationEnabled(false);
pieChart.setUsePercentValues(true);
..
..
}
should i need to include any extra code in any place or in ViewGroup 4 animate content text createContentCenteringVerticalAnimation method
// 4 animate content text
ViewGroup newContentText = createContentTextView(newElement);
mContentTextContainer.addView(newContentText);
AnimatorSet contentTextShowAnimation = createContentTextShowAnimation(
mContentTextContainer.getChildAt(mContentTextContainer.getChildCount() - 2), newContentText);

Try to play around with CONTENT_TEXT_POS_DELTA_Y_DP in this line in createContentCenteringVerticalAnimation method:
int positionDeltaPx = dpToPixels(CONTENT_TEXT_POS_DELTA_Y_DP)


several improvements in configs

Thanks for great work. These are several changes i made.
i) added config argument for training and evaluation
training and evaluation command then would be like this:
- python train_mlnmt.py --config config.py
- python evaluate_models.py --config config.py --model-dir ...
ii) added 'exclude_embs' argument in config to freeze embeddings while training
iii) splitted seq_len into src_seq_len and tgt_seq_len

@JayParks thanks a lot for this clean PR, merging.


DEB update always requires systemctl daemon-reload

Most DEB packages that provide a background service can be updated without reloading the systemd service unit definitions, but I've had to run sudo systemctl daemon-reload every time I updated ziti-edge-tunnel the last few releases, at least. Seems to indicate that the definition file(s) are being detected as changed for some reason. I don't believe that we're intentionally changing those files with every release, and there may be some nuance in systemd that we need to be aware of to smooth out the upgrade process.

I installed the test DEB build from main after the PR merged to run-as user ziti. It was necessary to reload the systemd unit definition, probably because it changed to declare the new user and capability directives.


Better Error Log

[ ] throw error if a variable field is not found.
[ ] throw error if timeUnit is used with non-T type.

duplicate #12


Confusing note on exclude option in tool.ruff.format?

I was checking the various options for tool.ruff.format and in particular I wanted to add additional exclusions to the formatter (in addition to the exclusions in tool.ruff.
The documentation of this option can be found at: https://docs.astral.sh/ruff/settings/#format-exclude
The documentation correctly says

A list of file patterns to exclude from formatting in addition to the files excluded globally.

I had two doubts about this:

The use of the keyword exclude instead of extend-exclude might make you think that this list is not "additive" / on top of the global one. (changing this would be a kind of breaking change though and the current behaviour is documented)
The doc within the tool.ruff.format section of exclude says:

Note that you'll typically want to use extend-exclude to modify the excluded paths.

However, no such option is available for the formatter so one might confuse the tool.ruff.format.exclude behavior with the behaviour of the global tool.ruff.exclude (which is not additive). This text seems to be a copy-paste from the global exclude option documentation

Moved to the relevant discussion: https://github.com/astral-sh/ruff/discussions/7310#discussioncomment-7410341


Can't see device on Home app

Describe The Bug:

Can't see device on Home app even though I can see it and fully control from Homebridge app.
To Reproduce:

Install plugin
Enter config details
Restart HB
Open Home app

Expected behavior:

See the Aircon on the app
Logs:
[7/11/2022, 10:58:34 AM] [HB Supervisor] Starting Homebridge with extra flags: -I
[7/11/2022, 10:58:34 AM] [HB Supervisor] Started Homebridge v1.5.0 with PID: 75254
[7/11/2022, 10:58:34 AM] Loaded config.json with 0 accessories and 3 platforms.
[7/11/2022, 10:58:35 AM] Loaded 1 cached accessories from cachedAccessories.
[7/11/2022, 10:58:35 AM] ---
npm WARN config global `--global`, `--local` are deprecated.  XXXX
[7/11/2022, 10:58:39 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:35"}
[7/11/2022, 10:58:42 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:38"}
[7/11/2022, 10:58:45 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:41"}
[7/11/2022, 10:58:48 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:44"}
[7/11/2022, 10:58:51 AM] [Gree AC] [502cc681905f -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:47"}
[7/11/2022, 10:58:54 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:50"}
[7/11/2022, 10:58:57 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:53"}
[7/11/2022, 10:59:00 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:56"}
[7/11/2022, 10:59:03 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:58:59"}
[7/11/2022, 10:59:06 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:59:02"}
[7/11/2022, 10:59:09 AM] [Gree AC] Scan finished.
[7/11/2022, 10:59:09 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:59:05"}
[7/11/2022, 10:59:12 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:59:08"}
[7/11/2022, 10:59:15 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:59:11"}
[7/11/2022, 10:59:18 AM] [Gree AC] [XXX -- <IP_ADDRESS>:7000] Update Status: {"Pow":1,"Mod":4,"SetTem":21,"TemSen":61,"TemUn":0,"TemRec":1,"WdSpd":0,"SwingLfRig":0,"SwUpDn":0,"Blo":0,"Lig":1,"Quiet":0,"Tur":0,"HeatCoolType":0,"SvSt":0,"SwhSlp":0,"time":"2022-07-11 10:59:14"}

Plugin Config:
{
    "bridge": {
        "name": "Homebridge 13BD",
        "username": "XXX",
        "port": 51350,
        "pin": "XXX",
        "advertiser": "ciao", // also tried Bonjour, no luck.
        "bind": [
            "en0"
        ]
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "form",
            "theme": "dark-mode",
            "tempUnits": "c",
            "lang": "auto",
            "platform": "config"
        },
        {
            "options": {
                "username"<EMAIL_ADDRESS>                "password": "XXX,
                "accessId": "XXX",
                "accessKey": "XXX",
                "lang": "en",
                "projectType": "2",
                "appSchema": "smartlife",
                "countryCode": "XX",
                "debug": false
            },
            "name": "TuyaPlatform",
            "platform": "TuyaPlatform",
            "_bridge": {
                "username": "XXX",
                "port": 57816
            }
        },
        {
            "name": "Gree AC",
            "language": "en",
            "port": 7002,
            "scanAddress": "<IP_ADDRESS>",
            "defaultValue": {
                "statusUpdateInterval": 3,
                "sensorOffset": 40,
                "defaultSpeed": 3,
                "defaultVerticalSwing": 0,
                "defaultHorizontalSwing": 0
            },
            "devices": [
                {
                    "mac": "XXX@",
                    "sensorOffset": 40,
                    "defaultSpeed": 3
                }
            ],
            "platform": "GreeAirConditioner"
        }
    ],
    "disabledPlugins": []
}

Screenshots:

Environment:

Plugin Version: v1.3.0
Homebridge Version: 1.5.0
Node.js Version:  16.15.1
NPM Version: 8.11.0
Operating System: macOS

Thanks for your reply, @kongkx.
I've removed all other plugins and can now see extra options on Homebridge. Still can't see it on Apple Home app tho, I'll try re-adding the bridge.
Btw, is isit normal to see all this options separately? No way to bundle them into one accessory?

Thanks again!

I'm running into the same issue. Were you able to get it fixed?

maybe clear the accessory cache
jpm_openroadcc @.***>于2024年7月25日 周四09:42写道：

I'm running into the same issue. Were you able to get it fixed?
—
Reply to this email directly, view it on GitHub
https://github.com/kongkx/homebridge-gree-air-conditioner/issues/7#issuecomment-2249198716,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXIOOEI5LOZYH42ELYDPILZOBJYZAVCNFSM6AAAAABLNR7HLWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBZGE4TQNZRGY
.
You are receiving this because you were mentioned.Message ID:
@.***>


overskride: init at 0.5.6

Description of changes
Closes #259489.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 269055 run on x86_64-linux 1

1 package built:

overskride

Result of nixpkgs-review pr 269055 run on x86_64-linux 1

1 package built:

overskride

@pbsds do you know if the cargo builder can build meson projects with a ninja backend?
I wasn't able to get it to work (the same for tailor-gui, which has a similar setup).

via https://github.com/kaii-lb/overskride/issues/10 i see there is some prior art here: https://github.com/NixOS/nixpkgs/commit/3b904efd1d15a640ad80baa85c371b19616533ab

via kaii-lb/overskride#10 i see there is some prior art here: 3b904ef

I quickly threw that in there to test the program, but I'm not sure whether overriding the buildPhase is the right approach.

via kaii-lb/overskride#10 i see there is some prior art here: 3b904ef

I quickly threw that in there to test the program, but I'm not sure whether overriding the buildPhase is the right approach.

Overriding the buildPhase works here, too.
I think it should be fine - with my approach, it was skipping the checkPhase (although I have to disable it, because a "Validate appstream file" check is failing).

The AppStream file is invalid upstream. I remember I had to modify it myself to make it pass the test.

Result of nixpkgs-review pr 269055 run on x86_64-linux 1

1 package built:

overskride

EDIT: found it. Here's a patch in case you want to re-enable the test.

Thanks :pray:

EDIT: found it. Here's a patch in case you want to re-enable the test.

Thanks 🙏 Did you add an upstream PR (if not, I'll open one)?

I haven't, as I completely forgot about it. You can add one if you want :)

Will do :smile:
Looks like has been updated upstream...

Sorry for my slow response, i'm mostly afk during christmas.
Result of nixpkgs-review pr 269055 run on x86_64-linux 1

1 package built:

overskride

Runs fine and LGTM


[Urgent Issue] Cannot run HumanEval benchmarking on CodeLlama model

I was using bigcode-evaluation-harness to HumanEval benchmark CodeLlama model.
I am using this command from docs README:
accelerate launch  main.py
--model codellama/CodeLlama-7b-hf
--max_length_generation 200
--tasks humaneval
--temperature 0.2
--n_samples 200
--batch_size 10
--allow_code_execution
It is successfully downloading the model shards. But when loading checkpoint shards, I am getting an error “raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)”. Even if I am using T4 in colab or 2*T4 in kaggle, I am still getting this error.
Full error log:
The following values were not passed to `accelerate launch` and had defaults used instead:
	`--num_processes` was set to a value of `1`
	`--num_machines` was set to a value of `1`
	`--mixed_precision` was set to a value of `'no'`
	`--dynamo_backend` was set to a value of `'no'`
To avoid this warning pass in values for each of the problematic parameters or run `accelerate config`.
2024-02-29 16:01:55.718819: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-02-29 16:01:55.718877: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-02-29 16:01:55.725025: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-02-29 16:01:57.780304: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Selected Tasks: ['humaneval']
Loading model in fp32
/usr/local/lib/python3.10/dist-packages/transformers/models/auto/auto_factory.py:472: FutureWarning: The `use_auth_token` argument is deprecated and will be removed in v5 of Transformers. Please use `token` instead.
  warnings.warn(
Loading checkpoint shards:   0% 0/2 [00:00<?, ?it/s]Traceback (most recent call last):
  File "/usr/local/bin/accelerate", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/accelerate/commands/accelerate_cli.py", line 47, in main
    args.func(args)
  File "/usr/local/lib/python3.10/dist-packages/accelerate/commands/launch.py", line 1023, in launch_command
    simple_launcher(args)
  File "/usr/local/lib/python3.10/dist-packages/accelerate/commands/launch.py", line 643, in simple_launcher
    raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', 'main.py', '--model', 'codellama/CodeLlama-7b-hf', '--max_length_generation', '200', '--tasks', 'humaneval', '--temperature', '0.2', '--limit', '50', '--n_samples', '200', '--batch_size', '10', '--allow_code_execution']' died with <Signals.SIGKILL: 9>.

When investigating, I found that even turning the GPU on, it is still only using the system RAM.
Here is my colab link.
How to resolve this? Any more setup I need to do in order to run this successfully? Thank you!

Can you run accelerate config  to enable GPU usage and not CPU?

I ran accelerate config with this setting:

But still getting the same problem:

Is there any setting I am choosing wrong? Also when checking my gpu with nvidia-smi, I can see the GPU is there but it is in Off state. Does this matter? If it does, how to turn it on? Thank you!

It seems in Jupyter environement you need to manually create the yaml config file and reference it in your accelerate launch
1- create config.yaml:
compute_environment: LOCAL_MACHINE
deepspeed_config: {}
distributed_type: MULTI_GPU
fsdp_config: {}
machine_rank: 0
main_process_ip: null
main_process_port: null
main_training_function: main
mixed_precision: no
num_machines: 1
num_processes: 1
gpu_ids: all
use_cpu: false

2- run
!accelerate launch --config_file config.yaml main.py \
  --model bigcode/starcoderbase-1b \
  --max_length_generation 512 \
  --tasks humaneval \
  --temperature 0.2 \
  --limit 50 \
  --n_samples 20 \
  --batch_size 20 \
  --use_auth_token \
  --allow_code_execution

Thanks a lot @loubnabnl. This worked for me too.

I can run successfully bigcode/starcoderbase-1b model on colab with single T4 GPU.
I tried running bigcode/starcoderbase-3b model on colab with single T4 GPU. But it failed to run due to OOM. So I ran in kaggle kernel with 2 T4 GPUs and I was able to run it with one change: Changed --limit from 50 to 10.
Running any model greater than 3b doesn't work with this GPU specs.

Also, I have one question: if I quantize the model to GGUF format, is it possible to run benchmark on this format too?

Hi, we don't support GGUF format but you can try using 4bit or 8bit precision to reduce memory footprint when loading the model using the flag --load_in_4bit for example.
Btw --limit shouldn't impact the memory that's just the number of HumanEval problems to use. It's the --batch_size flag that determines how many samples to fit in a batch (out of n_samples) that you should lower, try setting it to 1 for lowest memory consumption (but eval will be slower).
For n_samples if you're using greedy (do_sample False) then set it to one because you don't sample, if you use sampling (do_sample True and temperature 0.2) then 20 should be enough for an accurate number.

Hi, we don't support GGUF format but you can try using 4bit or 8bit precision to reduce memory footprint when loading the model using the flag --load_in_4bit for example.
Btw --limit shouldn't impact the memory that's just the number of HumanEval problems to use. It's the --batch_size flag that determines how many samples to fit in a batch (out of n_samples) that you should lower, try setting it to 1 for lowest memory consumption (but eval will be slower).
For n_samples if you're using greedy (do_sample False) then set it to one because you don't sample, if you use sampling (do_sample True and temperature 0.2) then 20 should be enough for an accurate number.

Thank you for the clarification.


Fixed tests

... almost:

TestGetContainerStats is known to fail on systems with systemd init

see issue #10690
let's wait for official solution

Tests that got fixed:

TestSaveImageId

just copied its body from upstream's master branch

TestEventsImageImport

TODO

TestHelpWidth

--net flag in create command was too verbose

TestRunEnvironmentErase

test didn't count with container_uuid env variable

TestRunEnvironmentOverride

container_uuid again

I got stuck with tests for search command - I'll submit additional PR for them. The thing is that testing suite use some early v2 registry version for private registries. Either the registry does not support searching yet or docker does not know, how to ask. I'll investigate.


chore: Disable proguard in release version

Fixes #1196
Checklist:

[x] I have checked for PMD and check-style issues
[x] I have read the Contribution & Best practices Guide and my PR follows them.
[x] My branch is up-to-date with the Upstream development branch.

Changes: Disabled proguard.
Screenshots for the change:

Replace the two openevent lines with
-keep class org.fossasia.openevent.app.data.** {
  *;
}


Split library into two packages.

Split library into two packages in one monorepo:

okidoc
okidoc-site

Not all users need a generation of md files. We need allow use okidoc-site as separate lib.
Mb we need a separate package like okidoc-md(or your variant instead of md), which only generates md files from source. Then okidoc lib will be preset of [okidoc-md, okidoc-site]
/cc @kupriyanenko @BrooklynKing

I'm totally agree with it. We need to have 3 repos: okidoc, okidoc-md (maybe okidoc-md-js), okidoc-site.


Sound null safety migration for Flutter

Hello,
Please kindly migrate your package to support sound null safety in flutter.

Hello @vanshg395!
I see that you have merged the migration. Could you please bump 2.0.0 to pub?

Surely will do by 1st April.

Thanks.
Looking forward to see that :)

Fixed and pushed


Accuracy results on cifar100

this paper reports 75.30 accuracy on the clean test set. But I obatin 78.16 accuracy on the same test set, I use resnet50 with SGD + momentum optimizer trained for 350 epoch.

Hi Shuikehuo,
We used Resnet-56 without batch norm which explains the accuracy difference (and a weaker baseline). And it was trained with SGD optimizer for 50k steps with batch size 128.
The experiment shows the effect of noisy labels on the test accuracy when trained with logistic loss, and with bi-tempered logistic loss. We expect that the results in terms of accuracy delta to remain similar even when trained with the Resnet-50 (with batch norm) model or models of similar capacity.  We will make available the code for Resnet-56 model without batch norm soon to reproduce the results.
Thanks,

Hi Shuikehuo,
We used Resnet-56 without batch norm from [1] which explains the accuracy difference (and a weaker baseline). And it was trained with SGD optimizer for 50k steps with batch size 128.
The experiment shows the effect of noisy labels on the test accuracy when trained with logistic loss, and with bi-tempered logistic loss. We expect that the results in terms of accuracy delta to remain similar even when trained with the Resnet-50 (with batch norm) model or models of similar capacity. We will make available the code for Resnet-56 model without batch norm from [1] soon to reproduce the results.
Thanks,
[1] Identity Matters in Deep Learning, Moritz Hardt, Tengyu Ma, https://arxiv.org/pdf/1611.04231.pdf

@rohan-anil Is there any reason to use resnet56 without batch normalization? This network seems not to be used a lot in experiments.
When I use resnet110 with BN (as introduced in ResNet v1 paper), the accuracy delta (improvement) does not seems to be very obvious, for clean or noisy labels.


IE11 adds width="0" on certain images on first page load

This thread should provide a good description of the problem: https://wordpress.org/support/topic/images-sometimes-not-loading-in-ie11
The thread's title is a bit misleading though, because the images are loaded, but width="0" makes the images not showing.
Note that it's working with v2.1.0 but not 2.2.0.
The little joker screws up again >.>
I just tested adding width="0" on an image in Chrome, and it didn't hide it so it's smarter than IE as expected…

@Chrisriis Just to be sure, have you tried this with the 2.3.0 beta? You can grab the files from the master branch of this repo.

@mike-engel Unfortunately, I used a trial version of BrowserStack to test it yesterday and now it's expired (Mac user).
However, I'll probably test 2.3.0 tomorrow with Bootcamp and let you know!

Hey @Chrisriis, any luck retesting? Looks like we have a fix in, so I’m gonna close for the time being—if you’re still having trouble with the latest on master, we’ll reopen.

Hi @Wilto, sorry for the insane delay, but v. 2.3.0 works! Thanks :)


Rename XRController signal button_release to button_released

Makes it consistent with button_pressed.
Part of #16863.

Thanks!


Using vitest brings in @types/node in a basic setup

Describe the bug
All in the title. Repro is the starter Vite project with Vitest installed.
Reproduction
https://github.com/Faithfinder/vitest-types-node/blob/main/src/App.test.ts
Take a look in the linked file. "Buffer" looks ok to use.
Comment out the vitest import.
Now Buffer is unavailable.
This is true for the whole project (e.g, Buffer could be in any of the files).
System Info
System:
    OS: Linux 5.15 Ubuntu 20.04.5 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
    Memory: 1.05 GB / 5.79 GB
    Container: Yes
    Shell: 5.0.17 - /usr/bin/bash
  Binaries:
    Node: 18.14.0 - ~/.local/share/pnpm/node
    Yarn: 1.22.5 - /usr/bin/yarn
    npm: 9.3.1 - ~/.local/share/pnpm/npm
  npmPackages:
    @vitejs/plugin-react-swc: ^3.0.0 => 3.2.0
    vite: ^4.1.0 => 4.1.4
    vitest: ^0.28.5 => 0.28.5

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Come across with same problem, setTimeout/setInterval... browser global api are override by @types/node.

@Faithfinder Have you found some temporary workaround?

We are running into the same issue. I was able to trace it down to the import in line 2 here:
import { UserConfig as UserConfig$1, TransformResult as TransformResult$1, ViteDevServer, CommonServerOptions, DepOptimizationConfig, AliasOptions } from 'vite';

and the corresponding index.d.ts file in vite starts with
/// <reference types="node" />

which leaks the declarations to the global types space.
It should be possible to fix this by moving the required types in vite into a separate file that does not need the /// <reference types="node" /> directive, but maybe there is also a less invasive way to solve this.

How can I work around this issue? 🙄
node_modules/@types/node/globals.d.ts:72:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'AbortSignal' must be of type '{ new (): AbortSignal; prototype: AbortSignal; abort(reason?: any): AbortSignal; timeout(milliseconds: number): AbortSignal; }', but here has type '{ new (): AbortSignal; prototype: AbortSignal; }'.

72 declare var AbortSignal: {
               ~~~~~~~~~~~

  node_modules/typescript/lib/lib.dom.d.ts:2090:13
    2090 declare var AbortSignal: {
                     ~~~~~~~~~~~
    'AbortSignal' was also declared here.

Removing the /// <reference types="node" /> directive fixes the issue, but it looks not like an easy task to do that as the file is generated by api-extractor.

My guess is that this "fix" only works if your tsconfig.json has skipLibCheck=true (a dubious practice that speeds up compilation times by hiding important syntax errors, and should never be used when developing a library that will be published to NPM).
It is correct behavior for API Extractor to emit /// <reference types="node" /> in the .d.ts rollup, because that file references global APIs from @types/node.
The root cause is that vitest is trying to be a test environment for multiple target runtimes, but its own API depends on declarations that are provided by the Node.js runtime.  If this root cause is fixed, then API Extractor should no longer generate a   .d.ts rollup with the /// <reference types="node" /> directive.

This is technically a bug. You should only get this types when you import from vitest/node.

I'm migrating from Jest to Vitest in Happy DOM.
I only want to use Vitest for testing a Node environment, but it seems like Vitest is importing the Typescript types for the DOM somehow (lib.dom.d.ts).
Expected
"window" and other DOM properties to not be part of the global types.
Actual
DOM properties is part of the global types.
To reproduce
https://stackblitz.com/edit/vitest-dev-vitest-kjoyd7?file=test%2Fbasic.test.ts

I want to use Vitest for testing a Node environment, but it seems like Vitest is importing the Typescript types for the DOM somehow (lib.dom.d.ts).

Running tsc with --explainFiles shows it's a default lib reference:
node_modules/typescript/lib/lib.d.ts
  Default library for target 'es5'
node_modules/typescript/lib/lib.dom.d.ts
  Library referenced via 'dom' from file 'node_modules/typescript/lib/lib.d.ts'

If I empty out lib in tsconfig, it removes "dom" from references. However this shows a few errors:

Looks like tinybench depends on AddEventListenerOptions types form dom
esbuild depends on WebAssembly global
Vite depends on Worker global

@a1mersnow did you find a way to overcome it?
We also have the setTimeout problem.

@orivainer just use full path like window.setTimeout & window.setInterval...