How to reset the entire table?

Hi,
In my use case, pluto_grid table has been created under state class. in certain scenario, i want to save all the rows that are listed in the table to firestore and i am able to store it. once stored then i want to reset the entire table to allow the user to key in next setup of data to table. since grid has been created within state class, its not being reset or i dont know how to reset.  is there a way to reset the entire table? i can't user navigator.pop to go back from the current page and come back to this page again to remove the state class instance. because i want to stay in the same page and allow user to create new set of data. how can i do it?
Thank you!..

@techttiru
Guessing what you said, it looks like you've only changed the rows that are List .
If so, please refer to the link below.
This is a method to update the values of rows after grid creation.
https://weblaze.dev/pluto_grid/build/web/#feature/add-rows-asynchronously
If not, it looks like you need to setState on the page that loads the grid.
Updating the entire grid data may be added in the future.

Thanks for responding!.. actually i want to reset the entire table. since this table is within state class, i am trying to find out whether we can reset the complete state class so that table also will be reset as like initial state. as a work around, i am removing all the rows from the table for now.
if we have option of reseting the entire state class then it should automatically reset the table. but i dont know how to reset the state class.i see some information in google but no luck so far.

@techttiru
Can you provide some of the code you are trying? An explanation is not enough for me to answer. I would like to know more about the situation.

@techttiru Can you provide some of the code you are trying? An explanation is not enough for me to answer. I would like to know more about the situation.

Please see the below code helps for some extend. happy to share more information.
class ReceivedAmtTableData extends StatefulWidget {
  final DenominationAmtModel? denominationAmtModel;
  const ReceivedAmtTableData({
    Key? key,
    this.denominationAmtModel,
  }) : super(key: key);

  @override
  State<ReceivedAmtTableData> createState() => _ReceivedAmtTableDataState();
}

class _ReceivedAmtTableDataState extends State<ReceivedAmtTableData> {
  late PlutoGridStateManager stateManager;

  final List<PlutoColumn> localColumns = [];
  final List<PlutoRow> localRows = [];
  late bool firsTimeTableBuilt;

  bool addingnewRow = false;

  @override
  void initState() {
    super.initState();
    localColumns.addAll(buildPlutoRecievedAmtColumn());
    firsTimeTableBuilt = true;
  }

  @override
  void dispose() {
    super.dispose();
  }

  final EventAttendeeRegistrationController
      eventAttendeeRegistrationController = Get.find();

  @override
  Widget build(BuildContext context) {
    WidgetsBinding.instance
        .addPostFrameCallback((_) => executeAfterWholeBuildProcess(context));

    if (!firsTimeTableBuilt) {
      if (widget.denominationAmtModel?.amt == 0) {
        removeAllrows();
      } else {
        stateManager.appendRows(
            [buildPlutoReceivedAmtRow(widget.denominationAmtModel!)]);
        stateManager.moveScrollByRow(
          PlutoMoveDirection.down,
          stateManager.refRows.length - 1,
        );

        stateManager.sortDescending(
          PlutoColumn(
            title: 'Deno',
            field: 'input_denomination',
            type: PlutoColumnType.number(negative: false),
            //  type: PlutoColumnType.select(['1000', '500', '200']),
            backgroundColor: const Color(0xFFE3F2FC),
            width: 80,
            enableContextMenu: false,
            sort: PlutoColumnSort.descending,
          ),
        );
      }
    }

    return SizedBox(
      height: 194,
      child: PlutoGrid(
        columns: localColumns,
        rows: localRows,
        createFooter: (PlutoGridStateManager pgsm) =>
            ReceivedAmtTableFooterData(
          eventAttendeeRegistrationController:
              eventAttendeeRegistrationController,
          stateManager: pgsm,
        ),
        onChanged: (PlutoGridOnChangedEvent event) {},
        onLoaded: (PlutoGridOnLoadedEvent event) {
          stateManager = event.stateManager;
          firsTimeTableBuilt = false;
          //    stream = stateManager.keyManager!.subject.listen(streamListener);
        },
        //   createHeader: (statemanager) => const Text('Total Moi amt'),
        configuration: const PlutoGridConfiguration(
          rowHeight: 30.0,
          enableColumnBorder: true,
          enableGridBorderShadow: true,
          gridBorderColor: Colors.grey,
          borderColor: Colors.grey,
          // enterKeyAction: PlutoGridEnterKeyAction.none,
          columnHeight: 0,
          columnTextStyle: TextStyle(fontSize: 0.01),
          defaultColumnTitlePadding: 0,
          defaultCellPadding: 10,

          //   columnFilterHeight: 0,
          // defaultColumnTitlePadding: 0,
        ),
      ),
    );
  }

  List<PlutoColumn> buildPlutoRecievedAmtColumn() {
    final List<PlutoColumn> columns = [
      PlutoColumn(
        title: 'Deno',
        field: 'input_denomination',
        type: PlutoColumnType.number(negative: false),
        //  type: PlutoColumnType.select(['1000', '500', '200']),
        backgroundColor: const Color(0xFFE3F2FC),
        width: 66,
        enableContextMenu: false,
        sort: PlutoColumnSort.descending,
        readOnly: true,
        // renderer: (renderContext) {
        //   return const Icon(Icons.delete);
        // },
      ),
      PlutoColumn(
        title: 'Cnt',
        field: 'input_cnt',
        type: PlutoColumnType.number(negative: false),
        backgroundColor: const Color(0xFFE3F2FC),
        width: 87,
        enableContextMenu: false,
        readOnly: true,
      ),
      PlutoColumn(
        title: 'Total',
        field: 'calculated_total',
        // minWidth: 10,
        //width: 50,
        readOnly: true,
        type: PlutoColumnType.number(negative: false),
        backgroundColor: const Color(0xFFE3F2FC),
        width: 100,
        enableContextMenu: false,
      ),
      PlutoColumn(
        title: 'Del',
        field: 'delete_row',
        // minWidth: 10,
        //width: 50,
        readOnly: true,
        type: PlutoColumnType.text(defaultValue: 'Delete'),
        backgroundColor: const Color(0xFFE3F2FC),
        width: 96,
        enableContextMenu: false,
        renderer: (rendererContext) => IconButton(
          icon: const Icon(
            Icons.delete_forever_outlined,
            color: Colors.red,
          ),
          onPressed: () {
            if (eventAttendeeRegistrationController
                    .currentStateOfReceivedAmtOfOverUnderPayment
                    .value
                    .paymentStatus ==
                'Over') {
              eventAttendeeRegistrationController
                  .resetCurrentStateOfRefundAmtOfOverUnderPayment();
            }
            removeFromReceivedAmtList(rendererContext);
            rendererContext.stateManager.removeRows([rendererContext.row]);
            eventAttendeeRegistrationController.compareTotalAmtAndReceivedAmt();
            eventAttendeeRegistrationController
                .throwReceivedAmtEntryFinalizationDialog();
          },
        ),
      ),
    ];
    return columns;
  }

  PlutoRow buildPlutoReceivedAmtRow(DenominationAmtModel denominationAmtModel) {
    // eventAttendeeRegistrationController.receivedAmtDataTableList
    //     .add(denominationAmtModel);

    addingnewRow = true;
    return PlutoRow(
      cells: {
        "input_denomination": PlutoCell(value: denominationAmtModel.amt),
        "input_cnt": PlutoCell(value: denominationAmtModel.count),
        "calculated_total": PlutoCell(value: denominationAmtModel.totalAmt),
        "delete_row": PlutoCell(value: 'Delete'),
      },
    );
  }

  void removeFromReceivedAmtList(PlutoColumnRendererContext rendererContext) {
    eventAttendeeRegistrationController.receivedAmtDataTableList
        .removeWhere((element) {
      if (num.parse(element.amt.toString()).isEqual(num.parse(
          rendererContext.row.cells['input_denomination']!.value.toString()))) {
        return true;
      }
      return false;
    });
  }

  void removeAllrows() {
    if (stateManager.refRows.originalList.isNotEmpty) {
      stateManager.removeRows(stateManager.refRows.originalList);
    }
  }

  void executeAfterWholeBuildProcess(BuildContext context) {
    print('Received amount table class build ends and called this function');

    //adding row into the controller list after build is completed. because since this is iin state class, before completing the state class build
    //if we update this list then it will trigger another class build due to state management which will create the problem.
    //thats the reason we make sure state class build is over before updating the controller list so that obx will not build
    //other class when state class build method is being executed.
    if (addingnewRow) {
      eventAttendeeRegistrationController.receivedAmtDataTableList
          .add(widget.denominationAmtModel!);
      if (eventAttendeeRegistrationController
              .currentStateOfReceivedAmtOfOverUnderPayment
              .value
              .paymentStatus ==
          'Over') {
        eventAttendeeRegistrationController
            .resetCurrentStateOfRefundAmtOfOverUnderPayment();
      }
    }

    //call this method because this is where we determin which color to be applied for over, under or equal payment.
    //this method will update the obs variable currentStateOfReceivedAmtOfOverUnderPayment and this obs update will trigger obx
    //builder to rebuild the widget whereever currentStateOfReceivedAmtOfOverUnderPayment variable is being used.

    eventAttendeeRegistrationController.compareTotalAmtAndReceivedAmt();
    eventAttendeeRegistrationController
        .throwReceivedAmtEntryFinalizationDialog();
  }
}

I've looked through the code, but I don't quite understand your business logic.
It seems undesirable to operate methods such as appendRows, removeRows, and sortDescending within the build method.
I've never used getX so I don't know if it's correct, but I think you need to register a callback with the value of getX through listener .
And in that listener, I think you need to handle the action handled by build .
Because PlutoGridStateManager inherits the ChangeNotifier class, calling the PlutoGridStateManager.notifyListener() method reflects the changes in the grid. Of course, not all changes to the grid, but columns, rows, and sorting status are reflected.

Thank you responding!.. is it possible to connect with you via zoom or google chat or discord call or any other call? I would like to understand more about your comment and i can share more information about the business logic that i am doing. I really need to reset the table because i get multiple use cases where i have completely reset the table but i stuck up here of not able to reset the table. Appreciate your response.

@techttiru
Email us your business logic and we'll check it out.
If you send it in the form below, I think it will be easier for me to understand.

There is a schema like {id: 123, name: abc, amount: 100}.
When the grid starts, fetch N rows from the backend with the schema structure above.
When the grid is loaded, it sorts based on the id column.
When the X value, which is an Observable value outside the grid, changes, the grid is updated.


