AlertManager silencing is not working

Hi,
I have observed an issue with AlertManager recently. I am running alertmanager as a pod and it works fine. Alerts from Prometheus are reaching alertmanager and it's triggering alerts. It's silencing alerts created from the UI as well as curl command. The only issue is - suppose I am creating a silence for a particular host, which has multiple servers, the silencing works fine but 1 or 2 alerts still get spilled into the notification channel. I want to understand why this would happen. Either silence will not work at all for all servers belonging to the host, or silence would work for all the servers for that host. Why is this spilling alerts for any one or two servers for the particular host ?
Is it because too many alerts were getting generated and the high volume of alerts was breaching a specified queue size limit for silenced alerts? Please help me understand under what circumstance alertmanager would spill a few alerts even though the alerts were all silenced.
Thanks,
Arnav

I have similar issues. Alerts are silenced and I can see them in the list of affected alerts in the UI. Yet the alerts are also in the alerts view and sent to the notification system (PagerDuty). If I edit the silence (Like adding a blank space to the description or whatever), the alerts get correctly silenced. The only matcher used in the silence is a field called client_name and it's set as a regex to the client name.
Last occurrence of this issue was last Sunday where somehow 4 alerts (Out of plenty of them) got through. The silence was started on the Saturday and valid for a week yet I can see those 4 alerts in PagerDuty

In my case the created silence works but partially.
If the number of generated alerts during a maintenance window increases a lot, the active silence partially silences alerts. Meaning if 20 alerts were generated during a maintenance window, the active silence silenced 18-19 alerts, but 1-2 alerts still got spilled to the notification channel (slack). Ideally this should not happen. The silence should silence all alerts if it's working or should not silence any alerts if it's not working. There cannot be or should not be partial silence.  Has this issue been observed earlier?

Closing in favor of #2426


Specify security attributes

The entities and links that my connector returns seem to default to the same security attributes (e.g., Security Compartment and Security Level). But I need to be able to adjust those depending on the data that the connector returns. How can pass in security information in my connector response payload?

Hello, I'm afraid that return of security dimension values isn't currently supported in i2 Connect.
The client itself (e.g. ANBP) sets the security dimension values of new records on the chart based on the defaults specified on the server https://docs.i2group.com/analyze/4.4.2/t_set_default_security.html, but these are not based on the record's properties.

Thank you for the clarification! That probably prevents us from using connectors entirely, unfortunately.

If you have support entitlement, you can raise a support request referencing this issue and it can be raised as a Request for Enhancement (RFE) .

I do and I will. Thank you!


"Views" as standalone HTML; Django variables in HTML metadata

At the moment the view templates are created as HTML snippets, which then are "completed" to full HTML documents by RDMO by adding the missing tags <html>, <head>, <body> etc.
The system tolerates also ingesting standalone HTML code, but packs it all inside the <body> of the resulting HTML, overwriting therefore most of the information, at least all the <meta>data and part of the <style> declarations.
This is no simplification at all! On the contrary, it would be very useful (and in my case life saving!) as an administrator to define the metadata through Django syntax and to propagate them across the exported document (in DOCX, LaTeX and so on).
As an example:
What I define in the source code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>DMP_{{ values.project.funder.grant_nr }}_{{ values.project.research_question.acronym }}_v{{ values.project.dmp.dmp_version|default:"1" }}</title>
	<meta charset="UTF-8" />
	<meta name="category"	content="{{ values.project.funder.grant_nr }}" />
	<meta name="subject"	content="{{ values.project.research_question.acronym }}" />
	<meta name="description"	content="{{ values.project.research_question.title }}" />
	<meta name="keywords"	content="parole" />
	<meta name="contentStatus"	content="135" />
	<style type="text/css">
		body {	font-family: arial;	}
		h2 {	font-style: italics;	}
		table {	width: 100%; table-layout: fixed; border: 0; white-space: nowrap;	}
		td, th {	padding: 10px;	}
		#Titel{	color:white;background-color:black;text-align:center;line-height:21mm;font-size:2.5em;font-weight:bold;	}
	</style>
</head>

The page created by RDMO:
<!DOCTYPE html>
<html>
<head>
    <title>Erstellung DM-Pläne an der PTB</title>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta property="og:title" content="Erstellung DM-Pläne an der PTB" />
    <meta property="og:url" content="rdmo.ptb.de" />
    <meta name='baseurl' content="/" />
    <meta name='staticurl' content="/static/" />
    <link rel="shortcut icon" href="/static/core/img/favicon.png" type="image/png" />
    <script src="https://code.jquery.com//jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7//js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7//css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0//css/font-awesome.min.css" integrity="" crossorigin="anonymous" />
    <link rel="stylesheet" href="/static/CACHE/css/252cf797f6b4.css" type="text/css" />
</head>

The page ready to export:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>DMP___v1</title>
	<meta charset="UTF-8" />
	<meta name="category"	content="" />
	<meta name="subject"	content="" />
	<meta name="description"	content="" />
	<meta name="keywords"	content="parole" />
	<meta name="contentStatus"	content="135" />
	<style type="text/css">
		body {	font-family: arial;	}
		h2 {	font-style: italics;	}
		table {	width: 100%; table-layout: fixed; border: 0; white-space: nowrap;	}
		td, th {	padding: 10px;	}
		#Titel{	color:white;background-color:black;text-align:center;line-height:21mm;font-size:2.5em;font-weight:bold;	}
	</style>
</head>
<body>

(Here the Django variables seem also to have been stripped.)
In my imagination, these three should be equal.

Maybe it is possible to add metadata support by small edits in one of the HTML templates under https://github.com/rdmorganiser/rdmo/tree/master/rdmo/core/templates/core ?
I would be very thankful if somebody gave me an overview of the construction and hierarchy of the templates!

This is a good idea, we could add an additional template {% block meta %} in https://github.com/rdmorganiser/rdmo/blob/master/rdmo/core/templates/core/base.html and only use it in https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/templates/projects/project_view.html.

Sorry to contradict you, but at the first glance I would rather edit https://github.com/rdmorganiser/rdmo/blob/master/rdmo/core/templates/core/base_head.html and use it in https://github.com/rdmorganiser/rdmo/blob/master/rdmo/projects/templates/projects/project_view_export.html Please tell me if I completely misunderstood.
By the way, are the included metadata
<meta name="viewport" /> <meta property="og:title" ... /> <meta property="og:url" ... /> <meta name='baseurl' ... /> <meta name='staticurl' ... />

mandatory?

This would not work, because than we have the <head> part in every export. HTML is always rendered first, and then converted to other formats via pandoc. If you want to have additional metadata in the views when looking at it in RDMO, then project_view.html needs to be changed. If you need the HTML head in pandoc we need to modify project_view_export.html (which does not extend base.html on purpose).

Actually I want the second one (to have the metadata in Pandoc). So I understand I have to edit project_view_export.html only

Ok, but we need to check with every format if this causes problems.

This could also be implemented in the ProjectExportView by giving the metadata-variables directly to pandoc, instead of via the HTML.


[FancyZones] Suggestion - fit window inside multiple selected zones

When selecting multiple zones the window currently resizes to the smallest rectangle that contains all selected zones.  That doesn't feel right to me - I think of windows sitting inside zones not zones inside windows.  I'd like to have the window resize to the largest rectangle entirely contained within the selected zones.  Could we maybe have a settings toggle for this?

@simhub1985
to clarify, if the two zones (blue) are like this, you want the window to be resized to the red rectangle?

Yes, that's what I mean.  Your artistic skills are better than my words!
On Wed, 23 Sep 2020 at 22:04, Enrico Giordani<EMAIL_ADDRESS>wrote:

@simhub1985 https://github.com/simhub1985
to clarify, if the two zones (blue) are like this, you want the window to
be resized to the red rectangle?
[image: image]
https://user-images.githubusercontent.com/3206696/94069517-06211b00-fdf1-11ea-938c-a7527396b1a0.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/6796#issuecomment-697971696,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARDW34FOKNFXDKIZZLXDBW3SHJPE5ANCNFSM4RXNSGOA
.

Added to https://github.com/microsoft/PowerToys/issues/6611


TextChangedP not triggered when used in conjuction with CursorHoldI

Hi,
Sorry for not having a full reproducible example but I'll try my best explaining the scenario which will hopefully give us some hints what might have gone wrong.
High-level overview of a feature I am trying to implement:

Auto-completion engine sits in the background (outside the Vim process).
Auto-completion engine listens on requests from the client (Vim).
Auto-completion engine on client request 'calculates' the auto-completion candidates and sends them back to the client.
To reduce the number of client requests (basically avoiding sending as many requests as there are characters typed in; auto-completion for C++ is a bit on a heavy side), CursorHoldI event is used.
On each CursorHoldI event an initial list of candidates will be eventually received from the auto-completion engine (e.g. all candidates that match foo).
Once the initial list of candidates is received, we will enter the insert_expand mode and present it to the user using the pop-up menu (pum). At this point CursorHoldI event will become inaccessible.
User will want to continue typing in the characters further to narrow down the list of candidates. As CursorHoldI event cannot be used anymore, TextChangedP event will be used.
TextChangedP stops being triggered after typing in exactly three characters.

E.g.

We ask for initial list by typing in the er. CursorHoldI event triggers the auto-completion engine.
We receive the initial list of: [error, errMsg, errorMsg, worker]. PUM pops up with the information presented. We enter the insert_expand mode.
We type in the r character. TextChangedP event handles it and triggers the auto-completion engine accordingly.
We receive a refined list of candidates: [error, errMsg, errorMsg]
We type in the o character. TextChangedP event still handles it and triggers the auto-completion engine accordingly.
We receive a refined list of candidates: [error, errorMsg]
We type in the r character. TextChangedP stops being triggered.

Do you have any clue why such a thing would be happening? I've tried looking around the code (and patchset for TextChangedP event) a bit but weren't able to deduce anything from a quick overview.
I hope I managed to explain the scenario.
Cheers,
Adi

As CursorHoldI event cannot be used anymore, TextChangedP event will be used.

You can hide the popup menu in InsertCharPre autocmd handler by send <C-e> when user type more character, and then you can receive TextChangedI event to do the filter or stop filter by check what user have typed.  Using TextChangedP probably not a good idea, since it could also triggered by completion item select change, and you have no way to distinguish.

You can hide the popup menu in InsertCharPre autocmd handler by send  when user type more character, and then you can receive TextChangedI event to do the filter or stop filter by check what user have typed.

