Tested with latest H/I Series fan firmware?

Describe Your Problem:
I can install the plugin and the tiles show up in the Home app but nothing happens when I change fan speeds or turn lights on/off/dim.  Also, I only have two fans setup (IP and MACs added to your plugin) but 4 fans show up?  Have you tested your plugin with the latest fan firmware (version 2.7.3 dated 4/21/21)?  It seems that this firmware may have broken your plugin - I have trouble getting other plugins to work (that used to work).
Logs:
5/15/2021, 10:22:06 AM] Loaded 0 cached accessories from cachedAccessories.
[5/15/2021, 10:22:06 AM] ---
[5/15/2021, 10:22:06 AM] Loaded plugin<EMAIL_ADDRESS>[5/15/2021, 10:22:06 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2021, 10:22:06 AM] ---
[5/15/2021, 10:22:06 AM] Loaded plugin<EMAIL_ADDRESS>[5/15/2021, 10:22:06 AM] Registering platform 'homebridge-i6-bigassfans.BigAssFans-i6'
[5/15/2021, 10:22:06 AM] ---
[5/15/2021, 10:22:06 AM] Loading 2 platforms...
[5/15/2021, 10:22:06 AM] [Config] Initializing config platform...
[5/15/2021, 10:22:06 AM] [Config] Running in Service Mode
[5/15/2021, 10:22:06 AM] [BigAssFans-i6] Initializing BigAssFans-i6 platform...
[5/15/2021, 10:22:06 AM] [BigAssFans-i6] Initializing child bridge 0E:C1:E3:85:AF:6C
Preparing Advertiser for 'Homebridge 54BC 316F' using bonjour-hap backend!
Setup Payload:
X-HM://00241ES9LMLNT
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 343-96-057 │
    └────────────┘

Starting to advertise 'Homebridge 54BC 316F' using bonjour-hap backend!
[5/15/2021, 10:22:06 AM] Homebridge v1.3.4 (Homebridge 54BC) is running on port 51834.
Initializing HAP-NodeJS v0.9.4...
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Launched child bridge with PID 2631
[5/15/2021, 10:22:06 AM] Registering platform 'homebridge-i6-bigassfans.BigAssFans-i6'
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Loaded homebridge-i6-bigassfans v0.1.0 child bridge successfully
[5/15/2021, 10:22:06 AM] Loaded 4 cached accessories from cachedAccessories.0EC1E385AF6C.
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Loading accessory from cache: Bedroom
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Loading accessory from cache: Family Room
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Loading accessory from cache: Bedroom
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Loading accessory from cache: Family Room
Preparing Advertiser for 'homebridge-i6-bigassfans 2F42' using bonjour-hap backend!
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Init - initializing devices
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Restoring existing accessory from cache: Bedroom
[5/15/2021, 10:22:06 AM] [homebridge-i6-bigassfans] Restoring existing accessory from cache: Family Room
Starting to advertise 'homebridge-i6-bigassfans 2F42' using bonjour-hap backend!
[5/15/2021, 10:22:06 AM] Homebridge v1.3.4 (homebridge-i6-bigassfans) is running on port 41214.
[5/15/2021, 10:23:31 AM] [Homebridge UI] [admin] Accessory layout changes saved.

**Plugin Config:**

