Integration does not collect individual inverter data for Envoy-S non metered.

For envoy-s non metered the integration only collects data from api/v1/production but not from api/v1/production/inverters.
Might be caused by the 401 at startup for production.json
home-assistant-v012-beta.log

Yes this indeed originates from the initial 401 Error which causes a wrong classification of the gateway.
Will have to improve error handling with a 401 response during model detection.
Regarding the initial 401 response, do you by any chance have a second integration running that uses token based authentication?
Still investigating the reason of the initial 401 response.

No other token based integration active. What I note is that the use of
ENDPOINT_URL_CHECK_JWT = "https://{}/auth/check_jwt"

to validate the token with the envoy has disappeared.  Before you can access production.json you need to validate the token against auth/check_jwt on the envoy. The api/v1/production does not need token validation and it even seems when hitting it first validates the token too. But think you need to store the session cookie in either case.

The working one has this logic that is called right after obtaing token from enphase (or from file for that matter):
    async def _refresh_token_cookies(self):
        """
        Refresh the client's cookie with the token (if valid)
        :returns True if cookie refreshed, False if it couldn't be
        """
        # Create HTTP Header
        self._authorization_header = {"Authorization": "Bearer " + self._token}

        # Fetch the Enphase Token status from the local Envoy
        token_validation = await self._async_post(
            ENDPOINT_URL_CHECK_JWT.format(self.host)
        )

        if token_validation.status_code == 200:
            # set the cookies for future clients
            self._cookies = token_validation.cookies
            return True

Did some more testing and added _refresh_token_cookies to gateway_reader and call it from getData
        # Check if the Secure flag is set
        if self.use_token_auth:
            await self._enphase_token.prepare()
            await self._refresh_token_cookies()

_refresh_token_cookies is code from original
    async def _refresh_token_cookies(self):
        """
        Refresh the client's cookie with the token (if valid)
        :returns True if cookie refreshed, False if it couldn't be
        """
        # Create HTTP Header
        #self._authorization_header = {"Authorization": "Bearer " + self._enphase_token.token}

        # Fetch the Enphase Token status from the local Envoy
        token_validation = await self._async_post(
            ENDPOINT_URL_CHECK_JWT.format(self.host)
        )

        if token_validation.status_code == 200:
            # set the cookies for future clients
            self._cookies = token_validation.cookies
            return True

and had to uncomment the _async_post again and change it slighly
    async def _async_post(self, url, retries=2, data=None, raise_for_status=True, **kwargs):
        """Post using async.

        Parameters
        ----------
        url : str
            HTTP POST target url.
        retries : int, optional
            Number of retries to perform after the initial post request fails.
            The default is 2.
        raise_for_status : bool, optional
            If True raise an exception for non 2xx responses.
            The default is True.
        **kwargs : dict, optional
            Extra arguments to httpx client.post().

        Returns
        -------
        r : http response
            HTTP POST response object.

        """
        client = httpx.AsyncClient(verify=False,  timeout=10.0)
        async with client:
            for attempt in range(1, 4):
                _LOGGER.debug(f"HTTP POST Attempt: #{attempt}: {url}")
                try:
                    r = await client.post(url,
                    headers=self._auth_header,
                    cookies=self._cookies,
                    data=data,
                    timeout=30.0,
                    **kwargs)
                    _LOGGER.debug(f"HTTP POST {url}: {r}: {r.text}")
                    _LOGGER.debug(f"HTTP POST Cookie: {r.cookies}")
                    if raise_for_status:
                        r.raise_for_status()
                except httpx.HTTPStatusError as err:
                    status_code = err.response.status_code
                    _LOGGER.debug(
                        f"Received status_code {status_code} from Envoy."
                    )
                    if status_code == 503:
                        raise RuntimeError(
                            "Envoy Service temporary unavailable (503)"
                        )
                    else:
                        raise
                except httpx.TransportError:
                    if attempt >= retries + 1:
                        raise
                    else:
                        await asyncio.sleep(attempt * 0.15)
                else:
                    return r

That brought the individual inverter data into the log
2023-07-04 21:32:18.061 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET Attempt #1: https://<IP_ADDRESS>/api/v1/production/inverters: Header:{'Authorization': 'Bearer <token>'}
2023-07-04 21:32:18.295 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Fetched from https://<IP_ADDRESS>/api/v1/production/inverters: <Response [200 OK]>: [
  {
    "serialNumber": "122219085275",
    "lastReportDate":<PHONE_NUMBER>,
    "devType": 1,
    "lastReportWatts": 1,
    "maxReportWatts": 309
  },
  {
    "serialNumber": "122219085086",
    "lastReportDate":<PHONE_NUMBER>,
    "devType": 1,
    "lastReportWatts": 1,
    "maxReportWatts": 338
  },

There's still a lot of rough edges but it confirms the missing token validation with the envoy and storing the envoy session cookies. Above is just proof of concept, it probably needs better integration.

Hey,
thanks for the debugging work. Will definitely include the referesh_token_cookies logic back into the code with an upcoming update. I need to do some initial bug fixing for that update on the weekend first though.
Nevertheless I still don't really understand why authenticating using the authentication header isn't working in your case.
Would you be willing to add something like: _LOGGER.debug(f"Received error from Gateway: {err}") to line 283 of enphase_geteway.py? Maybe that way we can get some information why the 401 error is raised.
Would need you to comment await self._refresh_token_cookies() for the time of the try.
Your help is much appreciated :)

Below the result of that test. Doesn't add any new information other then confirming the 401. The overall flow for these protected pages is that a post is done to the jwt page using the token and the cookie from that is used in subsequent get's.
2023-07-05 09:34:33.837 DEBUG (MainThread) [custom_components.enphase_gateway.enphase_token] New Enphase owner Token valid until: 2024-07-04 07:34:33+00:00
2023-07-05 09:34:33.838 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Setup Enphase gateway
2023-07-05 09:34:33.838 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET Attempt #1: https://<IP_ADDRESS>/production.json: Header:{'Authorization': 'Bearer <token<'}
2023-07-05 09:34:34.126 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Received status_code 401 from Gateway
2023-07-05 09:34:34.127 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Received error from Gateway: Client error '401 Unauthorized' for url 'https://<IP_ADDRESS>/production.json'
For more information check: https://httpstatuses.com/401

That also leads to a logic next step. If a 401 is ever received and the token is still valid, a new session registration to the jwt could be attempted first. Now code goes out to get new token on each 401 while post to jwt might do if time has not expired on token. Only when expiry is within next month or go go out and grab new token.

That's a pity.
Would you be willing to do one last test and add _LOGGER.debug(f"Response: {r}") to line 280 just below the GET request?
You are right. Refreshing the cookies first before getting a new token should be the default 401 resolution strategy. Will add this behavior back in.

Added the debug statement and got:
2023-07-05 14:33:46.006 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Setup Enphase gateway
2023-07-05 14:33:46.006 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Enpoint {}://{}/production.json
2023-07-05 14:33:46.007 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET Attempt #1: https://<IP_ADDRESS>/production.json: Header:{'Authorization': 'Bearer <token>'}
2023-07-05 14:33:46.237 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Response: <Response [401 Unauthorized]>
2023-07-05 14:33:46.237 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Received status_code 401 from Gateway
2023-07-05 14:33:46.237 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Received error from Gateway: Client error '401 Unauthorized' for url 'https://<IP_ADDRESS>/production.json'
For more information check: https://httpstatuses.com/401

Just to be clear, my tokens are based on a Enphase Home owner account, not an installer account. And I'm using an Envoy-S standard (not metered)

