Add files via upload

Update doge key

I'm not sure this icon is actually displayed anywhere?

@69coin do you have a screenshot with this icon? I also cannot seem to find where it's used. Just went through everywhere I thought it could be but couldn't find a single place where it's actually used.

I'm not sure this icon is actually displayed anywhere?

The icon is used here:
https://github.com/dogecoin/dogecoin/blob/3a29ba6d497cd1d0a32ecb039da0d35ea43c9c85/src/qt/bitcoingui.cpp#L375
Before:

After:

The key image becomes black & white since TextColorIcon() is being used.

Thanks @alamshafil - that explains why I could not find it, because on a Mac those menu icons don't get rendered.

Alright, I've thought about this and here's where I'm at:

This won't work with the current implementation, however
After we upgrade Qt to support dark mode, and
We find a better way to color the icons than by using TextColorIcon, this can still be a go.

Therefore I propose to keep this open, but mark it as blocked until 2 & 3 have happened. That way, we may ultimately get a cool icon, but in a way that will actually show a cool icon.

I did some research on this. It looks like the right way to do this is to create a custom style and use multiple icon variants, one for each style. That avoids the complex/expensive conversion work that TextColorIcon uses.
Bitcoin removed icons in menus altogether in Bitcoin PR 16612 and TextColorIcon in Bitcoin PR 16677, so anything we do here might conflict with 1.21.
I prefer keeping icons in the GUI despite the Bitcoin PR discussion, so I'm in favor of keeping this around until we have a stronger plan to address Patrick's points #2 and #3.


hi i have a question, onclick method is not available?

Sorry I forget to release a new version for this feature. You could get it in v1.1.2 now.


Some improvement ideas for the future

Sorry to pile on these in 1 issue, I just need to write these down before I forget:

[ ] TOOL_Hooks and Strutures/TOOL pages conflict with their definition for the TOOL global. There are probably other similar cases.

This results in files that define TOOLs to not inherit the Tool class (because the structure is written first), causing many "Undefined Symbol" warnings

[x] We need to find a good way to import Vector/Angle/Color/etc fields (Vector.x,Vector.y, etc) from the wiki

[ ] Same goes for metamethods, like _unm(). Currently negating a vector is seen as it turning into a number. Is this an issue with LuaLS itself?

[x] Find a good format to define function callbacks on the wiki, so they can be imported here and other similar projects

[x] Same goes for arguments that accept multiple types

No worries, it's fine to pile it in one issue. It's workable this way, since this isn't too big a project.
You may already have considered ideas like these, but here's my thoughts on the topic of annotating multiple types and callbacks on the wiki.
With backwards compatibility

For multiple possible types the wiki could add an attribute to arg, like alternativeTypes="table", e.g:<arg name="flags"
     type="number"
     alternativeTypes="table"
     default="FCVAR_NONE">Flags of the convar, see <page>Enums/FCVAR</page>, either as bitflag or as table.</arg>

One could even consider allowing multiple types to be specified in that new attribute, by comma separation or something, for even more alternate types on an attribute.
For callback functions I'd approach it similarly, just adding an attribute to the arg element, e.g:<arg name="callback"
     type="function"
     functionArguments="Player ply, string cmd, table args, string argStr">The function to run when the...</arg>

This would ensure backwards compatibility with anyone relying on type or  to contain only one value.
Some downsides:

Hard to add descriptions to alternative types or to function arguments in this way.

This seems too cumbersome to ask wiki editors to work with: functionArguments="Player ply the player that ran the concommand, string cmd The command that was ran by the player, table args etc..., string argStr etc..."

I'm sure there's a function in gmod that changes behavior depending on which type is passed first. That would be hard to document with the above proposal (because adding descriptions is hard this way)

Breaking changes
I guess the "markup/XML way" for this would be adding child elements that annotate more data. However I don't see a way to implement that without omitting backward compatibility for anyone scraping the wiki. Additionally it would require a bunch of work on all sides.
I do believe something like this would work best for the wiki. Since data structured like this could be used by the wiki to generate HTML for developers consulting the wiki manually.
Some mockups of how that could look:

The wiki could detect if an arg element has a type attribute and default to current behaviour. However if it's missing it'll look inside the element for either:

argTypes which contains a set of argType elements of which the user can choose one for this argument:
e.g: for the https://wiki.facepunch.com/gmod/Global.CreateConVar flags argument:

<arg name="flags"
   default="FCVAR_NONE">
   <argTypes>
      <argType type="number">
        <description>Flags of the convar, see <page>Enums/FCVAR</page></description>
      </argType>
      <argType type="table">
        <description>Flags of the convar, see <page>Enums/FCVAR</page> as a table</description>
      </argType>
  </argTypes>
</arg>

argType which contains detailed information on an argument
e.g: for https://wiki.facepunch.com/gmod/concommand.Add callback:

<arg name="callback">
  <argType type="function">
    <description>The function to run when the command is ran.</description>
    <args>
      <arg name="ply"
          type="Player">
        <description>The player who ran the command.</description>
      </arg>
      <arg name="cmd"
          type="string">
        <description>The command that was ran.</description>
      </arg>
      <arg name="args"
          type="table">
        <description>The arguments that were passed to the command.</description>
      </arg>
      <arg name="argStr"
          type="string">
        <description>The arguments that were passed to the command as a string.</description>
      </arg>
    </args>
  </argType>
</arg>

Combination without breaking changes
The wiki could add a new element in root, e.g: <metadata> which contains elements with an id/ref. A new attribute on arg could point to that to indicate there's more information there, e.g:
...
<args>
   <arg name="callback"
        type="function"
        metadata="callback">...<arg>
   ...
</args>
...
<metadata>
   <functionParameters id="callback">...</functionParameters>
</metadata>

However this last option is really oriented on those scraping the wiki, whilst the before mentioned options could also be used by the wiki itself to generate useful html for users of the wiki.

fields and metamethods can be easily created manually
but you need to add some kind of tags to parse the wiki tables (because its just a raw text)
---@class Vector
---@field x number
---@field y number
---@field z number
---@field [1] number
---@field [2] number
---@field [3] number
---@operator add(Vector): Vector
---@operator div(number|Vector): Vector
---@operator mul(number|Vector): Vector
---@operator sub(Vector): Vector
---@operator unm: Vector

@TIMONz1535 Thanks for thinking with us.
I think you've got a point that the way Vector, Color, etc. work is unlikely to change. Perhaps our attention is better spent elsewhere and we can just implement your manually written up definitions in the meantime.
Parsing the markdown table like Vector has is doable, but seems like a waste of time.

I have implemented a scraper friendly definitions for function callbacks:
https://wiki.facepunch.com/gmod/PathFollower:Compute
https://wiki.facepunch.com/gmod/concommand.Add
And for function overloads:
https://wiki.facepunch.com/gmod/Global.Angle
It's currently only on these pages as a test for now.

Wow awesome, thats super useful and a clean implementation! Thanks so much for your continuous work on all this @robotboy655

@robotboy655 I had been looking at the LuaLS plugins, but sadly they're very limited and only seem to output Lua to a LOGPATH/diffed.lua, from their wiki:

Plugins allow you to create a custom syntax that will then be output to a separate file. They cannot be used to report custom diagnostics.

To me, this is a super confusing functionality in LuaLS. If the diffed file was output to a location that would be indexed for LuaLS autocomplete this would make sense, but I can't find that that's the case.

@robotboy655 I'd like to correct my previous statement. It seems I (and the LuaLS docs) were wrong about plugins not being able to customize diagnostics:

I created a plugin.lua in the .vscode directory of my project:function OnTransformAst(uri, ast)
    if (not uri:match("gamemode/cl_init.lua$")) then
        return
    end

    -- I'm not sure what the structure of the AST is, so I'm simply brute forcing my way to demonstrate this is useful
    local function changeAst(ast, level)
	    if (level > 3) then
		    return
	    end

        for k, v in pairs(ast) do
            if (type(v) == "table") then
                changeAst(v, level + 1)
            elseif (v == "Xtest") then
			    ast[k] = "Changed"
            end
        end
    end

    for k, v in ipairs(ast) do
	    changeAst(v, 0)
    end
end

I added "Lua.runtime.plugin": ".vscode/plugin.lua" to .vscode/settings.json
I stop and restart the Lua Language server through the command palette (or by restarting VSCode)
I added a function named 'Xtest' in my gamemode/cl_init.lua
Hovering over the function results in:

This means we can modify diagnostics with plugins however I can't find a way to automatically load the plugin from this addon. Placing the plugin.lua in the addon folder doesn't seem to work for me.

since 3.8.0 they added
NEW plugin: add OnTransFormAst interface (@fesily)
NEW plugin: add OnNodeCompileFunctionParam interface (@fesily)
NEW plugin: add ResolveRequire interface (@Artem Dzhemesiuk)
NEW plugin: support multi plugins (@fesily)
setting: Lua.runtime.plugin can be string|string[]
setting: Lua.runtime.pluginArgs can be string[]|table<string, string>

also some interest part https://github.com/LuaLS/lua-language-server/pull/2484
NEW generic pattern (@fesily)

---@generic T
---@param t Cat.`T`
---@return T
local function f(t) end

local t = f('Smile') --> t is `Cat.Smile`

I thought this was what we needed, but it just refers to the existing syntax in the class. That is, it cannot create "class fields" on the fly.
Well, but I realized that even before 3.8.0 it was possible to get any class through a @generic
---@generic T
---@param metaName `T` The object type to retrieve the meta table of.
---@return T # The corresponding meta table.
function _G.FindMetaTable(metaName) end

local entMeta = FindMetaTable("Entity") -- entMeta: Entity

I've added a small note to the original issue above, it's about adding a way to specify table element types. Right now functions like player.GetAll are documented to return table on the wiki instead of the more complete Player[]. The latter would greatly improve typing on subsequent loops, because lua-language-server would type the array index and elements properly.
Currently the wiki has a structure like this for the return type of player.GetAll
<rets>
	<ret name="" type="table">All <page>Player</page>s currently in the server.</ret>
</rets>

If Rubat has some time in the future and feels that this is worth it, perhaps they could add some attributes similar to this:
<rets>
	<ret name="" type="table" keytype="number" valuetype="Player">All <page>Player</page>s currently in the server.</ret>
</rets>

