[SDP-1111] Enable payment jobs for multi-tenant SDP

What
Import and refactor the schedule jobs used for submitting payments, synchronizing payment status and sending receiver invitations.
The following jobs were brought back from the develop branch and refactored to work with the multi-tenant SDP:

send_receiver_wallets_sms_invitation_job
payment_from_submitter_job
payment_to_submitter_job
patch_anchor_platform_transactions_completion

The following two jobs were merged together under one job, as they both deal with synchronizing payments back from the TSS:

patch_anchor_platform_transactions_completion
payment_from_submitter_job

Why
We re-enable these jobs as a backup and a mean for error handling in case of consumers fails. This will also be used as an option in case of single tenants setup where we don’t need the extra overhead of setting up a Kafka broker.
The admin of an SDP will have the option to enable real-time processing by setting up a Broker. When that’s not enabled, on-schedule processing will be used.
1. real-time event processing
✅ Enabled throughEVENT_BROKER_TYPE <> NONE
✅ Implemented through Kafka, SQS, Solace, etc.
✅ Real time processing and fast
✅ Scalable for multiple tenant.
❌ Risks of failure due to introduced complexity : Network calls, chances of failure.
❌ Extra operational complexity of maintaining an event streaming platform.
2. on-schedule processing
✅ Exercised code path through v1, less chances of failure
✅ Less complex operationally
❌ Slow. Payments will take 1-2 minutes more to be processed.
❌ Not scalable. number of tenants ↗, latency ↗
Note for reviewers
I broke down this PR to commits that fairly self-contained. I know there are many changes, but I think these can be reviewed one commit at a time to make things easier.

Checklist
PR Structure

[x] This PR has a reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR title and description are clear enough for anyone to review it.
[x] This PR does not mix refactoring changes with feature changes (split into two PRs otherwise).

Thoroughness

[x] This PR adds tests for the new functionality or fixes.
[x] This PR contains the link to the Jira ticket it addresses.

Configs and Secrets

[x] No new CONFIG variables are required -OR- the new required ones were added to the helmchart's values.yaml file.
[x] No new CONFIG variables are required -OR- the new required ones were added to the deployments (pr-preview, dev, demo, prd).
[x] No new SECRETS variables are required -OR- the new required ones were mentioned in the helmchart's values.yaml file.
[x] No new SECRETS variables are required -OR- the new required ones were added to the deployments (pr-preview secrets, dev secrets, demo secrets, prd secrets).

Release

[x] This is not a breaking change.
[x] This is ready for production.. If your PR is not ready for production, please consider opening additional complementary PRs using this one as the base. Only merge this into develop or main after it's ready for production!

Deployment

[ ] Does the deployment work after merging?

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr230.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr230.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr230.previews.kube001.services.stellar-ops.com


Update projection docs

The documentation and parameter names in Projection.projection() are vague and mildly confusing.  The docs need to clarify which parameter is which and the parameters renamed for clarity.

It looks likely that there's a bug with the order/usage of those fields.  Add tests to validate.


Website: Wrong React-Native version displaying on https://facebook.github.io/react-native/

Steps to reproduce:

Go to https://facebook.github.io/react-native/
Look at the top right corner of the page.

It displays the current version number of 0.49 which is incorrect because the current version is now 0.50.
More:

If I click on the version number I see the link to the current version of the docs

2. This just links to the same page https://facebook.github.io/react-native/ that displays 0.49
More:

If I manually type in this link http://facebook.github.io/react-native/releases/0.50/ then I end up on a page that looks better and displays the 0.50 in the version position.

Questions:
I want to contribute to fixing this, but I have a few questions that are currently blocking me.

When I manually go to http://facebook.github.io/react-native/releases/0.50/docs/getting-started.html I don't see any documentation for SafeAreaView which I know is a new feature, does that indicate that I'm not really seeing the docs for 0.50, or does it mean that the docs are just not there for SafeAreaView yet?

When I run the website locally, I don't see these links at all. Are the links and versions added in later?

I'll keep digging into these things myself but comments are appreciated.

For people who might be looking for SafeAreaView documentation before this is fixed, you can also go here: https://github.com/react-community/react-native-safe-area-view


expand on load? have it always expanded? and bug with many items.

is it possible to have it expand the list on load?
And even better, have it always expanded.
Also, when I have lots of items (500), the scroller is displayed and allowed to scoll, but there are checkboxes down below the scroll area (see image).

It'd be better also if it's possible to just have the whole list shown all the time (without an inside scrollbar).
Thanks

You can fix the "many items issue" with the following pure CSS
`        .select2-results__group,
.select2-results__option[role=treeitem] {
text-indent: -15px;
padding-left: 20px !important;
}
    .select2-results__option .wrap:before{
        position:relative;
        left:-12px;
        font-family:fontAwesome;
        color:#999;
        width:27px;
        height:25px;
    }
    .select2-results__option[role=treeitem] .wrap:before{
        content:"\f096";
    }
    .select2-results__option[aria-selected=true] .wrap:before{
        content:"\f14a";
    }
    .select2-results__option .wrap{
        margin-left:15px;
    }`

It fix the unusable checkbox icon on optgroup elements too.

fixed with new css. take a look into https://jsfiddle.net/wasikuss/7ak9skbb/


 There's a subject extra, but all the goods appear to be in a ClipData instance that needs unpacked.
Not sure if we can do URL detection or if we get that info for free in its metadata. Or maybe Pocket will just deal with it.

Actually this is a Firefox bug
The docs say:

As of Build.VERSION_CODES.JELLY_BEAN, the data being sent can be supplied through setClipData(android.content.ClipData). This allows you to use FLAG_GRANT_READ_URI_PERMISSION when sharing content: URIs and other advanced features of ClipData. If using this approach, you still must supply the same data through the EXTRA_TEXT or EXTRA_STREAM fields described below for compatibility with old applications.

And when you use the share intent from the actual app (not the custom tab) the URL is available. In both cases, the title of the page is available as the subject, so somewhere the URL is not being propagated correctly.


Matrix content erased nested SuperTable/Matrix

"craftcms/cms": "3.0.16",
"firstborn/migrationmanager": "v3.0.11"

I have the following setup for content blocks in Craft:
Matrix (contentBlocks) > Block (ctaWithImages) > Field (buttonLink) > SuperTable Row Layout Static > Field (item) > Matrix with 2 fields
I know this pushing to the limits of field structures in Craft but if I create an migration for this setup and run it, the deepest Matrix field is erased after the migration is complete.
If I check the database the table matrixcontent_item is empty.
This could also be related to an issue with SuperTable: https://github.com/verbb/super-table/issues/145

Tested and this is working fine. The SuperTable issue was likely the cause.

That exact same setup (field handles are different) is causing the same problem for me. I'm using 2 sites in one group for multiple languages.
Field is like:

modules (Matrix)

text (MatrixBlock)

aside (SuperTable static)

asideModule (Matrix)

asideText (MatrixBlock)

asideTitle (PlainText)
body (Redactor)

asideOther (MatrixBlock)
etc

other (MatrixBlock)
etc

I'm using:

Craft CMS 3.1.15
Migration Manager 3.0.19
Super Table <IP_ADDRESS>

@jeroenlammerts this issue just came up again and has been fixed, in the case it was still an issue for you.


Bug: Unit testing a component that uses ...mapGetters with modules is throwing errors

Hi there.
I am testing a component that uses a module's getters from store using ...mapGetters, but it throws error. However, it works if getters are accessed inside computed property instead of mapGetters.
The store is as follows: -
export default store((/* { ssrContext } */) => {
  const Store = createStore({
    state() {
      return {};
    },
    mutations: {},
    actions: {},
    getters: {},
    modules: {
      location: locationModule,
    },

    // enable strict mode (adds overhead!)
    // for dev mode and --debug builds only
    strict: process.env.DEBUGGING,
  });

  return Store;
});

The getters I am trying to get are inside the locationModule as: -
const locationModule = {
  namespaced: true,
  state() {
    return {
      // Some code
    };
  },
  getters: {
    currentSpeed(){
      // Some code
    },
    currentAltitude(){
      // Some code
    }
  }
}

And I am accessing the getters in the Cards.vue component as following: -
import { mapGetters } from "vuex";
export default {
  name: "HomeCards",
  computed: {
    ...mapGetters("location", ["currentAltitude", "currentSpeed"]),
  },
};

