Tap Time Block to Show Condition During Block

Is your feature request related to a problem? Please describe.
I usually use Home Assistant from my phone, which makes the width of this card a little tight. When the weather changes frequently over the course of the card's full duration, each time block (corresponding to a different weather condition) is narrow enough that no text is shown representing any of the blocks.
Describe the solution you'd like
It would be nice if tapping or long-tapping a block could force the text for that block to be shown, either as some kind of non-intrusive call-out or using the existing way of showing text in a box but ignoring the boundaries of the other boxes. Then, you could still map the action of getting more info from the source entity with the other tap action.
Describe alternatives you've considered
I have tried going to the more info (I am using OWM), and can usually figure out what each different color time blocks corresponds with in the OWM summary view, but it would be far more intuitive and convenient to just tap a block that I want to know the condition for.
Additional context

Thank you, I do really like the card!

Thank you, but this does not appear to work in the mobile app; I cannot see a way to emulate a hover for a tooltip with a touchscreen.

Understood, thanks! And obviously no rush from me, I am sure you are busy
and I appreciate you putting this neat gadget together =)
On Fri, Jun 24, 2022, 14:38 Jonathan Keslin @.***>
wrote:

Ya, see #20
https://github.com/decompil3d/lovelace-hourly-weather/issues/20. This
works on my dev build but seems to have not worked in the production
release. I ran out of time to debug today, but can look more soon. Probably
just a bundling problem in non-dev.
—
Reply to this email directly, view it on GitHub
https://github.com/decompil3d/lovelace-hourly-weather/issues/8#issuecomment-1165836081,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHAHYLQVYYDWJBQSDO5QYLVQX6CNANCNFSM5ZP535NQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

@mathmaniac43 Fixed in 2.2.2. Will show tooltips on mouse hover and on touch-and-hold. You can touch, hold, and then swipe off the bar before letting go to avoid launching the more-info pane, or you can adjust the actions settings to make the click/touch behavior be none (maybe use double-click for launching more-info).

This worked like a charm, thank you very much!
On Sat, Jun 25, 2022, 00:04 Jonathan Keslin @.***>
wrote:

@mathmaniac43 https://github.com/mathmaniac43 Fixed in 2.2.2. Will show
tooltips on mouse hover and on touch-and-hold. You can touch, hold, and
then swipe off the bar before letting go to avoid launching the more-info
pane, or you can adjust the actions settings to make the click/touch
behavior be none (maybe use double-click for launching more-info).
—
Reply to this email directly, view it on GitHub
https://github.com/decompil3d/lovelace-hourly-weather/issues/8#issuecomment-1166186429,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHAHYIUZOKJEIUSXEMYJUTVQ2ALTANCNFSM5ZP535NQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Can't connect with using LAN without GATEWAY specified

Hello, thanks for all your hard work on this. Works well when I am using only one LAN interface and have an explicit gateway specified, but when I change to using NO GATEWAY, I cannot connect to V380 IP camera. When no gateway is specified, I get
Discovery failed to send data 101
Camera is on same network segment, should be able to connect without gateway, not sure what's going on. I can ping it just fine with no gateway specified.

You may need to specify all of these: -addr, -id, -port

Alright, thanks, I'll give that a shot. Also, wanted to ask, what are the keybinds for PTZ and light? Maybe I got something else going on that won't let it work for me, but just wanted to confirm what they should be before I go insane trying to figure it out.

windows only:
Arrow Keys = PTZ
I = Light on
O = Light off
P = Light auto


Message embed parameter gets now send as embeds

Summary
Discord Docs say embed field is depreceated so sending embed field as embeds
(https://discord.com/developers/docs/resources/channel#create-message)
All other parts of the libary i could find already do so
Checklist

[x] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes.

[ ] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

That's a local variable, what does that have to do with sending? embeds are send as "embeds" since discord 2.0
See the sending part here and the commit where support for multiple embeds was added here


Person in Need cant leave the Request timeline screen

Describe the bug
After a request is done, the Person in Need is unable to leave the Request Timeline screen, even after he completed the review.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://reach4help-staging-web-client.firebaseapp.com/' with 2 users
Create a request, and complete it
The Volunteer then review the user, and automatically leave the Timeline screen and land in the map section
Have the Person in Need reviews
We see the loading screen, but he lands back into the Timeline page.  If he tries to go back (by pressing the arrow), we briefly see the loading symbol, but it just goes back to the Timeline page.

Expected behaviour
The Person in Need should automatically leave the Timeline page after reviewing the Volunteer, similar to the flow of the Volunteer.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: W10 Pro
Browser Chrome
Version 83.0.4103.97

ZenHub Information
This information is updated automatically. To modify it, please use ZenHub.

Same as #698

Fixed and deployed in production, closing.


Artifacts: Add at-a-glance summary of unassigned artifacts

The way the Com2us UI works, it defaults to hiding the artifacts not relevant to the current monster.  Been there.
I'd like to have a small table of unassigned attribute/type artifacts by stat (just the number of them). It probably makes the most sense to put it above the artifact listing (on the artifacts page), but below the filters.
Thoughts?

I think it's unnecessary, because the counter is visible next to every group (at least should be, it's broken on live site, making fix in few mins), so all you need to do is filter by Assigned To field.


better hints

Have list of boring words [are were s that this which who all any not he she him her ...]
Find highest ranking not boring guess
If possible  pick one of next 10 better guesses not in title (include same rank in pool)
Else pick one of 10 worse than best guess
Else pick best boring hint

done


Not accurate for Azure

The section here is not true for Azure hosted App Services, which allow you to exclude paths from certificate authentication

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

ID: 35b7960d-6de5-78ee-bc45-d7218239bbc8
Version Independent ID: d2db534b-198a-dc99-5b5a-0525582d39ac
Content: Configure certificate authentication in ASP.NET Core
Content Source: aspnetcore/security/authentication/certauth.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @blowdart
Microsoft Alias: bdorrans

That doesn't make it incorrect. That's a host configuration, not an app one, and not one that the middleware knows or cares about to be honest,

True. But if you are googling how to's for this stuff at the moment, it's pretty sparse, so hitting something like "Can I configure my app to require a certificate only on certain paths?" while scanning the material and it saying "no you can't" is a little unhelpful. True you can't configure the app, but by configuring the host you are configuring the app.


Nested Arrays in Post Data

There is error when you post data with nested arrays. It mix up internal array. I then used AFNetworking and it worked fine.
Sample data like
service[days[]]	Required: Days Array
service[days[0][slots[]]]	Required: Slots Array
service[days[0][slots[0][start_time]]]

There is no error in the implementation. There is no spec around URL collection encoding and therefore Alamofire implements a best practice approach. If your server expects a different syntax, please use the .Custom ParameterEncoding.

http://stackoverflow.com/questions/27794918/sending-array-of-dictionaries-with-alamofire
Take a look at this. This is kind of issue i am facing. Point is that same data posted correct with AFNetworking. Please take a look at it. It will be a small tweak to handle this type of post data

@muzammil-hussain you should take Rob's advice in that thread and switch over to JSON. If that cannot be done in your case, you should implement a .Custom parameter encoding. Collections with URL encoding are not supported in an RFC spec and thus is not an encouraged practice. Finally, AFNetworking is simply another slightly modified version of the URL parameter encoding and is not a more accurate version of URL encoding even it is works with your server.


fix build version

📝 Summary
make wouldn't set the build version correctly because it was a const instead of var.

✅ I have run these commands

[x] make lint
[x] make test-race
[x] go mod tidy

Codecov Report

Merging #542 (ec6b851) into develop (54eeaa2) will increase coverage by 1.12%.
The diff coverage is 67.22%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #542      +/-   ##
===========================================
+ Coverage    70.24%   71.36%   +1.12%
===========================================
  Files            6        8       +2
  Lines          541     1177     +636
===========================================
+ Hits           380      840     +460
- Misses         132      301     +169
- Partials        29       36       +7

Flag
Coverage Δ

unittests
71.36% <67.22%> (+1.12%)
:arrow_up:

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

Impacted Files
Coverage Δ

cli/main.go
0.00% <0.00%> (ø)

cli/types.go
0.00% <0.00%> (ø)

server/mock_types.go
100.00% <ø> (ø)

server/types.go
66.15% <66.15%> (ø)

server/service.go
83.08% <82.27%> (+11.07%)
:arrow_up:

server/utils.go
82.58% <85.15%> (+15.01%)
:arrow_up:

server/mock_relay.go
90.30% <95.04%> (+7.44%)
:arrow_up:

server/relay_entry.go
90.00% <100.00%> (+8.75%)
:arrow_up:

... and 1 file with indirect coverage changes


Can't boot install USB X Pro 2019 i5 8265u

I am get stuck on "ApplePS2Controller: notification consumer published: ApplePS2Mouse". Researching this now. I need to start from scratch again as if I am being honest, I am not 100% sure what drivers/kexts etc I had copied over when getting the above.
Is it advised to copy only the Boot and Clover folders from this repo to the EFI folder on the usb installer? If so, is choosing the Catalina locked config the correct choice? I am attempting to install Catalina of course! Thanks.

Hi,
try to use the following EFI folder for install Catalina from USB:
EFI_Install_USB_for_MateBook_X_Pro_2019.zip
Honestly I didn't yet "install from scratch" Catalina since I upgraded (as most of users) from Mojave...
If all goes right then you can replace all with CLOVER folders from this repo!

Amazing, thank you. I will try this tonight and let you know how it goes. Thank you for the help!

And just like that, it booted! I can't thank you enough!  I know I have a way to go yet, but thank you again.

Installed without issue. I can't boot once I copy all of the files over form this repo, but can boot into macOS using the USB installer. I've copied just those files over for now so that I can boot and test without needing to boot from USB. If I boot using the config.plist from the USB it boots fine, so I guess I need to figure out what's breaking it and amend the Catalina locked config accordingly...

Hey man, could you please provide me a link or a guide  with the steps you followed to make it works  om MBXP 2019? I have i7 versión and I'm always getting  stuck at some point of the process no master what guide I follow  😢 I will really apreciate  if you could help me with this.


can't get this script working

I followed the steps in the readme document and executed the script. It runs without any error but isn't working on twitter that means no likes for the hashtag.
Can some help me debug, please?

No, I haven't yet found the fix. Your help to fix the issue will be
appreciated.
On Sun, Jun 7, 2020, 5:27 AM r63b<EMAIL_ADDRESS>wrote:

