Displaying details of text inconsistencies causes vscode to freeze, crash and require restart

(Readers: Please +1 this issue if it also affects you)
To reproduce:

Create a markdown document with the following content:

### Conservation of energy

The bla bla conservation of energy.

Energy conservation is bla bla.

This is the conservation of bla.

More conservation here.

Grammarly will detect the (apparent) inconsistent capitalization of conservation (except it isn't even actually inconsistent because the capitalized version is in a heading).

Text inconsistencies Grammarly(20)

Hovering over any of the red lines, or accidently triggering the details, causes vscode to freeze entirely, crash and require a restart.
A popup error shows like in https://github.com/znck/grammarly/issues/97

Let me know if there is:

Any other information I can provide
Any kind of workaround to stop this occurring.

I've used your plugin since the very early days, and this has occurred on all versions of your plugin and all vscode versions.
I use a Mac.

Click to display the contents of the details in debug mode - which I can sometimes capture before the crash.
{
  "hidden": true,
  "category": "Inconsistency",
  "pid": 1026251,
  "rid": 1026251,
  "sid": 771099,
  "group": "Style",
  "pname": "Style/Inconsistency/Capitalization/Capitalization",
  "phash": "F1E39F09E6E11CFD33252AAB38AB0ADE",
  "pversion": "1.0.15316",
  "rev": 0,
  "replacements": [],
  "impact": "advanced",
  "extra_properties": {},
  "cardLayout": {
    "category": "General",
    "group": "Consistency",
    "groupDescription": "Fixes inconsistent formatting and spelling",
    "rank": 160,
    "outcome": "Correctness",
    "outcomeDescription": "Corrects misspellings, grammatical errors, missing and misused punctuation. Checks for natural phrasing and good word choice.",
    "outcomeRank": 10,
    "bundle": "Keep your style consistent",
    "bundleRank": 120
  },
  "categoryHuman": "Text inconsistencies",
  "updatable": true,
  "subalerts": [
    {
      "highlightText": "Conservation",
      "transformJson": {
        "context": {
          "s": 0,
          "e": 26
        },
        "highlights": [
          {
            "s": 4,
            "e": 16,
            "type": "main"
          }
        ]
      }
    },
    {
      "highlightText": "conservation",
      "transformJson": {
        "context": {
          "s": 103,
          "e": 129
        },
        "highlights": [
          {
            "s": 7,
            "e": 19,
            "type": "main"
          }
        ]
      }
    },
    {
      "highlightText": "conservation",
      "transformJson": {
        "context": {
          "s": 132,
          "e": 155
        },
        "highlights": [
          {
            "s": 5,
            "e": 17,
            "type": "main"
          }
        ]
      }
    }
  ],
  "labels": [],
  "cost": 1,
  "view": "all",
  "inline": "not_inline",
  "action": "alert",
  "id": 20,
  "raw": {
    "hidden": true,
    "category": "Inconsistency",
    "pid": 1026251,
    "rid": 1026251,
    "sid": 771099,
    "group": "Style",
    "pname": "Style/Inconsistency/Capitalization/Capitalization",
    "phash": "F1E39F09E6E11CFD33252AAB38AB0ADE",
    "pversion": "1.0.15316",
    "rev": 0,
    "replacements": [],
    "impact": "advanced",
    "extra_properties": {},
    "cardLayout": {
      "category": "General",
      "group": "Consistency",
      "groupDescription": "Fixes inconsistent formatting and spelling",
      "rank": 160,
      "outcome": "Correctness",
      "outcomeDescription": "Corrects misspellings, grammatical errors, missing and misused punctuation. Checks for natural phrasing and good word choice.",
      "outcomeRank": 10,
      "bundle": "Keep your style consistent",
      "bundleRank": 120
    },
    "categoryHuman": "Text inconsistencies",
    "updatable": true,
    "subalerts": [
      {
        "highlightText": "Conservation",
        "transformJson": {
          "context": {
            "s": 0,
            "e": 26
          },
          "highlights": [
            {
              "s": 4,
              "e": 16,
              "type": "main"
            }
          ]
        }
      },
      {
        "highlightText": "conservation",
        "transformJson": {
          "context": {
            "s": 103,
            "e": 129
          },
          "highlights": [
            {
              "s": 7,
              "e": 19,
              "type": "main"
            }
          ]
        }
      },
      {
        "highlightText": "conservation",
        "transformJson": {
          "context": {
            "s": 132,
            "e": 155
          },
          "highlights": [
            {
              "s": 5,
              "e": 17,
              "type": "main"
            }
          ]
        }
      }
    ],
    "labels": [],
    "cost": 1,
    "view": "all",
    "inline": "not_inline",
    "action": "alert",
    "id": 20
  }
}

and the log:
[Error - 5:03:10 PM] Request textDocument/codeAction failed.
  Message: Request textDocument/codeAction failed with message: Cannot read property 'length' of undefined
  Code: -32603

Stale after #232


REPL test client using go-prompt: testy-go

Hey c-bata,
I have created a REPL for running tests using go-prompt; testy-go
It would be awesome if you could add it to the projects section?
Thanks for all the hard work with go-prompt!

Added testy-go at c8c75cc
Thanks!


Update to use .pnp.cjs

The latest version of yarn v2 renamed .pnp.js to .pnp.cjs. Upgrading to it currently breaks jazelle, this fixes it

!land

!merge


Sending messages with large attachments fails silently

For example sending photos

22:39:43 DBG [SMTP] -> LOGIN authorized=true
22:39:43 DBG [SMTP] <- MAIL<EMAIL_ADDRESS>22:39:43 DBG [SMTP] -> MAIL
22:39:43 DBG [SMTP] <- RCPT<EMAIL_ADDRESS>22:39:43 DBG [SMTP] -> RCPT
22:39:43 DBG [SMTP] <- DATA
22:39:50 ERR [SMTP] -> DATA error="Maximum message size exceeded"
22:39:50 DBG [SMTP] reset
22:39:50 DBG [SMTP] logout

For now, increase max message size: https://github.com/regnull/ubikom/commit/aa5fee9395ef686c54350bdda776c662c3396a77

It still fails, but at least now there is an error message
01/12 01:10:51 ERR [SMTP] -> DATA error="read tcp <IP_ADDRESS>:465-><IP_ADDRESS>:59228: i/o timeout"

Not sure if this is still valid, closing it for now.


Allow two more customers to use the URL connectors. Requested by Paul…

Description
Allow two more customers to use the URL connectors. Requested by Pauline

Risk

@Yutcam is requesting us to hold on that before we get their approval. Not merging now.


The pre-built test example has moved

Following the instructions here doesn't seem to be working for me. Cloning and building work ok but the claptests executable is not created.
Rust Version
Rust: 1.21.0
Cargo: 0.22.0
Affected Version of clap
2.27.2
Expected Behavior Summary
Following the three steps should run an example use case of clap
Actual Behavior Summary
claptests is not created
Steps to Reproduce the issue
Three steps here

Apologies! Thank you for pointing this out! The examples/ directory have taken over for the old test binary.
You can test them out by doing:
$ cargo build --example <example>
    # such as cargo build --example 01a_quick_example

$ ./target/debug/examples 01a_quick_example --help
[ .. snip ]

You can also do a single run via
$ cargo run --example <example> -- [args]
    # such as cargo run --example 01a_quick_example -- --help
[ .. snip ]

I'll update the readme on the next PR. Thanks :+1:


Add CGroup CFS CPU limit support

Virtualization containers systems (such as Docker, Mesos, Kubernetes...) often relies on cgroup cpu to limit resources.

For archive purposes, discussion started here: https://github.com/gboucher90/coreclr/commit/bb5ab3a0a389987738873dec48e38ec66e7b808a


ONNXConstantOp custom assembly format

This makes the mlir assembly more concise and easier to read.
It also opens the door to print alternatives to DenseElementsAttr, like DenseResourceElementsAttr, in the same way as DenseElementsAttr to hide these internal representations.

@chentong319 @AlexandreEichenberger heads up that I plan to land this PR later today - it changes all the constants in the lit tests so any other existing PRs that edit lit tests are likely to encounter merge conflicts

Jenkins Linux s390x Build #8923 [push] ONNXConstantOp custom as... started at 13:49

Jenkins Linux amd64 Build #8907 [push] ONNXConstantOp custom as... started at 12:49

Jenkins Linux amd64 Build #8907 [push] ONNXConstantOp custom as... passed after 1 hr 8 min

Jenkins Linux s390x Build #8923 [push] ONNXConstantOp custom as... passed after 1 hr 29 min

Jenkins Linux ppc64le Build #7974 [push] ONNXConstantOp custom as... passed after 1 hr 38 min


Avoid stack overflow for completable future toStringOf (#762)

Check List:

Fixes #762
Unit tests : YES
Javadoc with a code example (API only) : NO

Sweet, will review it next week.

Thanks @fiery-phoenix  !

You are welcome :)


Consolidate workflows

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 72.02%. Comparing base (aa09576) to head (c67a131).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #292   +/-   ##
=======================================
  Coverage   72.02%   72.02%
=======================================
  Files          81       81
  Lines        1051     1051
  Branches      202      232   +30
=======================================
  Hits          757      757
+ Misses        294      282   -12
- Partials        0       12   +12

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Confusing initial visit to the discover landing page

When you click the Discover page, it starts with showing no resources. The empty table with headers and the color bar and the "Clear All" button seem out of place or daunting. I suggest the following changes for when a user first lands on the Discover landing page:

[ ] Do not show the table headers "Title Type, First Author," etc.
[ ] Do not show the "Clear All" button
[ ] Do not show the color gradient bar
[ ] Provide some instruction to the user on what they should do next, for example "Enter a search term to find resources on HydroShare:"

After the user enters some term in the box and some resources are found, then show the table headers, "Clear All" button, etc.

Thanks for the suggestions! Just made improvements on these items.


C#: Fix editor integration breaking and causing error spam when reloading assemblies fails

Fixes the error spam of https://github.com/godotengine/godot/issues/70026

The core issue is, that reloading user assemblies also reloads GodotTools. Then when the reloading fails all the callbacks registered from GodotTools are invalid and cause the errors and menu items and buttons no longer work.
To fix the issue, this implements a TODO about not reloading scripts (and Callables) from non-collectible assemblies and loads GodotTools as non-collectible (it can never change without an editor update anyways).
This is enough to fix the signal error spam, but because the timer to reload assembly now no longer breaks when assembly loading fails, the assembly reloading will now be reattempted forever spamming the .NET: Failed to load project assembly. error instead. Thus this PR also limits this to at most 5 attempts to reload the same project assembly. (If we give up on loading the assembly and the user changes things and rebuild, which now actually works from the editor, we will attempt to load it 5 times as well or maybe load it successfully)
Also upgrades the .NET: Failed to load project assembly. error to an editor message as otherwise there is very little indication for the user that anything has failed.
Not marking this as fixing the issue, as I haven't even started to look into why unloading even fails in the first place as that issue doesn't even have an MRP. Instead I used that the editor won't load preview versions of .net atm to produce a project that cannot be loaded: Test_70026.zip (This project required a .NET 8 preview installed to build, switching the target framework between net6.0 and net8.0 can be used to switch between a loadable and non-loadable project)
EDIT: This does actually fix the MRP from https://github.com/godotengine/godot/issues/72435, because while the first attempt at reloading fails, the editor integration no longer breaks at it does a second attempt, which then works (IMO the unloading should happen later after the script where unloaded to properly fix this, but that is for another PR)

Rebuilding the project in VS results in the Another resource is loaded from path 'res://xxx.cs' (possible cyclic resource inclusion). error, which causes [Export] to not update correctly.

Pretty sure that the resource loaded error predates this PR and this just gives it more opportunities to pop up. I'll take a look at it later fix it here or in another PR, depending on how it turns out.

I looked into things a bit more and it turns out unloading actually doesn't succeed at the second attempt, we just lost the reference to the old ALC and then load the project again without the old one being cleared out properly, which may be worth doing intentionally, but that should be a dedicated PR and discussion if we want to do that. Instead I make sure to preserve the weak reference to the ALC until it is actually unloaded.
Also because we now give it 5 attempts at reloading the assembly I reduced the unload timer to 1 second, so that we wait 5 * 1s instead of 5s once like before.
This "fixes" the apparent regressions from this PR by not reloading the assemblies when unloading fails.
RFC: I was going to open an issue about the causes of unloading failing and then link it from the error message about it so that users can get at starting point to look into this, because while the issue seems to have various ways which can trigger this issue, both MRPs actually fail to unload because they use third-party libraries that are not unloadable and the problems actually have nothing to do with Godot.
Is this something that should should be done / is there any preference for handling such a situation? (Using an issue over a docs page, to allow for easier discussions and to collect problematic libraries and actual problems with godot (if any))

I was going to open an issue about the causes of unloading failing and then link it from the error message about it so that users can get at starting point to look into this, because while the issue seems to have various ways which can trigger this issue, both MRPs actually fail to unload because they use third-party libraries that are not unloadable and the problems actually have nothing to do with Godot.
Is this something that should should be done / is there any preference for handling such a situation? (Using an issue over a docs page, to allow for easier discussions and to collect problematic libraries and actual problems with godot (if any))

I think it's fine to make a tracker for that and to leave a reference to the issue somewhere in the error log. I would probably make sure we only print this warning in editor builds, though. So it doesn't leak in logs created by projects and direct users of games made with Godot this way by mistake.

The issue referenced #70026 now has an MRP for 4.1 beta 1. Although it seems that it's harder to reproduce in 4.1 beta 2 & 4.0 but hopefully that's enough. If not I'll see if I can figure out another one.

I think it's fine to make a tracker for that and to leave a reference to the issue somewhere in the error log. I would probably make sure we only print this warning in editor builds, though. So it doesn't leak in logs created by projects and direct users of games made with Godot this way by mistake.

-> https://github.com/godotengine/godot/issues/78513 The whole assembly unloading is editor only anyways and not compiled into the templates (GD_MONO_HOT_RELOAD is basically an alias for TOOLS_ENABLED && MODULE_MONO_ENABLED)

Between the two of you, I think we're safe merging it as is, at least for now. Thanks!


Rule waiving

When executing rules in the evaluator, it might be possible that a rule violation is allowed in a certain project context. This would require a mechanism to tell the evaluator that a certain violation is waived.
This allows to have a clean report that does not contain uncommented rule violations which do not apply for the current situation.

IMO that's already possible via resolutions for rule violations. Does that cover the case you have in mind?

Closing this for now, feel free to reopen if necessary.


hamdash.html error

When I open the current version of hamdash.html that I downloaded with config.js and wheelzoom.js I get the site below. All files are in the same folder like the previous version. I had no issues with the old version.
What am I missing?

It seems you saved the github page instead of downloading the files.

Click on Code (green button) then  Download ZIP

That's what I missed. Thanks
On Mon, Nov 4, 2024 at 7:56 PM Pablo @.***> wrote:

It seems you saved the github page instead of downloading the files.
image.png (view on web)
https://github.com/user-attachments/assets/7da38982-2d20-4a1c-9c82-0de06c0f78ee
Click on Code (green button) then Download ZIP
—
Reply to this email directly, view it on GitHub
https://github.com/VA3HDL/hamdashboard/issues/35#issuecomment-2456061952,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMVJZNDH6RUZUQWBY55BCGDZ7AJTLAVCNFSM6AAAAABRFKIAUWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJWGA3DCOJVGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Error when creating stack

As I'm new to Portainer, I apologize if there is a simple solution to this or if this is somehow an issue with my environment.
I'm attempting to run Graylog, ES, and Mongo as a single logging stack for collecting and analyzing Dockers logs across my home automation system.  I am able to bring the stack up and down without a problem using the version 2 docker-compose.yml found in the attached zip archive.
docker-compose.zip
Bug description:
When attempting to deploy the same stack via the Portainer UI, it is failure with an OCI error.
Expected behavior
I expect the stack to deploy successfully as it does with docker-compose
Portainer Logs
I'm getting the following errors, 2 for each container (one "Failed Starting..." and one "Failed to start..."):
"Failed Starting elasticsearch : Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused \"process_linux.go:430: container init caused \\\"process_linux.go:396: setting cgroup config for procHooks process caused \\\\\\\"failed to write 0 to memory.swappiness: write /sys/fs/cgroup/memory/docker/63edff9f4786752511caf3ba7b629d6c77a0bd5a25973530ec220c31592c17e0/memory.swappiness: invalid argument\\\\\\\"\\\"\": unknown"
I'm then getting a final error:
2020/09/25 22:02:34 http error: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"process_linux.go:396: setting cgroup config for procHooks process caused \\\"failed to write 0 to memory.swappiness: write /sys/fs/cgroup/memory/docker/dbcd9a0b148fe7ab1495a84f41d43feadaa51d71d0bb7c4a674552a0d4d989e9/memory.swappiness: invalid argument\\\"\"": unknown (err=Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"process_linux.go:396: setting cgroup config for procHooks process caused \\\"failed to write 0 to memory.swappiness: write /sys/fs/cgroup/memory/docker/dbcd9a0b148fe7ab1495a84f41d43feadaa51d71d0bb7c4a674552a0d4d989e9/memory.swappiness: invalid argument\\\"\"": unknown) (code=500)
Steps to reproduce the issue:

From the "Stacks" tab, copy the contents of the attached file into the editor
Provide the stack name "graylog".  Leave all other settings at default.
Click "Deploy the Stack"
Observe error flashing in upper right corner along with failure to deploy

Technical details:

Portainer version: 2.0.0
Docker version (managed by Portainer): 18.09.8
Platform (windows/linux): Linux (Synology NAS)
Command used to start Portainer:
docker run -d -p 9091:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/NAS3DockerVolumes/portainer/data:/data portainer/portainer-ce:2.0.0
Browser: Microsoft Edge Version 85.0.564.51 (Official build) (64-bit)

Hi @wfscot ,
You may have a look here #2039 or #2576. Workaround from a related issue on synology add mem_swappiness: -1 on your docker-compose


build(compose): bump version to 0.6.1

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

Coverage data is based on head (b5758a3) compared to base (56286c4).
Patch has no changes to coverable lines.

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

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


refactor(deps): update environment files

Description

Cleaned up the env files. This should reduce the build size of the docker container while building.
Related Issue

See #359
Checklist

[X] I've formatted the PR title in accordance with the structure of the conventional commit messages.
[X] I've updated the code style using pre-commit if needed.
[X] I've updated or supplemented the documentation as needed.
[X] I've read the CODE_OF_CONDUCT.md document.
[X] I've read the CONTRIBUTING.md guide.

I really hope none of these dependencies will mess anything up

I really hope none of these dependencies will mess anything up

We can check rather than hoping 😉


feat: Add HasFPS, replacing FPSCounter

Description
This new implementation is more precise than the previous one (thanks @spydon), it still does not fully reflect the FPS from Flutter but it is a good performance indicator now.
Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[x] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[x] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[x] I have updated/added relevant examples in examples.

Breaking Change

[ ] Yes, this is a breaking change.
[x] No, this is not a breaking change.

Related Issues

I was actually wondering about the FPSCounter implementation since long time ago. Because my naive idea is to have
class FpsComponent extends Component {
  double fps = 0;

  @override
  void update(double dt) {
    fps = 1 / dt;
  }
}

So I am curious about what's the problem with this, why is the special PostFrameCallback needed?

I was actually wondering about the FPSCounter implementation since long time ago. Because my naive idea is to have
class FpsComponent extends Component {
  double fps = 0;

  @override
  void update(double dt) {
    fps = 1 / dt;
  }
}

So I am curious about what's the problem with this, why is the special PostFrameCallback needed?

I believe that was roughly what we had in the past, and while I don't remember the exact details that also did not fully reflect the FPS that the DevTools provide, because that is a value from our gameloop and not from the internal workings of Flutter.
I just tested this and it does only give me 60, 30, 20 values. For instance the 30 value it provides, the DevTools (and the new mixin) say that it is around 45fps.

I believe that was roughly what we had in the past, and while I don't remember the exact details that also did not fully reflect the FPS that the DevTools provide, because that is a value from our gameloop and not from the internal workings of Flutter.
I just tested this and it does only give me 60, 30, 20 values. For instance the 30 value it provides, the DevTools (and the new mixin) say that it is around 45fps.
And the reason we changed it to reflect closer to the DevTools was because people were constantly confused why it had a different value compared to the DevTools

If that is the number we previously got from the game-loop, wasn't our render loop actually running with the fps reported there?

If that is the number we previously got from the game-loop, wasn't our render loop actually running with the fps reported there?

There is a difference between flutter FPS and our game loop fps, the flutter one is what really renders and is visual. So when our 1 / dt reports 20 it really isn't running at 20 fps and that is also visually the case.
We originally decided that we wanted the FPS to reflect what Flutter is doing and not what our game loop is doing

We originally decided that we wanted the FPS to reflect what Flutter is doing and not what our game loop is doing

Right, so this is really the crux of the question: which measure of FPS is more adequate: Flame's or Flutter's?
The Flame FPS I understand quite well: there is a Ticker in the GameLoop that invokes the update/render callbacks a certain number of times per second. For example, if update+render is called 20 times in a second, then that's how often we update the positions of moving objects and state of the animation, and that's how often we draw these updates onto the canvas.
I suppose Flutter can have higher FPS than that. For example, Flutter may redraw the screen 100 times per second. However, since we only update the canvas 20 times per second, it would still "feel" like 20fps, wouldn't it? Or am I missing the mark here?

I suppose Flutter can have higher FPS than that. For example, Flutter may redraw the screen 100 times per second. However, since we only update the canvas 20 times per second, it would still "feel" like 20fps, wouldn't it? Or am I missing the mark here?

That is the issue, it doesn't feel or look like 20fps at all. I agree that this is a problem but for the sake of keeping this PR focused on what it is, this just makes it closes to the Flutter FPS.
I think we should have an issue about the potential of our gameloop being off or a different way of getting the exact values.

Opened https://github.com/flame-engine/flame/discussions/1584 so we can keep the discussion going!

Closing this in favor of https://github.com/flame-engine/flame/pull/1595


why can't I compile in my macOS? with Arm M3

i installed vulkan and which compiler should i use? gcc or clang?

macOS is currently not supported as when we wrote the book some of the Vulkan features weren't available on that platform. We also don't have access to an Arm based Mac to test a different toolchain.

Thanks @theWatchmen I found a way to link Vulkan with Mac OS arm i, I am using Bazel to compile the code and I am using Imgui to visualize if I can convert this repo i will put a link for it later


Add date of creation on metadata tables

For example on custom fields i need to see when this field has been created. is it like 3 years ago or what??

It's a recurrant ask to have this information.
The information is not accessible without any addition criteria.
In the tooling API, requesting CustomField will not get that information unless you select the field one by one (the information is in the hybrid field called Metadata)
see https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customfield.htm
In the Rest API / SOQL, requesting FieldDefinition without criteria is not working, you need to specify the id of the field or the id of the entity/object. So one field by one field OR all fields of the same object, object by object....
I could test accessing the data from tooling api FieldDefinition on the Tooling Api but i am affraid that would be the same thing as previously.
I could try to get that info from the metadata api... let's see !!


Notion reader #5 - Part 1

This is the first part of a change to address #5
Here I introduced two changes to FileDataReader

it is now possible to filter files to read based on extensions
the reader reads also file in subdirectories.

These changes are intended as a basis for creating a Notion Data Reader that filters files of type md and csv and that are present in subdirectories. This is because exporting data from Notion creates such a structure.
Please let me know if I am going in the right direction or if I have misunderstood something.

hey @f-lombardo ,
Yes perfect 👍!


Add a cli command to extract runtime version to be used in important release checks

Goal
The goal of this PR is Add a cli command to extract runtime version to be used in important release checks
part of: #625
Checklist

[ ] Chain spec updated
[ ] Custom RPC OR Runtime API added/changed? Updated js/api-augment.
[ ] Design doc(s) updated
[ ] Tests added
[ ] Benchmarks added
[ ] Weights updated


docker login

[Enter feedback here]

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

ID: d9769320-10f9-bc69-5b34-ab15e18fead2
Version Independent ID: d58f4440-c1a2-6035-fe96-b02ce7dab4ea
Content: Permissions to repositories in Azure Container Registry - Azure Container Registry
Content Source: articles/container-registry/container-registry-repository-scoped-permissions.md
Service: container-registry
GitHub Login: @dlepow
Microsoft Alias: danlep

@shwetazambre Thanks for your Feedback.
Can you please elaborate more on your ask by providing details feedback on the document that you are trying to provide.

@shwetazambre I will now proceed to close this issue.
You can open a new issue once you have the information ready or you can mention my name in the comment on this issue, that way I can reopen this issue and we will continue the discussion.


Removing reference to file that no longer exists

File removed in 8a62d0181a79a468927f13a2f189e8163a4be4d7

@yjsoon this extension currently cannot be added to MakeCode projects. Please merge this when you get a chance!

Good catch, thanks!

Thanks! Sorry, we forgot to update the tag as well. Should be working now.


added links to beinners guide for open source

This is great, thank you for contributing!!
Can I ask you to do two small things before we add this to the site?

fix a typo in "upstream"
add an <h2> before the links that says "helpful links" or something similar?

I think you should just be able to make the changes in your branch and commit again and it should show up in this PR?


Adding documentation for CLI Global Variables

Closes #298
cc - @NoSkillGirl

Hi @chipzoller, Thanks for the review! I've fixed the indentation. Let me know what you feel might be more appropriate for line 244, I'll push the change.

Pushed the indentation fix and clarified line 244.


Various spec blocks return raw Boolean values rather than using should-matchers

Throughout the specs, I've noticed a bunch of blocks ending with something like the following:
File.open('tracked-file', 'r').read == 'Hello World'

This simply returns a Boolean rather than actually performing a test. We know that this doesn't work, because the comparison evaluates to false (RHS should be "Hello World\n"), but the test still passes. It should be:
File.open('tracked-file', 'r').read.should == "Hello World\n"

Such invalid tests are peppered throughout the specs. I'm working on a PR now to clean them up.

Fixed by #151. Thanks!


Symbol is not cleared

Heltec Tracker Board
Latest firmware
Symbol in top right of the sceen eg car, bike, walker etc is not cleared before writing new symbol on config change with U button.  Results in an illegible symbol.
73 John GW4BVE

yes, know bug with TFT screens
will try to update it all very soon

I think these screens support colour too. It would be nice to use that!

soon will try to play with color, in the meantime , Symbol is cleared as needed


cleanup: switch deprecated oiio simd names to modern

Oops, I noticed that OSL was still using deprecated OIIO::simd type aliases (float4, int4, bool4) instead of the modern vfloat4, vint4, vbool4.

Does this seem acceptable?


User wildcard path for lint file list.

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


ListItemContent exports are wrong/inconsistent

There seems to be a problem with ListItemContent. If we're trying to use the plain (non-themed) component as follows:
import {ListItem} from 'react-toolbox/lib/list/ListItem';
We get the following error in the browser console:

Warning: Unknown props `caption`, `legend` on <span> tag. Remove these props from the element.

In my opinion, there is something wrong with the exports in the file "components/list/ListItemContent.js".
The following code:
const ListItemContent = themr(LIST)(InjectListItemText);
export default ListItemContent;
export { factory as listItemContentFactory };
export { ListItemContent };

should look as follows:
const ListItemContent = factory(InjectListItemText);
export default themr(LIST)(ListItemContent);
export { factory as listItemContentFactory };
export { ListItemContent };

(which would then be consistent with what is done in "components/list/ListItemLayout.js".)

Thanks!!


Refactor depositCap to use config in FleetCommanderContract

This pull request refactors the depositCap method in the FleetCommanderContract class to use the config method instead. The config method now returns an object that includes the depositCap value, along with other configuration parameters. This change improves the code structure and makes it easier to access the deposit cap value in the contract.

Summary by CodeRabbit

New Features

Introduced new functions for managing auction parameters in the AuctionManagerBase contract.
Added an event for tracking updates to auction default parameters.
Expanded the ABI for multiple contracts, adding new functions and enhancing error handling.

Bug Fixes

Enhanced error handling with new error types across various contracts.

Documentation

Updated ABI files to reflect new functions, events, and error types for better clarity and usability.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 71.43%. Comparing base (572d46d) to head (5235393).
Report is 1 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #553      +/-   ##
==========================================
+ Coverage   70.76%   71.43%   +0.66%
==========================================
  Files          25      154     +129
  Lines         260     1614    +1354
  Branches       19       97      +78
==========================================
+ Hits          184     1153     +969
- Misses         75      457     +382
- Partials        1        4       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


🚀 Feature: Add meter and logger for traceloop

Which component is this feature for?
Traceloop SDK
🔖 Feature description
Traceloop instrumentation only have tracer, how about add meter and logger to expose metrics and logs?
🎤 Why is this feature needed ?
opentelemetry support log, metrics and tracing, we should support all those.
✌ How do you aim to achieve this?
enable meter and logger.
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
Yes I am willing to submit a PR!

Cool @gyliu513 would love your assistance here! Note that work on metrics have began with #235

Thanks @nirga , this is great, will create PR for watsonx soon

Yes @gyliu513 I think that would be best.


[C3] Skip empty summary rows

What this PR solves / how to test
Hi :wave:,
Before getting side-tracked with #5482, I found that when using . as the project location, there was nowhere to cd to, so the first line in the next steps output summary was skipped. Instead of being properly skipped, undefined undefined was printed (see screenshot). This change should skip over these lines where a step is excluded.

Author has addressed the following

Tests

[ ] TODO (before merge)
[ ] Included
[x] Not necessary because: Didn't see any tests for the summary

Changeset (Changeset guidelines)

[ ] TODO (before merge)
[x] Included
[ ] Not necessary because:

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s): https://github.com/cloudflare/cloudflare-docs/pull/...
[x] Not necessary because: bugfix

