[BUG] - React does not recognize the originalProps ``isDisabled prop on a DOM element.

NextUI Version
2.2.10
Describe the bug
Warning: React does not recognize the `isDisabled` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `isdisabled` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
    at div
    at file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/popover/dist/chunk-K4VREUER.mjs:15:43
    at file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/dropdown/dist/chunk-63RZRIL7.mjs:11:35
    at file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/popover/dist/chunk-I7AEEVL3.mjs:16:11
    at Dropdown (file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/dropdown/dist/chunk-FHP3QEBP.mjs:14:11)

Warning: React does not recognize the `originalProps` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `originalprops` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
    at div
    at file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/popover/dist/chunk-K4VREUER.mjs:15:43
    at file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/dropdown/dist/chunk-63RZRIL7.mjs:11:35
    at file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/popover/dist/chunk-I7AEEVL3.mjs:16:11
    at Dropdown (file:///Users/saadfarooq/Developer/Per-Diem/pos-onboarding-dashboard/node_modules/@nextui-org/dropdown/dist/chunk-FHP3QEBP.mjs:14:11)

Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
const Dropdown: FC<DropdownProps> = ({
  baseClass = "",
  triggerClass = "",
  backdropClass = "",
  arrowClass = "",
  useMenuIcon = true,
  isDisabled = false,
  disabledKeys,
  triggerColor = "#A098AE",
  menuTriggerClass = "h-6 w-6 cursor-pointer",
  triggerDataCy = "trigger_dropdown",
  customTrigger = <MdMoreHoriz size={22} color={triggerColor} />,
  children,
}) => {
  return (
    <NextDropdown
      classNames={{
        base: `${baseClass}`,
        trigger: `${triggerClass}`,
        backdrop: `${backdropClass}`,
        arrow: `${arrowClass}`,
      }}
      isDisabled={isDisabled}
    >
      <DropdownTrigger>
        {

            {useMenuIcon ? (
              <MdMoreHoriz size={22} color={triggerColor} />
            ) : (
              customTrigger
            )}

        }
      </DropdownTrigger>
      <DropdownMenu
        disabledKeys={disabledKeys}
        itemClasses={{
          base: [
            "data-[hover=true]:bg-[#F2F7FE]",
            "data-[selectable=true]:focus:bg-[#F2F7FE]",
            "data-[focus-visible=true]:ring-[#F2F7FE]",
          ],
        }}
      >
        {children}
      </DropdownMenu>
    </NextDropdown>
  );
};

export default Dropdown;

Now using this as component
   <Dropdown
            menuTriggerClass=""
            useMenuIcon={false}
            customTrigger={

                <Avatar
                  size="md"
                  name={`${String(user?.first_name?.[0] || "U")} ${String(
                    user?.last_name?.[0] || "",
                  )}`}
                  as="button"
                  classNames={{
                    name: "text-center font-medium text-black ",
                  }}
                  className="bg-[#FFC96B] transition-transform "
                />

{`${String(
                  user?.first_name || "User",
                )} ${String(user?.last_name || "")}  `}

            }
          >
            <DropdownItem>

{user?.email}

                  {user?.type || ""}

                {isEmployee(userObj) && (

                    <Chip
                      size="sm"
                      color="default"
                      variant="dot"
                      className={`rounded-lg bg-[#E4E5E7] text-xs`}
                    >
                      View only mode
                    </Chip>

                )}
                <Divider />

            </DropdownItem>
            {isAdmin ? (
              <DropdownItem onClick={() => switchStoreController.openModal()}>

Switch account

              </DropdownItem>
            ) : (
              <DropdownItem className="hidden"></DropdownItem>
            )}
            <DropdownItem
              onClick={() => {
                logoutController.openModal();
              }}
            >

Logout

            </DropdownItem>
          </Dropdown>

Expected behavior
Not to throw the error.
Screenshots or Videos

Operating System Version
macOS
Browser
Chrome

I have the same issue after updating to 2.2.10. There's no problem when I use User instead of Avatar.

Yes, exactly the same issue with Avatar or Image in a , switch to User and no console errors about original probs being [Object Object]

I have the same issue after updating to 2.2.10. There's no problem when I use User instead of Avatar.

so do I

Me as well. But I don't want to use User component. How do I solve this? I couldn't have been control this.

I have the problem with both Avatar or User. Any ETA for the fix pls?

any update for this issue ?

Same issue

Thanks for reporting. I'm currently looking into it.

Great there is someone looking in to this 🚀. We have had this issue for a week or two also.

When will this bug be resolved? It seems to be caused by DropdownTrigger forcibly adding originalProps and other attributes to child elements.

@shabishabishabishabi I've made the PR and it's being reviewed.

I'm just using a navbar with its components, no other components just navbar and text and I'm getting the same issue

@pablojsx it hasn't released yet. please wait for the next release.

This is a really binding bug.. why aren't they releasing bux fixes.. 1month since the last release is not professionnal

is it fixed at 2.3.0? This issue is still occurring.
"Warning: React does not recognize the isDisabled prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase isdisabled instead. ... "

Same for me with version 2.3.1.

@J4v4Scr1pt please use 2.3.3

all good now

Getting this error with the new DateRangePicker.
On version 2.3.5
@wingkwong

@SeanNFT some already reported here


Default consistency level not applied when manager initialized with withDefault{Write|Read|Serial}Consistency()

Hi @doanduyhai
I am facing a problem with the way to default consistency level. I am using Achilles version 5.2.0.
When I initialize the ManagerFactory as below :
ManagerFactory managerFactory = ManagerFactoryBuilder.builder(cluster) .withDefaultKeyspaceName("myks") .withDefaultReadConsistency(ConsistencyLevel.LOCAL_QUORUM) .withDefaultWriteConsistency(ConsistencyLevel.LOCAL_QUORUM) .build();
Every query that I run are executed with consistency level = LOCAL_ONE (I can see it in the Achilles logs).
If I initialize the managerFactory level with a consistencyMap as below :
Map consistencyMap = new HashMap<String, ConsistencyLevel>(); consistencyMap.put("testing_table", ConsistencyLevel.LOCAL_QUORUM);
ManagerFactory managerFactory = ManagerFactoryBuilder.builder(cluster) .withDefaultKeyspaceName("myks") .withDefaultWriteConsistencyMap(consistencyMap) .withDefaultReadConsistencyMap(consistencyMap) .build();
then the requests are correctly executed with the expected consistency level (in my case LOCAL_QUORUM).
Did I miss something in the configuration? Or is it a bug in Achilles as it does not apply correctly the default consistency levels with the methods withDefault{Write|Read|Serial}Consistency?
Regards,

Hmm let me check the source code

Did you read this doc ? https://github.com/doanduyhai/Achilles/wiki/Consistency-Level#settings-priority
According to the doc,
Default consistency level defined on the com.datastax.driver.core.Cluster object will override the default consistency level defined in Achilles configuration (withDefaultReadConsistency(ConsistencyLevel.LOCAL_QUORUM) .withDefaultWriteConsistency(ConsistencyLevel.LOCAL_QUORUM))
Please check and be sure that you don't configure your cluster object with QueryOption CL = LOCAL_ONE ...

I didn't read it. I will check this!

Hi,
I read your doc about consistency priority and I double checked my code.
I confirm I don't configure my cluster with any QueryOption.
My cluster is initialized with this simple line :
Cluster cassandraCluster = Cluster.builder().addContactPoints(cassandraConfiguration.getHosts()).build();

But when I look into the variable of the instancied cassandraCluster I can see that, even if I don't set any QueryOption, the cluster object contains a default one with the following values :
queryOptions = {QueryOptions@6954}
  - consistency = {ConsistencyLevel@6958} "LOCAL_ONE"
  - serialConsistency = {ConsistencyLevel@6959} "SERIAL"
  - ....

According to the consistency priority of Achilles this is normal that I have a consistency level of "LOCAL_ONE" in my request.
But as the Cluster always have a default QueryOption, I think the withDefault{Write|Read|Serial}Consistency() methods of Achilles are useless.
NB : I am using Cassandra driver 3.1.3.

But as the Cluster always have a default QueryOption, I think the withDefault{Write|Read|Serial}Consistency() methods of Achilles are useless

This is the real issue. So maybe we need to change the consistency level priority order

Thanks for all the fixes you did in 5.2.1. Everything is OK for me now.


Deploy OpenSearch dashboard to the security core account

Describe the issue
Currently the dashboard is deployed in the workload account that belongs to CPF and we need to move it to the core accounts because we have a hypothesis that doing that would make it easier to access the data that it needs.
Which Sprint Goal is this issue related to?

Note: 'Milestone' is a ZenHub term that we use synonymously with 'Sprint'.

The 'Milestone' description (created in ZenHub) should clearly list Sprint Goals. This section should indicate which 'goal' this issue is related to.
Additional context

we originally deployed this in a workload account in LZ2.
Now we have LZ1, we can safely deploy this in the LZ1 security account. (Once tested it can be moved to LZ2)
We intend to add this to the layer automation so that it deploys with everything else automatically and will be tested in a torn-down LZ1 environment.

Definition of done

Deploy this in LZ1 security account

Done upstream by Ryan J, coming in 2 patches


Amqp gearama2

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

/azp run cpp - eventhubs - ci

/azp run cpp - eventhubs - ci

/azp run cpp - azure-messaging-eventhubs - ci


Scrollbar not shown for nav on some Macs

Always show vertical  scrollbar for Mac browsers.

What browser are you missing the scrollbars on? Works for me on Safari / Chrome on Mac...

There's a MacOS preference in System Preferences > General - if that's set to Always, you will see the scrollbar.  On the other settings, you won't. (Unfortunately I think the default is "Automatically"). To reproduce this, try setting it to "Automatically". Then there won't be a vertical scrollbar shown for the left nav or for wide code blocks that can scroll horizontally.

Findings from user research: there's no horizontal scroll bar in Windows (Explorer 11). Our participant wasn't aware of any settings to make it appear so he struggled with trying to copy and paste without being able to see the full code snippet.

Hello!
I'm doing some tidying up of older issues, if this is something that is still relevant to you please open a new issue on the tech docs gem repository.


Response.Body streams do not get flushed

Describe the bug
It appears that streams under Context.Response.Body do not get flushed, at least if they are replaced. I tested this with GZipStream, unsure whether that's the case for other stream types.
To Reproduce
I am using ASP.NET Core 2.2 in this example, I am unsure whether this still applies to 3.0 as I am unable to test at this time.
Steps:

Create an empty ASP.NET Core Web API app
Create an action like this:[Route("/test/{arg?}")]
public IActionResult Test(string arg = null)
{
    if (arg == "gz")
    {
        Response.Headers.Add(HeaderNames.ContentEncoding, "gzip");
        Response.Body = new GZipStream(Response.Body, CompressionLevel.Optimal);
    }

    return Json(new { message = "Hello world!" });
}

Navigate to <your app url>/test
Notice the response
Navigate to <your app url>/test/gz
Notice empty response

Expected behavior
You get the following message as a response from the server in both cases:
{
    "message": "Hello world!"
}

Additional context
This issue can be mitigated by implementing a middleware that forcefully flushes streams, like so:
app.Use(async (ctx, next) =>
{
    await next();
    if (ctx.Response.Body is GZipStream gz)
        await gz.FlushAsync();
});

The middleware has to be inserted before MVC. Repeating steps 3 and 5 with the above inserted before MVC produces correct response in either case.

It’s your job to act on the stream and revert it if you replace it. How you’re replacing the stream also isn’t idiomatic in MVC. Either you do it all in a middleware and handle before calling next and after or you can write a custom action result to handle that in mvc itself.
I either situation it’s your job to perform the operation.

This raises a question about response stream, however. Are the flush and/or dispose methods called on them at any point?

Are the flush and/or dispose methods called on them at any point?

Depends on the server implementation. The golden rule is, you are responsible for the objects you create. A middleware that's being a good citizen looks like this:
https://github.com/aspnet/AspNetCore/blob/1b6f721648a500f59eda475564238e787a1967d8/src/Middleware/ResponseCompression/src/ResponseCompressionMiddleware.cs#L46-L96
PS: You should just use the response compression middleware, it does what you want.

The golden rule is, you are responsible for the objects you create.

Fair enough, I'll have to keep that in mind for the future.

PS: You should just use the response compression middleware, it does what you want.

Unfortunately, it does not. Compression middleware, the way I see it, only wraps into a compression stream based on Accept-Encoding header, and does so globally.
In my use case, the client does not send such a header, it's mandated by a route (or route argument, depending on implementation), and only on 3 specific endpoints (i.e. the entire API does not, and should not support compression otherwise).
The response compression middleware was one of the first thing I looked into, and, if I could obtain route data prior to request hitting MVC, I would gladly use it in place of my solution.
Nonetheless, I appreciate the input and suggestions.

I assume you can do something better with endpoint routing in 3.0; but you can use .MapWhen to only attach compression when a condition is matched
app.MapWhen((ctx) =>
    {
        if (ctx.Request.Query["gz"] == "1")
        {
            return true;
        }
        return false;
    },
    (ap) => ap.UseResponseCompression());

Good to know, but it still won't cut it (route data is not yet available at this point). I'll have to look into endpoint routing in the future, I guess.


Border-token color not linking to style

Describe the issue:
When applying the border-token, unlike the color tokens, it only displays the hex value and not the style connected to the token.
Proposal:
When applying the border-token, the color applied should have the token/style linked; and displayed in the right panel.
https://user-images.githubusercontent.com/93133012/230371304-a5bcdea6-fd55-45e3-92cd-52d36cff419d.mov
Is this related to #1855 ?

Hi there. Any ETA on when this will be fix ? Just subscribe to pro to be able to use styles across multiple files and the fact that border style can't be use is really a miss.

Hi @theikid this should be fixed by next week, thank you for your patience :)