Have you found a fix yet? I have the same problem. I'm going to take a
look at it again tomorrow so if I find a fix I'll let you know
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/neojato/T-Hawk/issues/9#issuecomment-640133703, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3RGXN2DGRLYTRKVTYMTDRVLJU7ANCNFSM4NTXUEFA
.

I fixed it...i got stuff running...here's a piece of a very long
script...it's 40x longer than this...i just copied and pasted once i got it
working for different profiles, topics, etc.
it runs so often i'm getting temporary restricted by twitter for 3 days on
likes...so not running all the time but it works..might wnat to extend the
time cycle.. at the end from 36 to 50...let me know if any issues!! good
luck. .
gmail won't let me send as file..so just pasting all the code after my name
Best regards,
Eric
//working.js
var Twitter = require('Twitter');
var config = require('./config.js');
var T = new Twitter(config);
function follow1()
{
// Set up your search parameters
var params = {
q: 'bigdata',
count: 5,
result_type: 'recent',
lang: 'en'
}
// Initiate your search using the above paramaters
T.get('search/tweets', params, function(err, data, response) {
// If there is no error, proceed
if(!err){
// Loop through the returned tweets
for(let i = 0; i < data.statuses.length; i++){
// Get the screen_name from the returned data
let screen_name = data.statuses[i].user.screen_name;
// THE FOLLOWING MAGIC GOES HERE
T.post('friendships/create', {screen_name}, function(err, response){
if(err){
console.log(err);
} else {
console.log(screen_name, ': FOLLOWED');
}
});
}
} else {
console.log(err);
}
})}
//
follow1();
setInterval(follow1,3600000);
THATS IT!! also you need this file int he same folder filled out wiht your
info
//config.js
module.exports = {
consumer_key: 'rR7OceHVIiDiKKrvX6njc0xxx',
consumer_secret: 'anTEkupBuzctt48CVgnGIOCrhi6NOxvTa5QkhgpWiOkTaPxxxx',
access_token_key: '22370886-edZkDZrkaiczRm1gQLlRbYPQoYvyDmmey1cH7xxxx',
access_token_secret: 'dE1iNKhzTOuedLXabIYwbTOfZkMS4u7AekM7Z2SpBxxxx'
}
On Sat, Jun 6, 2020 at 10:24 PM Akshay Mathur<EMAIL_ADDRESS>wrote:

No, I haven't yet found the fix. Your help to fix the issue will be
appreciated.
On Sun, Jun 7, 2020, 5:27 AM r63b<EMAIL_ADDRESS>wrote:

Have you found a fix yet? I have the same problem. I'm going to take a
look at it again tomorrow so if I find a fix I'll let you know
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/neojato/T-Hawk/issues/9#issuecomment-640133703, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAA3RGXN2DGRLYTRKVTYMTDRVLJU7ANCNFSM4NTXUEFA
.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/neojato/T-Hawk/issues/9#issuecomment-640146350, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APN64BU5Y6CERNZHO56QZXDRVL25XANCNFSM4NTXUEFA
.

I fixed it...i got stuff running...here's a piece of a very long script...it's 40x longer than this...i just copied and pasted once i got it working for different profiles, topics, etc. it runs so often i'm getting temporary restricted by twitter for 3 days on likes...so not running all the time but it works..might wnat to extend the time cycle.. at the end from 36 to 50...let me know if any issues!! good luck. . gmail won't let me send as file..so just pasting all the code after my name Best regards, Eric //working.js var Twitter = require('Twitter'); var config = require('./config.js'); var T = new Twitter(config); function follow1() { // Set up your search parameters var params = { q: 'bigdata', count: 5, result_type: 'recent', lang: 'en' } // Initiate your search using the above paramaters T.get('search/tweets', params, function(err, data, response) { // If there is no error, proceed if(!err){ // Loop through the returned tweets for(let i = 0; i < data.statuses.length; i++){ // Get the screen_name from the returned data let screen_name = data.statuses[i].user.screen_name; // THE FOLLOWING MAGIC GOES HERE T.post('friendships/create', {screen_name}, function(err, response){ if(err){ console.log(err); } else { console.log(screen_name, ': FOLLOWED'); } }); } } else { console.log(err); } })} // follow1(); setInterval(follow1,3600000); THATS IT!! also you need this file int he same folder filled out wiht your info //config.js module.exports = { consumer_key: 'rR7OceHVIiDiKKrvX6njc0xxx', consumer_secret: 'anTEkupBuzctt48CVgnGIOCrhi6NOxvTa5QkhgpWiOkTaPxxxx', access_token_key: '22370886-edZkDZrkaiczRm1gQLlRbYPQoYvyDmmey1cH7xxxx', access_token_secret: 'dE1iNKhzTOuedLXabIYwbTOfZkMS4u7AekM7Z2SpBxxxx' } On Sat, Jun 6, 2020 at 10:24 PM Akshay Mathur<EMAIL_ADDRESS>wrote:
…
No, I haven't yet found the fix. Your help to fix the issue will be appreciated. On Sun, Jun 7, 2020, 5:27 AM r63b @.***> wrote: > Have you found a fix yet? I have the same problem. I'm going to take a > look at it again tomorrow so if I find a fix I'll let you know > > — > You are receiving this because you authored the thread. > Reply to this email directly, view it on GitHub > <#9 (comment)>, or > unsubscribe > < https://github.com/notifications/unsubscribe-auth/AAA3RGXN2DGRLYTRKVTYMTDRVLJU7ANCNFSM4NTXUEFA > > . > — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#9 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APN64BU5Y6CERNZHO56QZXDRVL25XANCNFSM4NTXUEFA .

Just delay the triggers in the google app settings so it doesn't repeat its self so often?

here it is as a word file..i see the text above isn't legible...hopefully
this helps..it's all the code...it looks like your Authcode / config file
isn't setup right...the errors are in your logging in to get to the
API....not any code errors...double check config file and your oauth info!
best of luck
Best regards,
Eric
774.249.5287
On Tue, Jun 9, 2020 at 12:15 PM r63b<EMAIL_ADDRESS>wrote:

I fixed it...i got stuff running...here's a piece of a very long
script...it's 40x longer than this...i just copied and pasted once i got it
working for different profiles, topics, etc. it runs so often i'm getting
temporary restricted by twitter for 3 days on likes...so not running all
the time but it works..might wnat to extend the time cycle.. at the end
from 36 to 50...let me know if any issues!! good luck. . gmail won't let me
send as file..so just pasting all the code after my name Best regards, Eric
//working.js var Twitter = require('Twitter'); var config =
require('./config.js'); var T = new Twitter(config); function follow1() {
// Set up your search parameters var params = { q: 'bigdata', count: 5,
result_type: 'recent', lang: 'en' } // Initiate your search using the above
paramaters T.get('search/tweets', params, function(err, data, response) {
// If there is no error, proceed if(!err){ // Loop through the returned
tweets for(let i = 0; i < data.statuses.length; i++){ // Get the
screen_name from the returned data let screen_name =
data.statuses[i].user.screen_name; // THE FOLLOWING MAGIC GOES HERE
T.post('friendships/create', {screen_name}, function(err, response){
if(err){ console.log(err); } else { console.log(screen_name, ': FOLLOWED');
} }); } } else { console.log(err); } })} // follow1();
setInterval(follow1,3600000); THATS IT!! also you need this file int he
same folder filled out wiht your info //config.js module.exports = {
consumer_key: 'rR7OceHVIiDiKKrvX6njc0xxx', consumer_secret:
'anTEkupBuzctt48CVgnGIOCrhi6NOxvTa5QkhgpWiOkTaPxxxx', access_token_key:
'22370886-edZkDZrkaiczRm1gQLlRbYPQoYvyDmmey1cH7xxxx', access_token_secret:
'dE1iNKhzTOuedLXabIYwbTOfZkMS4u7AekM7Z2SpBxxxx' } On Sat, Jun 6, 2020 at
10:24 PM Akshay Mathur<EMAIL_ADDRESS>wrote:
… <#m_7483660569420067871_>
No, I haven't yet found the fix. Your help to fix the issue will be
appreciated. On Sun, Jun 7, 2020, 5:27 AM r63b @.***> wrote: > Have you
found a fix yet? I have the same problem. I'm going to take a > look at it
again tomorrow so if I find a fix I'll let you know > > — > You are
receiving this because you authored the thread. > Reply to this email
directly, view it on GitHub > <#9 (comment)
https://github.com/neojato/T-Hawk/issues/9#issuecomment-640133703>, or

unsubscribe > <
https://github.com/notifications/unsubscribe-auth/AAA3RGXN2DGRLYTRKVTYMTDRVLJU7ANCNFSM4NTXUEFA

. > — You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#9 (comment)
https://github.com/neojato/T-Hawk/issues/9#issuecomment-640146350>, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APN64BU5Y6CERNZHO56QZXDRVL25XANCNFSM4NTXUEFA
.

Just delay the triggers in the google app settings so it doesn't repeat
its self so often?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/neojato/T-Hawk/issues/9#issuecomment-641408559, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APN64BUVMKPNTKZPCSQQEHTRVZNY5ANCNFSM4NTXUEFA
.

See #12 for latest on this issue.


parser 1.0.2 incompatible with current generator

Describe the bug
Using parser 1.0.2 with generator 1.0.0-rc.13 results in errors:
Error: Parameter "asyncapiDocument" must be an AsyncAPIDocument object.
    at Generator.generate (/Users/david/projects/antora/extensions/asyncapi/antora-asyncapi/node_modules/@asyncapi/generator/lib/generator.js:154:64)
    at generate (/Users/david/projects/antora/extensions/asyncapi/antora-asyncapi/lib/antora-asyncapi.js:107:40)
    at process._tickCallback (internal/process/next_tick.js:68:7)

How to Reproduce
package.json:
    "@asyncapi/generator": "1.0.0-rc.13",
    "@asyncapi/parser": "1.0.2",

code:
      const parsed = await parser.parse(sourceString)
      const asciidoc = await generator.generate(parsed)

To see this in action, clone https://gitlab.com/djencks/antora-asyncapi, change the version of the parser to 1.0.2, run npm i, clone https://gitlab.com/djencks/antora-extension-examples, in antora-asyncapi change the location of @djencks/antora-asyncapi to the file system location, and run npm run clean-build.
Expected behavior
I expected my code to continue to work as you guys released upgrades.
I suggest that you have the generator export the parser it uses so I don't have to try to keep versions in sync:
module.exports = Generator;
module.exports.parse = parse;