```json
{
    "bridge": {
        "name": "Homebridge 54BC",
        "username": "0E:FD:69:A3:54:BC",
        "port": 51834,
        "pin": "343-96-057"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "form",
            "theme": "auto",
            "tempUnits": "f",
            "lang": "auto",
            "platform": "config"
        },
        {
            "fans": [
                {
                    "name": "Bedroom",
                    "ip": "<IP_ADDRESS>",
                    "mac": "20:F8:5E:33:46:48",
                    "whoosh": false,
                    "dimToWarm": false,
                    "megaDebugLevel": "11"
                },
                {
                    "name": "Family Room",
                    "ip": "<IP_ADDRESS>",
                    "mac": "20:F8:5E:2E:C5:E2",
                    "whoosh": false,
                    "dimToWarm": false,
                    "megaDebugLevel": "0"
                }
            ],
            "_bridge": {
                "username": "0E:C1:E3:85:AF:6C",
                "port": 41214
            },
            "platform": "BigAssFans-i6"
        }
    ]
}
![Screen Shot 2021-05-15 at 10 30 41 AM](https://user-images.githubusercontent.com/84244276/118372895-9f5f9600-b568-11eb-832d-080cf33ebe44.png)

**Screenshots:**
<!-- If applicable, add screenshots to help explain your problem. -->

**Environment:**

* **Plugin Version**:
* **Homebridge Version**: <!-- homebridge -V --> 1.3.4
* **Node.js Version**: <!-- node -v -->. 14.17.0
* **NPM Version**: <!-- npm -v -->. 7.13.0
* **Operating System**: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker / hb-service -->. MacOS 11.4

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->

Hello.  Thank you for trying out this plugin.  As far as I know you are the first.  And thank you for submitting this issue.
First of all, are your fans model i6?  The firmware reported by the vendor's Big Ass Fans app, shows my i6 fan's firmware is version 1.7.1 and their app indicates "No Updates Needed."

Hi,
Thanks for your quick reply!  That’s the problem.  I have a Haiku model fan - I had never heard of i6 - you must live in a huge loft!!  ;)
My problem was when searching for plugins, if you search for “Haiku" you get different plugins versus if you search for "Big Ass” but “Big Ass” search results show two other plugins including yours that would seem to work with my fan (but they are old plugins).  I gravitated towards your since you have been doing a lot of work.
I found the plugin that I originally had working again (Haiku by Big Ass Fans - homebridge-haiku-senseme v3.3.0).  They have a nice auto-discovery feature that you might try to incorporate if it works with the i6 series.
Thanks,
David
On May 15, 2021, 11:19 AM -0700, oogje @.***>, wrote:

Hello. Thank you for trying out this plugin. As far as I know you are the first. And thank you for submitting this issue.
First of all, are your fans model i6? The firmware reported by the vendor's Big Ass Fans app, shows my i6 fan's firmware is version 1.7.1 and their app indicates "No Updates Needed."
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

My i6 is only 60” but it’s as large as was practical because I only have 9-foot ceilings.  The room’s about 12’ x 18’ if you don’t count the open kitchen.
Thanks for the tip about the homebridge-haiku-senseme plugin.  I missed that one because I only thought to search for bigassfans.  Yes, I should check out auto discovery .
In any event, thanks for opening the issue, I should log some warnings if things don’t seem to be behaving correctly.

On May 15, 2021, at 2:26 PM, davidmac27 @.***> wrote:
Hi,
Thanks for your quick reply!  That’s the problem.  I have a Haiku model fan - I had never heard of i6 - you must live in a huge loft!!  ;)
My problem was when searching for plugins, if you search for “Haiku" you get different plugins versus if you search for "Big Ass” but “Big Ass” search results show two other plugins including yours that would seem to work with my fan (but they are old plugins).  I gravitated towards your since you have been doing a lot of work.
I found the plugin that I originally had working again (Haiku by Big Ass Fans - homebridge-haiku-senseme v3.3.0).  They have a nice auto-discovery feature that you might try to incorporate if it works with the i6 series.
Thanks,
David
On May 15, 2021, 11:19 AM -0700, oogje @.***>, wrote:

Hello. Thank you for trying out this plugin. As far as I know you are the first. And thank you for submitting this issue.
First of all, are your fans model i6? The firmware reported by the vendor's Big Ass Fans app, shows my i6 fan's firmware is version 1.7.1 and their app indicates "No Updates Needed."
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/oogje/homebridge-i6-bigAssFans/issues/1#issuecomment-841704967, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKLWWCGVYHLCT7KEYAAZY3TN24G3ANCNFSM446CYNLA.

Gotcha.  It would be cool if you could add the Haiku series to your plugin.  I got really excited when I saw that your plug-in reported the temperature and humidity values!  Very cool!
Thanks,
David
On May 15, 2021, 11:50 AM -0700, oogje @.***>, wrote:

My i6 is only 60” but it’s as large as was practical because I only have 9-foot ceilings. The room’s about 12’ x 18’ if you don’t count the open kitchen.
Thanks for the tip about the homebridge-haiku-senseme plugin. I missed that one because I only thought to search for bigassfans. Yes, I should check out auto discovery .
In any event, thanks for opening the issue, I should log some warnings if things don’t seem to be behaving correctly.

On May 15, 2021, at 2:26 PM, davidmac27 @.***> wrote:
Hi,
Thanks for your quick reply! That’s the problem. I have a Haiku model fan - I had never heard of i6 - you must live in a huge loft!! ;)
My problem was when searching for plugins, if you search for “Haiku" you get different plugins versus if you search for "Big Ass” but “Big Ass” search results show two other plugins including yours that would seem to work with my fan (but they are old plugins). I gravitated towards your since you have been doing a lot of work.
I found the plugin that I originally had working again (Haiku by Big Ass Fans - homebridge-haiku-senseme v3.3.0). They have a nice auto-discovery feature that you might try to incorporate if it works with the i6 series.
Thanks,
David
On May 15, 2021, 11:19 AM -0700, oogje @.***>, wrote:

Hello. Thank you for trying out this plugin. As far as I know you are the first. And thank you for submitting this issue.
First of all, are your fans model i6? The firmware reported by the vendor's Big Ass Fans app, shows my i6 fan's firmware is version 1.7.1 and their app indicates "No Updates Needed."
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/oogje/homebridge-i6-bigAssFans/issues/1#issuecomment-841704967, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKLWWCGVYHLCT7KEYAAZY3TN24G3ANCNFSM446CYNLA.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I was more excited about temperature/humidity before I realized the sensors are in the bluetooth remote control rather than in the fan.  As far as adding Haiku, it could happen if/when I get a Haiku fan.
I made my email public in my profile so if you want to talk more about the Haiku send me mail and we can continue outside this issue.  Thanks.

Version (0.1.1) should show users an error if their fan can't be reached or doesn't communicate with the i6 plugin.  I'll close this and see how it goes,

Reopening this to let davidmac27 know that the plugin supports Haiku now and he should start with the beta<EMAIL_ADDRESS>if he wants to check it out.


Intersection display

Rescued from #28

Link displays using annotation to each other (vertical lines for intersections), and (later) to basemap (issue #24)

Added in v0.3


Allow user permission limits to be set as a struct

Yeah agree, I considered not adding these to the interface and just cast to the type or other interface in the CLI - as in the normally done thing? I am ok with that if we dont want to fully bless this sort of thing - but all the Setters with error handling is super grim for something like that CLI

cli/auth_account_command.go | 53 +++++++++++++----------------------------------------
 cli/auth_user_command.go    | 46 ++++++++++------------------------------------
 2 files changed, 23 insertions(+), 76 deletions(-)

using these :)

Effectively, what you are looking for is ignoring all the error checking that happens and only do it on the set right?

Yes, I dont need to error check every set, one set error checking the whole set is enough - essentially its a single transaction all or nothing, so one error check.

Could it be as simple simple as a struct that is almost the same as the limits, with only a couple of functions to do things like SetUnlimited()

The only issue I see is that some of the names on the interface are more indicative - MaxConsumers instead of Consumers, but perhaps that is just a nit, and doesn't matter.

Maybe? would need to see how that looks - trying to keep duplication to a minimum from the jwt lib though

The other choice is to copy the struct from JWT, but not have the dep from the package exposed to the user code.

This also allows the lib to support esoteric things, remember we dont neccesarily want to surface every single tiny feature of the jwt libs in here, its what we think people will want to do often and its a bit oppinionated.
By taking the jwt struct we allow people to achieve weird thigns - maybe a bad thing?

the exposing simply means that we are bound to it - IMHO, the implementation in the future just stores a JSON that can be converted to a JWT.

I do want to add JSONMarshall() and JSONUnmarshall()


Markdown eats brackets...

[ ] just hides, should stay as is.

unable to reproduce, was a bug in an extension.


Consistently normalize absolute and relative paths

Normalize even absolute paths, not just relative ones. Otherwise, absolute paths containing '.' and '..' may not be normalized out,
The personal itch I was tackling was that, when compiling with zapcc, the diagnostics had paths containing '..' . This made VSCode open a separate editor when clicking on the diagnostic, displaying the same file using a different path, while not displaying the squiggles in the original editor.

Uhm, is there something wrong with this PR?

@GeorchW, I'm sorry, we haven't had a chance to review it yet.  December is a month where most MS employees take vacation, and we're spread pretty thin right now.  My developer assigned to this project also had to take some emergency time off this month so things are running more slowly than expected.  I apologize for that.  We will take a look as soon as we can.


Closing reason

This PR provides the reason when the issue is closing.
Action inputs

Name
Description
Default

token
GITHUB_TOKEN or a repo scoped PAT.
GITHUB_TOKEN

repository
The GitHub repository containing the issue.
Current repository

issue-number
The number of the issue to close.
github.event.issue.number

close-reason
Reason for closing the issue, completed or not_planned.
completed

comment
A comment to make on the issue before closing.

Hi @YiiGuxing
Thank you for this contribution! I'm going to merge to a feature branch to make a few changes, but otherwise looks good.

Released as v2.1.0 / v2
Thank you 🏅


Issue #258 fix/ref: prevents allocated CString reference buffer from being reassigned to corrupted value

Coverage increased (+0.008%) to 95.665% when pulling 4cb737ff7da792508e66b82cf24a3990d2158771 on hunterlester:258 into 5f95eb5e5e3af7c05a492ad7db53d47f5c60dd96 on maidsafe:master.

Coverage increased (+0.008%) to 95.665% when pulling 4cb737ff7da792508e66b82cf24a3990d2158771 on hunterlester:258 into 5f95eb5e5e3af7c05a492ad7db53d47f5c60dd96 on maidsafe:master.


Bug: randomly failing while downloading a playlists

I am not sure what causes this issue and why. It's not a token issue, or auth issue. But, it could be "offset/limit" (line 366)
This is what "print(tracks)" (line 371) gives, which is not supposed to give that
{'added_at': '2022-05-07T23:02:21Z',
 'added_by': {'external_urls': {'spotify': 'https://open.spotify.com/user/3zgl6uyvesfl7j2mksnvm3zqh'},
              'href': 'https://api.spotify.com/v1/users/3zgl6uyvesfl7j2mksnvm3zqh',
              'id': '3zgl6uyvesfl7j2mksnvm3zqh',
              'type': 'user',
              'uri': 'spotify:user:3zgl6uyvesfl7j2mksnvm3zqh'},
 'is_local': False,
 'primary_color': None,
 'track': None,
 'video_thumbnail': None}

[Program finished]

It also fails with:

Fixed


Why is Portable40 targeting NET4.0 and not NET4.0.3

Hi,
why is the Portable40 build not targeting the framework 4.0.3? Since version 6.0.6 I cannot use SerializeXNode() method of JsonConvert class. Till the version 6.0.5 this works fine. I was wondering why it was removed or changed...
Currently I cannot use the nuget packages so I have to add a reference to the other portable lib (net45) to get it working.
It is easily to reproduce:

create a empty Windows Phone 8 Silverlight project (or a project that targets net40)
add Newtonsoft.Json package via nuget (version 6.0.8)
try to use JsonConvert.SerializeXNode() method to convert xml to json

Thanks in advance.

That PCL is the absolute lowest of everything. If you want SerializeXNode then use the .NET 4.5 PCL


t_float-c.dat input update to match format file

Add \t character between values and insert new line after whole data line.

@maciejpokorski : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks @maciejpokorski for submitting this PR! Your commit will be merged and this article update is in flight. After the updated article is published, GitHub will list you as an article contributor.
Thanks again for this feedback, your suggestions help improve our documentation.
#sign-off


Error when loading the Hello world (calculator) page

Hi,
I'm trying to use the AngularFaces and seems I'm doing somthing wrong...?
I'm getting the below javascript error (in the console) when loading the page.
index.xhtml:1 GET http://me:8181/test/RES_NOT_FOUND 404 (Not Found)
angular.js.xhtml?ln=AngularJS:11594 Error: [ng:areq] Argument 'calculatorController' is not a function, got undefined
http://errors.angularjs.org/1.3.9/ng/areq?p0=calculatorController&p1=not a function%2C got undefined
at REGEX_STRING_REGEXP (angular.js.xhtml?ln=AngularJS:63)
at assertArg (angular.js.xhtml?ln=AngularJS:1577)
at assertArgFn (angular.js.xhtml?ln=AngularJS:1587)
at angular.js.xhtml?ln=AngularJS:8418
at angular.js.xhtml?ln=AngularJS:7592
at forEach (angular.js.xhtml?ln=AngularJS:331)
at nodeLinkFn (angular.js.xhtml?ln=AngularJS:7579)
at compositeLinkFn (angular.js.xhtml?ln=AngularJS:7075)
at publicLinkFn (angular.js.xhtml?ln=AngularJS:6954)
at angular.js.xhtml?ln=AngularJS:1451
angular.js.xhtml?ln=AngularJS:11594(anonymous function)
angular.js.xhtml?ln=AngularJS:8544$get
angular.js.xhtml?ln=AngularJS:14485$get.Scope.$apply
angular.js.xhtml?ln=AngularJS:1449bootstrapApply
angular.js.xhtml?ln=AngularJS:4182invoke
angular.js.xhtml?ln=AngularJS:1447doBootstrap
angular.js.xhtml?ln=AngularJS:1467bootstrap
angular.js.xhtml?ln=AngularJS:1361angularInit
angular.js.xhtml?ln=AngularJS:26054(anonymous function)
jquery-1.11.1.js.xhtml?ln=jQuery:3119jQuery.Callbacks.fire
jquery-1.11.1.js.xhtml?ln=jQuery:3231jQuery.Callbacks.self.fireWith
jquery-1.11.1.js.xhtml?ln=jQuery:3443jQuery.extend.ready
jquery-1.11.1.js.xhtml?ln=jQuery:3474completed
revjet_contentscript.js:10 GET http://ads.dfgio.com/loader.js?client=dvn1201 net::ERR_BLOCKED_BY_CLIENT

The error message that AngularJS doesn't know about the CalculatorController. Usually that's because the Javascript file hasn't been loaded. By default, the file "main.js" in the folder of the XHTML file is loaded automatically.
Another problem is that there's a breaking change in AngularJS 1.3. Many examples of mine still are based on AngularJS 1.2. The first few lines of the Controller have to look like so:
angular.module("AngularTetris", [ "angularfaces" ])
.controller('AngularTetrisController', ['$scope', function($scope) {

The old way seens to be broken:
function AngularTetrisController($scope) { old syntax - doesn't work with AngularJS 1.3

Thank you for the fast answer.
It did seems to solve the previous issue but i now getting a new one:
(It seems that the way JSF concatenate IDs is problematic for angular?)
Any ideas?
angular.js.xhtml?ln=AngularJS:11594 Error: [$parse:syntax] Syntax Error: Token ':' is an unexpected token at column 14 of the expression [myform.j_idt5:firstNumberID.$error] starting at [:firstNumberID.$error].
http://errors.angularjs.org/1.3.9/$parse/syntax?p0=%3A&p1=is an unexpected token&p2=14&p3=myform.j_idt5%3AfirstNumberID.%24error&p4=%3AfirstNumberID.%24error
at REGEX_STRING_REGEXP (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:63:12)
at Parser.throwError (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:11998:11)
at Parser.parse (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:11951:12)
at $parse (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:12660:39)
at Scope.$get.Scope.$watchCollection (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:14002:30)
at link (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angularfaces-directives.js.xhtml?ln=AngularFaces:39:21)
at http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:8207:44
at invokeLinkFn (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:8213:9)
at nodeLinkFn (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:7722:11)
at compositeLinkFn (http://dimas_w7_64:8181/Bennu/javax.faces.resource/angular.js.xhtml?ln=AngularJS:7075:13) angular.js.xhtml?ln=AngularJS:11594 (anonymous function)angular.js.xhtml?ln=AngularJS:8544 $getangular.js.xhtml?ln=AngularJS:8215 invokeLinkFnangular.js.xhtml?ln=AngularJS:7722 nodeLinkFnangular.js.xhtml?ln=AngularJS:7075 compositeLinkFnangular.js.xhtml?ln=AngularJS:7078 compositeLinkFnangular.js.xhtml?ln=AngularJS:7078 compositeLinkFnangular.js.xhtml?ln=AngularJS:7078 compositeLinkFnangular.js.xhtml?ln=AngularJS:7078 compositeLinkFnangular.js.xhtml?ln=AngularJS:7717 nodeLinkFnangular.js.xhtml?ln=AngularJS:7075 compositeLinkFnangular.js.xhtml?ln=AngularJS:7717 nodeLinkFnangular.js.xhtml?ln=AngularJS:7075 compositeLinkFnangular.js.xhtml?ln=AngularJS:6954 publicLinkFnangular.js.xhtml?ln=AngularJS:1451 (anonymous function)angular.js.xhtml?ln=AngularJS:14384 $get.Scope.$evalangular.js.xhtml?ln=AngularJS:14483 $get.Scope.$applyangular.js.xhtml?ln=AngularJS:1449 bootstrapApplyangular.js.xhtml?ln=AngularJS:4182 invokeangular.js.xhtml?ln=AngularJS:1447 doBootstrapangular.js.xhtml?ln=AngularJS:1467 bootstrapangular.js.xhtml?ln=AngularJS:1361 angularInitangular.js.xhtml?ln=AngularJS:26054 (anonymous function)jquery-1.11.1.js.xhtml?ln=jQuery:3119 jQuery.Callbacks.firejquery-1.11.1.js.xhtml?ln=jQuery:3231 jQuery.Callbacks.self.fireWithjquery-1.11.1.js.xhtml?ln=jQuery:3443 jQuery.extend.readyjquery-1.11.1.js.xhtml?ln=jQuery:3474 completed

I've found a solution of putting prependId="false" on the form tag.
Is there any other better solutions?

Yes, unfortunately there's a nasty incompatibilty between AngularJS, jQuery and JSF. You can work around it by adding prependId="false" to the form.

I've spent a couple of days finding a better solution - to no avail. You could configure a different separator character in the web.xml. But every character is either illegal in JSF, forbidden by AngularJS or doesn't work in jQuery. So the only solution is to add prependId="false" or to reort a bug to the AngularJS project.

another maybe better workaround maybe to put in the web.xml:

javax.faces.SEPARATOR_CHAR
-

This will replace the ":" to "-" or any other pre-defined char.

using prependId="false" will cause issues with jsf dataTables I think, Am I mistaken?

It's funny you find the solution at the same time I jot them down :).
I tried the separator char, but ran into difficulties, too. Until now, I didn't find problems with prependId="false" - but maybe that's because I prefer PrimeFaces datatables or it's AngularJS counterparts (such as ngTable). BalusC reports somewhere on StackOverflow that prependId does cause problems (but I don't remember which ones).

How does PrimeFaces dataTable different from any other JSF dataTable?
If you'll put a component (such as inputText) inside a column the ID is seperated with ":" - look at the attached screenshot for "form:cars1:2:j_idt105" as a name.
(I've checked in: with http://www.primefaces.org/showcase/ui/data/datatable/edit.xhtml)

Ah, so that's the problem. AFAIK the Angular team believe that the colon is invalid in ids, so they don't support it (yet).
Maybe using a client side table is the better alternative. I've prepared a ngTable implementation:
https://github.com/stephanrauh/AngularFaces/blob/master/AngularFaces_2.0/AngularFaces-2.0-examples/src/main/webapp/carshop/ngtable.xhtml
Live demo of the both the PrimeFaces datatable and ngTable: http://angularfaces.net/showcase2.1/carshop/index.jsf

Hi @DimaSol,
I've got an idea how to solve the problem. Would you like to test my solution when I've finished programming?
Thanks in advance
Stephan

Sure. What is your approach / solution to this?

I thought of a kind of cheating. Or post-processing. It's possible to grab the HTML code and modify it before sending it to the browser (as I did in my BabbageFaces project). The idea is to replace the colons by - say - a string like "COLON".  AFAIK the client side code of JSF doesn't really care about the colons, so this should be OK. However, the names of the input fields in subsequent requests don't match the expectations of the JSF framework. But I suppose it suffices to modify the ids, which aren't sent back to the server. The names can keep their colons, because they aren't processed by jQuery or AngularJS.
If this theory is wrong, AngularFaces also has to intercept the request before it's request. In fact, it already does, but I'm not sure if it's possible to modify the request parameters, so my idea might fail.

Oh, I forgot to say "Thanks!" for your offer to test!

I'm afraid this kind of solution could be problematic because you can't know if the client (javascript) components implementation using the ":" seperator to identify cells in the grid.
I already developed few features to a grid that were based on the ":" separator on client side.
Any way what you are proposing is to change the seperator so why not to use javax.faces.SEPARATOR_CHAR? Am I missing somthing?

According to http://stackoverflow.com/questions/12615434/is-there-a-common-replacement-for-javax-faces-separator-char,
"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
"Next to the colon, the only sensible choices are the hyphen, the underscore and the period. As the period is at its own also a special character in CSS selectors, it would have the same problem as the colon. So logically you don't have much other choice than the hyphen - and the underscore _."
As far as I remember, AngularJS doesn't accept the hyphen, and JSF itself has problems with the underscore. But I've forgotten the details.

I think using "-" should do the work, I was trying to find an issue with it in angularJS and did find anything yet... Any way I don't sure we should eliminate others (like ".") becasue it is a selector in jQuery as it can be easily escaped.

Yes, the dot can easily easily be escaped. Unfortunately, it's the
AngularJS code that runs into the error because AngularJS doesn't escape
special characters. To solve things properly, we need to fix AngularJS.
I didn't notice similar problems with AngularJS 1.2, so maybe it's a bug
they've inadvertently introduced.

I wonder if it's enough to add the hyphen to the regular expression AngularJS complains about in your second stacktrace. I suspect line 175 of Angular.js explicitly forbids special characters - but I'm not sure, I can't wrap my head around this expression. I always thought that (.+) amounts to "any string consisting of at least one character":
var REGEX_STRING_REGEXP = /^\/(.+)\/([a-z]*)$/;

AngularJS doesn't accept the colon because it considers it a token - and it doesn't accept tokens in ids of ngMessage objects:
Lexer.prototype = {
  constructor: Lexer,

  lex: function(text) {
    this.text = text;
    this.index = 0;
    this.tokens = [];

    while (this.index < this.text.length) {
      var ch = this.text.charAt(this.index);
      if (ch === '"' || ch === "'") {
        this.readString(ch);
      } else if (this.isNumber(ch) || ch === '.' && this.isNumber(this.peek())) {
        this.readNumber();
      } else if (this.isIdent(ch)) {
        this.readIdent();
      } else if (this.is(ch, '(){}[].,;:?')) {
        this.tokens.push({index: this.index, text: ch});
        this.index++;
      } else if (this.isWhitespace(ch)) {
        this.index++;
      } else {
        var ch2 = ch + this.peek();
        var ch3 = ch2 + this.peek(2);
        var op1 = OPERATORS[ch];
        var op2 = OPERATORS[ch2];
        var op3 = OPERATORS[ch3];
        if (op1 || op2 || op3) {
          var token = op3 ? ch3 : (op2 ? ch2 : ch);
          this.tokens.push({index: this.index, text: token, operator: true});
          this.index += token.length;
        } else {
          this.throwError('Unexpected next character ', this.index, this.index + 1);
        }
      }
    }
    return this.tokens;
  },

Yesterday I remember what precisely is the issue with using special characters in AngularJS. I've created a demo on Plunkr to illustrate the point (http://plnkr.co/edit/RsaJNTK1VxJJkPAv22X9 - but be patient, Plunkr needs 3-5 minutes for some reason unknown). The name of the input field must not contain any special character other than the underscore. Otherwise, validation errors aren't reported by AngularJS. The same restriction seems to apply to any field you want to set a watch on.

<!doctype html>

Using special characters in field names of AngularJS

  This demo shows that AngularJS only accepts the underscore as special character in input field names. In
  particular, the colon which is used in JSF is rejected.

<form name="userForm">
  This version uses an underscore within the field's name:

    Enter your email address:
    <input type="email" name="email_Address" ng-model="data.email1" required />

      You forgot to enter your email address...

  This version uses a hyphen within the field's name:

    Enter your email address:
    <input type="email" name="email-Address" ng-model="data.email2" required />

      You forgot to enter your email address...

  This version uses a colon within the field's name:

    Enter your email address:
    <input type="email" name="email:Address" ng-model="data.email3" required />

      You forgot to enter your email address...

  This version doesn't use any special character in the field's name:

    Enter your email address:
    <input type="email" name="emailAddress" ng-model="data.email4" required />

      You forgot to enter your email address...

  <input type="submit" />
</form>

I'm getting errors for all the inputs you have created in your example.
I've also noticed that the errors seems to appear only when i'm defining the module like angular.module("calculatorApp", [ "angularfaces" ]) but if it will be without the angularfaces dependancy like angular.module("calculatorApp", []) erros won't appear. notice that the ids still contains the ":"...
I was hoping to debug it in my free time in the next days. Have any Idea why it can be?

Which example do you refer do? The Plunkr or the JSF Calculator app?
I've uploaded a version of my Tetris demo using the underscore (see http://www.bootsfaces.net/AngularTetrisOnBootsFaces/). The ids look a bit odd (j_idt16_j_idt29 instead of j_idt16:j_idt29, but so far everything works. But I don't use a serverside JSF dataTable in the demo, so maybe that doesn't mean anything :(.

without the angularfaces dependancy like angular.module("calculatorApp", []) erros won't appear

AngularFaces 2.1 renders error messages on the client side (using the AngularJS components pui-message and pui-label). Probably that's why you need the dependency. You can suppress client-side messages by defining a standard JSF h:message tag. In this case, error messages are rendered on the server, and colons aren't a problem at all.

In the Plunkr demo you have created, the validation works fine for all 4 fields so I still missing the problem with using other separator instead of ":". The "_" is really looks a bit odd but i still think "-" can do the job pretty good (unless I'm still missing a point).

I understand that without using "angularfaces" dependency the errors are rendered in the server but the thing is that the IDs of the components still contains the ":" separator so I would expect to get the same errors in javascripts so I can only assume it somehow related to the dependency of "angularfaces" and this is what I want to figure out...

I start to suspect the problem isn't the id, but the name of the field.
But then, I couldn't set a watch on an id containing a ":", so ids seem
to be problematic, too.
Hm... do we have the same Plunkr demo? The error message I'm referring
to is the line "You forgot to enter your email address". The second and
third example don't show it. The red border and the HTML view in the F12
tool show that AngularJS does detect the errors correcty, but it doesn't
put the error messages into the form. In other words, the
ng-if="userForm.email-Address.$error.required" condition is always false.

Here's the screenshot belonging to the previous comment:

Hi Dima,
is there any progress on your side?
Cheers,
Stephan

AngularFaces 2.2-SNAPSHOT now copes with colons. I re-implemented the label and the message component. However, several AngularJS components or functions don't allow colons, so application developers may run into problems.

AngularFaces 2.1.3 has been published.

Hi Stephan,
I had a pretty busy time so didn't yet had a chance to check it out.


Correct the position of the double quotation in distinctcount.md file

"dimensions": "[sample_dim]"

should be
"dimensions": ["sample_dim"]

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

Key changed/added classes in this PR

distinctcount.md

Thanks @viongpanzi , CI failure looks unrelated, restarted job.


About pre-trained weights

Hi, thanks so much for the work!
However I can not download the pre-trained weights with the given links on this project page. Could you please check and update the links?
Thanks in advance!
Best,
Jun-Pu

Hi @ZHANG-Jun-Pu! Thank you for your inquiry. I just checked and I could download the weights through the links. (I checked using Safari.) If it doesn't work with a web browser you're using, you can try to download it in your terminal by using curl or wget command. For instance, type the following line in your terminal
curl -o selfmask_nq10.pt https://www.robots.ox.ac.uk/\~vgg/research/selfmask/shared_files/selfmask_nq10.pt
or
wget https://www.robots.ox.ac.uk/\~vgg/research/selfmask/shared_files/selfmask_nq10.pt
Let me know if it doesn't work.
Kind regards,
noel

Hi, thanks for the quick reply! The links are ok with Safari. Thanks!
Best,
Jun-Pu


Increase max groups in kernel

Increase the max # of groups from 128 to 1B.

@pfultz2 Can you take a look at this PR? Thanks


broken vertices when converted to generic mmd

when converted to mmd, there are a bunch of (hidden) bones that affect the vertices of the leg. even when deleting these bones, they still seem to be pulled towards something. it isn't noticeable in mmd on its own, but is present in transform views motion player and mikumikumoving
video is of a base model after conversion in transform view (also, broken shadows?)
https://streamable.com/dxwooz

in generic mmd the bones have cryptic names like bone1fa2003 this apparently is a bug in the program (if you export your model without translating the bones you will see that this weird bone becomes something like INT_KUBI_ROTx50)
those bones have utility in unity but not in mmd except for the elbows and knees.
removing them does not solve the problem, it generates others with the weight of the vertices.

in generic mmd the bones have cryptic names like bone1fa2003 this apparently is a bug in the program (if you export your model without translating the bones you will see that this weird bone becomes something like INT_KUBI_ROTx50)
those bones have utility in unity but not in mmd except for the elbows and knees.
removing them does not solve the problem, it generates others with the weight of the vertices.

oh, so they're leftovers from the usual naming convention of imas models? you said removing them doesn't solve the problem, but does that apply to just the translated bones? at least in the case of the console models, i swear removing them worked fine.

if you compare the structure of the untranslated bones you will notice that some of them have a z x y at the end of the name next to a number for example
int_ashi_momo_z50 or int_kubi_x0
the first one means that this bone rotates the same as ashi (the knee) and is related to momo (the leg) the z is the axis of rotation and the 50 means the intensity (in percentage, translated to mmd would be like .5)
the second one means that the bone will not rotate at all but its parent is kubi, usually the ones with 0 at the end have nothing rigged so those are ok to eliminate, unfortunately you have to do the ik by hand because when loading them by code or from another model mmd assumes that only those are in the chain and ignores the other bones (that's why it looks like the leg is broken)

Actually... the weired naming is not a bug. It's designed to limit the bone names to 15 bytes (in Shift-JIS encoding). The limit does not present in PMX (it uses null-terminated strings); it is due to VMD (it uses fixed-length strings).
I should add an option to not truncating these names if you only want the PMX model. But beware, PMXs without bone name truncation will not work with VMDs.


Roll Engine from e39301f23f32 to 3d621903bc83 (1 revision)

https://github.com/flutter/engine/compare/e39301f23f32...3d621903bc83
2020-06-01<EMAIL_ADDRESS>[fuchsia] NNBD: Kernel libraries for Flutter, Dart runners (flutter/engine#18714)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


User can now set custom canvas grid

Related Issue

Canvas was always set to a default size of 16x16, couldn't be changed by user

Closes: #82
Describe the changes you've made
I have added changes which now enables to set custom size to the canvas from the landing page
Type of change
What sort of change have you made:

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Mention any unusual behavior of your code (Write NA if not)
NA
Additional Info (optional)
NA
Checklist:

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.
[x] Any dependent changes have been merged and published in downstream modules.

@ankitapuri  Then I guess this is not happening, canvas size remains constant but it gets divided into X * Y boxes. For example, size of canvas for both 1X1 and 2X2 is same (with different box size)

@rish-singhal The design intentionally doesn't change the canvas size (it does change if the dimensions are non-square), because this way we could change the resolution of the cursor (brush size), rather than the actual canvas size.
For eg. a 16x16 and 45x45 would have the same canvas size, the difference is that the 45x45 would be more crisp.


font in example

Nice plugin, thanks.
What font are you using in the example?

Thank you. I use "Input Mono Condensed" from http://input.fontbureau.com/.


Handle ambiguous tags

When there is more than one term that is also a tag, a search on that tag will return the name of the tag(ambiguous). Following the link will bring up a list that doesn't match anything.

Removed where found. there may be others, please create an issue


Support differentiation through jax.lax.all_to_all

Credit to @levskaya for the solution.

This looks right, though maybe we want to add it to the tests somewhere?

Q: do we even have an easy way to meaningfully test this now?  is all_to_all implemented on xla:cpu?

Q: do we even have an easy way to meaningfully test this now? is all_to_all implemented on xla:cpu?

You can however write tests for these and disable everywhere but on TPU (see jtu.skip_on_devices), which we do test internally; I would do that in this case. If it doesn't have a test it will inevitably break and we've had some bugs with wrong derivatives for collectives before.

I believe CPU supports all-to-all now as of https://github.com/tensorflow/tensorflow/commit/052263c1305c476d1faf470dc0bfdfc24f63d501

I'm happy to add some tests. Where should I add those?

tests/api_test.py
tests/lax_test.py
tests/lax_autodiff_test.py

Added test in tests/pmap_test.py

Thanks, Anselm and Joan!


CI: fix spelling of test package name

python -m build --outdir ./dist tests/test_package now creates test_package-0.0.1.tar.gz and test_package-0.0.1-py3-none-any.whl thus this PR fixes the spelling for the CI to pass.

Ah yes. In hatchling v1.22.0

Metadata for the wheel target now defaults to the PKG-INFO metadata within source distributions

Nice.

I thought hatchling has normalized SDist names for among time? Setuptools just changed to do it too, but I though hatching basically always did it?

Yes, it’s setuptools: https://github.com/scientific-python/upload-nightly-action/blob/a5d8097406eb99827061cc20d199db55e82eef6b/tests/test_package/pyproject.toml#L2
All the other build backends have done this since nearly the beginning.

Oh right. I just totally forgot that I had to use setuptools in PR #27 because https://github.com/anaconda/anaconda-client/issues/676 blocks this. I should see if this is still the case.


[REQUEST] Implement puppeteer-extra-plugin-stealth

What would you like to have implemented?
I'm currently working on a web scraper. I have some sites that are detecting the scraping; whereas on a headful chrome it doesn't happen.
Why would it be useful?
It would be super useful to all the people that are working on scrapers and are getting detected.

same here

This video worked perfectly for me: https://www.youtube.com/watch?v=-LDzdZPsTwc&lc=UgxhheW8T5A0Gk_8UdJ4AaABAg.9sqNpmdJ1wZ9sqgPsBQXHi&ab_channel=Adrian|TheWebScrapingGuy
It seems the installation order matters, honestly not sure what made it work, but I was having the same issue and no longer


Compilation error: librealsense/rs.hpp: No such file or directory

Building librealsense from master branch using following commands:
mkdir build
cd build
make -j 4

Produces output:
/home/kotlyar/software/realsense_sdk/samples/src/fps_counter_sample/main.cpp:10:31: fatal error: librealsense/rs.hpp: No such file or directory
 #include <librealsense/rs.hpp>
                               ^
compilation terminated.

There is no file named "rs.hpp" in the source tree.

My mistake; confused the realsense_sdk and librealsense projects.

did you solve it ?

@wangzhaoguang try this https://github.com/stevenlovegrove/Pangolin/pull/190/commits/ce7ded2a0701609401b9f9df308d12540e6891a7


zos.json shows "zosversion": "2.2" when created using zos init with ZeppelinOS 2.4

Initialize zos using zos init and the created zos.json file configuration states "zosversion": "2.2"
💻 Environment
npx zos --version 2.4.0
node --version v10.16.0
Windows Subsystem for Linux - Ubuntu 18.04.2 LTS
📝 Details
Using ZeppelinOS 2.4 zos init results in a zos.json file with the zos version as 2.2.
{
  "zosversion": "2.2",
  "contracts": {},
  "dependencies": {},
  "name": "test",
  "version": "1.0.0"
}

🔢 Code to reproduce bug
mkdir test
cd test
npm init -y
npm i zos
npx zos init

Documentation states zosversion indicates the major version of ZeppelinOS.

https://docs.zeppelinos.org/docs/configuration.html
The field zosversion indicates the major version of ZeppelinOS you are using: zos.json files with a different major version are automatically rejected.

Hi @abcoathup! The zosversion field in the zos.json file is actually a manifest version. It doesn't change when a zos version is released but when we introduce changes into the structure of the zos.json file.
We are changing this field from zosversion to manifestVersion for v2.5.0.
Anyways, it seems that we are not explaining this right in the docsite. I'll tag it as a documentation issue :+1:.
Related to https://github.com/zeppelinos/zos/issues/1008.

Renamed this field to manifestVersion to avoid confusion


added release drafter for the respository

Signed-off-by: jomefavourite<EMAIL_ADDRESS>Description
This PR fixes #
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@jomefavourite perhaps, you intended this change for a different repo. Is that right?

Oh, I'm sorry
I should have asked better

Oh, I'm sorry
I should have asked better

that's fine @jomefavourite, I'd check for another issue or one needing this change and send you a message on slack.

Oh, I'm sorry
I should have asked better

Hey @jomefavourite no issues, we appreciate you contributing to the community. You can file the similar PR for this https://github.com/layer5io/meshery-cpx/issues/40 where we need to add the release-drafter!
Thanks!


Multi-step forms

Describe the feature
Functionality for multi-step forms, shown with a progress bar, step navigation and invalid state indicators for each step with errors.
Motivation
To improve the UX for forms with many fields/sections, with the intention of minimising drop off.
Proposal
Formkit provides an official addon for multi-step forms via @formkit/addons. The proposal is to enable Webform's webform_wizard_page element type in Tide, and map it to the Formkit step type that the addon provides. The entire form schema is delivered to the frontend in the same way as current, and the addon handles step visibility & navigation entirely in the frontend. Form data would be submitted in the same flat structure as current.
A draft PR for the frontend changes has been made at https://github.com/dpc-sdp/ripple-framework/pull/1167 to assist in review.
Benefits
Likely there are many government forms (currently using or planned to use SDP) which are quite lengthy and provide a UX drawback if presented as a long stack of fields, making navigation and feedback slightly clunky. Splitting into small steps to be presented one at a time would provide an easier experience and may even result in higher submission conversions.
Drawbacks
Some UX & design consideration is required, for example around form actions placement, mobile layout and styling, but these are not blockers.
Adoption strategy
Could be documented in Storybook, and Tide documentation.
Additional information

[X] Would you be willing to help implement this feature?
[ ] Could this feature be created outside of Ripple-framework as a layer?

Final checks

[X] I have read the contribution guide for information on submitting a feature request.
[X] I have checked the discussions and issues for duplicate feature requests.

Thanks for feature request @bgilhome-now - Will take it to the next feature review meeting and give you an update here about how we want to proceed


Add Anthology genre

User request
My comment:
About anthology, there was some debate earlier how to handle it, tied to a "series" feature we were planning that would allow you to display connected works together. However, given we haven't implemented that yet and I don't see any indication we will soon, I do agree an Anthology tag is warranted. Though I was arguing in favor of that even with series implemented.

added as a work kind in alpha.10


Require a new option to get all group keys

keys() Will Returns an array containing all the keys in the specified Group.
limiters() Will Return all the limiters and key in the specified group.
But We need an option to get all the limiters and all the groups, which is now available in Redis. It needs to return all the values in cluster level.
getAllKeys();
getAllLimiters();

Agreed. I'm working on some major Clustering improvements for 2.14.0. It will include this feature, called group.clusterKeys().

I've just released 2.14.0. You can now usegroup.clusterKeys(). I did not add group.clusterLimiters() because it could create a lot of load and if you need it you can just create limiters from the keys returned by group.clusterKeys().
Please let me know if you run into any issues.


HOSTEDCP-1402: cmd/infra/aws/destroy: allow using component credentials

cmd/infra/aws/iam: refactor static data
The policies in this file are statically associated with the service
account names and the user agents, and these associations are stable.
This refactor exposes the association to a) enforce the connections and
b) allow other consumers to understand it.
Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>
cmd/infra/aws: generate a delegating AWS client
When we run a cleanup task using the myriad credentials that cluster
components have, we need to delegate each call to an AWS service API to
the correct credential that has permissions to use it. We can generate
the delegating client directly from our policy documents to allow us to
keep consumer code from having to know that there are many different
clients operating under the hood in this mode.
Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>
cmd/infra/aws/destroy: allow using component credentials
Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>

Lots of failures on
    util.go:1402: Metric not found: "hypershift_cluster_silence_alerts"

/retest

/retest

/approve

Verify just needed make fmt

/hold cancel
/retest
/jira refresh

/retest

/hold cancel

/hold cancel
/retest

/override "Red Hat Konflux / hypershift-operator-main-on-pull-request"

/retest

/hold cancel

/retest

 error: unable to extract layer sha256:bcc69b473d117a90e983c625890dfa86fac65a4e72f53048af3714d51a1c4a9d from registry.build02.ci.openshift.org/ci-op-2vw69vsf/stable@sha256:1072093e3739082870fc04c0e09655044bcfcd9a809f37cc9acc92ad20f5bb86: stream error: stream ID 61; INTERNAL_ERROR; received from peer

/retest

/lgtm

/retest

Failed on client connection lost, unclear if real or not.
/retst

/retest

/retest

/retest

/hold cancel

/test e2e-kubevirt-azure-ovn

 INFO[2024-06-12T03:38:08Z] Running step e2e-kubevirt-azure-ovn-ipi-deprovision-deprovision.
{"component":"entrypoint","file":"sigs.k8s.io/prow/pkg/entrypoint/run.go:169","func":"sigs.k8s.io/prow/pkg/entrypoint.Options.ExecuteProcess","level":"error","msg":"Process did not finish before 4h0m0s timeout","severity":"error","time":"2024-06-12T03:45:42Z"}
INFO[2024-06-12T03:45:42Z] Received signal.                              signal=interrupt
INFO[2024-06-12T03:45:42Z] error: Process interrupted with signal interrupt, cancelling execution...
INFO[2024-06-12T03:45:42Z] cleanup: Deleting release pod release-images-initial
INFO[2024-06-12T03:45:42Z] cleanup: Deleting release pod release-latest
INFO[2024-06-12T03:46:59Z] Step e2e-kubevirt-azure-ovn-ipi-deprovision-deprovision succeeded after 8m50s.

sigh

    util.go:854: pod control-plane-operator-84958f595b-c4wg7 over budget: budget: 4200, actual: 6495
                --- FAIL: TestNodePool/HostedCluster0/PostTeardown/EnsureAPIBudget/control-plane-operator_mutate (0.04s)

not seeing anything obvious ...
/test e2e-kubevirt-azure-ovn


Fix task list checkbox toggle to work with YAML front matter (#25184)

Backport #25184 by @jtran
Fixes #25160.
data-source-position of checkboxes in a task list was incorrect whenever there was YAML front matter.  This would result in issue content or PR descriptions getting corrupted with random x or space characters when a user checked or unchecked a task.

duplicated with #25227


ERROR while training ( tensorflow.python.framework.errors_impl.NotFoundError)

hello . first I'm sorry for my weak english lang.
Would you please help me to fix this problem?

I have object-detection.pbtxt and I gave different models path in command but I got same error again
I follow this youtube  video https://www.youtube.com/watch?v=JR8CmWyh2E8

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 29 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 44 days with no activity and the awaiting response label was assigned. Is this still an issue?

We are closing this issue for now due to lack of activity. Please comment if this is still an issue for you. Thanks!


Remove actor libs from meta_path when exiting context

This allows running actors tests safely within one pytest
session.

Can one of the admins verify this patch?

When running this code with https://github.com/oamg/leapp-repository/pull/500, the pytest execution fails with:
...
=================================================================================================== 529 passed, 5 skipped in 13.04 seconds ===================================================================================================
Exception ignored in: <generator object injected_context at 0x7ff63b389b48>
Traceback (most recent call last):
  File "/root/leapp-repository/tut/lib/python3.6/site-packages/leapp/repository/actor_definition.py", line 273, in injected_context
AttributeError: 'NoneType' object has no attribute 'pop'

Closing this because now it creates more problems, than solves. When running pytest for all actors sys.meta_path being accumulated indeed. However, this doesn't affect the testing process, because there are no libraries with the same name anymore.


nixos/initrd-ssh: set more defensive pemissions on sshd test key

Motivation for this change
Make nixos-install not fail on extraUtilsCommandsTest for initrd-ssh.
It looks like the test sshd key can never be used, because of too open permissions in the store. But since sshd tries all available keys one by one, my guess is that the test script starts working fine once the user defined ssh-hostkey has been copied into initrd.
At "nixos-install" however, the user specified host key is not present in initrd fs yet and validation fails.
fixes #91486
cc @sorpaas @reyman @emilazy
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Running into the same problem here. This fixes it. Thanks!

Seems fine to me too!


Restrict buckyAnnouncement feature items to authenticated users.

So that Bucky doesn't pop up in not-logged-in experience.
( authenticated-UW-Madison )
Before, on public.predev :

Coverage remained the same at 15.784% when pulling eb8b43999f5b846840ab71caf948a0782a5182ef on apetro:MUMMNG-2267-authenticated into 97abe1b3b2ec5e4837708b0c6526b22b3a4eace9 on UW-Madison-DoIT:master.


Multiple caches

Doing
CACHES = values.CacheURLValue(...)

is nice in that it automatically wraps django-cache-url so I can just supply a URL.
But makes it impossible to do multiple caches. By overriding alias I can change it from "default" but can't have "default" and "someotherkey".
@amureki suggested you write a callable property. But then I lose the value of what values.CacheURLValue offers.

I tried this:
    @property
    def CACHES(self):
        caches = {
            'default': values.CacheURLValue(
                'redis://redis-cache:6379/1',
                environ_name='REDIS_URL',
            ),
            'persistent': values.CacheURLValue(
                'redis://redis-store:6379/1',
                alias='persistent',
                environ_name='REDIS_STORE_URL',
            )
        }
        return caches

But when you inspect it, it's not "hydrated". I.e.
>>> django.conf import settings
>>> type(settings.CACHES['default'])
<class 'configurations.values.CacheURLValue'>

Seems very related: https://github.com/jazzband/django-configurations/issues/97

Here's how I ended up solving it:
    CACHES = {
        'default': django_cache_url.config(
            default='redis://redis-cache:6379/1',
            env='REDIS_URL',
        ),
        'store': django_cache_url.config(
            default='redis://redis-store:6379/1',
            env='REDIS_STORE_URL',
        )
    }

We should add @peterbe's solution to the docs via https://github.com/jazzband/django-configurations/issues/36#issuecomment-445610301.


Unflatten

This undoes some of the refactoring of the public folder 4 months ago. JS/WASM and CootWorker are still in top level, but css, pixmaps, tutorials, etc. are moved to baby-gru once more.
In addition a minor change allows moorhen to be served from non-root folder of server.  This should make for more flexible deployment options, at least in testing.

Merge unflatten branch which undoes some of public folder refactoring earlier in year.


Error Shapely M1(Apple Silicon)

My actions before raising this issue

[ X ] Read/searched the docs
[ X ] Searched past issues

Expected Behaviour

Now, I have the new mac m1. There are some issues with some libraries like Shapely.
Current Behaviour

When I'm building the docker, there is an issue with Shapely library.
Possible Solution

The solution is here: https://github.com/Toblerity/Shapely/issues/1080
Steps to Reproduce (for bugs)

Building the docker

Context

I can't work at this moment.
Your Environment

Docker
MacOS
M1 Apple Silicon (ARM)

Next steps
You may join our Gitter channel for community support.

Hi @johnnync13
Can you please provide more details on the issue?
IMHO M1 is a new CPU which is not fully supported by different dependencies yet. I am not sure it is direct CVAT issue, because CVAT is just a web app built on many 3rdparty components.

I would like to test CVAT with m1 as tensorflow v2.4.0 is compatible with Apple Silicon.
I attach the image @bsekachev

Did somebody make docker build run on an M1 Mac?

The fix is possible by adding this in your Dockerfile
RUN apt-get update && apt-get install -y \     libgeos-dev

@AlexeyAlexeevXperienceAI
Can you share your experience of running on M1?

I didn't have problems with libgeos in Docker.
As I see installing libgeos-dev is added to Dockerfile recently and the issue needs to be checked on the current version.
@johnnynunez Can you please check the current version? Do you still have an error?
If you have issues with tensorflow, maybe version updating of tensorflow in 'cvat/requirements/base.txt' to 2.10.0rc2 can fix it. Also, I found that sometimes version tensorflow-macos=2.9.2 works.
Also for my case I needed update version psycopg2-binary to 2.9.3

After changing to tensorflow-aarch64==2.11.0 in cvat/requirements/base.txt and to psycopg2-binary==2.9.3 in cvat/requirements/production.txt, as proposed by @AlexeyAlexeevXperienceAI, I was able to build CVAT on my arm/aarch64 machine - with one exception: cvat_opa build seems to fail and when I try to run CVAT I get this error:
$ docker-compose up cvat_opa
WARNING: The no_proxy variable is not set. Defaulting to a blank string.
cvat_opa is up-to-date
Attaching to cvat_opa
cvat_opa                | exec /opa: exec format error

It seems, however, that OPA does support the arm achitecture. Any ideas how I can build OPA for CVAT on arm?

Did somebody make docker build run on an M1 Mac?

For any easy fix, I've found that adding platform: linux/x86_64 to cvat service in docker-compose.dev.yml solves the problem for me, and I am able to build on an M1 chip.

Hello!
Could you suggest where should I insert the platform: linux/x86_64 within this yaml file?
`#
Copyright (C) 2021-2022 Intel Corporation
Copyright (C) 2022 CVAT.ai Corporation

