text:
Wfcore 505 test

https://issues.jboss.org/browse/WFCORE-505
I found that previous fix I made in WFCORE-505 is incomplete.
Add a test to cover the scenario.

Windows Build 1203 is now running using a merge of bafbd6af9c86398ba7949582ae9ac2296348021c

Core - Full Integration Build 804 is now running using a merge of bafbd6af9c86398ba7949582ae9ac2296348021c

Linux Build 1550 is now running using a merge of bafbd6af9c86398ba7949582ae9ac2296348021c

Linux Build 1550 outcome was FAILURE using a merge of bafbd6af9c86398ba7949582ae9ac2296348021c
Summary: Tests failed: 1 (1 new), passed: 3092, ignored: 66 Build time: 0:19:35
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.manualmode.management.cli.CLIEmbedServerTestCase.testBuildServerConfig: <no details avaliable>

Windows Build 1203 outcome was FAILURE using a merge of bafbd6af9c86398ba7949582ae9ac2296348021c
Summary: Tests failed: 1 (1 new), passed: 3092, ignored: 66 Build time: 0:20:24
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.manualmode.management.cli.CLIEmbedServerTestCase.testBuildServerConfig: <no details avaliable>

Core - Full Integration Build 804 outcome was FAILURE using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5
Summary: Tests failed: 1 (1 new), passed: 2846, ignored: 412 Build time: 0:50:24
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.jca.datasource.remove.EjbAppDsRemoveTestCase.testDatasourceRemove: <no details avaliable>

Linux Build 1551 is now running using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5

Windows Build 1204 is now running using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5

Core - Full Integration Build 805 is now running using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5

Windows Build 1204 outcome was SUCCESS using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5
Summary: Tests passed: 3093, ignored: 66 Build time: 0:20:30

Linux Build 1551 outcome was SUCCESS using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5
Summary: Tests passed: 3093, ignored: 66 Build time: 0:23:48

Core - Full Integration Build 805 outcome was FAILURE using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5
Summary: Tests failed: 1 (1 new), passed: 2846, ignored: 412 Build time: 0:51:00
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.ejb.stateful.passivation.PassivationTestCase.testPassivationMaxSize: <no details avaliable>

org.jboss.as.test.integration.ejb.stateful.passivation.PassivationTestCase.testPassivationMaxSize:
I have seem this intermittent failure in other pull request.
retest this please.

Linux Build 1552 is now running using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5

Core - Full Integration Build 806 is now running using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5

Windows Build 1205 is now running using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5

Linux Build 1552 outcome was SUCCESS using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5
Summary: Tests passed: 3093, ignored: 66 Build time: 0:19:32

Windows Build 1205 outcome was SUCCESS using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5
Summary: Tests passed: 3093, ignored: 66 Build time: 0:20:19

Core - Full Integration Build 806 outcome was SUCCESS using a merge of 1ac7dbc021d8e2447597bd49fa1c42565b5dced5
Summary: Tests passed: 2847, ignored: 412 Build time: 0:50:30

Windows Build 1206 is now running using a merge of 7d980fa84f066236d03cf6eba7d74e72bb827f83

Linux Build 1553 is now running using a merge of 7d980fa84f066236d03cf6eba7d74e72bb827f83

Core - Full Integration Build 807 is now running using a merge of 7d980fa84f066236d03cf6eba7d74e72bb827f83

Linux Build 1553 outcome was SUCCESS using a merge of 7d980fa84f066236d03cf6eba7d74e72bb827f83
Summary: Tests passed: 3093, ignored: 66 Build time: 0:19:39

Windows Build 1206 outcome was SUCCESS using a merge of 7d980fa84f066236d03cf6eba7d74e72bb827f83
Summary: Tests passed: 3093, ignored: 66 Build time: 0:20:31

Core - Full Integration Build 807 outcome was SUCCESS using a merge of 7d980fa84f066236d03cf6eba7d74e72bb827f83
Summary: Tests passed: 2846, ignored: 412, muted: 1 Build time: 0:49:28

@ehsavioie Can you approve this or suggest changes?
Chao Wang -- can you squash this to one commit please?
Thanks.

Windows Build 1216 is now running using a merge of 371c01c87713792ee15080f65ff7d4c07dcc8d49

Core - Full Integration Build 817 is now running using a merge of 371c01c87713792ee15080f65ff7d4c07dcc8d49

Linux Build 1563 is now running using a merge of 371c01c87713792ee15080f65ff7d4c07dcc8d49

rebase as per Emmanuel's comment and squash, it deletes @ehsavioie 's comment : (

Linux Build 1563 outcome was SUCCESS using a merge of 371c01c87713792ee15080f65ff7d4c07dcc8d49
Summary: Tests passed: 3097, ignored: 66 Build time: 0:19:25

Windows Build 1216 outcome was SUCCESS using a merge of 371c01c87713792ee15080f65ff7d4c07dcc8d49
Summary: Tests passed: 3097, ignored: 66 Build time: 0:20:41

Core - Full Integration Build 817 outcome was SUCCESS using a merge of 371c01c87713792ee15080f65ff7d4c07dcc8d49
Summary: Tests passed: 2847, ignored: 412 Build time: 0:50:56

Windows Build 1217 is now running using a merge of 0887828836907c06e2451008faefdc7aa1dadeee

Linux Build 1565 is now running using a merge of 0887828836907c06e2451008faefdc7aa1dadeee

Core - Full Integration Build 818 is now running using a merge of 0887828836907c06e2451008faefdc7aa1dadeee

Linux Build 1565 outcome was SUCCESS using a merge of 0887828836907c06e2451008faefdc7aa1dadeee
Summary: Tests passed: 3097, ignored: 66 Build time: 0:19:35

Windows Build 1217 outcome was FAILURE using a merge of 0887828836907c06e2451008faefdc7aa1dadeee
Summary: Tests failed: 3 (3 new), passed: 3094, ignored: 66 Build time: 0:19:52
Build problems:
Failed tests detected
Failed tests
org.jboss.as.jmx.rbac.JmxRbacEnabledTestCase.testAdministratorSensitiveMBeans: <no details avaliable>

org.jboss.as.test.manualmode.deployment.DeploymentScannerRedeploymentTestCase.testRedeployment: <no details avaliable>

org.jboss.as.test.manualmode.deployment.DeploymentScannerUnitTestCase.testStartup: <no details avaliable>

Core - Full Integration Build 818 outcome was FAILURE using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests failed: 1 (1 new), passed: 2846, ignored: 412 Build time: 0:49:20
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.jca.datasource.remove.EjbAppDsRemoveTestCase.testDatasourceRemove: <no details avaliable>

Core - Full Integration Build 819 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Linux Build 1566 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Windows Build 1218 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Linux Build 1566 outcome was SUCCESS using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests passed: 3097, ignored: 66 Build time: 0:19:21

Windows Build 1218 outcome was SUCCESS using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests passed: 3097, ignored: 66 Build time: 0:20:23

Core - Full Integration Build 819 outcome was FAILURE using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests failed: 1 (1 new), passed: 2845, ignored: 412, muted: 1 Build time: 0:48:45
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.ejb.stateful.passivation.PassivationTestCase.testPassivationMaxSize: <no details avaliable>

irrelevant failure, retest this please

Windows Build 1219 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Core - Full Integration Build 820 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Linux Build 1567 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Linux Build 1567 outcome was SUCCESS using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests passed: 3097, ignored: 66 Build time: 0:19:23

Windows Build 1219 outcome was FAILURE using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Execution timeout (new); tests passed: 2839, ignored: 53; org.wildfly.core:wildfly-core-testsuite-domain Build time: 0:45:05
Build problems:
Execution timeout
Process exited with code 1

Core - Full Integration Build 820 outcome was FAILURE using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests failed: 8 (8 new), passed: 2839, ignored: 412 Build time: 0:47:26
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testConnection2: <no details avaliable>

org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testAdminObject: <no details avaliable>

org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testAdminObject1: <no details avaliable>

org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testConnectionFactory1: <no details avaliable>

org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testConnectionFactory: <no details avaliable>

org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testConnectionFactoryProperties: <no details avaliable>

org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testConnection1: <no details avaliable>

org.jboss.as.test.integration.jca.moduledeployment.TwoModulesFlatTestCase.testConnectionFactoryProperties1: <no details avaliable>

Windows Build 1221 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Linux Build 1569 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Core - Full Integration Build 822 is now running using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2

Linux Build 1569 outcome was SUCCESS using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests passed: 3097, ignored: 66 Build time: 0:19:18

Windows Build 1221 outcome was SUCCESS using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests passed: 3097, ignored: 66 Build time: 0:20:38

Core - Full Integration Build 822 outcome was SUCCESS using a merge of e6a47e00431ea4295584b9c0f665a0250502d0d2
Summary: Tests passed: 2846, ignored: 412, muted: 1 Build time: 0:48:22

authors: bstansberry soul2zimate wildfly-ci


text:
[WFLY-13088] Ejb binding should not be listed if there is no Remote i…

https://issues.redhat.com/browse/WFLY-13088

Can one of the admins verify this patch?

@tadamski , @chengfang could you please review this.
Thanks.

Thanks!

source: gharchive/pull-request

authors: bstansberry moulalis wildfly-ci

repo: wildfly/wildfly

license_type: permissive

license_source: github-api


text:
[28.x] [WFLY-18012] Do not attempt to load the ConfigurationFactory during u…

…ndeploy if the deployment is not a REST deployment.
https://issues.redhat.com/browse/WFLY-18012
Upstream PR: #16838

Thanks @jamezp and @fjuma

authors: bstansberry jamezp


text:
Adding xAxisLabels causes LineChart issues

I may be misunderstanding the implementation - but I don't seem to be able to get the x-axis labels to align at the bottom of the chart.
I've set the style to make use of the .chartData, and provided those labels in the LineChartData. When I add this to the Chart itself, the yAxis labels remain the same - but the yAxis grid compresses to the top 50% of the view, as does the line - and the x-axis labels are centered!
Before I add .xAxisLabels(chartData: chartData) :-

After I add .xAxisLabels(chartData: chartData) :-

And this is how I have implemented :-
private var baseline: Double {
        let baseline = Double(readings.minimumValue() - (readings.valueRange() / 2))
        if baseline <= 0 {
            return 0
        }
        return baseline
    }

    private var topLine: Double {
        return Double(readings.maximumValue() + (readings.valueRange() / 2))
    }

    private var chartStyle: LineChartStyle {
        let yAxisGridStyle = GridStyle(
            numberOfLines: 5,
            lineColour: Color.Brand.sky,
            lineWidth: 1,
            dash: [1000]
        )

        return LineChartStyle(
            xAxisLabelPosition: .bottom,
            xAxisLabelFont: Font.Primary.metadata,
            xAxisLabelColour: Color.UI.midGrey,
            xAxisLabelsFrom: .chartData(rotation: .degrees(0)),
            yAxisGridStyle: yAxisGridStyle,
            yAxisLabelPosition: .leading,
            yAxisLabelFont: Font.Primary.metadata,
            yAxisLabelColour: Color.UI.midGrey,
            yAxisNumberOfLabels: 5,
            yAxisLabelType: .numeric,
            baseline: .minimumWithMaximum(of: baseline),
            topLine: .maximum(of: topLine),
            globalAnimation: .default)
    }

    private var dataSet: LineDataSet {
        let lineStyle = LineStyle(
            lineColour:  ColourStyle(colour: lineColor),
            lineType: curvedLine ? .curvedLine : .line,
            strokeStyle: Stroke(lineWidth: 2, lineCap: .round, lineJoin: .round),
            ignoreZero: ignoreZero)

        return LineDataSet(dataPoints: readings.map { (value: UInt, date: Date?) in
            LineChartDataPoint(value: Double(value), date: date)
        }, style: lineStyle)
    }

    private var chartData: LineChartData {
        return LineChartData(
            dataSets: dataSet,
            metadata: ChartMetadata(title: "Peak Flow"),
            xAxisLabels: ["M", "T", "W", "T", "F"],
            chartStyle: chartStyle,
            noDataText: Text("No Data"))
    }

    var body: some View {
        LineChart(chartData: chartData)
            .id(chartData.id)
            .yAxisGrid(chartData: chartData)
            .xAxisLabels(chartData: chartData)
            .yAxisLabels(chartData: chartData)
            .yAxisPOI(chartData: chartData,
                                  markerName: "Target",
                                  markerValue: 450,
                                  labelPosition: .center(specifier: "Target %.0f"),
                                  labelColour: Color.Brand.white,
                                  labelBackground: Color.UI.midGrey,
                                  lineColour: Color.UI.midGrey,
                                  strokeStyle: StrokeStyle(lineWidth: 1, dash: [2, 2]))
    }
}