Thanks for the hint but I really want to avoid using TextChangedI as much as possible. That's why I'm using the CursorHoldI in the first place.

Using TextChangedP probably not a good idea, since it could also triggered by completion item select change

AFAIK this is not the case and wouldn't make sense if it really was like that IMO. I've tried it out right now and I see no additional TextChangedP events being triggered or I misunderstood you.

@JBakamovic It could be triggered with <C-n> and <C-p>, but not with <Up> and <Down>

It could be triggered with  and , but not with  and

Yes, you're right. However, I think this can be easily filtered out. Pop-up menu is still visible in that case and as such I won't be triggering any further requests.

If you use CursorHoldI instead of TextChangedI for further filter the completion items

CursorHoldI is used for initial candidate list. TextChangedP is supposed to be used for further filtering but I've stumbled upon what I think is a bug.

there would a short time for waiting and I'm afraid it's not a good experience.

IMO TextChangedI is notoriously bad idea to do anything heavy especially sth like auto-completion.

IMO TextChangedI is notoriously bad idea to do anything heavy especially sth like auto-completion.
It would not bad if you use it in asynchronous way

It would not bad if you use it in asynchronous way

As I've already mentioned in my first post whole stuff is already asynchronous. It doesn't help because the point is not to trigger the auto-completion engine after each and every character typed in. That needlessly puts burden on the CPU (and if you care, battery).

t doesn't help because the point is not to trigger the auto-completion engine after each and every character typed in. That needlessly puts burden on the CPU (and if you care, battery).

You check if the completion session is activted, if it's not, just do nothing.

You can check if the completion session is activted, if it's not, just do nothing.

That seems as a redundant check. What you propose is to use TextChangedI and then check if completion session is active? Completion session will be already active because initial candidates list will be returned as soon as CursorHoldI is triggered. Once the initial list of candidates is received we will enter the insert_expand mode (e.g. show pop-up menu). So I'm afraid that is not the solution.

@JBakamovic I have tested that TextChangedP works correctly.

You tested that TextChangedP works "correctly" under circumstances where CursorHoldI is not being used. This bug-report is about a situation where both are used in conjunction. So, no it's not really the same.

The problem you described is that vim will do the match itself when noinsert used in completeopt, and it would hide popup and fire completeDone if it find miss match and no TextChangedP would fire this time. So if you want to do filter yourself, you probably have to hide the menu by send  each time after user typed.

This might be the reason why I'm observing such a behavior but right now everything seems like a hack (hiding the menu?) to me. I definitely want to avoid such workarounds because it complicates the implementation needlessly. I would rather prefer to fix the bug or somebody enlighten me why this isn't a bug.

@JBakamovic TextChangedP could be triggered many times with completion started at CursorHoldI.
The reason is vim would also do the filter itself and stop completion when it find miss match.  So the bug does not exists.
Change the code above and add
autocmd CursorHoldI * :call MyComplete()

could test it.

TextChangedP could be triggered many times with completion started at CursorHoldI.

It does get triggered but only twice. Third time it doesn't. That's the whole point of this issue.

If could trigger more than twice, as long as vim find the matches.

Why in the world you would stop triggering the TextChangedP event? Text is still being modified and popup menu is still visible but at one point Vim decides not to generate another event? This is completely broken feature and contract between the developer and the API & documentation.

Perhaps I should have mentioned explicitly before, but the same (unexpected) behavior as depicted in GIF does not happen if we replace CursorHoldI event with TextChangedI event. I fail to see any consistency in that.

It's just because vim can't find a match that starts with erro, it uses exact match, before the o get inserted, vim will stop completion and no TextChangedP would fired anymore.

And why doesn't it happen when TextChangedI + TextChangedP is used? It makes no sense.

We type in the r character. TextChangedP stops being triggered.
Do you have any clue why such a thing would be happening?

Perhaps your completeopt does not contain menuone, hence when there is only one match the pop-up menu is dismissed

Perhaps your completeopt does not contain menuone, hence when there is only one match the pop-up menu is dismissed

It does. This is the relevant code excerpt:
setlocal completeopt-=menu
setlocal completeopt-=preview
setlocal completeopt+=menuone,noinsert,noselect
setlocal complete=

Relevant vim-plugin code is here and here.

And why doesn't it happen when TextChangedI + TextChangedP is used? It makes no sense.

Because vim find a match started with what you have typed

@JBakamovic Can not see the reason that the completion stops since you have error_t in the completion list, but I can't reproduce your issue with no plugin installed.
Could you try out these code with your plugins?
set nocompatible
filetype plugin indent on

inoremap <C-l> <C-R>=MyComplete()<CR>
set completeopt=menuone,noinsert,noselect

func! MyComplete()
  let line = getline('.')
  let start = col('.') - 1
  while start > 0 && line[start - 1] =~# '\k'
    let start -= 1
  endwhile
  let input = GetInput()
  let suggestions = [{
        \"word": "errmessage",
        \}, {
        \"word": "err_message",
        \}]
  if input =~# '^err'
    call add(suggestions, {
          \"word": "erro_t"
          \})
  endif
  if input =~# '^erro'
    let suggestions =[{
          \"word": "erro_t"
          \}]
  endif
  call complete(start + 1, suggestions)
  return ''
endfunc

autocmd TextChangedP * :call MyComplete()
autocmd CursorHoldI * :call MyComplete()

function! GetInput()
  let pos = getcurpos()
  let line = getline('.')
  let l:start = pos[2] - 1
  while l:start > 0 && line[l:start - 1] =~# '\k'
    let l:start -= 1
  endwhile
  let input = pos[2] == 1 ? '' : line[l:start : pos[2] - 2]
  return input
endfunction

The completion doesn't stop after I type erro, check out https://asciinema.org/a/187262

Here's what I tried:

vim -Nu NONE .zshrc - chosen that file because it already has a lot of words in it.
:set completeopt=menuone,noselect,noinsert
:au TextChangedP * echom "foo"
:au CursorHoldI * feedkeys("\<C-n>")
Enter insert mode on an empty line.
Wait for the CursorHoldI event to get triggered and open the completion menu.
Start typing. In my case I typed auto. aut narrowed down the list to 4 entries and auto to ust one.
Exit insert mode and open :messages.

Here's the result:
Messages maintainer: Bram Moolenaar<EMAIL_ADDRESS>".zshrc" 105L, 4174C
Scanning tags.
foo
foo
foo
foo
foo
foo

This definitely shows that TextChangedP doesn't stop after three characters.

Do you have an idea why the example that I gave is not working?

Do you have an idea why the example that I gave is not working?

Can you please provide a reproducible example? I did not see one from you

Can you please provide a reproducible example?

I would in the first place if it was that easy to make one. But unfortunately it isn't as everything is done in an async way. I thought I've made that clear in my initial post.

I did not see one from you

You don't need to be snarky. I was politely asking for help and all I've got is a bunch of plastic counter-examples which barely reflect the use-case I am trying to describe. Thank you.

You don't need to be snarky

I don't know what snarky is, but probably nothing polite, so I won't look it up :)
Honestly, I was trying to be helpful here and did not mean to be impolite. It was just that the whole thread was kind of long already and I had some problems following it. Therefore I explicitly asked for a reproducible example. In fact I was going to look into the issue and this is a lot easier if there is a working example I can use to find why you observed the behaviour.

@JBakamovic There is only one explanation that I could think of, that is the completion item abbr is error_t but the word of it is not, since vim filter item with word so it didn't find a match and fire TextChangedI instead of TextChangedP

I don't know what snarky is, but probably nothing polite, so I won't look it up :)

It's not impolite. That's not on my list when communicating with people. Meaning usually refers to people being sarcastic about something. I thought you were by giving that comment. My apologies on that.

It was just that the whole thread was kind of long already and I had some problems following it.

Yes, that's true. TL;DR First post of mine provides I believe enough details about the issue and there are two other posts of mine which contain GIFs depicting the issue live in code. There are also links to the source code (vim plugin) which exhibits that behavior.

In fact I was going to look into the issue and this is a lot easier if there is a working example I can use to find why you observed the behavior.

I am totally aware of that and I was thinking what would be the best way to come up with the reproducible example but I was unable to. I thought that the code is simple enough and can be understood in a glance by someone familiar with auto-completion stuff because there is really nothing strange or unusual there.

I opened a new issue, #3026, with reproducible example. Let's please continue discussion there. Here's already too much noise.
Thanks,
Adi


bug: Scroll bar always show. How to hide it?

Type: bug
Platform: all
I just start my ioinc app, and then when I served, I saw a scrollbar. How to hide it but still scrollable?

Greetings @miftahafina!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

same problem here +1

same problem.
iOS 9.2, Ionic 1.2.1,

+1 . used to work with 1.1 by setting scrollbar-x="false" scrollbar-y="false" but now it's broken

+1, same problem here. ionic 1.2.1

for me the scrollbar shows in iOS simulator

Solved after updated to the last version.


Absolutely positioned anchor

The problem seems to be absolute position of anchor or any of its ancesors.

I think that might be correct as per the spec?

If el has the same containing block as query el, el is not absolutely positioned.
If el has a different containing block from query el, the last containing block in el’s containing block chain before reaching query el’s containing block is not absolutely positioned.

But I might be missing something. If you think there's a bug in how this polyfill interprets the spec in regard to determining a valid anchor, please open a new issue. 👍
Originally posted by @jgerigmeyer in https://github.com/oddbird/css-anchor-positioning/issues/84#issuecomment-1456385890

@morki I'm having trouble reproducing this in Chrome Canary with Experimental Web Platform features enabled. Could you point me to an example or a codepen or something so I can confirm where the polyfill is differing from the Chrome implementation?

@morki Ah, thank you! I was able to reproduce this now, and I am confident it is fixed in #90, which should be merged and released soon.


REWORK  Transfer to association

As team
I want to transfer all content in a sufficient way to the association
so that we conduct transition over in high quality
Links

child of https://github.com/eclipse-tractusx/sig-release/issues/652
https://github.com/eclipse-tractusx/item-relationship-service/issues/371
https://github.com/eclipse-tractusx/item-relationship-service/issues/222

Hints / Details

Sources: JIRA Xray, MIRO, Confluence

Acceptance Criteria

[ ] Content to be transferred to association is known
[ ] Transfer to association is completed.
[ ] Cucumber Feature files are transfered into github

Out of Scope

...