default input events support

I was trying to add key down event handler. You've said that other standard properties for input[type="text"] are allowed and propagated but it doesn't  seem to be so.
onKeyDown={(e) => console.log(e)} //never gets triggered

The documentation gives a link with a list of supported attributes, and onClick is not amongst them.
However, I don't see a reason why we shouldn't support some events, such as onClick, onMouseMove, etc.
It would essentially be a matter of adding a few lines to filter-input-attributes.js.

Hm, a keyDown event has nothing in common with the onClick event (except they are events). keyboard events are relevant to any input field so I'm a bit disappointed that you didn't include it to the allowed properties.

The onKeyDown event is already in use for handling the keyboard navigation on the component. Adding it to the allowed attributes would mean that this get’s overwritten which is not desired.

@ro-ka hm, but you could call it as a callback after your inner handler is called. Or you could add a onKeyPress event support instead (not instead actually, but at least)

Will take a look next week.

+1 on @antoniopuero's comment.  I'd like to get a keypress event so I can take an action on the hosting div (basically hide the div when the user hits esc - right now my users have to click, and that's not as efficient).

You’re free to create a PR for this.

Fixed in https://github.com/ubilabs/react-geosuggest/pull/213


Unpublish courses that will be archived

Some departments don't want to publish new courses until some old courses are archived.
The archiving process is currently happening outside of studio, but we still need to unpublish the courses from the ocw site.
There is a list of courses to be unpublished at https://docs.google.com/spreadsheets/d/1LgVlgFnEs6yuoljLGhe583bTC0hEl5RPB80RUat7noE/edit?pli=1#gid=0
Courses on the list that have been unpublished have a unpublish date indicated in column F.
Acceptance Criteria:

[ ] unpublish the courses listed on https://docs.google.com/spreadsheets/d/1LgVlgFnEs6yuoljLGhe583bTC0hEl5RPB80RUat7noE/edit?pli=1#gid=0
[ ] when a course is unpublish, set the unpublish date in the spreadsheet so the OCW team knows that it's done.

After the PR above is merged, this management command still needs to be run on the list of courses to be unpublished.

Reopening until these courses are actually unpublished in production.

Downloaded the Google Doc linked above as a CSV file, and processed it with the following Python script:
import csv
courselist = []
with open("NextGen OCW archiving tracker - Sheet1.csv") as FIN:
    reader = csv.reader(FIN)
    for row in reader:
        if row[8].strip() == "":
            courselist.append(row[4].split('/')[-2])
print(",".join(courselist))

This gives the --filter argument to the new unpublish_sites management command.

All of the dependencies have been resolved, all of the courses have been unpublished in production, and the Google Doc has been updated.


Mouse wheel no longer works while dragging

Hello, I'm not sure what code samples I could put here that would be helpful.. but my mouse scroll wheel works well when I'm in the example stories provided by dnd-kit, but it doesn't work in my own project.
Is there something that turns this functionality on/off ?

It's ok! Thanks! Did you find a way to get scrolling to work when not on the main document scroll?

Unfortunately no :(  I noticed that it works when you try to move mouse and scroll wheel at the same time.
I just turned on an automatic scroll when dragging block in the .
If you'll find some way to solve it please write about it here


Run some tests against a real dav server

I'm heading to bed now, but looking forward to land this 👍 great contribution.

Added the test scenarios from https://github.com/thephpleague/flysystem/blob/master/tests/ftp/FtpIntegrationTestCase.php. Could not extend from FtpIntegrationTestCase because the class has no namespace. Tests are failing due to https://github.com/thephpleague/flysystem-webdav/issues/53

Tests will run after https://github.com/thephpleague/flysystem-webdav/pull/57

Ready for review @frankdejonge


Invoke-RestMethod should have an -AsHashTable switch

Summary of the new feature / enhancement
For the same reason as ConvertFrom-Json has an -AsHashTable parameter (see: #3159), Invoke-RestMethod should have an -AsHashTable switch to convert to a HashTable (or an OrderedHashTable)
See e.g.: powershell add key value to the json
Proposed technical implementation details (optional)
No response

This would be useful. Somewhere - I can't remember where - I had to write code to convert the object returned back to hash table.

What happens when the payload is NOT JSON?

@BrucePay,

What happens when the payload is NOT JSON?

I guess a simple warning as:

WARNING:  Cannot convert, or deserialize, the returned content into HashTable

and returning the content "as is", will do.
In general, I don't see any issue when the -AsHashTable switch is given and it is able to convert it into a [PSCustomObject] to convert it into a [OrderedHashTable] instead.
Meaning:

PowerShell formats the response based to the data type. For an RSS or ATOM feed, PowerShell returns the Item or
Entry XML nodes. For JavaScript Object Notation (JSON) or XML, PowerShell converts, or deserializes, the content
into [PSCustomObject] objects or an [OrderedHashTable] in case the -AsHashTable switch is set.

XML could be converted to a hashtable, but I suspect no one actually wants that.  Perhaps in this case such a switch needs to be more explicit like -JsonAsHashtable where it's documented that it's a no-op if not JSON?

Please either mark this issue with something like Resolution-Declined or put it on a kind of wishlist "Issue we would like to prioritize, but we can't commit we will get to it yet"

XML could be converted to a hashtable, but I suspect no one actually wants that. Perhaps in this case such a switch needs to be more explicit like -JsonAsHashtable where it's documented that it's a no-op if not JSON?

I'm good with this.

Please either mark this issue with something like Resolution-Declined,  Up-for-Grabs, or put it on a kind of wishlist "Issue we would like to prioritize, but we can't commit we will get to it yet"


Cursor position moves to the end of file at save

I have noticed that once saved my change, cursor position moved to the end of file on both scroll off and on mode. Please fix or let me know if there is any configuration change for this.

@PraAnj  the issue should be resolved in the newer version of the extension

This is verified. Thanks.


Fix to accept longer order names

NumPy still supports longer order names (although it emits DeprecationWarning).
Fixes the issue introduced in #1385.

Jenkins CI test (for commit f549f6b7a3c428e4212355e2ce8079aac06c3cc2) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

LGTM!


Uninstall ?

How can I uninstall the language packages, I can not get them out.

How did you install the package?

For now we are leaving the Spanish language, the have good food for themselves.
Van: Justin van Elst<EMAIL_ADDRESS>Verzonden: donderdag 19 oktober 2017 17:04
Aan: Magento2Translations/language_es_es
CC: Fine Food Club; Author
Onderwerp: Re: [Magento2Translations/language_es_es] Uninstall ? (#4)
How did you install the package?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Magento2Translations/language_es_es/issues/4#issuecomment-337936752 , or mute the thread https://github.com/notifications/unsubscribe-auth/AbCsK4f9jLsSKnzwXkRcknlDVB8vfofVks5st2TEgaJpZM4PM91o .  https://github.com/notifications/beacon/AbCsK4_lMVQCQBYP-xdvkwKFodbH6osoks5st2TEgaJpZM4PM91o.gif


Set version to v0.29.1

We will be making one final release of pennylane-sf in order to pin the version on pypi to pennylane<v0.30.0.

idk if it's a breaking change necessarily, but it doesn't really fit in any other category. lgtm! you can add yourself as a contributor if you want.. kinda looks like a ghost made this PR which is cool with me

@lillian542 also made a PR: https://github.com/PennyLaneAI/pennylane-sf/pull/134


GLONASS support

Is it possible to add support for GLONASS? My phone (Samsung Galaxy S9+) doesn't seem to support Galileo (or it's just not picking up the signal in North America) but GLONASS does work.

You are geo-fenced in US but it should change in 2019. GLONASS is a bit annoying to implement.


Feature request: Removal or overwriting of builtin-ops

In this function, ops are verified to be unique
Due to this there is no possible way to disable builtin ops that may be harmful in some cases, such as op_panic, which blows up the thread containing the runtime.
Could this check be made optional, or could a method of removing ops be added? op_panic is causing a major headache for my crate, due to the denial-of-service vulnerability it causes
I can't even easily stub it out, since snapshots reset the ops list

You can disable an op like this: https://github.com/denoland/deno_core/blob/665a61d733d4c9cb18aa81c050c135b51e9b51f5/core/examples/disable_ops.rs#L12
Or override its implementation like this:
https://github.com/denoland/deno/blob/994b6327d3af5721fa4fcf6fbfe856a6f6da79cf/runtime/ops/os/mod.rs#L69-L73

well shit! Thanks!


laravel 8 not supported

Problem 1
- Root composer.json requires guzzlehttp/guzzle ^7.2, found guzzlehttp/guzzle[7.2.0] but the package is fixed to 6.5.5 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
Problem 2
- maxtee/blockchain dev-master requires illuminate/support 5.* -> found illuminate/support[v5.0.0, ..., 5.8.x-dev] but it conflicts with another require.
- Root composer.json requires maxtee/blockchain 9999999-dev -> satisfiable by maxtee/blockchain[].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.

try composer require maxtee/blockchain --ignore-platform-reqs


http-server did not handle  the connections which are need to be closed.

When I use Apache Bench to test the performance of beast, however i found that
the connection did not closed, this leading the test failed.
how to repair the problem?

I'm looking into it

I believe the problem has been resolved in 1.0.0-b7 can you please try it?


Unable to globally configure type discriminators

I have the following types:
public abstract class BaseType
{
	public int BaseProp { get; set; }
}

public sealed class DerivedType : BaseType
{
	public int DerivedProp { get; set; }
}

Without using the JsonInheritanceConverter attribute to add a discriminator to BaseType as suggested on this page:
https://github.com/RicoSuter/NJsonSchema/wiki/Inheritance
Is it possible to globally configure BaseType with this configuration? The reason I ask is because I'm unable to add this attribute to the type itself as it lives in a context that I can't add refer to NJsonSchema attributes.
I was hoping this could be achieved using the DiscriminatorSchemaProcessor processor, but adding this as a processor doesn't seem to have changed the JSON schema that's been generated.
https://github.com/RicoSuter/NJsonSchema/blob/master/src/NJsonSchema/Generation/SchemaProcessors/DiscriminatorSchemaProcessor.cs
The code I'm using to generate this schema is:
var settings = new JsonSchemaGeneratorSettings
{
	AllowReferencesWithProperties = true,
	GenerateAbstractProperties = true
};

var schema = new JsonSchema();
var resolver = new JsonSchemaResolver(schema, settings);
var generator = new JsonSchemaGenerator(settings);

var types = new Type[]
{
	typeof(BaseType),
	typeof(DerivedType)
};

foreach (var type in types)
{
	var typeSchema = generator.Generate(type, resolver);
	resolver.AppendSchema(typeSchema, type.FullName);
}

var json = schema.ToJson();

Console.WriteLine(json);

This produces the following JSON schema for these types:
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {
    "BaseType": {
      "type": "object",
      "x-abstract": true,
      "additionalProperties": false,
      "properties": {
        "BaseProp": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "DerivedType": {
      "allOf": [
        {
          "$ref": "#/definitions/BaseType"
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "DerivedProp": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      ]
    }
  }
}

If I add the following attribute to my definition of BaseType:
[Newtonsoft.Json.JsonConverter(typeof(NJsonSchema.Converters.JsonInheritanceConverter), "discriminator")]

I get the following JSON, which is what I'm after:
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {
    "BaseType": {
      "type": "object",
      "discriminator": {
        "propertyName": "discriminator",
        "mapping": {
          "DerivedType": "#/definitions/DerivedType"
        }
      },
      "x-abstract": true,
      "additionalProperties": false,
      "required": [
        "discriminator"
      ],
      "properties": {
        "BaseProp": {
          "type": "integer",
          "format": "int32"
        },
        "discriminator": {
          "type": "string"
        }
      }
    },
    "DerivedType": {
      "allOf": [
        {
          "$ref": "#/definitions/BaseType"
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "DerivedProp": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      ]
    }
  }
}

The discriminator value is present and that will allow the CS / TS generators I'm using to create the correct mappings.
Adding the following under the definition of generator seems to only produce the first JSON snippet without the discriminator property:
generator.Settings.SchemaProcessors.Add(new DiscriminatorSchemaProcessor(typeof(BaseType), "discriminator"));

Any ideas where I'm going wrong here, or perhaps another way I can achieve the same effect without editing the original type definitions?

Maybe it's best to clone this repo, create a unit test and debug the processor.

I believe I've been able to fix this - as the DiscriminatorSchemaProcessor makes the assumption that the type has already set the JsonInheritanceConverter using the JsonConverter, as I'm not setting this it failed to process the type.
I've created a custom processor with the same implementation of DiscriminatorSchemaProcessor except it sets the JsonInheritanceConverter of the schema's DiscriminatorObject and just added that per abstract type in my types library and this seems to give me the result I want.


better error when missing CTE

when using the --with argument, we access here; however, if the passed key does not exist, the error traceback is pretty long (see attached notebook).
Instead, we should raise an UsageError:
from IPython.core.error import UsageError

raise UsageError(f"{key!r} is not a valid snippet identifier")

To provide a more helpful message, we can also use difflib to check if there are any closes matches:

"subsett"  is not a valid snippet identifier. Did you mean "subset"?

If there are no close matches, we can display all available keys:

"subsett"  is not a valid snippet identifier. Valid identifiers are "one", "another", and "something"

sample notebook: sample.ipynb.zip

I can look into it!

regarding this: "To provide a more helpful message, we can also use difflib to check if there are any closes matches:"
The function difflib.get_close_matches(word, possibilities, n=3, cutoff=0.6) takes parameter possibilities as a list of sequences against which to match word, since key can be user defined example %%sql --save anupam I was wondering how should I pass on the possibilities list as there can be wide range of strings to compare from! am I doing something wrong here?

I think I will return the best match if it exist or else return the entire keys:
matches = difflib.get_close_matches(key, self._data)             if matches:                  raise UsageError(f"{key!r} is not a valid snippet identifier. Did you mean {matches[0]!r}?")             else:                  valid = ", ".join(f'"{key}"' for key in self._data.keys())                 raise UsageError(f"{key!r} is not a valid snippet identifier. Valid identifiers are {valid}.")
is this is a sound approach?

I think I will return the best match if it exist or else return the entire keys:
if key not in self._data:
            matches = difflib.get_close_matches(key, self._data)
            if matches:
                raise UsageError(f"{key!r} is not a valid snippet identifier. Did you mean {matches[0]!r}?")
            else:
                valid = ", ".join(f'"{key}"' for key in self._data.keys())
                raise UsageError(f"{key!r} is not a valid snippet identifier. Valid identifiers are {valid}.")

is this is a sound approach?


Feature request: HoverArea component

I've implemented hover area behaviour multiple times for the Box component. I wish gestalt had something out of the box. Hover area behaviour isn't always easy to get right, especially w.r.t accessibility so it would be better if gestalt handled it so we don't have bad hover area implementations floating around.
This is different from TapArea. I just want a component that tells me whether the mouse cursor is over something so that I can show some floating UI. For example, this is the UI I implemented in PDocs to add a expand/closeup button on the top right that only appears after I hover over a diagram:
Not hovered:

Hovered:

I implemented something like this to achieve this:
import { Box } from "gestalt";
import React, { ComponentProps, useCallback } from "react";

type Props = ComponentProps<typeof Box> & {
  onMouseHover: (hover: boolean) => void;
};

export const HoverArea: React.FC<Props> = (props) => {
  const { onMouseHover, ...boxProps } = props;
  const onMouseHoverOn = useCallback(() => onMouseHover(true), [onMouseHover]);
  const onMouseHoverOff = useCallback(() => onMouseHover(false), [onMouseHover]);
  return (
    <Box
      {...boxProps}
      onMouseOver={onMouseHoverOn}
      onMouseEnter={onMouseHoverOn}
      onMouseLeave={onMouseHoverOff}
    >
      {props.children}
    </Box>
  );
};

There are lots of examples out in the wild of people doing this:

ProductGroupCard: https://phabricator.pinadmin.com/diffusion/P/browse/master/webapp/app/analytics/react/components/ProductGroupCard/ProductGroupCard.js$94-103
FloatingActionButton: https://phabricator.pinadmin.com/diffusion/P/browse/master/webapp/app/www-unified/components/save/board/BoardOrganization/FloatingActionButton.js$46-54
UserSettingsPage: https://phabricator.pinadmin.com/diffusion/P/browse/master/webapp/app/www-unified/components/settings/UserSettingsPage/MenuList.js$69-72
MermaidDiagram: https://phabricator.pinadmin.com/source/bextools/browse/master/common/pdocs/client/components/MermaidDiagram.tsx$80

Yeah I imagine focus/blur is same as hover/leave so that I can tab to activate the hover state.
I didn't implement it in my case since I didn't think about that accessibility scenario and my case is internal only.

Makes sense. I think the main accessibility concern would be ensuring that it supports focus/blur (not a problem) and that there's a visual focus state (possibly a problem, depending on the need). With the implementations you've created, would a blue focus ring be a deal breaker?

I don't think it would be deal breaker for me if the blue focus ring appears. I'm assuming it would only appear during keyboard tab navigation.

Sorry for the delay — we discussed this in our team eng meeting today. Given that TapArea's onTap is optional, and that it has the mouse/focus handlers you need, it would seem that component would be the best fit here. That also has other built-in niceties like the ability to change the cursor and to connect the hoverable area to the popup content (accessibilityHaspopup and accessibilityControls). So your example could be something like
<Box>
  {isHovered && (
    <Box id="chart-expand-button">
      <ExpandButton />
    </Box>
  )}

  <TapArea
    accessibilityControls="chart-expand-button"
    accessibilityHaspopup={isHovered}
    onBlur={() => toggleHover(false)}
    onFocus={() => toggleHover(true)}
    onMouseEnter={() => toggleHover(true)}
    onMouseLeave={() => toggleHover(false)}
  >
    <Flowchart />
  </TapArea>
</Box>

That's roughly similar to what your HoverArea component is doing, with added accessibility features.
Would that work for this need?

Yeah that works for me.  But the issue for me isn't that I can't use TapArea, but rather that I don't want to re-implement this whenever I need a HoverArea.
I thought it would be a common enough use case that would warrant its own component. There are some implementation examples of HoverArea-like behaviour that are poorly implemented in pinboard. For example, missing blur/focus handlers or missing mouseOver handler (without it, I found that sometimes hover state doesn't activate).  Unfortunately some of the links I've shared are broken since it looks like things got refactored.

Makes sense. I think this falls into the category of stuff we'd love to build into Gestalt if we had infinite resources, but unfortunately won't make the cut. This should probably be a util component in Pinboard, at least.

I'm going to close this issue for now, but please feel free to re-open if needs change!


Feature Request: Support for non-standard cron expressions (@-expressions)

I'd be nice to have support for cron expressions starting with @. For example:

@reboot – run once at the startup
@yearly or @annualy – run once a year
@monthly – run once a month
@weekly – run once a week
@daily or @midnight – run once a day
@hourly – run hourly

Im currently using robfig/cron (which has support for this) but I want to migrate my project to pocketbase's built in cron.

I'll consider defining the tokens as aliases to their corresponding cron expression, with exception of @reboot because for me personally is ambiguous and it is not clear when will execute as the cron package has no relation to the application startup process.

with exception of @reboot

Agree, doesn't make much sense in this context

I forgot @every. This could be a little harder as I takes a string argument which needs to be parsed.
For example "@every 2m" or "every 1h".

No, sorry @every is not planned as it will require a completely different parser and will complicate unnecessary the implementation.

I've added the macros in the develop branch and it will be available with the next v0.18.0 release (there are no ETAs yet).
Note that there is nothing wrong of using a different cron package if you need something non-spec and more advanced.
The current PocketBase cron util is very rudimentary (it is under ~400 lines) and it was created primarily for the automated backups.


[go_router_builder][go_router] Exception thrown when parent route has $extra param

The generated extensions will pass route object to extra and read extra by casting it directly, which may cause type casting exception. The generated ParentRoute extension code of the example:
extension $ParentRouteExtension on ParentRoute {
  static ParentRoute _fromState(GoRouterState state) => ParentRoute(
        $extra: state.extra as int?, // When state.extra is [ChildRoute], it will throw exception.
      );

  String get location => GoRouteData.$location(
        '/',
      );

  void go(BuildContext context) => context.go(location, extra: this);

  void push(BuildContext context) => context.push(location, extra: this);
}

The example is using go_router 4.0.0 and go_router_builder 1.0.5.
(Another issue found when writing this example, if I add const to ParentRoute, it will generate something like this: :'(
extension $ParentRouteExtension on ParentRoute {
  static ParentRoute _fromState(GoRouterState state) => const ParentRoute( // Can't be `const` here
        $extra: state.extra as int?,
      );

  ...
}

Steps to Reproduce

Execute flutter pub run build_runner watch --delete-conflicting-outputs to generate extensions
Execute flutter run on the code sample
Click Go to child page button

Expected results:
Display ChildPage
Actual results:
Exception thrown.

Code sample
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

part 'main.g.dart';

@TypedGoRoute<ParentRoute>(
  path: '/',
  routes: <TypedGoRoute<GoRouteData>>[
    TypedGoRoute<ChildRoute>(
      path: 'child',
    )
  ],
)
class ParentRoute extends GoRouteData {
  ParentRoute({this.$extra});

  final int? $extra;

  @override
  Widget build(BuildContext context) => const ParentPage();
}

class ChildRoute extends GoRouteData {
  const ChildRoute();

  @override
  Widget build(BuildContext context) => const ChildPage();
}

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  MyApp({Key? key}) : super(key: key);

  late final _router = GoRouter(
    debugLogDiagnostics: true,
    routes: $appRoutes,
  );

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routeInformationParser: _router.routeInformationParser,
      routerDelegate: _router.routerDelegate,
      routeInformationProvider: _router.routeInformationProvider,
    );
  }
}

class ParentPage extends StatelessWidget {
  const ParentPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: () => const ChildRoute().go(context),
        child: const Text('Go to child page'),
      ),
    );
  }
}

class ChildPage extends StatelessWidget {
  const ChildPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const Center(
      child: Text('Child page'),
    );
  }
}

