MCP Process manager not tracking jobs

Required Information

[x] AEM Version, including Service Packs, Cumulative Fix Packs, etc: <IP_ADDRESS>
[x] ACS AEM Commons Version: 4.8.4
[ ] Reproducible on Latest? yes

Expected Behavior
When I go to Managed Control Processes and start a new job, I am expecting the job to show up in the process manager, where it would show the details of the process (name, description, status, errors, etc.)
Actual Behavior
When I go to Managed Control Processes and start a new job, the job starts and runs to completion (or error), however the process manager never updates.  I can find the jobs using CRXDE Lite and check the status that way, however nothing shows up in the process manager.  I have checked the page source to see if it was a rendering issue, however there is no indication that the process manager contains any job/process information when viewing the source of the MCP pages.
Steps to Reproduce
Browse to ACS AEM Commons, select Managed Control Processes, and start a new job.  This has occurred for all jobs I have created.

If you're running through a dispatcher, make sure it's not caching the JSON
url used by the UI.  Ran into that recently.
On Mon, Nov 30, 2020 at 2:56 PM mcihon-inwk<EMAIL_ADDRESS>wrote:

Required Information

AEM Version, including Service Packs, Cumulative Fix Packs, etc:
<IP_ADDRESS>
ACS AEM Commons Version: 4.8.4
Reproducible on Latest? yes

Expected Behavior
When I go to Managed Control Processes and start a new job, I am expecting
the job to show up in the process manager, where it would show the details
of the process (name, description, status, errors, etc.)
Actual Behavior
When I go to Managed Control Processes and start a new job, the job starts
and runs to completion (or error), however the process manager never
updates. I can find the jobs using CRXDE Lite and check the status that
way, however nothing shows up in the process manager. I have checked the
page source to see if it was a rendering issue, however there is no
indication that the process manager contains any job/process information
when viewing the source of the MCP pages.
Steps to Reproduce
Browse to ACS AEM Commons, select Managed Control Processes, and start a
new job. This has occurred for all jobs I have created.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Adobe-Consulting-Services/acs-aem-commons/issues/2488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHH5BV2U4JEDBJPYMNAEZLSSQBJRANCNFSM4UIDADGA
.

Thanks for the suggestion.  I'm a bit new to AEM and ACS Commons.  Would you be able to point me in the direction of any relevant documentation to check this?

If you're running through a dispatcher, make sure it's not caching the JSON url used by the UI. Ran into that recently.
…
On Mon, Nov 30, 2020 at 2:56 PM mcihon-inwk @.***> wrote: Required Information - AEM Version, including Service Packs, Cumulative Fix Packs, etc: <IP_ADDRESS> - ACS AEM Commons Version: 4.8.4 - Reproducible on Latest? yes Expected Behavior When I go to Managed Control Processes and start a new job, I am expecting the job to show up in the process manager, where it would show the details of the process (name, description, status, errors, etc.) Actual Behavior When I go to Managed Control Processes and start a new job, the job starts and runs to completion (or error), however the process manager never updates. I can find the jobs using CRXDE Lite and check the status that way, however nothing shows up in the process manager. I have checked the page source to see if it was a rendering issue, however there is no indication that the process manager contains any job/process information when viewing the source of the MCP pages. Steps to Reproduce Browse to ACS AEM Commons, select Managed Control Processes, and start a new job. This has occurred for all jobs I have created. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#2488>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABHH5BV2U4JEDBJPYMNAEZLSSQBJRANCNFSM4UIDADGA .

Open your browser's javascript debug panel.  Look to see if you're getting any javascript errors or if it's loading a .json file correctly in the web requests.  If it's getting the same json file, then the dispatcher needs to be configured not to cache that file (we should get a PR in to fix that from MCP, too) -- if you're getting any other kind of JS error let me know.  If you're not getting any errors but still not seeing anything then you're using an old version of MCP and this is a browser bug I've already fixed; install a newer version of ACS Commons.

Ok, I'm not seeing any errors.  I started a dry run job and I do see an updated json file signifying the start of the job called jcr:content.start.son.  There is also another json file titled jcr:content.list.json which is always empty on every page load.  I'm guessing this is where the list of completed jobs should populate and this is what you are referring to when you say the dispatcher is caching the json file.  Is this correct?
jcr:content.start.json

jcr:content.list.json

That is correct -- there must be some other underlying issue preventing that from generating properly.  Did you also deploy the content package for ACS Commons?  There is a folder where MCP tasks are written that needs the proper ACL set up for the service user otherwise things get wonky.
I was wondering if you were using an old version before because we had a similar-acting bug once upon a time but was fixed in 4.3.4 via #2057
-Brendan

The content package was deployed during the original installation.  I thought this might be a permissions issue as well.  I see all of my tasks generated under /var/acs-commons/mcp/instances just fine - I can access them directly.  I have included screenshots of the access controls setup for two folders below.
/var/acs-commons/mcp

/var/acs-commons/mcp/instances

I checked the error.log file in /mnt/crx/author/crx-quickstart/logs/ and found this:
02.12.2020 14:10:15.016 *WARN* [qtp773834426-1427144] org.apache.jackrabbit.oak.plugins.index.Cursors$TraversingCursor Traversed 100000 nodes with filter Filter(query=select [jcr:path], [jcr:score], * from [nt:base] as a where name(a) = 'jcr:content.list.json' /* xpath: // jcr:content.list.json */, path=*, property=[:localname=[content.list.json]]); consider creating an index or changing the query
02.12.2020 14:10:15.161 *WARN* [qtp773834426-1427144] org.apache.jackrabbit.oak.query.ast.SelectorImpl The query read or traversed more than 100000 nodes. To avoid affecting other tasks, processing was stopped. for query select [jcr:path], [jcr:score], * from [nt:base] as a where name(a) = 'jcr:content.list.json' /* xpath: // jcr:content.list.json */
02.12.2020 14:10:45.023 *WARN* [qtp773834426-1427121] org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex This index is deprecated: /oak:index/lucene; it is used for query Filter(query=select [jcr:path], [jcr:score], * from [nt:base] as a where contains([jcr], 'content.list.json') /* xpath: //*[jcr:contains(@jcr, 'content.list.json')] order by @jcr:score descending */ fullText=jcr:"content.list.json", path=*). Please change the query or the index definitions.

Just an update - it does appear to be a caching issue.  Per a suggestion from the Adobe support team I bypassed the dispatcher by accessing the instance directly by IP, when I do so the process manager functions as intended.  I appreciate your help with this. :)

Awesome, I'm going to keep this issue open so we track MCP vs Dispatcher as a legitimate issue that requires resolution.


Metric: Add average rank

A relative performance metrics of the models in comparison to the other model.

@HLasse this is now added to table


Crawl file system for apps if the registry fails

In my case the key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App ...
was not available, because I reinstalled my Windows. The MOM app itself worked fine. A reinstall of the MOM app fixed it. So it would be nice to have a second option to find the apps.

There is a -import command line flag to tell it.  I don't like the idea of searching the whole hd.  In the future perhaps a GUI interface to -import.

I don't understand why this FFG registry setting counts as a Valkyrie issue?
I'm not saying it is not.
I'm just curious about what the issue is? : )

Issue as in "issue tracker" is a far fetched term devs established for "problem", "feature request", "enhancement", "bug", "support case". It should not be confused with the meaning of the ordinary word "issue" (like a problem).
Valkyrie is dependend on the FFG MOM app, that will create a registry key on install. Valkyrie will use this key as a quick way to access it. This key is not available, if the app files are copied over manually from another computer (for example). How Valkyrie handles this situation is a philosophy question. It could just don't handle it and crash, exit with a warning message, exit only with a log warning, show a filebrowser and let the user pick the FFG MOM app location as bruce suggested, crawl the whole file system, hook into Steam or use other heuristic techniques to get it done ;).

Fair enough.
How Valkyrie handles this situation is a question of philosophy.
Agreed.
Personally I'd go for a message displayed to the user with the offending key and get them to deal with it but this might alienate less computer savvy users! : )
It all depends on how computer savvy users are expected to be when dealing with the app.
Hopefully as things progress... less and less! : )

This is probably the best solution, though it doesn't work on Linux:
https://github.com/gkngkc/UnityStandaloneFileBrowser
Could also use this for package saving.

I pushed my dev for this issue in branch dev_2.2.
The red button saying to install MoM/D2E is now also a button to select a directory manually.
This is only available for Windows, Mac, Linux as the file browser https://github.com/gkngkc/UnityStandaloneFileBrowser is not available for Android.
Tested on windows: it works fine for me.
I think we need to do some tests before closing this one.
I would be surprised if it worked without any surprises.
@redwolf2 do you have a Linux or Mac to test ?

I fear not. We can test on a VM machine though.

I've seen some feedback from people using this with success in test build of 2.2.
Closing.


[Bug][Bamboo] In cicd_tasks table, the value duration_sec field is empty

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
In the testing environment, collect the plan p1 under project xm-1. After the collection is completed, check the data in the cicd_scopes table

What do you expect to happen
For an executed plan-build, that is, cicd_pipeline, the execution time (seconds) of the build needs to be stored. If the API does not return directly, it needs to be finished_date - started_date

How to reproduce
See above
Anything else
No response
Version
main
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Does this issue talk about  cicd_tasks or cicd_pipelines ?
cicd_pipelines.duration_sec has value now.

Search before asking

[x]  I had searched in the issues and found no similar issues.

What happened
In the testing environment, collect the plan p1 under project xm-1. After the collection is completed, check the data in the cicd_scopes table
What do you expect to happen
For an executed plan-build, that is, cicd_pipeline, the execution time (seconds) of the build needs to be stored. If the API does not return directly, it needs to be finished_date - started_date
How to reproduce
See above
Anything else
No response
Version
main
Are you willing to submit PR?

[ ]  Yes I am willing to submit a PR!

Code of Conduct

[x]  I agree to follow this project's Code of Conduct

Does this issue talk about cicd_tasks or cicd_pipelines ?
Yes  ,cicd_tasks.duration_sec is empty
cicd_pipelines.duration_sec has value now.
@xiaomingzhang12

cicd_tasks.duration_sec is empty now. Need to be fixed.


Convert another service to NextJS

In order to wean ourselves off Nunjucks and onto JSX everywhere, we should convert either the what's on service or editorial content/pages to a NextJS app.