For testing the Cards.vue, component I created a test file Cards.spec.js as follows: -
import { describe, expect, it } from "@jest/globals";
import { mount, shallowMount, RouterLinkStub } from "@vue/test-utils";

import Cards from "../../../../src/components/Home/Body/Cards.vue";
describe("Cards", () => {
  let $store;

  beforeEach(() => {
    $store = {
      getters: {},
      modules: {
        location: {
          namespaced: true,
          getters: {
            currentSpeed: () => jest.fn(),
            currentAltitude: () => jest.fn(),
          },
        },
      },
    };
  });

  it("Should render a value", async () => {
    const wrapper = mount(Cards, {
      global: {
        mocks: {
          $store,
          $t: (msg) => msg,
        },
        stubs: {
          RouterLink: RouterLinkStub,
          QImg: true,
        },
      },
    });

    const value = wrapper.find(".details-block__value-block");

    expect(value.text()).toBeTruthy();
  });
})

When executing the test it throws the following error: -
Cards › Should render a value

    TypeError: Cannot read property 'location/' of undefined

at getModuleByNamespace (node_modules/vuex/dist/vuex.cjs.js:1351:42)
      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1238:25)
      at ReactiveEffect.run (node_modules/vue/node_modules/@vue/reactivity/dist/reactivity.cjs.js:164:29)
      at ComputedRefImpl.get value [as value] (node_modules/vue/node_modules/@vue/reactivity/dist/reactivity.cjs.js:1075:39)
      at Object.get [as currentSpeed] (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:2142:30)
      at Object.get (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5915:27)
      at Proxy.render (src/components/Home/Body/Cards.vue:120:155)
      at renderComponentRoot (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:465:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4174:57)
      at ReactiveEffect.run (node_modules/vue/node_modules/@vue/reactivity/dist/reactivity.cjs.js:164:29)
      at setupRenderEffect (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4300:9)
      at mountComponent (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4083:9)
      at processComponent (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4041:17)
      at patch (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3647:21)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4181:21)
      at ReactiveEffect.run (node_modules/vue/node_modules/@vue/reactivity/dist/reactivity.cjs.js:164:29)
      at setupRenderEffect (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4300:9)
      at mountComponent (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4083:9)
      at processComponent (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4041:17)
      at patch (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3647:21)
      at render (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4785:13)
      at mount (node_modules/vue/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3166:25)
      at Object.app.mount (node_modules/vue/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1523:23)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7860:18)
      at Object.<anonymous> (test/jest/__tests__/Home/Cards.spec.js:31:21)

However, if instead of mapGetters I access getters inside computed property like this: -
export default {
  name: "HomeCards",
  computed: {
    currentAltitude() {
      return this.$store.getters["location/currentAltitude"];
    },
    currentSpeed() {
      return this.$store.getters["location/currentSpeed"];
    },
  },
};

The test passes successfully.
Why it isn't working with ...mapGetters() ???
My package.json file: -
{
  "scripts": {
    "lint": "eslint --ext .js,.vue ./",
    "test": "echo \"See package.json => scripts for available tests.\" && exit 0",
    "test:unit:ui": "majestic",
    "test:unit": "jest --updateSnapshot",
    "test:unit:ci": "jest --ci",
    "test:unit:coverage": "jest --coverage",
    "test:unit:watch": "jest --watch",
    "test:unit:watchAll": "jest --watchAll",
    "serve:test:coverage": "quasar serve test/jest/coverage/lcov-report/ --port 8788",
    "concurrently:dev:jest": "concurrently \"quasar dev\" \"jest --watch\""
  },
  "dependencies": {
    "@quasar/extras": "^1.0.0",
    "core-js": "^3.6.5",
    "gsap": "^3.8.0",
    "quasar": "^2.0.0",
    "vue": "^3.2.22",
    "vue-i18n": "^9.2.0-beta.22",
    "vuex": "^4.0.1"
  },
  "devDependencies": {
    "@babel/eslint-parser": "^7.16.5",
    "@quasar/app": "^3.0.0",
    "@quasar/quasar-app-extension-testing-unit-jest": "^3.0.0-alpha.6",
    "eslint": "^8.6.0",
    "eslint-config-airbnb-base": "^15.0.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-import": "^2.25.4",
    "eslint-plugin-jest": "^25.3.4",
    "eslint-plugin-vue": "^8.2.0",
    "eslint-webpack-plugin": "^3.1.1",
    "majestic": "^1.7.0",
    "sass-loader": "^12.3.0"
  },
  "browserslist": [
    "last 10 Chrome versions",
    "last 10 Firefox versions",
    "last 4 Edge versions",
    "last 7 Safari versions",
    "last 8 Android versions",
    "last 8 ChromeAndroid versions",
    "last 8 FirefoxAndroid versions",
    "last 10 iOS versions",
    "last 5 Opera versions"
  ],
  "engines": {
    "node": ">= 12.22.1",
    "npm": ">= 6.13.4",
    "yarn": ">= 1.21.1"
  }
}

Hi,
You're testing using a real Vuex store, so the docs would help: Testing with a Real Vuex Store. (In short: you should pass in the store as a plugin, not as a $store mock)

This solved the issue. Thanks.
But any explanation for why it wasn't working only with mapGetters??? It is working with mock store even if I access a getter directly in template like {{  $store.getters['location/currentAltitude']  }}

Glad you solved it! I guess it is because the mock you provided made $store.getters work, but it was unable to set and define mapGetters (which comes from a real store, not a mock).


[PERF] Split parquet scan tasks into individual row groups

code untested so far

The function materialize_scan_task doesn't seem to make use of the row groups when using the Python storage config. Not sure if that's something to worry about.
See: https://github.com/Eventual-Inc/Daft/blob/main/src/daft-micropartition/src/micropartition.rs#L221

The function materialize_scan_task doesn't seem to make use of the row groups when using the Python storage config. Not sure if that's something to worry about.
See: https://github.com/Eventual-Inc/Daft/blob/main/src/daft-micropartition/src/micropartition.rs#L221

Conclusion of conversation with @samster25: don't do row group splitting when using python reader, since it is a legacy feature that we don't care about performance for

Also let me know if I should write tests for non-local reads.


Move the StimulusReflex methods that are assigned to controller

Type of PR (feature, enhancement, bug fix, etc.)
enhancement
Description
By moving the StimulusReflex methods assigned to the controller it
decouples the way a StimulusReflex controller is registered to the
methods.
Why should this be added
This lets a developer outside of the Rails ecosystem re-use those
methods and make their own "register" method without needing to
install actioncable.
Checklist

[x] My code follows the style guidelines of this project
[x] Checks (StandardRB & Prettier-Standard) are passing
[x] This is not a documentation update

Please note that the best way to suggest changes or updates to the documentation is to join Discord and leave a note in the #docs channel. Any documentation updates posted as PRs cannot be accepted at this time. :heart:

Hey Jonathan, we have discussed #333 several times, which is very much an ongoing concern. I'm a bit distressed by this PR given that we've fully explained our roadmap and it's clear that you've put real work into this. There's currently a Twitter thread playing out which addresses this scenario: https://twitter.com/snipeyhead/status/1414976362247426051
Although I want to make it clear that I'm feeling zero of the rage, I'm feeling a lot of the rest because I know full well that if you'd checked-in before assuming we'd just forgotten to do this, I would have set you straight and presumably wouldn't be feeling like I have to be the bad guy, now. And that's awful, because you and Sockpuppet are actually super duper important to us.
Folks need to talk about big, opinionated PRs to make sure that they are wanted and appropriate.
Here's the scoop: v3.5 wasn't ever supposed to exist. There's a lot that's been put on hold due to IRL issues that aren't appropriate to go into, here. v4 is going to be a significant refactor and in some aspects, rewrite of the client and it will fully address #333. In other words, there's no chance that this PR can be accepted. If you had asked first, I would have happily clarified.
I do apologize that this process of decoupling ActionCable has taken longer to land than we would have hoped. Like everything else I'm alluding to, it's simply beyond our control.
Let's keep the conversation moving forward on Discord.

I'm sorry that I'm causing some distress to you, and there is no need to feel like a bad guy here. I'm aware that StimulusReflex moves on its own schedule and there isn't much I can do about that.
However, the good news is that me making this PR started to get some other thoughts flowing. I think that I could unblock myself in this regard by using a forked version for the time being, and it should be relatively easy to keep that fork up to date with upstream.