Logs

Launching lib/main.dart on Chrome in debug mode...
This app is linked to the debug service: ws://<IP_ADDRESS>:62216/VJ0Ejc_XtBE=/ws
Debug service listening on ws://<IP_ADDRESS>:62216/VJ0Ejc_XtBE=/ws
💪 Running with sound null safety 💪
Connecting to VM Service at ws://<IP_ADDRESS>:62216/VJ0Ejc_XtBE=/ws
Flutter Web Bootstrap: Programmatic
Restarted application in 983ms.
[GoRouter] known full paths for routes:
[GoRouter]   => /
[GoRouter]   =>   /child
[GoRouter] setting initial location null
[GoRouter] MaterialApp found
[GoRouter] going to /child
══╡ EXCEPTION CAUGHT BY GOROUTER ╞══════════════════════════════════════════════════════════════════
The following _Exception was thrown Exception during GoRouter navigation:
Exception: Expected a value of type 'int?', but got one of type 'ChildRoute'
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 84:3        castError
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 452:10  cast
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart 367:9        as
packages/flutter_application_1/main.g.dart 26:29                                  $36ParentRouteExtension$124_fromState
packages/go_router/src/route_data.dart 79:53                                      factoryImpl
packages/go_router/src/route_data.dart 86:28                                      pageBuilder
packages/go_router/src/go_router_delegate.dart 239:27                             getPages
dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 586:14                of
dart-sdk/lib/core/iterable.dart 470:12                                            toList
packages/go_router/src/go_router_delegate.dart 113:42                             [_builder]
packages/go_router/src/go_router_delegate.dart 90:41                              build
packages/flutter/src/widgets/basic.dart 7371:48                                   build
packages/flutter/src/widgets/framework.dart 4876:22                               build
packages/flutter/src/widgets/framework.dart 4806:15                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 4883:5                                update
packages/flutter/src/widgets/framework.dart 3530:14                               updateChild
packages/flutter/src/widgets/framework.dart 4832:16                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 5154:5                                update
packages/flutter/src/widgets/framework.dart 3530:14                               updateChild
packages/flutter/src/widgets/framework.dart 4832:16                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 5154:5                                update
packages/flutter/src/widgets/framework.dart 3530:14                               updateChild
packages/flutter/src/widgets/framework.dart 4832:16                               performRebuild
packages/flutter/src/widgets/framework.dart 4977:11                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 2659:18                               buildScope
packages/flutter/src/widgets/binding.dart 891:9                                   drawFrame
packages/flutter/src/rendering/binding.dart 370:5                                 [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1146:15                               [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1083:9                                handleDrawFrame
packages/flutter/src/scheduler/binding.dart 997:5                                 [_handleDrawFrame]
lib/_engine/engine/platform_dispatcher.dart 1090:13                               invoke
lib/_engine/engine/platform_dispatcher.dart 160:5                                 invokeOnDrawFrame
lib/_engine/engine/initialization.dart 194:45                                     <fn>
════════════════════════════════════════════════════════════════════════════════════════════════════

Analyzing flutter_application_1...
No issues found! (ran in 1.5s)

[✓] Flutter (Channel stable, 3.0.1, on macOS 12.1 21C52 darwin-arm, locale en-HK)
    • Flutter version 3.0.1 at /Users/hei/Development/sdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (4 weeks ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/hei/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] VS Code (version 1.68.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 102.0.5005.115

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Issue is reproducible using the code sample provided.
It seems like this is an issue with using $extra specifically.
I tried $anyRouteExtra and extra, but it didn't reproduce in either case.

videos

$anyRouteExtra/extra
$extra

code sample
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

part 'main.g.dart';

@TypedGoRoute<ParentRoute>(
  path: '/',
  routes: <TypedGoRoute<GoRouteData>>[
    TypedGoRoute<ChildRoute>(
      path: 'child',
    )
  ],
)
class ParentRoute extends GoRouteData {
  // ParentRoute({this.$anyRouteExtra});
  ParentRoute({this.$extra});

  // final int? $anyRouteExtra;
  final int? $extra;

  @override
  Widget build(BuildContext context) => const ParentPage();
}

class ChildRoute extends GoRouteData {
  const ChildRoute();

  @override
  Widget build(BuildContext context) => const ChildPage();
}

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  MyApp({Key? key}) : super(key: key);

  late final _router = GoRouter(
    debugLogDiagnostics: true,
    routes: $appRoutes,
  );

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routeInformationParser: _router.routeInformationParser,
      routerDelegate: _router.routerDelegate,
      routeInformationProvider: _router.routeInformationProvider,
    );
  }
}