[ ] decide which service to convert (preferably something that won't be expected to change much for a couple of weeks)
[ ] establish how to handle any client-side JavaScript that might still need to exist in both React and non-React land

Can this be closed @wellcometrust/experience-dev ?


docs: add info about dependency management for vanilla ESM in browser

Please see https://github.com/twbs/bootstrap/issues/31944

Thanks for the PR!
I notice two issues:

since the SRI hash changes on previews (because we build the latest code), we are getting SRI mismatch errors there. Unsure how to handle this, because hardcoding the values isn't an option :/

I'm also getting JS errors when I click the button with all browsers I tried:
Uncaught TypeError: Popper.createPopper is not a function
    at Popover.show (tooltip.js:273:29)
    at Popover._enter (tooltip.js:598:15)
    at Popover.toggle (tooltip.js:191:17)
    at HTMLButtonElement.<anonymous> (tooltip.js:532:107)
    at HTMLButtonElement.i (event-handler.js:102:15)

Replaced by #36414.


updated freesmug chromium

updated freesmug chromium
critical remote code execution fixed here

needs version number in commit.
Check out cask-repair, it makes Cask updates like this quite easy (details in CONTRIBUTING)
Fixed in https://github.com/caskroom/homebrew-cask/pull/22400/


License?

Hey, have you considered adding a license to your code/implementation or the data? I was wondering if there would be any limitations on usage or applications, e.g., academic research, etc

Thanks for your interest. I just have an MIT LICENSE added. Basically no limitations, see the license for details.

Cool! Thanks


Describe variable naming convention in documentation examples

Summary
Spelling out the already established variable naming conventions in example documentation
Motivation
It seems people aren't reading enough into the variable names used
References
Most recently there was #1236 but I'm sure if pressed I could find other instances where clarifying this convention would be useful

I think it's a good idea. I also think it's worth mentioning that $bool is another one with specific meaning.

Maybe a bit could be added to explain that the distinction between bytes and characters is because Perl makes no distinction in its strings, as many people tend to be confused by this.

I like this.  It took me a little bit of time to recognize and get used to this pattern.  Once I discovered it and learned to use this pattern to my advantage it became an absolute blessing.  Certainly, it would have reduced my learning curve to some degree had this pattern / convention been explicit in the guides as proposed here.

I also think this is a good idea 👍

Afraid i have to give this a 👎 as it stands now. I liked the version i originally saw yesterday, but since then it has grown a lot and is now simply too long for being a small hint for how to better read the docs. Maybe there's a better place for it, but i don't think the conventions section should explain Perl quirks like bytes/chars with this much detail.

In an attempt to be both brief and clear while leaving the reader opportunity to learn of more detail (Encode seemed more approachable than perlunicode or perlebcdic).
For brevity and clarity, example variables will reflect the type of data the API
uses. For instance, C<$bytes> or C<$chars> to distinguish whether it is encoded
bytes or decoded characters in a Perl L<string|Encode>, C<$bool> if the value
just indicates true or false, C<$c> to denote a L<Mojolicious::Controller>
object, or C<$app> to denote the L<application|Mojolicious> object.

Closed by #1240.


Fadeinup and down not working

Hei All,
Actually i'm doing the 1st challenge that is Tribute page but now i have problem as i wanted to have text on the background image to be animated and fadein up and down but its not working.Please give me your valuable advice. I'm greatful to you all.

Thanks in Advance

@raipriya Github issue is a place for bug tracking only.
If you are in need of help or assistance please use one of the official chat room or the forum where you can have better assistance.

That said, have you imported animate.css into the page?
In the same section where you add CSS library make sure you have this link included:
https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css


possible collaboration with motionEye/motionPie developer on GUI/motion.

HI silvanmelchior,
I have tried a few times trying to bring robert and ccrisan. The following is the newest attempt for me to get ccrisan involved.
https://github.com/ccrisan/motionPie/issues/184
I don't know much of essence of development; althrough, robert kinly explained me a few times the vision and focues of two projects might be too apart to fusion together.
I still feel that ccrisan's gui is more fluid and could be leveraged. Whether we leverage supporing for usb cam or not, doesn't matter. It can always come later. However, it may simply use on of motion thread-1.conf to control this pie cam via mmal api (not from /dev/video0, this is motionEye/motionPie's usage).
Hope you guys don't feel this in anyway offending or wasting you guys time. Just want to pass on some of thoughts and it may be a good time if you can spend a bit time setting up one pi with ccrisan's project and see whether we can get those piece in.
ccrisan mentioned that he's willing to help out if someone doing this; although, he himself has other priorities.
Again, many thanks.

Hi @piecam,
just speaking for myself here,
I largely agree with you at the goal level, rpi-cam-web could use a more "fluid" interface, before Robert pushed all his great changes I was pretty much trying to implement my own thing based on picamera and looked at building on top of motionEye. However just like ccrisan said, integration with anything else but Motion is a big job and, in my conclusion, not one worth pursuing. The design is just too rooted around motion to the point that we'd be ripping out so much code that we might as well start from scratch.
And that was my plan before I did further testing and figured that picamera wasn't going to give me the level of perfomances I was hoping for (based on my experiments and measuraments load/cpu usage is substantially higher than raspimjpeg). Therefore I fell back onto RPi_Cam_Web_Interface even tho I can't help much because I don't speak C that much (trying to fix that). We could of course overhaul the web interface, I'm sure folks would be willing to accept patches and as much as I'm a python guy, this is never going to be a massive webapp so php will do just fine, if anything maybe reorg the code a bit and bring in a templating lib to avoid mixing html and code.
Also regarding your comment about this project using Motion, see #56 , there's really no point is sticking with that and hopefully if @silvanmelchior or @roberttidey can work some magic out raspimjpeg will be implementing its own soon, which imo is the right direction.
just my 2c, would love to see this growing and all of us helping each other.
best,
Spike

I agree with those comments. There are so many fundamental differences in the basic approach and coding and run time environment that trying to 'merge' code is very difficult and would end up in more effort than just adding the functionality / interface required.
It sounds like ccrisan is contemplating utlising raspimjpeg as a side tool for previews which is fine but I think we are talking about deeper ideas here..
For the RPi Cam Web Interface we should focus on the motion vector detection initiative and cleaning up / adding functionality to the Web interface.
Certainly it would be good to move to a cleaner template approach on the web side. I originally just started tweaking the php code and that has been pushed further than originally intended. Similarly the overall config and capture management could have benefited from a simple database approach. Changing will require a fair bit of effort which I'd be happy to contribute to. We would have to consider whether this is a fairly clean restart as maintaining compatibility would add quite a bit more complexity and effort.
Apart from the raw technology used it would be good to get an idea of what improvements in the function / operation on the web side are thought most desirable. If we can interest someone who has good experience on UI and styling that would also be good.
A couple of bits that I'm quite interested in are
Organisation / Filtering of captures by date
A front end that can tie multiple RPi Web Cams onto one overall site

since we're talking, here's where I'm at with this.
I'm working on a security camera system, and I'm not talking about a weekend DIY fun project to monitor my hamster, I'm talking full on professional video surveillance but open and programmable based on the pi.  I've spent a ton of time building enclosures, testing lenses and all kinds of things (taking apart commercial cameras) and while I'm nowhere at a skill level of someone that built the pi's camera board or pi itself, I'm reasonably comfortable I can build a security camera that beats hands down 99% of the products out there (would love to be proven wrong, I'm new to this after all, just excited about it), with the only corner case being low light vision if you're not using an IR module, but, it's a case that don't even make sense imho if you're serious about your installation. The sensor could be bigger (at least 1/3", that's what is in most sec cameras), but the 1/4" in the pi camera is so good that I can't honestly tell the difference (again would love to be proven wrong).
I'm planning to base this on raspimjpeg and I was going to build the frontend in python with Bottle (microframework, light and simple, but this is not a complex app). Roughly I wanted to have:

panel to view the camera streaming
preview section with proper sshots, ability to name/tag things,
panel to choose from other cameras
settings protected by password
scheduler (just like the current one) + a retention thing to rotate video if running out of space
manual setters (to lock settings as discussed in other threads, this avoids false motion from light changes and gives clearer recordings)
monitor for stats/temp and storage
alerts (email + possible integration with twilio to send sms or whatever)

In terms of techs, as I mentioned I was going with bottle+bootstrap+jquery for the frontend, python-daemon for the scheduler and other maintenance bits.
I've yet to work out a good way to have everything talk to each other, not sure right now if the FIFO is the best approach, but haven't thought it through.
I also have already protyped a PIR sensor that combines with the motion detection. This is useful to reduce false positives since the PIR will confirm the presence of a person and avoid clouds or threes or something causing a lot of false motion. It works really well in my tests
Last but not least I was toying with avahi autodiscovery, so that if you put a bunch of cameras on the network they'll find each other and automatically add themselves to the panel.
I have a longer list of stuff :), but I'll leave it at that for now. I can't offer much in terms of work on the C side, but I'd be happy to work on the web part, either that we stick to php or switch to python. With python we could avoid using a webserver altogether and just use paste or something, Apache as it stands takes like 30% of the cpu when I'm viewing the stream (switching to nginx would help, I know there's a PR for that).

I can just repeat what have already been said, I think a merging is not possible without giving up a lot of code.
@spikedrba: your project sounds pretty interesting, I'd love to see some results :)

@silvanmelchior what kind of results would you like to see? most of the time up to know was spent on the hw side. Building a professional sec camera turned out not to be easy and by no means I think it's a done deal, however I think I've figured out enough around components, lenses, casing, POE, sensors, IR light etc to be in good shape. A lot of that project is also around education, 80% of footage given to the cops after an intrusion is useless because people mount cameras improperly (even vendors) so I spent a lot of time documenting best practices for example.
Right now my next priority is to work on the frontend, which is where this conversation comes in I guess. I could, and would be happy to, contribute to  RPi_Cam_Web_Interface, but if I had a choice I'd rather do it in python since that's RPI's language of choice and I need it anyway to interface with the PIR sensor (and the rest to come), not to mention it'd come easier to build a real daemon for the scheduler that logs to syslog etc, ie make the whole thing a first class citizen.
I completely understand if this isn't interesting/compatible with your direction and you'd rather just incrementally improve of what's there, it can make a lot of sense to do that. Or if you'd rather just defer and keep going and wait to see what I push out in the next few months, that makes sense too.

https://bitbucket.org/ccrisan/motioneye/wiki/Home
HI Guys,
I am so happy that I have enacted this discussion. That's enough for me to be happy with. :-)
Anyway, even if merging two projects is not a reality, wouldn't it be possible, just borrowing some of ccrisan's GUI portion of code for our future GUI? I am not saying his code is super, in terms of resource efficiency(cpu/mem, etc), but it feels pretty light and with nice choice of components to make that user GUI nice and fluid.
I believe it's based majority on python and light python(kind) server. I dont' know details.
So, even if we are breaking away from motion, his GUI part of code might be a good reference.
If someone with skills can set up a pie cam with ccrisan's project and play around it, then poke through his code components from that link on the top, you may find it's worth giving out a try.
Just my 2 cents.
Thanks again, for your great work.
Best regards,

Hi @piecam,
what makes up his GUI is a jinja2 template which apart from being parsed will entirely render client side and so there's not much "lightness", it's just a template. The python server would not be reusable, tornado is a very performing aync http server/framework, not really a web dev framework (as compared to say flask/bottle/web2py etc). In our case it's not like 100K users are all going to watch the same stream at the same time, so it doesn't really matter, we just want something lightweight that doesn't stress the pie, but besides that I'd rather use something that was designed to build webapps and has provisions to access a db (sqlite for example) and has middleware for user auth etc. That should make developing and maintaining a frontend much easier.
And all that said, we can still reuse his stuff (the template) since bottle for example will allow you to plug in jinja2.
I'll try to take a look at starting something next week as a PoC.
thanks,
Spike


ENH: collapsible group box

This PR adds support for collapsible group boxes for the notebook 3d backend. Here is an example with coreg:

main
PR

I know the main render view still appears stretched, there might be way to fix its size somehow
It's an item of #8833

And in video:
https://user-images.githubusercontent.com/18143289/152566076-9115d8d3-ba8f-44b5-b2c6-e1151c5b25c8.mp4

I know the main render view still appears stretched, there might be way to fix its size somehow

In the end it's just an image display, right? It seems like there must be a way in ipyvtklink (or whatever it depends on) to make the image's aspect ratio be respected rather than having it get stretched. It seems like some CSS like object-fit might be enough to do it

...I would try adding this property directly in Chrome's inspect mode to see if it works, and if so, then dig into which library would need to have this option added, then add it and make an upstream PR... and for now if we can add our own CSS inline or in a little cell header (seems like it should be possible?) then we can add it ourselves, too -- that way people don't have to upgrade ipyvtklink or whatever to get the benefit.

Thank you for the great suggestions @larsoner !
According to ipywidgets' doc, using object_fit='contain' should preserve the aspect ratio:

'contain': Fit the image in its content box while preserving the aspect ratio. If any of the container is not covered by the image, the background of the container is displayed. The content box is the size of the container if the container is smaller than the image, or the size of the image if the container is larger.

I made a comparative table to showcase the different options with collapsed groupbox or not:

object_fit\collapsed
True
False

'contain'

'cover'

'fill'

'none'

No need for an upstream change, the object_fit property of the ipyvtklink viewer is directly accessible (c.f. 6f44268ffd5a84547ed5a830dce869264decc1cb)

I chose object_fit='contain' because although cover also preserves the aspect ratio of the image, it will crop it if needed (visible in the table above):

'cover': Fill the content box completely while preserving the aspect ratio of the image, cropping the image if necessary.

https://ipywidgets.readthedocs.io/en/latest/examples/Widget Styling.html#Controlling-the-display-of-an-Image-inside-a-container

What do you think @agramfort, @larsoner?

I am interested in a live demo :)

Message ID: @.***>

Contain is the right choice I think

During a video call with @agramfort, we discovered a bug related to picking which is introduced in this PR. I have to debug before merge.

During a video call with @agramfort, we discovered a bug related to picking which is introduced in this PR. I have to debug before merge.

My guess is that it's an ipyvtklink bug where they assume that the click in the box containing the image is in the corresponding part of the stretched image regardless of the object_fit mode. So probably an upstream fix is necessary?

My guess is that it's an ipyvtklink bug where they assume that the click in the box containing the image is in the corresponding part of the stretched image regardless of the object_fit mode.

Hm... Assuming that the picking with the Pick() function in itself is alright, it could be related to the coordinates returned by GetEventPosition() which in turn could use an obsolete "window" size.
I'll check the size returned by the viewer both in main and in here.

So probably an upstream fix is necessary?

Well, yes, if I cannot pinpoint the bug or find no way to fix it.

I will share what I have learned:
ipyvtklink relies on ipyevents to get the mouse event locations. Then it does a little bit of offset computation to adjust the given coordinates from the canvas size (which depends on the notebook) to the render window size (which is fixed by the Renderer at init).
What happens when all the group boxes are folded is that the main 3d viewer in the middle is the widget with the highest height value, defining how stretched the container widget (HBox) is. At this point, the values given by ipyevents for boundingRectHeight and boundingRectTop used for offset calculation are correct because the image and its bounding box have the same size.
So the issue with object_fit='contain' arises when the group boxes are unfolded, the bouding box of the image is stretched with the accordion whereas the image is not (that's the point, we want to keep the aspect ratio). And now, the sizes sent by ipyevents will not match anymore.
It is possible to mitigate by using object_position='top', this fixes the value of boundingRectTop but  boundingRectHeight is still incorrect so all the accordions must be folded.
I thought of 2 solutions to deal with this:

Prevent the image's container to stretch.
adjust the event position given by the picker

I did not manage to make 1. work by playing around with layout but it's possible that I missed something and 2. is very hacky because I did not find any convenient way to get the real size of the canvas once it is displayed.

This sounds like an upstream ipyvtklink bug, I would open an issue there and see if people have ideas

Meanwhile, 5014f41601b75148779881888354d8676a2497e5 is the kind of hack I have to use to make it work with 2.

@larsoner I opened https://github.com/Kitware/ipyvtklink/issues/35

For now I would say get rid of object_fit in this PR, and let's see if ipyvtklink can make an upstream fix soon.
@GuillaumeFavelier could you see if you can change their computation in the "a little bit of offset computation" code to fix the bug at their end? It might move things forword (much) faster than waiting for them to fix it.

could you see if you can change their computation in the "a little bit of offset computation" code to fix the bug at their end?

I'll see what I can do but I think it might be better to handle it with ipyevents directly.
I updated #8833 with:

add support for object_fit='contain' and object_position='top' (ipywidgets)

This is ready to merge from my end @agramfort, @larsoner

I'll see what I can do but I think it might be better to handle it with ipyevents directly.

Could be, want to open an issue with them, too? They should know if it's in scope for them or not

(if it's a fairly trivial fix, sometimes I open a PR-as-issue to just fix the problem, and ask if they think it's acceptable)

Thanks @GuillaumeFavelier ! On to the next blocker for 1.0, if any?


Custom PingPong implementation (server)

Hi,
I'm developing a websocket server based on Ninja.WebSockets nuget but I cannot find out how to properly manage the pong message.
There is a client that periodically sends me (the server) a ping request, but, even if I set the KeepAliveInterval option, it does not receive any proper reply. I found the PingPongManager class, but it only offers the Pong event and the SendPing() method... I need the opposite: a Ping event and a SendPong() method.
Is there a way to solve this issue?
Digging a little deeper in your code, I found that a method in WebSocketImplementation class:
private async Task SendPongAsync(ArraySegment<byte> payload, CancellationToken cancellationToken)
Would it be possible to have it as public?

Hi Roiko,
You don't have to use the PingPongManager class (or KeepAliveInterval) on the server as this class is used to periodically send ping messages from the Server. The server "should" automatically respond to Ping messages from the client regardless of the PingPongManager or KeepAliveInterval setting. Both clients and servers can send ping messages and expect pong responses and your client appears to be sending a ping message that the server is not responding to as expected.
Are you running the ReceiveAsync in a loop on its own thread? Take a look at the example server demo. You can use a tool like wireshark to actually see what the server is sending back after getting a Ping message. See line 166 in the ReceiveAsync function of the WebSocketImplementation class. As you can see the server or client always sends a pong in response to a ping. It could also be that the client is sending a Ping message with a payload that is too large. The websocket spec says that the Ping payload cannot be more than 125 bytes.

Hi ninja,
thanks for your reply.
Even when using a copy/paste of your sample, I cannot get the server to reply to a ping message.
The error I see is:
Unexpected end of stream encountered whilst attempting to read 2 bytes
Do you have any hint?
In the meanwhile, I'll keep investigating the issue

Hello again ninja,
I finally understood what the problem was. The client was not waiting enough for the pong message. Because of that, it closed the socket and that's why I got the stream error.
After increasing the ping pong timeout on the client side, the entire mechanism worked like a charm.
Thanks for your support

Oh that's good, I'm glad you managed to figure it out. You can expect to get that "Unexpected end of stream..." message if the connection is closed by the other party which is what happened in your case.


Composable NSPredicates for finding Simulators

Extracts out the filtering of the allSimulators property of FBSimulatorPool into discrete NSPredicate objects in the FBSimulatorPredicates object. Thanks to NSCompoundPredicate it should become easier to define more complex filtering of Simulators.
By using #25 it should be possible to get a collection of Process Identifiers of any FBSimulatorControl launched Simulator, regardless of the process that it was launched from.
Copy of #26 but into master instead.

lgtm


The problem of reproducibility.

Hi,
Thank you for your excellent paper and open source code.
But I re-train the default configuration code directly, and did not reproduce excellent performance.
Here is my result:
                     easy                 medium               hard                 extra                all
count                248                  446                  174                  166                  1034
=====================   EXECUTION ACCURACY     =====================
execution            0.867                0.776                0.644                0.524                0.735

====================== EXACT MATCHING ACCURACY =====================
exact match          0.879                0.787                0.644                0.500                0.739

What did I miss? I've run three times and it's almost the nearly result.

This is expected.  SmBoP has a mean accuracy on the development set of 0.739365 with a std of 0.005093 (n=7).
Note that this probably a consequence of using RATSQL, see here.

The instability of RAT training is really a tough problem.
Thank you again for your timely reply :)


Bump debug protocol version

With minor incompatible changes in Duktape 2.x, bump the debug protocol version to 2.

[x] Update API constant (also controls Duktape version identification line)
[x] Update debugger documentation for bumped version
[x] Fix duk_debug.js to use the bumped version
[x] Releases
[x] 2.0 migration note

Migration notes for the protocol version entry are quite high level, but can't think of much more to say other than to update the debug client for the new protocol version and command changes. There should be separate migration entries for specific changes of course.

That looks good to me.  There's not much else to say until the concrete changes have been made.


transferring performance on coco dataset

Hello, Have you ever try to transfer the simsiam model to object detection task. I have trained a 200-epoch model on ImageNet through simsiam（following the optimal config in paper),  Then I take it as pre-trained model of Faster-RCNN and use the transferring config of moco-v2, but I got bad performance. I wonder whether there are different training schedule when transferring self-supervised pre-trained model to object detection task?
Hope to get your suggestiones!

