Scroll fork protection

This implements issue #79 by doing two things:

Avoid finishing a Scroll helper when the finishing process is not the one who created it.
Crash with an Illegal exception when a programmer attempts to use the Async helper in a forked process.

@clintongormley Any thoughts on that? Cheers.

Hi @jeteve
Thanks for the PR.  Sorry for that late reply, been busy getting Elasticsearch 2.0.0-beta1 out :)  (w00t)
Please could I ask you to sign the CLA? https://www.elastic.co/contributor-agreement
thanks

@clintongormley done:)

Hi @clintongormley , Any news on that one?

Hi @jeteve
Thanks a lot for the PR.  I reworked the code a bit so that it wasn't checking the PID on every call
to next (which strictly speaking is allowed in a child process) but only on attempts to refill the buffer.
I extended it (and the tests) to work with Search::Elasticsearch::Async::Scroll, which highlighted some
issues with the finished() method, which I fixed as well.
many thanks for the work

Hi Clinton,
Thanks a lot for that! Looking forward to installing the new version :)
Jerome.
On 6 September 2015 at 19:10, Clinton Gormley<EMAIL_ADDRESS>wrote:

Hi @jeteve https://github.com/jeteve
Thanks a lot for the PR. I reworked the code a bit so that it wasn't
checking the PID on every call
to next (which strictly speaking is allowed in a child process) but only
on attempts to refill the buffer.
I extended it (and the tests) to work with
Search::Elasticsearch::Async::Scroll, which highlighted some
issues with the finished() method, which I fixed as well.
many thanks for the work
—
Reply to this email directly or view it on GitHub
https://github.com/elastic/elasticsearch-perl/pull/80#issuecomment-138104831
.

--
Jerome Eteve
+44(0)7738864546
http://www.eteve.net/


Exit DFU mode?

Description
Hello,
I am using coral usb accelerator on a remote computer that recently had a power outage. When the computer restarted, I noticed the coral usb device is now listed under Windows device manager as "Coral USB accelerator (DFU)". When that happened before I simply removed the coral device and inserted it again and that restored the normal mode. The problem is that the machine is remote and I would like to know if it is possible to remotely do something like removal/reinsertion without me physically doing that? Is there is a command I can run that will exit DFU mode?
Thanks
Click to expand!
Issue Type
Support
Operating System
Windows 10
Coral Device
USB Accelerator
Other Devices
No response
Programming Language
Python 3.7
Relevant Log Output
No relevant output

Hi @msaeedm  I think this is the default state when you plug in USB accelerator.
Can you please check the state after running at least one inference.
libedgetpu checks if USB accelerator is in DFU mode and then uploads the firmware, i.e. switches to normal working mode

@hjonnala well that worked just like you said. The state changed from DFU to normal working mode.
Thank you


Unitialized variables when parsing almost any file [svg2png]

<svg width="100" height="100">
<linearGradient height="BackgroundImage" spreadMethod="56.75206" stop-opacity="SourceGraphic" >
<polygon repeatCount="" xlink:show="-178%" x2="691" >
</polygon>
</linearGradient>
<pattern patternTransform="" a="" xlink:show="reflect" >
</pattern>
</svg>

shows this erors
../src/lib/sw_engine/tvgSwRenderer.cpp:346:15: runtime error: load of value 190, which is not a valid value for type 'bool'
../src/lib/sw_engine/tvgSwRenderer.cpp:375:15: runtime error: load of value 190, which is not a valid value for type 'bool'

https://github.com/Samsung/thorvg/blob/934a95777c3c56d1daec803389c3fdf341b8febc/src/lib/sw_engine/tvgSwRenderer.cpp#L346
https://github.com/Samsung/thorvg/blob/934a95777c3c56d1daec803389c3fdf341b8febc/src/lib/sw_engine/tvgSwRenderer.cpp#L375

@qarmin Actually I couldn't reproduce that error, but I believe it's fixed by this: https://github.com/Samsung/thorvg/commit/57e086db64a25b08e37b480b3582bba6b08d60e7


[API-8] Standardize data directory