Phew! Please let me know if/how I can be of assistance.
Have you been following the conversation about porting CR to Python on Discord?


Embedded document and Query::HINT_REFRESH

It looks like refresh queries using Query::HINT_REFRESH are creating a new embedded document instead of updating values of existing one.
For example:
$embed = $document->getEmbed();
// ... do query with HINT_REFRESH
echo $embed === $document->getEmbed() ? "Same" : "Not";

Outputs: Not :cry:

Please see https://github.com/doctrine/mongodb-odm/pull/995#issuecomment-87244576 for details why this won't be fixed for now


Allow usage in Unity Editor as a git url based package.

This allows one to install the manager as a package instead of being forced to import the updated copy every time a new update to the manager is made.
Fixes #17.

The github action would still work as intended, however for those who use as a git url based way this would allow them to use it as such.

I'll be straight.
We will forget to update the package version over time this way.
And with the current setup the main branch is made for development, meaning that there can be commits that put it into a broken state.
Can't really pass this PR with the current repository state. But i'll keep the Issue on since we are actually planning to change the repository structure, and that restructuring will support your request as well without the need for us to manually update it over time.
I know it's annoying bug please be patient. we're working on it.


heatmap panel should use increase instead of rate

https://github.com/tikv/tikv/blob/e6b3613ec8b689a3ed3ce5a8380490f0a9eca3c9/metrics/grafana/common.py#L919

Otherwise you will get count/$__rate_interval instead of real count

Thanks you for your report!
Just notice there is an errata in Grafana blog https://grafana.com/blog/2020/06/23/how-to-visualize-prometheus-histograms-in-grafana/#:~:text=Note%3A I accidentally,appearance.


Add finance collection

Hey 👋🏽
I am the creator behind OpenBB-finance/OpenBBTerminal and thought it would be nice for you to have a finance topic for your collections.
I selected the projects based on the number of stars when searching for finance tag, see https://github.com/search?o=desc&p=1&q=finance&s=stars&type=Repositories
I didn't add some of the projects because I didn't really consider them "finance", for instance:

a repository that just contains a list of nice finance resources.
a plotting library that can be used to plot historical data.

Feel free to add more packages if you think that some are missing, or to remove some if you don't think they should be there.

I just noticed that this PR will clash with #424 due to claiming of the id 10030.
For this to be easier to manage going forward you could abstract that id, and basically create an id for each of the .yml files present in this backend/meta/collections folder when spinning the project. Just my 2 cents 😄

Yes, you are right. But if we don't hardcode the ID, it can be tricky to handle the update

@DidierRLopes Done https://ossinsight.io/collections/finance

https://ossinsight.io/collections/finance

Thanks! 🙌🏽


6.12.1 cherrypicks

Goal
Cherrypick commits in PRs #1326 and #1327 into the 6.12 release branch in preparation for 6.12.1

Merge activity

Sep 6, 1:16 PM EDT: @bidetofevil started a stack merge that includes this pull request via Graphite.


test-branch/execute-job/wrong-commit-sha-on-pr/f782b433-1550-4abe-8df6-29331896c0a6

PR for testing 05d9acb156b443a8d899209959d0a95503d2e483

/canonical/self-hosted-runners/run-workflows 931ad21dd9ace68aaa0a7d341e94de96ad93fa6b


Feature Request: Intellisense for C++ projects

Product and Version [VS]:
OS Version [Windows]:
Live Share Extension Version: 0.3.735.3183
Target Platform or Language [C++]:
Steps to Reproduce / Scenario:
I have a collaborator who is using VSCode on Linux to edit a C++ project. The C++ project uses CMake, so in theory, I believe Visual Studio should be able to parse out a solution. I am on Windows, using full Visual Studio. I am live-sharing with them, and would love a way to set up intellisense on my end so I have the full range of C++ intellisense features.
If this already exists, I'm sorry for asking, but I couldn't' find anything anywhere!

Hey @orinatic , thanks for the feedback. Currently language services are host driven, meaning if the host of a Live Share session is using VSCode, you will receive the same language services on the guest end - even if you're using Visual Studio - that you would have when working on a C++ project in VSCode.
It sounds like you want your experience as a guest to have the full suite of language services offered by Visual Studio for C++ projects - i.e. you would have a richer experience than the host of the session. Am I understanding your request correctly?

We recently shipped full C++ support in Visual Studio 2019, so I’m going to close this as resolved. That said, if you’re asking to get full VS language features, when the Live Share host is running VS code, that would be a different set of work we’d need to do. Please feel free to re-Open the issue if you’re looking for the later experience. Thanks!


Allow users to enter a zipcode

Ah I see.  So actually users can enter a zipcode, but when they do:

the autocomplete is not zipcode aware so it seems as if zipcode entry isnt going to work
there text prompt above the entry field doesnt mention zipcode entry is supported
after hitting enter, the field of view is very zoomed-in

Thanks for the feedback! To answer your points:

I unfortunately don't think this will be possible in the short term (at least using the current autocomplete API). I'm using https://mapzen.com/documentation/search/autocomplete/, which doesn't have zipcode support :( I'm currently handling zip codes manually with a obj lookup... I suppose one thing we could do is if the search string == Number && len==5, we could manually insert a "zip code: XXXXX" option in the drop down that would initiate a zip code lookup. @dsjoerg thoughts?

and 3) I can fix easily, I will self-assign this and get those in.

I like your idea of manually doing "zip code: XXXXX" for five-digit numbers instead of the nonsense that mapzen shows


BrokerageAuthentication Classes

As discussed last week, attempt #2 at building brokerage authentication code.
Note the initial seting of a values in OandaBrokerageAuthentication method; I'm assuming that we could display these on a drop-box in the web UI (instead of having the user enter the URL).
I'm aware that I haven't set intial values for the Oanda API anywhere yet.

Request cancelled (to the replaced).


Add support for Xiaomi Mvs ligh

Add support for Xiaomi Light mvs.light.wy0a01
link:  https://home.miot-spec.com/spec/mvs.light.wy0a01
`
{
17964: ["Mvs", "Mvs light", "mvs.light.wy0a01"],
"spec": [
    BaseConv("light", "light", mi="2.p.1"),
    BrightnessConv("brightness", mi="2.p.2", max=100),
    ColorTempKelvin("color_temp", mi="2.p.3", mink=2700, maxk=5000),
    MapConv("mode", "select", mi="2.p.7", map={0: "None", 4: "Lighting", 5: "Night Light", 7: "Warmth", 8: "Tv",9: "Reading",10: "Computer",11: "Hospitality",12: "Entertainment",13: "Wakeup",14: "Dusk",15: "Sleeping",16: "Model-1",17: "Model-2",18: "Model-3",19: "Model-4"}),
    MapConv("power_on_state", "select", mi="2.p.9", map={0: "Default", 1: "On", 2: "Off"}),
    BoolConv("flex-switch", "switch", mi="4.p.12"),
    BoolConv("night-light-switch", "switch", mi="4.p.13"),
],

}
`

Thanks. You was first, but this is already merged #1401

https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v4.0.6


Fix #5935: Introduce bspReporter key

Fixes #5935
I introduce the bspReporter key that is typed to BuildServerReporter.
The bspReporter encapsulates the compilerReporter. It sends the compiler diagnostics to the BSP client and then forward them to the compilerReporter. In case bspEnabled is set to false, the bspReporter would only forward the logs to the compilerReporter, so that the overhead is minimal.
A user can override the compilerReporter as usual. It should not need to override the bspReporter which is internal.

In SBT 1.6.1, bspReporter is public whereas compilerReporter is private.
I would like to process the compiler errors and don't know how to do it.

What kind of processing to you want to do on the compiler errors? Do you just want to extract them for later use or also to modify them and report the modified versions?

I have mixed the output of tests, compiler warnings, processing Javascript, .....
It's terrible to analyze what it has happened.
So I'd like to export all compiler error/warnings to a file.  This file will be used later to build a report visible in Jenkins.

In this case I would recommend to use compilerReporter. It is private but stable for quite some time now (since 0.13.2) and its API xsbti.Reporter is public and stable too.
In contrast, bspReporter is public but its API is internal and it could change in the near future.

Thanks @adpi2  for your valuable tip.
How can I use compilerReporter if it's private?

How can I use compilerReporter if it's private?