Hi, I didn't try the transfer learning experiments. But according to the paper, I think basically you can follow the MOCO codebase to do the finetuning, but you may need to tune the learning rate. BTW, how is the performance if you use MOCO-pretrained model for object detection following the same setting? Is it able to reproduce the results?


chore: fix actions

Codecov Report

Merging #14 (706312f) into develop (a6f9e63) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #14   +/-   ##
========================================
  Coverage    82.82%   82.82%
========================================
  Files            2        2
  Lines          262      262
========================================
  Hits           217      217
  Misses          45       45

Continue to review full report at Codecov.

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

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Consume/drain the inbound in case a cancellation is received before subscription

Consume/drain the inbound in case a cancellation is received before subscription
Based on the suggestions from reactor-netty owner : https://github.com/reactor/reactor-netty/issues/1165#issuecomment-652713260
Improvements are based on springframework : https://github.com/spring-projects/spring-framework/commit/21d069695f301851254ff2d03b44478303f24806
They further improved it to this : https://github.com/spring-projects/spring-framework/blob/v5.2.8.RELEASE/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpResponse.java
We also have the same logic in our Rntbd client now

/check-enforcer override

/azp run java - cosmos - tests

@moderakh - I did a quick perf round for Read Latency and Query Clause In Parallel - and the results look similar to master branch.
improve_reactor_netty_cancellation.txt