The concept of the config directory has been standardized for a long time now. However, it is not very clear where plugins should store "user data" (assuming it's not stored on a remote database).
Currently, the main choices are:

In the root server directory SERVER_DIR/<pluginid>
In the config directory SERVER_DIR/config/<pluginid>

Both have disadvantages; saving directly in the server directory can lead to an unorganized mess, whereas saving in the config directory seems weird considering "user data" is not "configuration data".
(As a side note, some users may delete the config directory to reset configuration data but this should not delete user data.)
Potential solution
There should be a standardized way of storing plugin data that is not configuration data. In my opinion, the most sensible convention would be SERVER_DIR/data/<pluginid> or SERVER_DIR/plugindata/<pluginid> as this is similar to the structure of the current config directory.
Deliverables

[ ] Recommend a standardized approach in the docs (on https://docs.spongepowered.org/)
[ ] Offer a binding annotation for easy integration via guice (similar to @ConfigDir, maybe @DataDir?)

@zml2008
Perhaps the desire to continue to do injected configuration loaders/paths are the issue here. You hit on this with your point on how to tell plugin devs that the config is now "stale". I don't really see a clean way to do this with injected loaders without introducing another concept for plugin devs to have to learn.
With this is mind, maybe a better fix for this is (imo) granting configuration is own lifecycle event. This does more tightly couple Configurate to plugin development (well depends how the event looks) but given pseudocode below...
interface LoadConfigurationEvent extends LifecycleEvent {
    Path configDirectory();

    // TODO Need a way for a dev to tell us "I want to be hocon!" and we give them back the appropriate configuration node?

    interface GameScoped extends LoadConfigurationEvent {}

    interface EngineScoped<E extends Engine> extends LoadConfigurationEvent {}

    interface WorldScoped<W extends World> extends LoadConfigurationEvent {}
}

Rough by far but perhaps a talking point. We would essentially mirror this for some "loading data" mechanism...just without configurate-specific bits there.


how to insert ajusted close and dividend in this code ?

Option Explicit
Public Const addInName As String = "AVQ"
'' Signatur of XLQ function.
Public Function XLQ(ticker As String, _
Optional side As String = "LAST", _
Optional hist As String = "") As Variant
On Error GoTo Error
'' Check if Alpha Vantage API Key is set, if not exit function.
Dim apiKey As String
If CheckApiKey = False Then
    XLQ = CVErr(xlErrNA)
    Exit Function
Else
    apiKey = GetApiKey
End If

Static sendUnsupportedHistMessage As Boolean
Static sendUnsupportedSideMessage As Boolean
Dim item As String
'' If no quote was found, then return Excel #N/A error.
Dim quote As Variant: quote = CVErr(xlErrNA)

If hist <> vbNullString Then
    '' Send notification only once in a session.
    If sendUnsupportedHistMessage = False Then
        MsgBox hist + " is not supported by AVQ.", , addInName
        sendUnsupportedHistMessage = True
    End If
    Exit Function
ElseIf UCase(side) = "LAST" Then
    item = "close"
ElseIf UCase(side) = "CLOSE" Then
    item = "close"
ElseIf UCase(side) = "LOW" Then
    item = "low"
ElseIf UCase(side) = "HIGH" Then
    item = "low"
ElseIf UCase(side) = "VOLUME" Then
    item = "volume"
ElseIf UCase(side) = "ADJUSTED_CLOSE" Then
    item = "adjusted_close"

Else
    '' Send notification only once in a session.
    If sendUnsupportedSideMessage = False Then
        MsgBox side + " is not provided by Alpha Vantage.", , addInName
        sendUnsupportedSideMessage = True
    End If
    Exit Function
End If

quote = AVQD(ticker, item)
XLQ = quote

Exit Function

Error:
'' If an error occurs, then return #NULL! error.
XLQ = CVErr(xlErrNull)
End Function
'' Alpha Vantage Query for daily equity data.
Public Function AVQD(ByVal symbol As String, _
Optional ByVal item As String = "close", _
Optional ByVal day As Integer = 0, _
Optional ByVal quoteDate As Date) As Variant
On Error GoTo Error
'' Check if Alpha Vantage API Key is set, if not exit function.
Dim apiKey As String
If CheckApiKey = False Then
    AVQD = CVErr(xlErrNA)
    Exit Function
Else
    apiKey = GetApiKey
End If

'' Switch to wait cursor, to notificate the user about background activities.

Rem Const apiKey As String = "<Alpha Vantage API Key>"
Const API_FUNCTION As String = "TIME_SERIES_DAILY_ADJUSTED"
Const URL_ALPHA_VANTAGE_QUERY As String = "https://www.alphavantage.co/query"

Dim url As String
Dim http As Object
Dim json As Dictionary
Dim timeSeriesDaily As Dictionary
Dim strQuoteDate As String: strQuoteDate = ""
Dim quoteDay As Dictionary
'' If no quote was found, then return Excel #N/A error.
Dim quote As Variant: quote = CVErr(xlErrNA)

'' Provided Alpha Vantage Time Series Data (Default is "4. close").
'' For ease of use, the preceding numbering is not necessary.
Select Case item
    Case "open", "1. adj close"
        item = "1. adj close"
    Case "high", "2. high"
        item = "2. high"
    Case "low", "3. low"
        item = "3. low"
    Case "close", "4. close"
        item = "4. close"
    Case "volume", "5. volume"
        item = "5. volume"
    Case "volume", "6. adjusted_close"
        item = "6. adjusted_close"

End Select

'' If optional quoteDate parameter is set, then select the data point of given quoteDate.
If quoteDate <> "00:00:00" Then
    strQuoteDate = Format(quoteDate, "YYYY-MM-DD")
Else
    '' Select the most recent data point if 0 (default) was given.
    If day <> 0 Then
        '' If day is negative, then select data point "current date minus <day>".
        If day < 0 Then
            strQuoteDate = Format(DateAdd("d", day, Date), "YYYY-MM-DD")
        Else '' Else select the data point at position <day> (zero-based index).
            day = day - 1
        End If
    End If
End If

'' API documentation: https://www.alphavantage.co/documentation/#daily
url = URL_ALPHA_VANTAGE_QUERY + "?" + "function=" + API_FUNCTION + "&symbol=" + symbol + "&apikey=" + apiKey

Set http = CreateObject("MSXML2.XMLHTTP")
With http
    .Open "GET", url, False
    .Send
    '' Get JSON text/data and convert to Dictionary object.
    Set json = JsonConverter.ParseJson(.responseText)
    If Not (json Is Nothing) Then
        '' Get JSON object "Time Series (Daily)" with time series data points.
        Set timeSeriesDailyAdjusted = json("Time Series (Daily)")
        If strQuoteDate <> vbNullString Then '' Get JSON object "Date" by given <quoteDate>.
            If timeSeriesDailyAdjusted.Exists(strQuoteDate) Then
                Set quoteDay = timeSeriesDailyAdjusted(strQuoteDate)
            End If
        '' Get JSON object "Date" by index "day".
        ElseIf timeSeriesDailyAdjusted.Count >= day + 1 Then
            Set quoteDay = timeSeriesDailyAdjusted.Items(day)
        End If
        If Not (quoteDay Is Nothing) Then
            If quoteDay.Exists(item) Then
                quote = quoteDay.item(item)
                '' Set quote value as Double with decimal separator which match to current Excel settings.
                Select Case Application.International(xlDecimalSeparator)
                    Case ","
                        quote = CDbl(Replace(Replace(quote, ",", ""), ".", ","))
                    Case Else
                        quote = CDbl(quote)
                End Select
            End If
        End If
        '' Return quote.
        AVQD = quote
        GoTo Cleanup
    End If
End With

Error:
'' If an error occurs, then return #NULL! error.
AVQD = CVErr(xlErrNull)
Cleanup:
'' Switch back to default cursor.
Application.Cursor = xlDefault
'' Cleanup.
Set http = Nothing
End Function
Private Function CheckApiKey() As Boolean
Static sendMissingApiKeyMessage As Boolean
Dim apiKey As String
apiKey = GetApiKey
If apiKey = vbNullString Then
'' Send notification only once in a session.
If sendMissingApiKeyMessage = False Then
MsgBox "Please set Alpha Vantage API Key." + vbNewLine + _
"Go to Ribbon AVQ -> Set Api Key." + vbNewLine + _
"Claim your free API Key here: https://www.alphavantage.co/support/#api-key", , addInName
sendMissingApiKeyMessage = True
End If
CheckApiKey = False
Else
CheckApiKey = True
End If
End Function
Private Function GetApiKey() As String
Dim apiKey As String
apiKey = Settings.Range("A1").Value2
GetApiKey = apiKey
End Function
Private Sub SaveApiKey(ByVal apiKey As String)
On Error Resume Next
'' Alpha Vantage API Key is saved in "internal" worksheet "Settings".
Settings.Range("A1").Value2 = apiKey
If Application.Workbooks.Count > 0 Then
Application.CalculateBeforeSave = False
End If
ThisWorkbook.Save
If Application.Workbooks.Count > 0 Then
Application.CalculateBeforeSave = True
End If
End Sub
Public Sub SetApiKey(control As IRibbonControl)
Dim apiKey As String
apiKey = InputBox("Alpha Vantage API Key:", addInName)
If apiKey <> vbNullString Then
SaveApiKey apiKey
Rem Application.CalculateFullRebuild
RefreshAll Nothing
End If
End Sub
Public Sub RefreshAll(control As IRibbonControl)
Rem Application.CalculateFull
If Not ActiveWorkbook Is Nothing Then
'' Re-Calculate only AVQ UDFs.
Cells.Replace What:="=AVQD(", Replacement:="=AVQD("
'' Re-Calculate only XLQ UDF.
Cells.Replace What:="=XLQ(", Replacement:="=XLQ("
End If
End Sub
Public Sub RefreshSelection(control As IRibbonControl)
If Not Selection Is Nothing Then
Selection.Replace What:="=", Replacement:="="
End If
End Sub
Private Sub OpenLink(ByVal url As String)
Dim wshShell As Object
Set wshShell = CreateObject("WScript.Shell")
'' For security reasons only opening of links are allowed.
wshShell.Run "http://" + url
Cleanup:
'' Cleanup.
Set wshShell = Nothing
End Sub
Public Sub OpenHelpLink(control As IRibbonControl)
Dim url As String
url = control.Tag
OpenLink (url)
End Sub
Private Sub Build()
Dim fileName As String
Dim fileFullName As String
SaveApiKey ""

ThisWorkbook.RemovePersonalInformation = False

fileName = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - InStrRev(ThisWorkbook.Name, ".") - 1)

fileFullName = ThisWorkbook.Path + "\GitHub.local\" + fileName + ".xlam"
ThisWorkbook.SaveAs fileFullName, XlFileFormat.xlOpenXMLAddIn, , , , , , , False

'' Excel 2003 currently not supported.
Rem fileFullName = ThisWorkbook.Path + "\GitHub.local\" + fileName + ".xla"
Rem ThisWorkbook.SaveAs fileFullName, XlFileFormat.xlAddIn, , , , , , , False

ThisWorkbook.Close

End Sub

hi @traderix , this project is only for the python wrapper. I wish you good luck.
Best Regards,
Romel


Document the test infrastructure

Add documentation that explains the runtime/codegen tests and how to add new ones.
Ideally, this will both help users trying to contribute to jco and also people trying to create minimal tests/reproductions of bugs.

This was my hope with the section at https://github.com/bytecodealliance/jco#contributing, we can certainly move to a dedicated page with more detailed information.

I think something like wit-bindgen/tests/README.md would be a great addition.


Change TT flag meanings.

Using zero initialization compresses better.

Obsoleted by #129 which relies on higher flag = better.


Added Google Nest Hub 2nd gen

Its measured manual. Xiaomi and Tuya get inconsistent readings.

Which stream did you use?
Looking at the description it says Streamed 'Radiohead - National Anthem', but it's recommended (required) to use pink noise. As this is a more scientific approach and allows for reproducable measurements.
Could you elaborate about the inconsistent readings?

Zegbee Xiaomi plug EU all time shows 2.75W
Tuya plug on each level shows one or two readings and rest are 0s.
Then I opened json for google mini to see it content. Played stream inside it and make manual readings on each level...

Strange that the measure tool not works and reading stays static.
Anyway. Are you able to redo measurements by playing pink noise stream instead of 'Radiohead - National Anthem'? As this is also used on most of the other smart speakers which were submitted recently.

Ok, I will tomorrow
EDIT: Managed to get measure with different Tuya plug with docker script.

Cool, glad you got it working with the measure script. Measurements look very good, and slowly increasing on volume level increases.

@patrik-malina During inspection / analysing of the profile library I noticed this profile has incorrectly set the measure_device. It's either unknown of to generic model. Do you still remember which exact power meter model you used during measurements? That would help further improve the library quality also for future reference.

@patrik-malina During inspection / analysing of the profile library I noticed this profile has incorrectly set the measure_device. It's either unknown of to generic model. Do you still remember which exact power meter model you used during measurements? That would help further improve the library quality also for future reference.

Uh, sorry. I don't remember. I have several Tuya devices...


Hotfix/203 pcluster dep bug

Same hotfix branch also merging the change into develop.

[ ] Do these changes modify the system output in any way? [Yes or No]
If yes, please describe:

Pull Request Testing

[ ] Describe testing already performed for these changes:

[ ] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

[ ] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes or No]

[ ] Do these changes include sufficient testing updates? [Yes or No]

[ ] Will this PR result in changes to the test suite? [Yes or No]
If yes, describe the new output and/or changes to the existing output:

[ ] Please complete this pull request review by [Fill in date].

Pull Request Checklist

[ ] Review the source issue metadata (labels, project, and milestone).
[ ] Complete the PR definition above.
[ ] Ensure the PR title matches the feature or bugfix branch name.
[ ] Define the PR metadata, as permissions allow.
Select: Reviewer(s)
Select: Project
Select: Milestone as the version that will include these changes
Select: Development to link to the original development issue.
[ ] After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
[ ] Close the linked issue and delete your feature or bugfix branch from GitHub.

Yes, this was a bug affecting the current production release, so the git flow hotfix procedures were followed and the branch was made from the release tag.
I manually edited the version number to resolve the conflict.
In the future, should we hold off on changing the version number until we create the release branch?

In the future, a single commit can be applied to another branch using the git cherry-pick command.

Find the commit hash or hashes of the changes that should be applied to the other branch. This can be the commit that results from the squash/merge of a PR if all of the changes from that PR are needed, e.g. 90570361
Note at least the first 8 characters of the commit hash or hashes
Create a branch off of the other branch that needs the fix. (develop or main)
Run the cherry pick command for each commit hash to apply: git cherry-pick <commit_hash> e.g. git cherry-pick 90570361

I think we decided to set the version number X.Y.Z-dev to signify that it is development towards X.Y.Z, then change to X.Y.Z when we create the release. This helps discern whether the state of the code is an actual release or includes partial development towards the next release. This is how we name versions for METplus and it seems to be useful. I'm open to other approaches if another is preferred.

Yes, this was a bug affecting the current production release, so the git flow hotfix procedures were followed and the branch was made from the release tag.
I manually edited the version number to resolve the conflict.
In the future, should we hold off on changing the version number until we create the release branch?


Replace buttons used as kebab icons with dropdowns

Fix #1183

Issue: The kebabs in the table were using the button component not the dropdown component.
Fix: Replaces buttons with dropdown with the pf-m-align-right modifier.

Deploy preview for pf-next ready!
Built with commit de116f50c4b9575cede3eea8f78e53ea8346f928
https://deploy-preview-1384--pf-next.netlify.com

Looks good. Curious about these nested kebabs in the compound expansion example - should these be dropdowns, too?

Also can you use unique ID's for the dropdowns? The a11y checker compares all examples for a component on a single page, so ID's between examples need to be unique.

@mcoker thanks for the review! I pushed changes -- added dropdowns for the nested table in compound expansion (for the time being I think its safe to assume those will be dropdowns), I added unique IDs, and I also replaced the kebab buttons in the data list with dropdowns.

Great work! Left a few comments for some small things.


Structure field as an offset

In IDA you're able to press Ctrl+R at some structure field and specify relative or hardcoded offset there. It would be great to have such thing in GHIDRA.

I think it relates to #573.


Upgrade timekeeper to 0.3.0

Also removes the macOS comment, since that now works out of the box.

Looks good to me.


swift 5 migration