@jzbmw rework and refactor the 3 Stories named in this Ticket


[question] Does this action support send application logs to Datadog ?

Use case: I have a NodeJS application configured with dd-trace. It is a CLI app that runs in a Github Action workflow on a schedule. I was able to setup a datadog agent using this project and I can see some APM/Traces being sent successfully but what I really want is logs.
I am trying to activate log collection in the agent via DD_LOGS_ENABLED env variable but I'm not sure if I'm doing it right, or if it's supported at all.
Here's how I set it up:
jobs:
  sync_metrics:
    runs-on: [self-hosted, universal]
    steps:
      - uses: datadog/agent-github-action@v1
        with:
            api_key: ${{ secrets.DD_API_KEY }}
            datadog_site: 'datadoghq.eu'
        env:
          DD_LOGS_ENABLED: true

      // Removed some steps that checkout the code, setup the node...etc. to simplify the example

      - name: Sync metrics
        run: yarn start sync ${{ github.event.inputs.args || 'all' }}
        env:
          DD_TRACE_ENABLED: 'true'
          DD_TRACE_VERSION: ${{ github.sha }}

Any pointers ? Cheers ! :D

Hello @Niceplace,
The main use case of this action is to start a Datadog agent to trace tests as highlighted in the DataDog docs. It was not originally meant to do log collection. That being said, I can try and explore this use case and see if it can added.

Hello 👋  sorry for the late update.
We had a look at the log collection use case and it is not as simple as just passing the env DD_LOGS_ENABLED=true to the agent. It also requires specific configuration depending on your application, see https://docs.datadoghq.com/agent/logs/?tab=tailfiles#custom-log-collection.
This is not the main use case of this action but it can be achieved by configuring the agent yourself and setting the needed configuration.

Thanks for the update :) I ended up going on a multiple-day binge to configure log collection through any means possible and I ended up having something working with a vanilla docker agent so I guess I ended up doing the right thing.
Cheers !


Speed up initial comments load

Thanks for all your work, I switched from Materialistic a little while ago and love using your app.
One major difference I noticed is that when initially clicking on the comments of a story (particularly one with a lot of comments) it takes significantly longer to load compared to Materialistic. Once the comments are cached and you click on the comments again it loads instantly, but I'm not sure why the initial load is much slower.
Would appreciate if you can make this optimization. Keep up the great work!

The reason is that we use another API for the comments which load all comments at once. The bad side of this coin is that loading ALL the comments might take a while but it is faster than loading all the indicidual ones separately.
The best solution to this is to load the top comment/comments individually while we wait for the larger loading (provided the number of comments is above ~50). Implementing this should be a semi-priority.

@mchowdhury The comments API is the Algolia HN API. It is called in loadStoryAndComments in CommentsFragment

I'm curious, was there a specific story that was loading slowly or was it everything?
I've taken a look at the timings, for me the slowest part by far is the network request itself. I've measured how long it takes to open https://news.ycombinator.com/item?id=38309611 (~2500 comments) on my phone and the network request takes 3.5 seconds. Parsing and all other logic after that is just 150ms in release build.
On the other hand there are parts that can be improved. Just some ideas:

Don't parse json on UI thread
Don't sort things on UI thread (basically same as 1)
Avoid O(comments.length^2) code in JSONParser#readChildAndParseSubchilds
Avoid O(length^2) code in JSONParser#preprocessHtml (also this code reminded me of https://stackoverflow.com/a/1732454 )

Also I was testing on a fresh install, so maybe there was some setting that impacts performance. But looking at the code there was nothing obvious

Will close this in favor of a new issue about background thread loading, clearer that way.


ws library is slightly out of date

Hey thanks for using my ws lib.
I noticed that its slightly out of date. I have fixed some issues with it recently, I think you would like the updates:
https://github.com/treeform/ws/commits/master

Thanks for informing me! it has now been updated. https://github.com/sunjohanday/xander/commit/ed5b5d3ad3443298979e6cb69ef2fbc57d05fb0a


Update to wdlTools 0.13.0

Also implements the ability to parse and type-check WDL in lenient mode, although the option is currently not available to the user.

It looks like there's another code generator bug - will have to fix this and make a new wdlTools release.


Database not saved to cache after bulk operations.

I am using EFCore.BulkExtensions in conjunction with your SqliteWasmHelper, to do a bulk insert of records downloaded from my WebApi.    After the BulkInsert completes, the in-memory copy of the Sqlite DB contains the records, however the browser-cache backup file is not updated.     Looking at your Ctx_SavedChanges event handler in SqliteWasmDbContextFactory, I am assuming that your hook into the DB context's SavedChanges is not firing, or is firing with an EntitiesSavedCount of 0.
Can your API be used to  force the DB to be saved to cache?  If so, what is the proper way to do this?
Thanks,
Jim

Workaround:
            var first = ctx.entities.FirstOrDefault();
            if (first != null)
            {
                ctx.Entry(first).State = EntityState.Modified;
                SaveChanges();
            }

Works perfectly!  Thank you.

Great point. I'll add an API to force save and then see if I can hook it into bulk operations automatically.


Enable setting both Starting directory and Use parent process directory

Issue
Many times, while using Windows Explorer I'd want to open the terminal in my current location by typing wt in the address bar.
However, this will not work if I set the 'Starting directory' option to my preferred folder.
Proposal
One potential solution could be to enable setting both Starting directory and Use parent process directory and use them as two independent options where if there's a parent process and the "Use parent process directory" option is true, the process should start in that location regardless of the regular Starting directory.

Thanks for the request!

if there's a parent process

Unfortunately, there's always a parent process.
It's not great and probably not satisfying, as answers go, but... ☹

Is there any way to make it work?
I also use WT as my default VS CLI (when pressing Alt+Enter in Solution Explorer and face the same issue when the original path is lost.
I'm curious, when someone opens WT from VS or from the browser, aren't there any parameters passed in? Perhaps we can inspect those and if there are any set them as priority over default location?

 I used to have a better mental map for this problem space. ~I thought there was one for "Set Terminal's CWD" but I can't find that now.~

#15016

Filed recently and needs deduping

#5506

ye olde "Terminal's actual CWD should be system32 always and it should maintain a virtual CWD"

#14817

not super relevant, really only for admin/elevated

#9991

which points at...

#4637

This was the thread I was looking for!

#445

Has other relevant thoughts on the matter

Okay, so there's comprehensive notes on the problem space over in https://github.com/microsoft/terminal/issues/4637#issuecomment-1531979200. There's also some vintage comments on why "I just want the starting directory of wt.exe to be sensible" in https://github.com/microsoft/terminal/pull/3547#issuecomment-553910121. There's just no way to tell if the initial directory of the Terminal is something the user actually wanted, or just a happenstance of the OS.
Ultimately, our recommendation for "I want to start the Terminal in the CWD of explorer using the address bar" is "type wt -d .". That'll explicitly let the Terminal do what you wanted. And if you set up shell integration, then the Terminal will be able to easily open subsequent tabs in that directory too.


App name

If I do decide to publish v2.0 I'm thinking the app name should be different; the repo will still be named NBAreact.
Current ideas:

Swish
Hoops

Leaning towards Swish

changed on ios
android is still NBAreact


{AKS} Refactor 4th part of the update sub-command in aks-preview module

This checklist is used to make sure that common guidelines for a pull request are followed.

Refactor updating pod identity profile.
Move pod identity related internal functions to a separate _podidentity.py file.
Sort out imports in custom.py.

Unit Test Coverage:

"covered_lines": 600,
"num_statements": 602,
"percent_covered": 99.66777408637874,
"missing_lines": 2,
"excluded_lines": 21

Changes after code review:

Add mutual exclusion check for enable_pod_identity and disable_pod_identity.
Extract the verification pod identity with kubenet as an independent function.
Use SimpleNamespace to store pod identity models and use the @property decorator to avoid overwriting.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

AKS

@bcho Thanks a lot for helping review!


add wrapper for shell scripts

By default gem add a wrapper in /usr/local/bin for all binary present in gemspec file (s.executables variable in our gemspec). But this wrapper doesn't work with shell script because it was executed with load function. So should do another wrapper to call shell script with an exec function.

@bleuchtang  Massive thanks for this!

hey :) I'm hitting up against this bug. Could you push a new version up to RubyGems with the fix in, please?

pushed ;)


Set up project for deployment

Currently, setting Debug=False fails to render styles due to how Django prevents loading static files.

Deploying to http://awuswe.pythonanywhere.com/


Add PasswordME

PasswordME is a tiny cross-platform password manager, which can generate passwords for different services using your favorite password
https://github.com/avelex/passwordme

Thanks!


centerZoom not working if not index.html

I am using id.map().centerZoom([-75.7106, 45.4241], 12); to make iD load over a particular area but it doesnt work if the page is not index.html.
It works on my main page but a different name page, it doesnt zoom to the area.

Any errors?  It seems weird that this line of code would fail...

I am getting a few GET maptiles not found but no errors relevant to id.map.

I checked out your code and index.html doesn't work either
You moved assets to an assets folder, but index.html is looking for them in /dist.

This is strange because the assets folder is for other ressources. The dist folder is still there.

oh wait, you're still using a Makefile.  Let me try making the assets..

Ok I see what's happening.. This is interesting and has to do with how iD loads itself into the container.
start at this line..
id.ui()(document.getElementById('id-container'));

...calls here
    function ui(node) {
        var container = d3.select(node);
        context.container(container);
        context.loadLocale(function() {
            render(container);
        });
    }

... calls here
    context.loadLocale = function(cb) {
        if (locale && locale !== 'en' && dataLocales.indexOf(locale) !== -1) {
            localePath = localePath || context.asset('locales/' + locale + '.json');
            d3.json(localePath, function(err, result) {
                addTranslation(locale, result);
                setLocale(locale);
                cb();
            });
        } else {
            cb();
        }
    };

So this is a weird function.. If the locale is en, this locale already bundled in iD.js and so it calls the callback synchronously - cb() gets called immediately.  But if the locale is not en, we use d3.json to load it asynchronously - cb() gets called later.
The reason your indexFR.html won't change the map location on the next line after calling id.ui()(container); is because the map hasn't actually been set up yet. It's waiting for the French language file to finish loading.
I think to make this really work we need to add a callback parameter to that ui function, or emit a loaded event, or rethink the flow to make it better.