Any help at all would be appreciated - Not sure if it is a bug, but would be ace if you could feedback, love the library and keen to use. Many thanks :-)

Hey @iain-reid, The main issue is the order of the View Modifiers, id should be at the end it seams.
var body: some View {
    LineChart(chartData: chartData)
        .yAxisPOI(chartData: chartData,
                  markerName: "Target",
                  markerValue: 450,
                  labelPosition: .center(specifier: "Target %.0f"),
                  labelColour: Color.white,
                  labelBackground: Color.gray,
                  lineColour: Color.gray,
                  strokeStyle: StrokeStyle(lineWidth: 1, dash: [2, 2]))
        .xAxisGrid(chartData: chartData)
        .yAxisGrid(chartData: chartData)
        .xAxisLabels(chartData: chartData)
        .yAxisLabels(chartData: chartData)
        .id(chartData.id)
}

There were some other small layout issues with the implementation. They were solved by changing how the data is declared.
var chartData: LineChartData = {
    let readings = Readings()

    var chartStyle: LineChartStyle {
        let yAxisGridStyle = GridStyle(
            numberOfLines: 5,
            lineColour: Color.blue,
            lineWidth: 1,
            dash: [1000]
        )
        return LineChartStyle(
            xAxisLabelPosition: .bottom,
            xAxisLabelsFrom: .chartData(rotation: .degrees(0)),
            yAxisGridStyle: yAxisGridStyle,
            yAxisNumberOfLabels: 5,
            globalAnimation: .default)
    }

    var dataSet: LineDataSet {
        let lineStyle = LineStyle(
            lineColour:  ColourStyle(colour: .blue),
            lineType: .line,
            strokeStyle: Stroke(lineWidth: 2, lineCap: .round, lineJoin: .round)
        )

        return LineDataSet(dataPoints: readings.readings.map {
            LineChartDataPoint(value: Double($0))
        }, style: lineStyle)
    }

    return LineChartData(
        dataSets: dataSet,
        metadata: ChartMetadata(title: "Peak Flow"),
        xAxisLabels: ["M", "T", "W", "T", "F"],
        chartStyle: chartStyle,
        noDataText: Text("No Data"))
}()

Hi Will,
Thanks for the help, much appreciated! - I've managed to get the layout looking better:

With the following code:
import SwiftUI
import SwiftUICharts

struct PeakFlowChart: View {

    var lineWidth: CGFloat = 2
    var lineColor: Color = Color.Brand.royalBlue
    var readings: PeakFlowReadings = []
    var curvedLine: Bool = false
    var ignoreZero: Bool = true

    //
    private var baseline: Double {
        let baseline = Double(readings.minimumValue() - (readings.valueRange() / 2))
        if baseline <= 0 {
            return 0
        }
        return baseline
    }

    private var topLine: Double {
        return Double(readings.maximumValue() + (readings.valueRange() / 2))
    }

    private var chartData: LineChartData {

        var chartStyle: LineChartStyle {
            let yAxisGridStyle = GridStyle(
                numberOfLines: 5,
                lineColour: Color.Brand.sky,
                lineWidth: 1,
                dash: [1000]
            )

            return LineChartStyle(
                xAxisLabelPosition: .bottom,
                xAxisLabelFont: Font.Primary.metadata,
                xAxisLabelColour: Color.UI.midGrey,
                xAxisLabelsFrom: .chartData(rotation: .degrees(0)),
                yAxisGridStyle: yAxisGridStyle,
                yAxisLabelPosition: .leading,
                yAxisLabelFont: Font.Primary.metadata,
                yAxisLabelColour: Color.UI.midGrey,
                yAxisNumberOfLabels: 5,
                yAxisLabelType: .numeric,
                baseline: .minimumWithMaximum(of: baseline),
                topLine: .maximum(of: topLine),
                globalAnimation: .default)
        }

        var dataSet: LineDataSet {
            let lineStyle = LineStyle(
                lineColour:  ColourStyle(colour: lineColor),
                lineType: curvedLine ? .curvedLine : .line,
                strokeStyle: Stroke(lineWidth: 2, lineCap: .round, lineJoin: .round),
                ignoreZero: ignoreZero)

            return LineDataSet(dataPoints: readings.map { (value: UInt, date: Date?) in
                LineChartDataPoint(value: Double(value), date: date)
            }, style: lineStyle)
        }

        return LineChartData(dataSets: dataSet,
                             metadata: ChartMetadata(title: "Peak Flow"),
                             xAxisLabels: ["M", "T", "W", "T", "F"],
                             chartStyle: chartStyle ,
                             noDataText: Text("No Data"))

    }

    var body: some View {

        LineChart(chartData: chartData)
            .yAxisPOI(chartData: chartData,
                      markerName: "Target",
                      markerValue: 440,
                      labelPosition: .center(specifier: "Target %.0f"),
                      labelColour: Color.Brand.white,
                      labelBackground: Color.UI.midGrey,
                      lineColour: Color.UI.midGrey,
                      strokeStyle: StrokeStyle(lineWidth: 1, dash: [2, 2]))
            .yAxisGrid(chartData: chartData)
            .xAxisLabels(chartData: chartData)
            .yAxisLabels(chartData: chartData)
            .id(chartData.id)

    }
}

struct PeakFlowChart_Previews: PreviewProvider {

    static var previews: some View {
        VStack {
            Spacer()
            PeakFlowChart(readings: ChartDummyData.peakFlowReadings)
                .frame(height: 300)
            Spacer()
        }
    }
}

However - the x-axis labels, and y-axis grid still seem a little misaligned. I was able to remedy by adding negative padding when adding the sequence of modifiers:
LineChart(chartData: chartData)
            .yAxisPOI(chartData: chartData,
                      markerName: "Target",
                      markerValue: 440,
                      labelPosition: .center(specifier: "Target %.0f"),
                      labelColour: Color.Brand.white,
                      labelBackground: Color.UI.midGrey,
                      lineColour: Color.UI.midGrey,
                      strokeStyle: StrokeStyle(lineWidth: 1, dash: [2, 2]))
            .yAxisGrid(chartData: chartData)
            .xAxisLabels(chartData: chartData)
            .padding(.bottom, -15)
            .yAxisLabels(chartData: chartData)
            .id(chartData.id)

Is there a better solution to this?

Hi @iain-reid, It's the way that the  LineChartData is initialised. As it's a computed property, a new LineChartData gets create each time.
There are calculations in the library that, it appears, can't run when declared this way. When I print out the padding required to layout to place the bottom label it returns 0.
When I change the in declaration to use a closure in the code snippet below, it lays out properly.
private var chartData: LineChartData = {

    var lineWidth: CGFloat = 2
    var lineColor: Color = Color.blue

    var curvedLine: Bool = false
    var ignoreZero: Bool = true

    var readings = Readings()

    var chartStyle: LineChartStyle {
        var baseline: Double {
            let baseline = Double(readings.minimumValue() - (readings.valueRange() / 2))
            if baseline <= 0 {
                return 0
            }
            return baseline
        }

        var topLine: Double {
            return Double(readings.maximumValue() + (readings.valueRange() / 2))
        }

        let yAxisGridStyle = GridStyle(
            numberOfLines: 5,
            lineColour: Color.blue,
            lineWidth: 1,
            dash: [1000]
        )

        return LineChartStyle(
            xAxisLabelPosition: .bottom,

            xAxisLabelsFrom: .chartData(rotation: .degrees(0)),
            yAxisGridStyle: yAxisGridStyle,
            yAxisLabelPosition: .leading,

            yAxisNumberOfLabels: 5,
            yAxisLabelType: .numeric,
            baseline: .minimumWithMaximum(of: baseline),
            topLine: .maximum(of: topLine),
            globalAnimation: .default)
    }

    var dataSet: LineDataSet {
        let lineStyle = LineStyle(
            lineColour:  ColourStyle(colour: lineColor),
            lineType: curvedLine ? .curvedLine : .line,
            strokeStyle: Stroke(lineWidth: 2, lineCap: .round, lineJoin: .round),
            ignoreZero: ignoreZero)

        return LineDataSet(dataPoints: readings.readings.map {
            LineChartDataPoint(value: Double($0))
        }, style: lineStyle)
    }

    return LineChartData(dataSets: dataSet,
                         metadata: ChartMetadata(title: "Peak Flow"),
                         xAxisLabels: ["M", "T", "W", "T", "F"],
                         chartStyle: chartStyle ,
                         noDataText: Text("No Data"))

}()