class ParentPage extends StatelessWidget {
  const ParentPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: () => const ChildRoute().go(context),
        child: const Text('Go to child page'),
      ),
    );
  }
}

class ChildPage extends StatelessWidget {
  const ChildPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const Center(
      child: Text('Child page'),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.2, on macOS 12.3.1 21E258 darwin-arm, locale en-GB)
    • Flutter version 3.0.2 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cd41fdd495 (9 days ago), 2022-06-08 09:52:13 -0700
    • Engine revision f15f824b57
    • Dart version 2.17.3
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.68.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (3 available)
    • Nexus (mobile)  • 00008020-001875E83A38002E • ios            • iOS 15.5 19F77
    • macOS (desktop) • macos                     • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 102.0.5005.115

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1287, on macOS 12.3.1 21E258 darwin-arm, locale en-GB)
    • Flutter version 3.1.0-0.0.pre.1287 at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d08a1b02ae (3 hours ago), 2022-06-17 01:38:09 -0400
    • Engine revision ee71e31c36
    • Dart version 2.18.0 (build 2.18.0-190.0.dev)
    • DevTools version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E500a
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.68.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.42.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 102.0.5005.115
    ! Error: Nexus is not connected. Xcode will continue when Nexus is connected. (code -13)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

logs
Launching lib/main.dart on macOS in debug mode...
objc[95432]: Class AppleTypeCRetimerRestoreInfoHelper is implemented in both /usr/lib/libauthinstall.dylib (0x1ea1d5eb0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1048604f8). One of the two will be used. Which one is undefined.
objc[95432]: Class AppleTypeCRetimerFirmwareAggregateRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x1ea1d5f00) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x104860548). One of the two will be used. Which one is undefined.
objc[95432]: Class AppleTypeCRetimerFirmwareRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x1ea1d5f50) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x104860598). One of the two will be used. Which one is undefined.
objc[95432]: Class ATCRTRestoreInfoFTABFile is implemented in both /usr/lib/libauthinstall.dylib (0x1ea1d5fa0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1048605e8). One of the two will be used. Which one is undefined.
objc[95432]: Class AppleTypeCRetimerFirmwareCopier is implemented in both /usr/lib/libauthinstall.dylib (0x1ea1d5ff0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x104860638). One of the two will be used. Which one is undefined.
objc[95432]: Class ATCRTRestoreInfoFTABSubfile is implemented in both /usr/lib/libauthinstall.dylib (0x1ea1d6040) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x104860688). One of the two will be used. Which one is undefined.
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:00008103-000329201AD1001E }
{ platform:macOS, arch:x86_64, id:00008103-000329201AD1001E }
Connecting to VM Service at ws://<IP_ADDRESS>:53354/y7V7tYos8Mo=/ws
[GoRouter] known full paths for routes:
[GoRouter]   => /
[GoRouter]   =>   /child
[GoRouter] setting initial location null
[GoRouter] MaterialApp found
[GoRouter] going to /child
flutter: ══╡ EXCEPTION CAUGHT BY GOROUTER ╞══════════════════════════════════════════════════════════════════
flutter: The following _Exception was thrown Exception during GoRouter navigation:
flutter: Exception: type 'ChildRoute' is not a subtype of type 'int?' in type cast
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      $ParentRouteExtension._fromState
flutter: #1      GoRouteData.$route.factoryImpl
flutter: #2      GoRouteData.$route.pageBuilder
flutter: #3      GoRouterDelegate.getPages
flutter: #4      _SyncIterator.moveNext (dart:core-patch/core_patch.dart:186:26)
flutter: #5      new _GrowableList._ofOther (dart:core-patch/growable_array.dart:202:26)
flutter: #6      new _GrowableList.of (dart:core-patch/growable_array.dart:152:26)
flutter: #7      new List.of (dart:core-patch/array_patch.dart:51:28)
flutter: #8      Iterable.toList (dart:core/iterable.dart:470:12)
flutter: #9      GoRouterDelegate._builder
flutter: #10     GoRouterDelegate.build
flutter: #11     Builder.build
flutter: #12     StatelessElement.build
flutter: #13     ComponentElement.performRebuild
flutter: #14     Element.rebuild
flutter: #15     StatelessElement.update
flutter: #16     Element.updateChild
flutter: #17     ComponentElement.performRebuild
flutter: #18     Element.rebuild
flutter: #19     ProxyElement.update
flutter: #20     Element.updateChild
flutter: #21     ComponentElement.performRebuild
flutter: #22     Element.rebuild
flutter: #23     ProxyElement.update
flutter: #24     Element.updateChild
flutter: #25     ComponentElement.performRebuild
flutter: #26     StatefulElement.performRebuild
flutter: #27     Element.rebuild
flutter: #28     BuildOwner.buildScope
flutter: #29     WidgetsBinding.drawFrame
flutter: #30     RendererBinding._handlePersistentFrameCallback
flutter: #31     SchedulerBinding._invokeFrameCallback
flutter: #32     SchedulerBinding.handleDrawFrame
flutter: #33     SchedulerBinding._handleDrawFrame
flutter: #34     _invoke (dart:ui/hooks.dart:148:13)
flutter: #35     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:318:5)
flutter: #36     _drawFrame (dart:ui/hooks.dart:115:31)
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════