It is package private so you can use it from within the sbt package. Maybe you should create an AutoPlugin in the sbt package:
package sbt

SbtExtensionPlugin extends AutoPlugin{
  override def globalSettings = Seq(
    compileReporter := {
      ...
    }
  )
}

It's kind of ugly but I don't see any better solution.

@adpi2 , I've tried your valuable solution and it doesn't work.
My code:
project/PluginInformeCompilar.scala
object PluginInformeCompilar extends AutoPlugin{
  val pref = Seq(
    compilerReporter := {
      val log = new xsbti.Logger {
        override def debug(msg: Supplier[String]) = ()

        override def warn(msg: Supplier[String]) =
          println("[aviso] "+msg.get())

        override def info(msg: Supplier[String]) =
          println("[infor] "+msg.get())

        override def error(msg: Supplier[String]) =
          println("[error] "+msg.get())

        override def trace(msg: Supplier[Throwable]) = ()
      }
      new LoggedReporter(50, log)
    }
  )
  override def projectSettings = pref
  override def globalSettings: Seq[Def.Setting[_]] = pref

  override val requires = JvmPlugin
}

build.sbt ()1st ftry):
lazy val myProject = project
	.enablePlugins(ParadoxSitePlugin, PackPlugin, PluginInformeCompilar)
	.settings(
		....
        )

build.sbt (2nd try):
lazy val myProject = project
	.enablePlugins(ParadoxSitePlugin, PackPlugin)
	.settings(
		PluginInformeCompilar.pref(0),
		....
        )

I don't see my custom prefixes when running:
myProject/compile

Any ideas please?

The inspect command can be useful to debug those kind of things:
sbt:sbt-5948> inspect compilerReporter
[info] No entry for key.
[info] Description:
[info]  Experimental hook to listen (or send) compilation failure messages.
[info] Delegates:
[info]  compilerReporter
[info]  ThisBuild / compilerReporter
[info]  Global / compilerReporter
[info] Related:
[info]  Compile / compile / compilerReporter
[info]  Test / compile / compilerReporter

Here you can see that compilerReporter is scoped to Compile / compile and Test / compile. So that's where you should override it:
object PluginInformeCompilar extends AutoPlugin{
  private val configSettings = Seq(
    compile / compilerReporter := {
      ...
  )

  override def projectSettings = Def.settings(
    inConfig(Compile)(configSettings),
    inConfig(Test)(configSettings)
  )

  override val requires = JvmPlugin
  override def trigger: PluginTrigger = allRequirements
}

Confirmed that now it is overriden!.


Electron Vue CLI

It would be really cool if there was a CLI so that we could have some sort of "stripped down" version of electron vue.
Great bolierplate though!

Looking to bring support for vue-cli in the coming weeks.


Scaling a parent node (with no position set) can move a spatial audio position

Repro

Bug repro on Audio Positioning Test:
Expected result:  Audio plays when the scene loads
Current result:  Can't hear audio - the scaling on the parent throws its position out of audible range.  (Despite the direct parent not having a position set)

Desktop (please complete the following information):

Device: PC
OS: Windows 10 Enterprise
Browser Chrome
Version 93.0.4577.63

The issue here is that you are creating a mesh without a geometry which is therefore not having any bounding information created upon construction.
This causes the bounding information that is generated after applying the parent to be incorrect. There are a few solutions here:
Use a transform node instead:
https://www.babylonjs-playground.com/#0CSD1T#258
Force a refresh on the bounding information before applying the parent:
https://www.babylonjs-playground.com/#0CSD1T#259
Use custom attenuation (check the sound options). This will use the mesh's absolute position instead of its bounding information
https://www.babylonjs-playground.com/#0CSD1T#260
This is a bug per se, but we might be able to solve this on our end as well. I will investigate for a future solution that won't break the current implementation.

To further explain the situation - when creating the bounding info the initial min and max values are taken using the absolute position of the mesh. This illustrates the issue:
https://playground.babylonjs.com/debug.html#YGAA79#3
You would expect both bounding information to be the same (at least the center and center world), but they are not due to the fact that the 1st mesh's bounding info is set after the parent was set so absolute position is the parent's.

Ah makes sense!  Should the sound attaching to the mesh force a refresh on the bounds to correct the position?

If you are constructing the bounding info before setting the parent the update will be taken care of.
The fix i pushed should solve this with no interaction on your part, but for now make sure to call refreshBoundingInfo after creating a mesh with no geometry

Yep in this case the audio is created/attached dynamically (on user action) long after the bounds are initially calculated.
We're putting in a call to refreshBoundingInfo in the meantime.  Thanks for the fix!


Middleware error handling

Added more error handling for middleware
Added tests for middleware construction
#236
@davidfowl  @Tratcher

Hi @mikaelm12, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@mikaelm12, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

Please fix the failing tests before merging

Travis builds currently fail on this Repo because the JavascriptSerializer is broken on mono. https://bugzilla.xamarin.com/show_bug.cgi?id=31136
Most tests ran on mono before the failure though.

Add that test for multiple invokes then :shipit: !


is there a way to get only English language articles?

When parsing a source, is there a way to tell newspaper to retrieve articles that are only in English? Take a look at this example:
kyodo= newspaper.build("https://english.kyodonews.net/")
When you build a source from this link it also fetches articles in Chinese from tchina.kyodonews.com
I wonder if there is a way to specify that I only want articles in English and there is no need to bother fetching articles in other languages.

did you figure out?
I need this feature too..
Thank you

@sai-krishna-msk nope, still nothing


added documentation and custom css for labels. fixes #7.

Please review @Samsinite

This also fixes #6.

:+1:, looks good.

I'll merge and retag this update.


Revert "Bump elasticsearchVersion from 8.6.2 to 8.7.0"

This reverts commit bf6276b8a377940198c876fb52f9c10ee4114748.

Description

This fix appears to break CTS, and some other use cases - though our current FVTs pass
Suggest we handle this in 2 stages
a) Revert fix (if tests ok) asap
b) investigate if we can reapply the fix, perhaps alongside other changes
Related Issue(s)
See #7618

Testing

Image built as quay.io/odpi/egeria:4.1-SNAPSHOT-experimental-lucene
Currently running CTS - see https://github.com/odpi/egeria-test-cts/actions/runs/4744221663
Release Notes & Documentation

Additional notes

does not fix issue -- closing


Not working with flutterflow

Because of the higher version of path provider

Its flutterflow issue by the way, flutterflow is still on path_provider 2.0.14


Adjust payment methods in the store

@rebeccalendl @Scott-CC , per my email, adding a ticket re payment methods in the store. With the new theme on the store, we noticed icons for Bitcoin, Dogecoin, Litecoin popping up in the footer. This is because in https://creative-commons.myshopify.com/admin/settings/payments -- the payment gateways section, GoCoin is enabled, which includes BitCoin Litecoin, and Dogecoin. The theme could be altered to not show those in the footer, but probably disabling that payment option makes more sense, if you don't want to accept that type of payment.

@robmyers

According to shopify, we accept PayPal Express Checkout, Stripe, GoCoin.  I can disable GoCoin.  Just say the word.

Please disable GoCoin for now.

Disabled GoCoin.


Gen templates fixes.

Please separate out features and fixes into individual pull requests
and reference the issue if it exists.
Fix the issues induced by commit  #1d9c7e1229328c02b7548f33e55ee6cd98ad2a5c
This should address the issue #51
pull is based on top of the head #c0c28969414945bc837f8f505fc12df79c51d7d2
Signed-off-by: Anton Arapov<EMAIL_ADDRESS>

Thank you for pointing this out. I'm in the process of writing tests for all the different components of the system so I'll be able to catch bugs like this in the future. https://github.com/blue-jay/blueprint/issues/51


Using overridden _app & _document throws "ReferenceError: document is not defined"

💬 Questions and Help
My _app.js:
import React, { useEffect } from 'react';
import PropTypes from 'prop-types';
import Head from 'next/head';

import { ThemeProvider } from '@material-ui/core/styles';
import CssBaseline from '@material-ui/core/CssBaseline';

import theme from '@/components/theme';