Ran ReadFeedDocumentTests#readDocuments() locally and it passes on this PR - fails on CI - created this issue : https://github.com/Azure/azure-sdk-for-java/issues/13528

ConsistencyTests2#validateSessionTokenAsync() consistently fails on CI - passes on local - created this issue - https://github.com/Azure/azure-sdk-for-java/issues/13529

Ran WorkflowTests locally and it passes - filed an issue to fix it on the CI - https://github.com/Azure/azure-sdk-for-java/issues/13531

Ran UniqueIndexTests locally and it passes - fails on the CI - created a github issue - https://github.com/Azure/azure-sdk-for-java/issues/13532

Ran GatewayAddressCache tests locally and it passes - fails on the CI - created github issue : https://github.com/Azure/azure-sdk-for-java/issues/13533

/check-enforcer override

/check-enforcer reset

/check-enforcer override


Unamed variants issue on complex enums

For example:
#[derive(DeRon, SerRon)]
pub enum SlashMode {
    Bounce = 0x10,
    Slash = 0x12,
    Loading = 0x13,
    BitStream = 0x1d,
    Transmission = 0x1a,
    Flow = 0x19,
    Flux = 0x25,
    Phantom = 0x24,
    Spectrum = 0x26,
    Hazard = 0x32,
    Interfacing = 0x33,
    Ramp = 0x34,
    GameOver = 0x42,
    Start = 0x43,
    Buzzer = 0x44,
}

I have additional derives that are required and the zbus ones in particular which enforce the name = value constraint. But that makes the Unamed variants are not supported error a little confusing.
This effectively prevents me moving off serde. Is there any other information I can provide?

Oh, right, forgot about those. I’ll add them to the parser when I get a chance

@knickish if you can give me some pointers I'll have a go.


Groomba filters on author date instead of committer date

For a given commit you can have a separate author and committer with different dates for each event. This is relevant in the case the person pushing commits to a branch is not the same as the person authoring the commit or if someone squashes all the commits on a branch. Please use comitter date to filter references instead of author date.

Example:
commit a697e33ca0792658236ed9c9e238a45cac89bd68 (origin/<reference name>)
Author:     <some guy>
AuthorDate: Mon Nov 16 15:44:25 2020 -0500
Commit:     <some guy>
CommitDate: Tue Feb 2 14:17:03 2021 -0500


How to deal with those issues?

using Microsofts Chromium based Edge Browser and "Issues" from Development Tools some compatibility issues are shown

at least it would make sense to solve the Error marked items as it should be easy to add the the missing things to support more browsers
and this one

what do you think?
[5.1.3]

From the looks of it, you're using Bootstrap with Sass and are not including Autoprefixer. That would solve the majority of those errors I believe.


Mac OSX 10.11.x

Expected behaviour
Module should import.
Actual behaviour
A symbol error happens when trying to import.
Steps to reproduce
Mac OSX 10.11.6
cd /tmp/
13:49:52-rene/tmp/opencv$     python3 -m venv anenv
13:49:55-rene/tmp/opencv$     . ./anenv/bin/activate
(anenv) 13:49:55-rene/tmp/opencv$     pip install opencv-python
Collecting opencv-python
  Downloading opencv_python-<IP_ADDRESS>-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (41.2MB)
    100% |████████████████████████████████| 41.2MB 38kB/s
Collecting numpy>=1.11.1 (from opencv-python)
  Using cached numpy-1.14.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Installing collected packages: numpy, opencv-python
Successfully installed numpy-1.14.0 opencv-python-<IP_ADDRESS>
(anenv) 13:50:57-rene/tmp/opencv$ pip install numpy
Requirement already satisfied: numpy in ./anenv/lib/python3.6/site-packages
(anenv) 13:57:36-rene/tmp/opencv$ python
Python 3.6.0 (default, Dec 24 2016, 00:01:50)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-8<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/private/tmp/opencv/anenv/lib/python3.6/site-packages/cv2/__init__.py", line 4, in <module>
    from .cv2 import *
ImportError: dlopen(/private/tmp/opencv/anenv/lib/python3.6/site-packages/cv2/cv2.cpython-36m-darwin.so, 2): Symbol not found: _clock_gettime
  Referenced from: /private/tmp/opencv/anenv/lib/python3.6/site-packages/cv2/.dylibs/libavutil.55.78.100.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib
 in /private/tmp/opencv/anenv/lib/python3.6/site-packages/cv2/.dylibs/libavutil.55.78.100.dylib
>>> import platform
>>> platform.platform()
'Darwin-15.6.0-x86_64-i386-64bit'

I guess opencv should work ok on 10.11? I use it through homebrew at least.
In https://github.com/pygame/pygame we use osx_image: xcode7.3 for our mac wheels, and get 10.11 support.

This is not related to OpenCV. The error comes from libavutil (=FFmpeg) which is installed via homebrew. The error is related to binary backward compatibility (apparently Apple has changed the libsystem interface). I'm not too familiar with Apples ecosystem but building FFmpeg against earlier OS version might fix the issue if the older symbols are present also in the latest OS versions. Full backward compatibility on macOS might be impossible to achieve.

I think if you use the home brew dependencies from the xcode7.3 image it would work on newer versions of Mac OS as well.
The table here shows which Mac OS version each travis image is compiled to support:
https://docs.travis-ci.com/user/reference/osx/#OS-X-Version
In testing I've done with other libs the xcode7.3 image homebrew stuff works quite widely.

Yeah, I will do a release as soon as https://github.com/skvark/opencv-python/issues/82 has been fixed. Looks like -mmacosx-version-min can be set for Cmake with MACOSX_DEPLOYMENT_TARGET. I will add the flag. However, as the issue is with FFmpeg and not with OpenCV, the flag doesn't have any effect on FFmpeg build which is installed via Homebrew. The older Travis image (xcode7.3) should make it work.

Thanks for elaborating and thanks for working on the next release.
Sounds to me like the solution would be to configure Homebrew to use additional CFLAGS/CXXFLAGS/LDFLAGS when building FFmpeg.


Save actions are not triggered on Save with Keymap "Visual Studio"

Describe the bug
The configured save actions are not triggered when a file is saved if the configured keymap is "Visual Studio". It doesn't matter if the file is saved via shortcut (Ctrl+S, Ctrl+Shift+S), via toolbar button or the File menu. Once I switch the keymap to e.g. Windows and save the same file again, all configured save actions are triggered immediately.
What triggered the plugin
Saving via shortcut (Ctrl+S, Ctrl+Shift+S), via toolbar button or the File menu.
Versions
IntelliJ IDEA 2020.1.2 (Community Edition)
Build #IC-201.7846.76, built on June 1, 2020
Runtime version: 11.0.7+10-b765.53 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 1963M
Cores: 8
Non-Bundled Plugins: com.dubreuia, org.jetbrains.kotlin

Hello @rpetermeier-bmsw, thank you for posting this bug. Seems like the trigger is keymap dependent. I won't have time to check this soon, please fell free to submit a PR. Thanks.

Bug
In addition to the bug with Visual Studio keymap, Save actions are also not triggered when using Visual Studio Code keymap. Does not matter whether one uses ⌘+S or ⌘+⇧+S.  Switching to the Sublime Text (macOS) keymap worked as expected.
Versions
PhpStorm 2021.2
Build #PS-212.4746.100, built on July 28, 2021
Runtime version: 11.0.11+9-b1504.13 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 11.5.2
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 4
Registry: run.processes.with.pty=TRUE
Non-Bundled Plugins: com.dubreuia (2.2.0), com.hiberbee.intellij.hiberbee-theme (2<IP_ADDRESS>8), com.intellij.plugins.vscodekeymap (212.3116.29), com.vecheslav.darculaDarkerTheme (1.2.0), ru.adelf.idea.dotenv (2<IP_ADDRESS>)


Error in Python versions >= 3.8 when trying to use collections.Iterable

When using this library with a Python version newer than 3.7 it throws this error:
In [9]: posts = client.call(posts.GetPosts())
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-9-6fd7be5e79cd> in <module>
----> 1 posts = client.call(posts.GetPosts())

/usr/local/lib/python3.10/site-packages/wordpress_xmlrpc/base.py in call(self, method)
     44             else:
     45                 raise
---> 46         return method.process_result(raw_result)
     47
     48

/usr/local/lib/python3.10/site-packages/wordpress_xmlrpc/base.py in process_result(self, raw_result)
    126             if isinstance(raw_result, dict_type):
    127                 return self.results_class(raw_result)
--> 128             elif isinstance(raw_result, collections.Iterable):
    129                 return [self.results_class(result) for result in raw_result]
    130

AttributeError: module 'collections' has no attribute 'Iterable'

The problem lies in this line and is fixable by changing the import statement to from collections.abc import Iterable (and of course then also changing collections.Iterable to just Iterable in line 129) but I don't know how to make it backwards compatible - maybe using six?

nvm this is already addressed in Pull request #148


refactor: moved shortcuts and onKeyEvents to its own file

Description
Moved Shortcut widget and Focus widget that listened for keyboard events to their own file in order to reduce the size of raw_editor_state and to separate the logic and make it easier to read.