Then I can get the correct version of the parser easily without having to try to keep up with whatever you are doing.

@djencks Hi, please share a bit more information. Please answer below questions:

Do you mean parser 1.0.1 worked but 1.0.2 doesn't? 1.0.2 is a patch, it changed nothing in AsyncAPIDocument object at all.
Wouldn't it be easier for you to use generateFromString function and let generator parse it for you? The generator also uses AsyncAPI Parser

Yes, using the exact version of parser as the generator uses works, using 1.0.2 does not.  Javascript classes are still a bit of a mystery to me, but I suspect that at least in node a class retains information about the module from which it was loaded, so, as in Java, class name and code identity is not enough to establish class equality.
I can (and will) use generateFromString, but I think it would be convenient for someone who needs to examine the AsyncApiDocument object as well as generate from it to be able to get a compatible parser automatically.  I was using separate steps to attempt to time the phases, but this information is not very useful.

Actually I can't realistically use generateFromString because I need to generate multiple documents from the same source asyncapi file.
Adding a parse method to the Generator class that delegates to the parser might be cleaner than an additional export.

Apparently I can omit the dependency on @asyncapi/parser or list it as a peerDependency and get the version installed by @asyncapi/generator.  However, at this point I think that exposing one or more parse methods on the generator is cleaner.  If you agree I'd be happy to supply a PR.

I appear to have spoken too soon, and that I didn't clean up my environment sufficiently.  I don't think the peerDependencies idea works after all.

@djencks you know what, I created a very simple basic project -> https://github.com/derberg/simple-example-generator-with-parser and to be honest, it could never work. I checked many parser versions, even went back to 0.18 version and still error is
Error: Parameter "asyncapiDocument" must be an AsyncAPIDocument object.
    at Generator.generate (/Users/wookiee/sources/simple-example-generator-with-parser/node_modules/@asyncapi/generator/lib/generator.js:154:64)
    at run (/Users/wookiee/sources/simple-example-generator-with-parser/index.js:20:21)

The orygin of the problem is https://github.com/asyncapi/generator/blob/master/lib/generator.js#L154. Maybe instead of !(asyncapiDocument instanceof AsyncAPIDocument) we should just do asyncapiDocument.constructor.name !== 'AsyncAPIDocument'

Regarding using generateFromString. What do you mean here
Actually I can't realistically use generateFromString because I need to generate multiple documents from the same source asyncapi file.

generateFromString is not much different than generate -> https://github.com/asyncapi/generator/blob/master/lib/generator.js#L229-L238. It just does what you did manually, parses docs and passes it to generate function

I can't explain your results. My project works fine when the versions of the generator and parser are fixed and the parser version is 1.0.1, same as the generator.
It also works fine with my first proposed solution, exporting the parse method from the generator and using that instead of a separate parser.
Parsing appears to take a significant amount of time, so I do (pseudocode)
const doc = await parse(source)
const output1 = await generate(doc, template1)
const output2 = await generate(doc, template2)

I can vouch in here here to say that @djencks project is working fine for me as well in the configuration he describes.
(I was the one who reported the initial error to him)

@djencks thanks for the pseudocode example, it pretty clearly explained the used case 🙇
For me it is a valid use case for exposing internally used parser in the generator API. I also do not have a strong opinion though, if this is the best solution or maybe others would be better, so let me ask others.
@fmvilas @jonaslagoni could one of you share opinion. I'm totally fine with exposing parser in Generator API as the use case is completely valid

Yea I think we can expose the parser methods. Don't see any downsides doing this, unless you guys see a use-case where you want manually use a different version then the underlying parser 🤔?

I definitely do not see a valid use case using a separate parser, so the best approach to solve @djencks use case is to expose the parser used by the Generator

@djencks hey, generator 1.0.0 is out, you can start working on exposing parser as part of generator API

@djencks hey, did you plan to work on this one?

@djencks hey, did you plan to work on this one?

@djencks hey, do you plan to work on this one or shall we close it?

It turns out for my use case it doesn't make any sense to use the Generator, it is much much simpler to use the parser directly and manage templates myself.  Therefore, I don't expect to work on this any more.


Does this work on ARM devices, such as Raspberry pi?

I've used my pi plenty of times with FFMPEG to container convert mkv to mp4 which is does no problem. Wondering if this docker container will run on ARM?
Cheers!

The docker containers that I maintain do not support ARM but the script itself should. There may be unofficial containers that do support ARM though but I can’t say for sure.
The docker file I use is based on the Linuxserver.Io images so you may be able to adjust your base image and FFmpeg source to fit your needs as I do believe there are tags within the base image for ARM
Sent from my iPhone

On Oct 9, 2020, at 10:31 AM, Timothy Pillow<EMAIL_ADDRESS>wrote:

I've used my pi plenty of times with FFMPEG to container convert mkv to mp4 which is does no problem. Wondering if this docker container will run on ARM?
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Question about the routing

Thank you very much for your open-source framework！Hello author, when I installed OpenPARF, the placement was able to run, but when using the router provided by the author, I found that router could not be done. After investigating the reason, I found that in line 22 of/OpenPARF/openparf/routing/router. py, import router_ cpp, it is not possible to parse the import "router_cpp". I couldn't find this package in the Python environment.  Could you tell me where the problem is and then how to solve it?Thank you!

Thank you very much for your interest in OpenPARF. May I inquire if you have set the ENABLE_ROUTER option to disable when running the cmake command?

It would be better for debugging if you could provide a complete screenshot of the running command.

作者你好，非常感谢你们的开源布局布线框架！我也遇到了上述问题，即已经将ENABLE_ROUTER设置为ON了，也无法进行布线，输出No error，Segmentation fault (core dumped)。于是我重新安装了一遍OpenPARF，在cmake阶段遇到了如下问题。

这是我的cmake指令
cmake .. -DCMAKE_PREFIX_PATH=/home/gdut/anaconda3/envs/openparf -DPYTHON_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DPython3_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DCMAKE_INSTALL_PREFIX=/home/gdut/OpenPARF/install

If ENABLE_ROUTER has already been set to ON, the appropriate make command should be
cmake .. -DCMAKE_PREFIX_PATH=/home/gdut/anaconda3/envs/openparf -DPYTHON_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DPython3_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DCMAKE_INSTALL_PREFIX=/home/gdut/OpenPARF/install -DENABLE_ROUTER=1

Please try using this command.

If ENABLE_ROUTER has already been set to ON, the appropriate make command should be
cmake .. -DCMAKE_PREFIX_PATH=/home/gdut/anaconda3/envs/openparf -DPYTHON_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DPython3_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DCMAKE_INSTALL_PREFIX=/home/gdut/OpenPARF/install -DENABLE_ROUTER=1

Please try using this command.

作者你好，我使用了你所提供的cmake指令进行cmake，make，make install。以ISPD2016的benchmark为例，在FPGA01.json中，添加了"route_flag" : 1,。由于没有GPU，我将GPU选项设置为"gpu" : 0,。随后我在install的文件夹中执行该命令
python openparf.py --config unittest/regression/ispd2016/FPGA01.json

最后输出的反馈如图所示。

I'm very sorry, the compilation option should be set to -DENABLE_ROUTER=ON.
Please use the following cmake command:
cmake .. -DCMAKE_PREFIX_PATH=/home/gdut/anaconda3/envs/openparf -DPYTHON_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DPython3_EXECUTABLE=/home/gdut/anaconda3/envs/openparf/bin/python -DCMAKE_INSTALL_PREFIX=/home/gdut/OpenPARF/install -DENABLE_ROUTER=ON

作者你好，我使用了你提供的cmake指令进行cmake，make，make install。依然是以ISPD2016的benchmark为例，在FPGA01.json中，添加了"route_flag" : 1,。由于没有GPU，我将GPU选项设置为"gpu" : 0,。随后我在install的文件夹中执行命令
python openparf.py --config unittest/regression/ispd2016/FPGA01.json

之后，出现了Segmentation fault (core dumped)的情况

Please confirm the following:

The version of G++ is 7.5.0. In our previous trials, errors have occurred when other versions were used.
Ensure that the XML file is accessible and readable.

We are fixing issues with the compiler, to make the program work in other compilation environments as well.

Please confirm the following:

The version of G++ is 7.5.0. In our previous trials, errors have occurred when other versions were used.
Ensure that the XML file is accessible and readable.

G++版本为7.5.0，XML文件也是可访问可读的。
依然是以ISPD2016的benchmark为例，在FPGA01.json中，添加了"route_flag" : 1,。由于没有GPU，我将GPU选项设置为"gpu" : 0,。
执行该命令:
python openparf.py --config unittest/regression/ispd2016/FPGA01.json

输出以下结果

Greetings,
To enhance our comprehension and replication of the quandary you are encountering, could you kindly furnish additional particulars pertaining to your environment? In particular, the following information would be instrumental:

The operating system employed, inclusive of its version.
The iteration of the pertinent software or library, for instance, Python, Torch, g++, etc.
Any dependent software and their corresponding versions.
A detailed sequence of actions that precipitated the issue.
In the event the issue arises within a Docker container, it would be greatly beneficial if you could supply the Docker image or the Dockerfile utilized to establish the environment. This will enable us to precisely emulate your setup and scrutinize the issue under identical conditions.

Such information will significantly aid in diagnosing and rectifying the predicament.

Hi,
could you please send us the results of the placement, i.e., results/FPGA01/FPGA01.pl for debugging? (My email address is jingmai at pku dot edu dot cn).

Please confirm the following:

The version of G++ is 7.5.0. In our previous trials, errors have occurred when other versions were used.
Ensure that the XML file is accessible and readable.

G++版本为7.5.0，XML文件也是可访问可读的。 依然是以ISPD2016的benchmark为例，在FPGA01.json中，添加了"route_flag" : 1,。由于没有GPU，我将GPU选项设置为"gpu" : 0,。 执行该命令:
python openparf.py --config unittest/regression/ispd2016/FPGA01.json

输出以下结果

Can you test it in an environment where both gcc and g++ are version 7.5? I remember seeing that the version of gcc was not 7.5 before.


[Pie/Donut] Can't wrap  text (Line breaks) in Donut Label