const App = ({ Component, pageProps }) => {
  useEffect(() => {
    // Remove the server-side injected CSS (need this to stop HMR from showing React warnings)
    const jssStyles = document.querySelector('#jss-server-side');

    if (jssStyles) {
      jssStyles.parentElement.removeChild(jssStyles);
    }
  });

  return (
    <>
      <Head>
        {/* Custom header */}
      </Head>

      <ThemeProvider theme={theme}>
        <CssBaseline />

        <Component {...pageProps} />
      </ThemeProvider>
    </>
  );
};

App.propTypes = {
  Component: PropTypes.elementType.isRequired,
  pageProps: PropTypes.object.isRequired,
};

export default App;

My _document.js:
import React from 'react';
import Document, { Html, Head, Main, NextScript } from 'next/document';
import { ServerStyleSheets } from '@material-ui/core/styles';

class Doc extends Document {
  render() {
    return (
      <Html lang="en">
        <Head>
          {/* Custom header */}
        </Head>

        <body>
          <Main />

          <NextScript />
        </body>
      </Html>
    );
  }

  static async getInitialProps(context) {
    // Render app and page and get the context of the page with collected side effects.
    const sheets = new ServerStyleSheets();
    const originalRenderPage = context.renderPage;

    // THIS SEEMS TO BE CAUSING ISSUES IN JEST?
    context.renderPage = () =>
      originalRenderPage({
        enhanceApp: (App) => (props) => sheets.collect(<App {...props} />),
      });

    const initialProps = await Document.getInitialProps(context);

    return {
      ...initialProps,
      // Styles fragment is rendered after the app and page rendering finish.
      styles: [...React.Children.toArray(initialProps.styles), sheets.getStyleElement()],
    };
  }
}

export default Doc;

NB this enables MaterialUI to play nice with the NextJS stack.
My index.test.js:
/**
 * @jest-environment jsdom
 */

import { getPage } from 'next-page-tester';
import { screen, waitFor } from '@testing-library/react';

describe('IndexPage', () => {
  it('shows index page', async () => {
    const { render } = await getPage({ route: '/', useDocument: true });

    render();

    // Some other stuff ...
  });
});

When running the test:
$ jest
 FAIL  test/index.test.js (27.528 s)
  IndexPage
    ✕ shows index page (13297 ms)

  ● IndexPage › shows index page

    The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/en/configuration#testenvironment-string.
    Consider using the "jsdom" test environment.

    ReferenceError: document is not defined

      55 |
      56 |     context.renderPage = () =>
    > 57 |       originalRenderPage({
         |       ^
      58 |         enhanceApp: (App) => (props) => sheets.collect(<App {...props} />),
      59 |       });
      60 |

The error is the same whether or not I include the @jest-environment docblock in the test file.
If I omit useDocument: true from the getPage() options I get the failure a bit later, but with the same error:
$ jest
 FAIL  test/index.test.js (19.88 s)
  IndexPage
    ✕ shows index page (9129 ms)

  ● IndexPage › shows index page

    The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/en/configuration#testenvironment-string.
    Consider using the "jsdom" test environment.

    ReferenceError: document is not defined

      10 |     const { render } = await getPage({ route: '/' });
      11 |
    > 12 |     render();
         |     ^
      13 |
      14 |     expect(screen.getByRole('progressbar')).toBeInTheDocument();
      15 |

NB I've patched jest according to https://github.com/toomuchdesign/next-page-tester#optional-patch-jest. I'm running jest v26.6.3 .
I'm probably missing something obvious. Anyone have an idea?
Thanks!

Hey @cneuro 👋 We need a reproducible example (link to a GH repo) in order to investigate this.

Hello 👋
I too am getting a similar error.
This is a demo repo: https://github.com/domhede/next-cypress-jest-apollo-example

Hey I actually managed to get it working in my demo repo.  I found the fix was to wrap my assertions in waitFor and use queryByText.  see: https://github.com/domhede/next-page-tester-demo/commit/49f0c3c83578a14ee31e1560f2b5c3e38114b7d2

I had the same problem (using just a custom document), and managed to fix it by upgrading react and react-dom to version 17.

I'm getting the same error. Though I'm getting it at the render call, so the waitFor solution that @domhede posted doesn't work/apply. My test looks like:
import {getPage} from 'next-page-tester'
import {render, screen} from '@testing-library/react'

jest.mock('react', () => ({
    ...jest.requireActual('react'),
    useLayoutEffect: jest.requireActual('react').useEffect,
}));

test('Renders without crashing.', async () => {
    const {render} = await getPage({
        route: '/',
    })

    render() // <--- this is where the error path begins

    expect(screen.getByRole('heading', {name: 'This is not the heading'})).toBeInTheDocument()
})

This is the error I'm getting:
 FAIL  tests/pages/index.test.js
  ● Renders without crashing.

    The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/en/configuration#testenvironment-string.
    Consider using the "jsdom" test environment.

    ReferenceError: document is not defined

      12 |     })
      13 |
    > 14 |     render()
         |     ^
      15 |
      16 |     expect(screen.getByRole('heading', {name: 'This is not the heading'})).toBeInTheDocument()
      17 | })

      at StyleSheetRegistry.selectFromServer (node_modules/styled-jsx/dist/stylesheet-registry.js:235:47)
      at StyleSheetRegistry.add (node_modules/styled-jsx/dist/stylesheet-registry.js:61:31)
      at JSXStyle.render (node_modules/styled-jsx/dist/style.js:58:26)
      at processChild (node_modules/react-dom/cjs/react-dom-server.node.development.js:3450:18)
      at resolve (node_modules/react-dom/cjs/react-dom-server.node.development.js:3270:5)
      at ReactDOMServerRenderer.render (node_modules/react-dom/cjs/react-dom-server.node.development.js:3753:22)
      at ReactDOMServerRenderer.read (node_modules/react-dom/cjs/react-dom-server.node.development.js:3690:29)
      at Object.renderToString (node_modules/react-dom/cjs/react-dom-server.node.development.js:4298:27)
      at node_modules/next-page-tester/dist/makeRenderMethods.js:16:75
      at Object.executeAsIfOnServerSync (node_modules/next-page-tester/dist/server.js:39:16)
      at serverRenderToString (node_modules/next-page-tester/dist/makeRenderMethods.js:16:28)
      at serverRender (node_modules/next-page-tester/dist/makeRenderMethods.js:21:26)
      at render (node_modules/next-page-tester/dist/makeRenderMethods.js:39:30)
      at Object.<anonymous> (tests/pages/index.test.js:14:5)