7x dud inscriptions still showing

We replaced the 7x "dud" inscriptions with newly inscribed ones and it was merged 2 days ago
Our inscriptions.json only have 1111x inscriptions
But on marketplace the duds still show although not in the new merged json?
and the items shows as 1118x instead of 1111x
Below 7x inscriptions are not part of the collection, or in the newly merged json
432faadffdfdfea0ae79a34f11869ed37c652f6a3644543802393dd20cd4ea0bi0
b4cef2963b4314baf004b8dd3449ea9796eea40e8daa6d5391b2d21852cd900di0
38f1848a437c4ee78a51c7dbdbf48f1df7a5ec391b0f687c761ec43895926936i0
ef04c8f54e134d4646591f7edb2a49374110e14489f2cb718bf9efa78fbc82b4i0
1450dfdf856230aa4a770bac40ce308d8e4a5e37334a6fb0002756611ae090c7i0
c4cb148aed01a58c0d7ea3af492540c89f92ccb8e1373cd1254be5226e51f3d6i0
7fd7577c46891cc253eb78844d834970632c62f6ec759eedd6a2c44fdf2b83e2i0
Kindly advise if you can remove the 7x duds

we merged your json file and update the list yesterday. If the dud inscriptions are still it, you may check your json file and update it to the latest then submit a new pull request. @FRACTALTREX

I checked, all the dud inscriptions are still in your json file. Please check them one by one then remove them. You should ensure you json file is correct. We won't change anything, juse list it as what you submitted. @FRACTALTREX


Messages not sending

So, I have created a command parsing/prefix/checking system. Currently, the default prefix is !, however when I edit it, it doesn't send any messages.
Below, are the 2 primary classes. The first class is the actual command and the second is the command system.
https://hastebin.com/mimusamezo.java
https://hastebin.com/bafoqudoze.java

For the last time: only post JDA issues here. Not general "I don't know why this is not working. Must be JDA".
If the only thing you changed in code (prefix) is not related to JDA, its not a JDA issue!
Not being good in a programming language is not bad or a shame. But polluting a libraries issue page with problems with your own code that don't even have to do with said lib is just bad.
Seing as you are already in our Guild where we offer coding support, please post there first and confirm if its actually a JDA problem.


Remove unnecessary X includes for Bug #20

Remove unnecessary X includes to workaround "#define None" clash with boost-xpressive < 1.53 (Bug #20)
More details on https://github.com/nickguletskii/GLXOSD/issues/20#issuecomment-138106030

Could you please change your pull requests to merge into development? I am going to check them out right now. Sorry for the late responses.

I can't change the target branch on an existing pull request. Would have to close them all and re-submit. Should I do that?
You can merge PRs into whatever branch you like. Don't feel restrained by github's UI.
If I may suggest, having master == development is the more common workflow. For releases, you can create separate branches/tags, this way you can also push hotfixes into a past release without affecting the current dev branch.

Merged into development branch, closing.


Update dependencies.

PHPUnit changes necessitate changes to the build process.

Coverage remained the same at 100.0% when pulling 46166bcb81e6188e715c19f004a8c790f237e462 on update-dependencies into e52f0fe0acc1064b05f67b0de8b5a77316d8be51 on master.


entr_in.b_mean is not defined anywhere

entr_in.b_mean is not defined anywhere in the code.
This variable is used here and here, which means that any case using entr_detr_buoyancy_sorting is broken. So, far, I've confirmed broken cases include:

TRMM_LBA

Note: I realize that this value may default to zero (which may be correct) depending on compiler/machine configuration, but I think this variable should be explicitly defined.

@charleskawczynski you are right. Maybe @yairchn has already solved this issue in this updated branch for entrainment and detrainment, but not on this one.

entr_in.b_mean is now defined in Turbulence_PrognosticTKE.pyx


Question: track geolocation only 1 time

I know this library is purposed for background geolocation that listen geo movement. But my usage is: I want to capture current location, if I got current location, then stop to listen. It can be a button that refresh current geo every time I click button. I want to replicate RN built-in geolocation getCurrentPosition, which is make me very frustrate because of bug. I just want to make sure that this library can accommodate my usage, so I ask here. Thanks.

@pewh Did you find a way to find current location?

Unfortunately, no :/
Current solution in official RN is still buggy, and I still don't have any solution with this repo

Hmm... thanks. I am thinking of implementing it natively, but I am completely new to RN. If I can find a solution, I will share the implementation.

so just start and on location event stop service :) but in general is this good idea? bcs you need some time to get better accuracy

Solution from  the example app:
  toggleTracking() {
    if (this.state.isTracking) {
      this.stopTracking();
    } else {
      this.startTracking();
    }
  }

  startTracking() {
    if (this.state.isTracking) { return; }

    BackgroundGeolocation.start(() => {
      console.log('[DEBUG] BackgroundGeolocation started successfully');
    });
    this.setState({ isTracking: true });
  }

  stopTracking() {
    if (!this.state.isTracking) { return; }

    BackgroundGeolocation.stop();
    this.setState({ isTracking: false });
  }

  var Button = this.state.isTracking
      ? <Image style={styles.button} source={require('./stop.png')} />
      : <Image style={styles.button} source={require('./start.png')} />

  <TouchableOpacity onPress={this.toggleTracking.bind(this)}>
            {Button}
  </TouchableOpacity>

Notice: this issue has been closed because it has been inactive for 73 days. You may reopen this issue if it has been closed in error.


Redesign archetype sorting page

I'm thinking of taking on a project to redesign the archetype sorting focusing on 2-3 features. I would appreciate any feedback.

Save asynchronously so that you can just select the archetype and it'll save without clicking the submit button (easy to do).
Ability to navigate the archetype tree from the page a little better, so e.g. if a weird brew is obviously midrange, but you want to browse the midrange subtree to see if it fits anything there, that's a bit easier. This would basically replace the select dropdrown, although ability to assign by typing the name if you know would stay.
The ability to select multiple decks and assign them at once. It's not as needed if (1) works, but it's still a benefit I think.

We already have (3), don't we?

I guess I meant: select 5 decks, then click one time on "Rofellos Ramp", and have it apply to all of them.

We have something a bit like that when you search via cards in/not in the
deck. I'm not in love with it but it functions.
On Sat, Oct 26, 2019 at 9:52 PM Taylor Sutton<EMAIL_ADDRESS>wrote:

I guess I meant: select 5 decks, then click one time on "Rofellos Ramp",
and have it apply to all of them.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PennyDreadfulMTG/Penny-Dreadful-Tools/issues/6607?email_source=notifications&email_token=AAAAMBKD2L74W2ROWCTRYK3QQSUYVA5CNFSM4JFOVD3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECKQUZI#issuecomment-546638437,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAMBNH734MBNYNZOLMWILQQSUYVANCNFSM4JFOVD3A
.


Correcty handle parameters on MAIL, RCPT, etc commands

Namely, we need to return 555 if we don't support a parameter, and 455 if we only temporarily don't support it.

A note to myself, mostly:
The SIZE and 8BITMIME service extensions are good examples of how parameters work. There a space away from the FROM in MAIL. So like:
MAIL FROM:<address> SIZE=128000


fix(addon): add addonRight

What kind of change does this PR introduce? Bug fix

Current coverage is 84.91% (diff: 100%)

Merging #276 into master will not change coverage

@@             master       #276   diff @@
==========================================
  Files            18         18
  Lines           643        643
  Methods         140        140
  Messages          0          0
  Branches        151        151
==========================================
  Hits            546        546
  Misses           97         97
  Partials          0          0

Powered by Codecov. Last update fc3054a...fa96839


Order of attributes in meltano select --list --all is not alphabetical, making the list hard to parse

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2387
Originally created by @DouweM on 2020-10-08 23:03:21

View 4 previous comments from the original issue on GitLab


fail during compilation if module uses FFI, but no .nix FFI file exists

Current in purenix, we copy over an FFI file like Main.nix to output/Main/foreign.nix, but only if Main.nix exists.
We don't have any check for the situation where Main.purs uses FFI functions, but no Main.nix FFI file exists.  We should probably add this check, since it can be easy to forget to write an FFI file.

Transferred this issue to https://github.com/purenix-org/purenix/issues/7.


how to adjust params for graphShort

$gsat graphShort -conf example.conf
The og.filtered.gfa file was produced.
According to the manual, the params for graphShort should be adjusted for different species, could you please give us more detail information about how to adjust params for graphShort, or how to do next?
Thanks,
Wei

Hi Wei,
This can be determined by comparing result files of the graphShort step with different params (mainly minDep1, minDep2, etc.). In bandage software, you can observe  and compare the obtained graphs and then adjust the parameters for graphShort step to get the best result.  Although not recommended, you can also make manual corrections to the graph based on your own experience.
When a optimal og.filtered.gfa is genereated, you can use it as an input file for the graphLong step.
Best,
WH


Add a report for Pact-Producer-JUnit