source: gharchive/issue

authors: iain-reid willdale

repo: willdale/SwiftUICharts

license: MIT


text:
Publishing changes from within view updates is not allowed

I get that warning from LineChartData.swift.
The @Published properties where this happens are viewData and infoView.

See https://www.donnywals.com/xcode-14-publishing-changes-from-within-view-updates-is-not-allowed-this-will-cause-undefined-behavior/.

I tried running my app in Xcode 14 beta 3 and these warnings did not go away.

I get a total of 420 warnings (all the same issue) in my app from displaying one line chart. This makes it difficult to find the output of my print statements.


text:
Extend CI

Extending actual CI and linked fixes/updates, reflecting #43

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@e84ead9). Click here to learn what that means.
The diff coverage is 28%.

@@          Coverage Diff           @@
##             master   #44   +/-   ##
======================================
  Coverage          ?   78%
======================================
  Files             ?    13
  Lines             ?   831
  Branches          ?     0
======================================
  Hits              ?   650
  Misses            ?   181
  Partials          ?     0

@williamFalcon it seems that your test-tube does not support python3.5, do you want to drop it also for this package? See: https://travis-ci.org/Borda/pytorch-lightning/jobs/568119944

@williamFalcon pls create your free accounts and update the following badges:

@Borda the code coverage badge was generated  by doing this:
https://github.com/williamFalcon/pytorch-lightning/tree/master/tests#running-coverage
Does the codecov support coverage?

@williamFalcon pls create your free accounts and update the following badges:

Ah, was looking for something like codefactor. Good addition.
Wondering why you suggest changing from circle ci to app veyor? what are the advantages?
As mentioned above, i was thinking about auto codecov but i realized it was going to show something super low because a lot of code is GPU specific. Thus, I opted for running codecov and gou tests on a gpu machine. Sadly, not sure auto-codecov will work for this repo. Any suggestions on bridging that gap? (ie gpu use need)

https://github.com/williamFalcon/pytorch-lightning/pull/44#issuecomment-518440389 ok, then the Coverage is fair, but it not very transparent from my point of view... as it is part of the repo and at the first glance it looks like just added illustration (especially when you see there 99%, it is like an ideal case...) no offence, just trying to help :)
The codecov.io is made exactly for this purpose and you can also do kind of push of coverage results to the codecov...  I believe that the use-case is
pip install codecov
codecov -t 17327163-8cca-4a5d-86c8-ca5f2ef700bc

where the has is a unique token to your this/your project...
Advantage of this is that it interactively visualise the touched lines and gives some statistic

https://github.com/williamFalcon/pytorch-lightning/pull/44#issuecomment-518460101 a good alternative to Codefactor is Codacy which has almost the same features...
I have not proposed to change CicleCI (you are not using it yet) these badges listed in https://github.com/williamFalcon/pytorch-lightning/pull/44#issuecomment-518433020 are newly added co you need to adjust the link to your project account. Al the past badges are still there as you can see https://github.com/Borda/pytorch-lightning/tree/extend-CI
The CircleCI is also a good option but almost the same as Travis co probably no need for adding CircleCI now... The Appveyor is an alternative which is running on Windows (Travis is running Linux and macOS)
I see your point with missing testing on GPU... Personally, I would use the automatic CPU Codecov even it gives a lower score and I will try to have look id there is a platform which allows GPU for CI testing... maybe the have look at Azure

maybe Running GPU Executors - CircleCI

just added also CircleCI...

it seems that also some tests are not very suitable for CI, they take too long... https://circleci.com/gh/Borda/pytorch-lightning/16
would it be feasible to nake them smaller, e.g. lest epochs, fewer examples... ?

Great options. Let me address each individually.
Re travis vs circle vs AppVeyor
I mistyped haha I meant advantage over Travis. I agree there's no need for both (i've used both in the past, but i think i picked Travis for this because it could handle long tests and it was free).
Re: Windows:
Didn't officially try to support Windows as I think most people doing AI are using linux/macs (i know, i know, haha...), but in efforts to get this adopted by big older corps, I assume Windows support might be necessary.
So, let's add the windows tests, and modify whatever we need to change in the library to achieve windows compatibility. (I really have no idea if it'll be that much different tbh). Hopefully we get Windows support for free.
Re GPU tests
Thanks for reaching out to AWS. I spoke with the PyTorch team here at FB and the general consensus is that there really isn't a free way to run GPU tests. So, the suggestion was to allow people to run them on their own GPU machines (especially devs on the package).
So, let's maybe table this for now until we find a good free solution? Azure would be great if they can support it (give the AI community some of that OpenAI money haha).
Codecov
I agree it's not optimal and I also hate not having a thrid-party way to validate that the coverage wasn't faked. I didn't know about the submit option, so why don't we just do that? We can ask devs to run codecov and submit the results with a PR.
I'd like to keep the coverage at 99%+ which means PRs have to be well covered.
Summary
To summarize, I think this is what we've converged on:

Keep Travis.
Add AppVeyor for Windows.
Add codefactor.
Table auto-GPU tests until a free version is available. In the meantime, a team dev with GPUs can run GPU tests before merging a PR. (I can do that in the meantime doesn't take long and it's pretty easy for me). Academics and corporate contributors can do this on their clusters.
Switch to codecov and we'll push outputs of local codecov with:

pip install codecov
codecov -t 17327163-8cca-4a5d-86c8-ca5f2ef700bc

Anything I'm missing?
Things I owe:

create an Appveyor acct.
create codefactor acct.
create codecov acct.

Anything else?

what about python3.5, your setup say python_requires=">=3.5" but you are using test-tube which has invalid syntax (formatting outputs using f"some text {variable}...") for py3.5 so you want to drop support also py3.5 also for this project of fixing it in the other one... the fix is quite simple, see https://github.com/Borda/pytorch-lightning/blob/extend-CI/pytorch_lightning/models/trainer.py#L430

what about python3.5, your setup say python_requires=">=3.5" but you are using test-tube which has invalid syntax (formatting outputs using f"some text {variable}...") for py3.5 so you want to drop support also py3.5 also for this project of fixing it in the other one... the fix is quite simple, see https://github.com/Borda/pytorch-lightning/blob/extend-CI/pytorch_lightning/models/trainer.py#L430

Oh yeah... let's make the fix. Seems simple enough. I don't have strong opinions about which python version to support. At a minimum no support for 2. But if you have good reasons for starting at some version let's do that.
But let's get rid of the formatting for that comment which seems trivial enough

@borda, so looking through the PR, looks like circle-ci stuff is still there? I thought we were not using circle-ci (per this post)

Good changes. Added comments inline

I'm happy to support 3.6 and modify the correct files on test-tube to make that change. Is that why all these strings have been changed from f strings?

Yes, except it was for py3.5 (it was fine for py3.6 and higher...)

CircleCI was not there, I have added it since I was hoping to get GPU
instance (there is not such option and support confirmed that it is not
possible now but hopefully in the future) so I will remove it again...
On Tue, Aug 6, 2019, 19:41 William Falcon notifications@github.com wrote:

@Borda https://github.com/Borda, so looking through the PR, looks like
circle-ci stuff is still there? I thought we were not using circle-ci (per
this post
https://github.com/williamFalcon/pytorch-lightning/pull/44#issuecomment-518708788
)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/williamFalcon/pytorch-lightning/pull/44?email_source=notifications&email_token=ABOBOVAD45O7BA7OREP6L6DQDGZVDA5CNFSM4IJPH57KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3V5GOA#issuecomment-518771512,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABOBOVF7RWV6FZKSDFTHO53QDGZVDANCNFSM4IJPH57A
.

Yes, except it was for py3.5 (it was fine for py3.6 and higher...)

got it. I'll update test-tube to work with python 3.6

Ok got it. I was confused. Why don't we just support 3.6 and up then? any reason to support 3.5? seems like a trivial change for most with conda.

it was my question if you want to

support only py3.6 and above (then update setup) or
support also 3.5 (then fix test-tube) :smiley:

it was my question if you want to

support only py3.6 and above (then update setup) or
support also 3.5 (then fix test-tube) 😃

I totally misunderstood originally haha (blame it on the lack of sleep 😴).
Let's support 3.6 and up!

Looks like tests are passing now :)
But there's still the codecov auto run. I thought that with the new change you'd have to manually push a code coverage report?
I just want to make sure codecov isn't automatically pushing stuff right now in this PR.
The codecov flow should be:

run codecov locally on a GPU machine
submit the report to the codecov system so the badge updates automatically.

awesome PR, almost done haha. Last thing is to remove the auto codecov.
The codecov standard will be what you suggested:

Install on local (with gpus).
run codecov
push report.
badge updates.

Badge shouldn't update whenever there's a new PR or anything.
I know it's manual and a PITA, but it will accurately reflect codecov including on GPU code

Looks like the build is breaking here:
The command "tox --sitepackages" exited with 1.

tox --sitepackages contains multiple commands so it may be because of testing or formating... could you link the build results?
To disable the auto-codecov-run you need to remove codecov from the tox

https://travis-ci.org/williamFalcon/pytorch-lightning/jobs/568579279

./pytorch_lightning/models/trainer.py:183: [E501] line too long (111 > 100 characters) :smile:

there's no pytorch 1.1.0 support for windows... requires custom install
pip3 install https://download.pytorch.org/whl/cu90/torch-1.1.0-cp36-cp36m-win_amd64.whl
pip3 install https://download.pytorch.org/whl/cu90/torchvision-0.3.0-cp36-cp36m-win_amd64.whl

I know about the missing pytorch for Win, just didn't have time yet to resolve it as you mention that Win is not the priority :)

requested help for PyTorch installing...
https://help.appveyor.com/discussions/support/2527-failing-installing-python-wheel-pytorch

@Borda let's remove the build failing badge for windows until we have it resolved. i don't want to give the impression that the project is failing at the moment haha.