minor changes to make the code run using swift 5

while waiting for the main pod to be updated to swift5, feel free to use my branch by updating your Podfile:
pod 'Windless', :git => 'https://github.com/budidino/Windless.git'


Build error on Mac

To help us fix your issue, please provide the information in the below template. If something causes a crash, provide as much information as you can gather.
Just imagine: we do not know what you are doing!

Note: There is often little we can do without a minimal reproducible sample of the issue, so please provide that in a standalone git repository and link it here.

Steps to reproduce

cd ./build

chmod 755 ./build.sh

./build.sh

Expected behavior
build ok
Actual behavior
build failed
Crashlog
++ export FVersion=4.10.5
++ FVersion=4.10.5
++ mono --runtime=v4.0 ../Source/.nuget/nuget.exe install FAKE -Version 4.10.5
Feeds used:
/Users/fei/.nuget/packages/
https://api.nuget.org/v3/index.json
/Users/fei/Documents/github/xamarin-bluetooth-le
Package "FAKE.4.10.5" is already installed.
++ mono --runtime=v4.0 ../Source/.nuget/nuget.exe install xunit.runner.console -Version 2.1.0
Feeds used:
/Users/fei/.nuget/packages/
https://api.nuget.org/v3/index.json
/Users/fei/Documents/github/xamarin-bluetooth-le
Package "xunit.runner.console.2.1.0" is already installed.
++ mono --runtime=v4.0 FAKE.4.10.5/tools/FAKE.exe build.fsx
System.NullReferenceException: Object reference not set to an instance of an object
at Fake.FSIHelper.runFAKEScriptWithFsiArgsAndRedirectMessages (System.Boolean printDetails, Fake.FSIHelper+FsiArgs _arg1, System.Collections.Generic.IEnumerable1[T] env, Microsoft.FSharp.Core.FSharpFunc2[T,TResult] onErrMsg, Microsoft.FSharp.Core.FSharpFunc`2[T,TResult] onOutMsg, System.Boolean useCache, System.Boolean cleanCache) [0x00229] in <566eee98ccf1c534a745038398ee6e56>:0

Hi @flyingxu,
I'm the friendly issue checker.
It seems like (50.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

Moved to cake with 2.0.0


xctest-dynamic-overlay → swift-issue-reporting

This dependency has been renamed, and the archive has since been regenerated. Consequently, the new archive contains the new folder prefix.

@pennig You'll need to sign-off on your commit.


Question on VC

How does the interaction between Altme and an application work regarding:

A person holds a VC with the e.g. this information: name, company, email, birthdate
An application needs to know part of it e.g. "birthdate"
How is this individual request defined?
Can altme then create a verifiable presentation with this partly information?

Will be possible with eventual SD-JWT support.


Refactor Dashboard component into smaller modular components

Hi, congratulations for this project!
I'm thinking about solving opened issues, so I was reading this project code and I realized most of the application logic and rendering is concentrated inside Dashboard component.
Since there are plans to grow this project with other features listed in opened issues (filters, etc), do you think it could benefit from a refactor, for example, separating <Dashboard> into smaller components, like <Developers>, <Analyses> and <Repositories>? Of course there is some cost associated with this refactor, since some logic would have to be rewritten and then some data would have to be grouped together in the parent component (in this case, <Dashboard>... So that's why I'm questioning: do you think it is worth to refactor? :)
Thank you for your time!

Hey, @HectorNM! Thanks a lot for reaching out! We are very happy to receive these kinds of feedback from our code. 🙃
We have started building this FE using create-react-app but didn't know how we could create these components at that time.
And, YES! I agree with you! 👍🏻 Actually, we have 6 types of data at this moment: Developers, Analyses, Repositories, Containers, Language, Results.
We can create an issue (or two? whatever you prefer) for this refactoring, if you would like to work on them, of course! I will also be very happy to add the hacktoberfest on them so you can participate in our Hacktoberfest. What do you think? 😄


fix(payment): INT-4674 reinitialize payment on payment select

What? INT-4674
Added a reinitialize function when Google Pay payment is selected
Why?
So the wallet button works for changing the selected card when Google pay is selected
Testing / Proof
https://drive.google.com/file/d/1rsx-TU__hCeUxXce05YdYAGXLqXBP1D8/view?usp=sharing
@bigcommerce/checkout

♻ I added a unit test @bc-peng
please review again

♻ I added a workaround for the hardcoded assertion @bc-peng

💚  Tested!
PR has been validated and is working as expected.
Following scenarios has been validated:

AdyenV2 + Google pay orders
StripeV3 + Google pay orders
Change between cards on google account
Change between payment methods
Complete order with different payment methods
Change of payment method doesn’t restart the checkout flow.
etc.

Please review attached document with validation details.
INT-4674 Google Pay - Signing out of Google Pay to choose another payment method restarts the checkout flow .docx


Flaky ran with py.test counts skipped tests as failing and reruns them

It looks like flaky (version 2.1.1) counts an intentionally skipped test as failed, and will rerun it up to max_runs times before reporting it as failed and allowing the test to be counted as skipped.
Code that displays the problem:
import unittest, flaky

@flaky.flaky(max_runs=5)
@unittest.skip("example")
class SkipTestCase(unittest.TestCase):
    def test_skip(self):
        assert True

When run with py.test, this outputs
============================= test session starts ==============================
platform linux2 -- Python 2.7.8 -- py-1.4.27 -- pytest-2.7.0
rootdir: /home/jluke/Development/flaky-skip-demo, inifile:
plugins: xdist, colordots, timeout, flaky
collected 1 items

test_flaky_skip.py s
===Flaky Test Report===

test_skip failed (4 runs remaining out of 5).
	<class 'builtins.Skipped'>
	example
	[<TracebackEntry /usr/lib/python2.7/site-packages/_pytest/unittest.py:114>, <TracebackEntry /usr/lib/python2.7/site-packages/_pytest/runner.py:468>]
test_skip failed (3 runs remaining out of 5).
	<class 'builtins.Skipped'>
	example
	[<TracebackEntry /usr/lib/python2.7/site-packages/_pytest/unittest.py:114>, <TracebackEntry /usr/lib/python2.7/site-packages/_pytest/runner.py:468>]
test_skip failed (2 runs remaining out of 5).
	<class 'builtins.Skipped'>
	example
	[<TracebackEntry /usr/lib/python2.7/site-packages/_pytest/unittest.py:114>, <TracebackEntry /usr/lib/python2.7/site-packages/_pytest/runner.py:468>]
test_skip failed (1 runs remaining out of 5).
	<class 'builtins.Skipped'>
	example
	[<TracebackEntry /usr/lib/python2.7/site-packages/_pytest/unittest.py:114>, <TracebackEntry /usr/lib/python2.7/site-packages/_pytest/runner.py:468>]
test_skip failed; it passed 0 out of the required 1 times.
	<class 'builtins.Skipped'>
	example
	[<TracebackEntry /usr/lib/python2.7/site-packages/_pytest/unittest.py:114>, <TracebackEntry /usr/lib/python2.7/site-packages/_pytest/runner.py:468>]

===End Flaky Test Report===

========================== 1 skipped in 0.01 seconds ===========================

I see no reason why flaky would try to rerun a skipped test multiple times.

It looks like nosetests works correctly:
S
===Flaky Test Report===

===End Flaky Test Report===
----------------------------------------------------------------------
Ran 1 test in 0.003s

OK (SKIP=1)


BUG:

name: Bug report
about: Create a report to help us improve
title: 'Spinner Issue when existing repo is imported from GitHub'
labels: ''
assignees: ''

Describe the bug
When I tried importing an existing repository into a 'node' project, the spinner wouldn't stop spinning even after the repo files had been imported.
The repository was a Vue project.
Link to the blitz that caused the error
https://stackblitz.com/edit/node-t6wlbv?file=src%2Fmain.js
To Reproduce
Steps to reproduce the behavior:

Go to 'connect repository'
Click on 'import existing repository'
See error

Expected behavior
Repository is expected to be imported and the spinner is expected to stop.
Version of webcontainer
Hash: 7286dbe8d47d3473cde7be488b7d048fb59b05f2
Screenshots

Desktop (please complete the following information):
Browser name  = Edge
Full version  = 90.0.4430.212
Major version = 90
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/90.0.818.62
performance.memory = {
totalJSHeapSize: 93067694,
usedJSHeapSize: 88421094,
jsHeapSizeLimit:<PHONE_NUMBER>
}

There are some issues with our current git integration. We are currently working on a completely revised version that should fix all existing issues with it.


Add "Onboarding" Source for Campaign Signups

FEATURE OVERVIEW
User Story
As an admin, I want to track users that sign up for additional campaigns through onboarding.
Why This Matters

For campaign signups, our definition of 'new' is based on a member creating an account and signing up for a campaign within five minutes. Now that we're prompting users to sign up for multiple campaigns, adding a source will let us know which campaign the new member signed up for first.
This will also give us insight on the effectiveness of this slide.

This was already an issue which I closed? https://github.com/DoSomething/phoenix/issues/6759

Sorry about that!


Dropdown with multiselection

Reactsrap is missing a component like this from Semantic UI
https://semantic-ui.com/modules/dropdown.html (see Multiple Selection)

You mean bootstrap is missing a component like that from Semantic UI. reactstrap only implements bootstrap in react, replacing the need for bootstrap.js which is jQuery based and doesn't play too nice with react and making it so you don't have className all over the place to apply the bootstrap classes. If bootstrap doesn't have it, neither should reactstrap.
I personally use react-select for that type of functionality.


Keyboard has extra padding above

Steps to Reproduce
I have created a minimal example on my Stack Overflow question https://stackoverflow.com/questions/56105265/keyboard-is-adding-extra-padding-above
I have a Widget below my CupertinoApp (this does it with MaterialApp as well) which works fine until you focus on the CupertinoTextFieid (or TextField). Because we have a 50px Object below the App Widget, what look like extra "padding" is added above the Keyboard. It's just shows a blank space

[✓] Flutter (Channel master, v1.5.9-pre.220, on Mac OS X 10.14.4 18E226, locale en-NZ)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
[✓] Android Studio (version 3.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.1.2)
[!] VS Code (version 1.9.1)
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (1 available)

While adding a Widget next to a MaterialApp or CupertinoApp in a Column shouldn't cause the white space above the focused keyboard IMO, I have fixed this by wrapping CupertinoApp in Scaffold and moving the bottom bar navigation into the Scaffold bottomNavigationBar


WASP pipeline plus parquet integration

This PR adds a first draft WASP pipeline (reduction with bias/flats, astrometry, photometry, stacking, subtraction using PS1, forced photometry based on target info in header).
This PR also adds Parquet file integration. So the final output of the wasp pipeline is a parquet file with photometry and metadata. It includes loading parquet files and turning them back into mirar source tables. I think this finally solves the issue of 'what format should source tables be saved' (cc #832).
This PR also adds CSV exporting, but this csv integration is one way only. It puts all the metadata into every row.
It also adds a nice CLI option --failfast, which basically causes the code to stop at the first error it encounters. Very helpful for code development.
Lastly it includes a couple of minor fixes (e,g deleting commented code, adding a couple of str functions etc)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

191 of 314 (60.83%)  changed or added relevant lines in 19 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.6%) to 85.288%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

mirar/pipelines/wasp/wasp_pipeline.py
16
17
94.12%

mirar/processors/astrometry/anet/anet.py
16
19
84.21%

mirar/processors/sources/csv_exporter.py
18
34
52.94%

mirar/processors/sources/parquet_loader.py
16
34
47.06%

mirar/processors/sources/parquet_writer.py
26
50
52.0%

mirar/pipelines/wasp/generator.py
20
48
41.67%

mirar/pipelines/wasp/load_wasp_image.py
13
46
28.26%

Files with Coverage Reduction
New Missed Lines
%

mirar/monitor/base_monitor.py
1
83.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.6%

Covered Lines:
10806

Relevant Lines:
12670

💛  - Coveralls


Custom Prow Plugin

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rcrozean
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [rcrozean]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/retest

/tests

/test prow-plugin-tooling-presubmit

/retest

/retest

/lgtm

@rcrozean: you cannot LGTM your own PR.

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/test prow-plugin-tooling-presumit

/retest

/test banana

/woof

@rcrozean:

In response to this:

/woof

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/hold

/test prow-plugin-tooling-presubmit

/lint

/retest

/retest

/retest

/woof

@rcrozean:

In response to this:

/woof

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/retest

/test banana

/retest

/retest

/retest

/test prow-plugin-tooling-presubmit

/override prow-plugin-tooling-presubmit

@rcrozean: Overrode contexts on behalf of rcrozean: prow-plugin-tooling-presubmit

In response to this:

/override prow-plugin-tooling-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/test prow-plugin-tooling-presubmit

/test prow-plugin-tooling-presubmit

merged upstream with aws/eks-distro-build-tooling#796


feat: register device from javascript using react native package

Allow users to register device from their app by calling CustomerIO.registerDeviceToken("token")  from their app.
NOTE
For testing sake, this app generates random alphanumeric strings same length as of APNS device token and FCM token. Do not expect the device to receive push notifications on these "stub" device tokens.

Pull request title looks good 👍!
If this pull request gets merged, it will cause a new release of the software. Example: If this project's latest release version is 1.0.0. If this pull request gets merged in, the next release of this project will be 1.1.0. This pull request is not a breaking change.
All merged pull requests will eventually get deployed. But some types of pull requests will trigger a deployment (such as features and bug fixes) while some pull requests will wait to get deployed until a later time.
To merge this pull request, add the label Ready to merge to this pull request and I'll merge it for you.

This project uses a special format for pull requests titles. Expand this section to learn more (expand by clicking the ᐅ symbol on the left side of this sentence)...

This project uses a special format for pull requests titles. Don't worry, it's easy!
This pull request title should be in this format:
<type>: short description of change being made

If your pull request introduces breaking changes to the code, use this format:
<type>!: short description of breaking change

where <type> is one of the following:

feat: - A feature is being added or modified by this pull request. Use this if you made any changes to any of the features of the project.

fix: - A bug is being fixed by this pull request. Use this if you made any fixes to bugs in the project.

docs: - This pull request is making documentation changes, only.

refactor: - A change was made that doesn't fix a bug or add a feature.

test: - Adds missing tests or fixes broken tests.

style: - Changes that do not effect the code (whitespace, linting, formatting, semi-colons, etc)

perf: - Changes improve performance of the code.

build: - Changes to the build system (maven, npm, gulp, etc)

ci: - Changes to the CI build system (Travis, GitHub Actions, Circle, etc)

chore: - Other changes to project that don't modify source code or test files.

revert: - Reverts a previous commit that was made.

Examples:
feat: edit profile photo
refactor!: remove deprecated v1 endpoints
build: update npm dependencies
style: run formatter

Need more examples? Want to learn more about this format? Check out the official docs.
Note: If your pull request does multiple things such as adding a feature and makes changes to the CI server and fixes some bugs then you might want to consider splitting this pull request up into multiple smaller pull requests.

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


[Feature Request] Advice for eleme.io website.

Existing Component
Yes
Component Name
Sidebar
Description
Please fix the document website left sidebar. It's not convenient to scroll up and down to find components...
thx

Will do in the next major version.


bug: Unable to create a construct 'ApiCheck' outside a Checkly CLI project.

Node.js version
v20.1.0 (have tested 14.x.x as well)
NPM version
9.6.4
@checkly/cli version
@checkly/cli/0.4.13 darwin-arm64 node-v20.1.0
Steps to reproduce
Honestly really not sure what caused this. I got this intermittently on CI/CD as well; this is the first time I've gotten it locally. This is the command that triggers it:
npx checkly test

What is expected?
Runs my tests.
What is actually happening?
Error: Unable to create a construct 'ApiCheck' outside a Checkly CLI project.
at Session.validateCreateConstruct (/Users/andenacitelli/akkio/node_modules/checkly/dist/constructs/project.js:95:19)
at new Construct (/Users/andenacitelli/akkio/node_modules/checkly/dist/constructs/construct.js:12:27)
at new Check (/Users/andenacitelli/akkio/node_modules/checkly/dist/constructs/check.js:13:9)
at new ApiCheck (/Users/andenacitelli/akkio/node_modules/checkly/dist/constructs/api-check.js:159:9)
at /Users/andenacitelli/akkio/tests/checks/api/celery-queues.check.js:8:9
at Array.map ()
at module.exports (/Users/andenacitelli/akkio/tests/checks/api/celery-queues.check.js:7:46)
at loadJsFile (/Users/andenacitelli/akkio/node_modules/@checkly/cli/dist/services/util.js:28:30)
at loadAllCheckFiles (/Users/andenacitelli/akkio/node_modules/@checkly/cli/dist/services/project-parser.js:39:41)
at async parseProject (/Users/andenacitelli/akkio/node_modules/@checkly/cli/dist/services/project-parser.js:27:5)
Any additional comments?
My directory setup is as follows:
checkly.config.js
tests/
  __checks__/
    browser/
      test1.spec.js
      ...
    api/
      test1.check.js

My checkly.config.js looks like this:
const { defineConfig } = require("checkly")

module.exports = defineConfig({
    projectName: 'Akkio',
    logicalId: 'akkio',
    checks: {
        activated: true,
        muted: false,
        runtimeId: '2022.10',
        frequency: 5,
        locations: ['us-east-1'],
        tags: ['website', 'api'],
        checkMatch: '**/__checks__/**/*.check.js',
        browserChecks: {
            frequency: 1,
            testMatch: '**/__checks__/**/*.spec.js',
        },
    },
    cli: {
        "runLocation": "us-east-1",
    }
})

Things I've tried:

checkly login
Delete and reinstall node_modules + package-lock.json
npx checkly test --config checkly.config.js
Uninstalling global version and running from a package.json script

Fixed by basically nuking Checkly from my system and reinstalling. My suspicion is that the global install has issues finding the correct directory.
npm uninstall -g checkly @checkly/cli
npm uninstall checkly @checkly/cli
npm i checkly
checkly test


A new class that is responsible for doing a single trade...

Note: for support questions, please join our Discord server

I'm submitting a ...
[ ] bug report
[X] feature request
[ ] question about the decisions made in the repository

So this is an idea that @askmike came up with in this PR: https://github.com/askmike/gekko/pull/1834. I would like to surface it here so that we don't loose track of it, as it deserves it's own issue.

I propose to create something a bit more clear and subtle: a new class that is responsible for doing a single trade (let's call him broker or execution strategy or so), it needs to:

Figure out if there is a limit on the size of the trade we can do.
If we can't do any trade (low funds) don't do anything.
If we can do a trade figure out what kind of trade we aim to do (sell X USD) and trigger an event (see #1850).
Try to buy sell according to current "limit order do not cross spread" strategy (explained here).
only when fully completed figure out trade statistics (average execution rate, amount that was traded, etc).
only after this upstream a trade event with the statistics.

The reason I want to pull this out is so that in the future we can have different execution strategies: the current one tries to get the best price - at the cost of execution speed (since it will always make orders it might take a long time before the trade is completed, especially when trying to catch a trend). Once it's split out we can easily create another one that will do a market order instead. Or one that tries to split the order out into multiple small ones (bigger traders need ways to take pressure of the market for example).

Great point.

Currently the trade method keeps executing itself if it's only partially filled.

This wasn't a problem before your PR since the whole balance was supposed to get swapped, but this is definitely limiting us right now in a lot of ways.

There may be better terminology options for the full trade and each trade attempt that is made until fully filled

Could you elaborate on what you mean with those names? I'm not following them.

@askmike I have given examples of possible terminology pairs. To demonstrate what I mean, if the terminology option  "Execute Advice and Trade" was chosen, then we would call the single action of conducting the trade "Executing Trade Advice" and the recurring action of making new orders until the fully filled "trades". The code would look something like this.
class Trade {
  method executeAdvice(what) {
    let filled=false;
    amount=getBalance();
    while(!filled){
      this.trade(what, amount);
    }
    console.log("Advice Execution was successful after 5 trades");
  }
  method trade(what, amount) {
    //code that creates order on exchange
  }
}

I'm leaning towards "Trade and Trade Orders" maybe? But I don't feel strongly:
class Trade {
method trade(what) {
let filled=false;
amount=getBalance();
while(!filled){
this.tradeOrder(what, amount);
}
console.log("Trade was successful after 5 trade orders at the exchange");
}
method tradeOrder(what, amount) {
//code that creates order on exchange
}
}

Yes that sounds great, so to go over the terminology:

advice is an advice coming from a strat to create trades to move a portfolio into a certain position.*
"trade" is a a number of buy or sell orders that completely move into a position.
"order" is a message we send to the exchange asking to create a (limit or market order)
based on the type of strat we might need to create a new different orders, however they are all part of the same "trade".
this way a "trade" will have one price (weighted average of all orders), one amount (sum of all orders) and one fee (weighter average of all orders).

*This is a basic advice that simple does one trade. I want to extend this logic to allow for advanced order types like stoploss-takeprofit where the advice can be something like:

right now BUY @ 1000, then:
if price < 950 SELL (stoploss)
if price > 1050 SELL (take profit)

If you omit the last one you have a simple stoploss, without any predermined take profit (until the strat creates a new advice or so). In the example above one advice would consist of: 1 direct trade, 2 potential trades (only one of the 2 might ever get executed). And each of these 3 trades will have a number of orders, depending on the type of trade (market, limit, stick to BBO).

@askmike @Ali1 I'm actively working on this Trade class now, will look over all your notes and submit a PR after some initial testing to see what you think.

This is a hyper-simplified outline of the general class, so a new Trade class is instantiated by the portfolio manager, which then runs itself until it's finished, or until it's deinitialized by the portfolio manager.
class Trade {
  constructor(manager,settings){
    this.manager = manager // store a reference to the portfolio manager
    this.advice = settings.advice // BUY/SELL
    this.activeOrder = false // currently executing order object
    this.orderHistory = [{},{}] // history of partially filled order objects
    this.averagePrice = 0
    this.averageSlippage = 0
    this.attempts = 0
    this.doTrade()
  }
  method doTrade() {
    // execute and track orders until trade is complete
  }
  method deinit(callback){
    // cancel open orders and shut down the trading process
  }
}

Let me know if this type of structure makes sense from your perspective. As I'm settings it up, this should completely plug into the existing system without any modifications to any existing files except portfolioManager

@ansonphong sounds great, but please don't to much all at once. I am also already working on stuff like this:

There is also a currency allowance, including a net currency allowance which has the option to compound gains which is stored one level up in the portfolio manager.

@askmike Noted, although due to how interconnected all the aspects of this PR is, I find it difficult to see how it could be done incrementally since it's an entirely new structure to how orders are executed.
That said, obviously it's up to you what is committed to the Gekko core, and I don't want to be presumptuous or duplicate efforts.
I also appreciate the amount of robustness and testing required for this, I'm open to alternative ways to combine efforts.

@ansonphong we can start by one simple PR that pulls current "create a trade" behaviour (as is) out of the portfolio manager (using all the subclasses you described or not). After that we can do one PR where this trade class doesn't just get a buy/sell signal but also an amount (for now we can keep this in portfolio manager). After that we can extend the new class to address problems/bugs in current implementation such as:

doesn't properly recalculate orders that were previously partially filled.
recreates orders, even in case the BBO did not change.
very slow in checking filled orders (needs to go below 1 second level) to be competitive.
etc.

And we can also start adding new trade execution strategies (stoploss, etc. all the stuff you described before).

My main point is that I really want to avoid huge changes in the codebase wherever possible, I think it's possible here since right now everything is inside a single class portfolio manager. It's going to be super complex to test and maintain if in one go we rewrite the whole thing, remember that it needs to work with all exchanges where Gekko can trade (10+ exchanges).

Let me know if you think this makes sense :)
On 24 Feb 2018 12:23, "phong"<EMAIL_ADDRESS>wrote:

@askmike https://github.com/askmike Noted, although due to how
interconnected all the aspects of this PR is, I find it difficult to see
how it could be done incrementally since it's an entirely new structure to
how orders are executed.
That said, obviously it's up to you what is committed to the Gekko core,
and I don't want to be presumptuous or duplicate efforts.
I also appreciate the amount of robustness and testing required for this,
I'm open to alternative ways to combine efforts.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/askmike/gekko/issues/1942#issuecomment-368198742, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA7MD01BuLE32I-oSPGphmWSJXl0mUztks5tX46ugaJpZM4SJnGL
.

@askmike Yes that makes sense, thanks for suggesting an initial pull request, we can do it as incrementally as possible. That seems like a clean first step.
I've been considering that there are many exchange files, I don't plan to modify any existing files except portfolioManager.js for this first PR for sure, and add two new files trade.js and order.js. Enhancements to the exchange classes can come later.
I'll work on getting it to work 'as-is' with the new implementation first, so that everything works normally in the same way, with a new structure, and we can kick the tires on that. This involves moving all of the order and trade execution logic into the new classes.
OK, for this step we can keep the trade amount in the portfolio manager.
Once that's deemed to be working properly, we can break it out so that the amount and even the pair is defined explicitly when creating a new Trade class.
I'm running node 8.9.3 locally, it's been running fine on Windows and Ubuntu, haven't tested extensively on Mac yet. I'd suggest we start switching to full ES6 as it makes the class definitions much less verbose, and the way it handles scopes for this is much more conductive to object oriented design patterns.
I'll let you know if any more questions. You can find me on the Gekko Discord, would be great to chat to coordinate might help things move faster, up to you.

To clarify the scope of changes, inside portfolioManager:

trade method is being modified
some additional supporting methods and properties are being added
the following methods are being changed / nested into the Trade class: buy, sell, noteOrder, cancelLastOrder, checkOrder
relayOrder is being instantiated differently, though will leave it in portfolioManager (for now)
Trade and Order classes are being added

I might have left something out, though that's the general idea. Currency allowance, etc, can come with a following PR.

And I agree with @askmike , first PR would be great if it could just be moving the code out of portfolioManager. Thanks @ansonphong

I created an initial PR here: https://github.com/askmike/gekko/pull/1968
This PR is a minimal breakout of the Trade functionality into a separate class. It's far from ideal, and contains too many references to the parent class (this.manager), which is not best OO practices, although the intention of this PR is not to complete an object oriented refactor but incrementally move toward a new structure, which will include everything as discussed in this thread.
In order to minimize changes, I omitted an Order class object from this PR, and will introduce that in a future PR as part of this series.
This has been tested buying and selling on the live market (Binance) and works as expected. Let me know if you find any issues with it.
@askmike What do you think about making a new branch for this series until it's fully refactored and tested, and then later we can merge into develop?

@askmike I updated the PR with the addition of a Portfolio class, it is thoroughly tested though not quite ready to merge yet, more here: https://github.com/askmike/gekko/pull/1968#issuecomment-374263784

@ansonphong major thanks a lot for your early work, it was the main inspiration for Gekko Broker that has now been released!


⚠ T:Riza Docs has degraded performance

In c46aef3, T:Riza Docs (https://docs.triza.dev) experienced degraded performance:

HTTP code: 200
Response time: 4017 ms

Resolved: T:Riza Docs performance has improved in 05c42ee.


bazel: Use remote_download_minimal where possible (/take2)

This is the second attempt to minimize downloads in the checks, this time without touching coverage

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

i have tested this without caching tests (ie same as postsubmit) and all appears to work as expected


What will be the Rust Foundation's relationship to other foundations?

Followup question to #8
Other foundations/groups might be better suited to support local communities, have their own projects or focus on topics not covered by the Rust Foundation.
Are there already ideas/thought/plans on what the Rust Foundation's relationships with such efforts will look like?

No plans at the moment! This will be for the Foundation itself to decide- but we’re excited for the possibility to have organizational relationships in the future!


Organization more than 5 members are not accepted and returned a Server Error 500

Issue: organization members more than 5 are not accepted
I am new to QFieldCloud. I registered myself as a new user and created one project.
The project needs more than 10 collaborators, thus I created an organization which is an owner of the project. The billing status is currently in a 'trial organisation'.
I invited several surveyors to QFieldCloud and they registered as new users.
They could be added to my organization up to five; however, when I tried to add a 6th member, it caused an error 'Server Error  (500)' as shown below.

I deleted the 5th member and added another surveyor as a 5th member. It worked.
However, when I added the 6th member again, this error happened again.
I checked several web browsers in Windows 10, and tried to add different users as 6th member, but the situation does not change.
The organization plan says that "Minimum two users, pay only for additional active users". It seems to be the reason why I cannot add other "Community" membeers. Do they need to be "Pro" only for joining to a project as a collaborator or the organization owner should pay for the additional members? If the latter case, why I cannot add the members over 6?
Else, should my account be "pro"?
user name: hideoshiraishi
organization name: KanazawaUniversity
project name: QFieldTraining
The survey is going to start in a few days and it is fatal issue to start the survey properly.
Your advice is highly appreciated.

@hideoshiraishi Thanks for your report, we will investigate your issue and report back soon.

@hideoshiraishi hey, thanks for reporting. You KanazawaUniversity organization is currently using a trial organization. Trial organizations have limit of up to 5 organization members. Please upgrade to standard organization to be able to add more members in your organization.
The error 500 is something that is suboptiomal and we are working towards having more human readable message.


Can't remove 'required'-rule when element has 'required'-attribute

When the element has a 'required'-attribute, you can't remove it by calling $(element).rules('remove','required').
https://jsfiddle.net/6hnw855z/1/
A pull-request to solve the problem will follow up.

try to use double quotes with "remove"
$(element).rules("remove",'required')

Closing for now. See https://github.com/jquery-validation/jquery-validation/pull/1746#issuecomment-372032944 for reason.


Friendly reminder that nflgame does not yet work with Python 3+

Was coming up often enough between IRC & issue tracker (#132 #146).
This should be easier to understand than an ImportError.

Thanks! This is a good stop gap measure until I can sort out the various Python 3 PRs...


Simplify RTD conda env

Fixes the failing doc builds: https://readthedocs.org/projects/shapely/builds/10532936/.
Docs here: https://shapely.readthedocs.io/en/rtd-memory-reduction/index.html.

Coverage increased (+0.1%) to 81.1% when pulling 1cb76d0f0f9f41f4483f8cd4c67367431636c8a4 on rtd-memory-reduction into 990df800d088542180bec4595e1ff13dc3447829 on master.


Typed JavaScript at Any Scale

Cool, I've fixed CI
/cc @kingwl - this might need an update for the zh version


Layout style

Fix top bar for Firefox
Spacing out home page image

Yes, its set to merge.
The simulation grid is working and the grid is factored out to its own component. I'm going to re-use it to display the status of simulations owned by the user and for the model module.
There's just one issue I haven't figured out. If you can figure it out, that would be great.

The styles for the grid are in src/styles.scss (organized into the .grid class). They should be in the grid component (src/app/Shared/Components/grid.sass). For reasons I don't understand, the styles weren't active when I tried to move them to the component.

* grid

I'll take a look at that.
One issue that I noticed:
When multiple columns are selected in the table, they are added without enabling horizontal scrolling within the table. If too many are added, then each column resizes to be too small, and cant be read. if there was a minimum size for each column equal to the text length and horizontal scrolling was used a user could scroll to see all the columns

The minimum width of the columns is now set based on the width of the table and the number of active (non-hidden) columns.

I am still seeing the issue. For example, here is the chart with all the columns added. much of the text is not visible

I think the min width is working now.

Still seeing it. Only slightly off with the sidebar closed but for so with it open.

We can adress that later though. I'll merge this in


Exposing all Chain data to the safe apps sdk

What it solves
Resolves https://github.com/gnosis/safe-react-apps/issues/235
How this PR fixes it
Exposing all Chain data to the safe apps sdk (all data except the rpcUri value):
In the AppFrame.tsx
    const chainInfo = getChainInfo()

   [...]

    // filtering rpcUri
    const { rpcUri, ...chainInfoWithoutRpcUri } = chainInfo

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 4 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.005%) to 32.303%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/routes/safe/components/Apps/components/AppFrame.tsx
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/routes/safe/components/Apps/components/AppFrame.tsx
1
0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.005%

Covered Lines:
3084

Relevant Lines:
8489

💛  - Coveralls

Closing this PR because we will be moving forward with a different approach.
Based on comments: https://github.com/gnosis/safe-apps-sdk/pull/264


Facilities around Blocked and Destroying

Suggested by @Kianenigma
If the pool state is in Blocked, and you are the state_toggler or root role, then you should be able to unbond and withdraw anyone else.
If the pool state is in Destroying, then anyone should be able to unbond and withdraw anyone, except the depositor

done by #78


Is it normal I don't see any TypeScript errors?

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
Hi,
I'm just trying the editor and wanting to set up my TypeScript project in it.
The types are displayed correctly in the tooltips, but I don't see any errors in the IDE when the type mismatch for example.
Is there anything I should be doing to enable this or is it not supported yet?
Environment
Zed: v0.112.3 (preview)
OS: macOS 14.1.0
Memory: 32 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

Hey @piotrkulpinski - thanks for the report. It looks like we definitely have an issue here. Other's have noticed it as well:

https://github.com/zed-industries/community/issues/2256

We will talk about it in today's meeting and I'll update on the other thread. I'm going to close this one out to so that we have a single place to post updates to.


Feature Request: Deserialization support for bson::Document

Postcard seems to serialize https://docs.rs/bson/2.6.1/bson/struct.Document.html okay (no error at least) but when I deserialize it back, I get WontImplement. It's not really clear to me why that is, a Document is basically just a HashMap under that hood and it implements the serde traits

Example:
    #[derive(Serialize, Deserialize)]
    struct Foo {
        matches: Vec<Document>,
    }

    let foo = Foo {
        matches: vec![doc! {"abc": "def"}],
    };

    let bytes = postcard::to_allocvec(&foo)?;
    let r: Foo = postcard::from_bytes(&bytes)?;

Error: This is a feature that PostCard will never implement

A HashMap<String, String> otoh produces identical bytes but is ok:
let bytes = postcard::to_allocvec(&{
    let mut h = HashMap::new();
    h.insert("abc".to_string(), "def".to_string());
    h
})?;
dbg!(&bytes);
let r: HashMap<String, String> = postcard::from_bytes(&bytes)?;

[src/main.rs:96] &bytes = [
    1,
    3,
    97,
    98,
    99,
    3,
    100,
    101,
    102,
]

I'd have to look at the code, but I think the only thing that we return that error is for the deserialize_any option, which is usually used for unstructured things like JSON.
basically, we can't really take something like:
{
    "abc": "def"
}

and turn it into
struct {
    abc: String,
}

I'm not familiar with BSON, are fields optional/nullable in that format? It's possible that they use deserialize_any in a non-derived deserializer implementation. You may be able to work around this with serde's deserialize_with attribute to first deserialize as a HashMap, then convert that into a Document.

Yeah, it's basically binary serialized JSON

Yup, unfortunately, I don't think I can support this. You can likely add a step to deserialize it as a hashmap then convert that to a Document, but we also don't support something like serde_json::Value.
Since the Document type uses serde's deserialize_any API rather than deserializing from a sequence of key:value pairs, postcard has no way of knowing that this is the intent.
My best suggestion is to make a wrapper function for deserialization that does the conversion, and use serde's deserialize_with attributes to call out to this function.
I'll close this, but feel free to reopen if you think there's something I missed!


Can a specific world have a different default rank?

I want to know if there is a way to still keep a normal global default rank but at the same time have a world have a different default rank? I've tried to do so but am not sure if this would be the correct code:
  F:     prefix: '&f[&cF&f]'     permissions:     - essentials.warps.f     worlds:       Prison:         default: true

World-specific groups may be a function of PEX 2.0 (don't quote me on that; I have no experience with that version), but they're definitely not part of PEX 1.x versions.
Users are members of groups, not members of worlds.  Keep in mind that with global and multiworld permissions, you can completely control who can do what on which world.

Thanks!

I think it might actually be possibly to set a group as default in only one world. While a group itself is global, the data within it can be restricted by world. You'd want to just set the default option to true in the appropriate world.

I thought
{{{
options:
default: true
}}}
was not allowed in multiworld settings.

Isn't the setting
options:
  default: true

only for groups?
That can't be put under the worlds: section of a group, can it?

Isn't the setting
options:
  default: true

only for groups?
That can't be put under the worlds: section of a group, can it @zml2008 (for PEX 1.x or 2.x)?
    worlds:
      FirstWorld:
        options:
          default: true
        permissions:
        - modifyworld.*
      SecondWorld:
        permissions:
        - modifyworld.*

I thought what he was asking for was "everyone on the server is in the group 'xxxxxxxx', but on the world 'Prison', everyone is in the group 'yyyyyyy'."


Remove system mode networking from main build (dev purpose)

As of now we support system mode and user mode networking for all platform and in windows/mac user mode is default for releases and system mode for dev builds. This create bit confusion and also dev forget to test what is going to delivered with release so better to make it default for both release and dev side.

and keeping system mode around for debugging purposes


Explore auto translation pipeline for multilingual version

It would be time consuming to translate everything into English, let alone all other potential languages.  Hence, it would only make sense for the multilingual version if we could automate at least the majority of the translation labour.
One thinking I'm currently having is to use LLM services to do the translation, and ask some human labours to check the results.
What needs to be done is to explore how exactly such translation can be done by LLM.

vs code works well with copilot on translation.  However, some issues may occur due to its non-perfect performance.  The translator speaks both Chinese and English to do this.


WebStorm 2019.2.2, works only in commit messages

Which language or file type did you use?

@GrayStrider

It seems working to me. I cannot use 2019.2.2 because the version has a terrible bug with Japanese IDE.
WebStorm 2019.2.3
Build #WS-192.6817.13, built on September 24, 2019
Runtime version: 11.0.4+10-b304.69 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
GC: ParNew, ConcurrentMarkSweep
Memory: 725M
Cores: 8
Registry:
Non-Bundled Plugins: com.github.shiraji.yaemoji

Oh, I'm very sorry; I had to initiate it with Ctrl + Space; I'm used to that occuring automatically.


Update .clang-format to more accurately show the actual style

There hasn't been enough drama lately, and we all know the quickest way to create dev drama is to talk about style ;)
Changes explained:
BinPackArguments: true allows multiple arguments to be on the same line if needed.
false requires each param to be on a new line if the line needs to be split.
ex:
void f() {
  f(aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa,
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
}

BreakBeforeTernaryOperators: true was prior false. true reads easier imo and is clearer
ex:
true
veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongDescription
    ? firstValue
    : SecondValueVeryVeryVeryVeryLong;

false
veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongDescription ?
    firstValue :
    SecondValueVeryVeryVeryVeryLong;

ColumnLimit:     128
This means that once a line gets over 128 columns long, it will be likely to be broken in the next couple of chars depending on the situation(will sometimes be a little longer to keep a string together etc based on the penalties below). Based on the current clang file it basically means that single expressions should NEVER get split, which is definitely not the style we actually follow.
Penalties
For each column above 128 there is a penalty of 5. That means that single strings and other situations where you don't want a break can be normally held together longer even if it is strictly over the column limit.

Based on the current clang file it basically means that single expressions should NEVER get split, which is definitely not the style we actually follow.

This is not accurate imo, see https://clang.llvm.org/docs/ClangFormatStyleOptions.html:

A column limit of 0 means that there is no column limit. In this case, clang-format will respect the input’s line breaking decisions within statements unless they contradict other rules.

I'd keep ColumnLimit as is.

Interesting... It looks like it only squashed lines for https://github.com/PastaPastaPasta/dash/commit/1dca0c6bd4bb626033e020d253d81131d43464dd#diff-6e1f8089e8fd6f74c2080971eb37f792R139 but not https://github.com/PastaPastaPasta/dash/commit/1dca0c6bd4bb626033e020d253d81131d43464dd#diff-6e1f8089e8fd6f74c2080971eb37f792R659. The former should really be split into smth like
std::string strMessage = strprintf("Version must be %d or greater", MIN_GOVERNANCE_PEER_PROTO_VERSION);
connman.PushMessage(pfrom, CNetMsgMaker(pfrom->GetSendVersion()).Make(NetMsgType::REJECT, strCommand, REJECT_OBSOLETE, strMessage));

for better readability anyway. Btw, I would also personally prefer to keep an indentation for the later (LogPrintf) and alike as is i.e. set ContinuationIndentWidth: 8. And while we are at it, I also like BreakConstructorInitializers: AfterColon option :)
Another interesting thing I noticed is https://github.com/PastaPastaPasta/dash/commit/1dca0c6bd4bb626033e020d253d81131d43464dd#diff-6e1f8089e8fd6f74c2080971eb37f792R598 which looks weird but that's probably because we should have break; inside of the curly braces in the first place... 🙈

Okay, integrated those changes. Still not sure bout column limit ¯\(ツ)/¯
Reformatted governance.cpp is below, that branch has been rebased on top of this updated clang.
https://github.com/PastaPastaPasta/dash/commit/8326b4c6fc095c3a4111ff74af00c9b1cb246a7f

Just added AlignConsecutiveAssignments: true which means the following will be the standard:
int aaaa = 12;
int b    = 23;
int ccc  = 23;

Based on a lot of code, that is a normal standard we have been doing

Re governance.cpp example file, reverted the two prior formatting changes, and formatted with the .clang in https://github.com/dashpay/dash/pull/2299/commits/9bd9a2a28d5ec705db1619ba600f8afb7747721e that commit can be found here https://github.com/PastaPastaPasta/dash/commit/d594496276f26e3b9763f4cdca40566db4149b0b

Also reverted https://github.com/dashpay/dash/pull/2299/commits/fc4a4a54f7b0d9e725179a3ee1bf0808c08b0da6, although I think it is a good standard for a lot of code, it does seem too aggressive in .clang-format

@nmarley you seem to care about this, thoughts?


CVE-502 vuln for log4j2 version

https://cwe.mitre.org/data/definitions/502.html
Introduced through: javabeanz/owasp-security-logging@javabeanz/owasp-security-logging#38dce79070bb868a9c734cb24cbfb6fece629c05 ›<EMAIL_ADDRESS>Remediation: Upgrade to<EMAIL_ADDRESS>

More info:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5645
https://issues.apache.org/jira/browse/LOG4J2-1863

This is more than a simple version update: Many of our test classes depended on InitialLoggerContext, which has been renamed to LoggerContextRule. The usage of LoggerContextRule has changed as well.
I am in progress updating the test cases.


GDB context facade generalized register width improvement

Some fixes and improvements to GDBContextFacade.
A set of arbitrary-width conversion utilities is added, along with unit tests. These are then used in GDBContextFacade to simplify and make more general the code to read and write register contexts for GDB. There are also some fixes related to log messages in cases where a register could not be read.

/morph test

/morph test

/morph test


Add options to customize the authorization scope to support various types of authorization providers.

Add options to customize the authorization scope to support various types of authorization providers. i.e. Azure AD.

@ekarankow , thank for your suggestion. We are working on it

Can not be verified manually on staging.


Make "attribute value" slot abstract

Change sole slot with "attribute value" range to be "text value".
Can change doi slot to be another subclass of "attribute value" later.
Closes #12

I use the classes in the nmdc.py for ETL. So, I am not sure how this will affect ETL.
Marking as draft for now.

@dwinston This PR is quite old. Going to close for now. You can re-open if you wish.


WildFly server reload leads to multiple CamelContextRegistry instances in CamelContextTrackerRegistry

If you use the reload command via the WF CLI, it leads to some very odd behaviour. I tracked it down to CamelContextRegistryImpl doing the following in its constructor:
CamelContextTrackerRegistry.INSTANCE.addTracker(this)
Every time CamelContextRegistryImpl is created, a new tracker instance is added to the registry.
We should unregister the tracker when the CamelContextRegistryService is stopped.

This is the root cause of https://github.com/wildfly-extras/wildfly-camel/issues/1658.


New API to estimate purchase cost

This is something we've discussed on other channels, but it would be great if we could have an API to estimate the total + line-item costs (i.e. shipping, coupon, taxes, Bitcoin tx fee) for purchasing an item. This can be shown to the user and it saves client developers from having to replicate the challenging calculation (and potentially getting it wrong).

I think you've already got an open issue for this.

Quite right, apologies. Duplicated here https://github.com/OpenBazaar/openbazaar-go/issues/399


Release 1.3.0.Beta24

Summary
Releases 1.3.0.Beta24.
Release contains:

https://github.com/quarkus-qe/quarkus-test-framework/pull/842
https://github.com/quarkus-qe/quarkus-test-framework/pull/843
https://github.com/quarkus-qe/quarkus-test-framework/pull/846
https://github.com/quarkus-qe/quarkus-test-framework/pull/847
https://github.com/quarkus-qe/quarkus-test-framework/pull/848
https://github.com/quarkus-qe/quarkus-test-framework/pull/849

Please check the relevant options

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Release
[ ] Dependency update
[ ] Refactoring
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] This change requires a documentation update
[x] This change requires execution against OCP (use run tests phrase in comment)

Checklist:

[ ] Example scenarios has been updated / added
[ ] Methods and classes used in PR scenarios are meaningful
[x] Commits are well encapsulated and follow the best practices

run tests

run tests


pretrained models

Hi @jgkwak95,
thanks a lot for sharing the code for your work, it is very interesting, the results look impressive. Any chance you may also share the pretrained models? It would be very useful.
Thank you very much !

Hi @belgacemi , thanks for your attention.
It will be available within the next week.


Prefilling Room Database with JSON Data in Android

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #6926

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Plagiarism check complete. Please rename your branch and folder name to use lowercase.

Hello @louisefindlay23 have fixed the issue

cc @BrianaNzivu
any update on this review? Lets be sure to glance at the content before we dive into our review to see if any glaring issue exist.

cc @BrianaNzivu
any update on this review? Lets be sure to glance at the content before we dive into our review to see if any glaring issue exist.

Working on it.

Hello @BrianaNzivu have made the requested changes


Allow user to login and sign login message over any network

This Pr and the https://github.com/Giveth/giveth-next/pull/314 would be merged at the same time

LGTM
@mohammadranjbarz merge whenever the frontend is ready


Fix msys detection with new winapi.

Ever since winapi version 0.3.5, tty detection for msys terminals has been
broken.  The definition for FILE_NAME_INFO struct changed in
retep998/winapi-rs#607, causing the first character from the filename to be cut
off.

Nice fix! I think I buy it. @retep998 Was this sort of breakage intentional? Or was the way we were using FILE_NAME_INFO previously just flat out wrong?

Also, does this fix work with winapi >=0.3.0, <0.3.5?

That sort of breakage was not intentional, but it's also the sort of breakage that should not affect anyone because people should not be assuming that the offset of the unsized field is the same as the struct's size. The new code is definitely much better.

Also, does this fix work with winapi >=0.3.0, <0.3.5?

I tested with winapi 0.3.0 on a variety of windows shells, and they all seem to behave correctly.

Thank you folks!

@retep998  @BurntSushi I tagged and published a new crate version 0.2.11

@softprops Awesome, thank you!


[6.0] Adopt SwiftPM ModulesGraph initializer API adjustment

Explanation:
Cherry-pick of https://github.com/apple/sourcekit-lsp/pull/1233 paired with https://github.com/apple/swift-package-manager/pull/7541
ModulesGraph.init was changed by https://github.com/apple/swift-package-manager/pull/7530 to accept packages as a way to avoid having to recompute the full list of packages by walking roots.

Scope: NFC change

Main Branch PRs: https://github.com/apple/sourcekit-lsp/pull/1233

Risk: Very Low

Reviewed By: @ahoppen

Testing: No new tests are necessary

(cherry picked from commit 2270631a32eeb83b9a63bca8d643c9240be91151)

https://github.com/apple/swift-package-manager/pull/7541
@swift-ci please test

https://github.com/apple/swift-package-manager/pull/7541
@swift-ci please test

https://github.com/apple/swift-package-manager/pull/7541
@swift-ci please test


hi,I have a problem, please take a look

When the number of  data grid columns exceeds the screen width and slide to the screen to view the data, the content is blank

Can you provide

target platform name(ios, android)
device name
sample code that issue can be reproducable

hi，thank you for  your reply.
Platform：Android（Android 12）
Device Name：Mi10（xiaomi 10）

`            WebApiResult<List> _result = await iRecordService.GetDeviceDataAsync(dev.id, dataType, selectDate.ToString("yyyy-MM-dd"), selectDate.AddDays(1).ToString("yyyy-MM-dd"));
        if (_result.code != 1)
            return;

        if (_result.data == null)
            return;

        DevDataTable =  _result.data;`

You should use constant with for each column and DataGrid itself when you are using inside a ScrollViewer.


[Bug]: exception events are inconsistently placed in the callback trace map

Bug Description
LlamaIndex's callback system passes exception events that are distinct from the events from which the error arose. Callback implementers must infer from which callback event the exception arose from the trace_map passed to end_trace. However, the position of the exception event in the trace map relative to the event from which the exception arose is not consistent. Most of the time, the exception event is a sibling of the event from which it arose, but when the exception arises from a node post-processor like the Cohere re-ranker, it is a child. This makes it difficult for callback implementations to consistently attribute the exception to the correct event.
Ideally, exception information would always be attributable to an easily identifiable event in the trace map. There are several options:

Exception events are siblings of the event causing the error (how it currently works most of the time)
Exception events are children of the event causing the error (how it works for node post-processors)
Exceptions are not distinct callback events. Instead, exception information is passed to the on_event_end hook of the event in which the exception occurred (this might be the easiest to handle from the perspective of the callback implementation)

Version
latest main (a31d3c89)
Steps to Reproduce
This script shows how exception events can be siblings of the events causing the exception. It mocks a error from the OpenAI chat completions API and produces this output:
└── query
    ├── retrieve
    │   └── embedding
    └── synthesize
        ├── templating
        ├── llm
        ├── exception
        ├── exception
        └── exception

This script shows how exception events can be children of the event causing the exception. It mocks a CohereAPIError on the reranker client and produces the following output:
└── query
    ├── retrieve
    │   └── embedding
    └── reranking
        ├── exception
        ├── exception
        └── exception

Relevant Logs/Tracbacks
No response

Related to this ticket: https://github.com/Arize-ai/phoenix/issues/1618

I like the idea of attaching to the on-end of the actual event 🤔 It would also solve the issue of duplicate error events

I think I have a fix!
The sibling script prints this now:
└── query
    ├── retrieve
    │   └── embedding
    └── synthesize
        ├── templating
        ├── llm
        └── exception

The child script print this now:
└── query
    ├── retrieve
    │   └── embedding
    └── reranking
        └── exception

Will open a PR in a sec :)

Ok been exploring a few fixes -- I think the root issue here is that at some point we specified that LLM events (and a few others) are LEAF_EVNTS -- meaning they can't have children, hence, the odd sibling vs. child issue.

Ok, decided to attach the error to the event.
With a slight change to the example scripts to check the payload of events, the traces look like this
"sibling" script check
└── query
    ├── retrieve
    │   └── embedding
    └── synthesize (error)
        ├── templating
        └── llm

"child" script check
└── query
    ├── retrieve
    │   └── embedding
    └── reranking (error)

If an error happens outside of an event, but still within a trace, it will get logged as an actual exception event as before (But this should be extremely rare I think)

Awesome, thanks for the quick fix @logan-markewich!

Ok, decided to attach the error to the event.
With a slight change to the example scripts to check the payload of events, the traces look like this
"sibling" script check
└── query
    ├── retrieve
    │   └── embedding
    └── synthesize (error)
        ├── templating
        └── llm

"child" script check
└── query
    ├── retrieve
    │   └── embedding
    └── reranking (error)

@logan-markewich Thanks for the quick fix on this! Exception events arising from the Cohere re-ranker are now attached to the re-ranker spans! See the image below:

For a rate-limit error, I think the exception information should be associated with the LLM callback event rather than the synthesis event. Is it possible to change to this behavior?
In the example script, the output would look like:
└── query
    ├── retrieve
    │   └── embedding
    └── synthesize
        ├── templating
        └── llm (exception)

Oof. It's not easy to fix/change that I think 😅

Oof. It's not easy to fix/change that I think 😅

Got it, no worries @logan-markewich. It's a small issue.


Change delete UserProfile behavior

Right now on the UserProfileController we have a DELETE action. Of course we also have a Command and CommandHandler for that in the Application project.
When implementing identity, when a user is registered, we also create a user profile for the new identity.
This behavior should be mirrored when it comes to deleting user profiles. Following points need to be implemented:

Remove the Delete action from the UserProfileController, including associated code (commands, handlers and whatever might be associated with that)
Create a new DELETE endpoint on the IdentityController.

endpoint should be authorized. Only authorized users can perform a DELETE operations
implement the needed commands and handlers
make sure that only the owner of the user profile can perform this actions. (this is done by examining the claims of the user. Take a look at the PostController in the UpdatePost or DeletePost actions and corresponding command handlers for reference on how this is done)

The DELETE command handler should perform two actions

DELETE the UserProfile (I guess right now, when you delete a profile, all posts, comments and interactions associated with that profiles will also probably be deleted. That is OK for now. Maybe later we'll implement the idea of soft deletes and accounts restore)
DELETE the associated IdentityUser
These operations should be wrapped in a transaction so that we have a guarantee that changes in the DB will be applied only if all operations are successful. You can take a look in the RegisterUserHandler for reference

Please feel free to comment on this if you feel that anything else should be added to this issue.

Implemented


Restore network connectivity after container restore

This is a work-in-progress implementation of restoring network connectivty
after container restore.  Its main purpose is for testing and starting
a conversation for a production-quality implementation.
Signed-off-by: Saied Kazemi<EMAIL_ADDRESS>

hi , doest this means we will get a 'Broken pipe error'.
I faced a issue that:
docker run  -d -p xx:xx --name server server        #run as a server , bind and listening to some port.
after docker checkpoint and restore .
I can not connect to the server anymore.
sock.sendall(data)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 32] Broken pipe
thanks

Please use Ross Boucher's docker-checkpoint-restore branch for checkpoint restore.

thank you! I had used the master branch of Ross Boucher.
But I found this  https://github.com/boucher/docker/pull/19
After applied the --net=host option, I found the process numbers has difference.
without option , docker will create two process.
root     23376  0.1  1.5<PHONE_NUMBER>4 ?        Sl   22:35   0:00  _ docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-
root     23394 23.3  4.2<PHONE_NUMBER>6 ?        Ssl  22:35   0:01  _ ./moped_server -j 2
It could cased because of the FIFO between two process was not handled very well.


Incompatibility with Office for XP

Describe the bug
If you install Office XP 2002 on the same machine as this browser, the browser will fail to launch.
To Reproduce
Steps to reproduce the behavior:

Install Supremium
Install Office XP 2002
Attempt to Launch the browser
The Browser does not launch

Expected behavior
The Browser to launch and function
Desktop (please complete the following information):

OS: Windows XP Version 2002 SP3
Bitness of browser- 32

Unfortunately I cannot reproduce this issue. I installed Office XP Professional with FrontPage with all products (but not a "complete" install, which means things like clipart libraries are likely not present) and the browser continues to function.
Someone tried to produce a link between Office and Supermium instability with 121, but it turned to be an issue with msctf which was resolved (and happened to be unrelated with Office, as it actually appeared after POSReady updates were installed).
Please send crash dumps from X:\Documents and Settings%username%\Application Data\Supermium\User Data\Crashpad\reports (or wherever your Supermium user profile is located).

Update: No crash dumps. I tried running it a few times and the window appeared then quickly disappeared. Other things to note: I chose a complete install of office XP, and uninstalling office fully causes the browser to work again.

I wonder if dumps will appear with this progwrp.dll? I still cannot reproduce anything on my testing systems, but this could help.
progwrp_32.zip

Update:II tried placing the files provided in the root directory of the browser, but still, no crash reports. There was already a file named progwrp.dll which I overwrite after making a backup.

@win32ss I can confirm this too. Vanilla Windows XP SP3 with all official updates, but no unofficial or POSReady ones. Installing Office XP, Office 2003, or Office 2007 causes Supermium to not run. The host process will launch, and it will keep trying to spawn renderer processes, but as soon as it is created it is killed. Office 2000 and Office 2010 are OK and don't affect it. This affects Supermium M121 - M122, and using your updated progrwp.dll provided above yielded no difference.
At first I thought I was going crazy or must have screwed something up. Took me AGES to figure out that Microsoft Office of all things was bringing supermium down to its knees.

@win32ss I can confirm this too. Vanilla Windows XP SP3 with all official updates, but no unofficial or POSReady ones. Installing Office XP, Office 2003, or Office 2007 causes Supermium to not run. The host process will launch, and it will keep trying to spawn renderer processes, but as soon as one is created it is killed. Office 97/2000 and Office 2010 are OK and don't affect it. This affects Supermium M121 - M122, and using your updated progrwp.dll provided above yielded no difference. I also disabled preloading of office (Office XP/2003 feature that's on by default), that didn't fix it either.
At first I thought I was going crazy or must have screwed something up. Took me AGES to figure out that Microsoft Office of all things was bringing supermium down to its knees. For now, I'm just using Office 2000 because it still has Clippy and the 256 Color icons which is what I want for nostalgia, but would prefer to run Office XP. I'm sure @GlacierPark19 also wants the older office for nostalgia.

Could you try running it with --single-process and/or --enable-logging?

@win32ss Can-do sir.

@win32ss @GlacierPark19 Fixed since M122 R2 + manually downloaded latest progwrp.dll. Closing issue now.


Updated RoslynPadReplSample sample to .NET Core + latest version of RoslynPad.Editor.Windows

Hi! I've worked on embedding RoslynPad into my app recently and found the example a little bit outdated, so submitting a fix for it.
The example project is now dual-framework (.NET Core + .NET FW 4.8) and I've made sure that both frameworks are running fine.
Please let me know if you'll require additional changes.

Thanks for fixing the sample, I've been meaning to do that :)


kafka(ticdc): index-value dispatcher support set index names.

What problem does this PR solve?

Issue Number: close #9821
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
allows user specify the index name for the index-value dispatcher

/test cdc-integration-mysql-tes

/test cdc-integration-mysql-test

/retest

/hold
This PR is still under testing, not ready for review yet.

/unhold

Please explain the detailed design in pr body.


Convert segment to JSON string

Hi,
So I want to use get_skip_segments to fetch segments from a YouTube video in JSON format, so JavaScript can use it.
However, the results are apparently Segment objects inside a list wrapper.
Is there a way for me to convert the segment objects into a JSON string, so I can use it for JavaScript?
Because I now get this error: TypeError: Object of type Segment is not JSON serializable

import json

json.dumps(segment.data)```

Thanks!

Also I may ask, why aren't you using something speficispecifically made for javascript like https://www.npmjs.com/package/sponsorblock-api?

Because I'm building a web application with Python + Flask as backend and JavaScript / CSS / HTML as frontend.
Here's my repo
Basically, my frontend will send an Ajax call to my backend (python) and my backend will fetch the data with your library, and send it back to JavaScript, and JavaScript will show it to the end-user.

@JVT038 Oh nice, good job!


Image and Latex Equations are not properly loaded/rendered

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I've agreed with the maintainers that I can plan this task.

Description
In the Behavior path planner path generation documentation , there are some images and latex equations are not loaded properly.
However, the same image and equations are shown correctly for the same document but in github readme
I will be very beneficial if this can be fixed in autoware documentation as well.
Purpose
Fix the image and latex equations loading for having better reading and understanding of autware documentation
Possible approaches

Check if autoware.github.io can access the images to be loaded (could be a broken path)
Check if autoware.github.io have proper rendering plugins for latex equations

Definition of done
To see the same output properly shown in Behavior path planner path generation documentation , as in github readme

cc: @kenji-miyake

Related: https://github.com/autowarefoundation/autoware.universe/issues/1568
This is because of the difference between the Markdown grammar of "GitHub" and "Material for MkDocs".
For images, the format <img src="./image/path_shifter.png" width="800"> cannot be used.
Please use [path_shifter](./image/path_shifter.png) instead.
For Latex, we need to use $$ instead of ```math.
cc @TakaHoribe (The author of https://github.com/autowarefoundation/autoware.universe/pull/2428)

@ahmeddesokyebrahim could you please take a look at the proposed solution.

I have tested the proposed solution by @kenji-miyake in this branch :
https://github.com/ahmeddesokyebrahim/autoware.universe/blob/ahmedebrahim/aw-doc/path-generation-readme/planning/behavior_path_planner/behavior_path_planner_path_generation.md
And it looks like that we either sacrifice github doc or github readme.
I will not create a PR and close the issue with this comment.