[ ] ✨ New feature: Adds new functionality without breaking existing features.
[ ] 🛠 Bug fix: Resolves an issue without altering current behavior.
[x] 🧹 Code refactor: Code restructuring that does not affect behavior.
[ ] ❌ Breaking change: Alters existing functionality and requires updates.
[ ] 🧪 Tests: Adds new tests or modifies existing tests.
[ ] 📝 Documentation: Updates or additions to documentation.
[x] 🗑 Chore: Routine tasks, or maintenance.
[ ] ✅ Build configuration change: Changes to build or deploy processes.

If the keyboard_service_widget.dart is only used in QuillRawEditorState, shouldn't this file be somewhere like editor/raw_editor/widgets instead of editor/widgets?

I'll move it in another PR. Thanks for report it

@CatHood0
Just as a reminder, the QuillKeyboardServiceWidget class file is still not moved.

I also suggest maybe using a different name such as EditorKeyboardShortcuts?
Would like to know the reason behind choosing the current name first.

Probably just a bad naming

Doesn't have to.
If you prefer, I can introduce this change since it's minimal.


 It should be reported to PHPUnit.
For PHP 7, there is 2 things to change:

we should not try to enable the AMQP and Mongo extensions, as done for HHVM, given they are not yet compatible with PHP 7
we should report an issue to Elastica about the PHP 7 compatibility

For Elastica, I reported it at https://github.com/ruflin/Elastica/issues/825

By no means am I suggesting that these issues should not be fixed. However, since doing so takes time, it does seem good to mark these builds as optional until they can be made required again.

@JeroenDeDauw I totally agree about making these optional. However, if issues are not reported upstream, they might never get fixed.

@stof The HHVM failure is a known issue for both PHPUnit and HHVM. The underlying HHVM bug has been marked as fixed but apparently isn't in the builds used by Travis yet.

@bd808 this is because the fix in HHVM is not yet released

Build is now fixed


It doesn't seem possible to use this package as a dependency of another

I was trying to separate out a component of ours into it's own swift package.  This component manages uploads to our cloud service and relies on aws-sdk-ios-spm package.
In my app, the AWS package works just fine, but once I packaged all my code, and tried to add the AWS package as a dependency, I could not make it work, the dependency package would download, but there seemed no way to add it to any target. I would get errors similar to
"product AWSiOSSDKV2 required by package aws-sdk-test-package target aws-sdk-test-target not found"
I tried various different targets, products strings etc from what I could find in the AWS package file, but nothing would work
It can be recreated with any simple package structure, a default XCode created one works to replicate the issue, here is my swift.package file
// swift-tools-version: 5.10
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "aws-sdk-test-package",
    platforms: [
        .iOS(.v15)
    ],
    products: [
        // Products define the executables and libraries a package produces, making them visible to other packages.
        .library(
            name: "aws-sdk-test-package",
            targets: ["aws-sdk-test-package"]),
    ],
    dependencies: [
        .package(url: "https://github.com/aws-amplify/aws-sdk-ios-spm.git", from: .init(2, 34, 0))
    ],
    targets: [
        // Targets are the basic building blocks of a package, defining a module or a test suite.
        // Targets can depend on other targets in this package and products from dependencies.
        .target(
            name: "aws-sdk-test-package",
        dependencies: [
            // Things that didn't work
            "AWSiOSSDKV2",
            // "aws-sdk-ios-spm",
            // "AWSCore",
            // .product(name: "AWSCore"),
            // .target(name: "AWSCore")
        ]
        ),
        .testTarget(
            name: "aws-sdk-test-packageTests",
            dependencies: ["aws-sdk-test-package"]),
    ]
)

Hi @valentary!  Thanks for opening this issue.
To add a product from this package as a dependency, you'll need to set both its name and its package:
dependencies: [
    .product(name: [Product Name], package: "aws-sdk-ios-spm")
]

So your package file would look like this:
let package = Package(
    name: "aws-sdk-test-package",
    platforms: [
        .iOS(.v15)
    ],
    products: [
        // Products define the executables and libraries a package produces, making them visible to other packages.
        .library(
            name: "aws-sdk-test-package",
            targets: ["aws-sdk-test-package"]),
    ],
    dependencies: [
        .package(url: "https://github.com/aws-amplify/aws-sdk-ios-spm.git", from: .init(2, 34, 0))
    ],
    targets: [
        // Targets are the basic building blocks of a package, defining a module or a test suite.
        // Targets can depend on other targets in this package and products from dependencies.
        .target(
            name: "aws-sdk-test-package",
            dependencies: [
                .product(name: "AWSCore", package: "aws-sdk-ios-spm")
                // + other products your app uses, .e.g "AWSS3", "AWSPinpoint", etc
            ]
        ),
        .testTarget(
            name: "aws-sdk-test-packageTests",
            dependencies: ["aws-sdk-test-package"]),
    ]
)

Thanks!


[Feature Request]:  Make demo apps with Laravel and/or Supabase

Description
Laravel and Supabase are both really famous headless backend frameworks.
I am sure that some examples with supabase/laravel, especially using tables can boost the adoption of cloudscape framework
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate requests

Hi abeatbeyondlab,
Our components are only available in React, if your app uses React in the frontend you should be able to use the source code from our demos. e.g. https://cloudscape.design/examples/react/table.html

I am talking about making react examples using supabase or laravel like is doing refine.dev

Our demos are purely client side with some mocked server side demos.
From the supabase React guide you can use our components in App.js as they are in the demos, the data fetching part is specific to supabase but it shouldn't impact how are components are used.
which part of our demos is not clear how to use with  supabase?

an advise: for more adoption make templates for supabase..

Thanks for the feedback and for opening this request. This is unfortunately something that we're unlikely to work on as it doesn't align with our long-term vision - we prefer to provide generic examples that can be applied in many different scenarios rather than demos that are specific to 3rd party integrations.


Dispose previous listeners when using an event listener's setter.

Dispose previous listeners when using an event listener's setter.
Currently all the listeners are being executed.

Thanks!

Version 0.3.1 has your change in it

@TobiaszCudnik I actually had to revert this as the tests were failing. Can you fix the failing test + add some another test to validate your change


Update release actions, documentation for main branch

I assume this needs to happen before the main branch is created?

GitHub has a tool you can use to rename from master -> main, but yeah this work needs to happen first.


Bump rust-toolchain

Updates the rust-toolchain to the same as the integritee-node: https://github.com/integritee-network/integritee-node/blob/master/rust-toolchain.toml#L2

Blocked by https://github.com/apache/incubator-teaclave-sgx-sdk/issues/386


Inconsistent behavior between TextMateSharp and vs-code

Describe the bug
A clear and concise description of what the bug is.
The exact same syntax grammar in vscode does not produce the same output in TextMateSharp.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Use the provided grammar file with the code
namespace Test;

using UnityEngine.*;

import testVector3 -> Vector3;
import object -> Component;

function Update()
{
    /*
    let x = 5 + 5;
    let b = x;
    */
    object.text = "hi";
}

ascent.tmLanguage.json
Expected behavior
A clear and concise description of what you expected to happen.
I expected the colors and scopes shown to be the same.
Screenshots
If applicable, add screenshots to help explain your problem.
VSCode:

My code:

Desktop (please complete the following information):

OS: Windows
Version 11

Additional context
Add any other context about the problem here.
This is shoved into unity and then converted into highlighting with rich text tags.

Please, could you check if https://github.com/danipen/TextMateSharp/pull/73 fixes the issue? Thanks!

Please, could you check if #73 fixes the issue? Thanks!

Unfortunately I'm already using that version ):


Add --dated-{before,after} options to splitlunch refresh

Description
This introduces two new options to lunchable plugins splitlunch refresh. Both --dated-after and --dated-before behave as they do in the lunchable plugins splitlunch expenses subcommand. Notably, they do only affect the transactions fetched from Splitwise; the tool continues to fetch all transactions from Lunch Money for comparison.
I've been using Jan 1, 2023 as the starting epoch for my Lunch Money history, and would like to avoid importing older transactions into my account.
(As a note, I promised some additional options beyond these, but I'm still working on getting them to behave correctly, whereas this was fairly straightforward, so I figured I'd go ahead and push it up first)
Has This Been Tested?
I've been testing this against my own account by running poetry run lunchable plugins splitlunch refresh --dated-after 2022-12-31.
Checklist:

[x] I've read the contributing guidelines of this project
[x] I've installed and used .pre_commit on all my code
[x] I have documented my code, particularly in hard-to-understand areas
[x] I have made any necessary corresponding changes to the documentation

Did #72 resolve this too?

No, this is a separate change. When I wrote this, I wasn't sure how long it would take me to get #72 working, and once I had it ready, I didn't want to combine it with this PR in case that threw off your review.
They conflicted a little but now that #72 is merged I've rebased this to hopefully be ready to go.

:tada: This PR is included in version 0.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[tree widget] allow collapse for auto-expanded subtrees

We currently auto-expand multiple levels of the subtree when there are only single children. We've had feedback from a few people that it was confusing / unexpected.
Since we now show all variables, can we undo this? Instead, we should remove these intermediate groups if possible.
Additionally, it's also unintuitive that the collapse behavior no longer works. We should always allow collapse / expand.

separately, there are some cases where there is more than one child (a group and a var) but we still expand:


feat: OverWindow in the batch mode

Describe the bug
On Postgres:
postgres=# create table t (groupid int, username varchar);
CREATE TABLE
postgres=# SELECT row_number() OVER ( PARTITION BY t.groupid ORDER BY t.username) AS usergroupid                                                                                FROM                                                                                t;
 usergroupid
-------------
(0 rows)

But it fails on RisingWave:
ERROR:  QueryError: internal error: OverAgg can not be transformed. Plan:
LogicalProject { exprs: [ROW_NUMBER] }
└─LogicalOverAgg { window_function: ROW_NUMBER() OVER(PARTITION BY t.groupid ORDER BY t.username ASC NULLS LAST) }
  └─LogicalScan { table: t, columns: [groupid, username, _row_id] }

Is it a bug or a known issue?
To Reproduce
No response
Expected behavior
No response
Additional context
No response

It's a known limitation. Currently we only support TopN pattern. General OverWindow (https://github.com/risingwavelabs/rfcs/pull/8) is not implemented yet.

@neverchanje Please reconfirm the req, thanks!

I think this will be done in next quarter's OKR. I'll close this first and @stdrc must have more detailed plans for it.