Did some more testing and using a get (not post) to the jwt page and saving the returned session cookie (if returned) let me access the production.json. In _update_endpoint, determine if it's the jwt page and if cookie came back store it.
    async def _update_endpoint(self, key, url):
        """Fetch the given endpoint and update the endpoint_results dict."""
        formatted_url = url.format(self._protocol, self.host)
        response = await self._async_get(
            formatted_url, follow_redirects=False
        )
        if url == ENDPOINT_URL_CHECK_JWT:
            _LOGGER.debug("Maybe Refresh cookies")
            if response.status_code == 200 and response.cookies:
                # set the cookies for future clients
                _LOGGER.debug("Refresh cookies")
                self._cookies = response.cookies
        self.endpoint_results[key] = response

It required to change the gateway_detection_endpoints and gateway_endpoints lists for the envoy_model_s to have as first the jwt.
GATEWAY_DETECTION_ENDPOINTS = {
    "ENVOY_MODEL_S": {
        "envoy_jwt": ENDPOINT_URL_CHECK_JWT,
        "production_json": ENDPOINT_URL_PRODUCTION_JSON,
    },

and
    'ENVOY_MODEL_S_STANDARD': {
        "envoy_jwt": ENDPOINT_URL_CHECK_JWT,
        "production_json": ENDPOINT_URL_PRODUCTION_JSON,
        "production_v1": ENDPOINT_URL_PRODUCTION_V1,
        "ensemble_json": ENDPOINT_URL_ENSEMBLE_INVENTORY,
        "home_json": ENDPOINT_URL_HOME_JSON,
    },

To get all data flowing for Envoy Standard the production function needs to be changed to use the production_v1 and not the production_json data. For Standard Envoy-S production.json does not contain actual production data
        elif self.gateway_type == "ENVOY_MODEL_S_STANDARD":
#            raw_json = self.endpoint_results["production_json"].json()
#            production = raw_json["production"][0]["wNow"]
            raw_json = self.endpoint_results["production_v1"].json()
            production = raw_json["wattsNow"]

After these changes (just proof of concept, may be a better place to do this) the log reflects validation the token and storing the session cookie (see debug entries maybe refresh cookies and refresh cookies:
Setup Enphase gateway
Enpoint {}://{}/auth/check_jwt
HTTP GET Attempt #1: https://<IP_ADDRESS>/auth/check_jwt: Header:{'Authorization': 'Bearer eyJraWQiOiI3ZDEw
Response: <Response [200 OK]>
Fetched from https://<IP_ADDRESS>/auth/check_jwt: <Response [200 OK]>: <!DOCTYPE html>
Valid token.

Maybe Refresh cookies
Refresh cookies
Enpoint {}://{}/production.json
HTTP GET Attempt #1: https://<IP_ADDRESS>/production.json: Header:{'Authorization': 'Bearer eyJraWQiOiI3ZDE
Response: <Response [200 OK]>
Fetched from https://<IP_ADDRESS>/production.json: <Response [200 OK]>: {"production":[{"type":"inverters",
Enpoint {}://{}/auth/check_jwt
HTTP GET Attempt #1: https://<IP_ADDRESS>/auth/check_jwt: Header:{'Authorization': 'Bearer eyJraWQiOiI3ZDEw
Response: <Response [200 OK]>
Fetched from https://<IP_ADDRESS>/auth/check_jwt: <Response [200 OK]>: <!DOCTYPE html>
Valid token.

Maybe Refresh cookies
Enpoint {}://{}/production.json
HTTP GET Attempt #1: https://<IP_ADDRESS>/production.json: Header:{'Authorization': 'Bearer eyJraWQiOiI3ZDE
Response: <Response [200 OK]>
Fetched from https://<IP_ADDRESS>/production.json: <Response [200 OK]>: {"production":[{"type":"inverters",
Enpoint {}://{}/api/v1/production
HTTP GET Attempt #1: https://<IP_ADDRESS>/api/v1/production: Header:{'Authorization': 'Bearer eyJraWQiOiI3Z
Response: <Response [200 OK]>
Fetched from https://<IP_ADDRESS>/api/v1/production: <Response [200 OK]>: {

When my test PC went into hibernation and I woke it again couple of hours later, the above mechanism picked-up the new sessionid automatically.
2023-07-05 15:38:38.542 DEBUG (MainThread) [custom_components.enphase_gateway] Finished fetching envoy Envoy<PHONE_NUMBER>41 data in 8.132 seconds (success: True)
2023-07-05 19:51:57.049 DEBUG (MainThread) [custom_components.enphase_gateway.enphase_token] Checking Enphase token: <token>
2023-07-05 19:51:57.052 DEBUG (MainThread) [custom_components.enphase_gateway.enphase_token] Token is populated: <token>
2023-07-05 19:51:57.053 DEBUG (MainThread) [custom_components.enphase_gateway.enphase_token] Token expires at: 2024-07-04 12:57:06+00:00 UTC
2023-07-05 19:51:57.053 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Enpoint {}://{}/auth/check_jwt
2023-07-05 19:51:57.056 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET Attempt #1: https://<IP_ADDRESS>/auth/check_jwt: Header:{'Authorization': 'Bearer <token>'}
2023-07-05 19:51:57.731 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Response: <Response [200 OK]>
2023-07-05 19:51:57.733 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Fetched from https://<IP_ADDRESS>/auth/check_jwt: <Response [200 OK]>: <!DOCTYPE html>
Valid token.

2023-07-05 19:51:57.738 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Maybe Refresh cookies
2023-07-05 19:51:57.739 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET {}://{}/auth/check_jwt: <Response [200 OK]>: <!DOCTYPE html>
Valid token.

2023-07-05 19:51:57.740 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET Cookie: <Cookies[<Cookie sessionId=j2bQ9er0w4iWEqygNW0JoSyI85gC9Ndq for <IP_ADDRESS> />]>
2023-07-05 19:51:57.740 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Refresh cookies
2023-07-05 19:51:57.742 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Enpoint {}://{}/production.json
2023-07-05 19:51:57.743 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET Attempt #1: https://<IP_ADDRESS>/production.json: Header:{'Authorization': 'Bearer <token>'}
2023-07-05 19:51:58.197 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Response: <Response [200 OK]>
2023-07-05 19:51:58.197 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Fetched from https://<IP_ADDRESS>/production.json: <Response [200 OK]>: {"production":[{"type":"inverters","activeCount":24,"readingTime":1688579402,"wNow":553,"whLifetime":133965}],"storage":[{"type":"acb","activeCount":0,"readingTime":0,"wNow":0,"whNow":0,"state":"idle"}]}
2023-07-05 19:51:58.200 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] Enpoint {}://{}/api/v1/production
2023-07-05 19:51:58.201 DEBUG (MainThread) [custom_components.enphase_gateway.gateway_reader.gateway_reader] HTTP GET Attempt #1: https://<IP_ADDRESS>/api/v1/production: Header:{'Authorization': 'Bearer <tiken>'}

Long story for: I need this for the Envoy-S standard. And it seems different for yours

Thanks for the update. Unfortunately it doesn't provide any new information why bare token authentication fails.
Implied that the token is valid authentication using just the token in the header should work. But in some cases it doesn't seem to work. Found a similar case on the Enphase Forum.
Using the session cookie from the jwt page seems to be the workaround for this.
Will re implement the use of cookies.

You may want to have a look at this one as he has many of the issues solved you are looking at too


Remove width & height from get_visible_nodes API.

Depends on #141.

Merge requested by authorized user SirVer. Merge queue now has a length of 1.


Add release schemas as a submodule

An early version of a schema may be found here:

https://github.com/opendifferentialprivacy/opendp-schemas

Determine whether this is usable ^ beyond DP Creator--for other apps, etc.

What would be a minimal schema?

close for #811


wip: update(userspace/engine): align %container.info defaults with new rules style

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area engine
What this PR does / why we need it:
This PR aims to align the %container.info default substitution (ie. when -p is not used) with the latest rules style.
Special notes for your reviewer:
/milestone 0.36.0
Once this gets merged, documentation needs to be updated :point_down:
https://github.com/falcosecurity/falco-website/blob/master/content/en/docs/outputs/formatting.md?plain=1#L15
Does this PR introduce a user-facing change?:
update!: default substitution for `%container.info` is now equal `container_id=%container.id container_name=%container.name`

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

Needs approval from an approver in each of these files:

OWNERS [leogr]

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

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

Needs approval from an approver in each of these files:

OWNERS [LucaGuerra,leogr]

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


[cloud_firetore] ServerTimestampBehavior implementation details

Related: https://github.com/firebase/flutterfire/issues/8431
Issue
At present, it is not possible to change the server timestamp behaviour of a Document Snapshot. On other platforms such as web, the timestamp behaviour can be modified via the data() method on a snapshot, e.g.:
const data = snapshot.data({ serverTimestamps: 'estimate' });

On Dart however, this is not possible as the underlying native snapshots are first serialised and then reconstructed into a Dart class. This means the underlying native data() method has already been called with the default value (in order to serialise the snapshot) and the native snapshot is lost.
Solutions
Option 1: Pass the behaviour to "Get Options"
This would allow developers to define the behaviour before the query executes, and use the behavioural value during serialisation:
// Example api for demonstration
var snapshot = await FirebaseFirestore.instance.doc('.../...').get(serverTimestamps: 'estimate', source: 'cache');

Option 2: Global options
Provide a global API for a default behaviour across every query
// Example api for demonstration
FirebaseFirestore.instance.settings = Settings(serverTimestamps: 'estimate');

This could be also used alongside option 1.
Option 3: Mimic native (breaking change)
Not recommended as this would be a breaking change, however in order to mimic the native APIs the data() method on a snapshot could be made asynchronous allowing for the native snapshots to return the data when required:
// Currently synchronous
var data = await snapshot.data(serverTimestamps: 'estimate');

Can't we add an optional parameter for the settings in Option 3?
If that's not possible, we should go with Option 1, as it's closest to what the other SDKs do - and is arguably a better API as the behavior of a snapshot should be fixed upon its creation.
While option 2 is arguably a better developer experience for the majority of cases, it's too far from the current behavior of the other SDKs. We could/should create an API proposal for it.

How could I get the estimate timestamp when working with streams coming from firebase?

Hello @andirihs, it's not currently supported by the native SDKs, so FlutterFire doesn't support it either.


kinect-audio-setup: init at v0.5

Motivation for this change
kinect-audio-setup is a small project with a single binary who's role is to upload a Kinect firmware on Kinect v1 devices.
This tool will automatically flash my Kinect using a udev rule.
I haven't tested yet whether the flash persists after a reboot.
The firmware must be downloaded manually from Microsoft. This information is provided using the requireFile derivation.
To use this in your configuration, add the following:
{
  # ...
  services.udev.packages = [ pkgs.kinect-audio-setup ];
  # ...
}

The supported devices by kinect-audio-setup are:

045e:02ad
045e:02bb (this is one that I use and tested)

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 121881 at f3513262 run on aarch64-linux 1

1 package failed to build:

kinect-audio-setup

2 suggestions:

warning: missing-patch-comment
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/os-specific/linux/kinect-audio-setup/default.nix:40:5:
   |
40 |     ./libusb-1-import-path.patch
   |     ^

warning: missing-patch-comment
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/os-specific/linux/kinect-audio-setup/default.nix:41:5:
   |
41 |     ./udev-rules-extra-devices.patch
   |     ^

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement.


[Technical Discussions-Media Push] OpenTracing

when: bi-monthly
Day: Wednesday
Time: 8 am PDT
Calendar
Twitter description
Answers: Why should I join and contribute to this project?

left a msg, 2021 minutes not updated. Not sure call is active. https://docs.google.com/document/d/1TbeKThAd9Df6IS0S6lz_YsTmxpFqWRmCL2HjbrAyLPQ/edit?pli=1
Tasks: https://github.com/eclipse/microprofile-marketing/issues/412#issuecomment-806167114

Right now I don't believe the calls are happening.
@aeiras do you have permission to remove the calendar entry? Thanks

Hola beautiful Ken!
Tracing has been removed from calendar. If anything changes, please open a new ticket so that we can provide the Zoom Admin access to 2 MicroProfilers and help with media etc push :) Thank you!