SPDX-License-Identifier: MIT

services:
cvat_server:
build:
context: .
args:
http_proxy:
https_proxy:
socks_proxy:
CLAM_AV:
INSTALL_SOURCES:
CVAT_DEBUG_ENABLED:
command: '-c supervisord/server.conf'
environment:
CVAT_DEBUG_ENABLED: '${CVAT_DEBUG_ENABLED:-no}'
CVAT_DEBUG_PORT: '9090'
# If 'yes', wait for a debugger connection on startup
CVAT_DEBUG_WAIT: '${CVAT_DEBUG_WAIT_CLIENT:-no}'
ports:
- '9090:9090'
cvat_worker_default:
command: -c supervisord/worker.default.conf
environment:
# For debugging, make sure to set 1 process
# Due to the supervisord specifics, the extra processes will fail and
# after few attempts supervisord will give up restarting, leaving only 1 process
# NUMPROCS: 1
CVAT_DEBUG_ENABLED: '${CVAT_DEBUG_ENABLED:-no}'
CVAT_DEBUG_PORT: '9092'
ports:
- '9092:9092'
cvat_worker_low:
command: -c supervisord/worker.low.conf
environment:
# For debugging, make sure to set 1 process
# Due to the supervisord specifics, the extra processes will fail and
# after few attempts supervisord will give up restarting, leaving only 1 process
# NUMPROCS: 1
CVAT_DEBUG_ENABLED: '${CVAT_DEBUG_ENABLED:-no}'
CVAT_DEBUG_PORT: '9091'
ports:
- '9091:9091'
cvat_ui:
build:
context: .
args:
http_proxy:
https_proxy:
no_proxy:
socks_proxy:
dockerfile: Dockerfile.ui
cvat_opa:
ports:
- '8181:8181'
`

Did somebody make docker build run on an M1 Mac?

For any easy fix, I've found that adding platform: linux/x86_64 to cvat service in docker-compose.dev.yml solves the problem for me, and I am able to build on an M1 chip.

Hello, does this comment fix the issue? In case could someone share an updated docker-compose.dev.yml for Mac silicon users?

Did somebody make docker build run on an M1 Mac?

For any easy fix, I've found that adding platform: linux/x86_64 to cvat service in docker-compose.dev.yml solves the problem for me, and I am able to build on an M1 chip.

It runs for me. but in rosetta emulation. and perhaps because of which I cannot use the tool. http://localhost:8080/ just stays for a while in "connecting" and then displays error message

and this is how the Docker Desktop looks

It seems that during the initial cvat_server migration, the M1(I use M1 Mac Pro 13inch) gets overloaded and ends up killing the cvat_server by itself, and the same happens with clickhouse.
So, I first ran docker compose up only for the cvat_server, and then, after a certain log appeared, I tried running the entire system with docker compose up -d. It worked occasionally, haha (but not always).

Please keep this in mind.

It seems that during the initial cvat_server migration, the M1(I use M1 Mac Pro 13inch) gets overloaded and ends up killing the cvat_server by itself, and the same happens with clickhouse.
So, I first ran docker compose up only for the cvat_server, and then, after a certain log appeared, I tried running the entire system with docker compose up -d. It worked occasionally, haha (but not always).

@bigstones' solution for Mac M1 works perfectly for me! Here's how to implement it:

Start only the cvat_server service by running: docker compose up -d cvat_server.

Wait for the server to start. You can check its status by running docker logs -f cvat_server. You should see the following lines in the logs:

2024-02-26 12:59:02,096 DEBG 'uvicorn-1' stdout output:
INFO:     <IP_ADDRESS>:0 - "GET /api/auth/rules HTTP/1.0" 200 OK

Once the server is up and running, proceed with the usual steps by running docker compose up -d.

This isn't working in my case. I am again getting the prompt to upgrade when starting the webpage.

Wait for the server to start. You can check its status by running docker logs -f cvat_server. You should see the following lines in the logs:

I am getting the following logs while starting up the cvat_server
2024-03-03 19:13:22,278 INFO success: nginx-0 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-03-03 19:13:22,278 INFO success: smokescreen entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-03-03 19:13:22,278 INFO success: uvicorn-0 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-03-03 19:13:22,278 INFO success: uvicorn-1 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-03-03 19:13:23,177 DEBG 'uvicorn-0' stderr output:
INFO:     Started server process [77]

2024-03-03 19:13:23,177 DEBG 'uvicorn-0' stderr output:
INFO:     Waiting for application startup.

2024-03-03 19:13:23,178 DEBG 'uvicorn-0' stderr output:
INFO:     ASGI 'lifespan' protocol appears unsupported.

2024-03-03 19:13:23,178 DEBG 'uvicorn-0' stderr output:
INFO:     Application startup complete.

2024-03-03 19:13:23,181 DEBG 'uvicorn-0' stderr output:
INFO:     Uvicorn running on socket /tmp/uvicorn.sock (Press CTRL+C to quit)

2024-03-03 19:13:23,231 DEBG 'uvicorn-1' stderr output:
INFO:     Started server process [78]

2024-03-03 19:13:23,232 DEBG 'uvicorn-1' stderr output:
INFO:     Waiting for application startup.

2024-03-03 19:13:23,232 DEBG 'uvicorn-1' stderr output:
INFO:     ASGI 'lifespan' protocol appears unsupported.

2024-03-03 19:13:23,233 DEBG 'uvicorn-1' stderr output:
INFO:     Application startup complete.

2024-03-03 19:13:23,235 DEBG 'uvicorn-1' stderr output:
INFO:     Uvicorn running on socket /tmp/uvicorn.sock (Press CTRL+C to quit)

2024-03-03 19:13:24,993 DEBG 'uvicorn-1' stdout output:
INFO:     <IP_ADDRESS>:0 - "GET /api/auth/rules HTTP/1.0" 200 OK

2024-03-03 19:13:33,392 DEBG 'uvicorn-0' stdout output:
INFO:     <IP_ADDRESS>:0 - "GET /api/auth/rules HTTP/1.0" 304 Not Modified

2024-03-03 19:13:45,395 DEBG 'uvicorn-1' stdout output:
INFO:     <IP_ADDRESS>:0 - "GET /api/auth/rules HTTP/1.0" 304 Not Modified

2024-03-03 19:13:58,967 DEBG 'uvicorn-0' stdout output:
INFO:     <IP_ADDRESS>:0 - "GET /api/auth/rules HTTP/1.0" 304 Not Modified

2024-03-03 19:14:04,071 DEBG 'uvicorn-0' stdout output:
INFO:     <IP_ADDRESS>:0 - "GET /api/auth/rules HTTP/1.0" 304 Not Modified

2024-03-03 19:14:10,382 DEBG 'uvicorn-1' stdout output:
INFO:     <IP_ADDRESS>:0 - "GET /api/auth/rules HTTP/1.0" 304 Not Modified

It got fixed by using docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build \   cvat_opa cvat_db cvat_redis_inmem cvat_redis_ondisk cvat_server by setting
export DOCKER_DEFAULT_PLATFORM=linux/amd64


Adding in support for backup download

Fixes #16

Adding in support for a new download subcommand of backup
Refactored the config -> cloud provider code for reuse in cli

Signed-off-by: Justin Nauman<EMAIL_ADDRESS>

Hi @jrnt30, thanks for submitting! One of the (unwritten; need to write them down!) design principles we have for Ark is to limit the need for cloud provider credentials solely to the Ark pod. We want to keep them away from users. If/when we add multi-tenancy/multi-user support to Ark, most users won't have access to the cloud provider credentials.
I've been working on a similar PR - downloading a backup's log file from object storage - and I initially approached it by trying to add a web server to the pod. The ark CLI would talk to the web server (via ingress or some other means), the server would download the log file from object storage and stream it back to the CLI. While it was easy to do an insecure web server with no TLS, authentication, or authorization, we need those things, which brings me to...
I had a lengthy chat with @jbeda, @mattmoyer, and @timothysc yesterday about how to allow ark CLI users to download a backup, its logs, etc. We discussed various options:

Store the resource as a CRD (e.g. BackupLog in my case)
Web server as I mentioned above

Delegate authn/authz to kube apiserver
Aggregate web server with kube apiserver

Signed URLs from object storage (e.g. as described here for gcp, azure, and s3)

We've learned the hard way from past experiences that 1 is not a viable option. There's a strong likelihood that you'll exceed the typical data capacity in etcd at some point this way. Also, we probably shouldn't be sending potentially large amounts of data through the kube apiserver.
Option 2 is getting closer, but the amount of work you have to do to operate a custom server (TLS certs and so on) is high. Also, I think the cost of maintaining this is higher than we'd want to deal with right now - the k8s.io/apiserver framework is still under heavy development.
This brings us to option 3, which is what we think we need to do for the time being. We can start by creating pre-signed URLs that expire when the backup itself expires. We can store these URLs in the backup.status struct. We'll need 1 for the backup tarball and 1 for the log file.
If you're ok with this approach, you could make the changes for the backup tarball here, and I can do the same thing for the backup log. WDYT?

We would need to agree on how we generate pre-signed URLs. I suggest we add this to ObjectStorageAdapter:
CreatedSignedURL(bucket, key string, lifetime time.Duration) error

This is an interesting problem and I appreciate the context and explanation.  I hadn't considered this for that particular use case around the multi-tenant environment, your point makes a lot of sense and is something that would be great to address in a transparent fashion as you noted.
For now, the pre-signed URL seems like a viable solution, although I have only used AWS "for real" and would need to take a look at the other providers (and Minio, etc.) to see if that is something that is universally available.  I will think through some of the implications of pre-generating the pre-signed URLs for those files.  It certainly makes the integration between the ARK client and ARK server easier, as the download command would just need to be adjusted a little bit.
I need to look into the lifecycle of the CRDs deeper to understand how that plays in with the server.  My initial thought would be that adding in support to generate the signed url on demand with a lower TTL instead of pre-generating them would be my preference, but I don't fully understand what the implications of doing that would be yet.
Option 2 - The transparent (to the user) proxy via Ark would be handy although for large backups that may be a non-trivial amount of traffic being generated through Ark simply to provide that layer of abstraction. One approach could be to have Ark API to do the auth & then redirect the user to a provider pre-signed URL. If there are cloud-providers that don't allow this then we could actually have Ark serve as the "real" proxy.  As you continue to work on that, I'd be interested in learning a bit more about how that interaction works.

My initial thought would be that adding in support to generate the signed url on demand with a lower TTL instead of pre-generating them would be my preference, but I don't fully understand what the implications of doing that would be yet.

We discussed this briefly yesterday. If we don't want to have a pre-signed URL that lives as long as the backup does, we have some options:

Create the pre-signed URL with a short lifespan, and have one of the controllers refresh it periodically
A new BackupDownloadRequest CRD

ark POSTs it to kube apiserver and watches it for changes
A new controller sees the request, generates a pre-signed URL, and updates the BackupDownloadRequest with the URL
ark's watch sees the changed BackupDownloadRequest and it uses its URL to download the file
The controller periodically GCs expired requests

Option 2 - The transparent (to the user) proxy via Ark would be handy although for large backups that may be a non-trivial amount of traffic being generated through Ark simply to provide that layer of abstraction. One approach could be to have Ark API to do the auth & then redirect the user to a provider pre-signed URL.

You sort of get this OOTB with storing the pre-signed URL in either the Backup or my proposed BackupDownloadRequest. If you have access to get ark.heptio.com/v1 Backups, you're authorized to download the backup.

If there are cloud-providers that don't allow this then we could actually have Ark serve as the "real" proxy. As you continue to work on that, I'd be interested in learning a bit more about how that interaction works.

I don't see us doing this any time soon. API aggregation has a high enough barrier to entry that I think it would turn people away right now (from an installation perspective).

FYI I'm about 2/3 of the way through implementing CreateSignedURL for the 3 cloud providers.

FYI not feeling well today. Will try to get something posted tomorrow or later tonight if I'm better.

hope you get to feeling better!

@jrnt30 @ncdc just the one nit on godoc, which @ncdc can tweak in his restore logs PR. LGTM!


support for accent color (hue only)

this is a basic implementation of changing all the theme colors, by choosing an accent color. I just opened this PR for feedback (@WillsterJohnson), as I think changing all colors at the same time is too much and there are many combinations that look bad.

Also for fun, chuck this in a Plugin constructor and load it which running this branch of the theme.

If I figure out how to do that, sure. Also is the script doing what I think it is doing? :D
Maybe it would be better, that the accent color changes the UI only and the markdown stays the way it is now. And/or we could ditch the accent color and provide a few color presets (that look good) instead.

If I figure out how to do that, sure. Also is the script doing what I think it is doing? :D

Oh yes, yes it is
Go to .obsidian/plugins//main.js, ctrl+f for class and find one which extends Plugin then edit the constructor. This is fairly easy in style settings as the code isn't minified.

the accent color changes the UI only and the markdown stays the way it is now

I feel like that wouldn't be great, personally I use live preview so if my markdown is a different color to my preview it's gonna jump from one to another. I think the accent color is fine, if someone picks a hue that looks awful they can simply pick a different one. Code above shows that most hues are good enough.

editing mode and preview mode would be the same style of course. I meant it changes the UI, e.g. when you open the settings page.

Code above shows that most hues are good enough.

I guess you're right.

just checked out the script and ...yeah this is exactly what was missing in my life :D. Joking aside it might come in handy testing all color options simultaneously.

It can be done in CSS;
@property --global-hue {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

@keyframes huehuehue {
  0%   { --global-hue: 0;   }
  50%  { --global-hue: 180; }
  100% { --global-hue: 360; }
}

.theme-dark {
  --accent-hue-pink:calc(var(--global-hue));
  --accent-hue-red:calc(var(--global-hue) + 51);
  --accent-hue-orange:calc(var(--global-hue) + 102);
  --accent-hue-yellow:calc(var(--global-hue) + 153);
  --accent-hue-green:calc(var(--global-hue) + 204);
  --accent-hue-cyan:calc(var(--global-hue) + 255);
  --accent-hue-purple:calc(var(--global-hue) + 306);
  --accent-hue-purple-pink:calc(var(--global-hue) + 346);
}

Which means we can totally add it as an option...

Which means we can totally add it as an option...

We can totally add this as an option.


PL/Rust integration and usage

Hi PL/Rust Team,
Thanks for making such an awesome project! My experience is in using PL/pgSQL. My 2 main issues with PL/pgSQL are that it's interpreted rather than compiled, and the syntax is a bit esoteric. PL/Rust looks to solve both of these and that makes me very excited. My intention is to call Postgres functions written in PL/Rust from Rust web server code.
The idea here is to use PL/Rust to handle transactions and avoid multiple round-trips to the DB. I started reading through the tests.rs file which has given me some insight into how to use PL/Rust but want to learn more about how to integrate it into a project with actix-web and tokio.
Also - I'm curious, are spi:: r#"" function calls checked at compile-time?
Thank you!

I started reading through the tests.rs file which has given me some insight into how to use PL/Rust but want to learn more about how to integrate it into a project with actix-web and tokio.

I am... not entirely sure about how to parse this question? There are two interpretations, one is "directly, using PL/Rust to put tokio into the DB" and one is "using the typical web server + DB setup".

Directly, in Postgres: It is... problematic to do directly because of the single-threaded nature of Postgres, so it is erroneous to call into Postgres while not on the main thread if you are running inside Postgres, and tokio will by default do a multithreaded runtime.
Two processes: When you are two processes using interprocess communication (i.e. web server, DB, and a socket), you can "simply" install PL/Rust on Postgres ("""simply"""... our docs are poor at the moment) and create and call functions over the DB connection in the usual manner with SQL. PL/Rust code will run on the DB and handle whatever you have told it to handle.

Also - I'm curious, are spi:: r#"" function calls checked at compile-time?

It depends on what you mean exactly but the answer is probably "not nearly enough", we're looking to improve that.

I meant two processes (web server + DB) but the thought (although impractical) of running a web server inside Postgres is really interesting haha. What is the timeline on the docs for IPC being ready? And do you have any advice/guidance in the meantime?
What I mean by compile-time checked is that it’s validated that the PL/Rust functions do indeed exist and have the same parameters as the spi:: r#”SELECT …” call. Unsure if this is the case yet or isn’t.
Thank you for the detailed answer, I really appreciate it!

@workingjubilee @rustprooflabs Looking forward to hearing your insight on this.

Hi @farazfazli
Using PL/Rust functions from any kind of application will be similar to using PL/pgSQL functions from the same application. You'll connect to PostgreSQL and run SQL queries that call the PL/Rust functions.  Connections between the app and database will be done using standard connections to PostgreSQL. If webapp/db are on the same host you can connect using sockets described here. More commonly, the app and the database are not on the same host and connect over the network using a connection string like postgres://username:[password]@host_ip_or_name/database:5432.
The PL/Rust documentation is starting to come together with examples of creating functions, using logging, and triggers.  The SPI section has a simple example, that should be expanded soon. Hopefully this helps answer some of your questions.
Beyond these topics I am not sure exactly what you are asking for.  If you can elaborate on what you're trying to accomplish we'll do our best to address that.

Hey @rustprooflabs,
Thanks for the detailed response, I really appreciate it. What I'm trying to do is create database functions in Rust which use SQL transactions. Do you have any example of this?

Hi @rustprooflabs,
Is SPI the recommended way to communicate with the database from PL/Rust?
Also from my understanding of https://tcdi.github.io/plrust/functions/return-type.html#why-result-boxdyn-stderrorerror--send--sync--static it seems that the default behavior for PL/Rust is to treat each function as a transaction, is that right?
Thank you.


AlertsService is not defined

If the "Save metadata" operation fails, then in the console log I can see the message:
PUT XHR https://cirm-dev.isrd.isi.edu/ermrest/catalog/1/entity/Microscopy:v_scan [HTTP/1.1 409 Conflict 46ms]

Error: AlertsService is not defined
error@https://cirm-dev.isrd.isi.edu/chaise/viewer/image-metadata/metadata.controller.js?v=1d46d9d04a0a8059fa7e0e040e642499:32:17
processQueue@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:15961:28
scheduleProcessQueue/<@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:15977:27
$RootScopeProvider/this.$get</Scope.prototype.$eval@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:17229:16
$RootScopeProvider/this.$get</Scope.prototype.$digest@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:17045:15
$RootScopeProvider/this.$get</Scope.prototype.$apply@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:17337:13
done@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:11572:36
completeRequest@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:11778:7
requestLoaded@https://cirm-dev.isrd.isi.edu/chaise/scripts/vendor/angular.js:11711:1

@svoinea please provide more information. Which app is this? Who should be working on this?

Already talked to Jessie. It's a minor correction to be done.

@howdyjessie please fix this or tell @svoinea what need to be done.

This has been fixed via d9ed3169054ea8d56b19d7e0a890ba880da5e590.


need to have delete=False, otherwise crash on Windows

On Windows if not have delete=False parameter, the temporary file gets deleted before finishing processing, causing subprocess crashing.

Can you provide the error you are getting? Setting delete=False would take up unnecessary disk space, so let's find another solution.

According to the documentation of the tempfile.NamedTemporaryFile function for python3:
https://docs.python.org/3/library/tempfile.html
tempfile.NamedTemporaryFile(mode='w+b', buffering=None, encoding=None, newline=None, suffix=None, prefix=None, dir=None, delete=True)
This function operates exactly as TemporaryFile() does, except that the file is guaranteed to have a visible name in the file system (on Unix, the directory entry is not unlinked). That name can be retrieved from the name attribute of the returned file-like object. Whether the name can be used to open the file a second time, while the named temporary file is still open, varies across platforms (it can be so used on Unix; it cannot on Windows NT or later). If delete is true (the default), the file is deleted as soon as it is closed. The returned object is always a file-like object whose file attribute is the underlying true file object. This file-like object can be used in a with statement, just like a normal file.

Executing on Windows the execution goes smooth until finish "Converting speech regions to FLAC files". Once it starts the second step it crashes, what makes sense according to the documentation... that say tath on Windows the temp file cannot be opened a second time.
On Linux and Mac it is not a problem... only on Windows... follows below the output that I get:
C:\Users\ADHIPA~1\AppData\Local\Temp\tmpc956l1li.flac: Permission denied-:--:--
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "C:\Program Files\Python37\lib\multiprocessing\pool.py", line 121, in worker
result = (True, func(*args, **kwds))
File "C:\Users\Adhipanyo\Desktop\pyTranscriber\autosub_init_.py", line 69, in call
subprocess.check_output(command, stdin=open(os.devnull), shell=use_shell)
File "C:\Program Files\Python37\lib\subprocess.py", line 395, in check_output
**kwargs).stdout
File "C:\Program Files\Python37\lib\subprocess.py", line 487, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ffmpeg', '-ss', '2.0540000000000003', '-t', '3.3160000000000025', '-y', '-i', 'C:\Users\ADHIPA~1\AppData\Local\Temp\tmp4t_awo3q.wav', '-loglevel', 'error', 'C:\Users\ADHIPA~1\AppData\Local\Temp\tmpc956l1li.flac']' returned non-zero exit status 1.
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File ".\test_win.py", line 5, in
generate_subtitles("C:/Users/Adhipanyo/Desktop/vm-share/A message from the Prime Minister.mp3", "output.srt", 10, "en", "en")
File "C:\Users\Adhipanyo\Desktop\pyTranscriber\autosub_init_.py", line 252, in generate_subtitles
for i, extracted_region in enumerate(pool.imap(converter, regions)):
File "C:\Program Files\Python37\lib\multiprocessing\pool.py", line 748, in next
raise value
subprocess.CalledProcessError: Command '['ffmpeg', '-ss', '2.0540000000000003', '-t', '3.3160000000000025', '-y', '-i', 'C:\Users\ADHIPA~1\AppData\Local\Temp\tmp4t_awo3q.wav', '-loglevel', 'error', 'C:\Users\ADHIPA~1\AppData\Local\Temp\tmpc956l1li.flac']' returned non-zero exit status 1.
C:\Users\ADHIPA~1\AppData\Local\Temp\tmpru09lx9t.flac: Permission deniedC:\Users\ADHIPA~1\AppData\Local\Temp\tmpzh75jedv.flac: Permission deniedC:\Users\ADHIPA~1\AppData\Local\Temp\tmp8gbiznqe.flac: Permission denied
C:\Users\ADHIPA~1\AppData\Local\Temp\tmpq6hhprb3.flac: Permission denied

I see. Do you mind adding a line to remove the temporary file once you're done getting its contents? After that the PR will be ready to be merged 👍

Thanks!


[RMT] Make rmt_channel_t public or add getters for 'basic' settings (IDFGH-9206)

Is your feature request related to a problem?
It might be a good idea to add simple getters for some parts of RMT channels. The struct is currently defined as follows
struct rmt_channel_t {
    int channel_id;         // channel ID, index from 0
    int gpio_num;           // GPIO number used by RMT RX channel
    uint32_t channel_mask;  // mask of the memory blocks that occupied by the channel
    size_t mem_block_num;   // number of occupied RMT memory blocks
    rmt_group_t *group;     // which group the channel belongs to
    portMUX_TYPE spinlock;  // prevent channel resource accessing by user and interrupt concurrently
    uint32_t resolution_hz; // channel clock resolution
    intr_handle_t intr;     // allocated interrupt handle for each channel
    rmt_fsm_t fsm;          // channel life cycle specific FSM
    rmt_channel_direction_t direction; // channel direction
    rmt_symbol_word_t *hw_mem_base;    // base address of RMT channel hardware memory
    rmt_symbol_word_t *dma_mem_base;   // base address of RMT channel DMA buffer
    gdma_channel_handle_t dma_chan;    // DMA channel
    esp_pm_lock_handle_t pm_lock;      // power management lock
#if CONFIG_PM_ENABLE
    char pm_lock_name[RMT_PM_LOCK_NAME_LEN_MAX]; // pm lock name
#endif
    // RMT channel common interface
    // The following IO functions will have per-implementation for TX and RX channel
    esp_err_t (*del)(rmt_channel_t *channel);
    esp_err_t (*set_carrier_action)(rmt_channel_t *channel, const rmt_carrier_config_t *config);
    esp_err_t (*enable)(rmt_channel_t *channel);
    esp_err_t (*disable)(rmt_channel_t *channel);
};

While I agree that most of those members should not concern users some information, e.g. the channel_id, might be pretty important. For example, consider some code which might use RMT transmission and then change to some GPIO bitbanging for a wired-or response which needs to read the pin level.
Currently this requires users to delete the whole channel configuration and reconfigure the pin as GPIO although a simple call to the GPIO matrix could be sufficient as well. The problem is though, users have pretty much no way of telling which RMT channel they are even using... I was pretty surprised that some of my code makes use of channel 0+2 and not 0+1.
So code like the the one in rmt_new_tx_channel to configure the GPIO matrix is simply not possible without hardcoding the group and channel id:
esp_rom_gpio_connect_out_signal(config->gpio_num,
                                rmt_periph_signals.groups[group_id].channels[channel_id + RMT_TX_CHANNEL_OFFSET_IN_GROUP].tx_sig,
                                config->flags.invert_out, false);

Describe the solution you'd like.
No response
Describe alternatives you've considered.
No response
Additional context.
No response

Hi @higaski Thank you for the feed back. Yes, we can expose more getters if necessary. Firstly, I'd like to check if the current API can satisfy your requirement.

consider some code which might use RMT transmission and then change to some GPIO bitbanging for a wired-or response which needs to read the pin level.

Have you tried this io_loop_back ?

I don't think it helps in my particular case. I'd still need to manually toggle the GPIO pin bound to the RMT channel and I don't think that's possible without re-configuring the GPIO matrix?

I don't think it helps in my particular case. I'd still need to manually toggle the GPIO pin bound to the RMT channel and I don't think that's possible without re-configuring the GPIO matrix?

Yes, if that's the case, we need to reconfigure the GPIO matrix. Otherwise, you will have to delete the RMT channel and reinstall it later.


[ja] fix: update deprecated command in code example

[ja] fix: update deprecated command in code example

/remove-language zh

Thanks for your contribution.
But this PR is duplicated with #43594 which I have already reviewed.
/close


[FLUME-3133] Add a 'ipHeader' config in both tcp and udp syslog source

When I use the syslog source, I use the "host" header to tell where the event come from.However, when change the format of syslog service, the "host" header willl be missing.
So I add a new config named "ipHeader" which looks like the "portHeader" in Multiport Syslog TCP Source.
When this config is specified, a header will be added.
For more detail:
https://issues.apache.org/jira/browse/FLUME-3133

Hi @lingjinjiang ,
Thank you for the pull request!
If I'm not mistaken, this change adds new configuration options.
Can you please add the necessary modifications to FlumeUserGuide.rst?
Thank you,
Donat

Hi @bessbd ,
Thanks for your review.
I have updated the flume user guide.

Hi @lingjinjiang,
Could you please help me to understand the problem this PR solves?
"However, when the syslog format is changed, the "host" header will miss."
Maybe the SyslogParser needs fixing.
Thanks,
Endre

Can one of the admins verify this patch?


the error screen is displayed after login

I'm using authMode is PKCE. iOS Version is 6.3.0。
After logging in, an error screen appears, As for this phenomenon, where am i missing setting?
thanks for help me.

@awe-mt
thanks for your help.
The following code
let configuration = MTLConfiguration()
configuration.environment = .staging
configuration.scopes = [
            MTLClientScopeGuestRead,
            MTLClientScopeAccountsRead,
            MTLClientScopeTransactionsRead
]
let mtLinkClient = MTLinkClient(configuration: configuration)

I need to set any other values？

Thank you. We will investigate and try to get back to you early next week.

@awe-mt
Hi team,
Do you have any progress?

@zzpmaster We have updated a misconfiguration for your client and you should be able to login with the SDK. Could you please try again? Thank you.

@zzpmaster We have updated a misconfiguration for your client and now you should be able to login with the SDK. Could you please try again? Thank you!

@awe-mt
Thanks so much!
After clicking the login button, it keeps showing the loading icon.  After dozens of seconds, the loading icon disappears and the page does not jump. Need to update the SDK？

@zzpmaster With the configuration of the SDK you previously shared, I could not reproduce this problem. Is this still happening on your side?

@mt-erik
it works very well. Thanks so much!  Worked like a charm.


(BOLT-655) Add loglevel and logfile

Adds logging. Sets Bolt logging based on loglevel (default 'notice'). Logs all messages to console, or to logfile if configured.
Also refactors to use the Puma CLI and restrict hosting to localhost.

CLA signed by all contributors.


tests/end_to_end/test_gestalt should use SimulatedBackend.

The end-to-end tests should allocate a SimulatedBackend, and run some simple tests on it. For example, we should

Write a server config file to a tmp file, and pass this to the server using the '-f' argument. This allows us to set the simulator parameters, such as VARIANT_DENSITY and NUM_VARIANT_SETS.
We can then test the output of the client to see if it matches. For example, we can run a search-variantsets, and verify the number of lines written to stdout is correct. If we set VARIANT_DENSITY to 1, then we can also verify that the number of lines written to stdout for a variants-search is correct. For example, if we run

$ python client_dev.py variants-search http://localhost:8000/v0.5.1 -s0 -e2

we should get 2*NUM_VARIANT_SETS lines in the output. This tests a lot of different aspects of the system and would be a very useful test.

Running that client command doesn't produce any results.
With:
$ python server_dev.py -c TestConfig

We get:
$ python client_dev.py -vv variants-search http://localhost:8000/v0.5.1 -s0 -e2
ga4gh.client: POST http://localhost:8000/v0.5.1/variantsets/search
ga4gh.client: json request:
ga4gh.client: {
    "datasetIds": [],
    "pageSize": null,
    "pageToken": null
}
ga4gh.client: json response:
ga4gh.client: {
    "nextPageToken": null,
    "variantSets": []
}
ga4gh.client: POST http://localhost:8000/v0.5.1/variants/search
ga4gh.client: json request:
ga4gh.client: {
    "callSetIds": [],
    "end": 2,
    "pageSize": 100,
    "pageToken": null,
    "referenceName": "1",
    "start": 0,
    "variantName": null,
    "variantSetIds": []
}
ga4gh.client: json response:
ga4gh.client: {
    "nextPageToken": null,
    "variants": []
}

We can't just use the bottled TestConfig here @dcolligan because it has an 'EMPTY' variant set. We do need to set the config explicitly, or we can't test that the returned values are correct.

Ah, forgot about the distinction between empty and simulated.

Fixed in #230


Add LoadProfilerAction test

Adds a basic success test for the LoadProfilerAction collection rule action. This also tests that the MonitorProfiler library can be successfully loaded into processes of the testable architectures (at this time, only amd64).

/backport to release/6.x


[5.10]: DNM: empty for merge

Please test with following PRs:
https://github.com/apple/swift-installer-scripts/pull/268
@swift-ci please build toolchain Windows platform


Setting signature algorithm and other SAML configuration options

Please add a section that describes setting the signature algorithm for SAML responses to anything other than SHA1, as well as any other options that can be defined in either the RelyingParty and/or the TechnicalProfile for the SAML2 token issuer.

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

ID: 1376f79b-474f-4b83-2583-07acd2eeb2f4
Version Independent ID: 45d314dd-c9fa-50a5-cb39-d34db80c7874
Content: Configure Azure AD B2C as a SAML IdP to your applications
Content Source: articles/active-directory-b2c/connect-with-saml-service-providers.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@peternield Thank you for your feedback . We will investigate and update the thread .

Thanks so much for this suggestion. I've created a documentation backlog item for internal tracking, and we'll update this issue as doc revisions are published. #please-close


Code & Result on nuScenes

Hi, I have reproduced your result on KITTI.
I can't find your submission on the nuScenes leaderboard, so I wonder if you have done experiments on the nuScenes dataset. If yes, could you share your accuracy? Will you release the code for nuScenes?
Thanks for your excellent work~

When is the code expected to be released? Thanks for your sharing.

I need some time to re-organize these codes. Unfortunately, due to the coming of CVPR/ECCV, I have no time to do this during this period. So the release of the code may take three or four months.

Got it.

@Treemann No TTA or model ensemble tricks. the performance of the single model can achieve about 0.3. The hyper-params are different, including the learning rate, batch size, score thresholds, etc. Besides, some instances are invisible for a specific view, and you need to remove them.

@xinzhuma so the model structure is the same as that trained on KITTI ?
model:
  type: 'centernet3d'
  backbone: 'dla34'
  neck: 'DLAUp'

I'll continue to tune the hyperparameters, thanks for your reply~

@Treemann yes

Hi @xinzhuma ,
I don't predict the velocity and attributes too and I get 0.276 now.
One more question, the image size of nuScenes is 1600x900 and the training is too slow, so I resize the input to 800x448. I wonder which input size & epochs you adopted.
Thanks for your patience.

800 * 448 is okay, we also adopt this setting. You can set the confidence threshold to 0.1, which is a better setting for nuScenes.

OK, I'll try with your setting.
(: Training for 140 epochs takes a long time compared with FCOS3D which is trained for 12 or 24 epochs~