When you run pact producer in JUnit, the results are stored in JUnit format. This is good for compatibility with JUnit reporters of the IDE and so on, but in terms of generating a report for putting on your CI environment I think it is not enough ( or we could provide more information). WhatI suggest is to modify the JUnitRunner (since there is where you have all the information) to generate some kind of JSON file that includes the fragment executed and the result, in case of FAIL adding the stacktrace/message. In this way you will have all the information in one place, you will be able to know for example that "system did a request to http://myhost:8080/mysite/rest/service with method GET" and the response was the expected one which is "blabla" or the answer was not the expected because "blablabla".
I see something like:
execution:[{
  fragment: {
            "providerState": "planets aggregator",
            "description": "Planets average calculation",
            "request": {
                "method": "GET",
                "path": "/rest/planet/orbital/average"
            },
            "response": {
                "status": 200,
                "headers": {
                    "Content-Type": "text/plain"
                },
                "body": "1298.3"
            }
        },
   result:
       ........

]

So everything is packed at the same place. After that we will be able in Jenkins/Gradle side to create a fancy HTML file with all the information of the execution.

That would definitely be useful, and not just for the JUnitRunner. I mainly use the gradle plugin, and having a report is something missing because the only way to diagnose a CI build failure is to look through the console logs.
The Ruby version generates output in various formats: Markdown, HTML. We could do something similar, allow different report generators to be defined.

I have been reading this: https://github.com/realestate-com-au/pact/wiki/Autogenerated-documentation The autogenerated documentation is from a pact file (generated by consumer) and not from a producer run.  In this case I think it would be great to have both reports.

Here is the result of the first stab at a JSON report
{
    "metaData": {
        "date": "2016-04-23T06:14:45+0000",
        "pactJvmVersion": "3.2.7",
        "reportFormat": "0.0.0"
    },
    "provider": {
        "name": "Activity Service"
    },
    "execution": [
        {
            "consumer": {
                "name": "sampleconsumer",
                "source": {
                    "file": "/home/ronald/Development/Projects/Pact/pact-gradle-test/src/test/resources/sample-pact.json"
                }
            },
            "interactions": [
                {
                    "interaction": {
                        "providerState": "many activities exist",
                        "description": "a request for activities",
                        "request": {
                            "method": "GET",
                            "path": "/activities",
                            "headers": {
                                "Accept": "application/json"
                            },
                            "body": null
                        },
                        "response": {
                            "status": 201,
                            "headers": {
                                "Content-Type": "application/json"
                            },
                            "body": {
                                "activities": [
                                    {
                                        "description": "f_UXcxIXYhgqtxjiPumRiCo9C5JNDX",
                                        "name": "hx55sbvMPk1kF-9"
                                    },
                                    {
                                        "description": "f_UXcxIXYhgqtxjiPumRiCo9C5JNDX",
                                        "name": "hx55sbvMPk1kF-9"
                                    }
                                ]
                            },
                            "matchingRules": {
                                "$.body.activities": {
                                    "min": 2
                                },
                                "$.body.activities[*].*": {
                                    "match": "type"
                                },
                                "$.body.activities[*].description": {
                                    "match": "type"
                                },
                                "$.body.activities[*].name": {
                                    "match": "type"
                                }
                            }
                        }
                    },
                    "verification": {
                        "result": "Failed",
                        "status": [
                            "assert expectedStatus == actualStatus",
                            "       |              |  |",
                            "       201            |  200",
                            "                      false"
                        ],
                        "body": {
                            "comparison": {
                                "$.body.activities": "Expected List(Map(description -> 100, name -> Fred)) to have minimum 2",
                                "$.body.activities.0.description": "Expected 100 to be the same type as 'f_UXcxIXYhgqtxjiPumRiCo9C5JNDX'"
                            },
                            "diff": [
                                "@3",
                                "        {",
                                "-            \"description\": \"f_UXcxIXYhgqtxjiPumRiCo9C5JNDX\",",
                                "-            \"name\": \"hx55sbvMPk1kF-9\"",
                                "-        },",
                                "-        {",
                                "-            \"description\": \"f_UXcxIXYhgqtxjiPumRiCo9C5JNDX\",",
                                "-            \"name\": \"hx55sbvMPk1kF-9\"",
                                "+            \"description\": 100,",
                                "+            \"name\": \"Fred\"",
                                "        }",
                                ""
                            ]
                        }
                    }
                }
            ]
        },
        {
            "consumer": {
                "name": "sampleconsumer2",
                "source": {
                    "file": "/home/ronald/Development/Projects/Pact/pact-gradle-test/src/test/resources/sample-pact2.json"
                }
            },
            "interactions": [
                {
                    "interaction": {
                        "providerState": "many activities exist",
                        "description": "a request for activities",
                        "request": {
                            "method": "GET",
                            "path": "/activities",
                            "headers": {
                                "Accept": "application/json"
                            },
                            "body": null
                        },
                        "response": {
                            "status": 200,
                            "headers": {
                                "Content-Type": "application/json"
                            },
                            "body": {
                                "activities": [
                                    {
                                        "description": "COUxFaKRDRKaBnjg-LuOASNn_Xxy6H",
                                        "name": "V1Zfa-LCfYPEE-o"
                                    },
                                    {
                                        "description": "COUxFaKRDRKaBnjg-LuOASNn_Xxy6H",
                                        "name": "V1Zfa-LCfYPEE-o"
                                    }
                                ]
                            },
                            "matchingRules": {
                                "$.body.activities": {
                                    "min": 2
                                },
                                "$.body.activities[*].*": {
                                    "match": "type"
                                },
                                "$.body.activities[*].description": {
                                    "match": "regex",
                                    "regex": "(\\w|\\s)+"
                                },
                                "$.body.activities[*].name": {
                                    "match": "regex",
                                    "regex": "(\\w|\\s)+"
                                }
                            }
                        }
                    },
                    "verification": {
                        "result": "Failed",
                        "body": {
                            "comparison": {
                                "$.body.activities": "Expected List(Map(description -> 100, name -> Fred)) to have minimum 2"
                            },
                            "diff": [
                                "@3",
                                "        {",
                                "-            \"description\": \"COUxFaKRDRKaBnjg-LuOASNn_Xxy6H\",",
                                "-            \"name\": \"V1Zfa-LCfYPEE-o\"",
                                "-        },",
                                "-        {",
                                "-            \"description\": \"COUxFaKRDRKaBnjg-LuOASNn_Xxy6H\",",
                                "-            \"name\": \"V1Zfa-LCfYPEE-o\"",
                                "+            \"description\": 100,",
                                "+            \"name\": \"Fred\"",
                                "        }",
                                ""
                            ]
                        }
                    }
                }
            ]
        },
        {
            "consumer": {
                "name": "sampleconsumer3",
                "source": {
                    "file": "/home/ronald/Development/Projects/Pact/pact-gradle-test/src/test/resources/sample-pact3.json"
                }
            },
            "interactions": [
                {
                    "interaction": {
                        "providerState": null,
                        "description": "add a broker",
                        "request": {
                            "method": "GET",
                            "path": "/api/broker/add",
                            "query": {
                                "options": [
                                    "delete.topic.enable=true"
                                ],
                                "broker": [
                                    "1"
                                ]
                            },
                            "body": null
                        },
                        "response": {
                            "status": 200,
                            "headers": {
                                "Content-Type": "text/html;charset=UTF-8"
                            },
                            "body": "Ok"
                        }
                    },
                    "verification": {
                        "result": "Failed",
                        "header": {
                            "Content-Type": "Expected header 'Content-Type' to have value 'text/html;charset=UTF-8' but was 'text/plain;charset=UTF-8'"
                        },
                        "body": {
                            "comparison": "Expected a response type of 'text/html' but the actual type was 'text/plain'"
                        }
                    }
                }
            ]
        }
    ]
}

System properties pact.verification.reports and pact.verification.reportDir now control this behaviour.

Looks really really good. Hope that it is merge as soon as possible so I can write the asciidoc backend :)
BTW have you thought about how users could create its own backends? Basically an SPI for hooking and implement your own format.

Currently, it is a bit messy because the reporters are based on the console output code extracted from the verification process.
But they just represent events that are occurring as the verification runs, so I have been thinking about a simple interface that receives the event and event parameters. This should make it easier for people to add their own implementations. Maybe need another property to add new event handlers at runtime.

Initial implementation has been released with versions 3.2.7 and 2.4.9

Great!!! now I can fork and implement support for AsciiDoc


fix(testing-helpers): enable working with lit 1 & 2 in test files

What I did

Undo deprecation of the html and unsafeStatic exports to enable matching lit versions to what is used in fixture. => see changeset text for full details

@thepassle good catches - thanks 🙇♂


SqlAlwaysOnService: Update integration tests to use loopback adapter

Pull Request (PR) description

Changes to CommonTestHelpers

Added new test helper functions in the CommonTestHelpers module. These are used
by the integration tests.

Changes to SqlAlwaysOnService

Updated the integration tests to use a loopback adapter to be less intrusive
in the build worker environment.

This Pull Request (PR) fixes the following issues
n/a
Task list

[x] Added an entry under the Unreleased section in the CHANGELOG.md? Entry
should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md?
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help?
[x] Comment-based help added/updated?
[ ] Localization strings added/updated in all localization files as appropriate?
[ ] Examples appropriately added/updated?
[ ] Unit tests added/updated?
See DSC Resource Testing Guidelines.
[x] Integration tests added/updated (where possible)?
See DSC Resource Testing Guidelines.
[x] New/changed code adheres to
DSC Resource Style Guidelines
and Best Practices?

This change is

Codecov Report

Merging #1110 into dev will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff          @@
##            dev   #1110   +/-   ##
====================================
  Coverage    97%     97%
====================================
  Files        32      32
  Lines      3930    3930
====================================
  Hits       3844    3844
  Misses       86      86

Reviewed 4 of 5 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Battery retail rates fails with hourly dispatch and TOU demand charges

Describe the bug
It appears https://github.com/NREL/ssc/pull/1135/files added a new bug that shows up in the default SAM case. It looks like an uninitialized memory or other overrun issue. Turning off the demand charges solves the issue.
To Reproduce
Steps to reproduce the behavior:

Open a PV-Battery commercial case
Change the battery dispatch to retail rates
Run the simulation
See error

Expected behavior
Retail rates dispatch should run this configuration of rates.
Screenshots
Example output:

Desktop (please complete the following information):

Version 2023.12.17r1

My review of #1135 missed this. Perhaps an additional test before approving PRs for for battery dispatch and utility rate code changes should be to run the "default" case for each battery dispatch option to check for simulation errors.

This was fixed in https://github.com/NREL/ssc/pull/1152


Implementation React Context like behavior

This PR intention is to create react, context like behavior for the component.
Why do we need this?
There are multiple scenarios where we will need to have a shared state between multiple components. for example between Avatar, AvatarImage and AvatarFallback components.   And so to achieve this I mimicked the way the redux-ui team did by using provide/inject API's
How does it work?
You create a Provider using createProvider function, the function returns [Provider,useInject]

Provider is a wrapper component that will hold the state/context to be shared between all children components. All data passed as prop to these components will be accessed by all children components using inject
useInject is a function that gives access to the context provided above

scope example: example check https://github.com/radix-ui/primitives/blob/main/packages/react/context-menu/src/ContextMenu.tsx
The scope structure, I think, please check the necessary structure for us.

I'm closing this because you need to completely redesign the structure.


cirlce shaped canvas

Hi, im digging through docs but still don't have any idea. My goal is basically to put some objects in a circle shaped canvas. Any tips on how to approach that, thanks in advance.

See #659


Is this alive?

Looking at the lack of releases and open issues piling up, I wonder if this project is still alive. Considering actively maintained alternatives like chokidar, it might be best to deprecate this package and point users at alternatives. Would also reduce fragmentation and duplication.

 It is only useful to you or not useful.