@TetianaFTV there is no minutes to place close tickets. Ideally, the minutes are place within 24hrs of the mktg call to allow tracking & self-adding of tasks.
Like that you can take a breather as well. FYI on this ticket.

Considering that we didn't have summary on Community call I wanted last minutes to stay there one extra day for review.
Fresh copy is already here https://docs.google.com/document/d/1fQWUiCInhJni8WhGt2k5WKqb8K6BuhzzWTzqynvX3_U/edit?ts=605e2b4a#heading=h.9u8jnv48mhk9


Create a Walrus site containing the latest binaries and update it automatically

Actually, I just realized: We can put this directly into our docs page: We just need to download the latest binaries, place them into an appropriate directory, and link to them from the docs.


Umami emits "Uncaught TypeError: t.className.split is not a function" exceptions for every click action in svelte-kit app

I think the issue is pretty easy to resolve, but anyone knows the real cause for it?

This is likely the event capturing code. Not sure why but it looks like t is undefined.

@mikecao t comes from this line: https://github.com/mikecao/umami/blob/master/tracker/index.js#L112
you can ease fix the error by replace element.className.split(' ') with element.classList, but I'm not still not sure why className doesn't not exist. isn't it supposed to be a default attribute of a dom element?

FWIW - I see this on every page transition in one of my angular apps; I'm not using any events explicitly. I don't recall seeing it when I first started using umami.

@saschwarz - I mainly tried my commit on a Nuxt.js SPA and it tracked views correctly, so the issue doesn't persist on that.
And in fact, my changes from back then could have not affected this; or at least not the same way, since the tracker used element.className.split(' ') prior to that.
I can try taking a look about why is this happening, since I'm curious as of why className is not defined.

@saschwarz thanks for the information! Something I forgot testing was SVG elements, which might work differently. I have a better idea of what to tackle now, I'll look into a proper solution for that then :)

Hi,
We have updated to v1.25.0 (using docker image ghcr.io/mikecao/umami:postgresql-latest), but we are still seeing the problem, at least in the console:

Page views seem to be tracked, so I'm not sure what's the impact of these errors.

@evilfer Can you check to see what that object t is in the debugger? There is already a check to determine if className is defined, but I guess we need to update to make sure it's a string.

@mikecao FWIW in my case (above), t is an SVG g element and t.className returns an SVGAnimatedString instance.

can we just use classList instead?


[BUG] Closing the App does not exit the CLI

When running something like
fiftyone quickstart

The app is launched in a browser window, but when it's closed, the command line is not returned.
Similarly, fiftyone app launch dataset even states
To exit, close the App or press ctrl + c

but does not exit when closing the App. Not sure if this is just a new bug from switching to browser support.