Yep we now have too many issues tracking over window🤣. Now I'm tracking batch over window feature in https://github.com/risingwavelabs/risingwave/issues/9931 and overall task list in https://github.com/risingwavelabs/risingwave/issues/9124.
BTW, FYI, batch over window will ready very soon, maybe a few days.


Fix build for Coq v8.10

I am unsure if my last commit is the best way to deal with deprecation: https://github.com/coq-contribs/semantics/commit/12b092708878bb93ef41e14649f20b511ee25613 but it works. Happy to learn about a better way to do this.

Hi @herbelin, this should be ready to merge.  There are still some 4 unique warnings remaining, but that's all the time I had for this. Thanks for your help on Discourse and the suggestion here.


WIP: Support Solr Cloud out of the box

I'd like to have Solr Cloud, as I think that is key towards moving to a full "This can go live" environment.   I'm thinking that at some point we will have multiple setups, say a "slim" version which is just a single SolrCloud node, which is meant for development or playing around, deployed using Docker Compose, and then a "full" version which is a proper SolrCloud setup, along with the deployment steps for Kubernetes.   I.e, an opinionated deploy...  Chorus supports Kubernetes version X, and if you have that, boom, you have the full environment deployed and scalable.   Obviously a long way away!     But if we can do that, then we can swap out Solr and swap in ES as well ;-)

I still need to renable the SMUI/Querqy support.

SMUI and Querqy now work with Solr cloud!


[Enhancement] Support parquet footer cache.