Gaze only exists because Chokidar didn't live up to it's previous promises in it's readme. If you've been following development on chokidar for the past 3 years as I have, it hasn't always been "active". Case and point read this: https://github.com/paulmillr/chokidar/issues/138#issuecomment-57974826 but even before that it had lulls and active periods.
The past few months chokidar has made leaps and bounds of improvement. @es128 has basically been fixing everything and even just added glob support. This is fantastic because a lot of projects I use have chokidar as a dep.
But if you believe gaze is just a duplicated chokidar, you're naive. They operate incredibly differently under the hood. I'll consider deprecating gaze as soon as chokidar passes all of gaze's tests cases across Windows/OSX/Linux.
But even then, what's is the point? Fragmentation? Should we deprecate jQuery because we have querySelector()? There are hundreds of file watching libraries on npm. Are you going to naively tell all of them to deprecate too?
More options are better than one. Use a library if it is useful or don't. This isn't highlander.


Refer to remapped df

Hi there!
First of all, thanks a lot for setting up this library in Python. We're eager to start using it!
As I already saw you noted you're aware of the bugs and the potential issues with multiple markets, I still wanted to flag where it's breaking for us. I think you remap the columns in ip_df here, but don't reference the ip_df after. Therefore data is not yet in the expected format and you'd want to take ip_df. I'm not 100% sure though as the rest of the code is new to me, but I proposed changes for this issue so you could easily add it if you agree!

Thanks again and know your work is being used :)

Thank you for your interest in this library and especially for raising this PR @bartdegroot92 :) I will review this soon and get back.


Show/Hide post author no longer working on new posts

As of the latest version, toggling on the show/hide button on posts no longer hides the author/image credit.
In addition, the label and description of the button is a little awkward. It is labeled "show/hide" and then the toggle is yes or no. I assume if the toggle is set to YES, it should HIDE, so the label should actually just be "Hide post author" since the default will be No.   But, it can be read several ways. Suggest making it more clear after the functionality is fixed.
Older posts don't seem to be affected - I am guessing it has to do with a boolean value and the field now being in ACF.
It's kind of important, since posts are a basic functionality - and I don't want my name on all the posts indefinitely. :)

show_author is always the value 1 even if i toggle it off/on

The same issue exists on the share this icons

@kwickham    I was able to solve the author issue by removing the hide_author metafield check in the or statement. Was that from a previous field?
{% if post.meta('_meta_info') != 'hide_author' or post.show_author %}

to
{% if post.show_author %}
The share this one suddenly started working again, not sure why.

_meta_info is a legacy fallback. We can get ride of some of these fallback bits in V2 but for now I have a fix pushed to Develop, 11d1947


fix: for type choice return null when the user selects already selected chip

:tada: This PR is included in version 1.1.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implemented functionality for long-lived credentials

It will now try to get a federation token if a session token is not
present in the current credentials. Additionally, It will assert to
see if the get caller identity is in fact an IAM user.

When do you get valid credentials, no token and you aren't a user?
Only when you use root credentials?

When do you get valid credentials, no token and you aren't a user? Only when you use root credentials?

Valid point! Changed the implementation to also allow root credentials (although not advised to use that), and adapted the Arn class to be able to part a root arn.


Implemented generic os event driven mechanism to update HPENodeInfo object if there is any change in object attributes detected .

Issue:
CON-882 (Continuously monitor worker node network configuration)
Implementations:
Implemented a generic polling mechanism that accepts anonymous function and polling interval as arguments.
It has two functions
1.obj:=InitTask(...)
This is basically used to initialize the task object which registers the anonymous function that needs to be polled along with poll frequency. Also, it invokes a separate thread to monitor the OS signals e.g SIGTERM, SIGHUP for the graceful exit of the polling task.
2.obj.start()
This is basically to kick starts the polling in a loop unit os signal is received. It periodically polls the registered anonymous fn. This should be invoked as a separate goroutine.
Created an anonymous wrapper function around getNodeInfo() that is passed to InitTask() with default 30 Minutes polling frequency.
Testing:
I have tested the code by manually deleting the cluster worker node's one of the data network interfaces and have validated that the network changes are dynamically picked by Node Server and also HPENodeInfo is updated.

Hi,
I'm not sure how to get these email to stop. Can you please remove me from
your mailing list?
-Shiva
On Mon, Apr 27, 2020, 8:36 AM Shiva Krishna Merla<EMAIL_ADDRESS>wrote:

@shivamerla approved this pull request.
looks good..
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hpe-storage/csi-driver/pull/145#pullrequestreview-401074021,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAB2ZBZRZRNVFF3UUBKPH3ROWRAFANCNFSM4MJSNJDQ
.

Hi, I'm not sure how to get these email to stop. Can you please remove me from your mailing list?
…
-Shiva

I guess you need to Unsubscribe notification. That should stop. Since I haven't made any user-specific configuration it was the default.

Hi, I'm not sure how to get these email to stop. Can you please remove me from your mailing list?
…
-Shiva

I guess you need to Unsubscribe notification. That should stop. Since I haven't made any user-specific configuration it was the default.

@shiva  Looks like folks have been tagging you instead of me by mistake. My GitHub ID is @shivamerla. I am not sure how i can control it. Can you unsubscribe from notifications on this repo?

Will try. Thanks for your responses.
-Shiva
On Mon, Apr 27, 2020, 9:49 PM Shiva Krishna Merla<EMAIL_ADDRESS>wrote:

Hi, I'm not sure how to get these email to stop. Can you please remove me
from your mailing list?
… <#m_2134139001607331619_>
-Shiva
I guess you need to Unsubscribe notification. That should stop. Since I
haven't made any user-specific configuration it was the default.
@shiva https://github.com/shiva Looks like folks have been tagging you
instead of me by mistake. My GitHub ID is @shivamerla
https://github.com/shivamerla. I am not sure how i can control it. Can
you unsubscribe from notifications on this repo?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hpe-storage/csi-driver/pull/145#issuecomment-620378754,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAB2ZEG5Z26UNSZAROD6T3ROZN6LANCNFSM4MJSNJDQ
.


Strategy local clone with build script before send to servers

Hello,
First of all, thank you for your work.
Before I was using capistrano, and there was a functionnality which disappear in the new release : the local git clone with the build script. (our gitlab is not accessible by external servers)
I just want to know if you will create a strategy to :

clone locally the repository
execute a build script on cloned sources
send sources to servers after

I tried the sync strategy, but composer install is executed on each servers and some package are stored into ours gitlab.
Greetings,
Yann Schepens

When you say send the sources you mean like an FTP strategy?

No, the rsync solution is really good to send files to servers.
Currently the Sync strategy push local sources (./) to remote servers and AFTER execute composer install, and other scripts into sources.
My need is to clone locally (in my machine, into a tmp directory), execute some script (for example: composer, execute less, etc.) and only AFTER send sources to server and execute tasks relative to each server.
There are some benefits to do this :

execute only one time composer if you have multiple remote server
not use sources your are working on (may have some personnal stuff)
be sure to deploy clean sources
execute some scripts only one time if there are not relative to server

What do you think about that ?

Yes I see what you mean, what you're talking about is definitely planned for 3.0 but there's nothing like that yet in stable I'm afraid.

I think some people already wrote custom strategies like that though, not sure if they're available on Packagist

I searched into packagist, but I didn't find anything ... I gonna try to do something ;)