Bug report
In Pie-donut chart, I have some labels and Total Label with long text, they can't be wrap text. I tried to use Array String to wrap follow this link  but it didn't work.
 I expect that the long text can be line breaks.

What is happening instead? Now they can't be drop line.

What error message are you getting? No, I don't see any error messages, I don't see any documentation for this issue.

You have a good library, I hope to hear from you soon.
Thank you,

Warp text (Line break) not working while hover on slice in donut chart.

Any chance we can reopen this? im having the same issue


⚠ TROJAN 🇺🇸 United States USO 1 has degraded performance

In 5220bb3, TROJAN 🇺🇸 United States USO 1 (https://ust-2.opensvr.net/) experienced degraded performance:

HTTP code: 200
Response time: 23398 ms

Resolved: TROJAN 🇺🇸 United States USO 1 performance has improved in 88ab20a.


Detect incorrect start letters

If one outputs crude alphabet in a set based on starting letters of all entries, the alphabetical order will be incorrect.
    'a',
    'b',
    'd',
    'e',
    'i',
    'f',
    'g',
    'h',
    's',
    'j',
    'k',
    'l',
    'm',
    'n',
    'o',
    'y',
    'p',
    'r',
    't',
    'u',
    'v',
    'x',
    'æ',
    'ø',

See i which seems to come after e. That is a hint that some entry has incorrectcly OCR'd starting letter. Try to detect these via script, apply exceptions

& s after h

This is partially due to odd sorting of pages, which in turn is likely result of odd filenames in source or in the scraper. Fixed what lowhangers were found, individual issues will probably be faced again via other problems


CmdRes.CombineOutput does not clobber stdout & SW demo fixup

CmdRes.CombineOutput accidentally reused the CmdRes.stdout variable and modified it, corrupting later CmdRes.StdOut calls. This PR fixes that, and fixes the SW GSG demo to use only Stdout to check http codes.

test-me-please

Looks like the tests didn't get triggered? Trying again.

test-me-please

they're scared of the conscequences

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

Issue with Kafka not related.

test-me-please

@eloycoto are you sure? it failed on that same test yesterday as well. I could see how it could but it was a timeout, so it's likely some utility function relied on the older CombineOutput side-effects :/

@raybejjani yes, It is before the ExpectContains
Stacktrace

/home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-Validated/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:312
Failed to produce to empire-hq on topic deathstar-plans
Expected
    <*errors.errorString | 0xc420da0130>: {
        s: "ExecKafkaPodCmd: command 'kubectl exec -n default empire-hq-bc4bfbcc6-gnxx8 sh -- -c \"echo “deathstar reactor design v3” | ./kafka-produce.sh --topic deathstar-plans\"' failed '' || 'The connection to the server <IP_ADDRESS>:6443 was refused - did you specify the right host or port?\n'",
    }
to be nil
/home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-Validated/src/github.com/cilium/cilium/test/k8sT/KafkaPolicies.go:153

Fixed in #3456

backport in https://github.com/cilium/cilium/pull/4009


Chat Zone #1

chat all you want here

warly,pls help me on https://github.com/LilDrippyMyFnf/Fnf-EchoEngine if you can


Add a scheme input

Problem Statement
Unfortunately, it is sometimes (often?) necessary to specify a scheme when building projects/workspaces for issues like this:
https://stackoverflow.com/questions/66378479/xcodebuild-resolves-dependency-but-cant-import-the-package
...or with actions like archive, which explicitly require a scheme:
https://developer.apple.com/forums/thread/42909
Proposed Solution
This change allows users to specify a scheme when invoking xcodebuild.
Alternatives Considered
I thought about building all schemes from xcodebuild -list -json, or just the first, but either would likely differ in behavior from the existing usage. xcodebuild with no scheme specified seems to only invoke the first listed target (not scheme) using the default build configuration.
Adding an explicit scheme input allows users of this GitHub Action to opt-in to the new behavior without breaking existing usage. It also makes it clear which scheme will be built, though it does introduce a bit of fragility. I don't see a way around that given the default behavior of xcodebuild.

I need this too. I'm building a Swift package and 2 of my third party dependencies are adding themselves to the schemes. This action is failing on my pipeline, as its always picks one of these dependencies (i'm guessing alphabetical?). Because they don't have a test bundles, its crashing the build and test command. I can't seem to find a way to remove them from the list, specifying scheme would help

Indeed, I figured this would be necessary, I just didn't intend to build it until I needed it or had a use case. Thanks.


Replace eregs.py with separate module.

The eregs.py module wasn't included in the setup script, which meant that the
eregs command would not work unless run in the same directory. Further,
eregs.py referred to manage.py, which is too generically named to be included
in a package. Instead, move its logic into a module deeper in the app and
reference that module in both the manage.py and eregs command. This also
allows us to remove the eregs.py script.

Coverage decreased (-0.2%) to 91.759% when pulling a875bada5239ec7d0188714089da8428f700e3b9 on cmc333333:packaging-issues into 6faf9e75c2ed620cf7681922fcb672b518681d25 on eregs:master.

Coverage decreased (-0.2%) to 91.724% when pulling 1fc5eb78b2227ffc4c3dcdc89ce8ec66b04d3e43 on cmc333333:packaging-issues into b2a4c0761d8a76b0eb10f7425a467ad4becc8865 on eregs:master.


Support to configure request headers

Also fixed a problem which makes unusable for relative-url endpoints

Hi,
really interesting.
Could you add info in the readme on how to use the new functionality ?
Once you've done that, I'll be happy to merge your pr.

Hi Benjamin,
This can be used in very same way than 'parameter' option. I already included it in readme file.
Do you think than it need more extended explication?

It won't hurt to say it explicitely!
Thanks

Improved README

Hello!
Please, can you take a look about this?
Thanks!.

Thank you @jmvivo


Timeout never triggers when application code ignores an interrupt

Under certain conditions Timeout policy may never trigger:

Create a simple FailsafeExecutor with new Timeout(Durations.ofSeconds(1)).withCancel(true)
Schedule a task while true();
Try future.get()

Expected: com.apple.its.uts.common.retry.TimeoutExceededException after a second
Actual: Hangs.
Notes: User of the library expects timeouts to work even when some tasks are ignoring interrupts. Some example would be: application code notices the interrupt, but takes some time to wind down. If that "winding down" takes too long it breaks an assumption on the calling code that timeout always works.

In general, Failsafe users should not expect timeouts to stop the execution of tasks. If you really want to ensure that tasks stop when they time out, you must carefully craft them to be cancellable.
Quick summary of possible usage modes for Timeout depending on the tasks that will be executed under the policy and whether they will be executed asynchronously (Note: not talking about async execution contexts here, just getAsync vs get):

If tasks are known to be responsive to cancellation via interruption, use withCancel(true)
Otherwise, if tasks are known to be responsive to cancellation through polling Failsafe execution context, use withCancel(false)
Otherwise, if tasks are executed asynchronously and are not known to support cancellation, either don't use withCancel at all or use withCancel(false) to prevent tasks that have been delayed past the timeout duration from starting in the first place (this would be a consideration with bounded schedulers). Either way, don't rely on the task being stopped once it has started.
Otherwise (tasks are executed synchronously and are not known to support cancellation), don't use withCancel and, more importantly, only use Timeout in the first place if you are certain that tasks will complete on their own in reasonable time.

In the last two cases, you might, for example, only need to use the fact of the timeout within some policy chain and not rely on being able to stop the execution.
I come down strongly against using withCancel(true) except when the task is known to be responsive to cancellation via interruption. (The example given above in this issue — while (true); — is not such a task.) The reason is that in general an unexpected interruption in code that was not designed for it can have unpredictable behavior. You can relax this if you're confident that none of the tasks you execute under the timeout policy will have pathological behavior due to interruption.
In Java Concurrency in Practice, we provided some guidelines for writing code that keep the option of cancellability via interruption open, chief of which is to handle InterruptedException either by propagating it (after local cleanup, if necessary) or by catching it, setting the interrupt status, and returning as quickly as possible (again, after local cleanup). In the years since we wrote the book I have seen that no matter how carefully you follow these rules, if a task calls out to libraries that you do not control, in particular those that do I/O, it can be extremely difficult to ensure that it will behave properly in the presence of interruption. For this reason, unless the task is fairly simple, with obvious spots to check interrupt status and/or blocking calls that throw InterruptedException, I think the smart move is to use the Failsafe execution context where possible.
If you're uncomfortable having Failsafe execution contexts "leak" into your task code, consider hiding them behind a simple cancellation interface:
@FunctionalInterface
public interface CancellationContext {
    boolean isCancelled();
}

...
Result myTask(CancellationContext cc) {
    ...
    if (cc.isCancelled()) ... exit quickly ...
    ...
}
...
    Failsafe.with(timeout).getAsync(ctx -> myTask(ctx::isCancelled));

See my comments on a related Failsafe issues here and here for more background.

This issue is not about task cancellation, it's about Failsafe Timeout behaviour.
When I do future.get() on the Future returned from Failsafe I expect that it would finish after a Timeout I have defined. No matter type of a task I have scheduled.
It was the shortest example that I could have thought of that has non-cancellable tasks.

This is not a contribution

I think you're asking too much of Timeout.
Timeout can't prevent a task (in general) from taking up an arbitrary amount of time, and tasks that take a lot of time should not be allowed to continue to silently use up a thread by proceeding with TimeoutExceededException as if things were fine. Hanging in this case seems like the best option. It's what would happen if you weren't using Failsafe.

I see. These arguments make sense. I also just realized that this policy is applied consistently, i.e. when execution is "async" timeout is just completely ignored as it has no control over the async execution.
In my case I was migrating from get(3, SECONDS) to Failsafe's timeouts and getAsync so that timeouts and retry policies were configured in a single place. For me it was a significant change in behavior. Some of my tasks are CPU intensive, may take some time, and not under my control, but I still need to have timeouts for them to at least respond to the user. Overflowing pools are of a separate concern for me as I have metrics around them.
I still claim that this is a very surprising behaviour for the users and it should be documented on a timeout policy that it does not actually trigger a timeout. All engineers I talked to were deeply surprised by the current behaviour. May be at least give an option to the user to make it really timeout?
And as it is right now when something fails I do not get any logs or metrics (whenComplete is never called). I'll try to write my own timeout policy that does what I expect it to do. I dread this in advance as lots of methods are package-private in Failsafe, so there would be a lot of reflection involved (#257).