Not sure that we want to kill the session when a browser-tab-version of the App is closed (if that's even possible).
So per the second comment, we should probably hide the To exit, close the App or press ctrl + c text in browser mode since that behavior would only be true in desktop App mode.

Not sure that we want to kill the session when a browser-tab-version of the App is closed (if that's even possible).
So per the second comment, we should probably hide the To exit, close the App or press ctrl + c text in browser mode since that behavior would only be true in desktop App mode.

I merged https://github.com/voxel51/fiftyone/pull/791 and marked this as needs-discussion in case @ehofesmann wants to leave any comments here

I merged https://github.com/voxel51/fiftyone/pull/791 and marked this as needs-discussion in case @ehofesmann wants to leave any comments here

I think it would be nice to exit when closing the app from the browser, but if that's difficult then the change in #791 is good.
There are also a lot of errors that get printed exiting with ctrl+c that should be suppressed if possible.
This mainly came up when talking to Michael as he was concerned that he wasn't closing it properly.

I think it would be nice to exit when closing the app from the browser, but if that's difficult then the change in #791 is good.
There are also a lot of errors that get printed exiting with ctrl+c that should be suppressed if possible.
This mainly came up when talking to Michael as he was concerned that he wasn't closing it properly.


How to specify working directory for git commands

New Issue Checklist

[X] Updated fastlane to the latest version
[X] I have read the Contribution Guidelines

Issue Description
I have a Fastfile in the root of my project.  I'm trying to run fastlane and execute git Actions from this directory, using my machine and a Jenkins OSX build slave.  However, it bombs out because it isn't being run in the directory where I call fastlane.  How am I meant to specify the git directory to run my Source Control Actions?
As an aside, I find myself adding #{pwd} to the beginning of most of my Actions with a path. I suspect solving this would also allow me to drop that. I'm doing it wrong but don't know the alternative 😖
fastlane push_tag framework:MyFrameworkName
Complete output when running fastlane, including the stack trace and command used
[20:10:30]: -----------------------------
[20:10:30]: --- Step: import_from_git ---
[20:10:30]: -----------------------------
[20:10:30]: Cloning remote git repo...
[20:10:30]: $ GIT_TERMINAL_PROMPT=0 git clone 'git@private-git-url.com:ios/ios-fastlane.git' '/var/folders/87/033ng7911cl0y1drgxxj3czc00019_/T/fl_clone20161102-10174-eeaizg/ios-fastlane.git' --depth 1 -n --branch starktest
[20:10:30]: ▸ Cloning into '/var/folders/87/033ng7911cl0y1drgxxj3czc00019_/T/fl_clone20161102-10174-eeaizg/ios-fastlane.git'...
[20:10:30]: ▸ Warning: Permanently added 'private-git-url.com,<IP_ADDRESS>' (ECDSA) to the list of known hosts.
[20:10:31]: $ cd '/var/folders/87/033ng7911cl0y1drgxxj3czc00019_/T/fl_clone20161102-10174-eeaizg/ios-fastlane.git' && git checkout starktest 'fastlane/Fastfile'
[20:10:31]: $ cd '/var/folders/87/033ng7911cl0y1drgxxj3czc00019_/T/fl_clone20161102-10174-eeaizg/ios-fastlane.git' && git checkout starktest 'fastlane/actions'
[20:10:31]: ▸ error: pathspec 'fastlane/actions' did not match any file(s) known to git.
[20:10:31]: Clearing the git repo...
[20:10:31]: $ rm -rf '/var/folders/87/033ng7911cl0y1drgxxj3czc00019_/T/fl_clone20161102-10174-eeaizg'
[20:10:31]: Driving the lane 'push_tag' 🚀
[20:10:31]: ----------------------------------
[20:10:31]: --- Step: get_info_plist_value ---
[20:10:31]: ----------------------------------
[20:10:31]: -------------------------
[20:10:31]: --- Step: add_git_tag ---
[20:10:31]: -------------------------
[20:10:31]: Adding git tag '6' 🎯.
[20:10:31]: $ git tag -am 6\ \(fastlane\) '6'
[20:10:31]: ▸ fatal: Not a git repository (or any of the parent directories): .git
[20:10:31]: Variable Dump:
[20:10:31]: {:PLATFORM_NAME=>nil, :LANE_NAME=>"push_tag", :GET_INFO_PLIST_VALUE_CUSTOM_VALUE=>"6"}
[20:10:31]: Exit status of command 'git tag -am 6\ \(fastlane\) '6'' was 128 instead of 0.
fatal: Not a git repository (or any of the parent directories): .git

+------+----------------------+-------------+
|             fastlane summary              |
+------+----------------------+-------------+
| Step | Action               | Time (in s) |
+------+----------------------+-------------+
| 1    | import_from_git      | 1           |
| 2    | get_info_plist_value | 0           |
| 💥    | add_git_tag          | 0           |
+------+----------------------+-------------+

[20:10:31]: fastlane finished with errors

[!] Exit status of command 'git tag -am 6\ \(fastlane\) '6'' was 128 instead of 0.
fatal: Not a git repository (or any of the parent directories): .git

Note: I am storing my Fastfile in ios-fastlane.git so my main Fastfile for testing on a branch is:

import_from_git(url: "git@private-git-url.com:ios/ios-fastlane.git",
  branch: "starktest"
)

(I don't think this matters, but explains some of the output)
Environment
🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.12.1

Ruby
2.3.1

Bundler?
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.1

Git
git version 2.4.6

Installation Source
/Users/danstark/.rvm/rubies/ruby-2.3.1/bin/fastlane

Host
Mac OS X 10.12.1 (16B2657)

Ruby Lib Dir
/Users/danstark/.rvm/rubies/ruby-2.3.1/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

fastlane files:
`./Fastfile`
import_from_git(url: "git@private-git-url.com:ios/ios-fastlane.git",
branch: "starktest"
)

No Appfile found
fastlane gems

Gem
Version
Update-Status

credentials_manager
0.16.2
✅ Up-To-Date

spaceship
0.36.2
✅ Up-To-Date

fastlane_core
0.53.0
✅ Up-To-Date

deliver
1.14.5
✅ Up-To-Date

frameit
3.0.0
✅ Up-To-Date

pem
1.3.2
🚫 Update availaible

cert
1.4.3
✅ Up-To-Date

sigh
1.11.2
✅ Up-To-Date

produce
1.2.1
✅ Up-To-Date

gym
1.11.3
✅ Up-To-Date

scan
0.13.1
✅ Up-To-Date

supply
0.7.1
✅ Up-To-Date

match
0.10.0
✅ Up-To-Date

screengrab
0.5.5
✅ Up-To-Date

fastlane
1.106.2
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded*
Loaded gems

Gem
Version

did_you_mean
1.0.0

executable-hooks
1.3.2

bundler-unload
1.0.2

rubygems-bundler
1.4.4

bundler
1.13.6

io-console
0.4.5

highline
1.7.8

commander
4.4.0

terminal-table
1.4.5

json
1.8.3

multipart-post
2.0.0

faraday
0.9.2

faraday_middleware
0.10.0

dotenv
2.1.1

net-ssh
3.2.0

net-sftp
2.1.2

plist
3.1.0

rubyzip
1.1.7

security
0.1.3

krausefx-shenzhen
0.14.10

slack-notifier
1.5.1

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

claide
1.0.1

colored
1.2

credentials_manager
0.16.2

multi_xml
0.5.5

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

xcode-install
2.0.8

word_wrap
1.0.0

multi_json
1.12.1

babosa
1.0.2

excon
0.54.0

gh_inspector
1.0.2

fastlane_core
0.53.0

fastimage
1.6.8

mini_magick
4.5.1

xcpretty-travis-formatter
0.0.4

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.9.19

i18n
0.7.0

thread_safe
0.3.5

tzinfo
1.2.2

activesupport
<IP_ADDRESS>

CFPropertyList
2.3.3

nanaimo
0.2.0

xcodeproj
1.4.1

generated on: 2016-11-02

Lane from Fastfile
lane :push_tag do |options|
  framework_version = get_info_plist_value(
    path: "#{pwd}/#{options[:framework]}/Info.plist",
    key: "CFBundleVersion"
  )

  add_git_tag(
    tag: "#{framework_version}"
  )

  push_to_git_remote(
    tags: true
  )
end

@stark525 Hope you are doing well! What directory are you running this from? It needs to be inside of a git repo itself. Thanks!

Hi @TKBurner thanks for your response!
I'm running this from within a git repo. My workaround for the time being (which works) looks like this:
  pwd = ENV['PWD']

  sh "cd #{pwd}"
  sh "git tag #{framework_version}"
  sh "git push --all"
  sh "git push origin #{framework_version}"

#  add_git_tag(
#    tag: "#{framework_version}"
#  )
#  push_to_git_remote(
#    tags: true
#  )

I feel like there must be a way to tell Fastlane to use the PWD for all actions/lanes.  I'm not sure how to debug what the add_git_tag and push_to_git_remote actions think the working dir is.  I suspect it's /fastlane, though.


[Bug] [issue bot] Translation bot only translate title without content

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When PR https://github.com/apache/dolphinscheduler/pull/6394 merged, our issue bot work again so as translation bot. But translation bot only translated issue title without content. You could find example issue in https://github.com/apache/dolphinscheduler/issues/6404

What you expected to happen
Translation both title and content
How to reproduce
Create a new issue
Anything else
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Please do not make your hand dirty until we discuss if we should only support English for issue and PR in mailing-list

We have a discuss in the mailing-list in https://lists.apache.org/thread.html/r0c2e9f9fa8968936884191371592791616bcc609375b9f84a4ec1155%40<dev.dolphinscheduler.apache.org>

@dailidong  I submit new issue and find out our translator bot work again, meaning it is no problem for now https://github.com/apache/dolphinscheduler/issues/6709

Close it now, see above for detail information


Enable grub/serial tty configuration management

Change default serial port speed to 115200 from 9600
Update default add_kernel_opts to include ttyS0 and tty0, which
seems to be the magic fix for the serial console
Add execute block for update-grub to ensure Grub configs get updated
after modifying /etc/default/grub
Manage service for ttyS0 upstart job + force initctl reload config to
make sure the changes are actually present before restarting the tty

Recipe to be included in the proper role(s) as needed.

Have you tried this on 12.04, or should we wait to merge until after drop 12.04 support?

There are some hardware models that have not worked so easily using the above changes, which work on later revisions fine. More testing with older hardware needs to be done before I can call this "properly tested"

Closing for cleanup. Feel free to reopen if this work gets picked up later on.


RuntimeError: Given groups=1, weight of size [32, 3, 3, 3], expected input[2, 80, 80, 3] to have 3 channels, but got 80 channels instead

Hi Minivision team, your work is so great. it help me for my thesis. Thank you
But, I have tried use my own picture to train. i use RGB with picture size 80x80. But when i run the train, there is error RuntimeError: Given groups=1, weight of size [32, 3, 3, 3], expected input[1, 80, 80, 3] to have 3 channels, but got 80 channels instead. I dont why, my picture read as NHWC format not NCHW. I have tried to change 3 channels to 80 channel it seems the train is success to run but when the input come to FTGenerator in MultiFTNet the input is not [1, 1, 10, 10] but got [1, 1, 10, 1] and make the FTGenerator result is not perfect. Maybe because the MiniFASNet read input as TensorFlow data format [1, 80, 80, 3] not PyTorch data format [1, 3, 80 ,80]. What should i do?

hi! i have also encountered this error, would you mind if i asked if you were able to find a solution to this?


Issue compiling with GOROOT and Make on C.H.I.P.

Stratux version: Not sure how to tell
Stratux config:

Unit: C.H.I.P. PC
Reddit threads: https://redd.it/c3ln0y
https://redd.it/co8tke
Power source: 5v wall plug

EFB app and version: FltPlanGo
EFB platform: Android 8
EFB hardware: Samsung Tab a8 4g (verizon)

Description of your issue:

When I get to the portion within these steps:
https://github.com/cyoung/stratux/issues/787

• update .bashrc with GOROOT, GOPATH, PATH, CGO_FLAGS_ALLOW as follows:
export GOPATH=/home/pi/go
export GOROOT=/usr/lib/go-1.11 (use whatever comes back from go env | grep GOROOT)
export CGO_CFLAGS_ALLOW=-L/opt/stratux/stratux_src
export PATH=$GOPATH/bin:$PATH
• log out and back in or source the .bashrc file
• edit the dump1090 make file and remove flag Werror as there is a warning for data truncation that prevents compiling... "interactive.c:140:44: error: '%03d' directive output may be truncated writing between 3 and 9 bytes into a region of size 5 [-Werror=format-truncation=]"
cd /opt/stratux/stratux_src make • remove check from Makefile for GOROOT as it isn't detecting a set env var during make install sudo make install

And i get: "goroot is not set! stop!"
If I comment out goroot in the makefile it runs, but when I try sudo make install I get Recipe for target 'all' failed make: *** [all] Error 2

Here were some scripts made by people that got Stratux running on the C.H.I.P. That was a while ago.
https://github.com/jpoirier/stratux-setup
I guess you're aware that the C.H.I.P. is a dead platform, so I have to ask. Why go through the trouble? Besides being out of production, the hardware and software never reached a stable state.

Because I feel like it’s the only thing I could use this for that would actually make it worth purchasing. Trying to save money and get something out of this.
From: cyoung<EMAIL_ADDRESS>Sent: Monday, August 12, 2019 12:04 PM
To: cyoung/stratux<EMAIL_ADDRESS>Cc: Brian M. Kruise<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [cyoung/stratux] Issue compiling with GOROOT and Make on C.H.I.P. (#789)
Here were some scripts made by people that got Stratux running on the C.H.I.P. That was a while ago.
https://github.com/jpoirier/stratux-setup
I guess you're aware that the C.H.I.P. is a dead platform, so I have to ask. Why go through the trouble? Besides being out of production, the hardware and software never reached a stable state.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/cyoung/stratux/issues/789?email_source=notifications&email_token=AM4ID47IOZGH72BAAYEHZ23QEGXYNA5CNFSM4ILCSVI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4DQMTQ#issuecomment-520554062, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AM4ID42RKCVXOVR7VHEOCCLQEGXYNANCNFSM4ILCSVIQ.

I think you might just write off the $9. It's not worth the time investment. I've had one C.H.I.P. last about 2 hours of use before having an unknown hardware failure. Not an uncommon occurrence if you search around.

I want to say I tried this version of stratux-setup.sh and that's how at least it's partially installed, with wifi out under the stratux SSID but no web page to browse to on <IP_ADDRESS>.
Do you think I also need to run chip-power.sh and chip.sh ?

Probably. Closing the issue since this is a dead end project that likely won't benefit anyone in the future. The original issue about GOROTO not being set is not even a Stratux-specific issue. Search Google for "goroot is not set". Look in the image/ directory of the source here, maybe use the .bashrc that is included and review mkimg.sh. Good luck!

Even though the C.H.I.P Platform doesnt have official support doesnt mean that the community isnt working on it.


#247 update nginx.conf to use same server for app and api location

Also see https://github.com/mobydq/mobydq.github.io/pull/28 for documentation.


Is this project dead ?

Hi everyone,
There is a roadmap for Tastyigniter or is this really dead ?
best regards

Definitely not.
Follow the development on branch dev/3.x


vela install leads to a CrashLoopBackoff

With the latest release running on Kind 1.18.2 vela install -w times out and this is what I see in the pod logs:
2020-11-06T21:39:27.555Z	DEBUG	controller-runtime.manager	leader-election runnable finished	{"runnable type": "*controller.Controller"}
2020-11-06T21:39:27.555Z	ERROR	kubevela	problem running manager	{"error": "no matches for kind \"Autoscaler\" in version \"standard.oam.dev/v1alpha1\""}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128
main.main
	/workspace/main.go:181
runtime.main
	/usr/local/go/src/runtime/proc.go:203

@wonderflow
How is the image pushed? Is it nightly job?

@satadruroy
Could you provide vela version and vela server logs:
$ kubectl get po -n vela-system
NAME                                 READY   STATUS    RESTARTS   AGE
kubevela-vela-core-xxx

$ kubectl -n vela-system logs kubevela-vela-core-xxx

vela version
Version: refs/tags/v0.0.8
GitRevision: git-204a578
GolangVersion: go1.13.15

kubectl logs -n vela-system kubevela-vela-core-7558f5dc-6c9lc -f
2020-11-07T00:39:21.696Z	INFO	dependency installer	installing helm chart	{"chart name": "cert-manager"}
"jetstack" has been added to your repositories
2020-11-07T00:39:22.598Z	INFO	controller-runtime.metrics	metrics server is starting to listen	{"addr": ":8080"}
2020-11-07T00:39:22.599Z	INFO	kubevela	creating readiness/health check
2020-11-07T00:39:22.599Z	INFO	kubevela	vela webhook enabled, will serving at :9443
2020-11-07T00:39:22.599Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/validating-core-oam-dev-v1alpha2-applicationconfigurations"}
2020-11-07T00:39:22.599Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/mutating-core-oam-dev-v1alpha2-applicationconfigurations"}
2020-11-07T00:39:22.600Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/mutating-core-oam-dev-v1alpha2-components"}
2020-11-07T00:39:22.600Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/validating-core-oam-dev-v1alpha2-components"}
2020-11-07T00:39:22.600Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/validate-standard-oam-dev-v1alpha1-metricstrait"}
2020-11-07T00:39:22.600Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/mutate-standard-oam-dev-v1alpha1-metricstrait"}
2020-11-07T00:39:22.600Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/validate-standard-oam-dev-v1alpha1-podspecworkload"}
2020-11-07T00:39:22.600Z	INFO	controller-runtime.webhook	registering webhook	{"path": "/mutate-standard-oam-dev-v1alpha1-podspecworkload"}
2020-11-07T00:39:24.600Z	INFO	kubevela	waiting webhook secret, time consumed: 2/90 seconds ...
2020-11-07T00:39:24.600Z	INFO	kubevela	webhook secret is ready (time consumed: 2 seconds)
2020-11-07T00:39:24.601Z	INFO	kubevela	starting the vela controller manager
I1107 00:39:24.601716       1 leaderelection.go:242] attempting to acquire leader lease  vela-system/kubevela...
2020-11-07T00:39:24.601Z	INFO	controller-runtime.manager	starting metrics server	{"path": "/metrics"}
2020-11-07T00:39:24.602Z	INFO	controller-runtime.webhook.webhooks	starting webhook server
2020-11-07T00:39:24.603Z	INFO	controller-runtime.certwatcher	Updated current TLS certificate
2020-11-07T00:39:24.603Z	INFO	controller-runtime.webhook	serving webhook server	{"host": "", "port": 9443}
2020-11-07T00:39:24.603Z	INFO	controller-runtime.certwatcher	Starting certificate watcher
2020-11-07T00:39:25.506Z	ERROR	dependency installer	failed to install helm chart for certificates.cert-manager.io	{"error": "rendered manifests contain a resource that already exists. Unable to continue with install: ServiceAccount \"cert-manager-cainjector\" in namespace \"cert-manager\" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key \"meta.helm.sh/release-name\" must equal \"cert-manager\": current value is \"kubevela\"; annotation validation error: key \"meta.helm.sh/release-namespace\" must equal \"cert-manager\": current value is \"vela-system\"", "errorVerbose": "ServiceAccount \"cert-manager-cainjector\" in namespace \"cert-manager\" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key \"meta.helm.sh/release-name\" must equal \"cert-manager\": current value is \"kubevela\"; annotation validation error: key \"meta.helm.sh/release-namespace\" must equal \"cert-manager\": current value is \"vela-system\"\nrendered manifests contain a resource that already exists. Unable to continue with install\nhelm.sh/helm/v3/pkg/action.(*Install).Run\n\t/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:274\ngithub.com/oam-dev/kubevela/pkg/utils/helm.Install\n\t/workspace/pkg/utils/helm/helm.go:48\ngithub.com/oam-dev/kubevela/pkg/oam.InstallHelmChart\n\t/workspace/pkg/oam/capability.go:165\ngithub.com/oam-dev/kubevela/pkg/controller/dependency.installHelmChart\n\t/workspace/pkg/controller/dependency/install.go:126\ngithub.com/oam-dev/kubevela/pkg/controller/dependency.Install\n\t/workspace/pkg/controller/dependency/install.go:67\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128
github.com/oam-dev/kubevela/pkg/controller/dependency.Install
	/workspace/pkg/controller/dependency/install.go:69
2020-11-07T00:39:25.506Z	INFO	dependency installer	installing helm chart	{"chart name": "kube-prometheus-stack"}
"prometheus-community" has been added to your repositories
2020-11-07T00:39:28.317Z	ERROR	dependency installer	failed to install helm chart for servicemonitors.monitoring.coreos.com	{"error": "cannot re-use a name that is still in use", "errorVerbose": "cannot re-use a name that is still in use\nhelm.sh/helm/v3/pkg/action.(*Install).availableName\n\t/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:428\nhelm.sh/helm/v3/pkg/action.(*Install).Run\n\t/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:179\ngithub.com/oam-dev/kubevela/pkg/utils/helm.Install\n\t/workspace/pkg/utils/helm/helm.go:48\ngithub.com/oam-dev/kubevela/pkg/oam.InstallHelmChart\n\t/workspace/pkg/oam/capability.go:165\ngithub.com/oam-dev/kubevela/pkg/controller/dependency.installHelmChart\n\t/workspace/pkg/controller/dependency/install.go:126\ngithub.com/oam-dev/kubevela/pkg/controller/dependency.Install\n\t/workspace/pkg/controller/dependency/install.go:67\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128
github.com/oam-dev/kubevela/pkg/controller/dependency.Install
	/workspace/pkg/controller/dependency/install.go:69
I1107 00:39:42.900347       1 leaderelection.go:252] successfully acquired lease vela-system/kubevela
2020-11-07T00:39:42.900Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "autoscaler", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	DEBUG	controller-runtime.manager.events	Normal	{"object": {"kind":"ConfigMap","namespace":"vela-system","name":"kubevela","uid":"dda0cecf-fcd1-4645-9d58-fa47a1085d49","apiVersion":"v1","resourceVersion":"2425"}, "reason": "LeaderElection", "message": "kubevela-vela-core-7558f5dc-6c9lc_ecdcde71-623a-4a55-823f-944671290ad9 became leader"}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "podspecworkload", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "metricstrait", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "route", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "oam/applicationconfiguration.core.oam.dev", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "applicationdeployment", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "oam/healthscope.core.oam.dev", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "oam/containerizedworkload", "source": "kind source: /, Kind="}
2020-11-07T00:39:42.901Z	INFO	controller-runtime.controller	Starting EventSource	{"controller": "oam/manualscalertrait", "source": "kind source: /, Kind="}
2020-11-07T00:39:43.803Z	ERROR	controller-runtime.source	if kind is a CRD, it should be installed before calling Start	{"kind": "Autoscaler.standard.oam.dev", "error": "no matches for kind \"Autoscaler\" in version \"standard.oam.dev/v1alpha1\""}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128
sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.1/pkg/source/source.go:117
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.1/pkg/internal/controller/controller.go:140
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.1/pkg/internal/controller/controller.go:175
sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startLeaderElectionRunnables.func1
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.1/pkg/manager/internal.go:514
2020-11-07T00:39:43.804Z	DEBUG	controller-runtime.manager	leader-election runnable finished	{"runnable type": "*controller.Controller"}
2020-11-07T00:39:43.804Z	ERROR	kubevela	problem running manager	{"error": "no matches for kind \"Autoscaler\" in version \"standard.oam.dev/v1alpha1\""}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128
main.main
	/workspace/main.go:181
runtime.main
	/usr/local/go/src/runtime/proc.go:203

Hi @satadruroy.
It looks like you are using a CLI sort of oudated:

GitRevision: git-204a578

Could you rebuild CLI again?
make vela-cli
cp bin/vela /usr/local/bin

We are also releasing now in case you want to download from release page :)

@hongchaodeng  the image(with latest tag) is automatically built with the latest PR.

@satadruroy I just created a clean Kubernetes cluster and build the latest vela binary. The error message is gone. Could you please try again? Any issues, please kindly append below. Thanks.
vela version
Version: 0.1.0
GitRevision: git-c255544
GolangVersion: go1.13.4

@zzxwill thank you. Yes, that fixed the problem.

@satadruroy Thanks for the feedback and thank you for opening the ticket:)


libduckdb-sys build failed

Hello! I'm using duckdb in my rust code, but I cannt add it into my cargo
After using cargo add duckdb --features bundled and cargo run, this happenes
Is there someone facing such issues the same as me? How to solve it?
Waiting for the aid....
error: failed to run custom build command for libduckdb-sys v1.1.1
Caused by:
process didn't exit successfully: D:\rsuploader\target\debug\build\libduckdb-sys-e241cf1d72830267\build-script-build (exit code: 1)
--- stderr
error occurred in cc-rs: Command "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.42.34433\bin\HostX64\x64\cl.exe" "-nologo" "-MD" "-Z7" "-Brepro" "-I" "duckdb" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/mbedtls/library" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/brotli/common" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/brotli/dec" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/utf8proc" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/miniz" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/brotli/enc" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/src/include" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/re2" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/libpg_query/include" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/fast_float" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/tdigest" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/lz4" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/pcg" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/brotli/include" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/skiplist" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/mbedtls" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/mbedtls/include" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/hyperloglog" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/jaro_winkler" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/httplib" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/fastpforlib" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/fsst" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/concurrentqueue" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/fmt/include" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/libpg_query" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/yyjson/include" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/utf8proc/include" "-I" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/third_party/jaro_winkler/details" "/bigobj" "-DDUCKDB_EXTENSION_AUTOINSTALL_DEFAULT=1" "-DDUCKDB_EXTENSION_AUTOLOAD_DEFAULT=1" "-DDUCKDB_BUILD_LIBRARY" "-FoD:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out\9f89209d66126409-ub_src_execution.o" "-c" "D:\rsuploader\target\debug\build\libduckdb-sys-6c8c2a903944fbe3\out/duckdb/ub_src_execution.cpp" with args cl.exe did not execute successfully (status code exit code: 2).

same here

duckdb/ub_src_execution.cpp

It seems there is an incorrect path separator when building the project on Windows. After modifying build.rs in libduckdb.rs, the build works but still encounters missing dependencies.
Code Changes in build.rs:144
cfg.include(lib_name);
for dir in include_dirs
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&dir).unwrap();
    let include_dir = p.to_str().unwrap();
    cfg.include(&include_dir);
}