(Tu peux passer sur le chat Gitter si y a besoin d'aide pour quoi que ce soit)


Update logr dependency (#122)

Upgraded logr version to v1.2.2, upgraded sigs.k8s.io/controller-runtime to v0.11.0 - https://github.com/kubernetes-sigs/controller-runtime/issues/1607, upgraded cert-manager version to v1.7.1

Signed-off-by: Nishanth Solomon<EMAIL_ADDRESS>
Changed NullLogger to Discard - NullLogger is deprecated<EMAIL_ADDRESS>
Signed-off-by: Nishanth Solomon<EMAIL_ADDRESS>
Changed TestLogger to NewTestLogger - https://github.com/go-logr/logr/releases/tag/v1.1.0

Signed-off-by: Nishanth Solomon<EMAIL_ADDRESS>
Updated to golang:1.17 - https://github.com/kubernetes-sigs/controller-tools/issues/643

Signed-off-by: Nishanth Solomon<EMAIL_ADDRESS>

Let's add a README update to change our go minimum version to 1.17 as well


[Feat]: Sticky Navbar

Problem
In script page
Right now the navbar is not stick to top due to which if I have to came back to top I have to scroll every time and due to this it consume more time for user to explore the project
Simple solution
I will fix the navbar to the top so that if anyone want to came back to top they can easily go back without scrolling . And it saves lot of time.
ScrennShot
https://github.com/avinashkranjan/Amazing-Python-Scripts/assets/101205226/f1b51094-0510-4194-8086-b29fdfc103ea

Hi @avinashkranjan  Please review it once.

Hi @parasss19, if the issue is still open, could you please assign it to me?

Hi @parasss19, if the issue is still open, could you please assign it to me?

Hey  Issues are not assigned in this way
1 First you have to create new issues
2 Then ask the project admin to assign that issue to you

Go Ahead @parasss19

Go Ahead @parasss19

Hi @avinashkranjan The navbar is already stick and you assigned this issue to me someone else made the changes ?


NeRFPlayer sliding window implementation

Implemented the sliding window operation in NeRFPlayer. The module is named TemporalGridEncoder, which takes in an extra parameter time when doing interpolation on the saved multi-scale volume grids.

Feel free to merge when ready.


feat: Add rule types

Prerequisites checklist

[x] I have read the contributing guidelines.

What is the purpose of this pull request?
Add types for rules that will work regardless of the language being used.
What changes did you make? (Give an overview)
I added several types that let us completely type check rules. These types are as generic as possible to allow for language plugins to override or better define their types, too.
These are not guaranteed to match the types in @types/eslint, which are very specific to the JavaScript language. The intent is to define something that will work and then see if we can backport into @types/eslint in a way that still works with the JavaScript rules.
Related Issues

Is there anything you'd like reviewers to focus on?
Does the naming make sense for the types? I tried to be more specific to avoid ambiguity (i.e., RuleFixer is now RuleTextEditor).

ping @eslint/eslint-tsc @JoshuaKGoldberg

I've updated the definitions for Language, SourceCode, RuleVisitor, RuleTextEditor, and friends to be generic. @JoshuaKGoldberg would appreciate your feedback on this new attempt.

@fasttime @JoshuaKGoldberg can you take another look?


Added availability_type

@ingvarch Thanks for the pull request. Btw, can you use separated modules instead of this?

@namusyaka I think so, but which one?

The module has been updated drastically in #21.
In the PR, the main module you updated is separated into two modules, mysql and postgresql.
The availability_type is available only on the postgresql module because it's available only for PostgreSQL.
I don't think we need to add the variable in our old terraform module.

Ah, I see. Ok :) Thank a lot. Close PR.


Update Quickstrom tests to last version

the quickstrom branch contains a test suite created using the old version of https://quickstrom.io/. Update it to the last version of the specification language

I currently have a problem running the test suite in the quickstrom branch. Perhaps we could take a look at it together before addressing this?

After investigation, we decided to start a new branch for the latest version of Quickstrom, since it's considerably different from the current implementation.


[Bug]: extra_kustomize_deployment_commands seems to be required

Description
I've encountered a problem when using the kube-hetzner module with Terraform. Even though extra_kustomize_deployment_commands is stated to be an optional variable in the comments, I've received an error when I don't define it in my kube.tf file:
│ Error: remote-exec provisioner error
│
│   with module.kube-hetzner.null_resource.kustomization_user_deploy[0],
│   on .terraform/modules/kube-hetzner/kustomization_user.tf line 80, in resource "null_resource" "kustomization_user_deploy":
│   80:   provisioner "remote-exec" {
│
│ invalid empty string in 'scripts'

This error indicates that the variable extra_kustomize_deployment_commands is being used even when it's not defined, which leads to an error. I've managed to workaround this issue by defining the variable as follows:
# Extra commands to be executed after the `kubectl apply -k` (useful for post-install actions, e.g. wait for CRD, apply additional manifests, etc.).
extra_kustomize_deployment_commands="echo"

Kube.tf file
locals {

  hcloud_token = "xxxxxxxxxxx"
}

module "kube-hetzner" {
  providers = {
    hcloud = hcloud
  }
  hcloud_token = var.hcloud_token != "" ? var.hcloud_token : local.hcloud_token

  source = "kube-hetzner/kube-hetzner/hcloud"

  ssh_public_key  = file("~/.ssh/id_ed25519.pub")
  ssh_private_key = file("~/.ssh/id_ed25519")

  network_region = "eu-central"
  control_plane_nodepools = [
    {
      name        = "control-plane-nbg1",
      server_type = "cpx11",
      location    = "nbg1",
      labels      = [],
      taints      = [],
    count = 1 }
  ]

  agent_nodepools = [
    {
      name                 = "internal-services",
      server_type          = "cx21",
      location             = "nbg1",
      labels               = ["internal", "production"],
      taints               = [],
      longhorn_volume_size = 0,
      count                = 1,
      backups              = true
    },
    {
      name                 = "production",
      server_type          = "cx21",
      location             = "nbg1",
      labels               = ["external", "production"],
      taints               = [],
      longhorn_volume_size = 0,
    count = 1 },
    {
      name                 = "database",
      server_type          = "cx31",
      location             = "nbg1",
      labels               = ["database"],
      taints               = [],
      longhorn_volume_size = 0,
    count = 1 }
  ]

  load_balancer_type     = "lb11"
  load_balancer_location = "nbg1"

  enable_wireguard = true

  enable_longhorn        = true
  longhorn_replica_count = 1

  # extra_kustomize_deployment_commands="echo"
}

provider "hcloud" {
  token = var.hcloud_token != "" ? var.hcloud_token : local.hcloud_token
}

terraform {
  required_version = ">= 1.3.3"
  required_providers {
    hcloud = {
      source  = "hetznercloud/hcloud"
      version = ">= 1.39.0"
    }
  }
}

output "kubeconfig" {
  value     = module.kube-hetzner.kubeconfig
  sensitive = true
}

variable "hcloud_token" {
  sensitive = true
  default   = ""
}

Screenshots
No response
Platform
WSL Ubuntu-22.04

@FelixSab That seems to be a valid bug because it's a new feature that was not tested enough. Please don't hesitate to submit a PR with a fix, the help would be trully appreciated.

Done: #853

@FelixSab  @mysticaltech
I am suggesting an additional change just in case the input is empty for any reason: https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/pull/854
This will avoid the error completely even when the variable is set to an empty string.

Fixed in #854. Thanks again @FelixSab and @kayiplar.


dump_model giving "JSONDecodeError: Expecting ',' delimiter" for large (250mb+) models

Description
I have created a few large lgbm models (250mb+ when saved as txt) and when i run dump_model on them in Python it returns
"JSONDecodeError: Expecting ',' delimiter"
Reproducible example
import lightgbm as lgb

lgb_model = lgb.Booster(model_file = "VeryLargeModel.txt")
lgb.dump_model()

Environment info
python == 3.9.7
lightgbm == 3.3.2
Additional Comments
I have experienced the issue for several months and my other colleagues also get it. I'm not certain if it's a lightgbm issue or a json issue more generally. I've tried a few fixes from stack overflow on similar but not identical issues but nothing works. The models work completely fine, I use them daily and no issue when training etc.

Thanks very much for using LightGBM.
Can you please either provide the model file where you've observed this issue, or a sample code using publicly-available data (e.g. the datasets from sklearn.datasets) that reproduces this issue?
Without those specifics, it'll be difficult for maintainers here to work on this problem.

Excellent, thanks for that! I or another maintainer will try to investigate the issue at some point, but I can't make any guarantees about how soon that will be.
Linking this related (although not identical) issue: #3858


C#: Can't bind extra arguments to callable

Godot version
v4.0.3.stable.mono.official.5222a99f5
System information
ALL
Issue description
I want to collect all emitted signals with his arguments plus my custom arguments.
Before there was a Bind method to add extra argument to the Callable but this is removed by https://github.com/godotengine/godot/pull/64930
This makes me imposible to delegate signals by using the signal name with additonal arguments.
All the examples I have found use actions like in this example:
var _t = GetTree().CreateTimer(1);
_t.Timeout += () => MySignalCallback(1, 2, 3);

This is not an option for me i iterrate over all possible signals from a custom Godot object, i do not have the signal actions.
I want to delegate emitted signals of an object to this function (including emitter and signal name):
private void OnSignalEmitted(Godot.GodotObject emitter, string signalName, params Godot.GodotObject[] signalArgs)
Steps to reproduce
Here is the parial code of my SignalCollector.
    public partial class SignalCollector : Godot.GodotObject
    {

        public void ConnectAllSignals(Godot.GodotObject emitter)
        {
            foreach (Godot.Collections.Dictionary signalDef in emitter.GetSignalList())
            {
                string signalName = (string)signalDef["name"];
                var cb = new Callable(this, nameof(OnSignalEmitted));
                emitter.Connect(signalName, cb);
            }
        }

        private void OnSignalEmitted() => Godot.GD.PrintS("A");
        private void OnSignalEmitted(Godot.GodotObject arg) => Godot.GD.PrintS("B", arg);

        // variable number of arguments is also not working
        private void OnSignalEmitted(params Godot.GodotObject[] args) => Godot.GD.PrintS("C", args, args.Length);

        private void OnSignalEmitted(Godot.GodotObject emitter, string signalName, params Godot.GodotObject[] args) => Godot.GD.PrintS(emitter, signalName, args);
    }

      var collector = new SignalCollectorTest();
      Node emitter = new Node();
      collector.ConnectAllSignals(emitter);

      AddChild(emitter);
      emitter.AddChild(new Node2D());

Minimal reproduction project
N/A

See the docs on this exact question: https://docs.godotengine.org/en/stable/tutorials/scripting/c_sharp/c_sharp_differences.html#callable

@RedworkDE thanks to pointing me to the right documentation ;)
It works but not for all kind of signals, maybe i do somthing wrong.
Here the updated version of the signal collector.
    public partial class SignalCollectorTest : Godot.GodotObject
    {

        public void ConnectAllSignals(Godot.GodotObject emitter)
        {
            foreach (Godot.Collections.Dictionary signalDef in emitter.GetSignalList())
            {
                string signalName = (string)signalDef["name"];
                var cb = Callable.From(() => OnSignalEmitted(emitter, signalName)); // not works
                emitter.Connect(signalName, cb);
            }
        }

        private void OnSignalEmitted(Godot.GodotObject emitter, string signalName) => Godot.GD.PrintS("A", emitter, signalName);

        private void OnSignalEmitted(Godot.GodotObject emitter, string signalName, Godot.Variant arg) => Godot.GD.PrintS("B", emitter, signalName, arg);

        private void OnSignalEmitted(Godot.Variant arg, Godot.GodotObject emitter, string signalName) => Godot.GD.PrintS("C", emitter, signalName, arg);

        private void OnSignalEmitted(Godot.GodotObject emitter, string signalName, params Godot.Variant[] args) => Godot.GD.PrintS("D", emitter, signalName, args);

        private void OnSignalEmitted(Godot.GodotObject emitter, string signalName, IEnumerable<Godot.Variant> args) => Godot.GD.PrintS("E", emitter, signalName, args);
    }

Signals without arguments are successful delegated to OnSignalEmitted#A.
But signals with arguements are failing with.
ERROR: 'System.ArgumentException: Invalid argument count for invoking callable. Expected 0 arguments, received 1. (Parameter 'args')'
I experimented with some convenience methods of OnSignalEmitted, but without success (OnSignalEmitted B,C,D are never called).

@raulsntos Can you please take a look at my comments?

any help is appreciated, it blocks me to build the signal monitor

If you need rapid response please turn to the other community channels, people have their own schedules and priorities with their time.


[ffmpeg] fix optional X11 platform dependencies

What does your PR fix?
If X11 is not installed on the system, ffmpeg gets compiled without X11 support, however the FindFFMPEG script will still add X11 to the list of platform dependent libraries, leading to linking errors (see for instance here). This PR fixes that issue.

Which triplets are supported/not supported? Have you updated the CI baseline?
No changes, baseline not updated.

Does your PR follow the maintainer guide?
Yes.

Yes.

I forgot to mention this above, but whilst at it, I've also added Xext and Xv as dependent libraries, since these were listed in the ffmpeg configure script.

Ping @cenit @Neumann-A for review this PR.

@mcmtroffaes is doing a wonderful job with ffmpeg port!
ok for me!

unrelated to this PR directly but still relevant for CI tests: opencv on uwp architectures (arm and x64) is now (again) a cascade failure.
Again, undetected, it has fallen to this status which means that PR can break it without noticing.... when did it happen??
luckily there is no x11 on uwp platform, but in principle the problem is again there and any pr can break it without any red mark (i keep opencv under strict control also because it's an ffmpeg consuming port, so it's useful to see regressions in FindFFMPEG.cmake)...
@BillyONeal

@cenit I still want to address that someday but having been load balanced elsewhere it's going to be a while before I have a chance to look. Starting to move things out of our wrapper powershell scripts (like analyze-test-results.ps1) and into vcpkg ci itself over in https://github.com/microsoft/vcpkg-tool would be helpful if anyone wants to help.

I will try my best if/when possible to help you on this front. Cannot promise anything

Conflicts resolved.

@mcmtroffaes you'll need to merge with latest please :)

Sure, merged again.

Awesome, thanks @mcmtroffaes :D


Eliminate 'Creator' class on StreamField

Ref: discussion on #2119 / #2736. In order to to preserve the existing behaviour of being able to assign a list / JSON string to StreamField, we've had to replicate some of the code from SubfieldBase that's being dropped from Django 1.10. I'd like to investigate whether we can implement this type conversion in a more formal / rigorous way than "shove everything through to_python", so that we can eliminate this code and make a clean break from the pre-Django-1.10 behaviour.

I think https://github.com/wagtail/wagtail/pull/9746#discussion_r1566079738 is the last time we kicked the tyres on this code - without getting back into the messy details, it seems that the situation can be summed up as:

Django's take on when to_python is supposed to be called, and what type it receives, is fuzzy enough that a certain amount of "shove everything through to_python and rely on it to do type-sniffing to do the right thing" is unavoidable;
the continued existence of the Creator class hasn't been an impediment to doing some fairly heavy refactoring on the StreamField class. If there was a compelling reason to ditch it, that would have come up during the normalize work.

As such, closing this as wontfix.


Odd Sempahore Reboot Behavior

I am performing testing for our auto-scaling VMs and ensuring that they will start up reliably from a disk image. I am finding that if a machine is rebooted while running the Batch Daemon that it seems to have semaphore references left over and sem_get will begin throwing access denied errors after the reboot on this line:
        $this->semid = sem_get($this->sysvKey, 1, 0600, 1);

Changing the "project id" for the ftok line removes the errors and return the script to normal operation. For example:
        $this->sysvKey = ftok(__FILE__, 'J');

SysvConfigStorage has the following __constructor
public function __construct()
    {
        $this->sysvKey = ftok(__FILE__, 'A');
        $this->semid = sem_get($this->sysvKey, 1, 0600, 1);
    }

My gut says that config/sempahore remnants are being left  and when rebooted something on the system is not restoring access/permissions to the old semephores. Changing the project ID changes the keyspace for the sempahores and resolves the issue.
My immediate concern is that if we image the machine with these semaphore remnants then the boot behavior/state of an instance created from it is unreliable. Is there a script command to clear up the semaphore state? Am I off base in this reasoning?

Can you give me a reproducible image, or Dockerfile?
On Sat, Sep 23, 2017, 4:28 PM Stephen Johnston<EMAIL_ADDRESS>wrote:

I am performing testing for our auto-scaling VMs and ensuring that they
will start up reliably from a disk image. I am finding that if a machine is
rebooted while running the Batch Daemon that it seems to have semaphore
references left over and sem_get will begin throwing access denied errors
after the reboot on this line:
    $this->semid = sem_get($this->sysvKey, 1, 0600, 1);

Changing the "project id" for the ftok line removes the errors and return
the script to normal operation. For example:
    $this->sysvKey = ftok(__FILE__, 'J');

SysvConfigStorage has the following __constructor
public function __construct()
{
$this->sysvKey = ftok(FILE, 'A');
$this->semid = sem_get($this->sysvKey, 1, 0600, 1);
}
My gut says that config/sempahore remnants are being left and when
rebooted something on the system is not restoring access/permissions to the
old semephores. Changing the project ID changes the keyspace for the
sempahores and resolves the issue.
My immediate concern is that if we image the machine with these semaphore
remnants then the boot behavior/state of an instance created from it is
unreliable. Is there a script command to clear up the semaphore state? Am I
off base in this reasoning?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-php/issues/685, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACjV4IKaRjP4YEeRqR7mv8gUsTTSDZqks5slZQIgaJpZM4Pht3t
.

--
-- Takashi

I can't provide a version in the current state because it's too encumbered with proprietary functionality. I can work on simpler version that displays the error. The short version of the simple case is: Run some batch daemon sends, restart the machine, run some more, then you'll see sem_get permission denied errors. I'll work on a reproducible version that doesn't require a bunch of our proprietary code.
In the interim, does the ftok, or sem_get create any files on the filesystem as references? Is there a way to clear the config? Something I could put in a startup script?

@tmatsuo I found that the following change resolved the issue:
$this->semid = sem_get($this->sysvKey, 1, 0666, 1);

to
$this->semid = sem_get($this->sysvKey, 1, 0666, 1);

My suspicion is that different users are running the daemon and the php-fpm process, thus the 0600 permission is not working, but 0666 is. I don't consider myself particularly advanced in PHP semaphores so that is based on gut and reading online.
This machine has no shared usage. 0666 should be fine, yes? It is actually the default.

@tmatsuo Following up on this issue - does @GLStephen 's suggestion seem reasonable? If so, I can create a PR.

@GLStephen
Your assumption in https://github.com/GoogleCloudPlatform/google-cloud-php/issues/685#issuecomment-331682052 looks correct.
I assume some other unix user is invoking PHP script triggering the code. Does it ring the bell?

I still have a little concern on changing the permission

@tmatsuo it could be another user, but I would have to investigate a bit. It doesn't seem likely. Possibly a scheduled job hits a CLI script and that causes semaphores to be created under one user.  I'm just riffing, but I guess It's possible I have a group that is being used and an owner not in that group. I'll take a look.

@GLStephen,
As of https://github.com/googleapis/google-cloud-php/pull/1011 it is possible to customize the project ID used for generating the sysv key and the permissions used when getting the sempahore (via the GOOGLE_CLOUD_BATCH_PERM and GOOGLE_CLOUD_BATCH_PROJECT environment variables). Hopefully this added flexibility has helped resolve this issue. I'm going to close this out now, but please feel free to re-open if there's anything further to address.


SearchFeatureRequest field name fix

Fixes #580 by renaming ontologyTerms to featureTypes in the SearchFeatureRequest record.

+1

@diekhans can you review/+1 this ASAP? Also, who else should give this a nod before merging?

+1 this is right


Insert current date into date cell in sql server

This capability is already available on Oracle, it would be great to have it also in SQL Server.

(When editing a cell of type 'date')

"Set current time" action is availablefor all databases. But only if column data type is date/time or timestamp.

There isn't any when dealing with datetime2

It is related to #281. Some SQL Server date/time data types aren't JDBC compatible. We need to make fully functional SQL server extensions with advanced data types support..

We'll track all SQL Server date/time types issues in #281


Client-side reaction-force import gets breaks when assets are compiled

To reproduce locally:

Open desktop/assets/categories.coffee
Change require('../apps/tag/client.coffee').init to require('../apps/tag/client.js').default.init
Run yarn assets && NODE_ENV=x yarn start
Visit any tag page (i.e. http://localhost:5000/tag/glass )

Seems logical that this is happening somewhere in browserify-ing / babelify-ing .  Upgrading babel-core, babel-runtime, browserify, and babelify yielded the same results after compilation. Specifically setting the presets "es2015", "react", "stage-3" in scripts/assets.sh also yielded the same results. Currently still investigating...

Ah I was wondering where the instructions were to reproduce, I hadn’t seen this ticket :)


crop profile picture

Hi, thanks again for this addon.
Just a small question / feature request (but I know this is big work): anyone knows how I could add a "crop picture" functionality to the addon, possibly by using code from somewhere else?
Thanks,
L

Just found https://github.com/mhretab/ember-cli-image-cropper so I suppose it will do the work.
Thanks,
L


[CRITICAL NUXTHUB LIST BUG]: hubBlob.list() returns incorrect values, after uploading 150+ images

Describe the bug
Ater uploading about 120-150 images (or more, if they're small), the hubBlob actually STOPS showing almost 70% of newly uploaded images. And when it DOES show it, the total shown amount of Blobs stays THE SAME. Meaning, it shows new blobs by not showing the previous ones??
Also, in local production for some reason the total amount of shown blobs is ALWAYS capped at a 100.
Do note, that it works this way with specifying limit = 1000, and without specifying limit at all.
At first, I thought the problem was with uploading files, but no. The files are successfully uploaded to cloudflare, but AREN'T shown with hubBlob.list(). On R2 they're uploaded completely correctly: links work, all of the metadata is there.
Steps to reproduce

Check if it caps at a 100 on localhost - may be the fastest way.
On deployed website, upload 120-150 normal sized images.
Afterwards, try to upload more and observe hubBlob.list() behaviour.

DO NOTE I'm uploading ALL of the images/videos with customMetadata property. Tested on both nuxthub 0.6.x, and the newest 0.7.0 version.
Expected behavior
To see the exact same amount of files. as are uploaded to cloudflare r2.
I'm currently using cloudflare workers for my bucket instead of hubBlob, and everything works perfectly. In fact, this is the exact copy of expeted behaviour of hubBlob, but without the bug of not seeing newly added images.
Take a look at the code:

export interface Env {
  MY_BUCKET: R2Bucket;
}

interface BlobObject {
  pathname: string;
  contentType: string | undefined;
  size: number;
  uploadedAt: string;
  customMetadata?: Record<string, string> | undefined;
}

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const url = new URL(request.url);
    const prefix = url.searchParams.get('prefix') || '';

    const options = {
      prefix: prefix,
      limit: 1000,
      include: ['httpMetadata', 'customMetadata'],
    };

    let allObjects = [];
    let cursor: string | undefined;

    do {
      const listed = await env.MY_BUCKET.list({ ...options, cursor });
      allObjects.push(...listed.objects);
      cursor = listed.truncated ? listed.cursor : undefined;
    } while (cursor);

    const blobs: BlobObject[] = allObjects.map(obj => ({
      pathname: obj.key,
      contentType: obj.httpMetadata?.contentType,
      size: obj.size,
      uploadedAt: obj.uploaded.toISOString(),
      customMetadata: obj.customMetadata,
    }));

    // Sort blobs by upload date (newest first)
    blobs.sort((a, b) => new Date(b.uploadedAt).getTime() - new Date(a.uploadedAt).getTime());

    return new Response(JSON.stringify(blobs, null, 2), {
      headers: { 'Content-Type': 'application/json' },
    });
  },
};