Also worth mentioning that things would probably work ok if you set the location in the url hash before starting iD.
something like
window.location.hash = '#background=Bing&map=12/-75.7106/45.4241';

This is very interesting. I was using this approach before trying to use the map functions. Is tehre a difference in using hash instead of window.location.replace?

Is there a difference in using hash instead of window.location.replace?

I don't know, to be honest.  window.location.replace might be better, by not writing a history entry.

I added an optional callback to ui initializer so that you can know when the map is ready (i.e. loadLocale is done).   This code works now:
        id = iD.Context(window)
            .presets(iD.dataPresets)
            .imagery(iD.dataImagery)
            .locale('fr')
            .assetPath('dist/');

        id.ui()(document.getElementById('id-container'), function(err) {
            if (!err) {
                id.map().centerZoom([-75.7106, 45.4241], 12);
            }
        });

Awesome!


Roll engine f3761ba8d01f..f3ef1bd97d9c (1 commits)

https://github.com/flutter/engine/compare/f3761ba8d01f...f3ef1bd97d9c
git log f3761ba8d01fc6213db44b702c3c38bfdc5c887a..f3ef1bd97d9c7c9246f541982e327e5e91089c17 --no-merges --oneline
f3ef1bd97 Roll fuchsia/sdk/core/mac-amd64 from ZZsO1TTl-976ngr5N8h6rRvXTbMO_3qyKDpbeOhE0dwC to C8DMr5XY-F09ZBhT0lbvxOm5MtX3NMmFPKBO6fm40jEC (flutter/engine#9516)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/4922058958438400

Commit queue failed; closing this roll.


grammatical error : "elements looses focus"

[Enter feedback here]

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

ID: b211df59-e1c9-86c0-c904-31fa3c361e6d
Version Independent ID: 3f912dfc-5ba5-6c6c-ba93-1ae78508a5cc
Content: ASP.NET Core Blazor data binding
Content Source: aspnetcore/blazor/components/data-binding.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Thanks ... I'll get this patched up by EOD.


JP Localization

Added in localized "LokinetOverview.md" in "loki-docs/JP/Lokinet/"

Thanks @ChanoSan , I'm going to leave this PR open until we can work out a way to serve the Japanese docs site.

Understood. Should I add newly updated translations as PRs too, or just wait on it till you sort out how to serve them?


Add version command line option

I couldn't find a way to pass any defines to ponyc that go beyond flags
(ifdef and -D=foo don't seem to work with variables?) -- so I ended up
generating a stable/version.pony.
Issue #41 left it open how exactly this should look. This change only
outputs the version of stable,
$ stable version
0.1.0-af246fe [release]

and nothing related to the ponyc (and, transitively, LLVM) version used
-- does it make sense to include that? I wasn't convinced.
Signed-off-by: Stephan Renatus<EMAIL_ADDRESS>

Ooops windows. I'm afraid fixing this is beyond me -- any hints would be appreciated.

@kulibali In IRC, @SeanTAllen mentioned that I should ping you for feedback on this 😃

Hi @srenatus, this should make things work on Windows:
diff --git a/make.bat b/make.bat
index 2a6f5e6..128ba3f 100644
--- a/make.bat
+++ b/make.bat
@@ -27,6 +27,14 @@ if errorlevel 1 goto noponyc
:build
if not exist "%BUILDDIR%" mkdir "%BUILDDIR%""
echo Compiling: ponyc stable -o %BUILDDIR% %DEBUG%
+set /p VERSION=<VERSION
+setlocal enableextensions disabledelayedexpansion
+for /f "delims=" %%i in ('type stable\version.pony.in ^& break ^> stable\version.pony') do (
+  set "line=%%i"
+  setlocal enabledelayedexpansion
+  >>stable\version.pony echo(!line:%%%%VERSION%%%%=%VERSION%!
+  endlocal
+)
ponyc stable -o %BUILDDIR% %DEBUG%
goto done

@kulibali thank you so much! I'll add it.

Oops, I missed the git hash.  Replace
set /p VERSION=<VERSION

with
set /p VERSION=<VERSION
for /f %%i in ('git rev-parse --short HEAD') do set VERSION=%VERSION%-%%i

to get the same behavior as the makefile.

@kulibali thanks again! I'll also add [CONFIG], but I think I can manage that now 😄

Tested the resulting artifact in a win10 VM:

I'll squash those commits.

Thanks @srenatus!


Please add Tacoma, WA

Here are the Mayor and City Councilmembers emails:
Mayor Victoria Woodards<EMAIL_ADDRESS>City council<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Here is a sample script:
Dear Mayor Woodards and Tacoma City Council,
My name is [NAME] and I am a resident of [CITY/STATE]. I am writing to demand justice for Manuel Ellis, an innocent Black man who was murdered by Tacoma police officers on March 3, and so many murdered Black people before him.
Despite autopsy evidence ruling Ellis’ death a homicide, the officers involved in this murder have not been charged and are still employed at the Tacoma Police Department. This is unacceptable. Administrative leave is not enough. I demand that these officers be fired and arrested for their crimes.
I am also asking the City of Tacoma to show your commitment to racial justice moving forward by opposing any increase in the Tacoma Police Department’s budget, and re-allocating city resources from policing to services that keep Black people safe, such as healthcare, education, and community programs.
Thank you,
[YOUR NAME]
Thank you for your good work!

will submit a PR # when done


Load common crawl data (Feb 2019)

Added the date to the title so this can be distinguished from other common crawl issues.

Inserted: 510K


MAINT-113: Support ECL evaluation on stated relationships

This pull request adds support for ECL evaluation in the stated tree.
I've made a mistake and did a typo in the commit issue number.
The original ticket for the issue is MAINT-113(link below)
https://jira.ihtsdotools.org/browse/MAINT-113

Yeah I can confirm. I changed both membership and relationship evaluation based on the current form(stated | inferred, links are below), and also all the current tests are working correctly on both the stated and inferred forms.
https://github.com/IHTSDO/snow-owl/pull/51/files#diff-89a093ea11598372539fb29ac88f599dR634
https://github.com/IHTSDO/snow-owl/pull/51/files#diff-89a093ea11598372539fb29ac88f599dR534

Thank you!


Separate FE from BE

Make FE consume scheme from BE and give ability to use FE with any scheme provider. This could be the day generic language independent cms is first created

Already implemented in PR


Implement pagination and better display of data

Enable pagination of data and improve the display of data by separating out the headings.

This is now ready for review


Edit request param

@richardfullmer it requires https://github.com/opensoft/rollout in version 2.1 at least. Related to https://github.com/opensoft/rollout/pull/13 pullo request. This one allows user to set up request param, which enables feature on the application.
I will appreciate your review, thanks!

Thanks!

@richardfullmer any chances to release new version :) ?

done


feat: bitcoin dynamic depositor fee

Description

Use Bitcoin block average fee rate in depositor fee calculation for Athens3 and mainnet
The tentative upgrade height for the dynamic fee is set at 832000 for mainnet. (in 14 days)

Closes: 1698
Type of change

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

How Has This Been Tested?

[x] Go unit tests

The calculated fee rate of 9998/10000 mainnet blocks matched mempool.space, 2/10000 of blocks saw a diff of 1 sat/vB.
result_mainnet.txt
result_testnet.txt

Regarding zetaclient/testdata/bitcoin_block_828440.json Do we need the entire data for the block? I think we should trim to only keep what we need.

Good idea. I can set the tx input/output as nil to make the block compact.

Regarding zetaclient/testdata/bitcoin_block_828440.json Do we need the entire data for the block? I think we should trim to only keep what we need.

trimmed in commit


Flutter secure storage data is getting cleared on IOS when the app is in background more than 2 hr.

Hi guys,
We have kept the app running in background and after 2 hour when we resumed it after that the data got deleted.
-This issue is occurring only on release build (TestFlight or app store).

do you use notifications?

We are also getting the same issue - any flutter secure storage data manipulation in the background does not persist.

Did you get notifications before?

Yes @kolhozz , We are using notifications

Looks like it's not a bug, but a well-known feature. Please check this stackoverflow question or apple dev forum.
You could use this enum to tweak IOS Accessibility: https://github.com/mogol/flutter_secure_storage/blob/d8aeaee6ed2898e622f3ec83e2c75af41294f22e/lib/flutter_secure_storage.dart#L148-L168

That's a good point, made me go search for more info on the actual code and I made a PR with doc changes:
https://github.com/mogol/flutter_secure_storage/pull/244/files

The readme is updated, so i'm closing this for now.

Hey folks, should this be implemented for macos as well?

Hello @mogol how can set the enum you mentioned to avoid this issue, i have been running after this bug for 8 months now. Thanks for your help.

@mogol they mention in the SO article you referenced that this key should be set:
kSecAttrAccessibleAfterFirstUnlock
where and how do we set it please?

@nicolasvahidzein just read my last post
final options = IOSOptions(accessibility: IOSAccessibility.first_unlock);
await storage.write(key: key, value: value, iOptions: options);


Question regarding the removal of the "site-packages" logic

Hello! Thank you for creating this package, it’s been very useful and saved me time on my current project. I’m not sure if this really warrants an "issue" as it's more of a question, but I did not see a tab for creating discussions on the repo so feel free to close this.
I was wondering: my project made use of the logic for finding the root in a “site-packages” folder. This way the root would be found even if a user pip-installed it. It looks like this logic was removed in the last few days. What is the new preferred method of setup when a .git folder is not present? I see there is an option for a "project-root", should I be creating an empty file with this name at the top level?
Thank you and have a nice day :)

Hi! Sorry for the late response, I've missed the notification.
Yes, I indeed removed the logic. There was some reasoning behind the decision.
Relying on .git while developing feels "zero cost" (no need to create .project-root), but it's dangerous in a sense. I remember me trying to use from_root in drafts which were never meant to get under version control, so no git init whatsoever. And, surely, "Anchor's not found" immediately after running the script. But it's not a big deal, some may say.
There is a bigger one. Once I thought "What if my user install the library somewhere other than into site-packages?.." The package will break again. Not a usual case, but still.
The only robust way, like 100% bulletproof, is to add .project-root anchor. If you've created the file, there is no way anything will ever break. So I would want from-root users to follow this practice to guarantee everything is fine no matter what.
Not zero cost anymore, but still very simple. At the same time, presence of the file may annoy some people
On the other hand, if we have support for ".git" and "site-packages", ~99% of users will be happy: no need for .project-root at all, so from-root will feel like magic most of the time.
I'm open for discussions on that :)

It just dawned on me that from-root may look for requirements.txt, pyproject.toml etc. I will reconsider the whole thing in the nearest future and make a new release :)