for f in cpp_files
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&f).unwrap();
    let cpp_file = p.to_str().unwrap();
    cfg.file(&cpp_file);
}

These changes seem to resolve the path separator issue, but the build still fails due to missing dependencies.
error: failed to run custom build command for `libduckdb-sys v1.1.1`

Caused by:
  process didn't exit successfully: `C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-20bb858660463ed6\build-script-build` (exit code: 1)
  --- stderr

When running the build command, the following error is encountered:

C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-a92432ca358d0c6c\out\duckdb\third_party\skiplist\SkipList.cpp(9): fatal error C1083: 无法打开包括文件: “cstdlib”: No such file or directory

duckdb/ub_src_execution.cpp

It seems there is an incorrect path separator when building the project on Windows. After modifying build.rs in libduckdb-sys, the build works but still encounters missing dependencies.
Code Changes in build.rs:144
cfg.include(lib_name);
for dir in include_dirs
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&dir).unwrap();
    let include_dir = p.to_str().unwrap();
    cfg.include(&include_dir);
}

for f in cpp_files
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&f).unwrap();
    let cpp_file = p.to_str().unwrap();
    cfg.file(&cpp_file);
}

These changes seem to resolve the path separator issue, but the build still fails due to missing dependencies.
error: failed to run custom build command for `libduckdb-sys v1.1.1`