This is not a contribution.

When I do future.get() on the Future returned from Failsafe I expect that it would finish after a Timeout I have defined.

This is the case. For example, this will be interrupted and the future completed with TimeoutExceededException:
    Timeout<Object> timeout = Timeout.of(Duration.ofMillis(100)).withInterrupt(true);
    Failsafe.with(timeout).runAsync(() -> {
      while (true) {
      }
    }).get();

It's worth noting that while Failsafe can attempt to interrupt an execution, in this case the code doesn't cooperate with interruption so it keeps running even after Failsafe has completed its future. As @Tembrel pointed out, code should be written to participate with either cancellation or interruption when a Timeout occurs.


Add parse command to PPL

Description
see #359 for details
Note: currently using BuiltinFunctionRepository for type casting, but i had to change cast function to public and register a new repository in parse operator. Might need a better implementation
Issues Resolved
#359
Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[x] New functionality has javadoc added
[x] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #411 (6e1b4d4) into main (b0ef5e0) will decrease coverage by 33.59%.
The diff coverage is n/a.

:exclamation: Current head 6e1b4d4 differs from pull request most recent head a52d765. Consider uploading reports for the commit a52d765 to get more accurate results

@@              Coverage Diff              @@
##               main     #411       +/-   ##
=============================================
- Coverage     96.51%   62.91%   -33.60%
=============================================
  Files           264       10      -254
  Lines          7172      658     -6514
  Branches        538      118      -420
=============================================
- Hits           6922      414     -6508
+ Misses          196      191        -5
+ Partials         54       53        -1

Flag
Coverage Δ

query-workbench
62.91% <ø> (ø)

sql-engine
?

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

Impacted Files
Coverage Δ

...ain/java/org/opensearch/sql/analysis/Analyzer.java

...expression/function/BuiltinFunctionRepository.java

...org/opensearch/sql/planner/DefaultImplementor.java

...opensearch/sql/planner/logical/LogicalPlanDSL.java

...ch/sql/planner/logical/LogicalPlanNodeVisitor.java

...ensearch/sql/planner/physical/PhysicalPlanDSL.java

.../sql/planner/physical/PhysicalPlanNodeVisitor.java

...ecutor/protector/OpenSearchExecutionProtector.java

...java/org/opensearch/sql/ppl/parser/AstBuilder.java

...ensearch/sql/analysis/NamedExpressionAnalyzer.java

... and 244 more

Continue to review full report at Codecov.

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


Special handling of classes with "reserved" names?