Hey! Yeah I think we're on the same page. :) That was my initial reasoning: I was part of the 99% of the users for whom the library worked like magic, so I was initially confused.
If you are working locally only (no .git, no site-packages) then having an error pop up is still a problem worth addressing: no reason why you would need source control for fetching a folder locally. So that in itself could warrant the .project-root you implemented (unless we come up with other ideas for a smart guessing algorithm).
There's also an issue that people don't always use pip! Apparently (thank you ChatGPT) Conda installs the packages in a folder called pkgs :). That said there aren't a million systems in existence so just adding that case could cover the overwhelming majority of users.
All in all, maybe instead of forcing a file creation, it could be treated as an override? If all else fails, prompt the user to create the .project-root. That way you will only need to redirect to the documentation the 1% of users for whom the magic solutions don't work. What do you think? :)


decorate literature with publisher countries

When building the literature index, is it feasible to extract countries for all publishingOrganizationKeys to allow searches for publications using data from a given country?

To be clear, it's the countries of the publishers I'm looking for. We've already got the publishers (in publishingOrganizationKey)

I think Fede meant to write publishingCountry, similar to https://api.gbif.org/v1/occurrence/search?publishingCountry=FO

deployed to prod


Paging of output in a tutorial mode

SimDem2 does not implement the paging of output in tutorial mode, this makes it very hard to follow what it happening. That is, in SimDem1 a new heading triggered a clear in the terminal, making it much easier to view the outputs as they quickly scrolled passed.
This, coupled with #102 (color coded output) makes it very difficult to follow what is happening.

It used to do this, but I stripped it during some debugging.
Here's a really simple PR for someone.  You can add self.ui.clear() here:
https://github.com/Azure/simdem/blob/simdem2/simdem/mode/tutorial.py#L21


Unknown system variable 'query_cache_size'

Describe the bug
After upgrading my rds from 5.7 to 8.0.36, I am not able to connect via my java applications on ec2 linux. It works fine from windows. First I tried MySQL Connector/J and everything I read said that Amazon discontinued query_cache_size, so I thought it was an issue with the connector. Then I found and implemented the AWS JDBC Driver, figuring it would know about the changes, but I still get the Exception and I'm getting very frustrated.
Expected Behavior
I am just trying to create a connection
What plugins are used? What other connection properties were set?
jdbcString=jdbc:aws-wrapper:mysql://[server].us-east-1.rds.amazonaws.com/[schema]?user=[user]&password=[password]&useSSL=false
Current Behavior
java.sql.SQLException: Unknown system variable 'query_cache_size'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:695)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:663)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:653)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)
at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2041)
at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1994)
at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1429)
at com.mysql.cj.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:2893)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:2428)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1797)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1653)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:662)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221)
at software.amazon.jdbc.DriverConnectionProvider.connect(DriverConnectionProvider.java:125)
at software.amazon.jdbc.plugin.DefaultConnectionPlugin.connectInternal(DefaultConnectionPlugin.java:203)
at software.amazon.jdbc.plugin.DefaultConnectionPlugin.connect(DefaultConnectionPlugin.java:191)
at software.amazon.jdbc.ConnectionPluginManager.lambda$connect$6(ConnectionPluginManager.java:353)
at software.amazon.jdbc.ConnectionPluginManager.lambda$null$0(ConnectionPluginManager.java:243)
at software.amazon.jdbc.ConnectionPluginManager.executeWithTelemetry(ConnectionPluginManager.java:220)
at software.amazon.jdbc.ConnectionPluginManager.lambda$makePluginChainFunc$1(ConnectionPluginManager.java:243)
at software.amazon.jdbc.ConnectionPluginManager.lambda$null$2(ConnectionPluginManager.java:248)
at software.amazon.jdbc.plugin.efm2.HostMonitoringConnectionPlugin.connectInternal(HostMonitoringConnectionPlugin.java:234)
at software.amazon.jdbc.plugin.efm2.HostMonitoringConnectionPlugin.connect(HostMonitoringConnectionPlugin.java:229)
at software.amazon.jdbc.ConnectionPluginManager.lambda$connect$6(ConnectionPluginManager.java:353)
at software.amazon.jdbc.ConnectionPluginManager.lambda$null$3(ConnectionPluginManager.java:247)
at software.amazon.jdbc.ConnectionPluginManager.executeWithTelemetry(ConnectionPluginManager.java:220)
at software.amazon.jdbc.ConnectionPluginManager.lambda$makePluginChainFunc$4(ConnectionPluginManager.java:247)
at software.amazon.jdbc.ConnectionPluginManager.lambda$null$2(ConnectionPluginManager.java:248)
at software.amazon.jdbc.plugin.staledns.AuroraStaleDnsHelper.getVerifiedConnection(AuroraStaleDnsHelper.java:69)
at software.amazon.jdbc.plugin.failover.FailoverConnectionPlugin.connectInternal(FailoverConnectionPlugin.java:777)
at software.amazon.jdbc.plugin.failover.FailoverConnectionPlugin.connect(FailoverConnectionPlugin.java:770)
at software.amazon.jdbc.ConnectionPluginManager.lambda$connect$6(ConnectionPluginManager.java:353)
at software.amazon.jdbc.ConnectionPluginManager.lambda$null$3(ConnectionPluginManager.java:247)
at software.amazon.jdbc.ConnectionPluginManager.executeWithTelemetry(ConnectionPluginManager.java:220)
at software.amazon.jdbc.ConnectionPluginManager.lambda$makePluginChainFunc$4(ConnectionPluginManager.java:247)
at software.amazon.jdbc.ConnectionPluginManager.lambda$null$2(ConnectionPluginManager.java:248)
at software.amazon.jdbc.plugin.AuroraConnectionTrackerPlugin.connectInternal(AuroraConnectionTrackerPlugin.java:91)
at software.amazon.jdbc.plugin.AuroraConnectionTrackerPlugin.connect(AuroraConnectionTrackerPlugin.java:84)
at software.amazon.jdbc.ConnectionPluginManager.lambda$connect$6(ConnectionPluginManager.java:353)
at software.amazon.jdbc.ConnectionPluginManager.lambda$null$3(ConnectionPluginManager.java:247)
at software.amazon.jdbc.ConnectionPluginManager.executeWithTelemetry(ConnectionPluginManager.java:220)
at software.amazon.jdbc.ConnectionPluginManager.lambda$makePluginChainFunc$4(ConnectionPluginManager.java:247)
at software.amazon.jdbc.ConnectionPluginManager.executeWithSubscribedPlugins(ConnectionPluginManager.java:210)
at software.amazon.jdbc.ConnectionPluginManager.connect(ConnectionPluginManager.java:350)
at software.amazon.jdbc.wrapper.ConnectionWrapper.init(ConnectionWrapper.java:160)
at software.amazon.jdbc.wrapper.ConnectionWrapper.(ConnectionWrapper.java:105)
at software.amazon.jdbc.Driver.connect(Driver.java:176)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at com.astor.research.DataLayer.initializeConnection(DataLayer.java:53)
Reproduction Steps
conn = DriverManager.getConnection(props.getProperty("jdbcString"));
logger.debug("Connected to MySQL "+props.getProperty("jdbcString"));
Possible Solution
No response
Additional Information/Context
No response
The AWS Advanced JDBC Driver version used
2.3.4
JDK version used
openjdk version "1.8.0_312"
Operating System and version
Amazon Linux

This was a former blue/green deployment, but I already switched it over because it was working from windows and did not see the linux issue until after I made the green live.

Hi @jrschwartz,
Thank you for reaching out and raising this issue.
It looks like the query cache was deprecated as of MySQL 5.7.20 and was removed in MySQL 8.0.
To confirm, you originally had an RDS MySQL 5.7 database, and not an Aurora MySQL database? And the database version was updated through the blue/green deployment switchover?
You mentioned having tried the MySQL Connector/J first before switching to the AWS JDBC Driver. However, the AWS JDBC Driver requires an underlying driver such as the MySQL Connector/J. To double check, was this the underlying driver used when you set up the AWS JDBC Driver? If so, what version of the MySQL Connector/J were you using?
I tried to reproduce this issue but was not able to obtain this error. I set up a simple java application to be run on an Amazon Linux EC2 instance. The application created a connection and did a get query. I set up an RDS MySQL 5.7 database, then did a blue/green deployment switchover that would upgrade the database engine to 8.0.36. I was able to create a connection and execute a get query without issues. I also tried the same thing with an Aurora database and did not have any problems. I used the latest version of the AWS JDBC Driver along with version 8.3.0 of the MySQL Connector/J as the underlying driver.
Is there anything from this setup that may be missing or significantly different from yours?

Closing this issue since we haven't seen a response. Please feel free to re-open this issue if the issue still persists.
Since Blue/Green Deployments were used, please refer to documentation that goes over some limitations.
Thank you.


[Python API] run black-formatter with line-length 88

Manual mods for main-old and main and commit them
Then commit to both branches a mod to CI YAML which enforces the line-length checks

cc @thetorpedodog and @bkmartinjr

See also #711


High Number of False positives for Binary class with Softmax Layer

Hello, Thanks for the excellent repo you have put together. We are working on a 3D binary segmentation task for detecting lesions in spinal cord MRI images. we have a situation of class imbalance with a lesion(foreground class) far less represented than the background class (Proportional of foreground voxels per training patches(48x48x48) is 0.9%, i.e. average for patches with lesions). We are using a 3Dunet model with sigmoid output, which works well. When updating the 3Dunet with softmax, there is a tendency for many false positive predictions compared to sigmoid output. We train on randomly selected patches, so we can easily have training patches with the background class only. Can you give insight, or maybe we are doing something wrong (please see the updated softmax output code below). My intuition is that since the background class cover a large proportion of voxels, there is a tendency for the model to learn the background class more than the foreground, even with the penalties from the losses. For example, using  asymmetric_focal_loss resulted in a model predicting only the background class. Another example can be a dice_coeffient calculated per class and returning the average dice. This seems to greatly influence the good dice we get from the background class compared to the foreground.
Lesion level results with default parameters
TP = true positive
FP = false positive
FN = false negative
GT = number of lesions in the ground truth

No.
Loss

TP
FP
FN
GT

1
Asymetric_unified_loss

31
580
26
57