Caused by:
  process didn't exit successfully: `C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-20bb858660463ed6\build-script-build` (exit code: 1)
  --- stderr

When running the build command, the following error is encountered:

C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-a92432ca358d0c6c\out\duckdb\third_party\skiplist\SkipList.cpp(9): fatal error C1083: 无法打开包括文件: “cstdlib”: No such file or directory

@frectonz @ankrgyl

Yep, seems there is a huge mistake among the libduckdb-sys... I tried to set Environment path to static link the libduckdb, but I cant fix that also. So I turned to use rusqlite....

duckdb/ub_src_execution.cpp

It seems there is an incorrect path separator when building the project on Windows. After modifying build.rs in libduckdb-sys, the build works but still encounters missing dependencies.
Code Changes in build.rs:144
cfg.include(lib_name);
for dir in include_dirs
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&dir).unwrap();
    let include_dir = p.to_str().unwrap();
    cfg.include(&include_dir);
}

for f in cpp_files
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&f).unwrap();
    let cpp_file = p.to_str().unwrap();
    cfg.file(&cpp_file);
}

These changes seem to resolve the path separator issue, but the build still fails due to missing dependencies.
error: failed to run custom build command for `libduckdb-sys v1.1.1`

Caused by:
  process didn't exit successfully: `C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-20bb858660463ed6\build-script-build` (exit code: 1)
  --- stderr