Hi there,
thank your this piece of software!
Trying to convert Horder Imap I have the following unexpected result  in the map file:
 "units": [
                {
                    "originalName": "Horde_Array",
                    "newName": "HordeArray",
                    "componentStmtClasses": null,
                    "originalFile": "\/var\/www\/dev1\/htdocs\/nextcloud-git-28\/apps\/cafevdb\/build\/vendor-wrapped\/bytestream\/horde-util\/lib\/Horde\/Array.php",
...
                    "newNamespace": "Wrapped\\Horde",
                    "targetFile": "Wrapped\/Horde\/HordeArray.php",
                    "targetFileWithoutVendor": "Horde\/HordeArray.php",

and
            "units": [
                {
                    "originalName": "Horde_Array_Sort_Helper",
                    "newName": "Helper",
...
                    "newNamespace": "Wrapped\\Horde\\Array_\\Sort",
                    "targetFile": "Wrapped\/Horde\/Array_\/Sort\/Helper.php",
                    "targetFileWithoutVendor": "Horde\/Array_\/Sort\/Helper.php",

So it seems as if the class-name Array has some special treatment in the code (why?) and the special treatment is different in different contexts, one time the "parent component" is attach to form HordeArray in this case and another time -- when Array is only part of the path  -- an underscore is attached to form the new name as Array_\Sort.
Can this behaviour be suppressed to just treat Array as an ordinary class name?
Thanks!

Command to generate the map file was
psr4-converter map 'Wrapped' . --underscore-conversion --ignore-path="horde-mime/lib/Horde/Mime/mime.mapping.php" $(for i in $(find . -type d -a -name test|sed 's|\./||g'); do echo '--ignore-path="'$i'"' ; done)

If more information is needed I will be very gladly provide it.

 It is PHP which is a twitter between case insensitivity and case sensitivity. Closing this issue.


When connecting using AZ CLI authentication, the interactive property is overridden + cache not being generated

Hi!
I got a code similar to the following:
KustoConnectionStringBuilder connection = new KustoConnectionStringBuilder(cluster, "DB").WithAadAzCliAuthentication(false);
var loader = new CachedSymbolLoader(connection.ToString(), $"{Directory.GetCurrentDirectory()}/cache");
var databaseSchema = await loader.LoadDatabaseAsync("DB", null, true);

Despite disabling the interactive property in WithAadAzCliAuthentication, I still got my browser opened and requesting confirmation.
Also, my cache isn't being generated in my folder as expected.
btw, I'm on MacOS, if that helps.
TIA!

Does your cluster name or database name have characters that would be invalid as part of file/path name on mac os?

To help with the authentication problem, can you try creating the ServerSymbolLoader with the KustoConnectionStringBuilder as a constructor argument, and then created the CachedSymbolLoader with that ServerSymbolLoader as an argument?  When you call ToString on it the conneciton string builder, it strips out any credential information it has before returning the string.
This may be the problem.

I'm adding an overload that takes the connection builder to help avoid this problem.

I've published a new version 1.3.2 to nuget with these changes.

We can reopen this issue if the changes did not solve the problem.


ENH: natural sorting, fixes #831

I only have 1 study in test, and my demo database is hosed, so I can't reallllly verify this one.

Coverage increased (+0.34%) to 78.69% when pulling 513676172f63eae944ae4f62c6f91ddb7e2cf18d on wasade:issue_831 into d3984140ab3db185920f473710da53c2587aee49 on biocore:master.

@wasade, when I was trying to do a PR against your fork, it kept pulling in a bunch of commits, so I opened a new PR; I think this one can be closed, since the other one contains the commits from this PR


add VDMS retriever microservice for v0.9 Milestone

Description
Add VDMS retriever component. Targeting v0.9 milestone. Retriever is part of a megaservice for video QA RAG system.
Issues
List the issue or RFC link this PR is working on. If there is no such link, please mark it as n/a.
Type of change

[X ] New feature (non-breaking change which adds new functionality)

Dependencies
List the newly introduced 3rd party dependency if exists.
Tests
new test script added to test folder. test-retrievers_langchain_vdms.sh

@chensuyue can you please tag this PR with v0.9 milestone

@XuhuiRen @lvliang-intel Could you help to review the code? Thanks

@s-gobriel，
Please resolve the conflicts and fix example test issue.

does this VDMS need extra operation to index the data? It seems that this retriever is rely on VDMS vectorstore, plz add the corresponding data indexing code under "dataprep" folder. In this way, the user can get a easy way to use this retriever and vectorstore.

@s-gobriel  please see https://github.com/opea-project/GenAIComps/pull/538#issuecomment-2319962164 to fix the CI test.

does this VDMS need extra operation to index the data? It seems that this retriever is rely on VDMS vectorstore, plz add the corresponding data indexing code under "dataprep" folder. In this way, the user can get a convenient way to use this retriever and vectorstore.

Hi Xuhui, Sameh is OoO since US holiday today. @srinarayan-srikanthan is planning to raise another PR for dataprep for VDMS, on ww36'4 (ww36'3 in US).

@s-gobriel， Please resolve the conflicts and fix example test issue.

Hi liang, the conflict and example test is good now

@lvliang-intel , can we please merge this PR since all issues are resolved?


CenterMode with even number of slides

centerMode – Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts.

Is there any way to center for example 2 slides?

Nah, but there's a way to determine the center two active slides with both css and js. Hope that helps!


Cargo audit

Detect vulnerable deps
This should currently fail because there are multiple issues.

In general, some issues are impossible to fix immediately and ok to ignore short term - like warnings that something is unmaintained - there's a flag for ignoring specific advisories - that's better than removing --deny warnings because it makes you notice new warns.
Cargo audit and deps.rs works best when your deps use it too :/
Also might be worth putting this in a separate file (e.g. audit.yml) so it doesn't fail all CI and also because we could add another separate badge for this and spread awareness. Which would be awesome.
If i find time tomorrow, i want to try going through some deps and improving their CIs + adding deps.rs and updating their deps but no promises. My "tomorrow" tends to mean "next week" or worse ;)

Argh, i accidentally based this PR on #182 ... let me try again


InstallLiberty will re-run if config properties have been changed.

Fixes #221

Looks like your changes are causing this test to fail (invalid installDir location):
https://github.com/OpenLiberty/ci.gradle/pull/588/checks?check_run_id=2000509793#step:9:10984

And another test failure: https://github.com/OpenLiberty/ci.gradle/pull/588/checks?check_run_id=2000509793#step:9:19127


Update composer.json

Update Opentracing to the latest release

Updated the docs as well.

I would like to continue supporting php5.6

I appreciate that but opentracing-php has dropped support for php5.6 . I was interested in upgrading opentracing to the latest release :)

In fact, I'm also confused.some people or company still using the php5.6. I don't want to abandon them.

Does that mean that you do not intent to upgrade further than opentracing/opentracing:1.0.0-beta5, as this is the last version supporting PHP 5.6? If so, we will need to choose another tracer or fork this repository and maintain that, as we want to move to a stable opentracing release.

Does that mean that you do not intent to upgrade further than opentracing/opentracing:1.0.0-beta5, as this is the last version supporting PHP 5.6? If so, we will need to choose another tracer or fork this repository and maintain that, as we want to move to a stable opentracing release.

I have a plan.  create new version v3.0 that support the latest opentracing/opentracing, not support php 5.6 again.
Are you interested?

Yes, I am interested in that, sounds like a good plan to me. Do you want to maintain a separate 2.x branch and maintain both versions? And do you need any help?

Yes, I am interested in that, sounds like a good plan to me. Do you want to maintain a separate 2.x branch and maintain both versions? And do you need any help?

Only fix bug not add new feature. If you interested, I'm going to start in August.

I'm looking forward to it. :+1:

Sorry, this month is too busy.Mey be you can follow opentelemetry-php.

Sorry, this month is too busy.Mey be you can follow opentelemetry-php.

No problem. Do you still want to implement the newer version branch?
opentelemetry is currently not in a useful production state, and may be in the future. However, as it merges opentracing and opencensus, it would be beneficial if this library would implement the stable opentracing release, which we are trying to release.

We are working dev_v3


Add batch mgmt commands

Hi @xingwu1, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (xingwu). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@xingwu1 please make sure this PR pass the CI. After that we can take a look at it.

@troydai Could you merge this change?


Challenge http://www.freecodecamp.com/challenges/waypoint-add-borders-around-your-elements has an issue

Conflicting statements to confuse new beginners. In the Top portion it asks for "10-pixel-wide green border"; but below in your checks it states "Your image should have a border with a width of 10 pixels."; yet your code must have this:
.thick-green-border {
border-width: 10px;
border-color: green;
border-style: solid;
}
Nothing in there states to make the border solid, the top asks for color while the bottom doesn't not state the color.
I consider myself pretty well beyond beginners level HTML/CSS although not a master by any means, and this one stumped me for a few minutes where i had to ask for help.

Hey @GhostParticle Thanks for bringing this to our attention.
While it is confusing, there a couple of reasons this is so.

border-width by itself is not valid css, it requires border-style in order to render. Without these it will not render and cannot be tested
We are only testing for width, so the test message only states width required.
If you pull down the more-info button it shows an example of using border and it shows all three attributes required to render a border

The omission of the fact that border-width by itself is required may have been intentional to get campers to get used to looking at the spec for css.
That being said we may need to add a test to verify that the border color is green.
I would also say that adding a link to MDN or w3c documentation may be prudent!

For reference: http://www.freecodecamp.com/challenges/waypoint-add-borders-around-your-elements

I've resolved this with commit 94a303b42baaf69eb6a7164b9d3a586c7f3bc30e, thanks!


ENH: diagonal banded form in solve banded

Reference issue
Closes #8362
What does this implement/fix?
It is helpful to have the possibility of passing a banded matrix in its original form (not only in diagonal ordered form as it is now).
Additional information
I needed this feature and I found the above issue, so I thought that it could be included in Scipy. There is an implementation given in #8362, but I've used my own implementation because it doesn't consume so much memory.
Example (matrix from solve_banded docs):
from scipy.linalg import solve_banded
ab = np.array([[5, 2, -1, 0, 0],
[1, 4, 2, -1, 0],
[0, 1, 3, 2, -1],
[0, 0, 1, 2, 2],
[0, 0, 0, 1, 1]])

b = np.array([0, 1, 2, 2, 3])
solve_banded((1, 2), ab, b, diagonal_form=False)

See also: gh-6331 and gh-2285.

gh-21726 added assume_a='banded'as an option too scipy.linalg.solve. So if your matrix is already in the diagonal form, you can use solve_banded, otherwise, solve can now automatically convert for you.
_to_banded is currently private and I suspect it will stay that way, but if there is a well established need to make it public, we could consider doing that.


camera rendered null image

I try to get the scene image on the remote server, but it always returns a white transparent image, as below：
[[[1. 1. 1. 0.]
  [1. 1. 1. 0.]
  [1. 1. 1. 0.]
  ...
  [1. 1. 1. 0.]
  [1. 1. 1. 0.]
  [1. 1. 1. 0.]]

 [[1. 1. 1. 0.]
  [1. 1. 1. 0.]
  [1. 1. 1. 0.]
  ...
  [1. 1. 1. 0.]
  [1. 1. 1. 0.]
  [1. 1. 1. 0.]]
......

I have checked：

add the scene light
Image acquisition process：

 env.scene.step()
 env.scene.update_render()  # sync pose from SAPIEN to renderer
 env.camera.take_picture()
rgba = env.camera.get_picture("Color")
''''

Camera pose（I'm not sure if that's the problem here，i also try the reference pose from the code）

 self.camera.entity.set_pose(sapien.Pose( [-0.0477654, 0.0621954, 0.086787],
                    [0.846142, 0.151231, 0.32333, -0.395766],))

all entities are added in scene

Hope to get some tips

solved

solved

Sorry for the late response. Could you please tell us how you solved the problem? This might help someone else.


Lock server app to specific IP ranges

Add an 'allow' configuration option.  By default the range will be an empty array which will allow all traffic.  If values are given then the sinatra app will make a check in the before section.  If the source IP is included then access will be allowed.
CIDR, dash seperated ranges, and single IP addresses are acceptable values.

Seems like firewalls and reverse proxies would be a better place for this.  Not going to clutter up the app with that.


chore: fix PIO Builds

Summary

Corrected linker errors in PIO builds where Arduino entry points were
missing.
Corrected long standing bug where concurrent builds of cmake and PIO in
the same tree were broken.
Clear signed/unsigned mismatch warning
Update .gitignore

Checklist

[ ] Documentation (if necessary)
[X] Tests (if necessary)
[X] Ready to be merged

Thanks for submitting this pull request! A maintainer will review this in the next few days and explicitly select labels so you know what's going on.
If no reviewer appears after a week, a reminder will be sent out.

Your pull request doesn't follow our contribution guidelines. Please review and correct it.

Arduino build breakage is not a result of this change.

A contributor has approved this PR. A maintainer will merge this PR shortly. If it shouldn't be merged yet, please leave a comment saying so and we'll wait.
Thank you for your contribution!

Your pull request has been merged and marked as tier 4. It will earn you $20 USD.


Make it easier to execute the test cases

Remove the requirement that zhmccli must be installed to run the tests.

Seems like current PyYAML version doesn't work with Python 3.4.*.
Collecting PyYAML (from python-coveralls)

Downloading https://files.pythonhosted.org/packages/3d/d9/ea9816aea31beeadccd03f1f8b625ecf8f645bd66744484d162d84803ce5/PyYAML-5.3.tar.gz (268kB)

    100% |████████████████████████████████| 276kB 5.3MB/s

PyYAML requires Python '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*' but the running Python is 3.4.8

The command "$PIP_CMD install python-coveralls" failed and exited with 1 during .

Your build has been stopped.

See https://travis-ci.org/zhmcclient/zhmccli/jobs/633665235?utm_medium=notification&utm_source=github_status for details.

Marc, it is not clear to me why the command python3 -m zhmccli would make it easier to execute tests compared to the command zhmc. Also, the command name shown in help messages now changes from "zhmc" to "main.py". That is certainly unesirable.

The idea is that you don't have to install the Python package for running the tests. Secondly, it's a common idiom to have something like that (see https://docs.python.org/3/library/main.html for details) - it allows to start the zhmccli by using the command python3 -m zhmccli.
We could also call python3 zhmccli within the zhmccli repository, if there wouldn't be the following problem (see https://stackoverflow.com/questions/16981921/relative-imports-in-python-3):
$ pwd
/home/mhartmay/git/zhmccli
$ python3 zhmccli
Traceback (most recent call last):
  File "/usr/lib64/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "zhmccli/__main__.py", line 22, in <module>
    from zhmccli.zhmccli import cli
  File "zhmccli/zhmccli.py", line 30, in <module>
    from ._helper import CmdContext, GENERAL_OPTIONS_METAVAR, REPL_HISTORY_FILE, \
ImportError: attempted relative import with no known parent package

Marc, make install installs the package in an editable fashion, you can edit the files and test with make test or with any manually executed zhmc command, so what you ask for ("you don't have to install the Python package for running the tests") already exists.
On the approach for scripts described in https://docs.python.org/3/library/main.html : Sure, that is the built-in approach for turning a Python module into a script. There are other approaches though, and we are using the approach to declare an entry point in the setup.py file, which causes the zhmc script to be generated by setuptools upon installation (both editable and normal). That has the advantage that it always works regardless of whether the Python environment is a virtualenv, a venv, a user Python or a system Python, and also regardless of the OS. The approach with __main__ is not a replacement for that (e.g. there is no shebang that works in all OSs). So if we introduce the approach with __main__, we now have two ways to invoke the functionality.
I have thought about your idea of changing the semantics of make install to be an installation that does not depend on the repo, but then we would need something else that performs the editable install, and pip does not handle the switching between editable and non-editable installs very well. If you need a non-editable install, it should be done with pip from Pypi. I believe that the need for a non-editable install from a particular branch of the repo is rare, and if you need it, pip install . will do exactly that.
So I'm closing this PR.


cannot download hello-world-nginx

Error:
Get https://registry-1.docker.io/v1/repositories/kitematic/hello-world-nginx/tags/latest: dial tcp: lookup registry-1.docker.io: no such host
Host seems to resolve just fine and I can put the URL into my browser and get at least some result:
{"error": "Requires authorization"}
I have a user and can log in ok but this still doesnt work.
bash-3.2$ ping registry-1.docker.io
PING us-east-1-elbio-rm5bon1qaeo4-623296237.us-east-1.elb.amazonaws.com (<IP_ADDRESS>): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2

Neglected to mention this is on a Mac with Kitematic downloaded yesterday.

@alaskanson Sorry about this. This seems like a problem with Docker hub. Please email<EMAIL_ADDRESS>for immediate support.
Thanks!


Enforce endtime at readout level

What does the code in this PR do / what does it improve?
Simple example of how to trim all the endtime to the endtime in the rundoc
Can you briefly describe how it works?
Read an endtime from the rundoc when the run has ended, clip al the raw-records to be within that time interval

Makes a lot of sense and looks good to me. Makes also a few things easier for vetoing all events too close to the run boundaries.

This approach is fundamentally flawed due to the timestamps in the rundoc being machine timestamps rather than anything else


Code structure for batch solvers, preconditioners, scaling, stopping criteria and logging

This long PR lays out the proposed structure for handling solvers, preconditioners, stopping criteria, loggers and scaling for Ginkgo batch solvers. Reference and Cuda implementations (and core interfaces where applicable) of examples of each category are included to show the structure - batch Richardson for the solver, batch (scalar) Jacobi for the preconditioner and so on.
Code design
The structure looks quite different from other (non-batch) Ginko components, mainly for performance reasons. Most of the design is based around having only one kernel launch to solve all the "batch entries" (individual systems in the batch) and attempting to inline as many calls to components (preconditioners, loggers etc.) as possible into the solver kernel. Therefore, the solver kernel function is templated on the preconditioner type, matrix type, stopping criterion type and logger type. For now, only the solver and parts of the logger have any user-facing interface in the core module. The rest of the components are defined individually for each backend with a "developer's pledge" to keep the interfaces same for all implementations for all backends. Suggestions are solicited on how to improve this. The choice among the provided options is exercised by the user with simple string parameters. (These may be changed to enums in the future.)
~The preconditioner setup is intended to happen in two phases. An initial "pattern setup" phase involves a separate kernel launch for a "small" operation for common setup on the sparsity pattern.~ The actual numerical generation of the preconditioner happens inside the solver kernels before the actual solve starts.
For the purpose of diagonal scaling of matrices, the solver explicitly scales the matrices before the iteration loop starts. However, since the input matrices are stored using a pointer to const BatchLinOp, this requires the use of a const_cast by the solver before kernel launch. Thus if the user requests scaling, the matrix is indeed modified. Suggestions on a better approach are welcome.
Limitations

In general, the user cannot provide their own components such as preconditioners, loggers etc., as they must be known when the solver is compiled.
The number of right-hand-sides for solvers is limited to 32 in order to use uint32_ts for keeping track of convergence states, as well as for more efficiency using warp collectives.
As mentioned below, shared memory is used for intermediate vectors on GPUs, which limits the problem size, the number of such vectors and/or the occupancy. The default build now uses dynamic shared memory, so that this issue is now pushed to runtime. In general, dynamic memory should lead to better occupancy.

Performance considerations
Currently, one thread-block handles one batch entry (one small system in the batch). Immutable data, such as the RHS vectors and matrix nonzero values are kept in global memory with the expectation that they will be cached favourably. Changing data, such as intermediate vectors used by the solver and the solution vector, are stored in shared memory using compile-time sizes.
Several kernels are currently inefficient. Most such places are marked with 'todo's. These are planned to be addressed in future PRs.
At least for an odd number of compile-time max RHS, using UninitializedArray leads to misaligned warp memory access. However, simply using __shared__ variables directly seems to fix the issue at the cost of copious warnings. Perhaps it is the case that if the compiler does not know the type of the data, it does not care about properly aligning it. Since UninitializedArray uses char internally, perhaps no alignment requirement is conveyed to the compiler.
TODO:

[x] Consider switching to dynamic shared memory.

Some changes are needed to how the preconditioners are implemented.
[ ] We need a way for the user to give the array of block pointers/sizes
[ ] We need the initial pattern generation function to be more general than just one global kernel call.

I guess everything mostlty looks good from my side. The CI is failing,

Because you are calling some of the apply kernels in core/test/solver/batch_richardson.cpp, which you probably need to move to the reference tests.
In batch_preconditioner_types, you are inlining that function, so the I think  scope is lost, and hence you get the error that type is not an class, namespce or enum ... Of course this seems to only show up on the cuda-9.0 job. Using the complete namespace gko::preconditioner::batch::type should resolve the issue.

For the __shared__, does it mean we only support real valuetype in batch system?

In the static shared memory setup, it does throw out a bunch of warnings when complex numbers are used. However, all the toolchains except the ones using clang as device compiler work correctly. But indeed, if we decide to use static shared memory again, I'll do something about that. Right now it's irrelevant because we are using dynamic shared memory.


[876] Port over rollover interruption screen

Context

https://trello.com/c/EvjQZECF/876-migrate-the-interruption-pages-rollover

Changes proposed in this pull request

Rework and simplify the rollover interruption screen logic

Guidance to review
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Migrate the interruption pages - rollover


Form Inputs must have associated labels

Context
All form inputs must have an associated labels.  Visible on the sign up form for new users.
Expected Behaviour
Programmatically associate labels with all form controls - Deque.

Effective form labels are required to make forms accessible. The purpose of form elements such as checkboxes, radio buttons, input fields, etcetera, is often apparent to sighted users, even if the form element is not programmatically labeled. Screen readers users require useful form labels to identify form fields. Adding a label to all form elements eliminates ambiguity and contributes to a more accessible product.
When labels for form elements are absent, screen reader users do not know the input data expectations. Screen readers cannot programmatically determine information about input objects without an established label relationship (or redundant text serving as a label).
The absence of labels prevent fields from receiving focus when read by screen readers, and users with impaired motor control do not get the benefit of a larger clickable area for the control since clicking the label activates the control.

Current Behavior
What is the current behavior?
Clicking form labels does not focus on inputs.
Screenshots

Steps to reproduce
Please provide detailed steps for reproducing the issue

Inspect new user sign up form, and see form elements.
OR Inspect with most automated a11y checkers like pa11y, axe devtools, or arc toolkit.
OR Inspect with any screen reader.

Additional info
Provide any additional information here

Will create a PR to address this as soon as possible.


reserve memory auto configuration added #49

Reserve memory can be auto configured. It utilises the formula supplied by @travisdowns . There is potentially scope to override these values directly in the config without the automatic configuration though hopefully we can discuss on this PR.
It is related to issue #49 - note the available sprig math functions were not particularly helpful, hence the basic implementation.

cc @BenPope

Hi @redp01, could this PR instead be pointing to v2 branch? We can discuss this at some point, but you likely already know the reason (that is the target for all next version changes).

Closing this since the changes were included and expanded upon in https://github.com/redpanda-data/helm-charts/pull/127


Added typings

I've added some typings for deepmerge that can be included.
With this, deepmerge can be used in typescript without hassle like this:
import * as merge from 'deepmerge';

In #49 @tobias-kuendig offered to maintain a @types definition, which would be preferable in my eyes since I don't use Typescript and in the unlikely event that the API changed, the definition would fall out of date.
I don't see a @types definition, so I guess it never got set up?  But if you could figure out how to add the definition over there, I think that would be best, and we could note in this repo's readme that the type definitions were over there.
Thoughts?

@TehShrike seriously, I have no idea how to contribute to @types. I've written the types file since my company is using deepmerge inside our product (which is completely written in typescript).
You can include the typings if you want to and notify me when your signature changes, so I can update the types file as well.

To be honest, when I tried to add my definitions to @types last time it was such a stupidly complicated process involving the creation of GitHub organizations and dedicated repos that I dropped my PR completely. It looks like this process has been simplified in the meantime.
I have created a PR to DefinitelyTyped where I have submitted @marvinscharle's definitions as described in this blog post. If I did everything right, once the PR gets merged, the definitions should be available as @types/deepmerge.

Cool, I see it got merged!  If that makes it through into the system that everyone's using, I'll close this pull request and we can note the typings in the readme.  If that DefinitelyTyped contribution turns out to be insufficient, I can merge this.

So deepmerge is in the DefinitelyTyped repo now, but it's still not in @types.  Is this workable for TS users?

Since this PR was merged I assume that this library is more easily usable for Typescript users - if anyone wants to open a pull request to add any details to the readme, that would be appreciated.


[zh-cn] sync kubelet object environment-variable-expose-pod-information

sync kubelet object environment-variable-expose-pod-information

/lgtm


Possible memory leak with streams

https://tweetinvi.codeplex.com/workitem/2664?FocusElement=CommentTextBox#
Hi,
I understand this could probably be / probably is caused by my misunderstanding. But I having out of memory exceptions when running multiple streams over multiple accounts.
In one instance, it was just 5 "followers streams" (watching for new followers to my accounts). It would take a day or so and the out of memory exception would hit.
Another case is trying to connect to a lot more streams (50+)
Are there any "known" gotchas that might explain this? Something I am not releasing handling correctly?
Cheers

This might be related, or it might be a separate issue in my code, I've never looked into it as it isn't a priority.
I have an application running > 100 user streams and it can run without issue for weeks. Memory usage isn't particularly high (not enough for me to be concerned), but then it (I assume) memory usage increases sharply as I'll come back in the morning to find it having died with an OutOfMemoryException.
It's designed to try and start a replacement for a failed stream several seconds after it disconnecting, so this could easily be being caused by a resource not being cleaned up when a stream disconnects.
Like I said, I haven't looked into this, but seems likely it's the same issue so let me know if you need any info or help tracking the leak down.

I have performed some memory leak testing and I do not think these memory leaks come from Tweetinvi. At least I have not found any memory leak in Tweetinvi version <IP_ADDRESS>.
In order to test I created a FilteredStream with various keywords and run it for a straight 6 hours.
The memory has been stable at ~2.73 MB. The lowest being 2.69MB  and highest 2.80MB. And this last value was probably due to a GC cycle that was not forced.
Here is a screenshot of the measures :

It would be great if you could both send me your registration and deregistration of the Stream and Global events.
If you have access to RedGate ANTS Memory Profiler or JetBrains Dot Memory I would be interested to have some screenshots of the memory evolution.
Specially regarding the type of orphaned objects that have not been destroyed.
If you have RedGate ANTS Memory Profiler it would useful to let me know which method is causing your memory leak.

Hi Linvi,
This hasn't happened for me since 20th Jan, when I won't have been on Tweetinvi version <IP_ADDRESS>.
So before spending any time on this I'll wait and see if it happens again in production and if so try and come up with a way to reproduce it on my machine.
As I said before I haven't looked into it at all yet, so the problem could be elsewhere.
Cheers,
Josh

Ok, please do check this out. I will close this issue for now.
Ping me back if you encounter the problem again.

Happenned again in the early hours of this morning. Looking at the logs, not a whole lot was happenning before it crashed (no errors or streams disconnected for days before) so nothing to go on.
We unfortunately don't have a license for a memory profiler, but I thought I'd give the new free memory usage stats in VS 2015 a try :) It's definately better than any other free tool I've used for this, but falls well short of ANTS (haven't tried Dot Memory).
Unfortunately, once it had opened all of the streams it sits rock solid, with no new objects being created and the heap size unchanging:

This is no big surprise since in production it can work fine for weeks, but dissapointing because I still haven't been able to pin-point the problem.
Re-reading the original posters description of when he was getting the memory leaks, my problem doesn't actually sound like it's the same. We routinely run over 100 streams with no memory problems and the original post seems to imply that running 50 is impossible for them.


Unable to run HUE using the latest Helm chart on EKS

Is the issue already present in https://github.com/cloudera/hue/issues or discussed in the forum https://discourse.gethue.com?
No, I have been googling for the past 2 days.
Describe the bug:
After deploying the helm chart to my EKS cluster, pods run, but logs show the following error. Could anyone point me in the right direction, please? Thank you in advance.
11/Nov/2022 03:26:10 -0800] models       ERROR    Failed to create home directory for user hue: HTTPConnectionPool(host='localhost', port=50070): Max retries exceeded with url: /webhdfs/v1?user.name=hue&doas=hue&op=GETHOMEDIRECTORY (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa595f08748>: Failed to establish a new connection: [Errno 111] Connection refused',))
Traceback (most recent call last):
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/connection.py", line 170, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/util/connection.py", line 96, in create_connection
    raise err
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/util/connection.py", line 86, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/connectionpool.py", line 706, in urlopen
    chunked=chunked,
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/connection.py", line 234, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/lib/python3.6/http/client.py", line 1281, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1327, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1276, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1042, in _send_output
    self.send(msg)
  File "/usr/lib/python3.6/http/client.py", line 980, in send
    self.connect()
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/connection.py", line 200, in connect
    conn = self._new_conn()
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/connection.py", line 182, in _new_conn
    self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fa595f08748>: Failed to establish a new connection: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/connectionpool.py", line 756, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/share/hue/build/env/lib/python3.6/site-packages/urllib3/util/retry.py", line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=50070): Max retries exceeded with url: /webhdfs/v1?user.name=hue&doas=hue&op=GETHOMEDIRECTORY (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa595f08748>: Failed to establish a new connection: [Errno 111] Connection refused',))

The error is a bit longer, but repetitive. I think I captured the important part.
Steps to reproduce it?
I am running this values.yaml
image:
  registry: "gethue"
  tag: 4.10.0
  pullPolicy: IfNotPresent
hue:
  replicas: 2
  database:
    create: false
    persist: false
    engine: "postgresql_psycopg2"
    host: "${POSTGRES_HOST}"
    port: 5432
    user: "dbadmin"
    password: "${POSTGRES_PASSWORD}"
    name: "postgres"
#    storageName: "microk8s-hostpath"
  interpreters: |
    [[[postgresql]]]
      name = postgresql
      interface=sqlalchemy
      options='{"url": "postgresql://dbadmin:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/postgres"}'
  ini: |
    [desktop]
    secret_key=hue123
    app_blacklist=filebrowser,search,hbase,security,jobbrowser,oozie
    django_debug_mode=false
    gunicorn_work_class=sync
    enable_prometheus=true
    [[task_server]]
    enabled=false
    broker_url=redis://redis:6379/0
    result_cache='{"BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://redis:6379/0", "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"},"KEY_PREFIX": "queries"}'
    celery_result_backend=redis://redis:6379/0
balancer:
  enabled: true
api:
  enabled: false
  domain: api.gethue.com
workers:
  enabled: false
  replicas: 1
scheduler:
  enabled: false
websocket:
  enabled: false
  replicas: 1
monitoring:
  enabled: false
alerting:
  enabled: false
tracing:
  enabled: false
cron:
  enabled: false
  emailStats: "0 13 * * WED,SUN"
ingress:
  create: true
  hasAuth: false
  type: "alb"
  domain: <host>
  path: "/hue*"
  pathType: ImplementationSpecific
  annotations: {
      alb.ingress.kubernetes.io/backend-protocol: HTTP,
      alb.ingress.kubernetes.io/certificate-arn: <cert>,
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]',
      alb.ingress.kubernetes.io/ssl-redirect: '443',
      external-dns.alpha.kubernetes.io/hostname: <host>,
      alb.ingress.kubernetes.io/group.name: main.ingress,
  }
  email: <mail>
  loadBalancerIp: null
aws:
  accessKeyId: "${AWS_ACCESS_KEY_ID}"
  secretAccessKey: "${AWS_SECRET_ACCESS_KEY}"
  awsRegion: "${AWS_REGION}"
hive:
  site: |
    <!--
    <property>
      <name>hive.support.concurrency</name>
      <value>false</value>
      <description>Whether hive supports concurrency or not. A zookeeper instance must be up and running for the default hive lock manager to support read-write locks.</description>
    </property>
    -->
## Pod Annotations
# podAnnotations: {}

## Pod Labels
# podLabels: {}

Hue version or source? (e.g. open source 4.5, CDH 5.16, CDP 1.0...). System info (e.g. OS, Browser...).
Helm chart version ==  1.0.3
Hue == 4.10.0
EKS == 1.21

Hi @matousek-martin, looking at the error:
HTTPConnectionPool(host='localhost', port=50070): Max retries exceeded with url: /webhdfs/v1?user.name=hue&doas=hue&op=GETHOMEDIRECTORY (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa595f08748>: Failed to establish a new connection: [Errno 111] Connection refused',))

It feels like you're trying to enable HDFS by configuring under [[hdfs_clusters]] I think but Hue is not able to find the WebHDFS URL to talk to HDFS. Therefore, it's defaulting back to localhost:50070 URL and retrying.
https://github.com/cloudera/hue/blob/b629542f40a373877de5969f079868aff96fb9ed/desktop/libs/hadoop/src/hadoop/conf.py#L89-L94

That seems to be the case, but I do not have HDFS specified, as we do not have a HDFS cluster. I even tried to explicitly disable it via:
[hadoop]
[[hdfs_clusters]]
[[[default]]]
enabled=false

inside interpreter and ini, but it didn't help. Is there any way to disable it or is Hue reliant on Hadoop? I only need it to connect to S3 and SQL.

If connecting to HDFS is not your use case, then can you once try commenting out everything under [hadoop] and try again? Also try removing any HDFS config under [interpreters] as well.
Also, do you have connectors enabled? If yes, then remove any HDFS config if by any chance present there as well.

That is exactly where I am stuck at. These are my interpreters and ini
  interpreters: |
    [[[postgresql]]]
      name = postgresql
      interface=sqlalchemy
      options='{"url": "postgresql://dbadmin:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/postgres"}'
  ini: |
    [desktop]
    secret_key=hue123
    app_blacklist=filebrowser,search,hbase,security,jobbrowser,oozie
    django_debug_mode=false
    gunicorn_work_class=sync
    enable_prometheus=true
    [[task_server]]
    enabled=false
    broker_url=redis://redis:6379/0
    result_cache='{"BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://redis:6379/0", "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"},"KEY_PREFIX": "queries"}'
    celery_result_backend=redis://redis:6379/0

There are only postgres in interpreters and desktop + task_servers in ini. They were there by default by the helm chart. I am not setting HDFS, despite that it is trying to connect to it.

Maybe this is enabling it? Once try commenting it out in your cluster. https://github.com/cloudera/hue/blob/b629542f40a373877de5969f079868aff96fb9ed/tools/docker/hue/conf3/z-hue-overrides.ini#L189-L206
On a side note, if your use case is to connect to S3, then I think you have to remove the filebrowser app from the app_blacklist.

Thanks for the tip about the file browser! I checked inside the pod for that file. It is disabled there as well. Do you have any other ideas?

Comment out [[hdfs_clusters]] and [hadoop] as well and once check again?

Still the same issue. Also encountered this in hue.ini
# Whether Hue should list this HDFS cluster. For historical reason there is no way to disable HDFS.
## is_enabled=true

Is what I am attempting even possible?

Possibly this is true and might be required for some historical compatibility issues. The last idea which comes to my mind, is to suppress the source of these errors if they are not related to your use-case (generally not-recommended but Hue is customisable and open-source to play around 🙂).
You can try it by commenting-out the code sections which you feel are initiating these calls (for example, it looks like it's trying to create the home directory for every user in Hue in HDFS).

If disabling hdfs_cluster is your intent, also try uncommenting and setting:
fs_defaultfs=
(left intentionally empty)
This helped me not get more errors regarding hdfs when setting up HUE for non-hadoop use.

Interesting, that can be a possible workaround as well. Setting fs_defaultfs and webhdfs_url to blank can remove its default value and the call might not go to HDFS to initiate the retries.
Worth a try, thanks @y2s82!


cargo test does not export CARGO_CFG_TEST for build.rs scripts

e here is fairly simple – I need to build a shared library to be used for tests, however it is also important to me that this library is not built when people are compiling the library for regular use.
rustc --test --print=cfg does output the test configuration variable, however when cargo test is run, the build script does not receive this variable in form of CARGO_CFG_TEST.
Caveat is that rerunning the build script for both test and non-test would potentially re-run expensive build.rs operations by default, however that seems easily remedied by requiring people to print out a cargo:rerun-if-env-changed=CARGO_CFG_TEST (it would become the first exception to the list of environment variables set by cargo and tracked by default).

This is currently intentional behavior because build scripts don't have a "I'm running tests" mode. That would require a test build script most likely and it's an unimplemented feature so far.

@alexcrichton why would a separate test build script be needed and not just allow for #[cfg(test)] to work?

I'm not sure how this has changed over the last few years, but I don't see why build scripts would need a specific "tests mode". My use case is I have a C++ dependency that I build and link in my application, but I fake it for unit tests so there's no point in building and linking it.
A workaround for this for anyone interested is using the self depends trick to enable a feature in dev-dependencies:
[package]
name = "my-crate"

[features]
unittest = []

[dev-dependencies]
my-crate = { path = ".", features = ["unittest"] }

You can now use #[cfg(feature = "unittest")] in the build script where you would use #[cfg(test)].

What if my crate is doing code generation and I want to test the behavior of the generated code? It seems a reasonably logical way to do this is to generate and compile the code in the build script, but this is only needed for tests.


Refactor Trigger classes

Type: trivial

Closing with refactoring pending in #80

@jzmiller1 thanks for opening this and apologies for lack of response.
When I integrated schema support, I refactored all of the dynamic schema/ignore code in a runtime.py file. Then I moved installation commands to installation.py and registry functions to registry.py
It significantly cut down on the core.py file

No problem, if there's anything I can do to let me know!


Implement multiprocessing in file upload

Use a Pool for uploading shards, instead of launching single threads every time (consistency with the downloader).
For uploading a file, use the method file_upload instead of createNewUploadThread (more user friendly).
Some class variables have been deleted (e.g., the bucket id.. keeping it as a class variable has no sense)

only 1 comment.
rest looks good.

Builds failing on Travis, is this an issue?

@Miskerest the build needs to pass so whatever is making it fail needs to be changed.

Coverage increased (+0.4%) to 47.206% when pulling 1c4b93e8327d169d65df3fcfa97e0534b31a49f2 on marcorosa:multiprocessing into 343666754fdefa7e378b631e5681f89e3023ebbc on Storj:develop.

Building passing. Merging & closing.