The $extra param is used to pass an extra object while $anyRouteExtra is treated as a query param. You may find the differences with the generated code:
Using $extra:
extension $ParentRouteExtension on ParentRoute {
  static ParentRoute _fromState(GoRouterState state) => ParentRoute(
        $extra: state.extra as int?, // When state.extra is [ChildRoute], it will throw exception.
      );
...
}

Using $anyRouteExtra
extension $ParentRouteExtension on ParentRoute {
  static ParentRoute _fromState(GoRouterState state) => ParentRoute(
        $anyRouteExtra: _$convertMapValue(
            r'$any-route-extra', state.queryParams, int.parse),
      );
...
}

Here's another example that requires $extra:

Code sample

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

part 'main.g.dart';

class Data {
  const Data();
}

@TypedGoRoute<ParentRoute>(
  path: '/',
  routes: <TypedGoRoute<GoRouteData>>[
    TypedGoRoute<ChildRoute>(
      path: 'child',
    )
  ],
)
class ParentRoute extends GoRouteData {
  ParentRoute({this.$extra});

  final Data? $extra;

  @override
  Widget build(BuildContext context) => const ParentPage();
}

class ChildRoute extends GoRouteData {
  const ChildRoute();

  @override
  Widget build(BuildContext context) => const ChildPage();
}

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  MyApp({Key? key}) : super(key: key);

  late final _router = GoRouter(
    debugLogDiagnostics: true,
    routes: $appRoutes,
  );

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routeInformationParser: _router.routeInformationParser,
      routerDelegate: _router.routerDelegate,
      routeInformationProvider: _router.routeInformationProvider,
    );
  }
}