@Borda can't access codecov getting a 504 error on their page...
is this a stable service? (https://codecov.io/login/gh)

they're back up

jb@PH-NTB-009:~/Dropbox/Workspace/pytorch-lightning$ coverage report -m
Name                                                       Stmts   Miss  Cover   Missing
----------------------------------------------------------------------------------------
pytorch_lightning/__init__.py                                 11      0   100%
pytorch_lightning/callbacks/__init__.py                        2      0   100%
pytorch_lightning/models/__init__.py                           0      0   100%
pytorch_lightning/models/trainer.py                          388     72    81%   24, 167-171, 201-208, 357, 409, 420-433, 444, 472-477, 493-543, 554-569, 572-579, 751, 781, 797-799, 806-808
pytorch_lightning/pt_overrides/__init__.py                     0      0   100%
pytorch_lightning/pt_overrides/override_data_parallel.py      20      2    90%   62-63
pytorch_lightning/root_module/__init__.py                      0      0   100%
pytorch_lightning/root_module/decorators.py                    5      0   100%
pytorch_lightning/root_module/grads.py                        17      1    94%   22
pytorch_lightning/root_module/hooks.py                        11      0   100%
pytorch_lightning/root_module/memory.py                       88      1    99%   42
pytorch_lightning/root_module/model_saving.py                 96      0   100%
pytorch_lightning/root_module/root_module.py                  46      1    98%   106
pytorch_lightning/testing/__init__.py                          0      0   100%
pytorch_lightning/testing/lm_test_module.py                  101     20    80%   100, 109, 130, 134-135, 144-148, 207-209, 242-266
pytorch_lightning/utilities/__init__.py                        0      0   100%
pytorch_lightning/utilities/arg_parse.py                      47     45     4%   12-99
pytorch_lightning/utilities/debugging.py                       1      0   100%
----------------------------------------------------------------------------------------
TOTAL                                                        833    142    83%
jb@PH-NTB-009:~/Dropbox/Workspace/pytorch-lightning$ coverage xml
jb@PH-NTB-009:~/Dropbox/Workspace/pytorch-lightning$ codecov -t 17327163-8cca-4a5d-86c8-ca5f2ef700bc  -v

      _____          _
     / ____|        | |
    | |     ___   __| | ___  ___ _____   __
    | |    / _ \ / _  |/ _ \/ __/ _ \ \ / /
    | |___| (_) | (_| |  __/ (_| (_) \ V /
     \_____\___/ \____|\___|\___\___/ \_/
                                    v2.0.15

==> Detecting CI provider
  -> Got branch from git/hg
  -> Got sha from git/hg
==> Preparing upload
==> Processing gcov (disable by -X gcov)
    Executing gcov (find /home/jb/Dropbox/Workspace/pytorch-lightning -not -path './bower_components/**' -not -path './node_modules/**' -not -path './vendor/**' -type f -name '*.gcno'  -exec gcov -pb  {} +)
==> Collecting reports
    + /home/jb/Dropbox/Workspace/pytorch-lightning/coverage.xml bytes=34380
==> Uploading
    .url https://codecov.io
    .query yaml=.codecov.yml&token=<secret>&commit=421c4fab7dda431887026166ef767fab4f3174b0&branch=extend-CI&package=py2.0.15
    Pinging Codecov...
    Uploading to S3...
    https://codecov.io/github/Borda/pytorch-lightning/commit/421c4fab7dda431887026166ef767fab4f3174b0

@williamFalcon it seems that we (me) missed somewhere in the process the new badge for the license, could you please fix it... Thx

authors: Borda codecov-io williamFalcon

repo: williamFalcon/pytorch-lightning

license_source: bigquery


text:
add idaapi.get_inf_structure

this will support the extraction of the processor use for a database.
definition of fields is here: https://www.hex-rays.com/products/ida/support/sdkdoc/structidainfo.html

looks like this is stored in netnode Root Node tag S index ??? (some number that looks like an address).

apparently this index is hardcoded. its the same in .idb files for /bin/ls and kernel32. also referenced here: https://github.com/nlitsme/idbutil/blob/ba686fb3449c05367ddb47a2ea8e683dafc6de23/idbtool.cpp#L359
and upon inspecting ida.dll, it is definitely is hardcoded:
.text:0000000010148490 sub_10148490 proc near
.text:0000000010148490
.text:0000000010148490 var_38= dword ptr -38h
.text:0000000010148490 var_28= word ptr -28h
.text:0000000010148490 var_26= byte ptr -26h
.text:0000000010148490 var_25= word ptr -25h
.text:0000000010148490 var_10= qword ptr -10h
.text:0000000010148490 var_8= qword ptr -8
.text:0000000010148490
.text:0000000010148490 ; __unwind { // __GSHandlerCheck
.text:0000000010148490 sub     rsp, 58h
.text:0000000010148494 mov     rax, cs:qword_105DD640
.text:000000001014849B xor     rax, rsp
.text:000000001014849E mov     [rsp+58h+var_10], rax
.text:00000000101484A3 mov     ecx, cs:root_node
.text:00000000101484A9 lea     r8, [rsp+58h+var_28]
.text:00000000101484AE mov     r9d, 16h
.text:00000000101484B4 mov     [rsp+58h+var_38], 'S'
.text:00000000101484BC mov     edx, 41B994h
.text:00000000101484C1 call    netnode_sup

the idainfo structure layout appears to have changed between 6.95 and 7.0. it'll take some work to figure out where things are supposed to be. let wait for someone to need to fetch these values before we sink too much time into this.
for right now, we just need to pull out procname.

idaapi.get_inf_structure() implemented in f8c610bef9fb7088d208e62011968ec075bb5d3f

repo: williballenthin/python-idb


text:
Port is hard coded to 22

At present the port is hard coded as 22, with no way to change it other than to edit the source. Suggest this is set as a field through another constructor (keeping the original which will default to 22.)

:+1:

repo: willwarren/jscp


text:
[debugging] add FILE LINE to TRAP_SEQUENCE_() macro

As we discussed in #425
instead of emitting
INT3
UD2

emit
push __FILE__
push __LINE__
add esp, 8
int3
ud2

Originally posted by @IDA-RE-things in https://github.com/win32ss/supermium/issues/425#issuecomment-2028760217
its good idea.
I have done some research on this and have found, that its defined in
\base\immediate_crash.h
#define TRAP_SEQUENCE1_() asm volatile("int3")
#define TRAP_SEQUENCE2_() asm volatile("ud2")

then
#define TRAP_SEQUENCE_() \
  do {                   \
    TRAP_SEQUENCE1_();   \
    TRAP_SEQUENCE2_();   \
  } while (false)

so I think its really posiible to add here such push __FILE__, push __LINE__, add esp, 8.
Propose for @win32ss to add such code with link inside commit comment to this github issue for reference and discussion.
Originally posted by @IDA-RE-things in https://github.com/win32ss/supermium/issues/425#issuecomment-2028760217

I tried this sometime ago, but the FILE and LINE pointed to that particular header file.

But how ASSERT()-like code works in such case ? , when __FILE__ __LINE__  passed as parameters.


text:
Move right not working on python file when cursor in paren.

Description

Mapping  bug
No response
Steps to reproduce

Open a python file.
Input quotes in paren.

Minimal config
vim.cmd [[set runtimepath=$VIMRUNTIME]]
vim.cmd [[set packpath=/tmp/nvim/site]]
local package_root = '/tmp/nvim/site/pack'
local install_path = package_root .. '/packer/start/packer.nvim'
local function load_plugins()
  require('packer').startup {
    {
      'wbthomason/packer.nvim',
      {
        'windwp/nvim-autopairs',
      },
      -- ADD PLUGINS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
    },
    config = {
      package_root = package_root,
      compile_path = install_path .. '/plugin/packer_compiled.lua',
      display = { non_interactive = true },
    },
  }
end
_G.load_config = function()
  require('nvim-autopairs').setup()
end
if vim.fn.isdirectory(install_path) == 0 then
  print("Installing nvim-autopairs and dependencies.")
  vim.fn.system { 'git', 'clone', '--depth=1', 'https://github.com/wbthomason/packer.nvim', install_path }
end
load_plugins()
require('packer').sync()
vim.cmd [[autocmd User PackerComplete ++once echo "Ready!" | lua load_config()]]

Seems to be because of this commit 022a2b88947bb4cd82cac7ef77d4ba42545d7a3c. I've checked out before this previous, and it's working fine. So temp solution is to use version before that commit.

repo: windwp/nvim-autopairs


text:
Is een 303 nodig

In je javascript heb je een redirect 303 /..., is dit nodig?

Dit was in dit geval niet nodig geweest, ik heb hem inmiddels weggehaald. Dankjewel!
response.redirect('/lessons)

authors: RubenErhardt wingsvn


text:
Fixes several (but not all) accessibility issues

Problem being solved
Blind users/users who rely on a screen reader are unable to interpret large portions of our website.
This was discovered by using the axe DevTools chrome extension which automatically finds accessibility gaps in websites (generally just low-hanging fruit). This was run on the home page https://winnipegpolicecauseharm.org/.

Solution
Added aria-labels to links and alt text to images.
Pre-conditions for merge

[ ] Ensure the new theme has been thoroughly tested with a screen reader (I recommend testing NVDA+Firefox+Windows and VoiceOver+Safari+Mac).
[ ] Confirm that there is no loss of functionality.

Out of scope

page-get-involved.hbs contains several <img> elements that don't have alt however I'm not sure if this page is even a part of the app 🤔. Example:
https://github.com/winnipegpolicecauseharm/wpch-ghost-theme/blob/90cdf9647d9c0f1e618a99caef571f4089d92c74/page-get-involved.hbs#L76-L77
These previews remain not accessible to users who depend on a screen reader:

Axe analysis was done only on the home page of https://winnipegpolicecauseharm.org/. Other pages were not tested and may have more undiscovered accessibility issues.

Thanks for getting started on this, it’s definitely been neglected. I’ll look at it more thoroughly in the next while (this week is a tragic nightmare) but thoughts on using role="presentation" in some places vs alt text? I think some of these images really are presentational and should be skipped by screen readers.
And the CI problems are definitely nothing you did, it needs updating.

Thanks for getting started on this, it’s definitely been neglected. I’ll look at it more thoroughly in the next while (this week is a tragic nightmare) but thoughts on using role="presentation" in some places vs alt text? I think some of these images really are presentational and should be skipped by screen readers.
And the CI problems are definitely nothing you did, it needs updating.

You're welcome :D
I like the idea of utilizing role="presentation" for the social media <img> elements since this is pretty redundant
https://github.com/winnipegpolicecauseharm/wpch-ghost-theme/blob/bfd4be7c5af8a17d7ec19f0cfaa79a0ad02b98a5/partials/footer.hbs#L5
Screen readers would read out something along the lines of:

"W P G police harm Facebook page."

"Facebook logo."

authors: backspace proximadams


text:
winston transport console set level=silly, but it only error or debug.

const testLogger = winston.createLogger ({
    transports :[
        new winston.transports.Console({
                level: 'silly'
          })
    ]
})

testLogger.log('debug',"Log debug");
testLogger.log('error', "Log error");
testLogger.log('info', "Log info");
testLogger.log('warn',"Log warn");
testLogger.log('verbose', "Log verbose");

The console out only show
{"level":"debug","message":"Log debug"}
{"level":"error","message":"Log error"}
The problem seems only happens on Console, other transport seems working properly.
I am using 3.0.0-rc4

excellent observation, in case of VS Code;
"outputCapture": "std"
helped to get all the messages to console. @indexzero your post is a great hint, that for spending your time on this.

authors: cyrus-zighra pvssvikas

repo: winstonjs/winston


text:
After Update - An exception has been thrown during the rendering of a template

Winter CMS Build
dev-develop
PHP Version
8.1
Database engine
MySQL/MariaDB
Plugins installed
No response
Issue description
Just updated the working Winter CMS 1.2.1 with composer update and winter:up commands, and it's broken now.
The last update I did was about two months ago.
Steps to replicate
So, I get the An exception has been thrown during the rendering of a template ("Undefined array key "about"") in "C:\laragon\www\winter3\themes\mytheme\partials\intro.htm" at line 3.
intro.htm points to hero1.htm which post list component:
[viewBag]

[blogPosts]
pageNumber = "{{ :page }}"
postsPerPage = 7
noPostsMessage = "No posts found"
sortOrder = "random"
categoryPage = "about"
postPage = "blog-post"
==

As I understand the error is pointing to categoryPage = "about" part.
Before the update, it was working
Workaround
No response

Try artisan cache:clear maybe ?

Otherwise, please post your intro.htm file here

Yes, I've already cleared the cache.
the intro.html, there is nothing special:
[viewBag]
==

	{% partial 'hero-slider/hero1' %}
	{% partial 'hero-slider/hero2' %}
	{% partial 'hero-slider/hero3' %}

	{% if this.theme.intro_social_menu %}

		<svg class="svg-icon"><use xlink:href="#icon-facebook"></use></svg>
		<svg class="svg-icon"><use xlink:href="#icon-youtube"></use></svg>
		<svg class="svg-icon"><use xlink:href="#icon-instagram"></use></svg>

	{% endif %}

{% if this.theme.intro_homepage_section %}

{{ this.theme.intro_headline | raw }}

{{ this.theme.intro_text }}

						{{ this.theme.intro_portfolio }}

{% endif %}

and hero1.html
[viewBag]

[blogPosts]
pageNumber = "{{ :page }}"
postsPerPage = 7
noPostsMessage = "No posts found"
sortOrder = "random"
categoryPage = "about"
postPage = "blog-post"
==

	{% for post in posts %}

		{% for image in post.featured_images|slice(0,1) %}

{{ post.title }}

		{% endfor %}

	{% endfor %}

post your theme.yaml file

here it is:
name: Foto
description: 'Multipurpose Theme for Portfolio, Corporate, Gallery, Agency, Blogging, Resume, etc. Basically, this is designed for Photografer, Bussiness, Creative Professional, Painting/Image Gallery & Product Showcase.'
author: 01Kuzma
homepage: www.kuzma.lt
code: ''
form: fields.yaml
require:
    - rainlab.blog
    - LaminSanneh.FlexiContact

I suppose, that I've to change the rainlab.blog to winter.blog

None of your files should be ending in .html, it should be .htm. Please also post the contents of the about.htm page.

Sorry, it was indeed .htm, I've just made a typo.
Here is a little bit contracted about.htm, just removed some HTML elements:
title = "Apie"
url = "/apie"
layout = "default"
meta_title = "Apie"
meta_description = "Some meta INFO"
is_hidden = 0
robot_index = "index"
robot_follow = "follow"
==

                    {% if this.theme.about_photo %}

                    {% else %}

                    {% endif %}

{{ this.theme.about_us_headline | raw }}

{{ this.theme.about_us_text | raw}}

{{ this.theme.about_clients_headline | raw }}

{{ this.theme.about_clients_text }}

{{ this.theme.about_editorials_headline | raw }}

{{ this.theme.about_editorials_text }}

                    {# <a href="{{ this.theme.about_button_link|page }}" #}
                    {{ this.theme.about_contact_button }}

{% if this.theme.services_about_page %}

{% endif %}

{% if this.theme.instafeed_about_page %}

Instagram Feed

{% endif %}

What plugins do you have installed and what versions are they?

I've forgotot to post  a screenshot, maybe this will help:

If you downgrade Winter.Blog to v2.1.1 does that solve the issue?
composer require wintercms/wn-blog-plugin:v2.1.1

@LukeTowers , thank you for the command :)
Well, here is  a downgrade error:

composer.json has this part with requirements, if I understand it correctly:
    "require": {
        "php": "^8.0.2",
        "winter/storm": "dev-develop as 1.2",
        "winter/wn-system-module": "dev-develop",
        "winter/wn-backend-module": "dev-develop",
        "winter/wn-cms-module": "dev-develop",
        "laravel/framework": "^9.1",
        "wikimedia/composer-merge-plugin": "~2.0.1",
        "offline/oc-responsiveimages-plugin": "dev-develop",
        "winter/wn-blog-plugin": "^2.1",
        "winter/wn-pages-plugin": "^2.1",
        "winter/wn-sitemap-plugin": "^2.0",
        "winter/wn-user-plugin": "^2.0",
        "winter/wn-seo-plugin": "dev-main"
    },

If you downgrade Winter.Blog to v2.1.1 does that solve the issue?
composer require wintercms/wn-blog-plugin:v2.1.1

The command should probably be composer require winter/wn-blog-plugin:v2.1.1

@TheFehr , thanks!
Yes, it solves the issue.
Now the error is gone

authors: 01Kuzma LukeTowers TheFehr mjauvin

repo: wintercms/winter


text:
Allow support for Guzzle 6 and 7

Replaces 9ed59a9397d1e6202a73f209b420ef0d4045386b and allows any version of Guzzle 7.x, whilst still maintaining support for Guzzle >= 6.3

If anything this just solidifies the absurdity of this plugin. Without an explicit dependency on Guzzle 6, composer will default to asking for 7; but the only reason someone would use this plugin (that I can think of anyways) would be because they aren't using composer to handle their real requirements and are instead relying on this as a proxy.
Is there any legitimate reason for this plugin to exist or can we just tell people to require their own dependencies how and where it makes sense to instead of using this plugin? @mjauvin could you also get the original issue reporter for the bump to 7.x to weigh in on this?

@LukeTowers By default, yes, it'll require Guzzle 7, but if another plugin or dependency requires Guzzle 6, then this change says you can use that too, and it won't block them.
I agree that to most people, this plugin doesn't really serve a purpose, but it's infinitely easier to tell less-experienced developers to download this plugin as opposed to going through the steps of getting it through Composer.
I mean, if we could make it so that this plugin were to control Composer (perhaps through a UI) and dynamically add drivers as required, that would be useful.

@LukeTowers the issue that triggered this PR is #1

authors: LukeTowers bennothommo mjauvin

repo: wintercms/wn-drivers-plugin


text:
Change start page utm params

Change start page UTM params so we can more easily see the impact.

Please use a more explicit property name. Otherwise -whatever works

header_signup_link ?


text:
Add lux, sound_level device types

При добавлении устройства или рестарте serial получалось, что строчки с освещением и уровнем шума считались текстовыми по умолчанию, так как в схеме соответствия типа устройства и типа отображения не было ничего задано про lux и sound_level. При обновлении страницы поля меняли тип отоборажения с text на value - менялось положение чисел.
Добоавила в схему, теперь сразу все нормально

Это вы зря влили, мы давно не используем эти типы, надо делать value с юнитами. Я так понимаю, в этом PR должны были разве что переводы для юнитов добавиться, а основной pr должен был быть в https://github.com/wirenboard/conventions

authors: ekateluv webconn

repo: wirenboard/homeui


text:
i18n(zh-cn): Update from-wordpress.mdx

Description (required)
Update from-wordpress.mdx
Related issues & labels (optional)

#9721
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
guides/migrate-to-astro/from-wordpress.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

repo: withastro/docs


text:
non-i18n data collections no longer available via the new data loader architecture

What version of starlight are you using?
0.30.2
What version of astro are you using?
5.0.9
What package manager are you using?
npm
What operating system are you using?
Mac and Linux (via WSL2)
What browser are you using?
Chrome and Brave
Describe the Bug
in pre-5.0 Starlight, I could create data collections like so:
export const collections = {
  docs: defineCollection({ schema: schema }),
  exams: defineCollection({ schema: exams, type: "data" }),
};

Now, however, because the type StarlightCollection is restricted to i18n and docs, I need to pull and slightly edit both createGlobLoadFn and getCollectionPathFromRoot into my project to successfully create my own data collection.
It would be great if Starlight did not restrict collections to those two types and instead allowed the addition of arbitrary data collections. I believe this could be done by (a) relaxing the StarlightCollection type to string, and (b) adding a dataLoader() function to loaders.ts:
export function dataLoader(collection: string): Loader {
  return {
    name: `starlight-${collection}-loader`,
    load: createGlobLoadFn(collection),
  }
}

Slightly off topic: in stackblitz when the first content load happens, it doesn't work for the docs collection, leading to a render error. This can be worked around by editing any file in the collection which causes a reload that is successful. This error also exists on first load when creating a totally clean Starlight example: https://astro.new/starlight-basics?on=stackblitz
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-mty5ewmd?file=src%2Fcontent.config.ts
Participation

[X] I am willing to submit a pull request for this issue.

Thanks for the report.
Collections are not a Starlight feature but an Astro feature that Starlight is built on. In Astro v5, you can still have your own collections but they would need to be upgraded by following the "Updating existing collections" section of the Astro v5 migration guide.
In your specific case, I don't exactly know what your exams collection looks like, but if it is a collection of JSON files located in the src/content/exams/ directory, you should be able to use the Astro built-in glob loader.
import { defineCollection, z } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';
import { glob } from 'astro/loaders';

export const collections = {
  docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
  exams: defineCollection({
    loader: glob({ pattern: '**/[^_]*.json', base: "./src/content/exams" }),
    schema: exams,
  }),
};

Thanks for the fast response! I had tried this approach but Astro kept telling me that it was an empty collection, so I figured that the issue was that I wasn't using the .load() function call like is done in Starlight's code:
https://github.com/withastro/starlight/blob/ec4b85154ea301d9144ff49f3abd009e3a929387/packages/starlight/loaders.ts#L38
In my current edit, doing the glob directly seems to work just fine without access to the build context, but I haven't exercised it too deeply. Is that call simply there to gain access to the proper glob base?

I figured that the issue was that I wasn't using the .load() function call like is done in Starlight's code

We're manually invoking the load() function in Starlight because the loaders we provide are just wrappers around the built-in Astro glob() loader and when the load function (the load property of the loader) is invoked by Astro for our loaders, we want to return the result of doing the same for the glob() loader.
Empty collection logs is something that has been spotted occasionally. One thing to potentially try is a “force” re-sync for the content using npx astro sync --force but if the issue persist, a new issue in the Astro repo would be super helpful.

authors: HiDeoo kaytwo

repo: withastro/starlight


text:
i18n(ko-KR): update plugins.mdx

Description

update plugins.mdx
#2493

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
resources/plugins.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

authors: astrobot-houston jsparkdev


text:
Random Song skipping

Hello,
I implemented this Project with an esp32 dev board and an ILI9341 screen. I've set up the TFT_eSPI according to my screen. I took my wirering from this Project which woulnd't work on my ESP https://github.com/JESS2005/ESPotify-Car-Thing .
On my screen it shows the cover, The Artist, the Cover art and the skip and replay buttons. but These two buttons randomly flash green and in spotify it skips / replays the song.
https://github.com/user-attachments/assets/53748bdc-8408-4f6c-8a55-bc755f80aa8d
https://github.com/user-attachments/assets/7698ee28-94cb-4def-8165-69f77edfe15d
My Pin connection from the display to the ESP:
TFT_MISO 19
TFT_MOSI 23
TFT_SCLK 18
TFT_CS 15
TFT_DC 2
TFT_RST 4
TOUCH_CS 21
TOUCH_CLK 18
TOUCH_DIN 23
TOUCH_DO 19
Thank you for your help

This project might require a different implementation for this type of screen for the touch part, as it's currently written for the CYD that doesn't use touch controls from tft-espi (because it can't)

repo: witnessmenow/Spotify-Diy-Thing


text:
Update mockito

Description

This pull request addresses the issue described here: #3238

In this pull request, I have …
Updated to the latest mockito.

@codebutler thanks. We are likely to merge this in and release soon.
Side question: Have been working on any contributions to our project?

@codebutler thanks. We are likely to merge this in and release soon. Side question: Have you been working on any contributions to Detox?

Great, thanks for the quick reply.
Yes, I'm working on a new feature that I hope to discuss merging in. It's not ready yet but see here:
https://github.com/codebutler/Detox/commit/ba434b152a46286bf6b7b48259a5bd91a5b23e57

What's the status here, guys? @jonathanmos, @d4vidi ?

It is on our plate and will be followed through soon 👍🏻 #3271 was done as a preliminary action.

@codebutler pretty please 😄

@d4vidi, no worries, I did that :)

authors: codebutler d4vidi noomorph

repo: wix/Detox


text:
Use GitHub API for release creation and file uploads

https://cli.github.com/

This has been implemented in #77.

repo: wix/DetoxInstruments


text:
Implement trust levels

Since SS14 server sandboxing isn't really a thing, we need to implement BYOND trustlevels.

Trusted - YOLO
Safe - Popup for DLLs, prompt for every file I/O outside of the project directory
Ultrasafe - Same as safe but prompt for any file I/O

shell() is presumably blocked at safe or higher

A useful improvement would be terminal only prompts for headless servers

The PR open for this issue (#637) uses a CVar to set the trust level, which can be set either in the server_config.toml file or as a --cvar argument when running the server.

authors: actioninja ike709 wixoaGit

repo: wixoaGit/OpenDream


text:
Display xpub example or 'template' when entering a new Key

Here i feel it's not obvious which syntax use :

Diplaying a template or example like:
[aaaaaaaa/48/0/0]xpubcccccccccccccccccccccccccccccccccccccccccccccccccccccccccc]
can be very useful.

Maybe also make some quick doc about how to get master fingerprint/derivation path / xpub from other wallet can be usefull?

Agree with both, thanks for the feedack. Although let's track the template here and the doc (which is a larger undertaking) in another issue.

i can try take some time for the doc stuff, wich wallet can export master footprint/ derivation path/ xpub?
i'm used to deal with sparrow, don't know about others?

I know only about Bitcoin Core, where you can use listdescriptors to get the wallet's descriptors (which contain the xpubs along with the source (fingerprint + derivation path) and derivation paths to be used. For instance:
{
  "wallet_name": "main",
  "descriptors": [
    {
      "desc": "pkh([bbeeb9f6/44'/1'/0']tpubDC39D8RBT4C8KVpQ1PTHzBdfPhP2u1w5eMzRyRUfaXBdJSJm1gdK3zMXkV4bGfWf7ySFhmzB4HWfwvJ59Dt2sFDFhE6MkSmesJFLFSoxdFD/0/*)#0rhtfy0s",
      "timestamp": 1677419748,
      "active": true,
      "internal": false,
      "range": [
        0,
        999
      ],
      "next": 0
    },
    {
      "desc": "pkh([bbeeb9f6/44'/1'/0']tpubDC39D8RBT4C8KVpQ1PTHzBdfPhP2u1w5eMzRyRUfaXBdJSJm1gdK3zMXkV4bGfWf7ySFhmzB4HWfwvJ59Dt2sFDFhE6MkSmesJFLFSoxdFD/1/*)#7hj253lg",
      "timestamp": 1677419748,
      "active": true,
      "internal": true,
      "range": [
        0,
        999
      ],
      "next": 0
    },
    {
      "desc": "sh(wpkh([bbeeb9f6/49'/1'/0']tpubDD7d5FYMHPfJPERii5EUpBmMmFr4JyQ64JdofMHNJY1mrCXw54CQbgBD7ZTcpFGqhiitD6ctDQMiaeTnJrV9yCgAa2YjPGixR3QKLN7XZ6W/0/*))#e9w00klz",
      "timestamp": 1677419748,
      "active": true,
      "internal": false,
      "range": [
        0,
        999
      ],
      "next": 0
    },
    {
      "desc": "sh(wpkh([bbeeb9f6/49'/1'/0']tpubDD7d5FYMHPfJPERii5EUpBmMmFr4JyQ64JdofMHNJY1mrCXw54CQbgBD7ZTcpFGqhiitD6ctDQMiaeTnJrV9yCgAa2YjPGixR3QKLN7XZ6W/1/*))#vyqehf2a",
      "timestamp": 1677419748,
      "active": true,
      "internal": true,
      "range": [
        0,
        999
      ],
      "next": 0
    },
    {
      "desc": "tr([bbeeb9f6/86'/1'/0']tpubDCAhhV92rzdKP2Gq9nr7ttwLWt9jbGtXC2WZUp5Srvy6L9tzk5xQ7WqegiTLQbD6LX1L9PHbzs7tk2gzDyULdG2Ep4nTs9Tq4p5GKcb8KEk/0/*)#ectqgcnf",
      "timestamp": 1677419748,
      "active": true,
      "internal": false,
      "range": [
        0,
        999
      ],
      "next": 0
    },
    {
      "desc": "tr([bbeeb9f6/86'/1'/0']tpubDCAhhV92rzdKP2Gq9nr7ttwLWt9jbGtXC2WZUp5Srvy6L9tzk5xQ7WqegiTLQbD6LX1L9PHbzs7tk2gzDyULdG2Ep4nTs9Tq4p5GKcb8KEk/1/*)#gvwp4dr3",
      "timestamp": 1677419748,
      "active": true,
      "internal": true,
      "range": [
        0,
        1038
      ],
      "next": 39
    },
    {
      "desc": "wpkh([bbeeb9f6/84'/1'/0']tpubDDs9NKYMSeGAv8dbwpVi2yJZyoDea19jTQw4GMwcAiTXPsUaV44HbubjdAtgvAudVA8AWSUzdZiah5kYMBHXFjtm1PqjcxkRMaytBPfZyLL/0/*)#vahhxvez",
      "timestamp": 1677419748,
      "active": true,
      "internal": false,
      "range": [
        0,
        1039
      ],
      "next": 40
    },
    {
      "desc": "wpkh([bbeeb9f6/84'/1'/0']tpubDDs9NKYMSeGAv8dbwpVi2yJZyoDea19jTQw4GMwcAiTXPsUaV44HbubjdAtgvAudVA8AWSUzdZiah5kYMBHXFjtm1PqjcxkRMaytBPfZyLL/1/*)#afjkmef6",
      "timestamp": 1677419748,
      "active": true,
      "internal": true,
      "range": [
        0,
        999
      ],
      "next": 0
    }
  ]
}

what is the best way to work on the doc, do you have some kind of idea about that?

@pythcoiner i've opened https://github.com/wizardsardine/liana/issues/473 to track the doc addition. Let's stick in this issue to your initial post about having a template in the xpub input.

i just tried listdescriptors, so if i understand well, bitcoin core auto generate P2SH, Segwit, Native Segwit and P2TR descriptor, then the descriptor with 'internal': true are the one for changes? right?

I think for tech people using core as wallet it will be trivial to get the descriptor, but i guess non-tech people using bitcoin-qt as wallet (is there some?) are less likely to use CLI, do you think it worth it that i made a light GUI tool for fetch that descriptors? or nobody will use it? Is there some people using bitcoin-qt with hardware wallets?

Hmm if they are using hardware wallets then they wouldn't need the tool to use Liana? They'd just connect their device and get the xpub from there?
I interpreted what you are trying to achieve here as getting the xpub for people that want to sign with another software wallet. In which case you need an xpub derived from this wallet's seed. I have misunderstood the purpose here?
------- Original Message -------
On Tuesday, May 9th, 2023 at 3:00 AM, pythcoiner @.***> wrote:

I think for tech people using core as wallet it will be trivial to get the descriptor, but i guess non-tech people using bitcoin-qt as wallet (is there some?) are less likely to use CLI, do you think it worth it that i made a light GUI tool for fetch that descriptors? or nobody will use it? Is there some people using bitcoin-qt with hardware wallets?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

By example one seed of my recovery path include the key of my bro who's using bitcoin-qt (without harware wallet), so in this case he need get he's xpub from he's bitcoin-qt key, am i wrong?

Nope, that's exactly right!
Maybe also worth mentioning here: https://github.com/bitcoin/bitcoin/pull/22341.
------- Original Message -------
On Tuesday, May 9th, 2023 at 11:21 AM, pythcoiner @.***> wrote:

By example one seed of my recovery path include the key of my bro who's using bitcoin-qt (without harware wallet), so in this case he need get he's xpub from he's bitcoin-qt key, am i wrong?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

authors: darosior pythcoiner

repo: wizardsardine/liana


text:
Do not let user try recovery if one block left

Closes #1102 and resolve @kloaec issue where 1 block recovery path was displayed recoverable even if tx not confirmed.

For the moment I assigned it to v7 since as we were discussing yesterday it is not strictly required to have it immediately (it is a behavior that should not be "regular" Liana wallet usage)

updated wording as offered by @jp1ac4 on discord:

Some minor comments:

Can we make "path" singular when there is only one recovery path available?
For the same reason, when there is 1 recovery path available, "select one" is not very precise. Maybe we should use a more general "please select"
Is "will be" correct in this case? Why not "x recovery path(s) is/are available?"?

Also, was the green bar below the sentence already present? I didn't get it last time I tried iirc.

Great thanks! The only nit that I notice remaining (not part of this change but I just noticed) is the fact that "can recover X coins" should be singular (coin) when the coin is 1. We could maybe use this PR to correct also this nit.

Checking again the original issue, I'm wondering if the problem was that the coin that had a recovery path available at the next block was still unconfirmed (see https://github.com/wizardsardine/liana/issues/1102#issuecomment-2255475005). The createrecovery command only considers confirmed coins.

Checking again the original issue, I'm wondering if the problem was that the coin that had a recovery path available at the next block was still unconfirmed (see #1102 (comment)). The createrecovery command only considers confirmed coins.

You right i guess we were both (Kevin and I) testing w/ a 1 block recovery timelock, i'll look for a way to handle this edge case.

i've added a new recovery arg to remaining_sequence() instead in order to handle the edge case

A 1-block relative locktimed transactions cannot be included in the same block as its parent. Only transactions valid in the next block can be broadcast on the network. That's the reason why createrecovery only considers confirmed coins.

Moving this and the relative issue to v8 since as per team discussion we won't be able to properly review and test it given the close deadline.

authors: darosior jp1ac4 nondiremanuel pythcoiner


text:
Add system assigned managed identity to vm

-- Update UI to expose configuration options to users
-- Update mainTemplate.json to accept&pass parameters around
-- Update adminTemplate.json/adminTemplateForCustomSSL.json to add configuration for identity property

@edburns Hi Ed, could you please review this PR? I've checked that it can be merged with the other PR(Add Key Vault automation) without conflicts.

Hello @zhengchang907 , I tried to resolve the merge conflicts, but was unable to cleanly do so. Can you please update the PR and resolve the conflicts so it will merge cleanly?

Hi @edburns , I'll close this PR and re-create one with changes of System Assigned Managed Identity only.

repo: wls-eng/arm-oraclelinux-wls-admin


text:
jumpy highlight (hold shift) feature request

Hi, was thinking it would be nice to have a "this is where your cursor is now, and now jump and highlight to this other spot"
So, jumpy while holding shift.
Looks like this repo hasn’t been updated in a while, but I thought it’s worth a shot to ask :)

@setek By "highlight", did you mean select? If so, you can try this extension, it supports Jumping/Selecting to the Start/End of a word.

@setek By "highlight", did you mean select? If so, you can try this extension, it supports Jumping/Selecting to the Start/End of a word.

I just get an error every time I try to use that extension

But yes, I did want to "be in  position, jump and select to  position" that's exactly the functionality I want

@setek I'm using the latest version without any issues, can you tell me a bit more about your setup?

Are other extensions disabled? Y/N
OS:
VSCode Version:
Jump Version:

@setek I just tested on several macs and windows PCs, couldn't reproduce your issue, does the issue persist after reinstallation?

@setek I just tested on several macs and windows PCs, couldn't reproduce your issue, does the issue persist after reinstalling the extension?

@setek I'm using the latest version without any issues, can you tell me a bit more about your setup?
* Are other extensions disabled? Y/N

Hi! So I did try it again and yeah, it works now! Very cool, thank you!

@setek Please give it a five stars rating if you enjoyed it ;).

@setek Please consider giving a five stars rating if you enjoyed it ;).

@setek Thanks for your kind review! After reading your comment, I found it's a bit hard to filter out Jump commands in the "Keyboard Shortcuts" editor, so in v0.7.0, I changed the command ID prefix from jump to jump-extension, you might need to update the keybindings after upgrading, cheers!

authors: setek wenfangdu

repo: wmaurer/vscode-jumpy

license: mit


text:
Fix pseudo-selector order

This PR aims to fix an issue with hover styles by correcting the pseudo selector order to reflect the overrides performed by the user. i.e. an element is:

First :focused (most general case)
Then :hovered (specific case before activated, desktop only)
And only then potentially :activeated

In this case the selector cascade reflects that flow and thus does not require a higher specificity to perform overrides.
See: https://phabricator.wikimedia.org/T266557
Bug: T266557

Would it be possible to prevent the buttons' border from changing whenever a focused button is hovered? Only the button text color and the background color should be affected.

(I'm answering here because I don't think the comment thread is related to the code suggestion.)
Hey @SaiSan-WMDE!

So you mean that we should consider creating $wikit-Button-xx-xx-focus-hovered tokens?

Something like that, yup!

Representing one pseudo selector level in the tokens seems enough. After all, in general the combination of pseudo selectors (in this or other cases) could be considered an implementation decision, right?

I would agree if there was some cascading order that would lead to the desired behavior. Overriding some, but not all of the :focus properties on :hover means that there is no way we could arrive at the expected styling for the combination of the two based on the existing tokens.
It seems that this was considered though, so I'm ok with the decision! The change request was only for the code suggestion and not about the tokens.

(I'm answering here because I don't think the comment thread is related to the code suggestion.)

Sorry about the wrongly nested response.

I would agree if there was some cascading order that would lead to the desired behavior. Overriding some, but not all of the :focus properties on :hover means that there is no way we could arrive at the expected styling for the combination of the two based on the existing tokens.

I see the point and I agree in this instance, but I'd tentatively move forward expressing only single states styles in the tokens to avoid introducing redundancy.
Thanks so much for your feedback, Jakob 💯

authors: SaiSan-WMDE itamargiv jakobw

repo: wmde/wikit


text:
Updates for craft 4 requirements

Craft 4 has some typing specifications necessary for plugins to work. These changes should allow the plugin to work.

OK thx..  :)
will ask developer to check that asap..

authors: jassok wmdhosting


text:
Problem with numbered lists

Numbered lists do not render correctly. For example
subscriptions:
. Subscribe
renders as
subscriptions: . Subscribe
Expected result would be
subscriptions:

Subscribe

There are several locations in the document

Problem might be missing empty line before the lists. Will check if the problem still exists when https://github.com/wmo-im/wis2-transition-guide/pull/40 is merged


text:
Please fix or remove appveyor

project removed in appveyor


text:
Ignore :into collectable for non-200 responses

Currently when we pass into: collectable, the body is streamed into the collectable, regardless the status. This can be problematics for collectables with side effects. For example, I imagine a common use case may be into: File.stream!(path) to download a file, and in case of an error, we would save error message body instead.
There is one concern, that I'm not sure how to solve, hence a draft (details in separate comment).

cc @acalejos, I think you run into this recently!

cc @acalejos, I think you run into this recently!

Yes I think I did! When a redirect occurred, if they body of the redirecting URL wasn't empty it would trigger the :into function. Expected behavior IMO would be for it to only trigger after all redirects, but Im not sure if it's possible for it to be aware of any redirects at the point when :into is called since it's called before response steps and redirects aren't always enabled

it would trigger the :into function

You mean into: fn {:data, data}, {req, resp} ->, right? Since you have resp at that point, you could just pattern match on the resp status, and if it's not 200, you ignore the data, so a redirect would just go through. Though one could make an argument that it should only be called on 200 as well, and if needed we can have a option into_on_any_status: true applicable to both. But then the final question is what about :self, perhaps on non-200 req receives all messages itself and doesn't return async body? @wojtekmach I can send for any of these, just let me know :)
That said, this PR does fix the redirect case for into: collectable. Previously a redirect could result in the collectable invoked multiple times. Now, it will only happen for the final 200 response.