When running the build command, the following error is encountered:

C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-a92432ca358d0c6c\out\duckdb\third_party\skiplist\SkipList.cpp(9): fatal error C1083: 无法打开包括文件: “cstdlib”: No such file or directory

@frectonz @ankrgyl

Yep, seems there is a huge mistake among the libduckdb-sys... I tried to set Environment path to static link the libduckdb, but I cant fix that also. So I turned to use rusqlite....

I was able to successfully build and run the project by setting the following environment variables in project/.cargo/config.toml:

DUCKDB_INCLUDE_DIR
DUCKDB_LIB_DIR
DUCKDB_STATIC=1

I used the stable-x86_64-pc-windows-msvc toolchain along with the Git Bash environment.
However, when running tests or debugging, a build.rs script is still required to copy the lib/dll files to the deps directory.
build.rs:
fn main() {
    let duck_db_dir = std::env::var("DUCKDB_INCLUDE_DIR").unwrap();
    let profile = std::env::var("PROFILE").unwrap();
    let (os, extension) = match std::env::consts::OS {
        "windows" => ("windows", "dll"),
        "linux" => ("linux", "so"),
        _ => {
            eprintln!("Unsupported OS: {}", std::env::consts::OS);
            std::process::exit(1);
        }
    };
    let file_path = std::path::Path::new(&duck_db_dir).join(std::format!("duckdb.{}", extension));
    let target_dir = std::fs::canonicalize(
        std::path::Path::new("target")
            .join(profile),
    ).expect("file not found");
    println!(
        "cargo:warning=will copy {} to {}",
        file_path.to_str().unwrap(),
        target_dir.to_str().unwrap()
    );
    std::fs::copy(
        file_path,
        target_dir.join(std::format!("duckdb.{}", extension)),
    )
    .expect("copy duckdb failed");
}

duckdb/ub_src_execution.cpp

It seems there is an incorrect path separator when building the project on Windows. After modifying build.rs in libduckdb-sys, the build works but still encounters missing dependencies.
Code Changes in build.rs:144
cfg.include(lib_name);
for dir in include_dirs
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&dir).unwrap();
    let include_dir = p.to_str().unwrap();
    cfg.include(&include_dir);
}