class ParentPage extends StatelessWidget {
  const ParentPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: () => const ChildRoute().go(context),
        child: const Text('Go to child page'),
      ),
    );
  }
}

class ChildPage extends StatelessWidget {
  const ChildPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const Center(
      child: Text('Child page'),
    );
  }
}

logs
Launching lib/main.dart on Chrome in debug mode...
This app is linked to the debug service: ws://<IP_ADDRESS>:53362/uaeZoQ-2jDY=/ws
Debug service listening on ws://<IP_ADDRESS>:53362/uaeZoQ-2jDY=/ws
💪 Running with sound null safety 💪
Connecting to VM Service at ws://<IP_ADDRESS>:53362/uaeZoQ-2jDY=/ws
Flutter Web Bootstrap: Programmatic
[GoRouter] known full paths for routes:
[GoRouter]   => /
[GoRouter]   =>   /child
[GoRouter] setting initial location null
[GoRouter] MaterialApp found
[GoRouter] going to /child
══╡ EXCEPTION CAUGHT BY GOROUTER ╞══════════════════════════════════════════════════════════════════
The following _Exception was thrown Exception during GoRouter navigation:
Exception: Expected a value of type 'Data?', but got one of type 'ChildRoute'
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 84:3        castError
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 452:10  cast
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart 367:9        as
packages/flutter_application_1/main.g.dart 26:29                                  $36ParentRouteExtension$124_fromState
packages/go_router/src/route_data.dart 79:53                                      factoryImpl
packages/go_router/src/route_data.dart 86:28                                      pageBuilder
packages/go_router/src/go_router_delegate.dart 239:27                             getPages
dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 586:14                of
dart-sdk/lib/core/iterable.dart 470:12                                            toList
packages/go_router/src/go_router_delegate.dart 113:42                             [_builder]
packages/go_router/src/go_router_delegate.dart 90:41                              build
packages/flutter/src/widgets/basic.dart 7371:48                                   build
packages/flutter/src/widgets/framework.dart 4876:22                               build
packages/flutter/src/widgets/framework.dart 4806:15                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 4883:5                                update
packages/flutter/src/widgets/framework.dart 3530:14                               updateChild
packages/flutter/src/widgets/framework.dart 4832:16                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 5154:5                                update
packages/flutter/src/widgets/framework.dart 3530:14                               updateChild
packages/flutter/src/widgets/framework.dart 4832:16                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 5154:5                                update
packages/flutter/src/widgets/framework.dart 3530:14                               updateChild
packages/flutter/src/widgets/framework.dart 4832:16                               performRebuild
packages/flutter/src/widgets/framework.dart 4977:11                               performRebuild
packages/flutter/src/widgets/framework.dart 4529:5                                rebuild
packages/flutter/src/widgets/framework.dart 2659:18                               buildScope
packages/flutter/src/widgets/binding.dart 891:9                                   drawFrame
packages/flutter/src/rendering/binding.dart 370:5                                 [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1146:15                               [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1083:9                                handleDrawFrame
packages/flutter/src/scheduler/binding.dart 997:5                                 [_handleDrawFrame]
lib/_engine/engine/platform_dispatcher.dart 1090:13                               invoke
lib/_engine/engine/platform_dispatcher.dart 160:5                                 invokeOnDrawFrame
lib/_engine/engine/initialization.dart 194:45                                     <fn>
════════════════════════════════════════════════════════════════════════════════════════════════════

This works when using push but throws an exception when using go, so I reverted to using push for now but it'd be great to get this fixed 🙏

I'm facing the same problem using both push and go.
As a workaround I'm currently avoiding nesting such routes like so:
from this:
@TypedGoRoute<EntityListPageData>(
  path: 'entity',
  routes: [
    TypedGoRoute<EntityDetailsPageData>(
      path: ':id',
      routes: [
        TypedGoRoute<RulesPageData>(
          path: 'rules',
        ),
        TypedGoRoute<StaffPageData>(
          path: 'staff',
        ),
        TypedGoRoute<FeedbackPageData>(
          path: 'feedback',
        ),
      ]
    ),
  ],
)

to this:
@TypedGoRoute<EntityListPageData>(
  path: 'entity',
  routes: [
    TypedGoRoute<EntityDetailsPageData>(
      path: ':id',
    ),
    TypedGoRoute<RulesPageData>(
      path: ':id/rules',
    ),
    TypedGoRoute<StaffPageData>(
      path: ':id/staff',
    ),
    TypedGoRoute<FeedbackPageData>(
      path: ':id/feedback',
    ),
  ],
)

Same issue here. When using $extra on a route and an other $extra on the sub route the sub route is no longer working.
An attempt is made to use the type of the previous route for the $extra cast.
[GoRouter] pushing /xbox-games/xbox-game-achievements/306230746/xbox-achievement/1
[log] type 'XboxGameAchievementRoute' is not a subtype of type 'XboxGameAchievementsExtra?' in type cast

@TypedGoRoute<XboxGameListRoute>(
  path: 'xbox-games',
  routes: [
    TypedGoRoute<XboxGameAchievementsRoute>(
      path: 'xbox-game-achievements/:gameId',
      routes: [
        TypedGoRoute<XboxGameAchievementRoute>(
          path: 'xbox-achievement/:achievementId',
        ),
      ],
    ),
  ],
)

class XboxGameListRoute extends GoRouteData {
  const XboxGameListRoute();

  @override
  Widget build(BuildContext context) => Container();
}

class XboxGameAchievementsRoute extends GoRouteData {
  const XboxGameAchievementsRoute({this.$extra});

  final XboxGameAchievementsExtra? $extra;

  @override
  Widget build(BuildContext context) => Container();
}

class XboxGameAchievementRoute extends GoRouteData {
  const XboxGameAchievementRoute({
    this.$extra,
  });

  final XboxAchievementData? $extra;

  @override
  Widget build(BuildContext context) => Container();
}

Huge problem , update please.

Experiencing the same here, hope this can be solved as soon as possible, crucial problem.

I am also experiencing the same issue in both .push and .go , update please.

any updates?

Arrqw screen refreshMODEL:RO-65LHSأُرسلت من الـ iPadفي ٠٧/٠٦/٢٠٢٣ الساعة ٤:٥١ ص، كتب/كتبت joo6077 @.***>:
any updates?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

any updates

it've been a year, fix it please 😢

I faced this issue and resolved it by passing a non-null extra parameter to the child route

Any updates on this? Is there a workaround?

It's been quite a long time.
There were ways to solve this issue. Saving the instance we made in state management and then getting it on the next page,
or calling rest API twice is never acceptable to me.
I came up with a solution inspired by an API call.
What if we pass the instance as a JSON string? Because go_router_builder supports primary types.

YOUR_INSTANCE to JSON
Encode JSON => string
Decode string to JSON
Convert JSON to YOUR_INSTANCE.fromJson()

BenefitResultRoute(lastUsedStoreJsonStr: jsonEncode(lastUsedStore.toJson())).go(context); // 1, 2

class HomeRoute extends GoRouteData {
  final String? benefitPackResultsJsonStr;
  const HomeRoute({this.benefitPackResultsJsonStr});

  @override
  Widget build(BuildContext context, GoRouterState state) {
    final jsonDecodeResult =
        jsonDecode(benefitPackResultsJsonStr ?? '[]') as List; // 3

    final benefitPackResults = jsonDecodeResult
        .map((e) =>
            BenefitPackageSuccessEntity.fromJson(e as Map<String, dynamic>))
        .toList(); // 4

    return HomeView(
      benefitPackResults: benefitPackResults,
    );
  }
}

class HomeView extends ConsumerStatefulWidget {
  final List<BenefitPackageSuccessEntity> benefitPackResults;

  const HomeView({
    super.key,
    required this.benefitPackResults,
  });

  @override
  ConsumerState<HomeView> createState() => _HomeViewState();
}

Same issue

So i was trying to fix something for the last 3 hours, just to come here and see that its an issue.
Is there any Update?

It's not the best solution, but you can just make the parent extra field dynamic, it should work.
final dynamic $extra;

Here's an updated example that still produces the issue with latest version 14.2.7:
@TypedGoRoute<HomeRoute>(
  path: '/',
  routes: <TypedGoRoute<GoRouteData>>[
    TypedGoRoute<ScreenARoute>(
      path: 'screen-a',
      routes: <TypedGoRoute<GoRouteData>>[
        TypedGoRoute<ScreenBRoute>(
          path: 'screen-B',
        )
      ],
    )
  ],
)
class HomeRoute extends GoRouteData {
  const HomeRoute();

  @override
  Widget build(BuildContext context, GoRouterState state) => const HomeScreen();
}

class ScreenARoute extends GoRouteData {
  const ScreenARoute(this.$extra);
  final ScreenAParams $extra;

  @override
  Widget build(BuildContext context, GoRouterState state) => ScreenA(params: $extra);
}

class ScreenBRoute extends GoRouteData {
  const ScreenBRoute(this.$extra);
  final ScreenBParams $extra;

  @override
  Widget build(BuildContext context, GoRouterState state) => ScreenB(params: $extra);
}

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  MyApp({Key? key}) : super(key: key);

  late final _router = GoRouter(
    debugLogDiagnostics: true,
    routes: $appRoutes,
  );

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routeInformationParser: _router.routeInformationParser,
      routerDelegate: _router.routerDelegate,
      routeInformationProvider: _router.routeInformationProvider,
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('HomeScreen'),
      ),
      body: Center(
        child: TextButton(
          onPressed: () {
            const ScreenARoute(ScreenAParams('a-param')).go(context);
          },
          child: const Text('GO to Screen-A'),
        ),
      ),
    );
  }
}