Hi @DaniFoldi 😄👋
Thanks a lot for the fix 🙂
but I feel like the change is not the right solution, I think that instead of filtering the thing out we should just not add it in the summary in the first place
I think that this code is slightly off:
https://github.com/cloudflare/workers-sdk/blob/940ad89713fa086f23d394570c328716bfb1bd59/packages/create-cloudflare/src/summary.ts#L15-L17
And changing it in the following way should fix the issue:

        const dirRelativePath = relative(ctx.originalCWD, ctx.project.path);
        const nextSteps = [
-               dirRelativePath
-                       ? ["Navigate to the new directory", `cd ${dirRelativePath}`]
-                       : [],
+               ...(dirRelativePath
+                       ? [["Navigate to the new directory", `cd ${dirRelativePath}`]]
+                       : []),
                [
                        "Run the development server",
                        quoteShellArgs([npm, "run", ctx.template.devScript ?? "start"]),

what do you think? 🙂

Hey @dario-piotrowicz,
Thanks, good idea! I've pushed a new commit changing it to your suggestion, I agree it's cleaner. Looked at the option of adding an explicit type annotation to prevent future issues, but ts couldn't validate all of them as [string, string][], so it was going to require more type assertions than I'd be comfortable with for such a small change.

Thanks, good idea! I've pushed a new commit changing it to your suggestion, I agree it's cleaner. Looked at the option of adding an explicit type annotation to prevent future issues, but ts couldn't validate all of them as [string, string][], so it was going to require more type assertions than I'd be comfortable with for such a small change.

yeah I agree, if it's going to add unnecessary complexity it doesn't really feel worth it 🙂


pine64-pinephoneA64: When the phone is on, holding the power button results in a restart

Context: Found while testing the development branch, as discussed in Matrix.
Steps to reproduce

Use commit fc6ca208bf03f17438794f7497b52bbc41f5d42b.
Install Tow-Boot to MMC Boot of a Pinephone.
Power phone on, using it as normal.
Hold power button for a few seconds, to try to power off the phone.

Expected
Phone powers down, and stays off.
Actual
Phone powers down, and then powers back on.

AFAIK this happens outside of the purview of the platform firmware.
It might be possible to configure as desired, registers 36H and 37H as described under 9.1.1.
Though I'm not sure this would implement what you want. My interpretation is that it configures the delay until actual hard power off from its IRQ sent to the OS, and not a time span where power on will not be interpreted. If I understand things right, setting 37H[0:2] to 0x7 would wait 70s until actually powering off when holding for 6s (36H[0:1]); the default is 0s.
Additionally, there is no U-Boot driver for the PMIC, so it would require writing one. The operating system may be configuring this, so values may differ from the default depending on the current Linux driver implementation.
With that said, IIRC the PMIC configuration requires power to be kept, so powering off and removing the battery will lose all of that configuration. For this issue it would be okay,

What I suspect happens is you are holding for 6s + 1s (36[0:1] + 36[6:7]) (OFFLEVEL + ONLEVEL).
It is probably impossible to do what you want with the hardware, or without changing the settings such that power on happens after a larger delay (up to 3s hold time).


rename branches to be inline with development flow

that means that master points to production
development points to staging

Update:
development: working  branch for content people
staging: staging branch
master: production branch


Add an AbsolutePath-based current working directory and switch to it

Doing manual testing since the CI testing takes so long (that's being discussed too, but meanwhile, we need to land changes).

All tests passed on macOS.

Linux has also passed.


Setting up config.rb properly

I don't have much experience with Ruby or Gem, but I'm trying to get a clone of another repo onto my machine for local development.
I'm able to successfully get the site up on localhost, but I can't seem to set up the livereload extension.
I'm not too familiar with the syntax of Ruby, so hoping maybe someone could correct me if I'm doing something wrong, as livereload isn't working for me at all.
When I change into the project directory, and run bundle exec middleman, I get the following in the command prompt:
== The Middleman is loading
  Please add the following to your Gemfile to avoid polling for changes:
    gem 'wdm', '>= 0.1.0' if Gem.win_platform?
== LiveReload accepting connections from ws://<IP_ADDRESS>:35729
#<Thread:0x0000000005b20368@C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/middleman-livereload-3.4.6/lib/middleman-livereload/reactor.rb:44 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
        7: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/middleman-livereload-3.4.6/lib/middleman-livereload/reactor.rb:45:in `block in start_threaded_reactor'
        6: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7-x64-mingw32/lib/eventmachine.rb:196:in `run'
        5: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7-x64-mingw32/lib/em/pure_ruby.rb:144:in `run_machine'
        4: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7-x64-mingw32/lib/em/pure_ruby.rb:562:in `run'
        3: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7-x64-mingw32/lib/em/pure_ruby.rb:559:in `ensure in run'
        2: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7-x64-mingw32/lib/em/pure_ruby.rb:559:in `each'
        1: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7-x64-mingw32/lib/em/pure_ruby.rb:559:in `block in run'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/eventmachine-1.2.7-x64-mingw32/lib/em/pure_ruby.rb:559:in `close': Bad file descriptor (Errno::EBADF)
  Please add the following to your Gemfile to avoid polling for changes:
    gem 'wdm', '>= 0.1.0' if Gem.win_platform?

If I make a change to the script.js file in the sources directory, it seems like livereload is watching the files, because in the command prompt, I get this:
= LiveReloading path: /javascripts/script.js
== LiveReloading path: /assets/uswds/js/uswds.js
== LiveReloading path: /assets/uswds/js/uswds.min.js
== LiveReloading path: /javascripts/site.js

However, I don't see any changes taking place in real-time on localhost:4567 (ie. alert('testing') doesn't pop up until I refresh).
Am I doing something wrong here? Would love some help getting this set up. A lot of Googling shows only issues from almost 2-3 years ago, and I don't see anything related to my issue.
 Older repos don't have support for 64bit windows in that file. Rerun bundle and let me know.


Run go fmt before writing to file

It would be good if generator.go could run go fmt on the code lines before writing to file. This would prevent having to add a go:generate go fmt _filename_.go as part of the generate commands or having the generated output fail lint checks.
I've made this change in a forked version of the repository here which could be a way to add this change. It changes the writeFile function to format the code lines before writing to a file.

@yasv98 thank you for your suggestion! I hadn't incorporated the formatting functionality because I typically format the code manually. I will address the issue soon.

Hi @yasv98 , #5 should resolve your issue.

Released https://github.com/yujiachen-y/goaccessor/releases/tag/v0.4.0

Thanks!


Changed the PSG to MersenneTwister from appache.commons.math. The PSG…

… is wrapped in a class called Randomness.
Also, I made all calls for randomness via a getInstance method.

Can you please run a measurement test to see if this is slower than the traditional random?

Btw, I checked how scientific computing applications run monte-carlo simulations. They have several PRG's they use, most from the late 80's. The new packages actually use MersenneTwister so I'm confident it would be alright.

I ran performance tests. MersenneTwister is comparable to Random, and in if anything slightly faster. I found on stack exchange someone reporting that the same phenomena (i.e. MT being slightly faster than rand) occurs also in C++. Looking at the algo itself it makes sense.

I made all the changes you requested. You can pull from master.


Unclosed response errors

Linux fedora 3.10.0-229.14.1.el7.x86_64 #1 SMP Tue Sep 15 15:05:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Python 3.5.0 (default, Oct 20 2015, 18:25:15)
aiohttp 0.19.0
I have "Unclosed response" after successful "Attempt to decode JSON with unexpected mimetype: application/x-javascript; charset=utf-8"
Content is valid json for r.json() but bad mimetype header by remote side can not release response:
client_reqrep.py[LINE:736]# WARNING  [2015-12-05 23:20:44,423]  Attempt to decode JSON with unexpected mimetype: application/x-javascript; charset=utf-8
base_events.py[LINE:1034]# ERROR    [2015-12-05 23:20:44,425]  Unclosed response
client_response: <ClientResponse(http://<IP_ADDRESS>:3128/) [200 Connection established]>
<CIMultiDictProxy()>
After several "Unclosed response" errors:
base_events.py[LINE:1034]# ERROR    [2015-12-05 23:40:01,395]  Fatal read error on socket transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x7fd9ae7372e8>
transport: <_SelectorSocketTransport fd=116 read=polling write=<polling, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/lib/python3.5/asyncio/selector_events.py", line 660, in _read_ready
data = self._sock.recv(self.max_size)
OSError: [Errno 9] Bad file descriptor

"Attempt to decode JSON with unexpected mimetype: " is a warning not leading to any bad behavior.
"Unclosed response" is a warning also.
"Bad file descriptor" means someone closed a socket. aiohttp never does it in such inconsistent way.

I cannot say more without additional information (source code and stacktraces are needed).

Thank you for your comments.
It seemed to me there was a link with the socket closing and a lot of "Unclosed response".
I understand that it does not happen.
Unfortunately after migration to py3.5 async/await sintax socket error is not repeated
and I can not send additional details for my issue now. I think my issue may be closed.
ThanxxL..)


upgrade to webpack 4

#144 would be a great opportunity to make this happen

this is also blocking version upgrades for prepack and prepack webpack plugin

also consider rollup


[SPARK-12730][TESTS] De-duplicate some test code in BlockManagerSuite

This patch deduplicates some test code in BlockManagerSuite. I'm splitting this change off from a larger PR in order to make things easier to review.

/cc @andrewor14 for review.

Test build #49033 has started for PR 10667 at commit ef3ec50.

Test build #49033 has finished for PR 10667 at commit ef3ec50.

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

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

Merged build finished. Test PASSed.

LGTM. Merging in master.


Add Knative Event, KubeArchive dependency, as infra component

I'm adding Knative Eventing because its a dependency for KubeArchive. There was an ADR to install it for everyone use, but my intention here is that is used by KubeArchive.
cc @ralphbean @hugares

I will submit corrections for the kube-lint problems.

I think you may be missing important bits in argo-cd-apps/overlays/*/delete-applications.yaml and possibly also argo-cd-apps/overlays/development/kustomization.yaml

/lgtm

@rh-hemartin this looks good to me, but I'd like @hugares to ack it as well to minimize any surprises.

@rh-hemartin this looks good to me, but I'd like @hugares to ack it as well to minimize any surprises.

I have a packed morning, I will check this later today

@rh-hemartin The knative application deployed but there a sync loop, some cluster role are out of sync, then sync, then out of sync and so on.
I did not have time to look into this, please have a look


config: deafult about output.libraryTarget

Not sure if i am right : https://github.com/webpack/webpack/blob/67f2382b590375b5628413815df6fdbd1c4f1051/lib/config/defaults.js#L573

[x] Read and sign the [CLA][1]. PRs that haven't signed it won't be accepted.
[x] Make sure your PR complies with the [writer's guide][2].
[x] Review the diff carefully as sometimes this can reveal issues.
[x] Do not abandon your Pull Request: [Stale Pull Requests][3].

Close This


samples: cellular: fix dts overlay path

fix dtsi include path for board nrf9160dk_nrf52840

@karthi012 While we're at it, do you mind making the same fix for samples/bluetooth/hci_uart/boards/nrf9160dk_nrf52840.overlay in this PR?

@karthi012 While we're at it, do you mind making the same fix for samples/bluetooth/hci_uart/boards/nrf9160dk_nrf52840.overlay in this PR? (There it seems like both .dtsi includes would benefit from the added nrf52840/.)

Please have a look.


replace img with nextjs Image component

Description
replace img tag with NextJs Image to avoid CI pipeline issues

Thank you, @RafaelCaso.
The build is failing for a new reason:

./app/builders/0xfb8b972b0D1cF9BB242A40F7AEA8E9a1bF89E0E3/page.tsx
3:33  Warning: Delete ·  prettier/prettier
5:11  Warning: Delete ·  prettier/prettier
55:20  Warning: Insert ;  prettier/prettier

The numbers at the beginning of each statement refer to the line and character location within the file. Could you do another commit to fix those?
Do you have the Prettier plugin installed in your IDE? It should catch these things for you.

I do (have prettier) but it looks like that wallet address is someone else's (looks like 0xzeze's).
Let me know if there's still something I can do to fix this.


Fix ORACLE timestamps to string conversion

Problem
Timestamps from ORACLE are converted to the varchar currently.
We have a demand from customers to convert them to timestamp in Exasol.

Closed with #245


update-report: use appropriate pronoun in update message

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?
[ ] Have you successfully run brew man locally and committed any changes?

Before:
You have 1 outdated formula installed.
You can update them with brew upgrade.

After
You have 1 outdated formula installed.
You can update it with brew upgrade.

Review period will end on 2021-02-22 at 16:37:12 UTC.

Makes sense, thanks @dtrodrigues!

Review period ended.


<EMAIL_ADDRESS>release missing on nuget.org

Pinging @minestarks from the #16834 thread?

#19156 too


feat(form-builder/validation): allow async validation

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6e45515). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 8b4e51f differs from pull request most recent head 9c3457a. Consider uploading reports for the commit 9c3457a to get more accurate results

@@          Coverage Diff           @@
##             master   #26   +/-   ##
======================================
  Coverage          ?     0
======================================
  Files             ?     0
  Lines             ?     0
  Branches          ?     0
======================================
  Hits              ?     0
  Misses            ?     0
  Partials          ?     0

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 6e45515...9c3457a. Read the comment docs.


setup-watcom broken via recent commits

Looks like the recent changes (updating to NodeJS v20, etc) have broken setup-watcom.  See an example here:
https://github.com/c-ares/c-ares/actions/runs/7733830705/job/21117277111
Run open-watcom/setup-watcom@v0
  with:
    version: [2](https://github.com/c-ares/c-ares/actions/runs/7733830705/job/21117277111#step:2:2).0
Initializing action.
 Error: Input does not meet YAML 1.2 "Core Schema" specification: environment
  Support boolean input list: `true | True | TRUE | false | False | FALSE`

No, it is issue with OW build on GitHub, see OW issue 1222 .

Really?  Doesn't look like to me its even getting that far, looks like a parse failure of action.yml itself due to the default: true being removed from environment.  I'd guess if I added environment: true to the c-ares github action it would continue on.
https://github.com/open-watcom/setup-watcom/compare/8a33373..01d689c

Sorry, I didn't study much this issue.
Anyway now setup-watcom cannot work due to referenced issue.

https://github.com/open-watcom/setup-watcom/pull/73 fixes this, I think.
The default value of environment should not have been removed.
It fails for 2.0 because of https://github.com/open-watcom/open-watcom-v2/issues/1222


preserve type for undefined

undefined values now parse back as string, it potentially could break something:
var obj = { foo: undefined }
assert.deepEqual(parse(stringify(obj)), obj) // fail: { foo: 'undefined' } expected to be { foo: undefined }

I want to fix this as part of 3.0 release since it is could be breaking for someone.

cc @vjeux

I don't think that undefined should be encoded at all. I see undefined as "does not exists".

yeah, it should be just like JSON, so undefined keys shouldn't stringified at all. do you agree?

I agree

@Guria Any estimation for the 3.0 release and this fix ?

Was busy for a while. I can plan it for a near future if you need this.

Not that urgent. Its nice to have the expected behavior instead of manually checking undefined values before sending to urlon :)
When you'll have some time my friend. Thanks !


Descriptions for Flags

Add editable description field to Flags.

This is possible. See descriptions_source block. You can make that block query a database or a static file in your repo, whatever you like.
https://github.com/jnunemaker/flipper/blob/ce622d4ab108cc5c3e6de9a2499c931dc3064c51/examples/ui/basic.ru#L31-L42
https://github.com/jnunemaker/flipper/blob/95d8434db13aa351fd477667e556839b3931dbce/lib/flipper/ui/configuration.rb#L38-L41

@bagelbits let me know if you have any issues with it.


Model cannot be saved because the input shapes have not been set.

Hello, I'm following save_and_serialize subclass model . When I run the following code,
class CustomModel(tf.keras.Model):
    def __init__(self, hidden_units):
        super(CustomModel, self).__init__()
        self.dense_layers = [
            tf.keras.layers.Dense(u) for u in hidden_units]
    def call(self, inputs):
        x = inputs
        for layer in self.dense_layers:
            x = layer(x)
        return x

model = CustomModel([16, 16, 10])
# Build the model by calling it
input_arr = tf.random.uniform((1, 5))
outputs = model(input_arr)
model.save('my_custom_model')

I get the this error, ValueError: Model <__main__.CustomModel object at 0x7f96797a2c10> cannot be saved because the input shapes have not been set. Usually, input shapes are automatically determined from calling .fit() or .predict(). To manually set the shapes, call model._set_inputs(inputs).
But when I change code as following,
model = CustomModel([16, 16, 10])
input_arr = tf.random.uniform((1, 5))
outputs = model(input_arr)
model._set_inputs(input_arr) # add this line
model.save('my_custom_model')

It runs without any error. What could be the possible cause. Do I need to add model._set_inputs(input_arr)  explicitly ?
I'm using,
Ubuntu 20.04 LTS
conda environment
TensorFlow 2.1.1
Thanks

@menon92
I ran the code shared by you and do not face any errors, please find the gist here

@Saduf2019 I try the same code in pip version of tensorflow and it works without any issue.
I think there is an issue in conda version of tensorflow

@menon92 Are you sure there is an issue with conda version of tensorflow . I am not running into any error. Thanks!

Python 3.7.6 (default, Jan  8 2020, 19:59:22)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import tensorflow as tf

In [2]: tf.__version__
Out[2]: '2.1.0'

In [3]: class CustomModel(tf.keras.Model):
   ...:     def __init__(self, hidden_units):
   ...:         super(CustomModel, self).__init__()
   ...:         self.dense_layers = [
   ...:             tf.keras.layers.Dense(u) for u in hidden_units]
   ...:     def call(self, inputs):
   ...:         x = inputs
   ...:         for layer in self.dense_layers:
   ...:             x = layer(x)
   ...:         return x
   ...:
   ...: model = CustomModel([16, 16, 10])
   ...: # Build the model by calling it
   ...: input_arr = tf.random.uniform((1, 5))
   ...: outputs=model(input_arr)
   ...: model.save('my_custom_model')
2020-06-04 19:38:19.299584: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX
2020-06-04 19:38:19.590094: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-06-04 19:38:19.601769: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x5579ab0470d0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-06-04 19:38:19.601891: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-06-04 19:38:19.647392: I tensorflow/core/common_runtime/process_util.cc:147] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
WARNING:tensorflow:Skipping full serialization of Keras model <__main__.CustomModel object at 0x7f911b73cc10>, because its inputs are not defined.
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-ae79cf94cb11> in <module>
     14 input_arr = tf.random.uniform((1, 5))
     15 outputs=model(input_arr)
---> 16 model.save('my_custom_model')

~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/network.py in save(self, filepath, overwrite, include_optimizer, save_format, signatures, options)
   1006     """
   1007     save.save_model(self, filepath, overwrite, include_optimizer, save_format,
-> 1008                     signatures, options)
   1009
   1010   def save_weights(self, filepath, overwrite=True, save_format=None):

~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/saving/save.py in save_model(model, filepath, overwrite, include_optimizer, save_format, signatures, options)
    113   else:
    114     saved_model_save.save(model, filepath, overwrite, include_optimizer,
--> 115                           signatures, options)
    116
    117

~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/saving/saved_model/save.py in save(model, filepath, overwrite, include_optimizer, signatures, options)
     63
     64   if save_impl.should_skip_serialization(model):
---> 65     saving_utils.raise_model_input_error(model)
     66
     67   if not include_optimizer:

~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/saving/saving_utils.py in raise_model_input_error(model)
    111       'set. Usually, input shapes are automatically determined from calling'
    112       ' .fit() or .predict(). To manually set the shapes, call '
--> 113       'model._set_inputs(inputs).'.format(model))
    114
    115

ValueError: Model <__main__.CustomModel object at 0x7f911b73cc10> cannot be saved because the input shapes have not been set. Usually, input shapes are automatically determined from calling .fit() or .predict(). To manually set the shapes, call model._set_inputs(inputs)

@menon92 Yes this bug exists in 2.1.0 but has been fixed in tensorflow 2.2.0.

Bug seems to be back in 2.3

I am facing the same problem in 2.3.

My bad, the problem is not with 2.3, it is when trying to save a subclassed model.

I am also facing the same problem in 2.3.

I am also facing the same problem in 2.3. And I used "model.compute_output_shape(input_shape=(None, 1080,1920,3))",can also solve this problem when saving  a subclassed model. But why does it work?

I am facing the same issue in 2.4.0, with jupyter lab python 3.8.
For testing i downloaded the notebook from https://www.tensorflow.org/tutorials/generative/cvae
Both, tf.keras.models.save_model(model, path) and model.save(path) return the same ValueError
Is there any workarround?

I ran into the same issue as @lmielke. If I used a different VAE example, I could save the model. However, using the example from https://www.tensorflow.org/tutorials/generative/cvae just does not work. The code there is really nice.
It would be very nice if an updated version of TensorFlow can solve the issue.

@lmielke @shixm-cloud Did you find a workaround to save the CVAE model?

@kennysong, I try this
(base) menon@menon:~$ ipython
Python 3.8.8 (default, Apr 13 2021, 19:58:26)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.22.0 -- An enhanced Interactive Python. Type '?' for help

In [18]: import tensorflow as tf

In [19]: tf.__version__
Out[19]: '2.4.1'

In [20]: class CustomModel(tf.keras.Model):
    ...:     def __init__(self, hidden_units):
    ...:         super(CustomModel, self).__init__()
    ...:         self.dense_layers = [
    ...:             tf.keras.layers.Dense(u) for u in hidden_units]
    ...:     def call(self, inputs):
    ...:         x = inputs
    ...:         for layer in self.dense_layers:
    ...:             x = layer(x)
    ...:         return x
    ...:

In [21]: model = CustomModel([16, 16, 10])
    ...: # Build the model by calling it
    ...: input_arr = tf.random.uniform((1, 5))
    ...: outputs = model(input_arr)
    ...: model.save('my_custom_model')
INFO:tensorflow:Assets written to: my_custom_model/assets

In [22]: ls my_custom_model
assets/  saved_model.pb  variables/

In [23]:

And it runs without  any issue

@menon92 Thanks! That works for basic examples, but not for the CVAE model in the TF documentation.
I figured out how to save the CVAE by replacing this line:
eps = tf.random.normal(shape=mean.shape)

with:
eps = tf.random.normal(shape=tf.shape(mean))

And adding the @tf.function decorator to all of CVAE's methods so they are reconstructed when loading from disk.

Hi all!
Thanks @boogalooYison , your solution worked with TensorFlow 2.6.0 👍  . About the reason why it works, I can only say that the input shape is set in the call to model.compute_output_shape(input_shape), as it is required to compute the actual output shape.
In my opinion, this is a cleaner and more elegant solution than having to call the network with dummy input data.
Cheers!

Are you satisfied with the resolution of your issue? Yes No

no

Hi all, couldn`t save model after training this model, any help please
`
import tensorflow as tf
from tensorflow.keras.layers import Layer
from tensorflow.keras import Model
from ssim2dmodule import similarityattention2d
from attention_module import SSCblockaddall, SSCblocksam1dlast, SSCblocksamlast, SSCblockcamlast, SSCblockparallel, SSCblockRandom
#act_fn3 = tf.keras.activations.tanh() #tf.ReLU()
class encode_block(tf.keras.layers.Layer):
def init(self, filter_num, BatchNorm2d=True):
super(encode_block, self).init()
    self.init = tf.keras.initializers.RandomNormal(stddev=0.02)
    self.act_fn =tf.keras.layers.LeakyReLU(0.2)

    self.conv = tf.keras.layers.Conv2D(filter_num, kernel_size=4,
                                strides=2, padding='same', kernel_initializer=self.init)

    self.BatchNorm2d =None
    if BatchNorm2d:
        self.BatchNorm2d = tf.keras.layers.BatchNormalization()

def call(self,x):
    x = self.conv(x)

    if self.BatchNorm2d != None:
        x = self.BatchNorm2d(x, training=True)

    x = self.act_fn(x)

    return x

class decode_block(tf.keras.layers.Layer):
def init(self, filter_num, dropout2d=True):
super(decode_block, self).init()
    self.init = tf.keras.initializers.RandomNormal(stddev=0.02)
    self.act_fn =tf.keras.layers.ReLU(0.2)
    self.concat = tf.keras.layers.Concatenate()
    self.BatchNorm2d = tf.keras.layers.BatchNormalization()

    self.conv = tf.keras.layers.Conv2DTranspose(filter_num, kernel_size=4,
                                strides=2, padding='same', kernel_initializer=self.init)

    self.dropout2d = None
    if dropout2d:
        self.dropout2d = tf.keras.layers.Dropout(0.5)

def call(self,x,concat_in):
    x = self.concat([x, concat_in])
    x = self.conv(x)
    x = self.BatchNorm2d(x, training=True)

    if self.dropout2d != None:
        x = self.dropout2d(x, training=True)

    x = self.act_fn(x)

    return x

class bottleneck(tf.keras.layers.Layer):
def init(self, filter_num):
super(bottleneck, self).init()
    self.init = tf.keras.initializers.RandomNormal(stddev=0.02)
    self.act_fn =tf.keras.layers.ReLU(0.2)

    self.conv = tf.keras.layers.Conv2D(filter_num, kernel_size=4,
                                strides=2, padding='same', kernel_initializer=self.init)

    self.dconv = tf.keras.layers.Conv2DTranspose(filter_num, kernel_size=4,
                                strides=2, padding='same', kernel_initializer=self.init)

def call(self,x):
    x = self.conv(x)

    x = self.act_fn(x)

    x = self.dconv(x)

    x = self.act_fn(x)

    return x

class final_layer(tf.keras.layers.Layer):
def init(self):
super(final_layer, self).init()
    self.init = tf.keras.initializers.RandomNormal(stddev=0.02)
    self.concat = tf.keras.layers.Concatenate()
    self.conv = tf.keras.layers.Conv2DTranspose(3, kernel_size=4,
                                strides=2, padding='same', kernel_initializer=self.init)

def call(self,x, concat_in):
    x = self.concat([x, concat_in])
    x = self.conv(x)

    x = tf.keras.activations.tanh(x)

    return x

class MixedFusion_Block0(tf.keras.layers.Layer):
def __init__(self, inputs1, inputs2, filter_num):
    super(MixedFusion_Block0, self).__init__()

    self.input1 = inputs1
    self.input2 = inputs2
    self.filter_num  = filter_num

    self.ssim2d = similarityattention2d(inputs1, inputs2)
    self.encode = encode_block(filter_num, BatchNorm2d=False)

def call(self, x1, x2):

    # multi-style fusion
    ssim2d_out = self.ssim2d(x1,x2)
    encode_out =  self.encode(ssim2d_out)
    print(encode_out.shape)
    if not encode_out.get_shape()[1:] == (self.filter_num*2, self.filter_num*2, self.filter_num):
        encode_out = tf.keras.layers.Reshape((self.filter_num*2, self.filter_num*2, self.filter_num))(encode_out) #(tf.squeeze(encode_out, axis=[0]))

    return encode_out

class MixedFusion_Block1(tf.keras.layers.Layer):
def __init__(self, x, filter_num): #SSCblockaddall, SSCblocksam1dlast, SSCblocksamlast, SSCblockcamlast, SSCblockparallel, SSCblockRandom
    super(MixedFusion_Block1, self).__init__()

    self.filter_num  = filter_num
    self.block_name = SSCblockaddall()
    self.encode = encode_block(filter_num)

def call(self, x1, x2, x3):

    y1 = self.block_name(x1)
    y2 = self.block_name(x2)
    y = tf.concat([y1, y2, x3], 3)

    encode_out = self.encode(y)
    print(encode_out.shape)

    return encode_out

class generator(Model):
def __init__(self, input_nc, layer_out, filter_num):
    super(generator,self).__init__()

    self.filters = filter_num
    self.in_dim = input_nc
    self.layer_out = layer_out

        # ~~~ Encoding Paths ~~~~~~ #
    # Encoder (Modality 1)

    #######################################################################
    # Encoder **Modality 1
    #######################################################################

    self.encode_1_0 = encode_block(self.filters*1, BatchNorm2d=False)

    self.encode_2_0 = encode_block(self.filters*2)

    self.encode_3_0 = encode_block(self.filters*4)

    self.encode_4_0 = encode_block(self.filters*8)

    self.encode_5_0 = encode_block(self.filters*8)

    self.encode_6_0 = encode_block(self.filters*8)

    self.encode_7_0 = encode_block(self.filters*8)

    #self.encode_8_0 = encode_block(self.filters*8)

    #######################################################################
    # Encoder **Modality 2
    #######################################################################

    self.encode_1_1 = encode_block(self.filters, BatchNorm2d=False)

    self.encode_2_1 = encode_block(self.filters*2)

    self.encode_3_1 = encode_block(self.filters*4)

    self.encode_4_1 = encode_block(self.filters*8)

    self.encode_5_1 = encode_block(self.filters*8)

    self.encode_6_1 = encode_block(self.filters*8)

    self.encode_7_1 = encode_block(self.filters*8)

    #self.encode_8_1 = encode_block(self.filters*8)

    #######################################################################
    # fusion block
    #######################################################################
    # --- fusion encoder
    self.fu_encoder_1 = MixedFusion_Block0(self.in_dim, self.in_dim, self.filters)

    self.fu_encoder_2 = MixedFusion_Block1(self.layer_out, self.filters*2)

    self.fu_encoder_3 = MixedFusion_Block1(self.layer_out*2, self.filters*4)

    self.fu_encoder_4 = MixedFusion_Block1(self.layer_out*4, self.filters*8)

    self.fu_encoder_5 = MixedFusion_Block1(self.layer_out*8, self.filters*8)

    self.fu_encoder_6 = MixedFusion_Block1(self.layer_out*8, self.filters*8)

    self.fu_encoder_7 = MixedFusion_Block1(self.layer_out*8, self.filters*8)

    #self.fu_encoder_8 = MixedFusion_Block1(self.layer_out*8, self.filters*8)

    # bottleneck layer
    self.bottleneck = bottleneck(self.filters*8)

    # ~~~ Decoding Path ~~~~~~ #

    self.decod_1_0 = decode_block(self.filters*8)
    self.decod_2_0 = decode_block(self.filters*8)
    self.decod_3_0 = decode_block(self.filters*8)
    self.decod_4_0 = decode_block(self.filters*4, dropout2d=False)
    self.decod_5_0 = decode_block(self.filters*2, dropout2d=False)
    self.decod_6_0 = decode_block(self.filters*1, dropout2d=False)

    self.out        = final_layer()

def call(self,x,y):

    # ##############################
    image_shape=(256,256,3)
    x = tf.keras.Input(image_shape)
    y = tf.keras.Input(image_shape)
    z = (x*y)

    # -----  First Level --------
    encoder_1_0 = self.encode_1_0(x) #(256, 256, input_size[-1])
    encoder_1_1 = self.encode_1_1(y)

    # -----  Second Level --------

    encoder_2_0 = self.encode_2_0(encoder_1_0) # (128, 128, 64)
    encoder_2_1 = self.encode_2_1(encoder_1_1)

    # -----  Third Level --------

    encoder_3_0 = self.encode_3_0(encoder_2_0) # (64, 64, 128)
    encoder_3_1 = self.encode_3_1(encoder_2_1)

     # -----  Fourth Level --------

    encoder_4_0 = self.encode_4_0(encoder_3_0) # (32, 32, 256)
    encoder_4_1 = self.encode_4_1(encoder_3_1)

     # -----  Five Level --------

    encoder_5_0 = self.encode_5_0(encoder_4_0) # (16, 16, 512)
    encoder_5_1 = self.encode_5_1(encoder_4_1)

    # -----  sixth Level --------

    encoder_6_0 = self.encode_6_0(encoder_5_0) # (8, 8, 512)
    encoder_6_1 = self.encode_6_1(encoder_5_1)

    # -----  seventh Level --------

    encoder_7_0 = self.encode_7_0(encoder_6_0) # (4, 4, 512)
    encoder_7_1 = self.encode_7_1(encoder_6_1)

    # ----------------------------------------
    # fusion block -- f_block
    f_block_1   = self.encode_1_0(z) #self.fu_encoder_1(x,y)

    f_block_2  = self.fu_encoder_2(encoder_1_0, encoder_1_1, f_block_1)

    f_block_3   = self.fu_encoder_3(encoder_2_0, encoder_2_1, f_block_2)

    f_block_4  = self.fu_encoder_4(encoder_3_0, encoder_3_1, f_block_3)

    f_block_5  = self.fu_encoder_5(encoder_4_0, encoder_4_1, f_block_4)

    f_block_6  = self.fu_encoder_6(encoder_5_0, encoder_5_1, f_block_5)

    f_block_7  = self.fu_encoder_7(encoder_6_0, encoder_6_1, f_block_6)

    #f_block_8  = self.fu_encoder_8(encoder_7_0, encoder_7_1, f_block_7)

    #f_block_9  = self.fu_encoder_9(encoder_8_0, encoder_8_1, f_block_8)

    #######################################################################
    # ~~~~~~ Bottleneck
    btlnck = self.bottleneck(f_block_7)     # (1 x 1 x 512) and # (2 x 2 x 512)
    print(btlnck.shape)

    #######################################################################
    # ~~~~~~ Decoding
    decoder_1_0 =  self.decod_1_0 (btlnck,f_block_7)  # (4, 4, 512)
    decoder_2_0 = self.decod_2_0(decoder_1_0,f_block_6)  # (8, 8, 512)
    decoder_3_0 = self.decod_3_0(decoder_2_0,f_block_5)  # (16, 16, 512)
    decoder_4_0 = self.decod_4_0(decoder_3_0,f_block_4)  # (32, 32, 256)
    decoder_5_0 = self.decod_5_0(decoder_4_0,f_block_3)  # (64, 64, 128)
    decoder_6_0 = self.decod_6_0(decoder_5_0,f_block_2)   # (128, 128, 64)

    decod_out     = self.out(decoder_6_0, f_block_1) # (256, 256, output_channels)

    # get three channels

    return decod_out

class adversary(Model):
def __init__(self,filter_num):
    super(adversary,self).__init__()

    self.filters = filter_num

    self.init = tf.keras.initializers.RandomNormal(stddev=0.02)
    self.last = tf.keras.layers.Conv2D(1, (4,4), padding='same', kernel_initializer = self.init,
                                        activation=tf.keras.activations.sigmoid)

    self.conv_1 = encode_block(self.filters*1)

    self.conv_2 = encode_block(self.filters*2)

    self.conv_3 = encode_block(self.filters*4)

    self.conv_4 = encode_block(self.filters*8)

    self.conv_5 = encode_block(self.filters*8)

    self.conv_6 = encode_block(self.filters*8)

def call(self,x,y):

    x = tf.keras.Input(x.shape[1:])
    y = tf.keras.Input(y.shape[1:])

    adv_1 = tf.keras.layers.concatenate([x, y]) # (256, 256, real_channels+fake_channels)

    adv_2 = self.conv_1(adv_1)                  # (128, 128,  64)

    adv_3 = self.conv_2(adv_2)                  # (64,  64, 128)

    adv_4 = self.conv_3(adv_3)                  # (32,  32, 256)

    adv_5 = self.conv_4(adv_4)                  # (16, 16, 512)

    adv_6 = self.conv_5(adv_5)                  #(8, 8, 512)

    adv_7 = self.conv_6(adv_6)                  #(4, 4, 512)

    adv_8 = self.last(adv_7)                    #(4, 4, 1)

    return adv_8

`

Hi all,
I recently came across a similar problem where I had 2 models. One text encoder, and one classification head. I needed to implement some custom logic inside the train_step. The subclassed model looked as follows:
class TestModel(keras.Model):

    def __init__(self, first, second, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.first = first
        self.second = second

    def call(self, inputs):
        return self.second(self.first(inputs))

    def train_step(self, data):
        # Here some custom logic requiring both first and second model
        pass

When calling model.save() on the instance, it cannot save the model because of the ValueError described above. One can only save the model if you have made a forward pass on the model. I was using KerasTuner for hyperparameter tuning and noticed that it does not return a correctly built model. So one solution was to pass some data through the model to make it save. That worked but I didn't like it. Then I came across the following solution:
class TestModel(keras.Model):

    def __init__(self, first, second, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.first = first
        self.second = second

        self._set_inputs(inputs=self.first.inputs, outputs=self(self.first.inputs))

    def call(self, inputs):
        return self.second(self.first(inputs))

    def train_step(self, data):
        # Here some custom logic requiring both first and second model
        pass

This basically allows you to lazily specify the inputs and outputs as normal. So far it works properly. I hope this might help others out as well.

Hi, I am building a GNN with several inputs of variable size and here, neither @Thijsvandepoll 's nor @boogalooYison 's proposal worked for me.
My solution is specifying TensorSpecs in the @tf.function decorator according to this paragraph of the tf docu:
import keras.layers
import tensorflow as tf
import unittest

class TestModel(keras.Model):
    def __init__(self):
        super(TestModel, self).__init__()
        self.w = tf.Variable(initial_value=tf.initializers.he_normal()(shape=[10, 10]))

    @tf.function(input_signature=[tf.TensorSpec([10, None], tf.float32), tf.TensorSpec([10, None], tf.float32)])  # This line defines the inputs' sizes of the network call
    def __call__(self, x, y):
        return tf.matmul(self.w, x) + tf.matmul(self.w, y)

class SaveAndLoadTest(unittest.TestCase):
    def __init__(self):
        super(SaveAndLoadTest, self).__init__()

        x = tf.ones([10, 5])
        y = tf.ones([10, 5])

        model = TestModel()
        z = model(x, y)

        tf.saved_model.save(model, "/tmp/test_model/")  # saving a this way works
        with self.assertRaises(ValueError):
            model.save("/tmp/test_model/")  # saving a model this way fails, regardless of assigning TensorSpecs to tf.function

        model_loaded = tf.saved_model.load("/tmp/test_model/")
        z_loaded = model_loaded(x, y)

        self.assertTrue((z_loaded.numpy() == z.numpy()).all())  # making sure the outputs are the same

if __name__ == "__main__":
    SaveAndLoadTest()
    print("Success.")

I came across this issue using version 2.11 when using someone else's model that I didn't fully understand. For anyone else in the same boat, you may not need to save the model and can avoid the issue entirely by using save_weights_only=True in your keras callbacks, e.g.:
callbacks = [
        keras.callbacks.ModelCheckpoint(
            './logs/model/weights', monitor='sparse_categorical_accuracy', save_best_only=True, save_weights_only=True)
    ]

and then later
model.fit(
        dataset_train,
        validation_data=dataset_val,
        callbacks=callbacks,
        epochs=100,
    )

Just consider if you need to save the model or the weights!


Questionnaire Builder should have the ability to drag items up and down

Currently, if you want to change the order you have to delete the section and add it to the bottom or manipulate the javascript.

Closing this in favor of #2883


Enh - SQL Server details

Show details about SQL environment: server, database, version, service pack, CU level, memory min/max, CM_xxx file information like auto-growth settings.

Deferred until more feedback provided


Missing PathReader

Description
The PathReader is mentioned in the change log but is not there in the latest version.
https://github.com/weaviate/Verba/blob/260a75af15ad8f4ec1cc2c74d2252b4687f70674/CHANGELOG.md?plain=1#L114
Is this a bug or a feature?

[ ] Bug
[x] Feature

Steps to Reproduce
No steps as the PathReader does not exist as per managers.py
https://github.com/weaviate/Verba/blob/260a75af15ad8f4ec1cc2c74d2252b4687f70674/goldenverba/components/managers.py#L44-L51

PathReader has been merged to the BasicReader for better UX

Wait how to use that ?


Running devpod (with DooD mode) on windows

DevPod is a great way to simplify running devcontainers both locally with Docker, as well as remotely using the cloud providers or k8s clusters.
But it has a peculiar behavior on Windows where windows paths prevent us using docker-outside-of-docker mode of operations.
Would be cool if someone explore this bit, maybe the solution is so obvious that we couldn't quite fine it =)
https://containerlab.dev/macos/#devpod

some progress has been made -- https://github.com/srl-labs/wsl-containerlab?tab=readme-ov-file#devpod


README.md: fix typo in path

I'm 0/2 now in terms of not having typos in my doc changes. (I would appreciate any help making sure there isn't anything else wrong in my latest changeset)

I removed the parens.
Also, @lgeiger, I cherry-picked your changes so as to avoid conflicts.


preprocessing and dataloaders

I'm totally side-tracked from the main objective of speed running papers, but I don't want to fight with dataloader implementations this whole time.
It seems like the best way to come up with a data loading pattern is just go backwards from where you want to be.
i.e.

You always expect to generate some input tensor -> output tensor
torch can zero-copy numpy arrays, so you'll most likely be transforming whatever data you have into this format
You probably won't be processing data in numpy, so you'll reach for something like pandas, pyarrow, or duckdb
Your full dataset will probably be quite large and might be bigger than memory

you can batch it up into separate files and do np.save (this way you can np.load and it understand the shape)
you can allocate a large np.memmap and write batches into one huge file (will probably slow to pass around)

data comes in any formats, so you will usually have to do the most work here

define columns, dtypes, etc.
exploratory data analysis
fix bad data

Refer to #2 for context on exploring different approaches to data loading
summary:

use np.memmap
due to limitations with np.memmap tell the end user about (1) dtype to read in and (2) the shape
knowing the columns would be enough to satisfy shape (or you could assume target count == rows) and fill the rest of the shape with value -1

honestly, I think that memmap is not as great as it seems.
Pre-batching in files is probably going to be faster overall (initial load + transferring files), but it gets weird if the minibatches are actually small.


404 link in page at http://demo.opm.io/about

In the page
   https://github.com/dalibo/OPM/wiki

getting a 404 error for the link in
    https://github.com/dalibo/OPM/wiki

in the anchor "Visit official website for more information.".

Hello,
Thanks for the report. This has already been fixed in commit https://github.com/OPMDG/opm-core/commit/8fdb243cd90ca2d6190300a8bb774ef26456030a but not released yet. The good URL is http:/opm.io


Work Section Issue

The author should.

Give some space into the cards elements(class="professional").

issue resolved


1.12.2 UUID is Incorrect: Translation Error

I updated from 3.0.8 to 3.0.10 and now when clicking on a Basic Flux Storage Device it says:
UUID IS INCORRECT: TRANSLATION ERROR
I can destroy it and reconnect it back to the network and it works until I log out (or probably leave the area)
and it fills up with the energy again. But when I relog it goes back to looking like it has no energy and then gives me the same UUID error.

That's very odd. This is sent as a message when you click on it? Are you still able to open it?
Are you using an official version of mc?

Also server of single player?

Yes, an official version of Minecraft.  Forge <IP_ADDRESS>11, and on a server. I am not able to open it until I destroy it and replace it. It is a message in my chat box.

Have you encountered this was Flux Plugs or Points?

No, Only the Basic Flux Storage, I don't even know if it does it for the upgraded storage ones or not, I haven't built them yet.

Also When someone else places it and I try to interact with it I get "Player Name: TRANSLATION ERROR"

Update: the upgraded ones also do it

Hi, i can confirm this - using Forge <IP_ADDRESS>11.
Some things i came across:
If i place a Storage (don't matter if gargantum or other) i can access and configure it, but some time or a server restart i get "UUID is Incorrect : Translation Error"
If another player places a not configured storage i get the message: "$Player_name : Translation Error"- the one that placed it can access it and change the settings - after that i can access the storage (note: we both are validated for the network he chooses).
I hope this helps.


Unable to build docker image of Api Manager 4.1

Description
Downloaded zip of this project https://github.com/wso2/docker-apim/tree/4.1.x.
Tried to build docker image based on attached dockerfile.
Error while building image:
`

[8/9] RUN     wget -O wso2am-4.1.0.zip "https://github.com/wso2/product-apim/releases/download/v4.1.0/wso2am-4.1.0.zip"     && unzip -d /home/wso2carbon wso2am-4.1.0.zip     && chown wso2carbon:wso2 -R /home/wso2carbon/wso2am-4.1.0     && mkdir /home/wso2carbon/wso2-tmp     && bash -c 'mkdir -p ${USER_HOME}/solr/{indexed-data,database}'     && chown wso2carbon:wso2 -R /home/wso2carbon/solr     && cp -r /home/wso2carbon/wso2am-4.1.0/repository/deployment/server/synapse-configs /home/wso2carbon/wso2-tmp     && cp -r /home/wso2carbon/wso2am-4.1.0/repository/deployment/server/executionplans /home/wso2carbon/wso2-tmp     && rm -f wso2am-4.1.0.zip:
0.449 --2023-12-20 14:11:03--  https://github.com/wso2/product-apim/releases/download/v4.1.0/wso2am-4.1.0.zip
0.451 Resolving github.com (github.com)... <IP_ADDRESS>
0.453 Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
0.494 HTTP request sent, awaiting response... 404 Not Found
0.704 2023-12-20 14:11:03 ERROR 404: Not Found.
0.704
`
Please treat this bug with the highest priority.

Steps to Reproduce
As above
Affected Component
APIM
Version
4.1
Environment Details (with versions)
No response
Relevant Log Output
No response
Related Issues
No response
Suggested Labels
No response

Hi,
We have removed the public hosted binary of WSO2 APIM v4.1.0. You can download the zip file from here - https://wso2.com/api-manager/previous-releases/.
Please follow the below steps to build the docker image.

Host the product pack using a webserver. You can use a HTTP Server in python.

python3 -m http.server 8000

Update the following line to point to the zip file.
https://github.com/wso2/docker-apim/blob/4.1.x/dockerfiles/alpine/apim/Dockerfile#L79
Then you can build the docker image.

Similar steps are defined in here - https://github.com/wso2/docker-apim/tree/master/dockerfiles/alpine/apim#2-build-the-docker-image.
Thank you!
Pubudu.

Thanks for response. Is it necessary to host the product pack using a webserver? Is there another solutions to build an image?

Another option is to copy the pack to the docker image. Use COPY command in the dockerfile.


WebDataset with different prefixes are unsupported

Describe the bug
Consider a WebDataset with multiple images for each item where the number of images may vary: example
Due to this code an error is given.
The TAR archives of the dataset should be in WebDataset format, but the files in the archive don't share the same prefix or the same types.

The purpose of this check is unclear because PyArrow supports different keys.
Removing the check allows the dataset to be loaded and there's no issue when iterating through the dataset.
>>> from datasets import load_dataset
>>> path = "shards/*.tar"
>>> dataset = load_dataset("webdataset", data_files={"train": path}, split="train", streaming=True)
Resolving data files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 152/152 [00:00<00:00, 56458.93it/s]
>>> dataset
IterableDataset({
    features: ['__key__', '__url__', '1.jpg', '2.jpg', '3.jpg', '4.jpg', 'json'],
    n_shards: 152
})

Steps to reproduce the bug
from datasets import load_dataset
load_dataset("bigdata-pw/fashion-150k")

Expected behavior
Dataset loads without error
Environment info

datasets version: 2.20.0
Platform: Linux-5.14.0-467.el9.x86_64-x86_64-with-glibc2.34
Python version: 3.9.19
huggingface_hub version: 0.23.4
PyArrow version: 17.0.0
Pandas version: 2.2.2
fsspec version: 2024.5.0

Since datasets uses is built on Arrow to store the data, it requires each sample to have the same columns.
This can be fixed by specifyign in advance the name of all the possible columns in the dataset_info in YAML, and missing values will be None

Oh good catch ! thanks

Note it may be useful to add the expected format of features to the documentation for Buil

Good idea, let me open a PR

#7060

If you review the changes in #7060 you'll note that features are not passed to DatasetInfo.
In your case the features are being extracted by this code.
Try with the Steps to reproduce the bug. It's the same error mentioned in Describe the bug because features are not passed to DatasetInfo.
Note that as mentioned in Describe the bug this could also be resolved by removing the check here because Arrow actually handles this itself, Arrow sets any missing fields to None, at least in my case.

Note for anyone else who encounters this issue, every dataset type except folder-based types supported features in the documented manner; Arrow, csv, generator, json, pandas, parquet, spark, sql and text. WebDataset is different and requires dataset_info which is vaguely documented under dataset loading scripts.

Thanks for explaining. I see the Dataset Viewer is still failing - I'll update datasets in the Viewer to fix this


Question about row limits on SQLLAB vs table chart or slice

Hi
From what I understand, on SQLLab we have two different row limit parameters:
DISPLAY_MAX_ROW : controls the display so browsers don't crash on large number of rows
and
SQL_MAX_ROW: controls total rows returned from the database. this limit is useful for downloading entire data into CSV, but not break the browser
Works great
But on the Table Chart/slice/dashboard view: there seems to be only one row limit parameter
ROW_LIMIT. Because if this limitation, large number of rows crashes the browser; and if limit the rows to make the broswer work, the CSV download is not complete.
Why can't the TableChart use the same SQLLAB parameters to control display vs download?
I noticed another parameter called VIZ_ROW_LIMIT - this does not seem to be used.
It almost seems like the Table Chart is a completely different entity from a SQLLog Query -is that right? Please let me know if I misunderstood.

Having a same problem - single row limit in table chart is used for both display lines and csv export
Not possible to have them different :(

This would be very useful in order to limit visualisation limit but keep the ability to download large datasets

How to solve this problem? I want to show 100 lines in dashboard, but want to download all data through 'Export CSV' in table chart


Google OAuth2 gives 400 error, FB 500 error

"Everything was working fine" and all of a sudden both the authentication backends I have setup error out.  The following Google URL errors out with 400:
https://accounts.google.com/o/oauth2/auth?scope=email+profile&state=xxxx&redirect_uri=http://localhost:8000/complete/google-oauth2/&response_type=code&client_id=xxxx.apps.googleusercontent.com

And the following FB URL errors out with a blank 500 screen:
https://www.facebook.com/dialog/oauth?scope=email&state=xxxx&redirect_uri=http%3A%2F%2Flocalhost%3A8000%2Fcomplete%2Ffacebook%2F%3Fredirect_state%3Dxxxx&client_id=xxxx

The key and secret are both set using the variables:
SOCIAL_AUTH_FACEBOOK_KEY
SOCIAL_AUTH_FACEBOOK_SECRET
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET

The redirects to the backends work fine, just that the backend itself, i.e. Google and FB, blow up.  Any ideas?
Thanks!

It's been a while and this didn't happened again, I'm closing he issue, reopen if needed.


[QUESTION] Configuring Eureka Discovery Client spring app name is not working

Question
Spring:Application:Name looks like it is being ignored in the Eureka discovery client. Unsure if I'm doing something wrong or if the configuration is really just not working.
Background
This is a yarp service that stands as the incoming face of traffic to my other services. It, in turn, is registered in a Eureka reverse proxy to our parent org. I'm replacing the existing "myapp-gateway" with this service, "myapp-reverseproxy" (name changed for professional reasons).

I have: Old "myapp-gateway" registered as "myapp" using Steeltoe 2.5.5 on .NET 8 upgraded from 3.1
I want: Application named "myapp-reverseproxy" to be registered as "myapp" so I can swap services without upstream reconfiguration
I am getting: Application continuing to be registered in Eureka as "myapp-reverseproxy"

The only real difference I can tell is the Steeltoe version change, and the move from Ocelot to Yarp which is mostly unrelated.
What I've done

Attempted setting name in appsettings.json under Spring:Application:Name
Attempted to manually set the name during startup (undocumented, not sure how to access)
Attempted setting env variables such as SPRING_APPLICATION_NAME and Spring:Application:Name just trying things
Attempted setting Spring:Cloud:Config:Name in appsettings.json

appsettings.json current state (snippet):
  "Spring": {
    "Application": {
      "Name": "myapp"
    }
  },
  "eureka": {
    "instance": {
      "securePortEnabled": true
    }
  }

I confirmed this works by Console.WriteLine(Configuration["spring:application:name"]); before and after discovery client initialization. Without any env variables running locally it reads this as "myapp" precisely as expected, however this name is not being picked up by the Eureka client when it's running in TAS.
I added every possible relevant package from the demos and the Steeltoe Initializr into my csproj file:
<PackageReference Include="Steeltoe.Common.Hosting" Version="$(SteeltoeVersion)" />
<PackageReference Include="Steeltoe.Connector.CloudFoundry" Version="$(SteeltoeVersion)" />
<PackageReference Include="Steeltoe.Connector.ConnectorCore" Version="$(SteeltoeVersion)" />
<PackageReference Include="Steeltoe.Discovery.ClientCore" Version="$(SteeltoeVersion)" />
<PackageReference Include="Steeltoe.Discovery.Eureka" Version="$(SteeltoeVersion)" />
<PackageReference Include="Steeltoe.Extensions.Configuration.CloudFoundryCore" Version="$(SteeltoeVersion)" />
<PackageReference Include="Steeltoe.Management.EndpointBase" Version="$(SteeltoeVersion)" />

I tried a variety of ways to initialize the client to register with Eureka; here is the current state:
var builder = WebApplication.CreateBuilder(args)
  .UseCloudHosting()
  .AddCloudFoundryConfiguration()
  .UseCloudHosting();

builder.Services.ConfigureCloudFoundryOptions(builder.Configuration);
builder.Services.AddDiscoveryClient(builder.Configuration);
// etc, add yarp and run

This does successfully register with Eureka, but it uses the application service name, I'm guessing it's the one injected in application_env_json:VCAP_APPLICATION. Once running, it sends continual service registration events to the injected Eureka instance as expected, but the application name is always myapp-reverseproxy and never myapp. Here's an example log message of a successful up message with the wrong service name:
2024-08-16T23:43:43.293-04:00 [APP/PROC/WEB/0] [OUT] Sending HTTP request PUT https://service-registry-00000-random-00000.local-tanzu-company-address.com/eureka/apps/MYAPP-REVERSEPROXY/myapp-reverseproxy.local-tanzu-company-address.com

The Ask
So first off, what am I doing wrong, or is Steeltoe broken?
Second, is there a programmatic way to set this in my Program.cs while the app is starting up so that I can make very sure that it has the correct configuration?
Environment (please complete the following information):

.NET 8 (latest)
Steeltoe Version 3.2.8 (latest)

Additional context or links
Add any other context about the problem here.

I suspect this is by design. What's in VCAP_SERVICES and VCAP_APPLICATION (running on Cloud Foundry) overrules all other configurations. The reason is so that developers can safely use settings locally, without risking that they are accidentally used in production.
You can force things by adding the "vcap:application:application_name" configuration key.

Success - Yes! OK the only thing I had to do was this:
Set an environment variable for Eureka:Instance:AppName with the value myapp. The discovery client recognizes this when the service starts up and registers the application with that different name.
Thank you!

BTW I wish this were better documented as a capability. I had a very hard time finding it.


Confused how style.scss in this component folder is just magically getting added to the component?

https://github.com/jaxx2104/gatsby-starter-bootstrap/blob/576c91a2a314b9a480b15c83b3a66ee6a8edc2f6/src/components/adsense/index.js#L2

Thank you. Resolved.


Taking screenshots don't work with Electron

http://selenium-python.readthedocs.org/faq.html#how-to-take-screenshot-of-the-current-window
Issue discussed here: https://bugs.chromium.org/p/chromedriver/issues/detail?id=816
Looks like the solution is to make the Electron browser to navigate or refresh page at least once.

Alternative is to use python directly via: https://github.com/ponty/pyscreenshot

Or call platform specific screenshot utility. On OS X:
from subprocess import call
call(["screencapture", "screenshot.jpg”])

This works from inside the electron-app:
// app.js
const screenshot = require('electron-screenshot');
function takeScreenshot(path) {
  screenshot({'filename': path});
}

# test.py
self.driver.execute_script("takeScreenshot(\'" + filepath + "\');")

Closing this as won't fix as it is an upstream vendor issue. Should be solved at Electron level if possible.