for f in cpp_files
    .into_iter()
    .map(|file| format!("{out_dir}/{file}"))
{
    let p = std::path::absolute(&f).unwrap();
    let cpp_file = p.to_str().unwrap();
    cfg.file(&cpp_file);
}

These changes seem to resolve the path separator issue, but the build still fails due to missing dependencies.
error: failed to run custom build command for `libduckdb-sys v1.1.1`

Caused by:
  process didn't exit successfully: `C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-20bb858660463ed6\build-script-build` (exit code: 1)
  --- stderr

When running the build command, the following error is encountered:

C:\Users\shuhangli\repos\duck\target\debug\build\libduckdb-sys-a92432ca358d0c6c\out\duckdb\third_party\skiplist\SkipList.cpp(9): fatal error C1083: 无法打开包括文件: “cstdlib”: No such file or directory

@frectonz @ankrgyl

Yep, seems there is a huge mistake among the libduckdb-sys... I tried to set Environment path to static link the libduckdb, but I cant fix that also. So I turned to use rusqlite....

I was able to successfully build and run the project by setting the following environment variables in project/.cargo/config.toml:

DUCKDB_INCLUDE_DIR
DUCKDB_LIB_DIR
DUCKDB_STATIC=1

I used the stable-x86_64-pc-windows-msvc toolchain along with the Git Bash environment.
However, when running tests or debugging, a build.rs script is still required to copy the lib/dll files to the deps directory.
build.rs:
fn main() {
    let duck_db_dir = std::env::var("DUCKDB_INCLUDE_DIR").unwrap();
    let profile = std::env::var("PROFILE").unwrap();
    let (os, extension) = match std::env::consts::OS {
        "windows" => ("windows", "dll"),
        "linux" => ("linux", "so"),
        _ => {
            eprintln!("Unsupported OS: {}", std::env::consts::OS);
            std::process::exit(1);
        }
    };
    let file_path = std::path::Path::new(&duck_db_dir).join(std::format!("duckdb.{}", extension));
    let target_dir = std::fs::canonicalize(
        std::path::Path::new("target")
            .join(profile),
    ).expect("file not found");
    println!(
        "cargo:warning=will copy {} to {}",
        file_path.to_str().unwrap(),
        target_dir.to_str().unwrap()
    );
    std::fs::copy(
        file_path,
        target_dir.join(std::format!("duckdb.{}", extension)),
    )
    .expect("copy duckdb failed");
}

I will have a try, thank you!!!


CreateScreenshotUsingRenderTarget: Render to texture only when texture and camera are ready

See https://forum.babylonjs.com/t/screenshot-with-post-process-not-includes-meshes/45168
Checking camera.isReady(true) make sure that post-processes are ready before going on.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14463/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14463/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14463/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14463/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14463/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14463/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14463/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14463/merge#BCU1XR#0


Generator: Implement UI and backend to enter credentials and deploy website via ftp

Parent Issue: https://github.com/fossasia/open-event-webapp/issues/275
Discuss the challenge to implement this and estimate the time required.
Please enable the user to deploy the website via ftp

[x] Ensure the user can choose the folder and
[x] Check if it is possible that the user can create a folder
[x] Propose a UI and implement it
[x] Implement the backend so several users could use the deployment function at the same time

done here https://github.com/fossasia/open-event-webapp/pull/632


[DDE] Configure go based proxy for the UI to talk to localhost:9081

Notes for Reviewers
The docker build workflow is not yet configured. This PR just configures the proxy for a single endpoint, but can be extended to multiple endpoints as well.
Signed commits

[x] Yes, I signed my commits.

Head's up, merge conflict

Codecov Report

Merging #5299 (6b17d9c) into master (e4f0ff2) will decrease coverage by 4.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5299      +/-   ##
==========================================
- Coverage   17.39%   13.09%   -4.31%
==========================================
  Files         107      107
  Lines        9824     9824
==========================================
- Hits         1709     1286     -423
- Misses       7694     8262     +568
+ Partials      421      276     -145

Flag
Coverage Δ

e2etests
?

gointegrationtests
?

unittests
13.09% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mesheryctl/internal/cli/root/system/update.go
1.05% <0.00%> (-58.95%)
:arrow_down:

mesheryctl/internal/cli/root/system/status.go
1.14% <0.00%> (-55.18%)
:arrow_down:

mesheryctl/internal/cli/root/system/start.go
1.91% <0.00%> (-54.55%)
:arrow_down:

mesheryctl/internal/cli/root/system/restart.go
1.92% <0.00%> (-48.08%)
:arrow_down:

mesheryctl/internal/cli/root/system/stop.go
2.15% <0.00%> (-44.61%)
:arrow_down:

mesheryctl/internal/cli/root/system/logs.go
3.26% <0.00%> (-36.96%)
:arrow_down:

mesheryctl/internal/cli/root/system/check.go
1.03% <0.00%> (-23.03%)
:arrow_down:

mesheryctl/internal/cli/root/system/dashboard.go
1.70% <0.00%> (-9.41%)
:arrow_down:

mesheryctl/pkg/utils/healthcheck.go
8.82% <0.00%> (-4.42%)
: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 95f778d...6b17d9c. Read the comment docs.


运行后，回复一直都是‘提问太快了啦，请休息一下再问我吧’,

前置确认
一直报这个错
Your access was terminated due to violation of our policies, please check your email for more information. If you believe this is in error and would like to appeal, please contact<EMAIL_ADDRESS>

这个是我的key不行吗？还是怎么回事？  求助

key没流量了吧，官司网查下就知了

有的呀，新注册的


Refs #3571 Added xml configuration for wait tcp negotiation.

Added parameter to configure wait for negotiation tcp transport descriptor attribute

Dupped.


Strange line indentation error

Going over code, updating to wpcs 0.10
FILE: ...p-content\plugins\wordpress-seo\admin\views\dashboard-widget.php
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
 48 | ERROR | [x] Line indented incorrectly; expected at least 7 tabs,
    |       |     found 2 (Generic.WhiteSpace.ScopeIndent.Incorrect)
----------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

https://github.com/Yoast/wordpress-seo/blob/45f0a41ac5432dbfe799fb1ee26e5a82eeb3148f/admin/views/dashboard-widget.php#L48
It looks fine to me.
Might be something about inline <?php opening tag and indentation trying to be relative to it?

Hm, should this be upstream or we do something/configuration with that sniff?

Might be something about inline <?php opening tag and indentation trying to be relative to it?

Sounds like that is the issue. Have you tried moving the opening tag a line lower?

This is the only thing that WPCS changes. https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml#L20-L30

That seems to make it work, but I don't quite like linebreak inside of heading tag...

Opened question upstream https://github.com/squizlabs/PHP_CodeSniffer/issues/1143


Support React 19

Next.js 15 already adds React 19 RC on a clean install:
  "dependencies": {
    "react": "19.0.0-rc-02c0e824-20241028",
    "react-dom": "19.0.0-rc-02c0e824-20241028",
    "next": "15.0.2"
  },

However, as far as I know, even if we add support for react@^19, this doesn't automatically accept the RC version (ref).
Would be curious if I'm wrong, but adding every React 19 RC version explicitly to next-intl doesn't seem maintainable to me. Should we wait for React 19 stable to be released?

@theoludwig Thanks for chiming in!
Right, I saw that too, but somehow the npm semver checker doesn't seem to confirm that:

Have you adopted Radix Primitives with React 19 and have found this to work without any peer dependency issues?


Added a resource

I added a link to Rupali's repo. I'm going to add more links to other sources soon.

Amazing! Can you move this into the repositories section?

Sure! 😄

Amazing! Can you move this into the repositories section?

Done @amandamartin-dev! 😄


[prop-mvn-plugin] properties-maven-plugin

retest this please

the verification maven plugin is configured in the parent pom... ..fixed