class ScreenAParams {
  const ScreenAParams(this.value);

  final String value;
}

class ScreenA extends StatelessWidget {
  const ScreenA({required this.params, super.key});

  final ScreenAParams params;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Screen A'),
      ),
      body: Center(
        child: TextButton(
          onPressed: () {
            const ScreenBRoute(ScreenBParams('B-param')).go(context);
          },
          child: const Text('GO to Screen-B'),
        ),
      ),
    );
  }
}

class ScreenBParams {
  const ScreenBParams(this.value);

  final String value;
}

class ScreenB extends StatelessWidget {
  const ScreenB({required this.params, super.key});

  final ScreenBParams params;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Screen B'),
      ),
      body: Center(
        child: TextButton(
          onPressed: () => const HomeRoute().go(context),
          child: const Text('GO to Home'),
        ),
      ),
    );
  }
}


[BUG] CPU Metrics incorrectly showing as 0

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
We are monitoring a Linux EC2 instance using the latest version of YACE. YACE appears to not be pulling CPU Utilization metrics from Cloudwatch but is pulling other metrics with respect to the same EC2 instance.
Example:
Cloudwatch shows data

YACE Exported Data:
aws_ec2_cpuutilization_average{account_id="<accountnumber>",dimension_AutoScalingGroupName="",dimension_ImageId="",dimension_InstanceId="i-<instancenumber>",dimension_InstanceType="",name="arn:aws:ec2:eu-west-2:<accountnumber>:instance/i-<instancenumber>",region="eu-west-2"} 0

Grafana showing the exported data:

We have discounted:

IAM permissions - these are the same as other EC2 instances which are pulling data
grafana  (stats in Grafana were identical to raw metrics from the exporter itself)
Added Maximum, Minimum and Sum options for the ec2cpuutilization metric to eliminate the average value as the cause. All metric statistic options showed a value of Zero.
Port-forwarded to the cloudwatch-exporter pod (YACE). All metrics here showed zero, thus eliminating Prometheus and Grafana as the root cause.

YACE Configuration is here and here.
Expected Behavior
We expect the metrics to be non-zero for CPU.
Steps To Reproduce
Unsure how reproducible this is given that other EC2 instances are exporting metrics.
To attempt to reproduce however, export CPU metrics on a linux instance using the latest YACE exporter.
Anything else?
This bug is being raised off of the back of this issue.

@Gary-H9 I'm seeing similar with RDS.  Did you manage to find a solution?

👋🏻 Hey @tonyfosterdev, apologies it was some time ago and my memory is a bit hazy on it.
My colleague put an up date here.
TLDR We weren't sure why but it started working.


Unknown font format

Describe the bug
Getting Unknown font format while generating pdf from node.js. It was generated yesterday.
I have 2 environments stag and prod. I was testing on stag so i build that i do npm i and this leads to download new version.
On production we have older one so it was working.
To Reproduce
try {
console.log("inputs are ::::::",inputs);
console.log("template is ::::::",template);
let pdf =   await generate({template, inputs,plugins: getPlugins()})
// res.set('Content-Type', 'application/pdf');
const pdfBase64 = Buffer.from(pdf).toString('base64'); // Convert PDF buffer to base64
// const newPdf = await processPdfBase64(pdfBase64);
// res.set('Content-Disposition', attachment; filename=${pdfName}.pdf);
// fs.writeFileSync(path.join(__dirname, test.pdf), pdf);
// res.set('Content-Length', pdf.length);
// Send the PDF as the response
// res.end(pdf);
res.json({
filename: ${pdfName}.pdf,
base64: pdfBase64
});
}catch (err){
req.log.info("Error generating PDF:", err);
res.status(500).send('Error generating PDF',err.message);
}
Expected behavior
PDF must be generated.
Your Environment
"@pdfme/common": "^3.4.3",
    "@pdfme/generator": "^3.4.3",
    "@pdfme/schemas": "^3.4.3",
    "@pdfme/ui": "^5.1.5",
- Operating system:
- Node.js version or Browser name & version:  node:current-alpine

Your Error Log
gm566","pid":1,"req_id":"49c6355d-a58b-4a05-b77b-9b2666a0ff90","level":30,"msg":"Error generating PDF: Error: Unknown font format\n    at Object.$59aa4ed98453e1d4$export$185802fd694ee1f5 (/usr/src/app/node_modules/fontkit/dist/main.cjs:60:11)\n    at getFontKitFont (/usr/src/app/node_modules/@pdfme/schemas/dist/cjs/src/text/helper.js:105:33)\n    at pdfRender (/usr/src/app/node_modules/@pdfme/schemas/dist/cjs/src/text/pdfRender.js:47:40)\n    at generate (/usr/src/app/node_modules/@pdfme/generator/dist/cjs/src/generate.js:61:23)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async Object.downloadPdf (/usr/src/app/helper/submission.js:222:21)\n    at async downloadPdf

Additional context
No response

It appears that fontkit does not like your font file.
Can you share the font file that you are using? What format is it? OTF? TTF?