2
Symetric_unified_loss

23
183
34
57

3
asymmetric_focal_tversky_loss

29
358
28
57

4
asymmetric_focal_loss

0
1166
57
57

5
symmetric_focal_tversky_loss

0
0
57
57

6
tversky_loss

24
578
33
57

7
combo_loss

22
267
35
57

8
focal_tversky_loss

27
281
30
57

9
focal_loss

7
48
50
57

10
symmetric_focal_loss

0
923
57
57

11
dice_loss

31
382
26
57

The input image and the two-channel mask
# sigmoid version
input_img  = (1, 48, 48, 48, 1)
single_channel_mask = (1, 48, 48, 48, 1)

# Softmax version
two_channel_mask = tensorflow.keras.utils.to_categorical (single_channel_mask)

# inputs of the model
input_img  = (1, 48, 48, 48, 1)
two_channel_mask = (1, 48, 48, 48, 2) # 1st channel for background 2nd channel for foreground

3Dunet
# Define the global variables
KERNEL_SIZE = (3, 3, 3)
POOLING_SIZE = (2, 2, 2)
FILTERS = [16, 32, 64]
shape = (48, 48, 48, 1)
depth = 2

def unet3D_softmax(num_classes = 2):
    """Whole Unet architecture from the predefined blocks"""

    input = tf.keras.layers.Input(shape=shape)
    layer = input
    hist = []
    for i in range(depth):
        (layer, save) = get_down_block(i, layer, dropout=dropout)
        hist.append(save)
    layer = tf.keras.layers.Conv3D(FILTERS[depth], KERNEL_SIZE, padding="same")(
        layer
    )
    layer = tf.keras.layers.BatchNormalization()(layer)
    layer = tf.keras.layers.Activation("relu")(layer)
    layer = tf.keras.layers.Conv3D(FILTERS[depth] * 2, KERNEL_SIZE, padding="same")(
        layer
    )
    layer = tf.keras.layers.BatchNormalization()(layer)
    layer = tf.keras.layers.Activation("relu")(layer)
    for i in reversed(range(depth)):
        layer = get_up_block(layer, hist[i], i, dropout=dropout)
    layer = tf.keras.layers.Dropout(dropout)(layer)

    if num_classes == 1:  #Binary
      activation = 'sigmoid'
    else:
      activation = 'softmax'

    layer = tf.keras.layers.Conv3D(num_classes, 1, padding="same", activation=activation)(layer)
    model = tf.keras.Model(inputs=input, outputs=layer)
    optimizer = tf.keras.optimizers.Adam(learning_rate=lr)

    model.compile(
        optimizer=optimizer, loss=asym_unified_focal_loss(), metrics=[dice_coefficient()]
    )

    return model

During Inference
predictions_list = [ ]
for patches in range(test_image_patches):
     single_patch_prediction = model.predict(patches)
     # shape of prediction 1,48,48,48,2 output probabilities
     single_patch_prediction_argmax = np.argmax(single_patch_prediction, axis=4) # output 1,48,48,48
     single_patch_prediction_argmax = np.expand_dims(single_patch_prediction_argmax, axis = -1) # output 1,48,48,48,1 for compactibility with our pipeline
     predictions_list.append(single_patch_prediction_argmax)

Hi Burhan,
Thank you very much for your question and it sounds like an interesting project!
It is surprising because I would not expect differences between using sigmoid or softmax as the last activation, given that softmax with two outputs is effectively equivalent to using a sigmoid activation.
Just a few things I would like to check first:

What are the results you are getting with the sigmoid layer?
Have you tried the same loss function (although perhaps requiring different code) with sigmoid and softmax layers separately?
Have you repeated any of these experiments or used cross validation (same loss function and activation)? It might be useful to see how the performance varies despite using the same parameters.

Unrelated to loss functions, two suggestions that come to mind that might help with performance:

The U-Net depth used is quite low, which might cause problems with learning this difficult task. I wonder if you have tried using higher depths like 3 or 4?
With patch-based predictions, I have found it useful to making overlapping predictions, and averaging over the activations (i.e. probabilities) and then applying argmax. I found this very useful particularly for reducing false positives. The functions to do that can be found in: https://github.com/frankkramer-lab/MIScnn/blob/master/miscnn/utils/patch_operations.py

Best wishes,
Michael


Automation to launch screensaver

Hello,
I wanted to make a simple automation to start the screensaver at certain hours. So I added the below in my:

automation.yaml:

- alias: 'Screensaver'
  initial_state: false
  trigger:
    - platform: time_pattern
      minutes: '/1'
  action:
    - event: tileboard
      event_data:
        command: >
          {% if is_state('sensor.time', '08:00') %} 'screen_on'
          {% elif is_state('sensor.time', '00:00') %} 'screen_off'
          {% endif %}

config.js (events)

{
              command: 'screen_off',
              action: function(e) {
                if (window.fully) {
                   window.fully.startScreensaver();
               }
              },
            },
            {
             command: 'screen_on',
             action: function(e) {
               if (window.fully) {
                 window.fully.stopScreensaver();
                 window.fully.bringToForeground();
               }
             },
           },

config.js

 screensaver: {
      slidesTimeout: 10, // 10s for one slide
      styles: { fontSize: '50px' },
      leftBottom: [{ type: SCREENSAVER_ITEMS.DATETIME }],
      slides: [
         { bg: 'images/night.jpg' }
      ]
   },

Could you help me to understand why the automation cannot send the screensaver command ?

First of allow need to establish if you are actually receiving the event, please try adding alert(1); right after action: function(e) {.  I've also noticed that your automation is tuned off by default (initial_state: false). And lastly, window.fully.stopScreensaver(); if a function calling internal screensaver of Fully Kiosk browser, not TileBoard one.

still nothing. I removed the initial_state and added the alert. But nothing happens. Even if I trigger manually the automation through "Developers tools".

Automation:

- alias: 'Screensaver'   trigger:     platform: state     entity_id: input_boolean.home_mode     from: "on"     to: "off"   action:     - event: tileboard       event_data:         command: 'screen_off'

Config.js (events)

{
               command: 'screen_off',
               action: function(e) {
                 alert(1);
                 if (window.fully) {
                    window.fully.startScreensaver();
                }
               },
             },
             {
              command: 'screen_on',
              action: function(e) {
                alert(1);
                if (window.fully) {
                  window.fully.stopScreensaver();
                  window.fully.bringToForeground();
                }
              },

I'm actually running home assistant on 7" display in kiosk mode. But I would like to trigger the screensaver of tileboard...
So no event received...what could be the issue ?


Cooldowns on spells/items

Hello.
Are there events for when a spell/item is on/off cooldown?
Thanks,

Sup :)
There are none atm, unfortunately.
But implementing this should not be too difficult.

I was thinking it could be interesting to produce stats like:

magic damage taken while BKB is off cooldown
physical damage taken while Ghost Scepter is off cooldown
total time midas was off-cooldown
etc

I agree you could do a lot with those events.
Unfortunately, I don't have much time at the moment, but we can just leave this open and I will implement it when I get to it :)

Am 21.05.2015 um 11:27 schrieb André Cruz<EMAIL_ADDRESS>I was thinking it could be interesting to produce stats like:
magic damage taken while BKB is off cooldown
physical damage taken while Ghost Scepter is off cooldown
total time midas was off-cooldown etc
—
Reply to this email directly or view it on GitHub.

If I were to try my luck at this, is there any documentation I should read? Maybe something about the replay file format?

No need to look at the replay format, all the info is in the entities. Heroes, items and abilities are all entities. If I remember correctly, the hero entity has the handles of item and ability entities, and those have a cool down property.

Am 21.05.2015 um12:01 schrieb André Cruz<EMAIL_ADDRESS>If I were to try my luck at this, is there any documentation I should read? Maybe something about the replay file format?
—
Reply to this email directly or view it on GitHub.

André,
From combat log events you can monitor buff/debuff of items and spells
effects.
However you'll only see the string representation of an items/spell effect,
like

modifier_item_medallion_of_courage_armor_reduction
modifier_lion_mana_drain
modifier_dazzle_weave_armor

If you can build a look-up-table and match those modifiers to items/spells,
you can achieve what you want.
Please note that these change with game patches, so you need continous
updates to your LUT.
On 21 May 2015 at 11:53, Martin Schrodt<EMAIL_ADDRESS>wrote:

I agree you could do a lot with those events.
Unfortunately, I don't have much time at the moment, but we can just leave
this open and I will implement it when I get to it :)

Am 21.05.2015 um 11:27 schrieb André Cruz<EMAIL_ADDRESS>I was thinking it could be interesting to produce stats like:
magic damage taken while BKB is off cooldown
physical damage taken while Ghost Scepter is off cooldown
total time midas was off-cooldown etc
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/skadistats/clarity/issues/41#issuecomment-104208018.

@edevil if you're still looking to make this, the easiest way to go about this that I can immediately think of is to go through the combatlog and make a log of timestamp whenever a hero took damage, and go through entities on every tick and make a list of (start, end) pairs for when the items/spells you're looking for were off cooldown (m_hAbilities.XXXX for abilities, m_Inventory.m_hItems.0000 for items, and look at the m_fCooldown and m_flCooldownLength properties of the target entities) for each hero.
Then you can just look for overlaps between the two columns for a given hero, and optimise for the number of iterations.


Minimum temperatur that i can set is 25 degrees

Noticed this error in Homebridge today:
In Homekit the minimum temperature that I can set is now 25 degrees:
[09/03/2024, 14:28:36] [homebridge-melcloud-control] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 20 exceeded minimum of 25. See https://homebridge.io/w/JtMGR for more info.
Plugin version 17 works. Versions 18 and 19 have the error.
IOS 16.4
Heat Pump, Heater/Cooler and Thermostat
Plugin Version 17 in Thermostat Mode works Perfect with Zubadan/Ecodan

Can you post the debug log

fixed


Update codes for workitem #149 - More features on spell checking

@sebbrudzinski
I've updated codes for workitem #149 - More features on spell checking. Here's some more information about these updates:

For now there's another thread for automatic spell check. Once you open a file or save any modifications, spell check will be triggered automatically:

Because there's another thread, for now it'll not "hanged" will running spell check.

If you modify anything without saving changes, because Editor State isn't dirty, spell check will not be triggered:

However, you can click the Icon above to manually trigger spell check, then i'll be executed still without saving changes:

Please help review and feedback. Thank you very much.  :-)