Parsing parquet footer usually bring lots of CPU overhead when the parquet file has a large footer.
So, we support parquet footer cache based on object cache functions in starcache library. It can store a parsed FileMetaData object in the cache, and we can reuse it directly later avoid parsing the footer data repeatedlly.
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 80 / 84 (95.24%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/io/cache_input_stream.cpp
1
2
50.00%
[155]

:large_blue_circle:
src/block_cache/starcache_wrapper.cpp
3
5
60.00%
[60, 61]

:large_blue_circle:
src/block_cache/block_cache.cpp
12
13
92.31%
[115]

:large_blue_circle:
src/exec/hdfs_scanner.h
1
1
100.00%
[]

:large_blue_circle:
src/connector/hive_connector.cpp
2
2
100.00%
[]

:large_blue_circle:
src/exec/hdfs_scanner_parquet.cpp
9
9
100.00%
[]

:large_blue_circle:
src/formats/parquet/file_reader.cpp
47
47
100.00%
[]

:large_blue_circle:
src/formats/parquet/metadata.cpp
1
1
100.00%
[]

:large_blue_circle:
src/formats/parquet/meta_helper.h
4
4
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
2
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 82 / 87 (94.25%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/io/cache_input_stream.cpp
1
2
50.00%
[155]

:large_blue_circle:
src/block_cache/starcache_wrapper.cpp
3
5
60.00%
[60, 61]

:large_blue_circle:
src/block_cache/block_cache.cpp
13
15
86.67%
[115, 134]

:large_blue_circle:
src/exec/hdfs_scanner.h
1
1
100.00%
[]

:large_blue_circle:
src/connector/hive_connector.cpp
2
2
100.00%
[]

:large_blue_circle:
src/exec/hdfs_scanner_parquet.cpp
11
11
100.00%
[]

:large_blue_circle:
src/formats/parquet/file_reader.cpp
46
46
100.00%
[]

:large_blue_circle:
src/formats/parquet/metadata.cpp
1
1
100.00%
[]

:large_blue_circle:
src/formats/parquet/meta_helper.h
4
4
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 82 / 87 (94.25%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/io/cache_input_stream.cpp
1
2
50.00%
[155]

:large_blue_circle:
src/block_cache/starcache_wrapper.cpp
3
5
60.00%
[60, 61]

:large_blue_circle:
src/block_cache/block_cache.cpp
13
15
86.67%
[115, 134]

:large_blue_circle:
src/exec/hdfs_scanner.h
1
1
100.00%
[]

:large_blue_circle:
src/connector/hive_connector.cpp
2
2
100.00%
[]

:large_blue_circle:
src/exec/hdfs_scanner_parquet.cpp
11
11
100.00%
[]

:large_blue_circle:
src/formats/parquet/file_reader.cpp
46
46
100.00%
[]

:large_blue_circle:
src/formats/parquet/metadata.cpp
1
1
100.00%
[]

:large_blue_circle:
src/formats/parquet/meta_helper.h
4
4
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
2
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 100 / 130 (76.92%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/block_cache/starcache_wrapper.cpp
9
21
42.86%
[64, 65, 66, 67, 68, 69, 71, 92, 93, 94, 95, 97]

:large_blue_circle:
src/connector/hive_connector.cpp
2
3
66.67%
[106]

:large_blue_circle:
src/io/cache_input_stream.cpp
2
3
66.67%
[273]

:large_blue_circle:
src/formats/parquet/file_reader.cpp
37
52
71.15%
[51, 52, 53, 54, 55, 56, 57, 58, 63, 64, 65, 67, 68, 75, 76]

:large_blue_circle:
src/block_cache/block_cache.cpp
15
16
93.75%
[117]

:large_blue_circle:
src/exec/hdfs_scanner_parquet.cpp
16
16
100.00%
[]

:large_blue_circle:
src/exec/hdfs_scanner.cpp
1
1
100.00%
[]

:large_blue_circle:
src/formats/parquet/schema.h
9
9
100.00%
[]

:large_blue_circle:
src/formats/parquet/metadata.cpp
2
2
100.00%
[]

:large_blue_circle:
src/formats/parquet/metadata.h
3
3
100.00%
[]

:large_blue_circle:
src/formats/parquet/meta_helper.h
4
4
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
2
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
2
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 100 / 130 (76.92%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/block_cache/starcache_wrapper.cpp
9
21
42.86%
[64, 65, 66, 67, 68, 69, 71, 92, 93, 94, 95, 97]

:large_blue_circle:
src/connector/hive_connector.cpp
2
3
66.67%
[106]

:large_blue_circle:
src/io/cache_input_stream.cpp
2
3
66.67%
[273]

:large_blue_circle:
src/formats/parquet/file_reader.cpp
37
52
71.15%
[51, 52, 53, 54, 55, 56, 57, 58, 63, 64, 65, 67, 68, 75, 76]

:large_blue_circle:
src/block_cache/block_cache.cpp
15
16
93.75%
[117]

:large_blue_circle:
src/exec/hdfs_scanner_parquet.cpp
16
16
100.00%
[]

:large_blue_circle:
src/exec/hdfs_scanner.cpp
1
1
100.00%
[]

:large_blue_circle:
src/formats/parquet/schema.h
9
9
100.00%
[]

:large_blue_circle:
src/formats/parquet/metadata.cpp
2
2
100.00%
[]

:large_blue_circle:
src/formats/parquet/metadata.h
3
3
100.00%
[]

:large_blue_circle:
src/formats/parquet/meta_helper.h
4
4
100.00%
[]


remote error: tls: bad certificate

Question
How can I debug the remote error: tls: bad certificate below. It's not clear for me which part of orchestrator have tls problems.
config
cat /var/lib/orchestrator/orchestrator-sqlite.conf.json
{
    "Debug": true,
    "EnableSyslog": false,
    "ListenAddress": ":3000",
    "AutoPseudoGTID": true,
    "RaftEnabled": true,
    "RaftDataDir": "/var/lib/orchestrator",
    "RaftBind": "<IP_ADDRESS>",
    "RaftNodes": ["mysql-001.livesystem.at", "mysql-002.livesystem.at", "mysql-003.livesystem.at"] ,
    "BackendDB": "sqlite",
    "SQLite3DataFile": "/var/lib/orchestrator/data/orchestrator.sqlite3",
    "MySQLTopologyCredentialsConfigFile": "/var/lib/orchestrator/orchestrator-topology.cnf",
    "InstancePollSeconds": 5,
    "DiscoverByShowSlaveHosts": false,
    "FailureDetectionPeriodBlockMinutes": 60,
    "UseSSL": true,
    "SSLPrivateKeyFile": "/var/lib/orchestrator/pki/mysql-001.livesystem.at_privatekey.pem",
    "SSLCertFile": "/var/lib/orchestrator/pki/mysql-001.livesystem.at_cert.pem",
    "SSLCAFile": "/var/lib/orchestrator/pki/ca_cert.pem",
    "SSLSkipVerify": false,
  }

debug output
root@mysql-001:~# cd /usr/local/orchestrator && orchestrator --debug --config=/var/lib/orchestrator/orchestrator-sqlite.conf.json --stack http
2019-05-07 10:14:49 INFO starting orchestrator, version: 3.0.14, git commit: f4c69ad05010518da784ce61865e65f0d9e0081c
2019-05-07 10:14:49 INFO Read config: /var/lib/orchestrator/orchestrator-sqlite.conf.json
2019-05-07 10:14:49 DEBUG Parsed topology credentials from /var/lib/orchestrator/orchestrator-topology.cnf
2019-05-07 10:14:49 DEBUG Connected to orchestrator backend: sqlite on /var/lib/orchestrator/data/orchestrator.sqlite3
2019-05-07 10:14:49 DEBUG Initializing orchestrator
2019-05-07 10:14:49 DEBUG Migrating database schema
2019-05-07 10:14:49 DEBUG Migrated database schema to version [3.0.14]
2019-05-07 10:14:49 INFO Connecting to backend :3306: maxConnections: 128, maxIdleConns: 32
2019-05-07 10:14:49 INFO Starting Discovery
2019-05-07 10:14:49 INFO Registering endpoints
2019-05-07 10:14:49 INFO continuous discovery: setting up
2019-05-07 10:14:49 DEBUG Setting up raft
2019-05-07 10:14:49 DEBUG Queue.startMonitoring(DEFAULT)
2019-05-07 10:14:49 INFO Starting HTTPS listener
2019-05-07 10:14:49 INFO Read in CA file: /var/lib/orchestrator/pki/ca_cert.pem
2019-05-07 10:14:49 DEBUG raft: advertise=<IP_ADDRESS>:10008
2019-05-07 10:14:49 DEBUG raft: transport=&{connPool:map[] connPoolLock:{state:0 sema:0} consumeCh:0xc42008b500 heartbeatFn:<nil> heartbeatFnLock:{state:0 sema:0} logger:0xc420911400 maxPool:3 shutdown:false shutdownCh:0xc42008b560 shutdownLock:{state:0 sema:0} stream:0xc42026b9a0 timeout:10000000000 TimeoutScale:262144}
2019-05-07 10:14:49 DEBUG raft: peers=[<IP_ADDRESS>:10008 <IP_ADDRESS>:10008 <IP_ADDRESS>:10008]
2019-05-07 10:14:49 DEBUG raft: logStore=&{dataDir:/var/lib/orchestrator backend:<nil>}
2019-05-07 10:14:50 INFO raft: store initialized at /var/lib/orchestrator/raft_store.db
2019-05-07 10:14:50 INFO new raft created
2019/05/07 10:14:50 [INFO] raft: Node at <IP_ADDRESS>:10008 [Follower] entering Follower state (Leader: "")
2019-05-07 10:14:50 INFO continuous discovery: starting
2019-05-07 10:14:50 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019/05/07 10:14:51 [WARN] raft: Heartbeat timeout from "" reached, starting election
2019/05/07 10:14:51 [INFO] raft: Node at <IP_ADDRESS>:10008 [Candidate] entering Candidate state
2019/05/07 10:14:51 [ERR] raft: Failed to make RequestVote RPC to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:51 [ERR] raft: Failed to make RequestVote RPC to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:51 [DEBUG] raft: Votes needed: 2
2019/05/07 10:14:51 [DEBUG] raft: Vote granted from <IP_ADDRESS>:10008. Tally: 1
2019/05/07 10:14:53 [WARN] raft: Election timeout reached, restarting election
2019/05/07 10:14:53 [INFO] raft: Node at <IP_ADDRESS>:10008 [Candidate] entering Candidate state
2019/05/07 10:14:53 [ERR] raft: Failed to make RequestVote RPC to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [DEBUG] raft: Votes needed: 2
2019/05/07 10:14:53 [DEBUG] raft: Vote granted from <IP_ADDRESS>:10008. Tally: 1
2019/05/07 10:14:53 [DEBUG] raft: Vote granted from <IP_ADDRESS>:10008. Tally: 2
2019/05/07 10:14:53 [INFO] raft: Election won. Tally: 2
2019/05/07 10:14:53 [INFO] raft: Node at <IP_ADDRESS>:10008 [Leader] entering Leader state
2019/05/07 10:14:53 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [INFO] raft: pipelining replication to peer <IP_ADDRESS>:10008
2019/05/07 10:14:53 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [DEBUG] raft: Node <IP_ADDRESS>:10008 updated peer set (2): [<IP_ADDRESS>:10008 <IP_ADDRESS>:10008 <IP_ADDRESS>:10008]
2019-05-07 10:14:53 DEBUG orchestrator/raft: applying command 2: leader-uri
2019/05/07 10:14:53 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [ERR] raft: Failed to heartbeat to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [ERR] raft: Failed to heartbeat to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [ERR] raft: Failed to heartbeat to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [WARN] raft: Failed to contact <IP_ADDRESS>:10008 in 508.458369ms
2019/05/07 10:14:53 [ERR] raft: Failed to heartbeat to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:53 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019-05-07 10:14:53 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019/05/07 10:14:53 [ERR] raft: Failed to heartbeat to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:54 [ERR] raft: Failed to heartbeat to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:54 [WARN] raft: Failed to contact <IP_ADDRESS>:10008 in 998.108974ms
2019/05/07 10:14:54 [ERR] raft: Failed to AppendEntries to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:54 [ERR] raft: Failed to heartbeat to <IP_ADDRESS>:10008: dial tcp <IP_ADDRESS>:10008: connect: connection refused
2019/05/07 10:14:54 [WARN] raft: Failed to contact <IP_ADDRESS>:10008 in 1.450057377s
2019-05-07 10:14:54 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019/05/07 10:14:54 [INFO] raft: pipelining replication to peer <IP_ADDRESS>:10008
2019-05-07 10:14:55 DEBUG raft leader is <IP_ADDRESS>:10008 (this host); state: Leader
2019-05-07 10:14:55 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:14:56 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:14:57 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:14:58 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:14:59 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:15:00 DEBUG raft leader is <IP_ADDRESS>:10008 (this host); state: Leader
2019-05-07 10:15:00 DEBUG orchestrator/raft: applying command 3: request-health-report
2019/05/07 10:15:00 http: TLS handshake error from <IP_ADDRESS>:47866: remote error: tls: bad certificate
2019/05/07 10:15:00 http: TLS handshake error from <IP_ADDRESS>:51332: remote error: tls: bad certificate
2019/05/07 10:15:00 http: TLS handshake error from <IP_ADDRESS>:47940: remote error: tls: bad certificate
2019-05-07 10:15:00 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:15:01 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:15:02 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:15:03 DEBUG Waiting for 15 seconds to pass before running failure detection/recovery
2019-05-07 10:15:05 DEBUG raft leader is <IP_ADDRESS>:10008 (this host); state: Leader
2019-05-07 10:15:10 DEBUG raft leader is <IP_ADDRESS>:10008 (this host); state: Leader
2019-05-07 10:15:10 DEBUG orchestrator/raft: applying command 4: request-health-report
2019/05/07 10:15:10 http: TLS handshake error from <IP_ADDRESS>:47870: remote error: tls: bad certificate
2019/05/07 10:15:10 http: TLS handshake error from <IP_ADDRESS>:51334: remote error: tls: bad certificate
2019/05/07 10:15:10 http: TLS handshake error from <IP_ADDRESS>:47942: remote error: tls: bad certificate
2019-05-07 10:15:15 DEBUG raft leader is <IP_ADDRESS>:10008 (this host); state: Leader

You can run with --debug --stack but you're probably not going to get too much information beyond the error you got.
I unfortunately don't have an answer offhand, you'll need to google this error.

I run the following command.
GODEBUG=http1debug orchestrator --debug --config=/var/lib/orchestrator/orchestrator-sqlite.conf.json --stack http

hmmm right. This looks to be taking place inside Raft. Are you using SSL for the raft ports? This shouldn't happen.

How do I know if raft uses tls?
In the config is nothing special for that https://github.com/github/orchestrator/blob/master/go/config/config.go but when I take a look into the code it looks like raft uses tls https://github.com/github/orchestrator/blob/master/go/raft/raft.go#L101
I't a little bit confusing as it is possible to negotiate leader/follower but then comes the tls error.

looks like this happen in this channel.
https://github.com/github/orchestrator/blob/master/go/raft/raft.go#L374

Okay when I set "UseSSL": false, the raft cluster is created.
http://<IP_ADDRESS>:3000/web/status
But I can't create such a cluster in the internet without SSL!
How can I help to fix this issue?

I'm really confused about these ports:
2019/05/07 10:15:00 http: TLS handshake error from <IP_ADDRESS>:47866: remote error: tls: bad certificate
2019/05/07 10:15:00 http: TLS handshake error from <IP_ADDRESS>:51332: remote error: tls: bad certificate
2019/05/07 10:15:00 http: TLS handshake error from <IP_ADDRESS>:47940: remote error: tls: bad certificate

what's listening on :47866, :51332, :47940?
I'm not having any better ideas here.

It looks to me that this are dynamic ports as there is no LB in front of 10008 and there are other ports some lines below.
2019/05/07 10:15:10 http: TLS handshake error from <IP_ADDRESS>:47870: remote error: tls: bad certificate
2019/05/07 10:15:10 http: TLS handshake error from <IP_ADDRESS>:51334: remote error: tls: bad certificate
2019/05/07 10:15:10 http: TLS handshake error from <IP_ADDRESS>:47942: remote error: tls: bad certificate

It looks to me that the health check does not use the same transport as the raft main channel.
https://github.com/github/orchestrator/blob/master/go/raft/raft.go#L370-L374
https://github.com/github/orchestrator/blob/master/go/logic/command_applier.go#L88-L89
https://github.com/github/orchestrator/blob/master/go/logic/command_applier.go#L306

correct, health check is between orchestrator services, and has nothing to do with the raft protocol.

I haven't seen the http call in the code above, where should I take a look to fix this issue?

I'm sorry, I am completely confused at this time. You say:

when I set "UseSSL": false, the raft cluster is created.

I went over to the link you posted, I see no raft setup.

http://<IP_ADDRESS>:3000/api/raft-health
http://<IP_ADDRESS>:3000/api/raft-leader
http://<IP_ADDRESS>:3000/api/health

so I conclude that the raft setup does not work. You have a working HTTP andpoint, but not a raft setup. Let;s get back to the basics, just to make sure we're all on the same page.
You can have three orchestrator ndoes all working and serving HTTP API requests, but they may not be speaking to one another via raft.

Well I stopped the whole cluster.
It's not back up again, does it looks now better?
http://<IP_ADDRESS>:3000/api/raft-health
"healthy"

http://<IP_ADDRESS>:3000/api/raft-leader
"<IP_ADDRESS>:10008"

http://<IP_ADDRESS>:3000/api/health
{
  "Code": "OK",
  "Message": "Application node is healthy",
  "Details": {
    "Healthy": true,
    "Hostname": "mysql-001.livesystem.at",
    "Token": "c511873fae5cbbf019151ef446393269ab338a70ab786fb845d761b31df0a652",
    "IsActiveNode": true,
    "ActiveNode": {
      "Hostname": "<IP_ADDRESS>:10008",
      "Token": "",
      "AppVersion": "",
      "FirstSeenActive": "",
      "LastSeenActive": "",
      "ExtraInfo": "",
      "Command": "",
      "DBBackend": "",
      "LastReported": "0001-01-01T00:00:00Z"
    },
    "Error": null,
    "AvailableNodes": [
      {
        "Hostname": "mysql-001.livesystem.at",
        "Token": "c511873fae5cbbf019151ef446393269ab338a70ab786fb845d761b31df0a652",
        "AppVersion": "3.0.14",
        "FirstSeenActive": "2019-05-07T22:38:39Z",
        "LastSeenActive": "2019-05-07T22:42:28Z",
        "ExtraInfo": "",
        "Command": "",
        "DBBackend": "/var/lib/orchestrator/data/orchestrator.sqlite3",
        "LastReported": "0001-01-01T00:00:00Z"
      }
    ],
    "RaftLeader": "<IP_ADDRESS>:10008",
    "IsRaftLeader": true,
    "RaftLeaderURI": "http://<IP_ADDRESS>:3000",
    "RaftAdvertise": "<IP_ADDRESS>",
    "RaftHealthyMembers": [
      "<IP_ADDRESS>",
      "<IP_ADDRESS>",
      "<IP_ADDRESS>"
    ]
  }
}

yes, that looks better now.

As I understand the code right the go orcraft.Monitor() is used for the healt check which is called after config.Config.RaftEnabled .
https://github.com/github/orchestrator/blob/master/go/logic/orchestrator.go#L486-L491
orcraft.Setup(...) calls NewStore(...) which creates the Store config and is called at Open(...).
https://github.com/github/orchestrator/blob/master/go/raft/raft.go#L131
https://github.com/github/orchestrator/blob/master/go/raft/store.go#L33
https://github.com/github/orchestrator/blob/master/go/raft/store.go#L44
In Open(...) is now called raft.NewTCPTransport(...) where no TLS/SSL is configured.
https://github.com/github/orchestrator/blob/master/go/raft/store.go#L59
This is then the function call to raft ;-)
https://godoc.org/github.com/hashicorp/raft#NewTCPTransport
Now it's clear to me why the tls: bad certificate is raised. The raft setup isn't prepared for TLS.
It looks to me that this is big task to add TLS into the raft setup of orchestrator.
What's still unclear to me is how the HTTPS setting ("UseSSL") produce this error.
Maybe this line indicates the reason.
https://<IP_ADDRESS>:3000/api/health
RaftLeaderURI | "https://<IP_ADDRESS>:3000"

I have now set UseSSL to true and restarted the cluster and get the tls error again.

@p-o-nch @git001 I see a community contribution https://github.com/github/orchestrator/pull/1059 by @smirnov-vs (thank you!) - would you like to try and use it?
FYI ./script/dock pkg will use docker to build packages and store them on /tmp/orchestrator-release

@shlomi-noach yes. we already did. And it works as expected. Now nodes can communicate with each other when ssl and mTLS enabled on API port. Thanks, @smirnov-vs.

#1059 is merged, closing this issue.


Fix schema_to_spec by adding tuple to type_to_spec

When attempting to add @type option() :: unquote(NimbleOptions.option_typespec(@definition)) to our project I was met with the following error
** (CaseClauseError) no case clause matching: {:tuple, [:string, :string]}
    (nimble_options 0.5.2) lib/nimble_options/docs.ex:180: NimbleOptions.Docs.type_to_spec/1
    (nimble_options 0.5.2) lib/nimble_options/docs.ex:250: NimbleOptions.Docs.type_to_spec/1
    (nimble_options 0.5.2) lib/nimble_options/docs.ex:173: anonymous fn/1 in NimbleOptions.Docs.schema_to_spec/1

I have added a test that failed and fixed the issue by extending type_to_spec/1 to accept the tuple spec
As always - thanks for all you do and let me know if there are any changes you would like to see to this work!

Thanks @camilleryr! ❤


[FAB-17691] Update fabric-protos-go dependency

Signed-off-by: Wenjian Qiao<EMAIL_ADDRESS>Type of change

New feature

Description
Pull in updated ledger.pb.go for BootstrappingSnapshotInfo and BlockchainInfo
Related issues
https://jira.hyperledger.org/browse/FAB-17691

/ci-run


[BUG] Settings don't open

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.1
What problem did you encounter?
When I click on configure settings in Bloxstrap it doesn't load or something. I made a video showing the bug
Bloxstrap Settings Bug.zip
Bloxstrap Log
N/A

Open a Command Prompt window, run this command:
dotnet --info
Take a screenshot of what information appears and send it here

The only thing I cencored is my nameOp 9 nov. 2024 om 19:39 schreef pizzaboxer @.>:Open a Command Prompt window, run this command:dotnet --infoTake a screenshot of what information appears and send it here—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>

I coincidentally got a new laptop and now it does workOp 9 nov 2024 om 7:39 PM heeft pizzaboxer @.***> het volgende geschreven:
Open a Command Prompt window, run this command:
dotnet --info
Take a screenshot of what information appears and send it here
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


[RTL] Add more list control options.

Follow up to https://github.com/godotengine/godot/pull/92745, add some extra control for list:

Adds support for custom ordered list elements, and custom prefixes/suffixes:

Adds option to customize specific sublevel indentation size:

Adds option to break ordered list sublevels:

The quote got into the suffix:

I assume it's not expected?
[ol suffix=", "]
item 1
item 2
item 3
[ol]
lol
lo2
[/ol]
tiem 4
[/ol]

Also I don't get how suffix work. E.g. I tried a suffix with dot and space, but it doesn't do what I'd expect:
https://github.com/godotengine/godot/assets/2223172/967f8614-cc71-45e2-8330-bfaaf1ce9d90
Though I also tried the different list types and their behavior is overall somewhat buggy >_>

Though I also tried the different list types and their behavior is overall somewhat buggy >_>

The indent (tab size) is too small, and lists are not actually taking bullet size into account (will check it and do a separate PR since it's not directly related to this change).

The quote got into the suffix

Parsing space in the quotes seems to be issues with for all tags as well. Updated PR to use OptionMap instead of split and will do a separate PR to take it into account in the OptionMap (as well as move the rest of tags using split to OptionMap).

I wonder if the prefix and suffix arguments are really necessary, or if it would make more sense to pass a single String, which would then be formatted (e.g. [ol format="prefix_%s_suffix"]). Although, as far as I know, nothing in the Godot API ever does something like I described.

Well there is my old proposal for SpinBox https://github.com/godotengine/godot-proposals/issues/4478

Which I also have happened to like already. Maybe the idea can be jumpstarted from here which is guaranteed to not break any compatibility.


Add CSS variables controlling column widths in the "table" view

Depending on how deeply nested your schema is, and how long your property names, you might want to devote more (or less) width to the "key" column in the "table" view.
The easiest way to make this configurable seems to be with CSS variables, defaulting to the original width.

Here's an example with a few levels of nesting that demonstrates the problem: https://gist.github.com/IMSoP/693a511bf205d282c59c0929f1fe4222
Current behaviour:

Proposed, with
openapi-explorer {
    --schema-table-key-width: 300px;
    --schema-table-type-width: 100px;
}

The fundamental problem is that this "table" isn't actually using an HTML table, so the column can't expand to fit the content. I'm not sure if there's a reason behind that choice of markup, but even if it was changed, we'd probably want some kind of min-width and max-width, and those would again depend on the schema.
In some ways, the ideal would be to have that column fixed width, but with a horizontal scroll-bar, since most of the space is taken up by the indenting. I've no idea how to achieve that in CSS, though, regardless of the HTML markup.

The tree view is currently laid out in a completely different way: the labels are all inline elements, with the whitespace managed by padding on nested containers. The result is that wide elements just push the type and description to the right:

As far as I can make out, the width is managed by an inline min-width calculated for each level in the JS; I think it's this code:
const minFieldColWidth = 300 - (indentLevel * leftPadding);

I'm not sure if that can be re-implemented in CSS, or if the whole markup would need to be reworked.
As a quick fix, a small margin-right on the type would stop the text colliding like it does right now.

That's some good insight, I'm curious how the max nesting width is currently is affected if the text isn't wrapped (i.e. if we removed that limitation altogether. Let me see if I can play around here and come up with a more automated solution.

The fundamental problem is that this "table" isn't actually using an HTML table, so the column can't expand to fit the content. I'm not sure if there's a reason behind that choice of markup, but even if it was changed, we'd probably want some kind of min-width and max-width, and those would again depend on the schema.

It can't be a <table> because as far as anyone knows there is no way to dynamically collapse it using a transition, which would break the ability the have "collapsable" nesting. (I just tried this, it doesn't work, can't find any working solution here without a dynamic table).

In some ways, the ideal would be to have that column fixed width, but with a horizontal scroll-bar, since most of the space is taken up by the indenting. I've no idea how to achieve that in CSS, though, regardless of the HTML markup.

Could you say more about thin.

FYI, an optimized version of this has actually be recently released in, that does automatic column resizing.


There is no data received in the Client

Environment: Centos 6.5，GCC 4.9.1 OR 4.8.2, boost 5.7。
There is no Error appeared during compiling the ahps server&client.
Log:
cmake
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
.....
-- Boost version: 1.57.0
-- Found the following Boost libraries:
--   system
--   regex
.....
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/ahp/build
make:
Linking CXX executable ahps
[100%] Built target ahps
Server:
[root@test build]# ./ahps
Azure Http Proxy Server
bind address: <IP_ADDRESS>:8090
The port condition when there is the linkage from the client:
tcp        0      0 <IP_ADDRESS>:8090                <IP_ADDRESS>:*                   LISTEN      2188/./ahps
tcp        0      0 <IP_ADDRESS>:8090          <IP_ADDRESS>:59353           ESTABLISHED 2188/./ahps
服务端和客户端配置都启动成功，配置错误会报错。
但建立连接后，没有下行流量产生。
能否debug?

The capture about the connetction status in the Client couldn't be attached here,please get it here:
https://drive.google.com/file/d/0B4uKV-AeSn9ETU13OUN4dkNvNE0/view?usp=sharing

你好，
你的用户代理（比如浏览器）是否设置的是HTTP代理呢？从你的截图来看每一次请求似乎只有6个字节，HTTP代理请求一般来说不会少于20个字节。

@lxrite sorry, 是我疏忽了，之前的socks代理没有修改，现在测试正常，速度飞快~
多谢您的杰作。


Fix error in remove block w/ regex special chars

Previously, remove blocks that contained regular expression special
characters were throwing an error when instantiating a RegExp object to
match with. This commit escapes all regex special characters in the
offending block to ensure that a proper regular expression can be made.

hi thanks a lot! LGTM


Update fuel-core to version v0.10.*

[ ] Update grade fuel-core version
[ ] Fix break-changes
[ ] Fix tests.

Refs:
https://github.com/FuelLabs/fuel-specs/pull/333

We're currently blocked by (https://github.com/FuelLabs/sway/pull/2525)


Subproject adds don't always show up in the git pane

After looking dumb in bf77eac, I noticed that subprojects can be silently committed from the git pane. I had cloned those repos there so they would light up in the built version of VS Code.

Open a folder containing a git repo in VS Code
Clone another repo into that folder
Click the refresh button in the git pane - nothing shows up
Make a change in another file
Commit that change (without first staging the file)

Examine the actual commit, and see that it also contained the second repo added as a subproject.
If you stage the new file first, then the subprojects aren't added.
Deleted subprojects are shown in the git pane.

I don't understand what you mean with subproject.
Putting a git repository inside another one isn't supported by git, unless it is a submodule.
Whatever steps you did with Code, just do them in the command line. If Code behaves differently, it is a bug. Otherwise, it's just how git works.
Step 5 runs git add -a . ; git commit -m 'message'.

The commit item shows 'subproject', apparently includes 'submodule' and other terms.
But if the pane should show everything that git status shows, then that's the bug.

 Through the command line, it's as visible as anything else.

Got it. I'll take a peek.