Not using Any file. It is coming due to FROM node:current-alpine in my docker file and it is installing updated alpine version.
Fixed when i used FROM node:20-alpine3.17 in my docker file


Migration of sapir from UAlberta/IST to Compute Canada/Westgrid

For practical reasons (our support for sapir storage is ending), this needs to take place during November, and at the very latest before the end of this year.

We have today received the first embryo of persistent cloud computing resources from Compute Canada, which now needs to be set up by ARC.

This migration from sapir to whorf (running on CC servers) was implemented in May 2021.


After selecting a caption, the next click on a caption fails

When I select a caption, the next click on a caption does nothing. The caption selector only disappears.
I used captions from the Sintel movie for testing: https://durian.blender.org/download/

The second click adds ".mejs__offscreen" to ".mejs__captions-selector". I think the bug is around line 186 in tracks.js.

Thanks for reporting I'll check this shortly

Can you create a PR that solves this please? I'm currently short of time right now to fix this

No problem at all, this isn't an urgent issue. I'll try to fix it, but it's probably going to be next week or so.

Sounds good thanks for your help

Any updates on this one?

No, I didn't have time to work on it yet.

I'm looking into it today.

When I do npm install and run grunt, I get different builds even without making any changes. No idea why and I don't want to create pull requests with possibly wrong builds, so I will list the proposed changes here.
Captions usability: Give labels 100% width to make clicking easier.
mediaelementplayer.css:593
.mejs__captions-selector-list-item,
.mejs__chapters-selector-list-item {
    color: #fff;
    cursor: pointer;
    display: block;
    list-style-type: none !important;
    margin: 0 0 6px;
    overflow: hidden;
    padding: 0;
}

mediaelementplayer.css:619
.mejs__captions-selector-label,
.mejs__chapters-selector-label {
    cursor: pointer;
    float: left;
    font-size: 10px;
    line-height: 15px;
    padding: 4px 10px 0;
    width: 100%;
}

Now I'll try to find out why the captions selector breaks after one click.

Ok sounds good I'll wait for your feedback to integrate this completely. Thanks

Ok I found it. The setTrack method must set focus back to the player element (mep_0 etc). When the focus is on the input element, the next click doesn't work.

can you put the JS code for the setTrack method so I can set it on the src area and then compile it please?

How to get the current player ID, i.e. mep_0? I'm sure there's a method for that somewhere.

Or is it something like this:
if (trackId === 'none') {
			t.selectedTrack = null;
			removeClass(t.captionsButton, `${t.options.classPrefix}captions-enabled`);
		} else {
			for (let i = 0, total = t.tracks.length; i < total; i++) {
				const track = t.tracks[i];
				if (track.trackId === trackId) {
					if (t.selectedTrack === null) {
						addClass(t.captionsButton, `${t.options.classPrefix}captions-enabled`);
					}
					t.selectedTrack = track;
					t.captions.setAttribute('lang', t.selectedTrack.srclang);
					t.displayCaptions();
					break;
				}
			}
		}
                // Focus on player
                t.container.focus();

		const event = createEvent('captionschange', t.media);

Use t.container; that's the element you may be looking for

Adding this to the end of setTrack works nicely, but I don't know if it's the best way to fix it.
setTimeout(function() {
	t.container.focus();
}, 1000);

I'd add a little delay so the selected track is visible before disappearing.

Yeah it can work; however, if we do it that way it will affect accessibility. I'm trying to set it up so it won't affect this. I'll show you the snippet in a moment so you can test this once more using mouse and keyboard

Ok download the master branch and let me know if it works for you in the scenario I described above, please. Thanks for your help on this one

Yes, that's better! :+1: Are captions supposed to be selectable with the keyboard? That doesn't work, but it's not a problem.

They are selectable but once the caption menu is open, tab again to focus on the first element

I got it to work once, but don't even know how. When hovering the captions icon and using arrow up/down the volume controls come up.

When the caption button is focused, tab once more. That gives you access to the elements inside the menu using up/down arrows. If you are just focused on the button, up/down will trigger the volume manipulation

It works like that for now, but there is still a ticket to mimic what YouTube does: create a single button that controls all captions, speed, quality, etc. but I never got to work on it

Ok, that works.

Great! Should I close this ticket?

Done. Thanks again! :)

You are welcome


[jBallerina Debugger] Add variable evaluation support

Purpose
This PR introduces debug variable evaluation support, as the first milestone of the expression evaluation support.
Fixes #23070.
Samples
IntelliJ Plugin

Vscode Plugin

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[x] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #23345 into ballerina-1.2.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.2.x   #23345   +/-   ##
================================================
  Coverage            14.59%   14.59%
================================================
  Files                   51       51
  Lines                 1411     1411
  Branches               219      219
================================================
  Hits                   206      206
  Misses                1189     1189
  Partials                16       16

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 8832692...c284f24. Read the comment docs.


1719363 localization fix rename image

Updates related to User Story 1719363.

This PR is a minor change for a LOC fix.
#sign-off

Thank you for the PR, @john-par!


Python 3 compatibility

Now compatible with Python 2.6, 2.7 and Python 3.3+

@robertsimione This is awesome!  However to keep the commit history readable, could you please rebase into a single commit. Thanks.

Personally, I wouldn't necessarily agree with making it all one commit, but the commits should be atomic and all related changes should be grouped into single commits.  I think that the formatting changes should be moved out into a separate PR and this one be specific for Python 3 code changes.  Same thing with the changes that simplify the loops.
In the end I think this PR should be about 3 or so commits, 'Updating print to functions', 'Fixing urllib import', 'Updating shebang lines', 'Updating documentation for Py3'.
These are just some suggestions, but I think that would help clean it up a bit.

Also, is there any reason to add the from __future__ import print_function lines in files that don't use print?

@pferate I agree, more than one commit is acceptable. However, when there are four commits on changing the contributor's list, they could (and should) be easily rebased into a single commit.

Also, setup.py has some classifiers that do not match the new Python 3 update, but I can easily change that if you do not feel like adding that to this PR.

I have merged this PR into the dev branch using the command line, so I am going to close this PR.

@zachpanz88 when can we expect a release with this functionality.  Any plans?


[SPARK-19512][SQL] codegen for compare structs fails

What changes were proposed in this pull request?
Set currentVars to null in GenerateOrdering.genComparisons before genCode is called. genCode ignores INPUT_ROW if currentVars is not null and in genComparisons we want it to use INPUT_ROW.
How was this patch tested?
Added test with 2 queries in WholeStageCodegenSuite

Can one of the admins verify this patch?

add to whitelist

ok to test

Test build #72581 has started for PR 16852 at commit 9a8d853.

Test build #72581 has finished for PR 16852 at commit 9a8d853.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72581/
Test FAILed.

retest this please

Test build #72582 has started for PR 16852 at commit 9a8d853.

Test build #72582 has finished for PR 16852 at commit 9a8d853.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72582/
Test FAILed.

Test build #3565 has started for PR 16852 at commit 9a8d853.

Test build #3565 has finished for PR 16852 at commit 9a8d853.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Test build #3568 has started for PR 16852 at commit 9a8d853.

Test build #3568 has finished for PR 16852 at commit 9a8d853.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

LGTM - merging to master.

@bogdanrdc can you create a backport for branch-2.1?


Fix golint issues in maya/cmd/maya-apiserver/app/server/server.go

File: maya/cmd/maya-apiserver/app/server/server.go
Line 48: warning: comment on exported method MayaApiServer.BootstrapPlugins should be of the form "BootstrapPlugins ..." (golint)

Resources:
-> Contributors guide: https://github.com/openebs/openebs/blob/master/CONTRIBUTING.md
Complexity: Easy

I would like to solve this issue.

go ahea @md-yaseen . let me know if you need any help.


(GH-1208) Ensure Puppet agent version with apply_prep

This updates the apply_prep plan function to ensure the specified
version of the Puppet agent is installed on the target. Previously, the
apply_prep function would only install the agent if the target did not
have any version of the agent installed and did not have the
puppet-agent feature set. Now, apply_prep will always install the
specified version of the agent on the target, including when an
already-installed agent would be upgraded or downgraded to another
version.
Depends on https://github.com/puppetlabs/puppetlabs-puppet_agent/pull/457
Closes #1208

CLA signed by all contributors.


.itemsCallbackMultiChoice() overrides .content()

Hi there!
Not sure if this is intended behaviour or not,
but if you set both .content() and .itemsCallbackMultiChoice() on your dialog,
the content will never be shown.
I would expect it to be displayed above the multi-choice options.
Your thoughts?

Currently, this is intended behavior

Great library.
:+1: I needed this feature. Waiting for this enhancement.

Done https://github.com/afollestad/material-dialogs/commit/921e17c89275578847d13d9983aceb59012a132b

Release <IP_ADDRESS> is available now.

Yay! Thanks for the prompt fix :smile:

:+1: Thank you.