@sebbrudzinski
Please kindly help review and suggest on my code updates. Thank you very much.  :-)

@sebbrudzinski
Thanks for your comments. I've already moved the method as your suggestion but encountered issue to "disable spell checking after it has been enabled".
I guess what you mean is: We should make the "Spell Check" button different status in the Toolbar after enabling this function. Therefore, for now after enabling spell check, the button will be changed on Toolbar:

And if you click again, Spell Check function will be disabled, and the "Spell Check" button status will be restored to the original status in Toolbar:

I've implemented this change by "setBorder()". I call "setBorder()" method once getting the triggering source with "e.getSource()" in the actionPerformed method:

However, the encountered problem is: If we click the menu item, this method will throw exception:

The exception reason is: If you click menu item instead of Toolbar Button, the "e.getSource()" in the actionPerformed method will not get the Toolbar Button Object but the Menu Item Object, then we cannot use "e.getSource()" to change the Spell Check button status.

We may be able to get the Spell Check button to doClick() or trigger the actionPerformed() manually, but after trying in these days, I cannot implement both of them. I've ever tried:

Try to get the Spell Check button by ID, but it seems the way in Javascript but cannot work among Java Swing?
Try to get sub-components from the root pane but eventually cannot get this Spell Check button object after digging down with several levels.
Try to call the actionPerformed() method directly, but I dont know how to assign the triggering source as the Spell Check button?
Try to get the Toolbar directly but cannot find the way to do it, including SwingUtilities and WindowManager.

So far I do not have other ideas and would like to ask your advice. Or should we remove this item from Menu and just keep the button in Toolbar? Please kindly feedback and suggest. Thank you very much.

@sebbrudzinski
I've just found the way to get Toobar. So I'll update the codes and submit request again soon. Many thanks.  :-)

@sebbrudzinski
I have further updates based on your suggestions. Here're more details:

To move the method "spellCheckAllText()" from ETC into SpellCheckService.java as local method.
For now after enabling Spell Check, the Toolbar Icon will be changed to show that this function is enabled:

The Menu Item in the Menubar will be also changed simultaneously:

If we disable Spell Check, these two items will be resumed to its original UI status:

These changes can be triggered from both Menubar Item and Toolbar Icon. I don't really "disable spell checking after it has been enabled", because once disabling them, then users will never be able to click the item/icon again. So I only make them UI changes while enabling or disabling occurs.

Please kindly review and suggest. Thank you very much.  :-)

@sebbrudzinski
Thanks for your helpful feedback. I've updated codes based on your suggestion. Please help review. Thank you.  :-)

Got it. Many thanks!!  :-)


Improve user script error logging.

Errors from user script looks much better when python knows the user script location. It can display code lines in error messages.

/morph test


uv fails to resolve dependencies on tensorrt==8.6.1.post1

uv fails to resolve dependencies on tensorrt==8.6.1.post1.
executed command
uv pip compile -v requirements.in

requirements.in
tensorrt==8.6.1.post1

environment
uv version: 0.1.3
platform: Ubuntu22.04 (amd64)
Error log
error: Failed to download and build: tensorrt==8.6.1.post1
  Caused by: Failed to build: tensorrt==8.6.1.post1
  Caused by: Build backend failed to determine metadata through `prepare_metadata_for_build_wheel`:
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 10, in <module>
  File "/tmp/.tmptfY9gE/.venv/lib/python3.11/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel
    self.run_setup()
  File "/tmp/.tmptfY9gE/.venv/lib/python3.11/site-packages/setuptools/build_meta.py", line 480, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/tmp/.tmptfY9gE/.venv/lib/python3.11/site-packages/setuptools/build_meta.py", line 311, in run_setup
    exec(code, locals())
  File "<string>", line 103, in <module>
  File "<string>", line 96, in parent_command_line
  File "/usr/local/lib/python3.11/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/local/lib/python3.11/subprocess.py", line 1950, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ps'
---
root@d97baf896efc:/conf# uv pip compile -v requirements.in
 uv::requirements::from_source source=requirements.in
    0.001766s DEBUG uv_interpreter::interpreter Resolved python3 to /usr/local/bin/python3
    0.001802s DEBUG uv_interpreter::interpreter Using cached markers for: /usr/local/bin/python3
    0.001805s DEBUG uv::commands::pip_compile Using Python 3.11.7 interpreter at /usr/local/bin/python3 for builds
 uv_client::flat_index::from_entries
 uv_resolver::resolver::solve
      0.002439s   0ms DEBUG uv_resolver::resolver Solving with target Python version 3.11.7
   uv_resolver::resolver::choose_version package=root
   uv_resolver::resolver::get_dependencies package=root, version=0a0.dev0
        0.002465s   0ms DEBUG uv_resolver::resolver Adding direct dependency: tensorrt==8.6.1.post1
   uv_resolver::resolver::choose_version package=tensorrt
     uv_resolver::resolver::package_wait package_name=tensorrt
 uv_resolver::resolver::process_request request=Versions tensorrt
   uv_client::registry_client::simple_api package=tensorrt
     uv_client::cached_client::get_cacheable
       uv_client::cached_client::read_and_parse_cache file=/root/.cache/uv/simple-v0/pypi/tensorrt.rkyv
 uv_resolver::resolver::process_request request=Prefetch tensorrt ==8.6.1.post1
          0.003904s   1ms DEBUG uv_client::cached_client Found fresh response for: https://pypi.org/simple/tensorrt/
 uv_resolver::version_map::from_metadata
   uv_distribution::distribution_database::get_or_build_wheel_metadata dist=tensorrt==8.6.1.post1
     uv_client::cached_client::get_serde
       uv_client::cached_client::get_cacheable
         uv_client::cached_client::read_and_parse_cache file=/root/.cache/uv/built-wheels-v0/pypi/tensorrt/8.6.1.post1/manifest.msgpack
        0.004128s   1ms DEBUG uv_resolver::resolver Searching for a compatible version of tensorrt (==8.6.1.post1)
        0.004133s   1ms DEBUG uv_resolver::resolver Selecting: tensorrt==8.6.1.post1 (tensorrt-8.6.1.post1.tar.gz)
   uv_resolver::resolver::get_dependencies package=tensorrt, version=8.6.1.post1
     uv_resolver::resolver::distributions_wait package_id=tensorrt-8.6.1.post1
            0.004349s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/46/08/da496b4f20890b6f717f159bbdda98e9248b560e712aa22cd9bb1daafe15/tensorrt-8.6.1.post1.tar.gz
     uv_distribution::source::build_source_dist_metadata
          0.004646s   0ms DEBUG uv_distribution::source Preparing metadata for: tensorrt==8.6.1.post1
       uv_dispatch::setup_build package_id="tensorrt==8.6.1.post1", subdirectory=None
         uv_resolver::resolver::solve
              0.005012s   0ms DEBUG uv_resolver::resolver Solving with target Python version 3.11.7
           uv_resolver::resolver::choose_version package=root
           uv_resolver::resolver::get_dependencies package=root, version=0a0.dev0
                0.005027s   0ms DEBUG uv_resolver::resolver Adding direct dependency: setuptools>=40.8.0
                0.005030s   0ms DEBUG uv_resolver::resolver Adding direct dependency: wheel*
           uv_resolver::resolver::choose_version package=setuptools
             uv_resolver::resolver::package_wait package_name=setuptools
         uv_resolver::resolver::process_request request=Versions setuptools
           uv_client::registry_client::simple_api package=setuptools
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/root/.cache/uv/simple-v0/pypi/setuptools.rkyv
         uv_resolver::resolver::process_request request=Versions wheel
           uv_client::registry_client::simple_api package=wheel
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/root/.cache/uv/simple-v0/pypi/wheel.rkyv
         uv_resolver::resolver::process_request request=Prefetch wheel *
         uv_resolver::resolver::process_request request=Prefetch setuptools >=40.8.0
                  0.005882s   0ms DEBUG uv_client::cached_client Found fresh response for: https://pypi.org/simple/wheel/
 uv_resolver::version_map::from_metadata
           uv_distribution::distribution_database::get_or_build_wheel_metadata dist=wheel==0.42.0
             uv_client::registry_client::wheel_metadata built_dist=wheel==0.42.0
               uv_client::cached_client::get_serde
                 uv_client::cached_client::get_cacheable
                   uv_client::cached_client::read_and_parse_cache file=/root/.cache/uv/wheels-v0/pypi/wheel/wheel-0.42.0-py3-none-any.msgpack
                      0.006339s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/c7/c3/55076fc728723ef927521abaa1955213d094933dc36d4a2008d5101e1af5/wheel-0.42.0-py3-none-any.whl
                  0.007274s   2ms DEBUG uv_client::cached_client Found fresh response for: https://pypi.org/simple/setuptools/
 uv_resolver::version_map::from_metadata
           uv_distribution::distribution_database::get_or_build_wheel_metadata dist=setuptools==69.1.0
             uv_client::registry_client::wheel_metadata built_dist=setuptools==69.1.0
               uv_client::cached_client::get_serde
                 uv_client::cached_client::get_cacheable
                   uv_client::cached_client::read_and_parse_cache file=/root/.cache/uv/wheels-v0/pypi/setuptools/setuptools-69.1.0-py3-none-any.msgpack
                0.007641s   2ms DEBUG uv_resolver::resolver Searching for a compatible version of setuptools (>=40.8.0)
                0.007645s   2ms DEBUG uv_resolver::resolver Selecting: setuptools==69.1.0 (setuptools-69.1.0-py3-none-any.whl)
           uv_resolver::resolver::get_dependencies package=setuptools, version=69.1.0
             uv_resolver::resolver::distributions_wait package_id=setuptools-69.1.0
                      0.007982s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/bb/0a/203797141ec9727344c7649f6d5f6cf71b89a6c28f8f55d4f18de7a1d352/setuptools-69.1.0-py3-none-any.whl
           uv_resolver::resolver::choose_version package=wheel
             uv_resolver::resolver::package_wait package_name=wheel
                0.008038s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of wheel (*)
                0.008041s   0ms DEBUG uv_resolver::resolver Selecting: wheel==0.42.0 (wheel-0.42.0-py3-none-any.whl)
           uv_resolver::resolver::get_dependencies package=wheel, version=0.42.0
             uv_resolver::resolver::distributions_wait package_id=wheel-0.42.0
         uv_dispatch::install resolution="setuptools==69.1.0, wheel==0.42.0", venv="/tmp/.tmpRr6p9C/.venv"
              0.008074s   0ms DEBUG uv_dispatch Installing in setuptools==69.1.0, wheel==0.42.0 in /tmp/.tmpRr6p9C/.venv
              0.008117s   0ms DEBUG uv_installer::plan Requirement already cached: setuptools==69.1.0
              0.008130s   0ms DEBUG uv_installer::plan Requirement already cached: wheel==0.42.0
              0.008135s   0ms DEBUG uv_dispatch Installing build requirements: setuptools==69.1.0, wheel==0.42.0
           uv_installer::installer::install num_wheels=2
          0.020606s  15ms DEBUG uv_build Calling `setuptools.build_meta:__legacy__.prepare_metadata_for_build_wheel()`
       uv_build::run_python_script script="prepare_metadata_for_build_wheel", python_version=3.11.7