Hi @FutureExcited
We will look into it, this is weird as it works properly with customMetadata on https://draw.nuxt.dev


[feature] privacy-check as a separate job

We recently moved the privacy-check inside the generate-builder Action. I wonder whether we should revert this change, because it adds a lot of dependencies as part f building the builder binary. A compromise of one dep would compromise the buider.
If we revert the change, a compromise of a dep would just be able to change the result of the privacy-check, which is a minimal problem.
@ianlewis wdut?

I'm in favor of bringing it out of the generate-builder action.
Though, for what it's worth, I'm not sure that it's really that many dependencies. I'm pretty sure the devDependencies aren't included in the dist/index.js (578 KB unminimized).
https://github.com/slsa-framework/slsa-github-generator/blob/10cb4de28b1e0f50c3af6c494a088a155c87162e/.github/actions/privacy-check/package.json#L30
actions/core also has only a few:
https://github.com/actions/toolkit/blob/819157bf872a49cfcc085190da73894e7091c83c/packages/core/package.json#L38
also actions/github:
https://github.com/actions/toolkit/blob/main/packages/github/package.json#L40-L45


Is skip_precompile the clearest name?

Per the docs if the skip_precompile preference is set, the code in Precompiler.@setup and Precompiler.@cache will be skipped.
However, this is not all the work that julia does during precompilation.
e.g. it will still run any global statements outside these blocks and cache those.
As such, when you do something that triggered precompilation, e.g. changing the package Foo then running using Foo,
precompilation will run, and thus the message Precompiling Foo will be displayed.
This is likely to confuse people who don't understand that multiple different things are included under the precompilation step.
And will make people think that their setting didn't work.
As such I think we should consider a different preference name.