Another slightly related note, but it would be cool if functions like util.TraceLine could be documented about their structs:
<args>
	<arg name="traceConfig" type="table" struct="Trace">
		A table of data that configures the Trace.

		For the table's format and available options see the <page>Structures/Trace</page> page.
	</arg>
</args>
<rets>
	<ret name="" type="table" struct="TraceResult">
		A table of information detailing where and what the Trace line intersected, or `nil` if the trace is being done before the <page>GM:InitPostEntity</page> hook.

		For the table's format and available options see the <page>Structures/TraceResult</page> page.
	</ret>
</rets>

We don't currently scrape structs, but I'll happily implement it. We could scrape it into classes if we can reference them usefully when typing arguments or return types

I use strict integer types "type.castNumberToInteger": false,, and noticed that some Lua builtin function differ with plugin declarations
https://wiki.facepunch.com/gmod/math.ceil
---[SHARED AND MENU] Ceils or rounds a number up.
---
---[(View on wiki)](https://wiki.facepunch.com/gmod/math.ceil)
---@param number number The number to be rounded up.
---@return number # ceiled numbers
function math.ceil(number) end

vs sumneko's
---
---Returns the smallest integral value larger than or equal to `x`.
---
---[View documents](command:extension.lua.doc?["en-us/51/manual.html/pdf-math.ceil"])
---
---@param x number
---@return integer
---@nodiscard
function math.ceil(x) end

there is no integer for wiki, but we can specify the custom type as you suggested above
oh, there's also @nodiscard


Italian data pre-processor FIRST DRAFT

Thank you for your contribution. Few comments :

Diff should be the difference since yesterday in case the total case is a running sum. I do not know if this data is a daily snapshot or a running sum. But the goal is to have columns where we can see for instance in case of "Recovered" how many reported recoveries happened since yesterday.
please call the workbook as PCM_DPS_COVID19 to know who is the data provider
we move S3 upload to a different place (out from the notebook). Please output PCM_DPS_COVID19.csv as output (same as the basename of the notebook)

Thank you in advance

sorry, the file names are ok, I see it is configurable


chore straight_join is not supported

Proposed changes
Issue Number: close #xxx

we can see that straight_join is not supported
https://github.com/apache/doris/blob/3f202477ec4da962745b4ef4871143e0f08354c2/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4#L412-L422
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

/cc @morrySnow @hf200012

run buildall


SyntaxError in /country/tr

Error in ClashLeaders
SyntaxError in /country/tr
Illegal return statement
View on Bugsnag
Stacktrace
SyntaxError: Illegal return statement:1 -

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
SyntaxError in /country/tr


deprecate no-sparse-arrays rule

TSLint 5.1.0 was just released and it contains the no-sparse-arrays rule, so the rule by the same name in this project can be safely removed when support for TSLint 5.x is released.
http://palantir.github.io/tslint/rules/no-sparse-arrays

FYI, I'm addressing this as part of #354

The title said deprecate, but the git push did a remove.
We need to remove it and it is a major release... so we'll remove it.


How to install and boot on JETSON-NANO-DEV-KIT 16GB eMMC

Thanks for your effort. I'm trying to flashing and boot but there are many failed message.
Here is my setup:

Before flashing your image. My existing system was boot from eMMC then load system from USB card reader

Boot USB Flash Drive (copy eMMC on the system)

Today I just try to flashing your image into the SD card and plug usb reader back but it failed to boot.
Could you help me go through with this Jetson model. Thanks a lot.

Please help


BigQuery: docs for Row.keys, items, values, and get functions.

I forgot to ask for these in https://github.com/GoogleCloudPlatform/google-cloud-python/pull/4393 before I merged.

@tswast For future PRs, can you squash while merging the PR? It's harder to review a PR when I can't tell what you changed when squashing. (Though I definitely feel the seem way, I squash locally a lot because for some reason I care about commit log clutter, even though we are 5500+ commits in to this project.)

Yeah, it is a bit sad about copies. There's definitely a trade-off between safety and performance. Probably better to err on the side of safety.

@tswast Looks like the generators broke the build: https://circleci.com/gh/GoogleCloudPlatform/google-cloud-python/4288
Shall we revert, then re-submit this PR but push the branch to the GoogleCloudPlatform remote so system tests run?

Yeah, let's revert. I didn't think to check the system tests.


IPsec PKCS#11 authentication

[x] Redmine Issue: https://redmine.pfsense.org/issues/9878
[x] Ready for review

Add ability to select and configure PKCS#11 RSA authentication in WebGUI
you need to install packages: ccid-1.4.30.txz, opensc-0.19.0.txz, pcsc-lite-1.8.24,2.txz + dependencies
and uncomment in /usr/local/etc/strongswan.d/charon/pkcs11.conf:
modules {
        opensc {
            load_certs = yes
            path = /usr/local/lib/opensc-pkcs11.so
        }
    }

add <earlyshellcmd>/usr/local/sbin/pcscd</earlyshellcmd> in /cf/conf/config.xml above </system>
successfully tested with Aktiv Co. Rutoken ECP: https://github.com/OpenSC/OpenSC/wiki/Aktiv-Co.-Rutoken-ECP
failed with Alladin eToken PRO 72K Java (uses proprietary pkcs11 library, not available for bsd): https://github.com/OpenSC/OpenSC/wiki/Aladdin-eToken-PRO
tested on pfSense 2.5.0.a.20191028.1945 (SG-1000)
IPsec tunnel with pfSense 2.4.4-p3
also see https://wiki.strongswan.org/projects/strongswan/wiki/SmartCards for reference
WARNING! test it only when pcscd daemon is running, or charon will flood your logs!

@vktg can you please rebase your fork to resolve the conflicts?

tested with Rutoken PKCS#11 crypto token with RSA 2048 key
TODO: more correct way of start/stop service,  Yubikey test

successfully tested with Yubikey FIPS and Yubikey 5

I can add ccid, opensc and pcsc-lite as dependencies of pfSense meta package, what is going to make these packages to be installed on all pfSense instances by default.
But we still need code to start pcscd daemon when necessary and also to change pkcs11.conf

all done


Clean up warnings/log output about broadcast and mavlink interfaces

There are confusing, and too many warnings like
WARN  getting broadcast address failed`

WARN  sending broadcast failed

This needs review, and before trying to broadcast, network_interface_found should be checked.
Reported by @liamstask .

thx! my current setup: on my home network, running sitl_gazebo at f4f1f5f0273ba39af21e5fa98d0513f735005e33.
In Mavlink::init_udp() i see WARN  getting broadcast address failed: Invalid argument from the attempt to get a broadcast address (I added the strerror() detail there locally). Then periodically WARN  sending broadcast failed, errno: 49: Can't assign requested address as it attempts to broadcast with an invalid address.
Connecting QGC on localhost works, since it finds it by getting a response to a HEARTBEAT sent in Mavlink::send_message() on the default remote address. Commenting out the sendto() on the broadcast address allows it to continue working in this way, so seems that we could disable broadcasting if we know that we didn't find a valid broadcast address during init.

@liamstask does e832f7dbf5a180f5ab8d1c2e0a65a39231c45441 fix it for you?

@julianoes it fixes it, in that it prevents the continued printing, but is still essentially a workaround, since it appears the root problem is #4141.
Ideal fix would be to resolve #4141 directly. But if not, seems like a clearer fix would be:

change _broadcast_reported to something like _broadcast_address_valid
set _broadcast_address_valid with the same result that network_interface_found currently gets in Mavlink::init_udp()

In this case, the broadcast would not be attempted to be sent at all if we know we don't have a valid address. There's already an error/warn message when getting the broadcast addr fails, so that should be enough to indicate that there's an issue with broadcasting.

Adressed in various PRs and lastly #5044.


[WAIT] Unexpected EOF error

What does this PR do?
This PR creates a catch-all error for any parse error that occurs because of an unexpected end of file. Some of the EOF cases are already caught in known errors such as some of the various 'Incomplete' errors. However, there are some specific cases where EOF errors are not caught, such as an incomplete string token or an incomplete clause that is currently not modeled for the SOQL builder. Since this is a catch-all error, the logic to recognize it can match other EOF errors, so the error identifier must call this recognition predicate last. This is called out as a comment in the code.
// incomplete string token (no closing ')
SELECT field FROM object WHERE field = '
// incomplete unmodeled clause (GROUP BY not yet modeled for SOQL builder)
SELECT field FROM object GROUP BY

Previously, these cases resulted in an unknown error, and the original unfriendly error message generated by the parser was shown. The recognized error message is: 'Unexpected end of file.'
What issues does this PR fix or reference?
@W-8794016@

Before we merge this, let's figure out what Matt wants to do to display these.


Slash Command Dispatch workflow run failed for master branch

I got a notification saying

Slash Command Dispatch workflow run failed for master branch

immediately after commenting on this PR.
Clicking on the notification redirects me to this action. As far as I see, some action was supposed to be triggered by my comment, but did not. Is there something misconfigured and might this be related to the failing PR?

I think we need to update our CI integration here. Best is to take it from IUC: https://github.com/galaxyproject/tools-iuc/tree/main/.github/workflows

Never worked with GitHub actions before. Is it fine to just copy the files, or is there anything that needs to be adapted?

Yes, just copy the files, 3 lines needs to be changed, but I can do that.

@bgruening PR #57 brings the new files, but I think four lines of code needed to be changed (not three), see cfab54420a1af8b8595aa911e70fe3067e0f7a18. Can you maybe briefly review the changes?

Three was just a guess ;) Too old to remember exact numbers ;)

We do not use slash here in this repo (yet) and the token as missing. I removed it. We can add it later if we need it.
Thanks @kostrykin


x/pkgsite: flag to open browser

When running pkgsite locally it would be great to have a command line flag to automatically load the site in the users browser.

cc @golang/pkgsite


fix: Improved searchbar user interface

Improved search bar user interface with the below changes.
Before:

After:

This pull request closes #1167 .

Hi @anuragverma108 and @PriyaGhosal ,
I updated the searchbar after pulling latest change. Please review it and merge it under hacktoberfest.
Thank you.


Changing cursor shape in vim

Hi, I am trying to change the shape of the cursor based on the mode in vim.
The wiki suggests to add this to my vimrc:
let &t_SI = "\<Esc>[6 q"
let &t_SR = "\<Esc>[4 q"
let &t_EI = "\<Esc>[2 q"
http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes
It specifically mentions st, so I tried it, but it doesn't work. Any idea why?

@vikigenius What did you do to get it working using the tmux escape sequence?

@masaeedu Spent wayyyyyy too long trying to figure this out. I added st.termname: st-256color in my .Xresources and it works!
I may be completely wrong here, but my understanding is that st doesn't report the termcaps for cursor shape correctly. Vim has exceptions for such terminals and overrides their termcaps. Masquerading as st now allows vim to apply the fix.

in xst itself i have default value, xterm-256color, in tmux -- screen-256color
(if it would be helpful for anybody)
regarding caret shape in vim: https://github.com/actionless/dotfiles/blob/master/vim/.vim/caret_shape.vim


How to use popup in another popup

Hi,
I have app component, where i have used ng2-popup directive to open a popup using ComponentA.
Now i need to open another popup called ComponentB from ComponentA. I tried but it replaces ComponentA with ComponentB which does not work in my scenario.
Ex: I open a popup Employer Component and then i have a button, clicking on it should show list Employees. How can i do this?
Can anyone help me here!!!

Thanks for asking, but this feature is not supported, and I highly do not recommend to open a popup inside a popup.


Removed references to sidebase

Do not merge. This branch is for the create-nuxt3-app templates!

closing this for now. We can re-open this if we want to piock this up again, e.g., via create-nuxt3-app


⚠ deprecated<EMAIL_ADDRESS>in<EMAIL_ADDRESS>

Vue version
3.2.47
Link to minimal reproduction
https://github.com/Valexr/slidy/tree/master/packages/vue
Steps to reproduce
Just nmp install or update packages
What is expected?
No warnings
What is actually happening?
Warnings
System Info
Not important

Any additional comments?
Up<EMAIL_ADDRESS>-> 0.30.0 in<EMAIL_ADDRESS>&<EMAIL_ADDRESS>

#7329


Adding support for multitag

Adding exec function for card:
https://trello.com/c/Yl4qomsw/878-5-additional-jenkins-plugin-enhancement-requests-from-github
ptal @gabemontero @bparees
Enabling the following forms:

1 destination stream and 1 destination tag   (i.e. single tag applies to single stream)
1 destination stream and N destination tags   (i.e. all tags apply to the same stream)
1 destination tag and N destination streams	(i.e. all streams will get the same tag)
N destination streams and N destination tags	(i.e. each index will be combined to form a unique stream:tag combination)

Oh, just noticed the default test failure after my review comment.  We'll need to look into that as well prior to merging.

Looks like the extended test set up failed @jupierce - see if this is a known flake or not in openshift/origin

@gabemontero I hand tested multi-project/multi-token configs. Looks good so far, but will need to implement extended tests to be sure those work on new 1->N and N->N variants.

@jupierce roger that - sounds good.

[test]

rebasing for conflict

@gabemontero PR test flake has been addressed.

Cool - thanks for the confirm @jupierce
On Thu, Oct 6, 2016 at 11:12 AM, Justin Pierce<EMAIL_ADDRESS>wrote:

@gabemontero https://github.com/gabemontero PR test flake has been
addressed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openshift/jenkins-plugin/pull/71#issuecomment-251992831,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADbadGe7B1YVThLUN7niYvfwAdWj1fFjks5qxQ_KgaJpZM4KOHIi
.


[ja] Add translations for dockershim related contents

This is a Feature Request

What would you like to be added

Add japanese translations of the contents listed below:

{{% dockershim-removal %}} block
Dockershim Removal FAQ
Check whether Dockershim removal affects you

Why is this needed
Comments

ref. #39125

Now I'm working on this

/assign

/language ja


Expose UNSTABLE container for RSP overlays

Closes
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

I need to add DialogContainer


Progressive JPEGs start to show on pages faster, from low quality and eventually getting their 100% ...

Pregressive JPEGs start to show on pages faster, from low quality and eventually getting their 100% quality
Support differs in <img> and background-image. Some support info: http://calendar.perfplanet.com/2012/progressive-jpegs-a-new-best-practice/

This issue was imported from Google Moderator
Moderator votes: +4
Issue added by bonfable on 2014-10-03
To vote this issue up or down, simply include +1 or -1 in your comment.

+1
Typo in the title though, should be "progressive" :)
Another link: http://blog.patrickmeenan.com/2013/06/progressive-jpegs-ftw.html

+1
Though Safari now renders PJPEG as of 8.x (tested myself on my iOS 8.4.1 iPhone), I'd still like to see what browsers render in background (see OP).

+1

+1

+1 as well, closest think you can see is maybe the wiki page: https://en.wikipedia.org/wiki/Comparison_of_layout_engines_(graphics)#JPEG_support
pjpg will work in almost every except a few IE browsers (it will still load, just not progressive)

Suegessted in 2015 and still not added, hope this will be added


Setting card params programatically

Is your feature request related to a problem? Please describe.
I would like to use a card scanner to enter card details into a CardField, specifically on ios. It's something our customers have requested.
Describe the solution you'd like
A method on CardField ref that allows me to set the card params programatically.
It would also be cool if you made a react native component for stripes ios scanner, but I understand that it's probably not a priority.
Describe alternatives you've considered
I can patch it myself, but it adds extra work when I have to update the package in the future. I have looked at the payment sheet that has the card scanner built in, but it unfortunately doesn't fit our use case in other regards.

This is a feature which needs to be implemented in stripe-ios at first.
@csabol-stripe @yuki-stripe do you have any plans for such functionality?

@arekkubaczkowski is even for just the "ref" it is needed to be implemented in stripe-ios first ?

+1
Use case:

Our QA process involves testing a wide range of cards as provided at https://stripe.com/docs/testing (ie. Mastercard debit, Visa credit card, card that fails with incorrect_cvc, etc.)
Instead of having to manually enter the 16-digit card number, expiry date, and cvc every time, it would be nice to have a dev tool containing a list of cards with the card details from fixture data so that a QA user can easily select a card and test its outcome.

Yes, the combination of card scanner feature and CardField component could be useful for our solution too. Do you have any plans about it?


[$250] [Accessible Pressables] Migrate ReportDetailsPage to accessible pressables

Migrate ReportDetailsPage to new pressables
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~012477e6a2bf0a4d54
Upwork Job ID:<PHONE_NUMBER>985648128
Last Price Increase: 2023-06-12

@roryabraham could you please assign me this task, I would like to work on it, thanks.

I would like to work on this issue

@roryabraham Hi, as an expert contributor from Software Mansion I'd like to get this issue, can you assign me to this one, please?

Reassigning, team change

@roryabraham @0xmiroslav  LMK who we should go with here, and happy to assign someone!

Ah, okay sounds good. Closing!


[zh] Add concepts/signals/_index.md

content/zh/docs/concepts/signals/_index.md

@open-telemetry/docs-zh-approvers PTAL!


Automatic destroy all charts on turbo:before-render causing issues

Currently Chartkick.js automatically adds a listener which removes all Chartkick.js charts upon turbo:before-render event. Unfortunately it is causing issues when there is a turbo form with data-turbo-frame and data-turbo-action specified. The latter causes that turbo:before-render is fired, and even though only contents of a single frame were updated, charts on the whole page are destroyed.
Frankly speaking, there is a chance that it is a Turbo bug, but at least from our point of view it was easier to fix that on Chartkick.js side, by disabling the automatic turbo:before-render and adding a code which removes charts in a different way (see the comment).
Anyway, maybe it is worth to check it, or at least provide some easy option of disabling automatic turbo:before-render listener?

We are cleaning up not displayed charts using Stimulus. First we change the HTML template to use the stimulus controller like this:
Chartkick.options[:html] = %(
%{loading}
)

And here is the stimulus controller defined in chartkick_cleanup_controller.js file:
import { Controller } from 'stimulus'

export default class extends Controller {
  disconnect() {
    const chartId = this.element.id;
    if (Chartkick.charts[chartId]) {
      Chartkick.charts[chartId].destroy();
      delete Chartkick.charts[chartId];
    }
  }
}

That approach is pretty simple and guarantees that charts which are no longer displayed are correctly destroyed.

Hey @ocher, thanks for reporting! Unfortunately, I don't see a way to tell if the event will re-render the entire page or just a frame. Just pushed the ability to set:
Chartkick.configure({autoDestroy: false})

to the auto-destroy branch. Let me know if that works for you.

Hi @ankane, thank you for the response. Yes, I think that such option will be very helpful. 👍🏻

Sorry, meant to follow up. The autoDestroy option was released in 4.2.0. Thanks again for reporting @ocher!
@elalemanyo I'm not sure how to reproduce (and don't have the bandwidth to help with app-specific issues), but hopefully the option helps.


Dialog and few other components not working

i just created a fresh project to test out material tailwind few of the components (like buttons) worked but as soon as i add dialog component from example it throws this error
i was using react 18 project with typescript

Rolled back to 1.0.3 and it works there

Hi @ashfahan,
I've tested the project and it's an issue with the CRA based applications and I will fix it very soon.
All the best,
Sajad


Unable to build rock dkms for custom kernel

What i did:
rpm -ivh rock-dkms-4.3-59.el7.noarch.rpm rock-dkms-firmware-4.3-59.el7.noarch.rpm
dkms build -m amdgpu -v 4.3-59.el7 -k 5.12.0
where 5.12.0 is a custom kernel
I got:
https://pastebin.com/AYf7DmTB
"gcc: fatal error: cannot specify -o with -c, -S or -E with multiple files"
I investigated a little up to the running make with debug and i know it's running something like:
https://pastebin.com/sSYqWppF
and the problem is -I./include ./include/linux/compiler-version.h stanza which incorrect in terms of syntax, but now i'm struggling to figure out where it's coming from in makefiles.
I know that this problem was reported relatively recently for ubuntu as well.
https://github.com/RadeonOpenCompute/ROCm/issues/1125

Thanks @tsipa for reaching out.
I recommend to open issues specific to kernel @ https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver as they are handled separately.
I found that you already filed a ticket there: https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/pull/117
So no pending action item is here and hence I am closing this issue.
Feel free to open a new issue, if any. Thank you.

Hi @tsipa
Good news. Some flags need to be enabled w.r.to newer versions of GCC.
Work is completed and changes are pushed into internal builds. It will be part of next ROCm versions like ROCm 5.0(most likely).
Thank you.

Closing this issue as work is completed back in Nov 16, 2021.


Issue with map fields when clustered short options are disallowed

Description
When clustered short options are disallowed with
CommandLine.setPosixClusteredShortOptionsAllowed(false)
specifying arguments for map fields as follows
-Pmyprop=myvalue
fails with the exception
picocli.CommandLine$UnmatchedArgumentException: Unknown option: -Pmyprop=myvalue
The space is now required between -P and the key-value pair.
-P myprop=myvalue //works
Is this the expected behaviour? IMO, map fields are different from other fields, and it would be useful to have the support for the former even when clustered short options are not allowed.
Version
3.3.0

I went ahead and posted this question on StackOverflow.

@remkop sorry about the delay in responding. The current behaviour is OK, just wanted to clarify if this was the expected behaviour.
Should we maybe include this in the documentation too, since all possible ways of specification are mentioned in the example?
Thank you!

@MaryamZi No worries, glad to hear the current behaviour is ok.
Good idea to clarify the docs. I will add a note to the https://picocli.info/#_posix_clustered_short_options section.


[FIX JENKINS-46190] Fix NPE since case insensitive matching

https://issues.jenkins-ci.org/browse/JENKINS-46190
Originally introduced in https://github.com/jenkinsci/matrix-auth-plugin/pull/9 (1.7, June 2017)
@jenkinsci/code-reviewers

CC @mathias-nyman assuming you're maintaining this.

I am not maintaining this. I merely scratched my own itch some time ago.


re-fix syntax in config file array

A recent pull request seems to have mistakenly reintroduced the syntax issue.  Re-fixing.


Update menu suggest to update to wrong version

Describe the bug
The same issue we had here: https://github.com/aspnet/LibraryManager/issues/359, but it is happening in the update menu
To Reproduce
Steps to reproduce the behavior:
Use the update menu to update the Prism library.
Expected behavior
The latest version is 1.24.1. But it suggest to instal v9000
Screenshots

This is using cdnjs, right?  It looks like they believe there is a version 9000 of that package: https://cdnjs.com/libraries/prism/9000.0.1.  Can you try following up with them directly on https://github.com/cdnjs/cdnjs/issues to see where they're getting it from?  We just reflect the data that they provide.

Yes, there is a version 9000, but the correct way to get the latest version is looking at Version property, more details in the issue I mentioned above


Wrapping up possible crashes

I've searched through the code places where we have one these:

"unwrap" usage - can cause panics
assertions in parameters check - can cause panics
direct calls of "panic!"

First of all I've checked in each case if the correct values are guaranteed by the previous checks or function description and skipped if correctness guaranteed.
In all other cases where possible I have changed these things to return Err in result and changed the functions APIs when needed.
In cases where panic is still possible but I am not sure if correctness is guaranteed and if I can change the functions APIs I have added comment "// TODO: possible crash"
Also everywhere I have add new errors I have added comment "// TODO: check error message" to review the error messages for each case

I've rechecked comments, seems everything is done. Also I have reviewed the ginger-lib in general and I have deleted rest of TODOs, and wrapped ".expect" like described in sc-cryptolib


WebSocketHandler and WebSocketConnectionManager lifetime

Hi,
Any reason to set the WebSocketHandler service as a Singleton and WebSocketConnectionManager service as transient?
From my point of view WebSocketConnectionManager should be a Singleton and WebSocketHandler a transient or scoped service as the entry point for the websocket is the handler, we don't have to keep it as a singleton but allow other scoped DI to be used inside the handler (like for EF #68 - #72)
To be able to keep mapped route to specific handler, I tried to give to the middleware the handler type (like app.MapWebSocketManager<ConnectionHandler>("/connection");) and calling var webSocketHandler = (WebSocketHandler)serviceProvider.GetService(_handlerType); directly in the middleware Invoke function.
This is working fine but I don't know if it's the best way to do runtime dependency injection setup.
Regards

I totally agree with you

I totally agree with you


Bind Nuke with ios .net6 project

To be able to use Nuke with MAUI, we need to copy the Xamarin.Nuke project, and use ios-net6 target.
Then adapt the github actions to compile and publish the package to nuget.
@Cheesebaron do you think you will have time for that? Thanks pal :)

Was looking into this a bit. Opening up pandoras box.
Currently we are building fat libraries, from the results produced for iphone (arm64) and iphonesimulator (x86_64). However, the latter is not really available anymore, especially when compiling on a M1 machine with latest Xcode. So now the product for iphonesimulator becomes arm64...
Lipo, the tool that produces the fat library now complains that it cannot combine two arm64 libraries, which makes sense.
I think no matter what we need to look into how to switch to xcframework instead of embedding fat libraries to continue this proxy library. I already tried wandering this route before, without a lot of success.

There is some good info here on how to make xcframework work: https://github.com/xamarin/xamarin-macios/issues/10774

@Cheesebaron / @roubachof Not sure if its helpful here, but I have an example of generating some xcframework bindings I put here: https://gist.github.com/J-Swift/f30b7aa92ac7ca1bee0b5df142d945ae
It has a little bit of a reliance on how my specific project structure is setup, but that shouldn't be too bad. It was verified working at one point in Maui p13 timeframe, but I haven't re-tested since.


[PE-D][Tester B] UI for nurse and patient can be differentiated

Is it really necessary to put Homevisits and unavailable dates for all patients to put NA and put HomeVisits Dateslots for all nurses to put NA?

Labels: severity.Low type.FunctionalityBug
original: bigcrushes/ped#11

This is a feature flaw


Fix for reversed rows in make_tsqueryresp output.

The cell/row order is correct going into assemble_records, but the row order is reversed on the way out.

@borshop merge


Prisma node_modules files are very large

Bug description
Prisma in node_modules is occupying quite a bit of storage on heroku. See:
39M<EMAIL_ADDRESS>39M	./node_modules/prisma/libquery_engine-debian-openssl-1.1.x.so.node
39M	./node_modules/.prisma/client/libquery_engine-debian-openssl-1.1.x.so.node
36M<EMAIL_ADDRESS>36M<EMAIL_ADDRESS>36M<EMAIL_ADDRESS>36M	./node_modules/@prisma/sdk/dist/get-generators/engines/461d6a05159055555eb7dfb337c9fb271cbd4d7e
36M	./node_modules/@prisma/sdk/dist/get-generators/engines
36M<EMAIL_ADDRESS>35M<EMAIL_ADDRESS>32M<EMAIL_ADDRESS>32M<EMAIL_ADDRESS>29M<EMAIL_ADDRESS>
How to reproduce
Prisma 4.0
Expected behavior
No response
Prisma information
Prisma 4.0
Environment & setup

OS: Heroku Dyno
Database: PostgreSQL
Node.js version: 16

Prisma Version
prisma                  : 4.0.0
@prisma/client          : 4.0.0
Current platform        : debian-openssl-1.1.x
Query Engine (Node-API) : libquery-engine da41d2bb3406da22087b849f0e911199ba4fbf11 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli da41d2bb3406da22087b849f0e911199ba4fbf11 (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core da41d2bb3406da22087b849f0e911199ba4fbf11 (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt da41d2bb3406da22087b849f0e911199ba4fbf11 (at<EMAIL_ADDRESS>Default Engines Hash    : da41d2bb3406da22087b849f0e911199ba4fbf11
Studio                  : 0.465.0
Preview Features        : interactiveTransactions

Do you have @prisma/sdk installed explicitly in your project?

@janpio nope

What entries are in your package.json concerning Prisma?
What tool are you using to install your dependencies?

@janpio using yarn 1 to install. What you mean entries?

Entries in dependencies or devDependencies.
Can you reproduce this problem in a new project? If so, could you upload it to GitHub so we can reproduce this ourselves?

This is a new directory, with only prisma in it:
{
  "dependencies": {
    "@prisma/client": "^4.0.0",
    "prisma": "^4.0.0",
    "prisma-docs-generator": "^0.5.0"
  }
}

Running du on all node_modules
> du -sh node_modules/* | sort -sh

 60K	node_modules/ignore
 60K	node_modules/is-ci
 60K	node_modules/minipass
 60K	node_modules/safer-buffer
 60K	node_modules/tmp
 64K	node_modules/emoji-regex
 64K	node_modules/function-bind
 64K	node_modules/glob
 64K	node_modules/micromatch
 64K	node_modules/send
 72K	node_modules/archiver
 72K	node_modules/compress-commons
 72K	node_modules/mime
 72K	node_modules/whatwg-url
 76K	node_modules/braces
 76K	node_modules/commander
 76K	node_modules/human-signals
 76K	node_modules/shell-quote
 80K	node_modules/execa
 80K	node_modules/fastq
 84K	node_modules/body-parser
 88K	node_modules/semver
 92K	node_modules/bl
 96K	node_modules/buffer
108K	node_modules/type-fest
112K	node_modules/http-proxy-agent
112K	node_modules/picomatch
112K	node_modules/readdir-glob
120K	node_modules/debug
120K	node_modules/temp-write
132K	node_modules/https-proxy-agent
136K	node_modules/agent-base
148K	node_modules/yargs-parser
164K	node_modules/node-fetch
180K	node_modules/readable-stream
188K	node_modules/object-inspect
196K	node_modules/tempy
216K	node_modules/mime-db
224K	node_modules/meow
228K	node_modules/fs-jetpack
232K	node_modules/tar
240K	node_modules/@timsuchanek
244K	node_modules/express
248K	node_modules/archiver-utils
248K	node_modules/fast-glob
256K	node_modules/@babel
256K	node_modules/qs
260K	node_modules/@nodelib
264K	node_modules/lazystream
272K	node_modules/tr46
276K	node_modules/ansi-escapes
292K	node_modules/prisma-docs-generator
308K	node_modules/ts-pattern
312K	node_modules/normalize-package-data
312K	node_modules/uuid
396K	node_modules/iconv-lite
400K	node_modules/prompts
420K	node_modules/resolve
692K	node_modules/read-pkg
860K	node_modules/checkpoint-client
1.0M	node_modules/undici
1.1M	node_modules/async
1.8M	node_modules/@types
3.6M	node_modules/prismjs
5.6M	node_modules/fp-ts
 98M	node_modules/prisma
197M	node_modules/@prisma

Running du on node_modules
> du -sh node_modules
324M	node_modules

Same here
{
  "dependencies": {
    "@prisma/client": "~4.3.0",
    "prisma": "~4.3.0",
  }
}

$ du -sh node_modules/* | sort -sh
...
 99M	node_modules/prisma
221M	node_modules/@prisma

Same here, would like to know why the size is so large?

Amongst other things, this large binary is in multiple places (not symlinks)
$ find node_modules/@prisma/ -name 'libquery_engine-debian-openssl-1.1.x.so.node'
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
du -sch<EMAIL_ADDRESS> 40M<EMAIL_ADDRESS> 40M    total

I created and merged a PR about @prisma/internals which included unneeded artifacts.
This is usually not an issue for Prisma users, as @prisma/client and prisma CLI packages bundle dependencies and do not include these artifacts.
But this is an issue when you have a direct dependency on @prisma/internals (previously @prisma/sdk) in your dependency graph. So either in your package.json or in the package.json of one of your dependencies, for example, prisma-docs-generator has a direct dependency on it and is affected.
@prisma/internals unpacked package went from 124.4 MB to 395.4 kB as a result of the PR (will be in next 4.8.0 release planned for December 20th)

Today's release 4.8.0 has significantly (average 50%, on some platforms even more) decreased the size of our engine files:

Improved serverless experience — smaller engines size
In this release, we have decreased the size of our engine files by an average of 50%. The size of the Query Engine used on Debian, with OpenSSL 3.0.x, for example, went from 39MB to 14MB. We will also remove some smaller engines to decrease the total size in future versions.
Additionally, we have started optimizing how the Prisma schema is loaded in Prisma Client. You should notice a considerable improvement when executing the first query if you're working with a bigger schema with many models and relations.
We will continue investing in this direction in the next releases and further improve the experience with Prisma and serverless environments.

https://github.com/prisma/prisma/releases/tag/4.8.0
We know we still have duplicated engine files in multiple locations, and that we are including too many of our engine files - but this was the obvious place to start and we are happy how significantly we could improve the situation already. Expect more updated like this in the coming releases from us.

As written before, we have reduced the size of our engines a lot and as far as we know, this solved this problem for most our user and their use cases. Hence I am closing this issue for now.
If you and your project are still having problems because of the remaining size of our engines, please open a new issue and describe your situation - we are happy to take a look and hopefully fix that. Thanks!


Better/more examples in the styleguide

Right now the styleguide is pretty barebones — it’s more for VRT than as documentation. Add better & more examples of more real-world usages?

Also: make use of sg-wrapper to ensure the example markup only contains the markup for the element in question, none of the setup needed around it.

I think the styleguide is doing it's job for the intended target audience.
The bitstyles are so low-level, it's hard to get fancy in the styleguide. What we could do is creating demo designs like Bootstrap does, but even those would be either very bland to look at, or require so much additional code they'd lose their value as examples.

The intent is to improve the examples and introductions/descriptions rather than provide examples of how a complete page may look. I feel much of our docs are currently unclear (especially to readers first encountering the codebase). Ideally a reader will be able to:

get a clear overview to assess whether the library is suitable for them
understand the appearance/output/functionality of any given object/mixin/whatever
quickly understand the examples (currently many have a bunch of boilerplate around the kernel of the example).

To this end I’d suggest:

Remove any boilerplate markup out of the KSS markup field, into the sg-wrapper
Add one-line summaries to encapsulate the purpose of each object in emphasised text at the head of each styleguide page
Rewrite the descriptive text for clarity & specifics
Document the variables used in each object.


Implement operator != on Pool*Array types

These types previously had equality checks but not inequality checks.
Add these too.
This fixes #11466

I think this is all OK now.


Increasing crashes after carto v4.4.0

Hello
We are seeing lots of native crashes on firebase after upgrading to Carto v4.4.0 and upper versions. There is nothing in common among crash reports such as the Android version, Device model, etc and we couldn't detect a pattern to reproduce the crash. (It seems that most crashes happen in Android 11)
The stack trace is also showing nothing to follow except that the crash is coming from the Carto lib. I've posted two sample crash reports here, I hope it helps to find the issue. Can you help to find the issue?
signal 7 (SIGBUS), code 1 (BUS_ADRALN)
backtrace:
#00  pc<PHONE_NUMBER>2bf148  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==/==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2bd0f7  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1e8d61  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1c6d6b  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1b631d  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1b12e9  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1feb9b  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1dc8b3  /data/app/~~8SmD0rCzP7w0vRKwEN2i3A==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>0b0567  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
#00  pc<PHONE_NUMBER>066b37  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
#00  pc<PHONE_NUMBER>15d5b6  /data/app/~~oAX2awonvb-1bs1mV5gkBA==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2cc4ad  /data/app/~~oAX2awonvb-1bs1mV5gkBA==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1e8a3b  /data/app/~~oAX2awonvb-1bs1mV5gkBA==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1c4743  /data/app/~~oAX2awonvb-1bs1mV5gkBA==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1e042d  /data/app/~~oAX2awonvb-1bs1mV5gkBA==//lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>13b173  /data/app/~~oAX2awonvb-1bs1mV5gkBA==//oat/arm/base.odex (art_jni_trampoline+130)
#00  pc<PHONE_NUMBER>340853  /data/app/~~oAX2awonvb-1bs1mV5gkBA==/oat/arm/base.odex (com.carto.ui.MapView.onDrawFrame+138)
#00  pc<PHONE_NUMBER>53c765  /system/framework/arm/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.guardedRun+3284)
#00  pc<PHONE_NUMBER>53ce41  /system/framework/arm/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.run+184)
#00  pc<PHONE_NUMBER>0d3bd5  /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68)
#00  pc<PHONE_NUMBER>4f8681  /apex/com.android.art/lib/libart.so (art_quick_invoke_stub+280)
#00  pc<PHONE_NUMBER>12c29f  /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+142)
#00  pc<PHONE_NUMBER>404371  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValuesart::ArtMethod*(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+372)
#00  pc<PHONE_NUMBER>40447f  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+42)
#00  pc<PHONE_NUMBER>44688f  /apex/com.android.art/lib/libart.so (art::Thread::CreateCallback(void*)+1090)
#00  pc<PHONE_NUMBER>0ab1fb  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
#00  pc<PHONE_NUMBER>063ced  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
Thanks

Both log snippets refer to 'arm' architecture which means crashes on old 32-bit devices. Are all crashes related to such devices or are there some reports for 'arm64' devices? In order to proceed, we need to narrow this down as much as possible.

@mtehver Thanks for the reply. The crashes are coming from Android SDK 29,30,31  and some of the devices are Samsung Galaxy A10s, A51, A30s, A50 Which are not old devices.

@safe-bug Right, these devices are definitely arm64 devices. Can you share any crash logs on these newer devices that come from the latest SDK build (4.4.4)?

@mtehver The only crash log data that we have is the stack traces I posted, these are the stack traces that we see in Google Play Console. Is there any other way that we could collect more crash logs for this case? (We can't reproduce the crash on our devices)

@safe-bug Do you know exact SDK version used in the app for the crash logs? Also, device models could be helpful.

@mtehver Yes, Here's the stack traces, SDK version and device models:
signal 7 (SIGBUS), code 1 (BUS_ADRALN)
Carto SDK: 4.4.3
Samsung Galaxy A01
Android 11 (SDK 30)
backtrace:
#00  pc<PHONE_NUMBER>2d484c  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2d2699  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1f605d  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1d1fe1  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1bf8d3  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1baa75  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>210b23  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>1e9a77  /data/app/~~gAdohKsYsR7ns_m6FQWiYA==/lib/arm/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>0b0547  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
#00  pc<PHONE_NUMBER>066b17  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
Carto SDK: 4.4.0
Samsung Galaxy A21s
Android 11 (SDK 30)
backtrace:
#00  pc<PHONE_NUMBER>41179c  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>40d7fc  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2f3984  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2c98fc  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2b490c  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2ae6c0  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>30cb2c  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>2e4cc0  /data/app/~~SHNfXRpu7CEYZvr5Dqi8nA==/lib/arm64/libcarto_mobile_sdk.so
#00  pc<PHONE_NUMBER>0eb7a8  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
#00  pc<PHONE_NUMBER>08bc8c  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

@safe-bug Thanks. Unfortunately I did not keep symbol mapping from these builds. I tried to retroactively build SDK 4.4.3 and match it with the logs, but results do not make much sense, likely there is a minor change in the build environment that causes this.
I plan to release SDK 4.4.5RC1 in a week or two and keep the symbol mapping for this build. If you are willing to upgrade to that version (and report back the latest stack traces), then we could get more useful info to investigate this further.
Also, it seems that Galaxy A01 uses 32-bit ARM target, while its CPU is 64-bit. This is quite strange and should not normally happen.

@mtehver Sure, I will wait for the 4.4.5RC1 release and send the stack traces for you. Thank you

@safe-bug I have now published 4.4.5RC1. The changes are relatively small, so it should be quite safe to use in a production app.
As I am keeping full symbol info for it, any stack traces with this version should pinpoint to the crash location.

@mtehver Thanks, but I noticed that we've made some modifications in Carto source code for some of our use cases and your symbol map won't be the same as our build. Am I right?

@safe-bug If you are using custom builds, then we are not able to map stack traces to source locations. I created a wiki page describing the steps you need to do yourself: https://github.com/CartoDB/mobile-sdk/wiki/Analyzing-native-crashes-on-Android
Once you have any crash log mapped to a source location we can take a closer look at it.

@mtehver Sure, Thanks a lot

@safe-bug Any updates on this? I am planning to release SDK 4.4.6 in a few weeks, so if there is some additional data, I could take a closer look now.


Advertising/Managing/General Unabridged problem

OK, so I started up a new world the same way I always have, which is to pop open the AT Launcher. There are a ton of bugs and glitches, so I decide to start ripping apart the configs.

"Make sure you're on the latest version of the modpack."

Then I Google Unabridged and find b17, where I've been playing r15. There is no information on the Github or the subreddit about where you're supposed to get the most recent version of the pack. I saw someone report an issue with R16 on the subreddit, which is amazing because I still haven't find those files ANYWHERE online.
Minecraft version:
I get that it's been a long time since peak activity, and a lot of the contributors rotate in and out, but even when we're here we are all interested in different versions of the game. So then updates aren't really done.
Issue Description:
So the pack is hidden, only one version of Unabridged is updated at a time, and the contributors have lives.
Proposed Solution

Update the subreddit to tell people which version of the pack is the most recent, and where to get the most recent version for each release. I can do that, but I'm not 100% sure I know where the pack is being distributed from anymore.

We have a few groups of players who are really dedicated to Unabridged, and we don't all play on the same version. I think we should recruit a moderating/design team from people who keep coming back to this pack. Make sure that there is representation for each version of Unabridged (or at least 3 & 5, which seem the most active).

Aggregate the passwords to everywhere the pack has presence (AT Launcher, Curseforge, Github, etc.), and give them to each member of this team. The goal of this is so that it increases the chance that someone is paying attention to Minecraft whenever a bug arises. As of right now, I am a moderator of the subreddit, but nothing else so the pack is dead in the water until someone comes back and sees me screaming into the void. I have to imagine that I'm not the first person who has encountered this problem.

I would like to be one of the people who has access to update the pack and how it's distributed. I have contributed more than the stats here indicate. When I started, I didn't know how to use git so I would give updated configs directly to BBoldt. I would also talk with BBoldt about updates and mods and the like. I ran a server for Unabridged 3 from my computer for a couple years which allowed anybody to join, so I've met a lot of the people who play this pack. I only play Unabridged 3, and in fact, I have very limited experience past Minecraft 1.7.10, so I'd be completely focused on that. Curseforge says we're back in beta, so it would be nice to have someone testing and updating the pack.

I have a concussion, so I hope that this is legible and makes sense.

Agreed, I'll work on making things more clear, especially about what versions of the pack exist and were worked on last.
I like the design team idea, I don't know how to go about recruiting people for that though, maybe the subreddit? I know a few people but they've likely moved on. As of this posting the design team is now you and me.

The subreddit is updated with correct information, new discord server, twitter, and new release of Unabridged 3.18.3 on both ATLauncher and CurseForge.
Switched Unabridged to semantic versioning.
Unabridged 3.18.3 is Unabridged 3 for 1.7.10, Release 18, Hotfix 3.
Unabridged 5.4.1 is Unabridged 5 for 1.12.2, Release 4, Hotfix 1. (currently unsupported)
All future releases will follow semantic versioning to reduce confusion.
Unabridged 3 is currently the only supported version. Supported versions may change in the future. If I focus on anything next it will be Unabridged 6 for 1.16.4. Unabridged 4 & 5 were never really finished and I don't think they are worth more effort in their current state, they would need a big re-imagining.
I don't think we need to setup a team to maintain a 5 year old modpack, there isn't much to do or that can be done for it at this point. I am totally open to collaboration via pull requests or solving issues here on github. We can do things like add more compatibility between mods with crafttweaker scripts, further fine tuning the configs, and adding new content using existing tools in the pack.
Links
Twitter: https://twitter.com/bboldtabridged
Discord: https://discord.com/invite/wV3jFx7F2e
Reddit: http://www.reddit.com/r/MinecraftUnabridged/
Atlauncher: https://www.atlauncher.com/pack/MinecraftUnabridged
CurseForge: https://www.curseforge.com/minecraft/modpacks/unabridged-iii


fix: prevent issue with leading hyphen in package name - fixes #1429

Type:
bugfix
The following has been addressed in the PR:

Prevent issue with leading hyphen / dash in package names

Description:
It seems the handling and passing of routes and paths changed. Depending on where we are (-/ping or -/web/detail/kleur) we either geht - or kleur. If the package contains a leading hyphen / dash this did not work as it was handled as internal couchdb route (using the charAt(0) check).
Resolves #1429

It seems at least one CI check fails here, not sure why. Is this new?
https://github.com/verdaccio/verdaccio/pull/1636/checks?check_run_id=366069732
git checkout --progress --force a87309f500b9d51c631788dc8cd37695148cc588
##[error]fatal: reference is not a tree: a87309f500b9d51c631788dc8cd37695148cc588
Removed matchers: 'checkout-git'
##[error]Git checkout failed with exit code: 128
##[error]Exit code 1 returned from process: file name '/home/runner/runners/2.163.1/bin/Runner.PluginHost', arguments 'action "GitHub.Runner.Plugins.Repository.v1_0.CheckoutTask, Runner.Plugins"'.

@juanpicado

Cool and Interesting, could you give me some examples how that make a different? I'm a bit lost.

@DanielRuf fixed ...

Cool and Interesting, could you give me some examples how that make a different? I'm a bit lost.

See /-/ping and try yarn add @ember-data/-build-infra or npm install @ember-data/-build-infra.


Fix assumptions about specialization constants in image and builtin validation

Followup to #1403. In #1422 @atgoo mentioned similar assumptions that led to the bug are made in validate_image and validate_builtin. These checks should get similar treatment to the fix for #1403.

Places to update:

validate_image.cpp line 436
validate_builtins.cpp line 677


Behavior of returning nullptr not explained clearly

In my application there are some cases where I'm returning pointers to objects from bound C++ functions like so:
std::shared_ptr<SomeType> MyFunction()
{
    return std::make_shared<SomeType>(1, 2, 3);
}

However, there are some other cases where said functions can return nullptr (or an empty shared_ptr) like so:
std::shared_ptr<SomeType> MyFunction()
{
    if (!something)
        return nullptr; // or std::shared_ptr<SomeType>();

    return std::make_shared<SomeType>(1, 2, 3);
}

Reading the docs, it is unclear whether this behavior will be properly handled by Sol or not. Even though it's stated that returning nullptr is detected and handled, the example below seems to frown upon doing so (even though it uses a standard C pointer instead of a smart pointer in that case).
Does my code need adapting or will Sol properly handle ownership of objects on the Lua side and automatically de-allocate them when required?

It will store a nil value if the pointer is nullptr in my experience. This
makes sense, but if it's not written in the docs clearly, it should be
updated!
On Aug 3, 2016 05:53, "Orfeas Zafeiris"<EMAIL_ADDRESS>wrote:

In my application there are some cases where I'm returning pointers to
objects from bound C++ functions like so:
std::shared_ptr MyFunction()
{
return std::make_shared(1, 2, 3);
}
However, there are some other cases where said functions can return
nullptr (or an empty shared_ptr) like so:
std::shared_ptr MyFunction()
{
if (!something)
return nullptr; // or std::shared_ptr();
return std::make_shared<SomeType>(1, 2, 3);

}
Reading the docs
http://sol2.readthedocs.io/en/latest/tutorial/ownership.html, it is
unclear whether this behavior will be properly handled by Sol or not. Even
though it's stated that returning nullptr is detected and handled, the
example below seems to frown upon doing so (even though it uses a standard
C pointer instead of a smart pointer in that case).
Does my code need adapting or will Sol properly handle ownership of
objects on the Lua side and automatically de-allocate them when required?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ThePhD/sol2/issues/159, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASdHYnS7fgEQ6Rhs93R0BSlQdRgEXkFks5qcFlGgaJpZM4Jbcy3
.

I do need to make a big list of the out-of-the-box provided handles for getter/setter in a well-defined list somewhere.
There's a lot of places where I need to write the docs better, like a few more pointed top-level categories that address user's questions. I should also make a performance toplevel category to inform people of things like sol::c_call.
.... Ahhhh my fingers hurt just thinking about all the work I need to do. ;~;

Oh, right. I didn't answer the question proper.
Yes.
We do if (X == nullptr) as a check by default for pointer types. For unique_usertypes, which include std::shared_ptr, std::unique_ptr, and any other ptrs you can imagine (like boost::shared_ptr), we also do this check, but it can be overridden for the purposes of customization.


[formrecognizer] include pages option for prebuilt and custom models

This will be supported in v2.1-preview.3

Add at least one test per endpoint to make sure we are passing the kwarg through correctly

Completed in #16833 and #17197.


Implement peeling for references

When a command is interested in e.g. a tree-ish, calling the reference's
peel function is a lot more convenient than going through the objects by
hand.

Thanks!


proposal: runtime/pprof: add goroutine stack memory usage profile

Proposal Details
Summary
I'm proposing to implement a new profile type that allows to break down goroutine stack space usage by frame.

No new API. Added as a new sample type to the goroutine profile
The value for each stack trace is the sum of space for the leaf frame
Free stack space is indicated via a virtual runtime._FreeStack leaf node
The grand total should be equal (or close) to /memory/classes/heap/stacks:bytes
A rough prototype CL is available here: https://go-review.googlesource.com/c/go/+/574795 (200 LoC excluding tests)

Given the above, perhaps this is small and simple enough to skip the official proposal process. But since the design includes a few opinionated choices, it's probably best to have some discussions and consensus upfront.
Motivation
My main motivation for this came from debugging a case of dramatic stack space growth while deploying PGO to production (#65532) which I was able to root cause using a hacky stack space profiler that I implemented in userland (repo).
Additionally I imagine this profile type will be useful for other scenarios, e.g. high cpu usage in morestack (#18138).
Implementation
I'm proposing to implement this profile type by taking each stack trace in the goroutine profile and looking up it's frame size (❶ shows this for a single stack trace). Then each stack trace is broken into one stack trace per prefix (from the root), and these stack traces are assigned the frame size of their leaf frames as values (❷). This will produce a flame graph where the "self value" of each frame corresponds to its frame size, and its total value corresponds to its frame size plus the frame sizes of its children (❸).

These values are then multiplied by the number of goroutines that were captured for the given stack trace, resulting in the sum of stack space usage.
Last but not least, a runtime._FreeStack leaf node is added to capture the delta between the stack space used by frames, and the total size of the stack allocated for the goroutine. Additionally a root-level runtime._FreeStack is used to show the amount of memory reserved for goroutine stacks that is currently not in use. These virtual frames are motivated by producing a profile that adds up to /memory/classes/heap/stacks:bytes as well as giving the user the ability to reason about potential morestack issues.
Prototype
I have uploaded a rough CL for a prototype here: https://go-review.googlesource.com/c/go/+/574795 (200 LoC excluding tests).
Using this prototype we can look at a real stack profile for a program with the following goroutines:

1 goroutine with a oneThousand byte frame
1 goroutine with a twoThousand byte frame
2 goroutines with a threeThousand byte frame

Code Snippet
func launchGoroutinesWithKnownStacks() func() {
	c1 := make(chan struct{})
	c2 := make(chan struct{})
	c3 := make(chan struct{})
	c4 := make(chan struct{})

	go oneThousand(c1)
	go twoThousand(c2)
	go threeThousand(c3)
	go threeThousand(c4)
	<-c1
	<-c2
	<-c3
	<-c4
	// hacky way to ensure all goroutines reach the same <-ch statement
	// TODO(fg) make caller retry in the rare case this could go wrong
	time.Sleep(10 * time.Millisecond)
	return func() {
		c1 <- struct{}{}
		c2 <- struct{}{}
		c3 <- struct{}{}
		c4 <- struct{}{}
	}
}

//go:noinline
func oneThousand(ch chan struct{}) [1000]byte {
	var a [1000]byte
	ch <- struct{}{}
	<-ch
	return a
}

//go:noinline
func twoThousand(ch chan struct{}) [2000]byte {
	var a [2000]byte
	ch <- struct{}{}
	<-ch
	return a
}

//go:noinline
func threeThousand(ch chan struct{}) [3000]byte {
	var a [3000]byte
	ch <- struct{}{}
	<-ch
	return a
}

Note: The prototype doesn't implement the proposed root-level runtime._FreeStack frame yet.
Performance
I not measure this yet, but I suspect all of this can be done with negligible impact on the overhead of the goroutine profile.
Next Steps
Please let me know what you think. cc @prattmic @mknyszek @nsrip-dd @rhysh (this was previously discussed in a recent runtime diagnostics sync, see notes).

I think the overall idea, thanks for filing the proposal.
One minor "knee-jerk" reaction I have from looking at the example image is that the display of the _FreeStack frame is a bit odd. At first glance, it looks like the chanrecv1 path is "using" a lot of stack space, when in reality it isn't really related to stack use, it just happens to be where the goroutine is parked, and thus where the frame gets attached.
That said, I can't immediately think of how to display it better. The fundamental problem here seems to be the aggregation by common stack frames complicating things.
Ways I can think of to "fix" that would be:

Force the tooling to avoid stack aggregation. i.e., every goroutine is displayed on its own with a fake root-level "goroutine N" frame. Under that frame would be two nodes: one with the actual stack frames, and one for _FreeStack. I think this would make individual goroutines easier to comprehend, at the expense of making it more difficult to see aggregate effects (e.g., I have 128 duplicate worker goroutines that in aggregate use lots of stack in a certain frame).

Avoid the per-goroutine _FreeStack frame altogether and group extra stack space in the root level _FreeStack frame. This is a loss of data, though it's not totally clear to me how useful that data is. One useful aspect I can imagine would be learning that you have a decent amount of headroom to increase stack size before actually growing the stack.

Thanks for the feedback @prattmic. I've also added this as a potential agenda item for tomorrow's runtime diagnostics sync as it might be easier to hash out some of these ideas in real time.

One minor "knee-jerk" reaction I have from looking at the example image is that the display of the _FreeStack frame is a bit odd. At first glance, it looks like the chanrecv1 path is "using" a lot of stack space, when in reality it isn't really related to stack use, it just happens to be where the goroutine is parked, and thus where the frame gets attached.

Yeah, I agree. It's a concern.

That said, I can't immediately think of how to display it better. The fundamental problem here seems to be the aggregation by common stack frames complicating things.
Ways I can think of to "fix" that would be:

Force the tooling to avoid stack aggregation. i.e., every goroutine is displayed on its own with a fake root-level "goroutine N" frame. Under that frame would be two nodes: one with the actual stack frames, and one for _FreeStack. I think this would make individual goroutines easier to comprehend, at the expense of making it more difficult to see aggregate effects (e.g., I have 128 duplicate worker goroutines that in aggregate use lots of stack in a certain frame).
Avoid the per-goroutine _FreeStack frame altogether and group extra stack space in the root level _FreeStack frame. This is a loss of data, though it's not totally clear to me how useful that data is. One useful aspect I can imagine would be learning that you have a decent amount of headroom to increase stack size before actually growing the stack.

Good ideas. What about a variant of version 1 where the _FreeStack is added below the root frame of the goroutine, but without having one root node for every goroutine. Below is a screenshot of what this would look like:

What do you think?

Hm, I do like that better, but the ordering still feels slightly inverted to me (it seems odd that the free stack is the second frame, when the first frame is using real stack space). But this gives me another idea:
What if we invert the idea of "free stack space" and instead display total allocated stack size? Concretely, each stack ends at a "[total]" frame, whose value is the total allocated stack size. In a flame graph, you'd end up with something that looks like this (pardon the ASCII art):
------------------------------------------------
|                  root                        |
------------------------------------------------
|                  [total]                     |
------------------------------------------------
          |   threeThousand  | twoThousand     |
          --------------------------------------

The empty space in the bottom left is the total free stack space in the program.
This sounds a bit like my suggestion (2) above because we can't see the free space per goroutine type, but I'm not certain we have to lose this information. In theory, running with -focus threeThousand should give us just the threeThousand goroutine portion, and I would want that to display a "[total]" entry with the total only from the threeThousand goroutines.
I'm not 100% sure this would work out of the box though given the slightly strange way we are exploding samples. We may need to use unique fake PCs per goroutine (0x1d0000001, 0x1d0000002, etc), and even then I'm not certain that -focus would behave the way we want.

I think if I saw I profile like that, I'd soon want to travel back in time to see which call stack the goroutine had when the runtime determined the stack needed to be grown. But it looks like the current proposal is to tie information to the goroutine's current stack.
I'd expect a CPU profile looking at morestack would give some hints, but that seems similar to the work that's been required to hunt down runtime-internal lock contention: you need to catch it in the act, and you need to make assumptions about the recent behavior being representative of the historical behavior.
To be concrete, consider an HTTP server where: each request is handled quickly, some requests result in deep call stacks, and all arrive on often-idle http/1.1 keep-alive connections. It sounds like the current proposal would show a lot of goroutines with net/http.(*conn).serve but not ...ServeHTTP on the stack, some of which have large amounts of runtime._FreeStack, but without a clear pointer to which part of the http.Handler was responsible for the growth.

I'm not 100% sure this would work out of the box though given the slightly strange way we are exploding samples.

@prattmic I like this idea, but I don't think -focus will do what we need it to do. Even with fake PCs.
The problem is that the "empty space" below a node is created by a stack trace that only goes up to that node. In my example from above, the "empty space" below a is created by a stack trace that just contains the frame a.

So given the definition of focus below, I think -focus b will match the stacks a;b;c, a;b but not a (which would be equivalent to the total node in your example.
   -focus           Restricts to samples going through a node matching regexp

Looking at the other pprof options neither -show (only applicable to graph view?) nor -show_from would do what we need. In theory we could implement a new -focus_parents. But I'm still unsure if this would work with your fake pc idea. Because by default the flame graph will be aggregated on a function-level, so the individual pc values should be considered for any operations 🤔.
Anyway, I also realized a few other areas where stack memory can hide:

System Goroutines (excluded from goroutine profile)
g0 and gsignal stacks on Ms

Tracking this as runtime._FreeStack on the root level would be misleading. So we would probably need at least runtime._StackFree (for the stack pool) and runtime._StackSystem to account for these areas of stack usage separately.
Of course we could also consider to just not deal with any of this, and only show stack memory usage by the frames that are currently on the stack. But this would leave an annoyingly large gap with /memory/classes/heap/stacks:bytes unless we decide to split this into two or more metrics. However, the advantage of this is that it would be more similar to the heap_inuse profile where we also only show the live memory usage without the free space (dead objects + free heap + unused heap). This would have been good enough for my analysis in #65532.

@rhysh I see your point. I'm implicitly biased towards continuous profiling where I'm assuming the user has access to many stack profiles and the ability to aggregate them. In practice this should allow the user to see stack profiles that include the frames below morestack in the CPU profile, thous breaking down their contribution to triggering the growth.
Do you think that's good enough?
I mean I could also see the value in a dedicated morestack profile, but I guess that's a secondary use case for me. The primary use case is analyzing changes in stack memory usage that don't correspond to a change in the number of goroutines.

The CPU profile can show what triggers stack growth in the same way that the alloc_* variants of the heap profile can for heap memory. But for heap profiles, the inuse_* variants give a more direct answer to which of those are retained.
I've got three kinds of memory profiles in mind:

What allocated the memory that was allocated
What allocated the memory that is retained
What retains the memory that is retained

For heap memory, we get the first from the alloc_* views and the second from the inuse_* views. The third would come from building a dominator tree from a full heap dump / core file, or similar.
For stack memory, we're able to skip right to the third style (it's not a graph, so calculating the dominators is easy). And a CPU profile focused on morestack would give a view on the first. But it seems to me that the second style is the one that would be most helpful for the problem as you've described it, and would be a closer conceptual match to what the other memory profile (the heap profile) provides.


Google Tag Manager - Doesn't recognize blog page change

🐛 Bug Report
Have you read the Contributing Guidelines on issues?
Yes
To Reproduce
(Write your steps here:)

Setting up a blog only website (Mentioned here: https://v2.docusaurus.io/docs/blog#blog-only-mode)
Adding google tag manager

gtag: {
      trackingID: 'GTM-OOOOOO',
      // Optional fields.
      anonymizeIP: true, // Should IPs be anonymized?
    },

It only logs the first page of the landing when the tag manager is loaded. After that if I nevigate to other blog posts or back to the home page, no page views are being tracked in the Google Analytics with Google Tag Manager.

Expected behavior
It should track all the pages being visited, not only the one on which the page was initially loaded.
Actual Behavior
It only tracks the first page's URL.
Your Environment

Docusaurus version used: v2.0.0-alpha.58
Environment name and version (e.g. Chrome 83.0.4103.116, Node.js v14.5.0):
Operating system and version (desktop or mobile): Desktop

Reproducible Demo
Will not be able to share the google analytics account details and a hosted website here. If you really want, I would setup on sample repo and share the screenshot or screen recording.

Hi,
I'm not familiar with GTM, but there's this page to integrate in SPAs: https://developers.google.com/analytics/devguides/collection/gtagjs/single-page-applications
On navigate, we do something like:
gtag('config', 'UA-1234567-89', {'page_path': '/new-page.html'});

After you've added the new value for page_path, all subsequent events sent to that property will use that new value.

Maybe we should fire such an event on navigate, so that it shows up on your GTM dashboard?
Maybe something like this?
gtag('config', 'UA-1234567-89', {'page_path': '/new-page'});
gtag('event', 'navigate', {'page_path': '/new-page'});

???

Yes, probably. To be honest, I'm not familiar with how it actually works, but based on your links, it looks like that is the right thing to do

@kirtan403 I don't use GTM myself, can you please open a PR? At least, try to test these changes on your site locally, and confirm that the proposed changes are what you are looking for.


laravel 7

Hello,
I come from python/django and we have the excellent mptt https://github.com/django-mptt/django-mptt for tree management. I'm currently working on a laravel project where I have to integrate the equivalent, I have a lot of data to save on the tree I found the library: https://github.com/lazychaser/laravel-nestedset, but this one is horrible in terms of performance, it's not very user friendly (don't integrate the depth in the database, even after 50 requests ...., especially as it could solve some of the problems). After several researches the Baum library seems to me the closest to what I need in terms of quality and performance. Now I could see that it is not available for laravel 7, will you adapt it for laravel 7 ?
I could see on this post https://github.com/etrepat/baum/pull/332 that @mkwsra has been asking for a traction for a while couldn't there be a work between you ?
Thank you in advance

@scwall you'll find that branch 2.0.2 does actually work with Laravel 7.  I am using it myself in some projects.
Testbench 5.x tests are run using Laravel 7.

When I have time, I have been trying to improve test coverage.  2.0.3 is at 80%

@poing
Thank you for your answer. I just saw it just now.  😄
I used this to add it to my project, did you proceed the same way or is there another way?
"repositories": [
    {
      "type": "package",
      "package": {
        "name": "baum/v2",
        "version": "2",
        "type": "baum-three",
        "source": {
          "url": "https://github.com/etrepat/baum/",
          "type": "git",
          "reference": "v2"
        }
      }
    }
  ],
  "require": {
    "php": "^7.2.5",
    "baum/v2": "^2",

Thank you in advance

Perfect :+1: thanks @poing


AsyncLocal loses state when ServiceProviderScope is Disposed

It seems like AsyncLocal does not keep its state until the scope created for executing a controller is finished disposed. This means that a value set in AsyncLocal during a controller call is not available when the injected dependencies are disposed - instead the value is always null.
Not sure if this is intended or not, but it'd be nice to document this behavior somewhere and maybe provide a work around. Using AsyncLocal to store some information that's required during a call is not unheard of and if you store resources that have to be cleaned up in it, this is rather cumbersome currently.
Example. Put the following into the default asp.net core Web API project template for netcoreapp2.1 and register TestRepo as a transient dependency. When executing GET api/values we get an exception during TestRepo::Dispose because the asynclocal value is null instead of 5.
[Route("api/[controller]")]
public class ValuesController : Controller
{
    private readonly TestRepo _testRepo;

    public ValuesController(TestRepo testRepo)
    {
        _testRepo = testRepo;
    }

    [HttpGet()]
    public async Task<IActionResult> Get()
    {
        _testRepo.SetValue(5);
        await Task.Delay(100);
        var val = _testRepo.GetValue();
        // val here has correctly 5.
        return Ok();
    }
}

public class TestRepo : IDisposable
{
    private static readonly AsyncLocal<int?> _asyncLocal = new AsyncLocal<int?>();

    public int? GetValue()
    {
        return _asyncLocal.Value;
    }

    public void SetValue(int x)
    {
        _asyncLocal.Value = x;
    }

    public void Foo()
    {
        SetValue(5);
    }

    public void Dispose()
    {
        if (GetValue() == null)
        {
            throw new InvalidOperationException("GetValue() should be 5 here :(");
        }
    }
}

Current behavior: Dispose throws a InvalidOperationException.
Expected behavior: GetValue() returns 5 inside TestRepo::Dispose

There's no relation between DI, scopes, and AsyncLocal. AsyncLocal is all about threading and call stacks.
From this example, AsyncLocal propagates down a call stack but not up it.

"AsyncLocal is all about threading and call stacks."
I'd say AsyncLocal is mostly all about execution contexts, not so much about call stacks or threads. And the problem here is that when the framework disposes its scope it does so while the relevant execution context is not set. This might just be by design, but it seems weird to do so considering that the framework goes through a lot of effort to make sure that the execution context is kept during the controller execution.
"From this example, AsyncLocal propagates down a call stack but not up it."
I don't see where it says that at all and it's also clearly not true. Neither in old full Frameworks with synchronization contexts and definitely not in .net core. Just try the following example:
        private static readonly AsyncLocal<int?> _asyncLocal = new AsyncLocal<int?>();

        static void Main(string[] args)
        {
            SetValue();
            Console.WriteLine(_asyncLocal.Value); // this prints 5.
        }

        private static void SetValue()
        {
            _asyncLocal.Value = 5;
        }

Ah, that example was using .ConfigureAwait(false); so that makes sense.
https://github.com/aspnet/Hosting/blob/b3625b8173b19935e22b4fe5ac0ea64edd934bd4/src/Microsoft.AspNetCore.Hosting/Internal/RequestServicesFeature.cs#L33
Called from here:
https://github.com/aspnet/KestrelHttpServer/blob/61e16e2b3108b6fc4dc9f7e690dd1e55a0cfe3b5/src/Kestrel.Core/Internal/Http/HttpProtocol.cs#L617
I don't see specifically where it drops the thread context.

I don't see where it says that at all and it's also clearly not true. Neither in old full Frameworks with synchronization contexts and definitely not in .net core. Just try the following example:

It is true. Here's an example:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

namespace asyncflow
{
    public class Program
    {
        private static readonly AsyncLocal<int?> _asyncLocal = new AsyncLocal<int?>();

        static void Main(string[] args)
        {
            Thing1().GetAwaiter().GetResult();
        }

        static async Task Thing1()
        {
            await Thing2();
            Console.WriteLine(_asyncLocal.Value); // this prints null
        }

        static async Task Thing2()
        {
            SetValue();
            Console.WriteLine(_asyncLocal.Value); // this prints 5.
        }

        private static void SetValue()
        {
            _asyncLocal.Value = 5;
        }
    }
}

MVC action execution isn't a single async flow so setting the value in a controller won't be observable in dispose. The value set in the async local don't bleed out of the context in which it was set.

@Tratcher / @davidfowl - any further action required on this issue?

Seem to have missed the mail about @davidfowl's comment, hum, sorry for that.
Interesting, I'll have to look into what exactly constitutes a single async flow, my understanding clearly has some white spots, since I'd expect @davidfowl's sample to print 5 twice.
Closing.

I don't see where it says that at all and it's also clearly not true. Neither in old full Frameworks with synchronization contexts and definitely not in .net core. Just try the following example:

It is true. Here's an example:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

namespace asyncflow
{
    public class Program
    {
        private static readonly AsyncLocal<int?> _asyncLocal = new AsyncLocal<int?>();

        static void Main(string[] args)
        {
            Thing1().GetAwaiter().GetResult();
        }

        static async Task Thing1()
        {
            await Thing2();
            Console.WriteLine(_asyncLocal.Value); // this prints null
        }

        static async Task Thing2()
        {
            SetValue();
            Console.WriteLine(_asyncLocal.Value); // this prints 5.
        }

        private static void SetValue()
        {
            _asyncLocal.Value = 5;
        }
    }
}

MVC action execution isn't a single async flow so setting the value in a controller won't be observable in dispose. The value set in the async local don't bleed out of the context in which it was set.

Hi @davidfowl , Hope you don't mind my question.
MVC action execution is not a single async flow? Can you explain more about this?

Hi @thienly,
in order for you to better understand the example from @davidfowl I suggest to read the following blog posts from Stephen Cleary:

read all of this article first
read at least the paragraph AsyncLocal of this article

If you want to better understand the content of the first article (particularly the meaning of ExecutionContext) I highly recommend you to read this blog post from Stephen Toub .
The key point in David Fowl's code is that the method Thing2 is declared with the async modifier. If you are inside an async method and you set the Value property of an AsyncLocal<T> instance you are basically doing two things (in the article of Stephen Cleary linked above this is called copy on write behavior):

a copy of the current value stored in the AsyncLocal<T>  is done (pay attention it's a shallow copy, not a deep one this is has some consequences as explained later)
the copy of the original value is modified with the new value you are setting

From that point on, if you query your  AsyncLocal<T>  instance you will see the new value that you have set: that's why the call to Console.WriteLine made inside Thing2 prints the value 5. You can think of this behavior in the following manner: each time you enter an async method a fresh new async context is initiated and this context is isolated from its parent async context. This means that ,inside your async method, you can set and query your AsyncLocal<T> having the guarantee that you are not polluting the parent async context because your changes are local to the current async context. As a best practice you should always store immutable data types inside an AsyncLocal<T>, because of the aforementioned shallow copy issue: this way you are a hundred percent sure that your async contexts are completely isolated and don't interact each others.
When the async method returns you are back in the parent async context and, from there, you can't see the modifications performed by the child async context. This is the reason why when you call Console.WriteLine in the method Thing1 the null value will be printed.
I'm not sure of what @davidfowl means when he says that

MVC action execution isn't a single async flow

but I guess that this means there are multiple async contexts involved in the handling of an incoming HTTP request, so you can't  expect that a value set on the  AsyncLocal<T> of the TestRepo instance from inside an action method will also be available when the Dispose method of TestRepo will be called. The action method body and the Dispose method body are executed inside two different async contexts, so the value set in the first won't be available in the second context.
Hope this helps !


Move pyproject to poetry

TODO: Make cuda optional

Codecov Report

Merging #774 (197ee65) into main (8f0f7c3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #774   +/-   ##
=======================================
  Coverage   87.72%   87.72%
=======================================
  Files         184      184
  Lines       15097    15097
=======================================
  Hits        13244    13244
  Misses       1853     1853

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

Closing since this was done in https://github.com/rungalileo/dataquality/pull/833


Provide edit button for EqFunction and EqSubFunction

Is your feature request related to a problem? Please describe.
In Pro mode, we have an ace editor edit button for most elements in the Substation editor.
Notably, we don't have this for EqFunction and EqSubFunctions
Describe the solution you'd like
I'd just like that button because it delights me to quickly jump into the SCL without having to go to a parent container which has the button.
So a button in the top right corner:

Like for other containers:

That is bug, sorry for that :)


Add page to edit organisation size

Summary
Adds a new page to the supplier account that allows a supplier to edit their organisation size. This page hasn't been plumbed up to anything yet - that will be done in a later ticket.
There's no flash message confirming the action the user has taken included as part of this ticket. It feels like it might be good to add this as part of this ticket but I'll need the content (@constancecerf?)
Examples

Ticket
https://trello.com/c/eB9u3xe7/40-new-editable-page-build-organisation-size-page

I don't think we have flash message confirmation - you just go back to the overview page and can see the updated value there.

@TheDoubleK updated and moved headings as requested. Is this good now?

Good to go after a rebase.