error: Failed to download and build: tensorrt==8.6.1.post1
  Caused by: Failed to build: tensorrt==8.6.1.post1
  Caused by: Build backend failed to determine metadata through `prepare_metadata_for_build_wheel`:
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 10, in <module>
  File "/tmp/.tmpRr6p9C/.venv/lib/python3.11/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel
    self.run_setup()
  File "/tmp/.tmpRr6p9C/.venv/lib/python3.11/site-packages/setuptools/build_meta.py", line 480, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/tmp/.tmpRr6p9C/.venv/lib/python3.11/site-packages/setuptools/build_meta.py", line 311, in run_setup
    exec(code, locals())
  File "<string>", line 103, in <module>
  File "<string>", line 96, in parent_command_line
  File "/usr/local/lib/python3.11/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/local/lib/python3.11/subprocess.py", line 1950, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ps'
---

Hm this compiles for me on amd64 linux and arm64 macos
$ echo "tensorrt==8.6.1.post1" | uv pip compile -
Resolved 1 package in 792ms

Are you missing ps?
$ which ps
/usr/bin/ps

@zanieb
I checked and the ps command does not exist in my environment (docker python container).
I close the issue as it was specific to my environment.

@Di-Is - Thanks for following up :)


Exporter returns last successful result when the target fails, doesn't return a failure

Scenario:

An HTTPGet target is configured that goes through a proxy.
The target succeeds initially.
The proxy goes down.

Expected result:
When getting metrics, the exporter should return a failure for the HTTPGet target.
Actual result:
When getting metrics, the exporter returns the last successful result.
It seems it is caused by the following lines:

https://github.com/syepes/network_exporter/blob/master/target/target_http.go#L103-L105 - Target is only updated on success.
https://github.com/syepes/network_exporter/blob/master/target/target_http.go#L109-L117 - Result is returned by this function. Result will only contain the last successful result.
https://github.com/syepes/network_exporter/blob/master/monitor/monitor_http.go#L192-L197 - When exporting the metrics, the last successful result is returned.

Note that though only the HTTPGet target is tested, this seems to be an issue of all the targets.

@lpugoy very nice catch, I'll need to deep dive to see hot to fix this


Flag to clear guestinfo after consumption

Author Name: Tino Vázquez (Tino Vázquez)
Original Redmine Issue: 3549, https://dev.opennebula.org/issues/3549
Original Date: 2015-02-02

Ideally controllable through the CONTEXT section, to avoid leaving sensitive information.
CONTEXT=[CLEAR_GUESTINFO="YES"]
defaulted to NO
This can be achieved with the VMware tools info-set command.

Original Redmine Comment
Author Name: OpenNebula Systems Support Team (OpenNebula Systems Support Team)
Original Date: 2017-06-08T10:43:32Z

check if context is stored in the filesystem somehow

Not supported on every hypervisor. Closing issue.


use version check for disabling global CLI

Checklist

[ ] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why

revert 51db45a8

Test Plan

Added tests

/changelog-entry new-feature use local CLI for expo export in SDK +46


Add ability to capture stderr

Sorry, had to close PR #4 and move it here because that PR was accidentally created on my master branch which made it automatically update on new non-related commits.
Anyway, this PR adds the ability to capture a process's stderr pipe.. Since std::streambuf only has 1 read end and 1 write and, the stderr has to be backed by its own streambuf. Probably not be the best implementation, but it works.

I like the change, but I don't necessarily agree with changing the function names for the other streams (breaking existing code). How about:

input(),
output(), and
error()?

That sounds good. :)

I'm to very familiar with Github's PRs. Do I need to create a new PR for that? Or if you want to close this and add the changes yourself, I'm okay with that too.

If you add another commit to your fork's stderr-capture branch, it should automatically end up in this PR.

Hm okay, the naming change is pushed to my branch, which seems to be updated here automatically.


Response body overwrites request body

$message->getBody()->getContents() read from temp stream, when response comes in it overrides request body in stream. Example:
$httpClient = new GuzzleHttp\Client();
$request = new \GuzzleHttp\Psr7\Request('post', new \GuzzleHttp\Psr7\Uri('https://httpbin.org/post'), [], json_encode(['foo' => 'bar']));
var_dump($request->getBody()->getContents());
$httpClient->send($request);
var_dump($request->getBody()->getContents());
Will result in:
string(13) "{"foo":"bar"}"
string(0) ""
Solution:
After sending request but before response guzzle should create immutable SentRequest object

This has already been answered countless times: getContents reads the remainder of the stream from the current position. If you want to read the whole stream, cast the stream object to string, it will read the whole stream into the memory.

This one had me confused for a while too, just from misunderstanding ->getContents() (I had assumed that it got the full body string always).
I know renaming is hard but would it be worth considering renaming ->getContents() to something like ->readToEndOfStream() or ->getRemainingContents() or something along those lines to avoid similar confusion in future releases?

We can't: it's coming from the PSR-7 spec. I can't recommend anything, but to read the spec to avoid the confusion.

Ah I see now. Ok, thanks @sagikazarmark

I've submitted https://github.com/guzzle/psr7/pull/291 as a potential way to make things clearer.


Added tag to produce html5 docs

This will be ignored when using javadoc from jdk8 and will produce html5 documentation when using jdk9.
Additionally I updated gradle.
Edit: Jitpack produces html4 with their JDK 8 installation https://jitpack.io/com/github/DV8FromTheWorld/JDA/test-javadoc-html5-v3.3.0-g8b9ddff-31/javadoc/index.html

So long as this works with non-J9 compiling environments, then I am okay with this PR.
I will update the build server to Java9 ASAP.


output d.ts files

This outputs the d.ts files. Once we've fully converted Plot to typescript we will add a "types" entry to package.json that references them, but not until then.

Seems like this is still missing the change to files in package.json?

Seems like this is still missing the change to files in package.json?

Gah, I forgot to push! 😶


Mac OSX Node Webkit random execution

I have the following code in a Node Webkit app:
	new CronJob('0 0 8-18 * * 1-5', function(){
		vm.onPin();
		vm.focus();
	}, null, true, "America/Guayaquil");

It should execute the provided function at 0 secs 0 minutes, but it is executing it randomly missing several hours. I am running Node Webkit under Mac OSX (Yosemite)

@rodrigoreyes79 are you ever seeing your jobs executing wildly in rapid succession?  Like 5 times in a row instead of just once?

No, not really. Just runs randomly instead of using the cron expression.
R
El ago 19, 2015 5:58 PM, "John Weis"<EMAIL_ADDRESS>escribió:

@rodrigoreyes79 https://github.com/rodrigoreyes79 are you ever seeing
your jobs executing wildly in rapid succession? Like 5 times in a row
instead of just once?
—
Reply to this email directly or view it on GitHub
https://github.com/ncb000gt/node-cron/issues/177#issuecomment-132817930.

@rodrigoreyes79 I found out what my issue was, I was accidentally setting my job to run every second (first character was *) and I just needed every minute.
It's working fine for me now inside nw.js.

John
In my case, I am only running this every hour and I leave the app running
for a long time in the background. My problem persists as of today.
Rodrigo
2015-08-28 10:42 GMT-05:00 John Weis<EMAIL_ADDRESS>
@rodrigoreyes79 https://github.com/rodrigoreyes79 I found out what my
issue was, I was accidentally setting my job to run every second (first
character was *) and I just needed every minute.
It's working fine for me now inside nw.js.
—
Reply to this email directly or view it on GitHub
https://github.com/ncb000gt/node-cron/issues/177#issuecomment-135810112.

Have a similar issue, but only after computer returns from sleep (reproduced on OS X and Ubuntu)

@rodrigoreyes79 Are you seeing this with sleeps as @IharKrasnik is?
I could definitely see sleeps causing problems...not entirely sure how to resolve that with the existing implementation. The implementation uses setTimeout() and doesn't fire unless that timeout is reached. Seems to me that doing a second based interval could get costly which is part of why we moved away from it (and it also has the same issues since we were setting the interval based on the passed in cron syntax).
To fix this we'd need to either hook into some system calls  or have the cron system running with setInterval that verified things before running which, after enough checks will be too expensive and take too many cycles to execute.
I don't use node-webkit so I'd be happy to review/accept a PR for a fix for this if you guys come up with one.

@ncb000gt just to be clear, I don't have this issue anymore. For me, it actually was a code issue.


Upgrade Fixes

This PR fixes some issues after upgrading to LFS 8.2.

Increasing the IMAGE_SIZE in Dockerfile and CONFIG_BLK_DEV_RAM_SIZE in kernel.config closes #7.
Removing old code that was in previous books but not in version 8.2. Closes #14.
Installing extra packages in the Docker container needed to build LFS
Fixing some of the extensions when uncompressing packages
Fixing timezone path in scripts/build/6.9-make-glibc.sh
Minor formatting changes
Making some changes to how we handle creating the RAMDISK. As inspired by @EvilFreelancer's custom repo (https://github.com/EvilFreelancer/docker-lfs-build).
Updating Linux Kernel configuration from 4.12.7 to 4.15.3

One of the biggest problems that remains is in the LFS book the wget-list file contains some URLs that throw 404 errors, so I had to download the packages manually, which might have caused me to make some changes to the scripts that aren't actually needed. This mainly means that those packages you have to download manually, and you can't solely rely on the wget-list. I think the only way to fix this is to upgrade to LFS 9.0.

HUGE thanks to @EvilFreelancer for helping in making this happen.

Many thanks for pull request!


Added markdown version for sharding paper

Convert sharding paper google docs version to markdown

Some minors are fixed, please review it @etienne-napoleone