@jonatanklosko
Yes, it was :into a function for my case (seen here: https://github.com/acalejos/Reed/blob/64832bc789916e0b2a7ab5347328833846846113/lib/reed/req_plugin.ex#L44)
You're right I should pattern match on the status in the resp. I think for now Im just letting the XML parser error on the data and rescuing it and letting that be the way to ignore it, so I should change that 😅

authors: acalejos jonatanklosko wojtekmach

repo: wojtekmach/req


text:
Exception in thread Thread 4 [BUG]

The program downloaded episodes 1- 73 of the anime "Monster" from aniworld without a problem but somehow it wont download the last episode.

The issue probably is that windows doesn´t allow a process to have that many threads at once. Can you please try the Manual downloader for the last episode?

Same issue.

That doesnt make any sense. Did you try restarting your PC? I tested it on 3 devices and i can download all episodes and the last one manualy no issues. Are you maybe using a outdated version of this project? Maybe you are using the Microsoft Store verion of python?

Nah i downloaded this project like a day before this thread. I got Python was from the website.

Dumb idea but try this. Open CMD, run powershell in that window and then run the scraper. In theory you have 2 instances running and python could only close the first one. Please submit the error message then.

Its the exact same message. Even on another series it downloads everything but the last episode. i reinstalled python and the scraper.

Can you please enable Debug Loggin (start_app -> Line 84 setup_logging("debug")) and also in "downloader.py" before Line 47 add "print(ffmpeg_cmd)".
After that upload the Output again please.

PS G:\Anime\aniworld_scraper-V-1.9\src> python .\start_app.py
2023-11-14 16:56:49,232: INFO    ------------- AnimeSerienScraper v01-09-00 started ------------
2023-11-14 16:56:49,232: DEBUG   start_app.py -> We have Read Permission
2023-11-14 16:56:49,232: DEBUG   start_app.py -> We have Write Permission
2023-11-14 16:56:49,232: INFO    start_app.py -> No Season override detected.
2023-11-14 16:56:49,232: DEBUG   collect_all_seasons_and_episodes.py -> Entered get_season.
2023-11-14 16:56:49,232: DEBUG   collect_all_seasons_and_episodes.py -> Site URL is: https://aniworld.to/anime/stream/nichijou-my-ordinary-life/
2023-11-14 16:56:49,608: DEBUG   collect_all_seasons_and_episodes.py -> Now leaving Function get_season
2023-11-14 16:56:49,608: INFO    start_app.py -> We have this many seasons: 1
2023-11-14 16:56:49,608: DEBUG   collect_all_seasons_and_episodes.py -> Entered get_episodes
2023-11-14 16:56:49,978: DEBUG   collect_all_seasons_and_episodes.py -> Now leaving Function get_episodes
2023-11-14 16:56:49,979: INFO    start_app.py -> Season 1 has 26 Episodes.
(few lines of "not downloading because file already downloaded)
2023-11-14 16:56:49,999: INFO    start_app.py -> File name will be: nichijou-my-ordinary-life/Season 01/nichijou-my-ordinary-life - s01e26 - Ger-Sub.mp4
2023-11-14 16:56:49,999: DEBUG   downloader.py -> File not downloaded. Downloading: nichijou-my-ordinary-life/Season 01/nichijou-my-ordinary-life - s01e26 - Ger-Sub.mp4
2023-11-14 16:56:50,203: DEBUG   search_for_links.py ->Link to redirect is: https://aniworld.to/redirect/1803681
2023-11-14 16:56:50,203: DEBUG   start_app.py -> Entered DDOS var check and starting new downloader.
2023-11-14 16:56:50,203: DEBUG   search_for_links.py ->Enterd VOE to cache
2023-11-14 16:56:51,064: DEBUG   search_for_links.py ->Exiting VOE to Cache
2023-11-14 16:56:51,064: DEBUG   start_app.py -> VOE Cache URL is: https://delivery-node-evsoaawruxp0d7hl.voe-network.net/engine/hls2/01/09030/fhftlvthjlf0_,n,.urlset/master.m3u8?t=wAXbRNrppGxA7F-lgqIuN39Ohf4_s2gTeoCXu8Qj2W0&s=1699977410&e=14400&f=45154460&node=delivery-node-evsoaawruxp0d7hl.voe-network.net&i=77.21&sp=2500&asn=3209
2023-11-14 16:56:51,065: DEBUG   downloader.py -> Entered Downloader.
2023-11-14 16:56:51,067: INFO    downloader.py -> File nichijou-my-ordinary-life/Season 01/nichijou-my-ordinary-life - s01e26 - Ger-Sub.mp4 added to queue.
['ffmpeg', '-i', 'https://delivery-node-evsoaawruxp0d7hl.voe-network.net/engine/hls2/01/09030/fhftlvthjlf0_,n,.urlset/master.m3u8?t=wAXbRNrppGxA7F-lgqIuN39Ohf4_s2gTeoCXu8Qj2W0&s=1699977410&e=14400&f=45154460&node=delivery-node-evsoaawruxp0d7hl.voe-network.net&i=77.21&sp=2500&asn=3209', '-c', 'copy', 'nichijou-my-ordinary-life/Season 01/nichijou-my-ordinary-life - s01e26 - Ger-Sub.mp4']
Exception in thread Thread-1 (download_and_convert_hls_stream):
Traceback (most recent call last):
File "C:\Users\wladi\AppData\Local\Programs\Python\Python312\Lib\threading.py", line 1052, in _bootstrap_inner
self.run()
File "C:\Users\wladi\AppData\Local\Programs\Python\Python312\Lib\threading.py", line 989, in run
self._target(*self._args, **self._kwargs)
File "G:\Anime\aniworld_scraper-V-1.9\src\logic\downloader.py", line 48, in download_and_convert_hls_stream
subprocess.run(ffmpeg_cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
File "C:\Users\wladi\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 550, in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\wladi\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1209, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\wladi\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1610, in _communicate
self.stdout_thread.start()
File "C:\Users\wladi\AppData\Local\Programs\Python\Python312\Lib\threading.py", line 971, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't create new thread at interpreter shutdown
PS G:\Anime\aniworld_scraper-V-1.9\src>

ah shit, sorry i know its pretty late, but i had to install ffmpeg manually and i renamed the ffmpeg.exe to _ffmpeg.exe because else i had the same problem as the guy in the other thread. maybe its because of this (even though the error message doenst mention ffmpeg). sry again.

Its a pretty high chance that the installed version of ffmpeg is fighting the "portable" version. Can you try downloading the latest version and putting that where the ffmpeg.exe is? https://github.com/BtbN/FFmpeg-Builds/releases

If you mean your provided ffmpeg.exe, it wasnt working for me. thats why i renamed it to test it with the installed version. only then the scraper even worked.
with the new ffmpeg.exe its still the same outcome.
btw i just noticed that "your" ffmpeg.exe is only 1kb while the new one is 126mb big, maybe thats why it wasnt working with yours.

I finally found out why the included ffmpeg has this issue...
Github wants me to buy bandwidth... I will write a script that downloads it from the offical website .-.

Im still not able to recreate this issue. The only things i can think about is: uninstalling FFMPEG and downloading it from the github link i send you or trying to join Threads on your PC:
DOWNLOADER.PY LINE 58
    if provider in ["Vidoza","Streamtape"]:
        download_thread = threading.Thread(target=download, args=(url, file_name))
        download_thread.start()
        download_thread.join()
    elif provider == "VOE":
        download_thread = threading.Thread(target=download_and_convert_hls_stream, args=(url, file_name)).
        download_thread.start()
        download_thread.join()

Nah i dont think it was a ffmpeg problem, beside the issue you had with github. My PC is just weird :D. The change in downloader.py actually fixed it!
But now i had a another weird problem. I started the scraper to download last episode (17/17) of "jujutsu kaisen", which was released few days ago. It went well, without an error (also tryed on another series to verify).
But i then noticed, that ep16 was only partly downloaded (with ~100mb instead of 2xx mb). So i deleted ep16 and ran the scraper and this happend:

It seems to be an issue with that VOE upload only. So is there a way to chose another hoster? From my little understanding of the code above, he should try another hoster (but isnt?).

You can change the order of hosts in search_for_links.py get_redirect_link_by_provider.
This issue has happend once and that was when Vidoza/VOE has Maintanance. Issue:21
I dont know why this happens here.  Its probably because either a "DDOS/Scraping" Protection triggers or they had Server Issues.

authors: flatko wolfswolke


text:
insensitive branch name 'master'

consider using 'primary' or 'default'
thank you.

Why is this closed? The issue is not resolved.
It's not even a technical limitation, you can change the default branch on GitHub.
https://help.github.com/articles/setting-the-default-branch/

repo: wooorm/alex


text:
Q: support for auto-coloring Rust code?

Does this crate support markdown syntax for adding colors to Rust code like below (i.e. color consistently and automatically informing you whether it's a struct, or function, or enum, or keyword, etc)?
struct Struct {
    field1: String,
}

I have no clue what you are asking. Please use more words and examples.

If I write like this in Markdown:

... then Markdown will parse it like this:

Does this crate have this feature?

That's not what markdown does. That's what GH and similar things do. It's called "syntax highlighting". Markdown turns that word, "rust", into a class. That's what we do here too. You can then use that class, with JavaScript for example, to do syntax highlighting yourself.

repo: wooorm/markdown-rs


text:
How can I make this work for other language?

How can I make this work for other language? Russian, f.e.

That unfortunately would take a lot of work: you need a parser (like parse-english), and you need algorithms like Dale–Chall, Automated Readability, Coleman-Liau, Flesch, Gunning fog, SMOG, and Spache.

Thanks! Will take a look at those ones

:+1:

I’m closing this as it’s not really actionable, do let me know if you’d like my advice though!

authors: sadfuzzy wooorm

repo: wooorm/readability


text:
Mac M1 -- qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

bpf-build on my M1 Mac isn't happy with cryptoworkbench/solana-amman:v1.10.27 ... looking for x86_64 specific libs. Build works fine on Mac natively, so I wonder if there's something in the Docker environment we need to configure

did the change above fix this?

which change? https://github.com/workbenchapp/solana-validator/issues/9 was just an issue i closed to port to this one

authors: SvenDowideit nathanleclaire

repo: workbenchapp/solana-workbench


text:
Can't be imported in Deno

Hi,
When I import it in the Deno, it seems some dependencies don't work with ES module.
I understand that most libraries don't work with Deno right now, but it would be better to support Deno.
Thank you!
--
import 'https://unpkg.com/@worker-tools/parsed-html-rewriter?module';
...
Download https://unpkg.com/htmlparser2@^6.0.0?module
Download https://unpkg.com/linkedom@0.5.6/commonjs/canvas.cjs?module
Download https://unpkg.com/css-select@^3.1.2?module
Download https://unpkg.com/htmlparser2@6.0.1?module
Download https://unpkg.com/css-select@3.1.2?module
error: Import 'https://unpkg.com/css-select@3.1.2?module' failed: 404 Not Found
    at https://unpkg.com/linkedom@0.5.6/esm/shared/matches.js?module:1:0

This is not something I can fix, as it's internal to one of the dependencies.
Use skypack instead: https://cdn.skypack.dev/@worker-tools/parsed-html-rewriter

Thank you for the reply.
Yeah, I know that's because of some indirect dependencies.
But if one day we want to put this HTMLRewriter on this page: https://worker-tools.github.io/#tools
Maybe we have better to support it. So that:

Most have no dependencies beyond what is provided by a Worker Environment. For those that have dependencies, only such that provide ES module exports are used.

Thank you so much, I learned a lot from the worker-tools.

Yep fully agree.
Unfortunately I'm not sure this module will ever live up to that standard. Unlike the other tools, this one has some pretty complex dependencies and maintaining de-node-ified forks of them seems overkill. I might look into it at some point anyway.
I hope that lol-html will provide a WASM interface at some point (I think there's an open issue) which should be self-contained and make this module obsolete.

Anyway, nice to see you've poked around the tools  a bit 👍

FYI: It's now possible to use this module directly in deno by providing the following import map:
{
  "imports": {
    "linkedom": "https://esm.sh/linkedom?alias=perf_hooks:universal-perf-hooks",
    "whatwg-stream-to-async-iter": "https://esm.sh/whatwg-stream-to-async-iter",
    "tslib": "https://esm.sh/tslib"
  }
}

Exampel usage:
#!/usr/bin/env -S deno run --import-map=./import-map.json --allow-net --no-check
import { ParsedHTMLRewriter } from 'https://unpkg.com/@worker-tools/parsed-html-rewriter/index.js';

Mind the --no-check option to prevent typescript errors relating to missing DOM types...

authors: lxiange qwtel

repo: worker-tools/parsed-html-rewriter


text:
add individual score output option

users may want to see individual scores for interview files, add as optional output

option feature_score=true has been added

repo: worldbank/rissk


text:
Pre-populate translations of goal, target and indicator names (when available)?

These are available from the UN for the official 6 languages. Can we pre-populate the metadata files with them, when available? Would this be through the glossary feature in Weblate?

One way to do this would be to write a script that creates translation files for every indicator, in all 6 languages, and populates those 3 fields based on what we can get from the UN source.

This would also support pre-population of "Related indicators" in MSD concept 0.f.

If we try it, we would need to try it for RUS only first, then maybe FRE once that relationship is solid.

And also names of custodian agencies (0.g, 3.f)
And translations of MSD concept names

This was requested by STATCAN on May 6th.

We created a one-time script to import official titles, and ran it, so I think we can close this.

repo: worldbank/sdg-metadata