Sounds good to me. What do you suggest?

Maybe a couple of options:

skip_precompiler
minimal_precompile
precompile_min
skip_precompile_workload

Other ideas are welcome.

I lost 15 minutes during development of Precompiler to being inconsistent about whether I used skip_precompile or skip_precompiler. So your worry is well-founded.

Oh right, because preferences aren't checked for name correctness against supported options?

One drawback with calling this package "Precompiler" is indeed that it is just hard to separate the act of normal package precompilation and that of a running a special work load. Maybe there should be some kind of prefix to it (Snoop? :D :D) to make it stand out. "DeepPrecompile" or something...

PrecompiledWorkloads.jl? And then the preference would be skip_precompiled_workloads?

Some options:

PrecompiledWorkloads (with skip_precompiled_workloads):

pro: an accurate statement of "how it's used"
potential con: tied to the "run a workload" mechanism. If we later add additional mechanisms for easy precompilation (ones that don't require actually running the workload), can those go in this package or do we need a new package?

CacheSpecializations (with skip_specializations):

pro: an accurate statement of "what it's doing"
con: more technical, likely not as easily searchable for most users

CompileHelper (with skip_compilehelper):

pro: an accurate statement of "how it's used"
con: maybe slightly less searchable without the "pre", but partially offset by the reduced confusion about why things are still precompiling even when disabled

I welcome more ideas.

Maybe the package name and the preference name does not have to exactly follow eachother? So the package could be something like "PrecompileToolswhile the option is stillskip_extra_precompileorskip_precompile_workload` or something. When there is some new mechanism it can just have another preference name, but the package name is still general enough to encompass it?

There really are just four names in this package, currently: Precompiler, @setup, @cache and skip_precompile.
We also have Base.compilecache, Base.__precompile__, Pkg.precompile, and ENV["JULIA_PKG_PRECOMPILE_AUTO"].
I think I like PrecompileTools the best, too.  Maybe rename @cache to @workload.  And then I'd advocate for inverting the pref name to not be negative — something like setting precompile_workload => false (defaulting to true).

I like those suggestions, with one exception: I'd prefer a verb (like @cache) to a noun (like @workload). But @cache is a bit technical, so it's far from ideal.

Maybe a simple PrecompileTools.@compile?

Something with "deep" maybe? Or "trace"? PrecompileTools.@compile_trace_deep. PrecompileTools.@tracecompile. etc?

PrecompileTools.@setup -> PrecompileTools.@setup_workload maybe, to have it symmetric?

Then I think we can also export both names.

Registration is underway: https://github.com/JuliaRegistries/General/pull/82046


Update Slack invite link

Issue #, if available: #718
Description of changes:
This updates the Slack invite link from the splashthat form to a direct slack link to help the community get into the slack channel faster.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #719 into master will decrease coverage by 0.31%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #719      +/-   ##
==========================================
- Coverage   94.64%   94.32%   -0.32%
==========================================
  Files          67       67
  Lines        3229     2626     -603
  Branches      645      464     -181
==========================================
- Hits         3056     2477     -579
+ Misses         83       78       -5
+ Partials       90       71      -19

Impacted Files
Coverage Δ

samtranslator/model/eventsources/push.py
86.59% <0%> (-2.59%)
:arrow_down:

samtranslator/model/intrinsics.py
95% <0%> (-1.67%)
:arrow_down:

...lator/plugins/application/serverless_app_plugin.py
80.15% <0%> (-1.33%)
:arrow_down:

samtranslator/model/apigateway.py
96.32% <0%> (-0.93%)
:arrow_down:

samtranslator/model/api/api_generator.py
95.9% <0%> (-0.6%)
:arrow_down:

samtranslator/swagger/swagger.py
97.84% <0%> (-0.01%)
:arrow_down:

samtranslator/plugins/globals/globals.py
100% <0%> (ø)
:arrow_up:

samtranslator/model/sam_resources.py
96.01% <0%> (+0.19%)
:arrow_up:

samtranslator/model/eventsources/pull.py
91.48% <0%> (+0.31%)
:arrow_up:

samtranslator/model/__init__.py
96.57% <0%> (+0.31%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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


Skip code coverage and sonar reports in a forked pull request

this is just for testing PR #2806

Have checked this modification does not impact PRs from apache repo


Implement localboot via BLS

This was brought up by @davide125
See https://systemd.io/BOOT_LOADER_SPECIFICATION

Considering implementing this at the coreboot/LB hackathon this week

RHEL 8 (and probably CentOS8) uses this by default and populates loader/entries/*.conf files inside the efi/boot partition.
I think it is nicer to parse those files, as they follow a specification, instead of parsing grub configs. I only intend to implement the non-EFI parts of the spec (called Type#1). The other part is EFI specific and requires loading an EFI PE binary, which is out of scope for now. (Although it is nice for things like signing/secureboot as everything is in a single file (kernel, initrd, commandline, metadata))
Need to discuss with @insomniacslk  and @hugelgupf how we want to organize the multiple localboots.

I am going to open this PR against u-root as soon as the move is done, I don't want to delay this any longer.


Add else if syntactic sugar

Related issue(s)
Closes #420
Description
Summary of changes
This PR makes the if_expr parser recursive so that we can support chains of else if statements as described in #420.
Currently draft as I get stack overflow issues on the 3rd if statement. i.e.
if a == c[0] {
    constrain c[0] == 0;
} else if a == c[1] {
    constrain c[1] == 0;
} else {
    constrain c[2] == 0;
}

compiles and proves correctly, whereas
if a == c[0] {
    constrain c[0] == 0;
} else if a == c[1] {
    constrain c[1] == 0;
} else if a == c[2] {
    constrain c[2] == 0;
}

fails with a stack overflow error.
The explicit wrapping in a block expression seems unnecessary but doesn't hurt for now.
Dependency additions / changes
N/A
Test additions / changes
(If applicable.)
Checklist

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt with default settings.
[ ] I have linked this PR to the issue(s) that it resolves.
[ ] I have reviewed the changes on GitHub, line by line.
[ ] I have ensured all changes are covered in the description.

Additional context
(If applicable.)

The parser code looks correct to me. The stack overflow is happening at acvm::PartialWitnessGenerator::solve:193, recurring on just that one line with 8 unsolved gates.

Thanks for taking a look. I don't really understand what's going in that function so I probably won't be able to make meaningful progress on this as it stands.

A fix was just merged for this, try testing again to see if it works now

Looks good. I can prove and verify the program in if_else_chain now.
Thanks for the help with this.


Not working

Hi.
I added source in my project and changed name App-group, but nothing not work.

Hola,
I'm going to close this for now pending additional information. If you've got additional factors that might contribute please feel free to re-open.
Thanks,

Conrad


[Documentation] Community Page

Create Community page similar to this one: https://www.dirigible.io/help/community/

Fixed with: https://github.com/SAP/xsk/commit/9f7f011f47ea230f68a4a78e4f7293fcef5f125b#diff-8bf729ffe074caee622c02928173467e658e19e28233cff8a445819e3cae4d50


Weird offset behavior after rebalancing

Version of Ruby: 2.2.3
Version of Kafka: <IP_ADDRESS>
Version of ruby-kafka: master branch

Had an instance consuming from a topicA/partition0,  it fails to send a heartbeat but before failing it had committed the offset to X. Then the partition tries to join, gets assigned a different partition and topicA/partition0 is picked up by another service but the offset is way behind than X (around 8 hours of messages). Causing to have a massive duplication processing.
This behavior doesn't happen all the time which makes it hard to reproduce locally (been unable to so far). Have someone else experience a similar issue?

Do you have logs from the incident?

@dasch I do, here ithttps://gist.github.com/ale7714/1c3836cbf0d00d7e3c82c7c4e79c52f7
You can see how at 8:55:51 analysis-results/0 offset is<PHONE_NUMBER>
Apr 27 08:55:51 ip-10-20-51-10 docker/wally:  I, [2017-04-27T12:55:51.956537 #1]  INFO -- wally-3760fbc8-306f-4123-a9c1-398980c06a38: Committing offsets: analysis-results/0:6683654259

And then at 08:55:55 the offset is<PHONE_NUMBER>.
Apr 27 08:55:55 ip-10-20-52-86 docker/wally:  I, [2017-04-27T12:55:55.477133 #1]  INFO -- wally-7d8f1f09-6d1f-42f6-b3f4-adfa8b30a2c1: Consumer: marking analysis-results/0:6678540862 as processed

You can see how some instances failed to send a hearbeat so they join the group again and partitions are re-assigned.

Hmm. This could be because the consumer that got assigned the partition after the re-sync had handled that partition some time in the past – and therefore had an out-of-date offset position for it. Would you care to take a look at the consumer and see if you can find some evidence for a bug?

@dasch actually that's a good clue. Looking at logs the instance that picked up analysis-results/0 at a really old offset, had been assigned this partition before.
Apr 27 08:55:52 ip-10-20-52-86 docker/wally:  I, [2017-04-27T12:55:52.057410 #1]  INFO -- wally-7d8f1f09-6d1f-42f6-b3f4-adfa8b30a2c1: Committing offsets: analysis-results/7:555092338, analysis-results/0:6678540746
Apr 27 08:55:52 ip-10-20-52-86 docker/wally:  I, [2017-04-27T12:55:52.062228 #1]  INFO -- wally-7d8f1f09-6d1f-42f6-b3f4-adfa8b30a2c1: Runner: flushed buffers offset=555092337
Apr 27 08:55:52 ip-10-20-52-86 docker/wally:  I, [2017-04-27T12:55:52.068908 #1]  INFO -- wally-7d8f1f09-6d1f-42f6-b3f4-adfa8b30a2c1: Committing offsets: analysis-results/7:555092339, analysis-results/0:6678540746

As you can see,  the instance was only updating analysis-results/7 offset pointer but sill had analysis-results/0 on memory even  when is not changing.
Could there be an issue in this line https://github.com/zendesk/ruby-kafka/blob/master/lib/kafka/consumer.rb#L345?

That could be it – you may have to look at the implementation of that method and see if you can break it.

@dasch is there a reason why the gem only clear all the offsets after joining only if the generation_id is different?

@ale7714 there's a lot of subtlety in the group membership protocol – I believe that was done in order to not lose the uncommitted checkpoint state if not necessary.

There may be a lot of rejoins if the group isn't completely stable (there's a leave/rejoin any time a member comes or goes) and we don't want to keep losing track of the offset positions.

@dasch Right, thank you. I understand that. Although i think another side effect of only processing/committing offset manually is that we get quite often in the situation explained here https://github.com/zendesk/ruby-kafka/blob/master/lib/kafka/consumer.rb#L317-L329.
So discussing more about this with one of my coworkers, we were thinking we should be able to choose to clear_offset, either by:

checking if auto-commits are false, and if that the case always clear offsets
or, by passing a new option to the consumer to say clear_offsets_on_join

WDYT?

In our case, handling a few duplicates from kafka is acceptable. Losing messages is not an option, so we prefer to fail and not commit the offset. So we wouldn't mind having a "lower" startup time when the instance is joining the group, if that avoids reading from an old offset.

It does sound like this is maybe related to your manual offset marking logic. Can you share a minimal but complete example script that reproduces the issue?

@dasch that's right I've been trying out a couple of things and realize that on my buffer I could have a message from a previously assigned partition. And that would make the consumer have an old offset for a partition that consumer is not assigned anymore. Now that I feel more confident on how should we manage those edge cases when we don't auto commit. I'll open a PR.

i'll close this since this issue was related to our manual offset management.

@ale7714 I also get this exact behavior on my consumer, when commiting offsets manually... Can you share your thoughts about how it is related to manual offset commit ?
I get this on last version of ruby-kafka 0.7.5


Refactor public api to easilly distinguish from ng-bootstrap api

Currently lib and public api naming conventions (the "ngb" prefix) make it hard to distinguish impports from this package from ng-bootstrap.
Ideas:

Use "ngmod" prefix

Now using "Ngbmod"


Handling Events in reconcile loop

I have a primary resource
// Watch for changes to primary resource Memcached
err = c.Watch(&source.Kind{Type: &cachev1alpha1.Memcached{}}, &handler.EnqueueRequestForObject{})
if err != nil {
return err
}
In reconcile loop I need to get the delete event similar to the old operator sdk
if event.deleted {
//logic
}
Is this possible in new operator sdk?

LiLiC, So have you got an answer for your question?  I have the exact one. How to know the event type.
Mostly for update one for access oldObj and newObj, compare and decide what to do in reconciliation loop.

HI LiLiC,
Operator sdk considering Add and Update event as same. We need to
differentiate between the Add and Update events either by using status (or)
if you are using like external service to be update we need to use http api.
Delete event we can identify using finaliser. When Delete event is
triggered  DeletionTimeStamp is non Zero. This DeletionTimeStamp is Zero in
Add and Update events.
Thanks & Regards
Yamini
On Thu, Mar 21, 2019 at 3:03 AM AsherShoshan<EMAIL_ADDRESS>wrote:

LiLiC, So have you got an answer for your question? I have the exact one.
How to know the event type.
Mostly for update one for access oldObj and newObj, compare and decide
what to do in reconciliation loop.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/operator-framework/operator-sdk/issues/955#issuecomment-475037346,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYAFQQbUgItNlydlD145qK6fFkNBN0WSks5vYqk-gaJpZM4aHsPX
.

@LiliC @yaminisridaran
I'm having similar issue, is there way we can distinguish between add and update operations.
Incase of Add I want to invoke POST call to a custom API where as for update I need to do PUT.
Could you help?

Hello Folks,
There seems to be a lot of questions about the operator knowing if a create event or update event. This is expressly against the design decisions made by controller-runtime.
The reason for this is that no mechanism exists to guarantee that you will get the creation event before processing the addition event. This means that your controller should be making decisions based on the current spec and status that your reconciler has and the state of the cluster. I think that if we need to have a more detailed discussion of this we should use the kubebuilder community meeting or the operator sig meeting to discuss.


Fix test suite

Bump deployment target to 7.0
Simplify Podfile by losing the exlusive includes and not sourcing the podspec
Fix broken specs in transaction parsing

@eliperkins Mind if we close #108 in favor of this PR?

Wrong close button haha.


Be more clear with the authorized IP ranges

In the section "Enable authorized IP ranges" that provide the example but didn't explain what are the IP range <IP_ADDRESS>/16,<IP_ADDRESS>/18 for. This seems to be the Subnet Range and the Service IP range.

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

ID: 660320d4-fad5-3307-e29f-5f4cfad4b7f7
Version Independent ID: 85ac2e8b-633f-6e1a-e642-0645ca92e129
Content: API server authorized IP ranges in Azure Kubernetes Service (AKS)
Content Source: articles/aks/api-server-authorized-ip-ranges.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Thanks for the feedback! We are currently investigating and will update you shortly.

You are right. Here is the doc which talks in detail about IP addressing for AKS clsuter:
https://docs.microsoft.com/en-us/azure/aks/configure-azure-cni#plan-ip-addressing-for-your-cluster

Thanks for bringing this to our attention. We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.

in the document below:
The following example enables API server authorized IP ranges on the cluster named myAKSCluster in the resource group named myResourceGroup. The IP address ranges to authorize are <IP_ADDRESS>/32 (the Azure firewall public IP address), then <IP_ADDRESS>/16 and <IP_ADDRESS>/18.
We explain in the example that "<IP_ADDRESS>/32" is the firewall IP address but we didn't be clear that what are "<IP_ADDRESS>/16 and <IP_ADDRESS>/18." for. Need to indicate that these are the "Subnet Range and the Service IP range" in this section

@Karishma-Tiwari-MSFT  any update?

@AndyWu7623 I have fixed it in this PR. Changes will be live shortly. Thanks :)
https://github.com/MicrosoftDocs/azure-docs/pull/39706

the PR is still open, so this issue should still be open surely? the document has not been amended yet


operator project-quay (3.12.0-nightly.20240716)

Add 3.12.0-nightly.20240716 to community operators

/merge possible


Repl runs intero main instead of defined main

So now, I'm fiddling around with intero in emacs, trying to play with the repl, etc.  Here, I'm running into questions:

1.  I believe I should be able to load my main module with :load Main.  This seems to work...I get the following message from the repl:
    Ok, modules loaded: Main.
    Collecting type info for 1 module(s) ...
After that, shouldn't I be able to execute my 'main' function from the repl?  I try to and get the following:
    > main
    Too late for parseStaticFlags: call it before runGhc or runGhcT
    *** Exception: ExitFailure 1

Any intero users that know what's going on here?

https://www.reddit.com/r/haskell/comments/5dzilp/gettting_started_with_haskell_stack_interoemacs/

as you asked for feedback on the Reddit Thread - I just tried (Intero 0.1.18, Ghc 8.0.1) with
module Test where

main :: IO ()
main = putStrLn "Hello"

and both :main and main are working as expected - maybe you can add your module/main (slim it down as much as you can) so we can try to reproduce?
Also the debug output (M-x intero-toggle-debug - look at the *Messages* buffer afterward) can probably help here.

Closing as dupe of #114. Please subscribe to that issue! 👍


Added "Infinite Respawn"

Added an "Infinite Respawn" feature that makes the respawn time infinite.
Useless in most cases, but it can help spectating other people or something idk
Also did some small code quality improvements

Seems cool, inb4 people make issues saying they can't respawn


Examples with different SPIRE restarts

Signed-off-by: Szilard Vincze<EMAIL_ADDRESS>Description
Four test cases added to healing examples:

SPIRE agents restart
SPIRE server restart
Both SPIRE server and agents restart
SPIRE upgrade-like deployment removal and re-installation

Issue link

How Has This Been Tested?

[ ] Added unit testing to cover
[x] Tested manually
[x] Tested by integration testing
[ ] Have not tested

Types of changes

[ ] Bug fix
[ ] New functionallity
[ ] Documentation
[ ] Refactoring
[x] CI

Woot! We also thought about this kind of testing. So this is looking very useful.
@glazychev-art , @NikitaSkrynnik , @ThetaDR Review is welcome :)

@szvincze Have yo tested it with other tests in heal suite?

@szvincze Have you tested it with other tests in heal suite?

@denis-tingaikin Firstly just one by one, then I inserted into heal suite and I ran the complete suite with success.


Release 1.1.0

Description
Release 1.1.0 for parseState and getters changes.
Reviewers

[ ] @andy-armstrong

If you've been tagged for review, please check your corresponding box once you've given the :+1:.

👍  from me other than my one comment. Thanks!!

Oops, once again, I'm responding to the mention bot.

Coverage remained the same at 93.483% when pulling de4920b1a1fe1795ec8236ac7073993cea7efef2 on ekafeel/release-05-26-2016 into e01fe18aba98bf0bbd5b53b683aef3df54dd3a32 on master.

👍

@dan-f Thanks, no problem this time the PR was ready. Good to have your comments too.

Coverage remained the same at 93.483% when pulling 2c4cc089083732123a33d024f732a65a4dabdbbe on ekafeel/release-05-26-2016 into e01fe18aba98bf0bbd5b53b683aef3df54dd3a32 on master.