It looks like an issue with styled-jsx (at least, that's where the reference to document is made).
Here's the versions of pertinent packages I'm using:
    "@testing-library/dom": "7.30.3",
    "@testing-library/jest-dom": "5.11.10",
    "@testing-library/react": "11.2.6",
    "jest": "26.6.3",
    "next": "10.1.3",
    "next-page-tester": "0.24.1",
    "react": "17.0.2",
    "react-dom": "17.0.2",

I am also getting same error. Is there any workaround?
"next": "10.0.5",
"react": "17.0.1",
"react-dom": "17.0.1",
"jest": "26.6.3",
"@testing-library/react": "11.2.6",
"next-page-tester": "0.22.0"

Hi all,
we'd need a minimal runnable repro of the issue.
Is https://github.com/domhede/next-page-tester-demo still relevant?

@toomuchdesign It's working in my demo repo now: https://github.com/domhede/next-page-tester-demo.

I'm having same issue as well.
"devDependencies": {     "@testing-library/dom": "^7.30.3",     "@testing-library/jest-dom": "^5.11.10",     "@testing-library/react": "^11.2.6",     "babel-eslint": "^10.0.3",     "babel-jest": "^26.6.3",     "eslint": "^6.7.2",     "eslint-config-prettier": "^6.7.0",     "eslint-loader": "^3.0.3",     "eslint-plugin-react": "^7.17.0",     "eslint-plugin-react-hooks": "^2.3.0",     "jest": "^26.6.3",     "next-page-tester": "^0.24.2"   },   "jest": {     "testPathIgnorePatterns": [       "<rootDir>/.next/",       "<rootDir>/node_modules/"     ],     "transform": {       "^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest"     },     "moduleNameMapper": {       "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",       "\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"     },     "verbose": true,     "testEnvironment": "jsdom"   }

For anyone having the error coming from styled-jsx selectFromServer function, I fixed the issue by changing .babelrc
I still have another issue to fix but at least the "document not defined" part, I passed.
{
  "presets": ["next/babel"],
  // this is what you're adding:
  "env": {
    "test": {
      "presets": [
        [
          "next/babel",
          {
            "styled-jsx": {
              "babel-test": true
            }
          }
        ]
      ]
    }
  }
}


Upgrade torbrowser to v5.0.6

Updated sha256

https://github.com/caskroom/homebrew-cask/pull/15928

Sorry. I swear I thought this needed updating.


License issue after trial

Bug description
I upgraded from CE to EE and requested my license for free 5 nodes. I had more Environements added than 5 during trial for testing. The trial expired with more than 5 nodes added.
After login I'm presented to enter a license key and not being able to remove any additional nodes to get down to 5 nodes again. I'm stuck here. Entering the requested license results in "Trial license can not be applied when there are existing licenses".

How to go on from here without downgrading to CE, removing nodes and upgrade to EE again?
Expected behavior
Able to login and have first 5 nodes managable and remove additional envs.
Portainer Logs
#docker-compose logs
portainer  | 2023/03/19 01:24PM INF main.go:590 > encryption key file not present | filename=portainer
portainer  | 2023/03/19 01:24PM INF main.go:620 > proceeding without encryption key |
portainer  | 2023/03/19 01:24PM INF github.com/portainer/portainer-ee/api/database/boltdb/db.go:124 > loading PortainerDB | filename=portainer.db
portainer  | 2023/03/19 01:24PM INF github.com/portainer/portainer-ee/api/cloud/cluster_setup.go:82 > starting cloud cluster setup service |
portainer  | 2023/03/19 13:24:00 server: Reverse tunnelling enabled
portainer  | 2023/03/19 13:24:00 server: Fingerprint XX:XX:XX:XX:XX:XX:XX:XX
portainer  | 2023/03/19 13:24:00 server: Listening on <IP_ADDRESS>:8000...
portainer  | 2023/03/19 01:24PM INF main.go:924 > starting Portainer | build_number=27973 go_version=1.19.4 image_tag=linux-arm64-2.17.1 nodejs_version=18.14.2 version=2.17.1 webpack_version=5.65.0 yarn_version=1.22.19
portainer  | 2023/03/19 01:24PM INF github.com/portainer/portainer-ee/api/http/server.go:404 > starting HTTPS server | bind_address=:9443
portainer  | 2023/03/19 01:24PM INF github.com/portainer/portainer-ee/api/http/server.go:389 > starting HTTP server | bind_address=:9000
Steps to reproduce the issue:

Add 5 nodes free license, resulting in a trial on a fresh insall
Add more then 5 nodes
Let license expire
Being stuck

Technical details:

Portainer version: 2.17.0 EE
Docker version (managed by Portainer): Docker version 23.0.1, build a5ee5b1dfc
Kubernetes version (managed by Portainer): -
Platform (windows/linux): Arch Linux
Command used to start Portainer (docker run -p 9443:9443 portainer/portainer): docker-compose up -d
Browser: -
Use Case (delete as appropriate): Using Portainer at Home
Have you reviewed our technical documentation and knowledge base? Yes

Additional context
None

@Xeroxxx
Thank you for the information.  I am going to further investigate.  I will update you as I learn more.
Thanks!

@Xeroxxx
Can you join our Community Slack and send me the email address you are registered with for your License:  https://join.slack.com/t/portainer/shared_invite/zt-190q9nm5v-uT0p0WFkn~K1yv2QlnHJNQ
Thanks!

@Xeroxxx
Can you join our Community Slack and send me the email address you are registered with for your License: https://join.slack.com/t/portainer/shared_invite/zt-190q9nm5v-uT0p0WFkn~K1yv2QlnHJNQ
Thanks!

Done.

@Xeroxxx
Workaround:
[1] Support creates a temporary One-off License
[2] Enter One-off License
[3] Delete node(s) as needed
[4] Submit Take 5 Form for 5 Nodes Free License:  https://www.portainer.io/take-5
[5] Enter 5NF License
Thanks!


Not Working

Just rooted my LG C3 TV, but the screensavers arent working. I click on Test and its just fireworks like before.
I actually want to replace those bright colorful artsy screensavers that appear after some time but they only appear when i am (not) using my PC connected via HDMI. I wish i could use other pictures or at least have firefowrks screensaver instead of artsy colors while using HDMI input. I also tried older app this is based on. and that one is also not working.

also have the same issue. any recommendation?


Display Active and Critical cases!

add active and critical cases as well
covid19india.org is great website to scrape these datas

Yeah I had considered it previously. The are two problems with scraping data from covid19india.org

It is not a government website so the accuracy of the data is not guaranteed.
The website is being developed actively and they are making changes very frequently (almost daily) which is great but this means that my scraper will also fail frequently and it will eventually lead to bad user experience.

Your feedback is very valuable. I will look into it and see if I can come up with any alternate way.
Regards.


Compile also with Java 13 on CI

This adds compilation and maven checks with Java 13 on CI.
This also restores running maven checks on Java 8 that were removed
in f5b8496e0ff8db55d593f5cb86b0e6989e436d8f. As long as we support Java
8 for development, it is better to run check on 8 too.

Will it affect CI build times?

Will it affect CI build times?

It is done in parallel so it shouldn't.

Java 13 takes 21 minutes, 11 takes 20 minutes, 1.8 takes 17.5 minutes. Interesting.

Yes, this adds ~40 minutes of concurrent work.


optimize: SDK bundle size by ~100kb

We use Safe Wallet SDK in our commercial Web3 application.
The main problem thus far has been huge bundle size.
After deeper investigation, I found out that inside SDK whole ethers package was imported.
Moreover, ethers itself isn't architected in the way so it can be tree shaken.
Given that SDK only uses ethers in a few places (message hashing and function data encoding), I've decided to migrate to alternative viem which comes with much better TypeScript support and most importantly, the whole package is 3x smaller and optimized for tree shaking.
After testing these changes in our production, we experienced a significant drop from 504kb to 359kb in bundle size.
I expect other apps to have similar result. (100 - 150kb drop depending on bundler configuration)

I have read the CLA Document and I hereby sign the CLA

recheck

Hey, could you please revert all changes to the package.json and add a changeset instead? There's a comment above from the changeset bot that contains the instructions :)

Appreciate the fast reply @mmv08. Changeset has been added.

Hey all, just wondering what the latest was on this PR?

@hammeiam PR waiting review. Feel free to subscribe to PR to get updates as we progress.

when can we expect this to ship? it seems like it's been approved 2 weeks ago

cc @yagopv @dasanra  @DaniSomoza


Fix for 157 - Unarmed graze damage

Type

[ ] Bug fix
[ ] Feature
[ ] Refactor
[ ] Other (please describe):

Description
Updated the graze formula fall back for when the base damage formula doesn't include dice.
Related Issue
Closes #157
How Has This Been Tested?
Locally rolling unarmed attacks and standard attacks
Screenshots (if applicable)
Add screenshots or GIFs that help illustrate the changes, especially if they affect the UI or user-facing aspects of the system.
Checklist:

[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] My changes do not introduce any new warnings or errors.
[ ] My PR does not contain any copyrighted works that I do not have permission to use.
[ ] I have tested my changes on Foundry VTT version: [insert version here].

Additional context
Add any other context or information here that would be useful for reviewers.

This isn't a full fix, see code comments

My commit fixes the tooltip issue. Did however run into a different (not quite related) bug; If a damage roll has multiple different dice, the tooltip doesn't render those correctly, it just drops anything beyond the first die type.

Did however run into a different (not quite related) bug; If a damage roll has multiple different dice, the tooltip doesn't render those correctly, it just drops anything beyond the first die type.

Interesting 🤔 the dice tooltip is generated by foundry itself and injected into a handlebars template, so it may be an error in the template that's causing the issue. I'll have to check when I have time
The rest looks good to me

Great work Stan! Good solutions, I like everything here.
The multi dice thing can be raised as a separate issue?


groupId for dd-sdk-android in dd-sdk-android-timber POM is wrong

Thanks for taking the time for reporting an issue!
Describe what happened
Include any error message or stack trace if available.
Surfacing this up here for visibility since https://github.com/DataDog/dd-sdk-android/issues/138 was closed. This is a follow-up to that issue (https://github.com/DataDog/dd-sdk-android/issues/138#issuecomment-588288327).
Steps to reproduce the issue:
Describe what you expected:
Additional context

Android OS version:
Device Model:
Datadog SDK version:
Versions of any other relevant dependencies (OkHttp, …):
Proguard configuration:
Gradle Plugins:

Fixed in 1.2.2.


Update minor version of python

Bumping python minor version.
This gives us the latest openssl 1.1.1u on Windows.

Did you update the OpenSSL version for windows on another PR?
Or did I miss it in this PR?

Did you update the OpenSSL version for windows on another PR? Or did I miss it in this PR?

The build scripts ship with python handle the Openssl version on Windows. Python 3.11.4 starts building the newest openssl 1.1.1u for windows.

Did you update the OpenSSL version for windows on another PR? Or did I miss it in this PR?

The build scripts ship with python handle the Openssl version on Windows. Python 3.11.4 starts building the newest openssl 1.1.1u for windows. It's the first bullet point here:
https://docs.python.org/release/3.11.4/whatsnew/changelog.html#python-3-11-4

Awesome


Twitter failed with error 404

Just reporting that my Twitter feeds that were working previously has stopped working with the following error message as of today.
HttpException: https://twitter.com/i/api/graphql/hc-pka9A7gyS3xODIafnrQ/UserByScreenName?variables=%7B%22screen_name%22%3A%22planetside2%22%2C%22withHighlightedLabel%22%3Atrue%7D resulted in 404 Not Found  in \lib\contents.php line 203

\index.php(7): RssBridge->main()
\lib\RssBridge.php(15): RssBridge->run()
\lib\RssBridge.php(94): DisplayAction->execute()
\actions\DisplayAction.php(125): TwitterBridge->collectData()
\bridges\TwitterBridge.php(238): TwitterClient->fetchUserTweets()
\lib\TwitterClient.php(22): TwitterClient->fetchUserInfoByScreenName()
\lib\TwitterClient.php(115): getContents()
\lib\contents.php(203)

Query string: action=display&bridge=TwitterBridge&context=By+username&u=planetside2&_cache_timeout=3600&format=Atom
Version: dev.2023-03-22
Os: Windows
PHP version: 8.2.4

Closing as i can see it's a duplicate.


Inlcude files to go with the lib?

I'm on Windows and I've build with CMAKE and MSVC to see if there was any difference. I get a ZXing.lib , but I don't get any "include" headers to go with it?
Do I pull out all the headers from main/src and the keep the children directories?
Do I only need the top level ones?
Do I just need a select few?
Is there a tutorial on how to include this in another project somewhere?

Just because it might not be obvious where to find the headers exactly. The list starts here and ends in line 190.
Did you find a solution to your problem?

Sorry,
cmake --install did nothing, but I was able to find and copy the header files from the CMakeList file in core.
Thank you for your help.


run  automatic segmentation on a volume using the CLI with  'Automatic Segmentation Settings', save the 'commited_objects' layer to file

Hi!
I started using the micro_sam.annotator_3d script to create embeddings. I was wondering if there is a way to also perform the Automatic Segmentation on a volume using the CLI. In other words suply the script with the Automatic Segmentation Settings and save the commited_objects layer to a file i.e. a tif.
This way the script could take the existing embeddings folder (or create them if not exist) as it does now but also run the automatic segmentation.
I would find this particularly useful if one has like me, many image volumes for which I already know suitable segmentation settings.
Apologies if this is already implemented. If it is, I would love to know how to do it.
Many thanks
Jorge

Hi @jazberna1,
Thanks for your interest in micro-sam. Just to clarify, you would like to run automatic segmentation using CLI with custom parameters for automatic segmentation and store the segmentations as tif, right?

Nice, thanks for the clarification.
This is now implemented in our automatic segmentation CLI for 3d volumes as well (see micro_sam.automatic_segmentation -h for details), where it accepts -i / --input_path for the input volume, and stores the outputs at -o / --output_path specified by the user.

Hi,
That's great. I'm just wondering how can I set the Automatic Segmentation Settings i.e. the 'min_object_size'
Jorge

Ahha I see.
We allow parsing all the parameters for automatic segmentation via the CLI supported by the generate method (for AIS and AMG). As an example, you can pass them using --min_mask_region_area 10 ... for automatic segmentation using AMG.
PS. I discussed this briefly in image.sc as well.
I hope that answers your question.

Hi @anwai98 !
Thanks! that worked very well.
closing this ticket.


Adding sort function to all columns in topic_entity_tag and topic_entity_tag_source tables in Topic/Entity Editor display

Thanks @azurebrd

Good catch! Fixed. Thanks @valearna


Fix/aromatic "[as]" in smiles

I think some of these issue might be from me some warning suppressions (void)yyscanner and register keywords came back, I might have missed them in the original yy file.  I'm going to have to spend some cycles checking this.

sorry, was looking at the files first and missed you last comment here.
Yes: some of these are from the flex/bison output. I think we're probably better off just suppressing warnings for those files.

Ok, fix the dummyLabel, I'll merge it and then squash the warnings in my next go around.

done


[docs] update keybindings with new zoom additions

Added in https://github.com/onivim/oni2/pull/1629

Guess we don't need to wait for CI just for docs...


Haskell: "unable to decommit memory: Invalid argument"

Issue description
Post staging merge, lots of Haskell programs print the following errors:
ghc-pkg: unable to decommit memory: Invalid argument
cabal: unable to decommit memory: Invalid argument

Incidentally, it seemed that some Haskell builds were running out of memory (None left on Hydra as I restarted all of the them).
There's a GHC issue mentioning this problem along with a suggested patch: https://ghc.haskell.org/trac/ghc/ticket/12495
@peti, should we apply?
Steps to reproduce
http://hydra.nixos.org/build/39371982/log/raw

There are some information about this issue to grab from the IRC channel.
Apparently the problem is not related to Haskell but to the version of glibc which is fairly recent for the default nixos kernel. So if you upgrade the kernel the error should disappear.
I haven't tested or try to upgrade the kernel but instead was hoping the issue would disappear with some recent nix-channel updates (the unstable channel). But so far it hasn't.  I still hope for a fix to come up in a near future.

Well I probably misunderstood the messages from the IRC channel. Initially this happens to me on nixos only but it has just started to show up with nixpkgs in another linux distro after updating the nix channel:
> nix-channel --list
nixpkgs https://nixos.org/channels/nixpkgs-unstable

Also see @ttuegel's post on nix-dev: http://lists.science.uu.nl/pipermail/nix-dev/2016-September/021556.html
Worked for me.
Still an issue given that hydra runs on 4.4.x…

@PierreR, the glibc, or binutils, or hardening flags could all be causing this but using kernel 4.7 does fix it.

Personally, I'd rather configure the build with  --disable-large-address-space than patch the script. IMHO that's a cleaner solution.
Does anyone understand the implications of this setting, i.e. does it reduce performance in any significant way etc.?

Does anyone understand the implications of this setting, i.e. does it reduce performance in any significant way etc.?

The idea is to reduce the number of system calls. With --enable-large-address-space, GHC mmaps a 1TB region of virtual memory and does its own allocations there. Disabling this feature will incur a small performance penalty when allocating.
GHC has a different implementation of --enable-large-address-space if it doesn't detect MADV_FREE, so I think forcibly disabling that check in the configure script is the right way to go. That way there is no performance penalty (even if it is small).

forcibly disabling that check in the configure script is the right way to go

OK. Does anyone have a patch ready that accomplishes this? The patch from https://ghc.haskell.org/trac/ghc/ticket/12495 goes a different route which doesn't feel ideal.


On Solaris use standard conforming getpwnam_r().

From Solaris getpwnam(3C) man page:
[..]
Standard conforming
cc [ flag...] file... -D_POSIX_PTHREAD_SEMANTICS [ library... ]
   int getpwnam_r(const char *name, struct passwd *pwd, char *buffer,
        size_t bufsize, struct passwd **result);

[..]
Solaris 2.4 and earlier releases provided  definitions  of  the  getpw-
nam_r()  and  getpwuid_r()  functions as specified in POSIX.1c Draft 6.
The final POSIX.1c standard changed the interface for these  functions.
Support  for  the  Draft 6 interface is provided for compatibility only
and might not be supported in future  releases.  New  applications  and
libraries should use the standard-conforming interface.

@freerdp-bot test.


Update with @objc

This was needed to get it to run

Hi Jille
Sorry for not responding earlier. Thanks for the contribution! It'll take me a few more days to test it though. Seems like an issue with Swift 3 vs 4 @objc inference

Included as part of #6/#7


ADB is the tool, USB debugging is the connection

ADB is Android Debug Bridge and allows the USB debugging connection (or over WiFi, which is a more complex topic later on.
Basically you need a debugging connection to the phone either as USB or WiFi

Can one of the admins verify this patch?


Fixed social icons click while rotate animation

PR Description 📜
ISSUE NUMBER #114
Demo Video - Showing the working changes made in social Icon in footer
https://github.com/ChromeGaming/Squard-line/assets/144807559/7799ba7a-948d-400e-ac1c-d3a7c789b400
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes # Bug Fixes.
Summary- While the background layer was getting rotated , the social icons were unresponsive and were not redirecting to the target , changed the code to optimize that bug.
No other components were disturbed in making this change.

Mark the task you have completed ✅

[x ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x ] I have performed a self-review of my own code or work.
[x ] I have commented my code, particularly in hard-to-understand areas.
[x ] My changes generates no new warnings.
[x ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ ] I have added screenshot for review.

## Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Add issue number, demo video and don't forget resolve conflict file

Done all the necessary changes please have a look.


Added should rebuild callback to ValueListenableBuilder

Description
Added should rebuild callback to ValueListenableBuilder
Makes it easier to write performant flutter code using the ValueListenableBuilder, similar purpose to the selector of the provider package
Related Issues
None as far as I know
Tests
I added the following tests:
Check whether shouldRebuild is called
Checks for whether shouldRebuild is honored
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

What is the motivation for this change? This seems a little out because the purpose of the ValueListenableBuilder is to always keep the widget in sync with the value listenable. Now what's shown in the widget would depend on the history of the valuelinstenable?
If you don't want to rebuild, just wrap your valuelistenable in a valuelistenable that only fires for the value changes you want to rebuild on, maybe?

The motivation is that this allows for more control on the users side of the valuelistenable.
For instance, with your suggestion the code that provides the valuelistenable needs to change if any of its users want to do something special with it.
A good example is having a valuelistenable of a list, some users might care about the list changing to a new list but others might just care about whether the length stays the same.
So this change just gives some extra tools to make it simpler to optimize out rebuilds that are not needed By basically allowing you to override the equality comparison of the values on the using side.

With this change the code that uses the ValueListanableBuilder still has to change to provide that additional callback. Instead of doing that, it could just wrap the provided ValueListenable in another one that implements that functionality without adding another flag to this widget.
I am currently not seeing the value right now for this to be part of the framework. If you really, really wanted this you could also just copy the implementation of the ValueListanableBuilder into your code and add it there. The implementation is rather simple.

Hmm I understand your point now.
Do you think it would make sense to add a valuelistenable class that listens to another and implements the behaviour of this PR?
Because my main objective of this is making it easier to optimize the number of rebuilds without everyone needing to make something like this from scratch.

Because my main objective of this is making it easier to optimize the number of rebuilds without everyone needing to make something like this from scratch.

I would recommend publishing it as a separate pub package then. People can use it without needing to re-invent the wheel.


Update UserGuide to fix UG bugs

Codecov Report
Base: 68.52% // Head: 68.52% // No change to project coverage :thumbsup:

Coverage data is based on head (586c545) compared to base (941e681).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #184   +/-   ##
=========================================
  Coverage     68.52%   68.52%
  Complexity      505      505
=========================================
  Files            86       86
  Lines          1614     1614
  Branches        157      157
=========================================
  Hits           1106     1106
  Misses          450      450
  Partials         58       58

Impacted Files
Coverage Δ

.../main/java/gim/logic/commands/GenerateCommand.java
47.45% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


"riscv32imc_zicsr_zifencei-esp-espidf" unknown target

I was trying to compile my project https://github.com/mawoka-myblock/td-free, but it's not possible anymore as the target is supposedly not found. Logs can be found in the GitHub action: https://github.com/mawoka-myblock/td-free/actions/runs/12436048066/job/34723097689#step:12:24200
And I've tried that on two different PCs and on in the cloud on GitHub actions. I pinned the nightly to version to the 01.12.2024 one, as it's supposed to work with that, but it doesn't. Latest nightly version produces the same result.
Compiling with "cargo +esp" doesn't help either.  I've also tried the nightly version from November 1st, and same problem.

It's not a compiler problem but one of target detection in the cc-rs / cmale-rs dependencys. You can either pin cc-rs to an old enough version or otherwise you would need to use the git versions of esp-idf-sys-/hal/svc.

From memory the behaviour change in cc-rs was introduced in cc-rs v1.1.32. So a older version there should work

can you show what actual cc-rs version is in your dependency graph via cargo tree ? I think you need to set cc = "=1.1.20". Notice the = otherwise its not a "pinned" version.

Ah, yes! That did the trick! Thank you! Do I keep this issue open? Or is this not a real issue? IMO it is, as it breaks current setups.

It is already fixed in what we can do inside esp-idf-sys gith repo and cmake-rs, but as you might notice that was a semver incompatible "breaking" change in cc-rs.
There is nothing we can do here besides people themself pinning the cc-rs crate, since its a transitive dependancy. So yeah you can use our git branches without the pinning or using the normal crates release version.

Ah, okay. Thanks!


Is there a way to force a page reload even though the path remains the same?

I'm having trouble with something on my end...while I figure out my own issue, i was wondering if there is a way to force a page refresh by passing a "force" parameter to redirectWithToast.
Thanks
Deep

You can achieve this by using the reloadDocument prop in both remix's Link and Form component: https://remix.run/docs/en/main/components/form#reloaddocument


MF-701: Use adapters/services graceful shutdown to close all underlying servers/clients used by adapters/services

What does this do?
Adds mechanism for graceful shutdown of underlying servers.
(Currently http and grpc are covered and some others like writers, ES listeners will be covered with later commits.)
Which issue(s) does this PR fix/relate to?
Resolves #701
List any changes that modify/break current functionality
Some log messages are slightly changed to follow code changes.
This potentially could be the issue if for example some external tool (like log parser) depends on logs that have been changed.
Have you included tests for your changes?
TBD
Did you document any new/modified functionality?
No
Notes
Common logic for monitoring and graceful shutdown is placed in 'internal/pkg/server' package.
Not sure if 'servers' is good name for this package as I'm planning also to use logic from that package for graceful termination of nats/es subscriptions.

Codecov Report

Merging #1030 into master will decrease coverage by 0.77%.
The diff coverage is 19.27%.

@@            Coverage Diff             @@
##           master    #1030      +/-   ##
==========================================
- Coverage   79.16%   78.39%   -0.78%
==========================================
  Files          95       98       +3
  Lines        6610     6693      +83
==========================================
+ Hits         5233     5247      +14
- Misses       1065     1134      +69
  Partials      312      312

Impacted Files
Coverage Δ

internal/pkg/server/http.go
0% <0%> (ø)

internal/pkg/server/grpc.go
0% <0%> (ø)

internal/pkg/server/monitor.go
100% <100%> (ø)

things/service.go
88.97% <0%> (-1.48%)
:arrow_down:

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 f785116...37350f9. Read the comment docs.

Still WIP?

Looks very useful, but also big and impacting... We'll have to test thoroughly, can break the whole Mainflux otherwise :)

Still WIP?

Yes it is, so far this PR adds graceful shutdown only for http and grpc servers. WIP is for:

covering modifications with tests
adding mechanism for graceful shutdown to event source observers, coap server, writers, other nats subscriptions (and other things marked with TODO in pr)

If you want I can close this PR and reopen it once I complete all planned things.

big and impacting... We'll have to test thoroughly, can break the whole Mainflux otherwise :)

I totally agree, that is one of the reasons why this is still draft. :)
As there are more things to add/modify (in order to resolve #701) I'm afraid that PR will be only bigger :(
Do you have any suggestion what should I do to make PR easier for review? :)
What comes to my mind is to create separate commit per each service and server modification.

Do you have any suggestion what should I do to make PR easier for review? :)
What comes to my mind is to create separate commit per each service and server modification.

No, this looks good so far, please proceed - I think it will be easier for you to change everything at once as it is dependent and interleaved.
We just need a good set of test and also once it is finished we'll need:

A good and careful reviews
Testing of the branch prior to merge

I would propose to close this one dues the high impact and inactivity, and let @antonio-salieri open new PRs with smaller increments if he wants.