[Question/Feature request] How to stack variable length tensors in a TensorArray?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOs Sierra
TensorFlow installed from (source or binary):binary
TensorFlow version (use command below):v1.8.0-0-g93bc2e2072 1.8.0
Python version: 3.6
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:no
GPU model and memory:
Exact command to reproduce:

Describe the problem
How to stack variable length tensors in a TensorArray cleanly and efficiently?
I am implementing a form of RNN that produce variable length (time step dimension) tensors using tf.while_loop and tf.TensorArray to store the tensors. I need when tf.while_loop is done, all tensors are stacked into 1 tensor and the length dimension for each individual tensor is padded with 0 (or any constant) to the maximum length of the array.
Note that the time dimension is unknown at compile time
Source code / logs
It would be something like this.
import numpy as np
import tensorflow as tf

BATCH = 2
DIM = 4

TIME_X = 2 # unknown at compile time
TIME_Y = 4 # unknown at compile time

tensor_array = tf.TensorArray(size=2, infer_shape=False, dtype=x.dtype)
x = tf.random_uniform(shape=[BATCH, TIME_X, DIM], name='x')
# at this point, x is created but y is not created yet
output_ta = tensor_array.write(0, x)

# at this point, y is created
y = tf.random_uniform(shape=[BATCH, TIME_Y, DIM], name='y')
output_ta = output_ta.write(1, y)

# the maximum time dimension shape is unknown when the tensor is written to the TensorArray
# meaning that we can't pad each individual tensor beforehand.

output = output_ta.stack()

with tf.Session() as sess:
    print(sess.run(output)) # this will raise exception as shape is not compatible

# expected output shape: [2, BATCH, max(TIME_X, TIME_Y), DIM] = [2, 2, 4, 4]

Thank you

Nagging Assignee @tatatodd: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 30 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 45 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 60 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 75 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 90 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 105 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 120 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tatatodd: It has been 135 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


feat: added nockReqHeaderOverwrite

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Menu problems

Im using the latest foundry, Version 9 - Build 249.  When using the ... menu option to see more controls when I click the stamp too the menu doesnt clear out and just stays hovering where it first spawned.  Also the Styles menu, all those I cant click on, they just turn my mouse pointer into a red circle with a slask and I nothing changes on the entry.

Hi HippyCraig! It sounds like you need to update the mod. You shouldn't see the  '...' menu anymore. I made changes to prevent it specifically to address the persistent buttons showing even after you close the window.
As for the Styles menu, they only enable when you have text selected and they are of the correct type, like H1, H2, H3, etc. I'm playing around with that now to see if I can get them to enable always.

So I am only testing the Regualar Stylish Journal in this case and only that one is enabled.  I was testing with 1.2.1, it was a fresh install from the install modual in Foundry.  I did run the update and it asked me to update the modual URL but it failed see attached.

Oh wow. Let me look into what may have happened.

cool there both at 1.3.1 now, I can test the features tomorrow playing shadow run :)
Thanks!

Cool. Let me know!

Thanks for the quick response, I was just testing it, no inconvience.


Clean up and speed up ref attribute resolution

For my schema validation benchmark, this change means a ~10% speedup. I extracted a few methods on the way to clean up.

I will close this, as I think that we need a real benchmark tool, so that performance regressions in pull requests are caught. I opened an issue for discussion on this (#218).


Enhancements to care config #8470

Proposed Changes

Fixes #8470

@ohcnetwork/care-fe-code-reviewers
Merge Checklist

[ ] Add specs that demonstrate bug / test a new feature.
[ ] Update product documentation.
[ ] Ensure that UI text is kept in I18n files.
[ ] Prep screenshot or demo video for changelog entry, and attach it to issue.
[ ] Request for Peer Reviews
[ ] Completion of QA

New to this kind of Issues, so kindly let me know if there's something needed, or if there are mistakes.

@Sulochan-khadka can you please fix the failing cypress tests

@Sulochan-khadka can you please fix the failing cypress tests

i have fixed all cypress tests but dont know why one is failing. May you help!

Not sure if this is the right approach, i was thinking that we would add some sort of json validator that would be run before the build step. 🤔
@rithviknishad please review the PR

This does not validate the env's during the build stage. That is the main requirement mentioned in the issue.

We could add a script and call that script (that imports `care.config.ts`) before the vite build. If validation fails, exit with a non-zero status code so that vite build does not start (as vite build should happen only after the validation script runs).

Ok so the required task is to create some script like "validate-env.ts" that imports care.config.ts and checks if the necessary environment variables are defined or valid.
And then run through this script before vite build and only proceeds to vite build if the script approves.
Am i on the right track now? If yes, should i close this PR and raise a new one?

Yes; you are right


Wiki_Manual 3.0 > Webgateway technology - Page not found

https://library.threefold.me/info/manual/#/manual__manual3_iac_home > Links > What you need to know > Exposing the workloads to the public > Webgateway technology
(**ERROR: link:link, cannot find page: ‘threefold:webgateway3’ cannot find the page: threefold:webgateway3 **)

all fixed to redir to https://library.threefold.me/info/threefold#/technology/threefold__webgw?id=webgw-20
commits
https://github.com/threefoldfoundation/info_manual3/commit/34ccdc10c94d242903d478bbd8e1a2b0a72ec202


Remove or make optional identifying phone information

Upon registration "deviceModel" and "deviceOSVersion" are submitted.
I believe there is an argument against doing so for the purposes of privacy. I can't see why this information is needed.
If this is required for crash reports then I propose that information is instead sent upon a crash with the users permission and only when necessary.
What are the arguments for this data?

We have set out the reason for this information in the Data Protection Impact Assessment (DPIA).

The make and model of the device (e.g. Apple iPhone 10) is used help interpret the data – as bluetooth signal strength varies between devices.

The basis for processing this is also set out in the Data Dictionary

Basis for Processing
● Estimating distance between devices from signal strength reported during BLe interactions varies by device

Thanks for the document links, that clears up a lot of questions I had.
For discussion on whether or not BLE distance ranging is valid/accurate see #30


Course Homepage: Locked content remove paragraph

On locked content remove the paragraph. The title and call to action are sufficient and the paragrpah just looks messy and cramped.
Steps to reproduce
Sign in as a beginner subscriber
Expected behavior
Locked content has title 'Pro Course' and green call to action
Actual behavior
Paragraph text makes this section look cluttered and messy

Environment

Android Version: 9
raywenderlich.com App Version: 1.1.0
Device: Samsung S8

Hey @luke-freeman!
Which one of these two options do you prefer? We can have the order of the two items display in other ways too, if needed.
Thanks!

@luke-freeman Pinging here just to make sure you've seen this!


Support to FBSDKCoreKit (~> 17.0)

https://github.com/Innim/flutter_login_facebook/pull/102

Hello. Unfortunately, for version 17.0 it is not that simple. Starting with this version, Facebook changes the behavior depending on whether AdvertiserTracking permission has been granted or not.
See #108 for details.
I will implement support for this version shortly, but you are still need to implement support of this behavior on your side.
Meanwhile you still can use previous version of FB SDK (16.2.1), it works perfectly fine (better than new one IMHO).

I think this should be faced urgently cause version 17.0 contains privacy manifest which is required by Apple since 1 May to deploy app on app store.
https://github.com/facebook/facebook-ios-sdk/blob/main/CHANGELOG.md#1700
As you see here facebook packages are among the third party sdk under scrutiny
https://developer.apple.com/support/third-party-SDK-requirements/

You are right, and I intend to release a new version of the plugin as soon as possible.
But if you are verifying the token on the backend, you will need to implement Limited Login token verification after updating the plugin in your app.
For now, we decided to try to include the necessary entries in the application's privacy manifest and use a previous version of the FB SDK. We'll see if this works for Apple.

Released in v2.0.0. Pay attention to the breaking changes described in Changelog.


[Feature Request] Implement Split K Tilelang scheduler templates

Small shapes benefit from using split-k to enhance parallelism. Instead of implementing block reduction as we did in Tensor IR, we can start by creating an atomicAdd template. If the performance turns out to be suboptimal, we can further explore serial split-k as an alternative.

Introduced by pr #268 , but comprehensive benchmark are required as this modification will have impact on dequantize matmul.

closed, as comprehensive benchmark has been done at https://github.com/LeiWang1999/bitblas-benchmark


Feature/add migrations

Adds service_types and service_type_categories table migrations following this plan
https://app.dbdesigner.net/designer/schema/0-schema-w-json-family-promise-labs-35

Description
What work was done?
• created new migration files
Why was this work done?
• In order to restructure the database to fit our desired schema
Type of change
• Breaking feature? We will have to rewrite some of the model files
Change Status
• Completed, ready to review and merge
Checklist
• My code follows the style guidelines of this project
• I have performed a self-review of my own code
• My changes generate no new warnings
• There are no merge conflicts


Add fedora

I think fedora is probably not the best one to include here :sweat_smile:
Per https://github.com/docker-library/official-images/issues/527, ideally we'd tell them about the oci-import support (https://github.com/docker-library/official-images/pull/13968), but it's still got some rough edges that need to be ironed out before I'm comfortable suggesting more maintainers jump on it -- implementing support for oci-import here in meta is my goal and should resolve the edge cases we're aware of, but I need a less high profile image implementing it that I can test on (so I've been looking at converting either/both of cirros and busybox but each of them have some minor things that make that a little bit complex).  One of the biggest downsides though (for your goals) is that we lose the SBOM generator because that's part of BuildKit. :upside_down_face: :disappointed:


Ntd1hc/feat/robfw 357/alignment of names for 2db tools

Hi Thomas,
The package name and app name has been renamed and updated in sources accordingly.
The repository name and its links have been updated in README and document files, too.
Please help to rename this repository as robotframework-robotlog2rqm to align with changes in this pull request.
Thank you,
Ngoan

Configuration of repo and GenPackageDoc works properly. Please check the deletion of the folder with old name: RobotResults2RQM. After cloning I have both RobotResults2RQM and RobotLog2RQM.

Hi Holger,
I have renamed that folder and that action has been reflected in the Files changed tab.
Could you please double check this issue?
Thank you,
Ngoan

Hi Ngoan,
this is so much tricky. Because of your latest pull request is not yet merged, I worked with both the develop branch and your feature branch containing your latest changes - but in the same folder. That's the reason for having two package folders. All things fine now. ;-)


pinned hyper version dependency conflict with reqwest

The pinned hyper version is 0.9.x but hyper is now on 0.10.x.
Would it be easy to fix this up? I have a dependency conflict in my project.

The websocket crate also wants less than 0.10 so that won't help

Here's an open issue for it - https://github.com/cyderize/rust-websocket/issues/95

I'll look into this tonight. Hopefully we should be able to resolve this
shortly! Sorry for not responding sooner.
On Feb 27, 2017 13:43, "blakehawkins"<EMAIL_ADDRESS>wrote:

Here's an open issue for it - cyderize/rust-websocket#95
https://github.com/cyderize/rust-websocket/issues/95
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/slack-rs/slack-rs/issues/70#issuecomment-282810756,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4Bq5t1qJqMaj0rTJ_hdsIfHp4BbH7Cks5rgxlZgaJpZM4MMziq
.

If you all can afford to wait, I think the best option is probably to follow what servo does, if not perhaps we can look into migrating to another websocket library.

It looks like servo has made their fork: https://github.com/servo/rust-websocket. There's a PR there for updating hyper too.
Although I think we also need to have the underlying slack_api crate to move away from hyper too (which looks like is being done in the codegen PR).

Thanks for the update. I agree we should probably move everything to
reqwest and the servo websocket fork. The codegen PR and a new release
should be out soon I think.
On Mar 5, 2017 14:31, "compressed"<EMAIL_ADDRESS>wrote:
It looks like servo has made their fork: https://github.com/servo/rust-
websocket. There's a PR there for updating hyper too.
Although I think we also need to have the underlying slack_api crate to
move away from hyper too (which looks like is being done in the codegen PR).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/slack-rs/slack-rs/issues/70#issuecomment-284253780,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4BqwUgWNt0s8TBqpofJjO-_Td9oj5tks5riw2bgaJpZM4MMziq
.

Any update on this? I am not following progress on servo's websocket fork

@blakehawkins servo's fork is updated to use openssl 0.9 and https://github.com/slack-rs/slack-rs-api is updated to use reqwest now. All that's left now is the PR to update this crate.

Excellent news! I'm happy to help if there's a pool of simple tasks remaining but it sounds like that's not necessary?

I spent some time working on this. There were a lot of changes required. First things first, the servo fork doesn't actually work with wss://, only ws:://, so that's a non-starter. I considered ws-rs but eventually picked tungstenite, it supports websocket over TLS and also has a tokio library. I'd really like to see non-blocking RTMClient.
Since the the slack-api has now changed, we need to swap out rustc_serialize for serde which also increases the amount of changes. Specifically, the Event transformations needed to be reworked. I've only implemented a few (you can check here: https://github.com/compressed/slack-rs/blob/tungstenite/src/events.rs#L271). It seems to be a bit of a pain (i.e. a lot of typing) to match each Event variant. Maybe there is a better way; I'm not an expert in serde. Or maybe we could use a macro to make it easier.
You can check out my work here: https://github.com/compressed/slack-rs/tree/tungstenite. I'm open to any help. It's not really in PR form yet given the above... Also not really tested, examples not updated, etc.

Update: With some help from the serde experts, I was able to actually have serde generate all the deserialization code for Event automatically. I believe the latest code should support all Event variants now.
Feel free to check it out and see how it works for you.
Also one note: reqwest has an issue (https://github.com/seanmonstar/reqwest/issues/26) that causes it to hang on MacOS at certain times, so I needed to override the slack-rs-api reqwest impl (see here: https://github.com/slack-rs/slack-rs-api/blob/master/src/requests.rs#L15) to set a ConnectionClose header for testing locally.

@compressed excellent news. Any further luck with this?

I just tested out your version and it works great! In case it's useful at all, here's what I had to change before it would compile:
-    fn on_ping(&mut self, cli: &mut slack::RtmClient) {
-        println!("on_ping");
-    }

// post_message API has changed.
-        let _ = cli.post_message("#random", "hello world! (postMessage)", None);

@blakehawkins great, thanks for the feedback. I still haven't got around to testing it completely myself. I also want to try making slack non-blocking. I'll probably send a PR in the next week or so.

wondered if in your websocket investigation you had looked at https://github.com/rustyhorde/twist

@dten I hadn't heard of it actually. From what I can see though this might be a bit too low level than what's needed for this library. When I started making changes using tungstenite it was very straightforward so I just went with that.


{feature request] Start/Stop casting based on entity state

Hi, is it possible to set the time window based on entities or use the state of another entity to start/stop continuously casting?
It possible to switch between views, but not to start/stop.
use case:
I use several hubs as alarm clock but during day-time as "room-controller".
I would like to cast until the specific room goes into "sleep mode" (helper value) , than it should just be the default dimmed clock. In the morning (after the variable alarm clock) and after wake-up, it should start casting again. Of course, these times are different each day so a fixed time window will not help.
Would be great if some optional entity value could be used to start/stop CCD.

Hey @FlexxFR if I get some time over the weekend i'll take a look at doing this. I'd need to implement some form of toggle between time based casting and entity casting. I'll let you know 👍

Nice, @b0mbays .
Maybe you can make something similar as the current state_triggers but use a start/stop toggle instead of another dashboard url?
Another question: I tried to remove all start/end times and assumed 24/7 casting, but still the defaults are used. Is this intended?

Hey @FlexxFR - Yes that is intended. Unfortunately with how it's been implemented there is no "24/7" casting option currently. You can get pretty close enough though with 1 minute being not being casted. Also, it's probably a bad idea to constantly cast the same screen to these devices can suffer from burn in.

Any headway on this? I need to be able to toggle this off on occasion.

I have a similar setup, but I use wallpanel (from hacs) with "screensaver_entity" config and a randomly  changing background. I ended up here because I was searching for a way to trigger recasting for any reason without having to restart homeassistant. For example casting to my google nest hub randomly stops if WiFi drops.
Maybe a service to start / stop casting can be implemented?

@b0mbays do you have any update about this? I would like to mimic what google does so the screen only displays the HA dashboard if there is someone in the room, and it is idle/off the rest of the time. With the current options the screen is displaying the same dashboard 16h a day or whatever you setup on the settings, which I guess it might damage the screen

@b0mbays do you have any update about this? I would like to mimic what google does so the screen only displays the HA dashboard if there is someone in the room, and it is idle/off the rest of the time. With the current options the screen is displaying the same dashboard 16h a day or whatever you setup on the settings, which I guess it might damage the screen

Unfortunately I haven't attempted this yet. However I haven't had any damage to any of my 5 Google Hubs and they've been continuously casting 18 hours a day for almost 2 years so I wouldn't worry about it too much 👍

@b0mbays thanks for the quick reply, it seems the burn-in issue affects more the v1 of the hub, so people with v2 should have less issues (though I expect the burn-in happening at some point, depending on how static the dashboard is): https://www.androidheadlines.com/2021/04/google-nest-hub-screen-burn-in.html
But the problem is not only damaging the screen, but also the energy wasted having a screen turned on when 99% of the time is not needed, specially considering the google hub comes with a motion sensor to turn off the screen automatically after certain time.
If you can have a look and at least let us know how easy/difficult would be to implement a switch or some option to enable/disable the casting, that would be really appreciated. I would love to help with a PR, but unfortunately my knowledge is pretty limited here.

Just in case you didn't notice my suggestion to look at wallpanel from HACS as a screesaver, it also has the ability to blank the screen with the black_screen_after_time option.

I've published a new release that adds a new feature to control the casting based on an entities state. Hopefully this works well for everyone's use case 😄

That´s amazing!! Thank you very much @b0mbays, will test it straight away :smiley:


Payload may not be larger than 2097050 bytes

280 mods loaded in fine.
Add in McJtyLib & create a map. Then this error occurs, you are kicked from single player, and the message "Disconected from server".
http://hastebin.com/xuveqavebo.css

I don't see how that can have anything to do with McJtyLib. It doesn't send any packets on its own. The crash also doesn't involve McJtyLib and additionally McMtyLib is used in hundreds of modpacks without any issues.

I think we done goofed on a config somewhere then..

It could also be that McJtyLib just happens to be the threshold for something and causes something else to fail for that reason. Just guessing

That could be. We do have a crap ton of mods in this. xD

I know this is somewhat old but commenting in case someone else has this issue. I've run in to this before, for me it's happened whenever any MC data file (player .dat files, level.dat, etc.) gets beyond this size threshold. Check the size of your player data file (Your UUID.dat), it may be past that size and you'll need to delete some NBT entries (check ForgeData\Persistent for any mods adding way too many entries) to resolve it.


Support for anyOf null, object

I think there's an edge case of oneOf (#2) that can be implemented easily.
I converterted https://docs.github.com/en/rest/repos/repos#get-a-repository 's "Response Schema" and I got val license: Any instead of val license: License?
    "license": {
      "anyOf": [
        {
          "type": "null"
        },
        {
          "title": "License Simple",
          "description": "License Simple",
          "type": "object",
          "properties": {
            "key": {
              "type": "string",
              "examples": [
                "mit"
              ]
            },
            "name": {
              "type": "string",
              "examples": [
                "MIT License"
              ]
            },
            "url": {
              "type": [
                "string",
                "null"
              ],
              "format": "uri",
              "examples": [
                "https://api.github.com/licenses/mit"
              ]
            },
            "spdx_id": {
              "type": [
                "string",
                "null"
              ],
              "examples": [
                "MIT"
              ]
            },
            "node_id": {
              "type": "string",
              "examples": [
                "MDc6TGljZW5zZW1pdA=="
              ]
            },
            "html_url": {
              "type": "string",
              "format": "uri"
            }
          },
          "required": [
            "key",
            "name",
            "url",
            "spdx_id",
            "node_id"
          ]
        }
      ]
    },

@pwall567 - First of all, thanks for this library!
I am testing your suggested workaround and ran into an issue with validation and code generation of nullable fields that I wanted to get your take on.
We are going to start defining canonical, named types in our schema and referencing them with "$ref" (as opposed to defining them in-line). Consider this example:
definitions:
  SomeCommonType:
    type: object
    properties:
      someProp:
        type: string
  SomeType:
    type: object
    properties:
      commonType:
        "$ref": "#/definitions/SomeCommonType"

The library generates code correctly for this, but we run into problems when the commonType field needs to be nullable. Based on your suggestion above, I am able to make fields nullable by adding type: ["null", object], followed by the "$ref" property.
  SomeType:
    type: object
    properties:
      commonType:
        type: ["null", object]
        "$ref": "#/definitions/SomeCommonType"

This makes this library generate the code we want, but this JSON schema doesn't actually validate correctly: while the type allows null, the referenced sub-schema does not, so this schema is not actually viable for us to use for validation.
From our experimentation, it seems that the only way to use canonical definitions and $refs, and to make some fields nullable is to use oneOf or anyOf to add {type: "null"} as an alternate subschema for a field like this:
  SomeType:
    type: object
    properties:
      commonType:
        oneOf:
        - type: "null"
        - "$ref": "#/definitions/SomeCommonType"

I can work around this by transforming our canonical schema (which uses the oneOf form shown above) into the form that avoids oneOf and uses type: ["null", object] before invoking the library to generate code. This works to give us the validation we want (with 1 schema) and the code generation we want (with another), but it feels odd/wrong that in order to get nullable fields in the code gen, we have to transform a schema that correctly allows null for some fields into a schema that actually doesn't allow null for those fields.
Let me know if I'm missing something (e.g., is there an alternative you see that we're not seeing?). It seems like nullability is a something this library would support without this workaround. If it doesn't yet support it, what do you think about adding limited support for oneOf just for when one subschema allows null and the other is a non-nullable type, like in the example above? (Also: while the title of this issue is about nullable object types, we'd also want this for any nullable type.)

Hi @cmpaul , there is a simple solution to your problem – if you're prepared to accept the same compromise that I adopted in relation to required.  Consider the following:
  Person:
    type: object
    properties:
      firstName:
        type: string
      middleName:
        type: string
      surname:
        type: string
    required:
    - firstName
    - surname

What would you expect to see generated for middleName?  It is not in the required list, so it may be missing from the JSON, but it is not declared as [ string, "null" ].  Most people seem to expect that the property will be null if it is not present in the JSON, so the code generator considers all optional properties as nullable, even if they don't explicitly include null as a type.  And middleName in this example will be of type String?.
This shows the way round your problem. Just by omitting the property name from the required list, it automatically becomes nullable.
This may not be what the authors of the JSON Schema specification had in mind, but it's difficult to see how else we could generate usable code from the above example.

So it seems both of these workaroundsare actually forcing the users to create a different schema than before, in a way that it actually validates different JSONs.
For example your last suggestion allows:
{ "firstName": "Work", "lastName": "Around" }

while the original schema with all 3 fields in the required list doesn't allow that:
{ "firstName": "Work", "middleName": null, "lastName": "Around" }

"Omitted", and "existing but null" can make a meaningful difference in the API. Java/Kotlin is not able to express this though and they're logically both mapped to nullable fields.

As I said, it involves a compromise.  Your second example would not validate against the schema, but it would deserialize into the generated Kotlin.  If you're concerned to reject this invalid case, you could validate the JSON prior to deserialization, and the json-kotlin-schema project will do just that.
It might be possible to generate Kotlin that would distinguish between null and absent, but this would require custom deserialization, and one of the main goals of the code generator was to generate classes that would be usable by most of the serialization / deserialization libraries without special configuration.
It's my understanding that most users of the code generator are comfortable with the compromise, but I'm always willing to listen to ideas for improving the project.

@pwall567 - Thank you!
I see two downsides to the workaround you suggest.
The first is that it prevents us from being able to ensure the presence of correctly formatted keys. In your example, consider the JSON payload:
{ "firstName": "John", "midleName": "Fitzgerald", "lastName": "Kennedy" }

Notice that midleName is misspelled. If we remove middleName from required, this field will be ignored during validation. (This is important for us because we validate JSON from Ruby clients without static typing, so misspellings are possible).
Second, this workaround does not work for an array of nullable fields. Consider an example where we want to define a list that contains items that are either null or of type SomeCommonType. In your workaround, this would look like:
SomeType:
  type: object
  properties:
    someArray:
      type: array
      items:
          "$ref": "#/definitions/SomeCommonType"
  required:
    # Nothing required

This results in a data class with someArray defined as:
val someArray: List<SomeCommonType>? = null

This isn't quite what we want, since this means that the field must either be null or an array of SomeCommonType. The code below shows what we're after:
val someArray: List<SomeCommonType?>

Right now, we can generate 2 schemas as a workaround: 1 that works for validation (using oneOf) and 1 that works for code gen (using type: ["null", object], followed by the "$ref"). However this leaves me with the same concern I raise in my first comment.
Are there other avenues we can explore?

OK, I've implemented the special case of oneOf or anyOf described above, so the following (copied from one of your examples):
  SomeType:
    type: object
    properties:
      commonType:
        oneOf:
        - type: "null"
        - "$ref": "#/definitions/SomeCommonType"

should work as you expect.
I've documented this in the README. (The explanation is probably not particularly clear, but anyone who has encountered the issue should be able to grasp it.)
Version 0.87 includes this implementation; give it a try and let me know if it resolves this issue.

Thank you, Peter! 🙇  Will test this today and let you know how it goes on our side.

@pwall567 Confirmed! This works beautifully for us. Thanks again for the amazing turn-around on this.

Way better @pwall567, now the generated code is usable, thank you!
I wrote a quick script to do it (kotlinc -script generate.main.kts, note .main.kts ending is really important!):
@file:DependsOn("net.pwall.json:json-kotlin-schema-codegen:0.88")

import net.pwall.json.schema.codegen.CodeGenerator
import java.io.File

val codeGenerator = CodeGenerator().apply {
  baseDirectoryName = "generated"
  basePackageName = "com.github.repository"
}

// FullRepository.schema.json is a copy-paste of the response JSON Schema from
// https://docs.github.com/en/rest/repos/repos#get-a-repository
codeGenerator.generate(File("FullRepository.schema.json"))

Compare these two outputs, heaven and earth...
FullRepository86.kt
FullRepository88.kt


General Question: What are the range of projects that this library can be used under the current license?

I run an educational institution and these characters would be a great tool for our Language Learning Centers and Online Classes.
Best regards

Take a look at the license, which details permissions, and verify if it fits your needs:  https://github.com/aws-samples/amazon-sumerian-hosts/blob/mainline/LICENSE

@SavagePencil The LICENSE you pointed to is for the code in the repo. The license for the characters is at https://github.com/aws-samples/amazon-sumerian-hosts/blob/mainline/examples/assets/LICENSE


Unable to specify pushId

It seems as though you're limited to using the random push Id assigned by firebase. This is a feature request to add that as a push parameter.

Are you new to Firebase RTDB?
Please read this document.
This is how Firebase creates the UID.

Thanks for the info!


Bump nodemailer, lib and fs utils

@sebbalex There's a lot removed from package-lock.json, is this expected?

Maybe it was just outdated from before.


Ignored iFrame, already setup: is there way to destroy(no remove iframe) iFrame-resizer once click the button.

Hi,
My iframe original height is more than 25,000px (it has lots of lists), so had added a button in parent div show more.
iframeresizer is really working well when I click show more button for the first time and iframe height is also back to 1000px once I click show less button.
Here is my code snippet:
$(document).ready(function(){
$('.loi-btn').click(function(){
  $(this).text() === 'Show more  ? $(this).text('Show less') : $(this).text('Show more');
  if($(this).text() === 'Show less'){
   iFrameResize({ log: true}, '#loi')
  }
  if($(this).text() === 'Show more){
    $('#loi').css('height','1000px');
  }
})
});

I am not able to run iFrameResize({ log: true}, '#loi') again, maybe we only need to run once.
So I wonder is there anyway we could remove iFrameResize({ log: true}, '#loi')? then run again?

Once setup you can tell the iframe to resize
window.getElementById(‘loi’).iFrameResizer.resize()

https://github.com/davidjbradshaw/iframe-resizer/blob/master/docs/parent_page/methods.md


The operation "Replace my code" cannot be undone

Describe the bug
The operation "Replace my code" cannot be undone
Steps to reproduce the behavior
1.Navigate to https://arcade.makecode.com/beta#
2.Tutorials----->Winter---->Blocks Start Tutorial
3.Complete the tutorial
4."Replace my code"
Expect behavior
"Replace my code" can withdraw or give user a hint that "this operation cannot be undone"
Actual behavior
The operation "Replace my code" cannot be undone

Additional context
1.OS: Windows 11
2.arcade version: 1.9.1
3.Microsoft MakeCode version: 7.4.21

This is by design. We don't keep the code.


CallGraphApiOnBehalfOfUser could be awaited

Describe the bug
CallGraphApiOnBehalfOfUser could be awaited
Current behavior
var profile = CallGraphApiOnBehalfOfUser().GetAwaiter().GetResult();

Expected behavior
var profile = await CallGraphApiOnBehalfOfUser();

@YohanSciubukgian good catch! Feel free to make a PR and I'll review.


No TypeError generated when potentially null value is passed through function

Example:
<?php
interface A {}
function foo(A $bar) {}
function bar(A $bar = null) {
        foo($bar);
}
bar(null);

Interestingly the following simplification does generate a TypeError as expected
<?php
interface A {}
function foo(A $bar) {}
foo(null);

That one is a bit tricky. Type inference on $bar inside foo() ends up saying that $bar can be either A or null. Since that meets the arg type in foo() there is no warning.
We have discussed some ideas for type-narrowing but for more complex examples that gets really complicated quickly since we don't have the runtime context.
In your simple example it makes sense to do, but realworld examples are rarely this simple.


test-retry-failed-instances is flaky

lein test :only waiter.scheduler.shell-test/test-retry-failed-instances

FAIL in (test-retry-failed-instances) (shell_test.clj:549)
expected: 1
  actual: 0

lein test :only waiter.scheduler.shell-test/test-retry-failed-instances

FAIL in (test-retry-failed-instances) (shell_test.clj:554)
expected: 2
  actual: 1

I got 21 iterations with failures when I ran it 100 times:
(deftest ^:explicit test-retry-failed-instances
  (dotimes [_ 100]
    (let [scheduler-config {:health-check-timeout-ms 1
                            :port-grace-period-ms 1
                            :port-range [10000 11000]
                            :failed-instance-retry-interval-ms 500
                            :health-check-interval-ms 500
                            :work-directory (work-dir)}
          scheduler (create-shell-scheduler scheduler-config)]
      (is (= {:success true, :result :created, :message "Created foo"}
             (create-test-service scheduler "foo" {"cmd" "sleep 10000" "mem" 0.1})))
      ;; Instance should get marked as failed
      (force-update-service-health scheduler scheduler-config)
      (let [instances (scheduler/get-instances scheduler "foo" {})]
        (is (= 1 (count (:failed-instances instances)))))
      ;; Loop should continue to launch additional instances after initial failure
      (force-maintain-instance-scale scheduler)
      (force-update-service-health scheduler scheduler-config)
      (let [instances (scheduler/get-instances scheduler "foo" {})]
        (is (= 2 (count (:failed-instances instances)))))
      (is (= {:success true, :result :deleted, :message "Deleted foo"}
             (scheduler/delete-app scheduler "foo"))))))

Ran 1 test containing 400 assertions.
42 failures, 0 errors.


[FIX] switch zeit now to Vercel Now for probot deployment

Zeit just rebranded to Vercel and this PR changes the deployment guidelines to deployment for gridsome

View rendered docs/deployment.md

Haha, excited I could contribute this! 🔥


I recorded this week's meeting notes.

This doesn't appear to benefit anyone and my recording does not sound great but...

This allows people who are sleepy, lazy, or hard of hearing to consume the notes better.
It lets me pursue a career in audiobooks or something like that.

This is a fantastic idea! GitHub isn't really the right place for it, however. There are two reasons for this. The first is that GitHub is for source material, not derived material ("artifacts"). That's why the repositories don't even have the output from code builds. Those are in releases ... but it doesn't make sense for our repo to have releases.
Second, GitHub discourages including large files in repositories. There are technical reasons for this, which we can have a 1:1 or group discussion about sometime. And in some contexts, 50 MiB is something they consider "large," so you don't want to get into the habit of using GitHub as a parking lot for MP3 files.
I'm writing all of this out because I don't want you to think I'm denying the PR on a whim. What I'd like to do is have a README.md in the audio recordings folder with links to this and future MP3 files that are hosted somewhere else. You could put them in a public folder on Google, Microsoft, Dropbox; upload them to YouTube; or put them anywhere else you want. If you don't have any place at all, we can figure something out together. But that's the appropriate pattern for large files on GitHub - links on GitHub with the content somewhere else.

or just do noting lol


ci: split bundle size in separate job

In preparation to start tracking size in main branch and provide a comparison in every PR.

Current dependencies on/for this PR:

main

PR #143   👈

This stack of pull requests is managed by Graphite.

Whoopsie, merged accidentally. Used to enable automerge, but the new job wasn't required soooo merged despite failed 😓  fixing in #144


Revert "Remove in-CI sonar-scanner"

This reverts commit 04e9104d91dedb7068d3be4fb792b47af239f84c.

Codecov Report

Merging #5 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #5   +/-   ##
=======================================
  Coverage   24.54%   24.54%
=======================================
  Files           5        5
  Lines         774      774
=======================================
  Hits          190      190
  Misses        584      584

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 b37fb29...a898eed. Read the comment docs.


Better naming for AttributeResolverFactoryInterface

Comment from @vjik https://github.com/yiisoft/hydrator/pull/33#discussion_r1264695753:

"Factory" means that resolver will create every time. Here resolver in most implementations will be create once. Need to think about naming. Maybe AttributeResolverContainerInterface. If it is not resolved, then after merge PR need create issue.

Decided to leave it as it is.


Makefile: create install dir before copying .so file

Something that bothered me during the install: make install fails if the destination directory does not exist yet, so in this PR this is fixed.

LGTM


Task 889-893: BSC-TeMU/ancora-ca-ner, librispeech_asr

@Palipoor, wondering if you can help review these tasks?

Hi, If possible, please change the definition of task889_ancora-ca-ner_named_entity_recognition.json to this: 'This task is about doing Named Entity Recognition(NER) for every token in a sentence. The first step is to construct a Catalan sentence. Then split the sentence into single words or punctuation symbols. For each word, you need to assign an IOB tag. IOB tag consists of two parts separated by ‘-’ or a single part depending on whether the word belongs to a chunk or not. If the word doesn’t belong to any chunk, you will assign an ‘O’ tag to that particular word. But if it belongs to a chunk, you will assign a two-part tag like this: The I- prefix before a tag indicates that the tag is inside a chunk. The B- prefix before a tag indicates that the tag is the beginning of a chunk that immediately follows another chunk without O tags between them. It is used only in that case: when a chunk comes after an O tag, the first token of the chunk takes the I- prefix. So, if a token does belong to a chunk, you need to asign 'LOC' or 'ORG' or 'PER' tag as the second-part of the tag where 'LOC' indicates the token belongs to a location chunk, 'ORG' indicates the token belongs to a organization name chunk, 'PER' indicates the token belongs to a person name chunk, and 'MISC' indicates the token belongs to chunk which is not a person, location or an organization. Avoid using words from other languages.'
Previously, I forgot to eplain the second-part of the tag.

Hi,
In file  task889_ancora-ca-ner_named_entity_recognition.json :

what do you mean by this sentence in the definition? The first step is to construct a Catalan sentence
Can you provide a definition of "chunk" in the description?
In file task1001_squad1.1_question_generation.json:
Please change reading the given passage and construct a question to reading the given passage and constructing a question. Also please change (ii) uses same words to (ii) use the same words.
In negative examples please change  its answer is not a shortest continuous text span from the paragraph to it can not be answered with a short continuous text span from the paragraph.
There're some similar typos (with extra -s at the end of plural verbs, etc. in other files, please re-read all the definitions and explanations! thanks.
Also, please change the "Contributors" field to be a list in all files.
In file task890_ancora-ca-ner_text_auto_completion.json
I think by this sentence  we need to come up with a Catalan sentence with more than two words. Then we will split the sentence somewhere in the middle, making sure that the left and right parts have at least one word. So, here given the left part, we need to predict the right part of the sentence. you mean: you are given an unfinished Catalan sentence and you need to predict the rest of it. Creating the original sentence and splitting it in half is not part of the task.
The first negative example doesn't really make sense, as the input is never English, and the task doer is not responsible for the inputs!
Please merge the outputs of instances into one string, inside a list, instead of separate tokens.

Are the tasks 891 and 892 even valid? @swarooprm  Can you check these two?
In file task893_librispeech_asr_next_word_prediction.json:

Please remove Make sure the input and output are not empty, and both should be in capital letters.. The task doesn't include giving the input, only generating the output. Also please remove negative examples that are about the input being invalid.
Is it necessary for the data to be all capital?

Hi,
In file task889_ancora-ca-ner_named_entity_recognition.json :
what do you mean by this sentence in the definition? The first step is to construct a Catalan sentence - I assumed that the user needs to come up with a sentence. I'll modify this.
Can you provide a definition of "chunk" in the description? - Yes.
In file task1001_squad1.1_question_generation.json: - Sorry, this is not my dataset. Tasks for Squad1.1 dataset are already present in the repo when I forked them.
Please change reading the given passage and construct a question to reading the given passage and constructing a question. Also please change (ii) uses same words to (ii) use the same words.
In negative examples please change its answer is not a shortest continuous text span from the paragraph to it can not be answered with a short continuous text span from the paragraph.
There're some similar typos (with extra -s at the end of plural verbs, etc. in other files, please re-read all the definitions and explanations! thanks.
Also, please change the "Contributors" field to be a list in all files. - Ok
In file task890_ancora-ca-ner_text_auto_completion.json
I think by this sentence we need to come up with a Catalan sentence with more than two words. Then we will split the sentence somewhere in the middle, making sure that the left and right parts have at least one word. So, here given the left part, we need to predict the right part of the sentence. you mean: you are given an unfinished Catalan sentence and you need to predict the rest of it. Creating the original sentence and splitting it in half is not part of the task. - Yes, I'll modify this.
The first negative example doesn't really make sense, as the input is never English, and the task doer is not responsible for the inputs! - Ok, I'll edit this.
Please merge the outputs of instances into one string, inside a list, instead of separate tokens. - Ok
Are the tasks 891 and 892 even valid? @swarooprm Can you check these two? - Please, @swarooprm let me know.
In file task893_librispeech_asr_next_word_prediction.json:
Please remove Make sure the input and output are not empty, and both should be in capital letters.. The task doesn't include giving the input, only generating the output.  - Given a partial English sentence, task doer needs to predict the next word. This is my task.
Also please remove negative examples that are about the input being invalid. - Yes
Is it necessary for the data to be all capital?- No, I'll remove it.

@Palipoor, I had addressed all the above comments in my recent commit.
I had also added one new task for BSC-TeMU/ancora-ca-ner dataset. I have also added two new tasks for the librispeech_asr dataset since I don't know whether tasks 891 and 892 are valid or not.
Thanks for the clear and precise comments and the guidance.

Thanks!

Please make all input and outputs normally cased.
I am still in doubt about the tasks containing voice files.

@Palipoor,
I had made the suggested changes in the most recent commit could you please check.
Yes, I also have the same doubt, @swarooprm please advise.
Thank you in advance.

Thanks!

@ssingulu, tasks containing audio files are not allowed, since we only accept text input and text output. So, remove the 2 tasks that contain audio files.
Identifying missing words, text autocompletion, next word prediction are not unique tasks because they can be applied to any task.
Task 889: In instances field, output should be ["o-o-b..] and not the way it is right now ["o","o"...]
Please fix task889, remove tasks with audio file and create 1-2 new tasks since you don't have a lot of new tasks.
Let me know once you are done so that I can evaluate your HW.

Hi @swarooprm,
As you had suggested I had updated task 889, deleted tasks that relied on audio files and created 2 new tasks using the new Rulemaker dataset. Please evaluate them.
Thanks for your patience and guidance.

looks good, some comments:
-Given a text paragraph and a fact, you need to mark it as True or False based on the given Paragraph. If the Fact can't be marked True or False from the given paragraph, mark it as False. Please don't use general knowledge or knowledge which can be inferred outside of given paragraph to check the fact",--->'Given a text paragraph and a fact, generate 'True' if the fact can be inferred from the paragraph, otherwise generate 'False'. If the Fact can't be marked True or False from the given paragraph, mark it as False. Don't use knowledge outside the given paragraph to check the fact.
-Given a text paragraph and a question, you need to generate an incorrect fact from the given paragraph. Please don't use general knowledge or knowledge which can be inferred outside of given paragraph to generate the incorrect fact"--->Given a text paragraph and a fact, generate an incorrect fact based on the given paragraph. Don't use knowledge outside the given paragraph to generate the incorrect fact.
In classification tasks, ensure that labels of all classes are balanced in your instances.
Once you do the above changes, your HW will be complete.

Hi @swarooprm ,
As suggested I had updated descriptions for tasks 895 and 896. I also made sure that the labels are balanced for classifications tasks. Please evaluate them.

Your HW2 is complete now.
Would you like to submit the same tasks to our big project repo https://github.com/allenai/natural-instructions-expansion/pulls? You just need to fork that repo, rename tasks starting from the latest number in the repo and create PR there. This way, you can be part of our research on "learning from instructions instead of learning from examples (conventional machine learning)". This is purely optional and your HW2 grade does not depend on this @ssingulu

@swarooprm Absolutely, I would submit my tasks to the AllenAI repo.


Error=config file not found

Hi,
I've downloaded the file and tried to run the lss file, it returned this

Can you help with this? Like what should I do next?

It seems you didn't perform the setup with Ledger Live. Did you follow the instructions listed here: https://support.ledger.com/hc/en-us/articles/360017551659?

I did, using Umbrel. It returns this

So, I thought maybe I need to setup Satstack first, which gives me the feedback above.

Are you trying to connect to an onion address? Umbrel is particularly tricky because all traffic is routed through Tor. Someone on Twitter already managed to get it working and documented it in a thread: https://twitter.com/lounes_kmt/status/1313799727754948609.
The most relevant part is in this tweet: https://twitter.com/lounes_kmt/status/1313799733211803649. Note that at the time of the tweet, there was no UI support for setting up SatStack on Ledger Live.


Not Compiling With VS 2019 or 2022

I did a fresh clone of lv_port_pc_visual_studio and tried to open it in Visual Studio 2022, and I get this message in the middle of the display area of the file LvglWindowsSimulator.vcxproj:
An error occurred in 'LvglWindowsSimulator' while attempting to open 'LvglWindowsSimulator.vcxproj'
Value does not fall within the expected range.

and this which it would not let me copy/paste so I got a screen shot:

Trying to build the project results in errors from missing files:

./src/drivers/display/renesas_glcdc/lv_renesas_glcdc.c
./src/drivers/glfw/lv_glfw_mouse.c
./src/drivers/glfw/lv_glfw_mouse_private.c
./src/drivers/glfw/lv_glfw_window.c
./src/drivers/glfw/lv_opengles_debug.c
./src/drivers/glfw/lv_opengles_driver.c
./src/drivers/libinput/lv_libinput.c
./src/drivers/libinput/lv_xkb.c

...and several others -- too many to try to list (estimate based on scanning the error list with my eyes, 1306 errors and warnings).
I tried changing the lvgl submodule's "current state" to:

release/v8.4 branch
v9.0.0 tag
v9.1.0 tag
v9.2.0 tag, and
master branch

but none of them handled this problem.  In fact, I cannot find any record of the lv_glfw_mouse*.c files existing in the recent lvgl/lvgl repository.  Are they pending in a PR that has not been merged yet?
=========
Next, leaving  the lvgl submodule on the v9.2.0 tag, I tried it again with Visual Studio 2019.  I don't get the error opening the project as I do with VS 2022.  But attempting to do a build (from scratch after a clean) ends very quickly with the following errors:
Severity	Code	Description	Project	File	Line	Suppression State
Warning	LTL2003	VC-LTL is disabled because VC-LTL isn't compatible with the  toolset. Please switch to Visual Studio 2015/2017/2019/2022 and continue.	E:\Dev\Clients\WGA\lv_port_pc_visual_studio\LvglWindows\LvglWindowsStatic.vcxproj	C:\Users\Vic\.nuget\packages\vc-ltl\5.1.1\build\native\config\config.props	155

    <Warning Code="LTL2003" Text="$(ERROR_VC_LTL_NOT_SUPPORT_PLATFORM_TOOLSET)" Condition="'$(VCLTLSupportPlatformToolset)' !='true'"/>

Severity	Code	Description	Project	File	Line	Suppression State
Error	MSB4018	The "VCMessage" task failed unexpectedly.
System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
   at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at Microsoft.Build.Shared.ResourceUtilities.FormatString(String unformatted, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.FormatString(String unformatted, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.FormatResourceString(String resourceName, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.LogErrorWithCodeFromResources(String messageResourceName, Object[] messageArgs)
   at Microsoft.Build.CPPTasks.VCMessage.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()	LvglWindows	C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets	439

Severity	Code	Description	Project	File	Line	Suppression State
Warning	LTL2003	VC-LTL is disabled because VC-LTL isn't compatible with the  toolset. Please switch to Visual Studio 2015/2017/2019/2022 and continue.	LvglWindowsDesktopApplication	C:\Users\Vic\.nuget\packages\vc-ltl\5.1.1\build\native\config\config.props	155

Severity	Code	Description	Project	File	Line	Suppression State
Error	MSB4018	The "VCMessage" task failed unexpectedly.
System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
   at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at Microsoft.Build.Shared.ResourceUtilities.FormatString(String unformatted, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.FormatString(String unformatted, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.FormatResourceString(String resourceName, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.LogErrorWithCodeFromResources(String messageResourceName, Object[] messageArgs)
   at Microsoft.Build.CPPTasks.VCMessage.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()	LvglWindowsDesktopApplication	C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets	439

Severity	Code	Description	Project	File	Line	Suppression State
Warning	LTL2003	VC-LTL is disabled because VC-LTL isn't compatible with the  toolset. Please switch to Visual Studio 2015/2017/2019/2022 and continue.	LvglWindowsSimulator	C:\Users\Vic\.nuget\packages\vc-ltl\5.1.1\build\native\config\config.props	155

Severity	Code	Description	Project	File	Line	Suppression State
Error	MSB4018	The "VCMessage" task failed unexpectedly.
System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
   at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.Format(IFormatProvider provider, String format, Object[] args)
   at Microsoft.Build.Shared.ResourceUtilities.FormatString(String unformatted, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.FormatString(String unformatted, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.FormatResourceString(String resourceName, Object[] args)
   at Microsoft.Build.Utilities.TaskLoggingHelper.LogErrorWithCodeFromResources(String messageResourceName, Object[] messageArgs)
   at Microsoft.Build.CPPTasks.VCMessage.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()	LvglWindowsSimulator	C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets	439

This project has been really important for my last project, and I would hate to think that others are missing out.
I kept a copy of the version of this project I was working with (in another place), so it is not currently broken, but I thought  you should be aware of this if you were not already.
I see there is a branch for release/v7 and release/v8.3.  If not already being done, may I suggest having a stable version in  release/v9.0 and onward?  That would be very helpful if this is not already in the plans.
Kind regards,
Vic

This one might be required: https://github.com/lvgl/lv_port_pc_visual_studio/blob/master/Documents/HowToSynchronizeLvglRelatedSubmodules.md
In Eclipse I can just right click on the project and click "refresh" to get the new files. Isn't there a similarly simple way VS too?

This one might be required: https://github.com/lvgl/lv_port_pc_visual_studio/blob/master/Documents/HowToSynchronizeLvglRelatedSubmodules.md
In Eclipse I can just right click on the project and click "refresh" to get the new files. Isn't there a similarly simple way VS too?

In VS 2022, adding and removing files is is automatic by adding or removing them from the project directory (similar to PyCharm).  In VS 2019, there is a fast way (hidden) way to add existing files, explained in this stackoverflow article, and removing them is still manual, though easy (by right click).
Thinking about it, if I could get VS 2022 past that error message (early in the description), then it would probably handle the missing/moved files automatically.  If one approaches it with VS 2019, it can be faster to edit the .vcxproj file and change the paths.  Especially if there are several of them.

Visual Studio C++ projects will note every file in the project configuration file. So, it need to use a tool to update.
Kenji Mouri

Visual Studio C++ projects will note every file in the project configuration file. So, it need to use a tool to update.

Ah....  Indeed my test with VS 2022 was with a VB.NET project.

I see that it compiles now as of the commits on 16-Sep-2024.  Thank you, @MouriNaruto !

Hi, @MouriNaruto !
I notice that this project has the directory structure preserved in the project, as opposed to Visual Studio's default of having all .c files in one "folder" and all .h files in another "folder" (which I really don't like for large projects).  Do you have a utility program of some sort that modifies the .cproj file to do that?  If so, I would very much like to get it, since I am trying to maintain a (private) Visual Studio project that ONLY compiles the LVGL library as a compilation test before I submit code changes.
Would you mind sharing how you make lvgl/lv_port_pc_visual_studio project so useful by preserving the directory structure?

Hi, @MouriNaruto !
I notice that this project has the directory structure is (very usefully) preserved in the project, as opposed to Visual Studio's default of having all .c files in one "folder" and all .h files in another "folder" (which I really don't like for large projects). Do you have a utility program of some sort that modifies the .cproj file to do that? If so, I would very much like to get it, since I am trying to maintain a (private) Visual Studio project that ONLY compiles the LVGL library as a compilation test before I submit code changes.
Would you mind sharing how you make lvgl/lv_port_pc_visual_studio project so useful by preserving the directory structure?

The source code of the project definition generator is in this repository: https://github.com/lvgl/lv_port_pc_visual_studio/tree/master/LvglProjectFileUpdater
Kenji Mouri

The source code of the project definition generator is in this repository: https://github.com/lvgl/lv_port_pc_visual_studio/tree/master/LvglProjectFileUpdater

Excellent!!  Thank you very much!  😄


feat(react): implement visualizing historical versions of dataset schema

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

im curious... in the UI, every single edit you make gets updated as a new version right? so each version should at most see 1 change.


Too many pings to galley, connection closed

Bug description
I'm seeing connections being closed in galley due to too many pings from the client:
2019-06-24T10:51:05.928628Z	info	transport: Got too many pings from the client, closing the connection.
2019-06-24T10:51:05.928770Z	info	transport: loopyWriter.run returning. Err: transport: Connection closing
2019-06-24T10:51:05.928866Z	info	transport: http2Server.HandleStreams failed to read frame: read tcp <IP_ADDRESS>:9901-><IP_ADDRESS>:60468: use of closed network connection
2019-06-24T10:51:05.929078Z	error	mcp	MCP: connection {addr=<IP_ADDRESS>:60468 id=1}: TERMINATED with errors: rpc error: code = Canceled desc = context canceled
2019-06-24T10:51:05.929175Z	info	mcp	MCP: connection {addr=<IP_ADDRESS>:60468 id=1}: CLOSED

This ip correlates to a pilot instance:
istio-pilot-847cddc494-84jql              2/2     Running   0          120m    <IP_ADDRESS>    gke-delivery-platform-core-20190401-3a7a2d31-qlfk     <none>           <none>

And discovery logs:
2019-06-24T10:51:05.929040Z	info	Client received GoAway with http2.ErrCodeEnhanceYourCalm.
2019-06-24T10:51:05.929226Z	info	transport: loopyWriter.run returning. connection error: desc = "transport is closing"
2019-06-24T10:51:05.929301Z	info	pickfirstBalancer: HandleSubConnStateChange: 0xc420524080, TRANSIENT_FAILURE
2019-06-24T10:51:05.929347Z	info	pickfirstBalancer: HandleSubConnStateChange: 0xc420524080, CONNECTING
2019-06-24T10:51:05.929299Z	error	mcp	Error receiving MCP resource: rpc error: code = Unavailable desc = transport is closing
2019-06-24T10:51:05.929391Z	error	mcp	Error receiving MCP response: rpc error: code = Unavailable desc = transport is closing
2019-06-24T10:51:05.944696Z	info	pickfirstBalancer: HandleSubConnStateChange: 0xc420524080, READY

Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[x] Networking
[x] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastrcture
Expected behavior
I don't know how much of an issue this is, but I am guessing it probably shouldn't be disconnecting.
Steps to reproduce the bug
This isn't a particularly large cluster, nor does it have particularly high churn.  158 services with 197 pods.
Version (include the output of istioctl version --remote and kubectl version)
Istio 1.2.0 on GKE 1.13.6-gke.13.
How was Istio installed?
Helm
Environment where bug was observed (cloud vendor, OS, etc)
GKE

Some more info: https://github.com/istio/istio/issues/13910
@sdake @ozevren

For more info, we've seen this on 3 clusters all of drastically different sizes.  It only appears to happen after galley is started.
At that same time, we also have validation hook failures (see https://github.com/istio/istio/issues/15091).

@nmittler @ozevren I'm not sure if this is a Pilot or a Galley bug.  Could you root cause it and then assign the bug to the appropriate vict^H^H^H^Howner?

This is mainly an issue with the gRPC layer. I've made some gRPC connection related knob/lever changes some time ago to alleviate this to some extent but apparently not eliminated it.

I don't think this will surface as a functionality problem, but a potential performance problem. (@Stono are you seeing any abnormalities due to / correlated to this?)

@ozevren not so far (that I can tell).  I've been adding 1.2.0 to various non-production clusters of different sizes.  Only time will tell if an issue manifests 🤷♂

Fixed is in for master.

Nice one @ozevren - I'll test it out when it's in a patch release and let you know how I get on.

I've seen this in 1.2.0 too
2019-06-28T02:04:03.612088Z     info    Client received GoAway with http2.ErrCodeEnhanceYourCalm.
2019-06-28T02:04:03.612265Z     info    transport: loopyWriter.run returning. connection error: desc = "transport is closing"
2019-06-28T02:04:03.612339Z     info    pickfirstBalancer: HandleSubConnStateChange: 0xc420336070, TRANSIENT_FAILURE
2019-06-28T02:04:03.612427Z     info    pickfirstBalancer: HandleSubConnStateChange: 0xc420336070, CONNECTING
2019-06-28T02:04:03.612479Z     error   mcp     Error receiving MCP resource: rpc error: code = Unavailable desc = transport is closing
2019-06-28T02:04:03.612536Z     error   mcp     Error receiving MCP response: rpc error: code = Unavailable desc = transport is closing
2019-06-28T02:04:03.615016Z     info    pickfirstBalancer: HandleSubConnStateChange: 0xc420336070, READY
2019-06-28T02:04:04.612739Z     info    mcp     (re)trying to establish new MCP sink stream
2019-06-28T02:04:04.612960Z     info    mcp     New MCP sink stream created

@hzxuzhonghu Can you check with master HEAD or 1.2.x branch HEAD?

I am gonna upgrade galley image.

I can still see GoAway error, but only one time.
2019-06-29T02:09:27.854748Z     info    Client received GoAway with http2.ErrCodeEnhanceYourCalm.
2019-06-29T02:09:27.855072Z     info    pickfirstBalancer: HandleSubConnStateChange: 0xc4206a0c70, TRANSIENT_FAILURE
2019-06-29T02:09:27.855116Z     info    transport: loopyWriter.run returning. connection error: desc = "transport is closing"
...

It is because client will adjust keep alive time when receive too many pings error.c And current keep alive time by default is 30s, but keepalive.EnforcementPolicy.MinTime is 1 minute.
// receiving a GoAway.
func (ac *addrConn) adjustParams(r transport.GoAwayReason) {
	switch r {
	case transport.GoAwayTooManyPings:
		v := 2 * ac.dopts.copts.KeepaliveParams.Time
		ac.cc.mu.Lock()
		if v > ac.cc.mkp.Time {
			ac.cc.mkp.Time = v
		}
		ac.cc.mu.Unlock()
	}
}

Fixed by #15254


bump sys.version_info check to 3.7

After your issue response, I came to bump the version to 3.7 in setup.py assuming you had forgotten too previously, but you had already done it, but you missed this bit.
I'm not sure you need the check at the top actually as you have >=3.7 in python_requires during the setuyptools.setup() call.
Keep up the good work on the library.

It's always a good sign when internet strangers know my code better than me 😅. Not sure if it's needed either but I could imagine odd corner cases so I'll keep it in. Thank you :). Merging...


table panel treats string columns as numbers

there seems to be an issue with the way table element types are inferred:
the following function: https://github.com/Vertamedia/clickhouse-grafana/blob/master/src/sql_series.ts#L177
causes this bug:
https://github.com/grafana/grafana/issues/14660

https://github.com/Vertamedia/clickhouse-grafana/releases/tag/1.8.1


Allow StringType and BytesType to have undefined byte lengths

Prior to this commit, Recap StringType and BytesType both required bytes_ to be set. If unset, a default of 65536 was used. This configuration allowed developers to skip the bytes field in the concrete syntax tree (CST), but still required bytes_ to be set in the abstract syntax tree (AST). @adrianisk and I converged on this design in
https://github.com/recap-build/recap/discussions/284.
Recently, @mjperrone pointed out that requiring bytes_ in the AST is still awkward for JSON. In the absence of an undefined byte_ option, you have to set something for JSON--either a magic number or INT/LONG_MAX. Thus far, we defaulted to LONG_MAX. But a defined LONG_MAX and an undefined length are actually two separate states. Allowing a converter to specify an undefined string/byte length permits other converters to decide how to deal with the undefined byte length.
I made the change and it fit quite naturally, so I think we're on the right track with this. JSON and Hive metastore both benefited; both support undefined lengths.
I've left the other converters alone for now. This means they'll continue to barf if you go from JSON/HMS to Recap to Avro/Proto. I think that's fine for now. We can revisit this later if we want to.

@adrianisk @mjperrone @cpard PTAL
Also, the spec change: https://github.com/recap-build/recap-website/pull/13


Missing "clean" PHP FPM Debug images

Problem
Using a pure PHP container without a defined Node version fails to locate the related php-fpm-debug image
Steps to Reproduce

Initialize an environment den env-init demo symfony
Edit environment .env and remove NODE_VERSION value: NODE_VERSION=
Start environment: den env up
Encounter error:

Error response from daemon: failed to resolve reference "ghcr.io/swiftotter/den-php-fpm-debug:8.1": ghcr.io/swiftotter/den-php-fpm-debug:8.1: not found

Expected Result
Being able to use and run pure PHP FPM Debug containers without Node installed

@bap14 i think it's not very important since we have pre defined values in .env file by default.
Also, what is the reason not to use any of supported versions?

@ihor-sviziev I did intentionally add the functionality to disable node, but did not add images.  While I don't consider this high priority since the workaround of defining a node version is not a big issue, I would still like to resolve it at some point.
If one does not need node, why have those hundreds of Megabytes.

@ihor-sviziev Not every PHP project requires the use of Node, and so if it's not necessary, and the option to specify a node version is there, having a "clean" image with no node seems reasonable. Was just something I noticed as I was playing around with getting a Drupal install going (since I don't need Node, I just emptied the variable and saw there was no related debug image built (e.g. there was "php-fpm:8.1" but no "php-debug:8.1").

This image was auto-closed, but it will take about 3 hours until the images have fully built out.


Hot reload breaks after certain TSX errors

In Counter.tsx if you change /h1 to /1 to break the page.. then change it back to /h1 again, you can continue to make changes to the h1 content/text and they will be picked up / hot deployed.
However if you change /h1 to /h2 - then once you fix the error any changes to h1 content/text will no longer be hot deployed.

Ref #5


ORT optimizer refactorization

Refactorization of ORTOptimizer

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


react-query-devtools is not working in nextjs v13

Describe the bug
react-query-devtools is not working in nextjs v13
i'm useing nextjs v13
"@tanstack/react-query": "^5.0.0-alpha.71",
"@tanstack/react-query-devtools": "^4.29.19",
but error occurs as follows "Unhandled Runtime Error
TypeError: queryClient.getQueryCache is not a function"
and It works fine without devtools
code
'use client';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ReactNode } from 'react';

export default function ReactQueryContext({
  children,
}: {
  children: ReactNode;
}) {
  const queryClient = new QueryClient();
  return (
    <QueryClientProvider client={queryClient}>
      {children}
      <ReactQueryDevtools initialIsOpen={false} />
    </QueryClientProvider>
  );
}

library
"dependencies": {
    "@sanity/client": "^6.1.3",
    "@sanity/image-url": "^1.0.2",
    "@tanstack/react-query": "^5.0.0-alpha.71",
    "@tanstack/react-query-devtools": "^4.29.19",
    "@types/node": "20.3.0",
    "@types/react": "18.2.11",
    "@types/react-dom": "18.2.4",
    "axios": "^1.4.0",
    "eslint": "8.42.0",
    "eslint-config-next": "13.4.5",
    "next": "13.4.5",
    "next-auth": "^4.22.1",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-icons": "^4.10.1",
    "react-multi-carousel": "^2.8.4",
    "react-spinners": "^0.13.8",
    "timeago.js": "^4.0.2",
    "typescript": "5.1.3"
  },
  "devDependencies": {
    "@tanstack/eslint-plugin-query": "^4.29.9",
    "autoprefixer": "^10.4.14",
    "postcss": "^8.4.24",
    "tailwindcss": "^3.3.2"
  }

result

Your minimal, reproducible example
.
Steps to reproduce
react-query-devtools is not working in nextjs v13
i'm useing nextjs v13
"@tanstack/react-query": "^5.0.0-alpha.71",
"@tanstack/react-query-devtools": "^4.29.19",
but error occurs as follows "Unhandled Runtime Error
TypeError: queryClient.getQueryCache is not a function"
Expected behavior
react-query-devtools is not working in nextjs v13
i'm useing nextjs v13
"@tanstack/react-query": "^5.0.0-alpha.71",
"@tanstack/react-query-devtools": "^4.29.19",
but error occurs as follows "Unhandled Runtime Error
TypeError: queryClient.getQueryCache is not a function"
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
Chrome
macOs
Tanstack Query adapter
None
TanStack Query version
v5.0.0-alpha.71
TypeScript version
v5.1.3
Additional context
No response

Hi @SeungYn , you need to install the v5 alpha version of devtools as well!l. Do your package manager equivalent of npm install @tanstack/react-query-devtools@alpha. Let us know if you have any issues!

thank you 감사합니다!

Hi @lachlancollins , As you said, I installed "@tanstack/react-query-devtools": "^5.0.0-alpha.72", and this time I get another error
library

result

Continued in #5671


ActiveRecord::NotNullViolation in admin/communication/websites/agenda/events#show

Error in Osuny
ActiveRecord::NotNullViolation in admin/communication/websites/agenda/events#show
PG::NotNullViolation: ERROR:  null value in column "about_id" of relation "communication_block_headings" violates not-null constraint
DETAIL:  Failing row contains (24f325c9-9a79-48dd-ba23-d897056ea6c9, afbc486e-87a1-4093-adf3-aacdeaaa6c7e, Communication::Website::Agenda::Event, null, A propos, 2, null, 1, null, 2024-04-18 08:48:31.910803, 2024-04-18 08:48:31.910803).
View on Bugsnag
Stacktrace
app/models/communication/block/heading.rb:72 - translate!
app/models/concerns/with_translations.rb:103 - block in translate_contents!
app/models/concerns/with_translations.rb:102 - translate_contents!
app/models/concerns/with_translations.rb:84 - translate!
app/models/concerns/with_translations.rb:31 - find_or_translate!
app/controllers/concerns/admin/translatable.rb:16 - check_or_redirect_translatable_resource
app/controllers/application_controller/with_locale.rb:19 - switch_locale

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been reopened in Bugsnag
ActiveRecord::NotNullViolation in admin/communication/websites/agenda/events#show

An error linked to this issue has been marked as fixed in Bugsnag
ActiveRecord::NotNullViolation in admin/communication/websites/agenda/events#show


Enhancement: Add Custom Icons to mt-icon Component

I would like to request a feature that allows the ability to add and render custom icons easily within the mt-icon component. In the previous version (sw-icon in the Shopware codebase), as a user I was able to extend the component and load custom icons from within my Shopware Administration application.
The mt-icon component was created differently compared to sw-icon, which has led to this not being possible anymore as far as I can see. Currently, there is no documented way to load custom icons with mt-icon. For users who have specific design or branding needs, the ability to add custom icons is essential.

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Just for extra information, with sw-icon it was very easy to add custom icons by overriding the component like this.
Shopware.Component.override('sw-icon-deprecated', {
    methods: {
        loadIconSvgData(variant, iconName, iconFullName) {
            if (variant === 'xyz') { // Only handle our custom icon names
                return import(`./icons/${variant}/${iconName}.svg`).then((iconSvgData) => {
                    if (iconSvgData.default) {
                        this.iconSvgData = iconSvgData.default;
                    } else {
                        // note this only happens if the import exists but does not export a default
                        console.error(`The SVG file for the icon name ${iconFullName} could not be found and loaded.`);
                        this.iconSvgData = '';
                    }
                });
            }

            return this.$super('loadIconSvgData', variant, iconName, iconFullName);
        },
    },
})

Hi, we do not plan on adding this feature. We think the effort is too high for the value it creates. You have two options: 1. You build your own icon component or 2. you can request a specific icon and we evaluate if it makes sense to add it to the Meteor Icon Kit.


Find in Dash isn't working for react docs

Extension – Title

Author: @RSO

Description
Find in Dash command isn't working for react (HTML, CSS, JS etc. are working correct. Only react isn't)
Steps To Reproduce

Find in Dash
react
Search in React field remains empty

The current behavior
There are no results for a search in react docs
The expected behavior
There should be results
Raycast version
Version: 1.38.2

The issue here is that `` returns pluginKeyword = javascript for the react docset, which makes us believe that we should do javascript: in the search instead of react:. If you look at what's in the defaults:
                {
            blocksOnlineResources = 1;
            dashIndexFilePath = "reactjs.org/docs/hello-world.html";
            docsetBundle = react;
            docsetName = React;
            docsetPath = "/Users/remon/Library/Application Support/Dash/DocSets/React/React.docset";
            docsetSQLPath = "/Users/remon/Library/Application Support/Dash/DocSets/React/React.docset/Contents/Resources/docSet.dsidx";
            isDash = 1;
            isEnabled = 1;
            isFTSUnsupported = 0;
            isJavaScriptEnabled = 1;
            parseFamily = dashtoc2;
            platform = react;
            pluginKeyword = javascript;
            version = 1;
        }

There's two fields that have react as the value (which is what the search keyword should be): platform and docsetBundle. The problem is that if I look at other docsets that I have installed, both platform and docsetBundle aren't correct values to put as the keyword 😕 .
A potential fix for you (not ideal, since it's a fix on your side instead of in the code) is to manually set the keyword for the React bundle to react here:

You just have to double click on the react: bit and press return! When I do this, the defaults for this docset change to:
                {
            blocksOnlineResources = 1;
            dashIndexFilePath = "reactjs.org/docs/hello-world.html";
            docsetBundle = react;
            docsetName = React;
            docsetPath = "/Users/remon/Library/Application Support/Dash/DocSets/React/React.docset";
            docsetSQLPath = "/Users/remon/Library/Application Support/Dash/DocSets/React/React.docset/Contents/Resources/docSet.dsidx";
            isDash = 1;
            isEnabled = 1;
            isFTSUnsupported = 0;
            isJavaScriptEnabled = 1;
            isProfileEnabled = 1;
            keyword = "react:";
            parseFamily = dashtoc2;
            platform = react;
            playURLChecked = 1;
            pluginKeyword = javascript;
            shouldUseImage = 0;
            version = 1;
        }

As you can see it now has keyword = "react:". After applying this fix I can now successfully search through the React codebase:


Request: split the repository into 2, so that one would be a dependency all can use to decode Jpeg XL easily, using Java/Kotlin

As the title says.

The app and the lib are already separated in the repository. When the lib will be more usable, I intend to publish it (on mavencentral if I figure it out how to publish on it).

@oupson So maybe it's possible to use Jitpack without any effort from your side, no?

@oupson It seems it should be possible:
https://jitpack.io/#oupson/jxlviewer
However, for some reason there is an error with v0.3.0

@oupson It seems it should be possible: https://jitpack.io/#oupson/jxlviewer
However, for some reason there is an error with v0.3.0

Yeah I got the same problem with my other library, it is quite easy to fix : https://github.com/oupson/Kapng-Android/blob/master/jitpack.yml

jdk:
  - openjdk17

?

Jitpack is still using jdk 8 when AGP require jdk 17

Oh....
Are there more issues you know of?

Well sometimes build time out and you can't restart it, but otherwise nothing I'm aware of

This should work :
  `gradle
dependencies {
implementation 'com.github.oupson:jxlviewer:94fe98aaa4'
}

Thank you. Is this library better than others in some way?
I can see this one for example:
https://github.com/awxkee/jxl-coder
But I don't see a license there, and I don't see a way to downsample the image (to avoid using too much memory in case the image is huge) in the main page.
Is it possible for jxl file format?

I wasn't aware there were other libraries for android, so I don't know which one is better. However jxl-coder seems to be able to encode jxl.
Down-sampling should to be possible with the jxl format.

I haven't checked the code here.
Do you use down-sampling in the sample, or have some documentation about it?
Maybe there is even some integration for Glide library?

No sorry I don't have any example. Down sampling could probably be down when decoding each frames. I'm not aware with any integration with the glide library.
I intend to invest more time to build a better library in the future, for the moment it is very simple.

Using BitmapFactory it's possible to get information about the image without actually saving the bitmap.
And you can then know how much to down-sample it


Add NegatedMatcher configuration option to RSpec/ChangeByZero

This PR is add NegatedMatcher option to RSpec/ChangeByZero.
In the case of composite expectations, cop suggest using the negation matchers of RSpec::Matchers#change.
By default doe's not support autocorrect, but if you set the negation matcher of RSpec::Matchers#change defined in NegatedMatcher option, will be autocorrect.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

If you have created a new cop:

[-] Added the new cop to config/default.yml.
[-] The cop is configured as Enabled: pending in config/default.yml.
[-] The cop is configured as Enabled: true in .rubocop.yml.
[-] The cop documents examples of good and bad code.
[-] The tests assert both that bad code is reported and that good code is not reported.
[-] Set VersionAdded in default/config.yml to the next minor version.

If you have modified an existing cop's configuration options:

[x] Set VersionChanged in config/default.yml to the next major version.

Now passed the CI for default.yml :)


Add a license to the repository

I recently came across your project Quantum-Full-Adder and I noticed that the repository github.com/JAllsop/Quantum-Full-Adder currently does not have a license specified.
Why Adding a License is Important?
As GitHub documents

Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software.

Would be possible to add a valid license to this repository? Probably something really OpenSource such as the Apache 2.0 license would fit really well.
Thanks!

Thanks!


feat: Virtual Disk Upload and Conversion

The auth GitHub action does not provide private key due to the use of Workload Identity Federation, see this issue.
Consider migrating to signing manually by calling the signBlob() method, instead of relying on a service account private key.


Fixing ErrorProne MissingOverrides warnings

Fixing ErrorProne MissingOverrides warnings

run java precommit

R: @iemejia

@coheigea we are tracking this in a per module basis, take a look at the pending JIRAs here.
Good to take those so this validations get enforced.


Perl: look into performance issues

YAMLScript.pm performs poorly in benchmarks.
My assumption is that libyamlscript is fast but then deserializing the returned JSON to Perl data is slow.
Try using JSON::XS instead of JSON.
Also see if isolate reuse is good or bad.
Look into GC triggering.

My assumption is that libyamlscript is fast but then deserializing the returned JSON to Perl data is slow.

I feel like we should be able to check this assumption with a profiler

I ran some more benchmarks: https://gist.github.com/perlpunk/941f759355386906b84ca9f9c0623957#file-more-benchmarks
I used the simple YAML file and a 464K file for comparison, and I replaced JSON.pm with Cpanel::JSON::XS

https://raw.githubusercontent.com/perlpunk/YAML-PP-p5/bench/githubcl-openapi.yaml

Timing all the stages:
$ time YS - < ~/941f759355386906b84ca9f9c0623957-fb7e513f7ffd9837a4284b9767a8c37e88dbf190/githubcl-openapi.yaml
parse     "Elapsed time: 17.384898 msecs"
compose   "Elapsed time: 262.08553 msecs"
resolve   "Elapsed time: 91.073364 msecs"
build     "Elapsed time: 136.176638 msecs"
transform "Elapsed time: 10.022242 msecs"
construct "Elapsed time: 396.376954 msecs"
print     "Elapsed time: 6163.720849 msecs"

real    0m8.779s

The biggest slowdown was in the printer, which is a simple operation.
The culprit is here https://github.com/yaml/yamlscript/blob/44e65be55de1bb35f60eb401ef52ad3c580b6a4b/core/src/yamlscript/printer.clj#L79
The pretty print of the compiled YAML is really only for looking at compiled YS code as readable clojure.
For data it makes no sense.
Removing pretty-format call reduces print stage to "Elapsed time: 104.837069 msecs".

Getting these benchmarks now:
perl ./bench.pl ./bench-simple.yaml -3
YAML::PP: v0.37.0
YAMLScript: 0.1.22
YAML::XS: 0.88
Benchmark: running yamlpp, yamlscript, yamlxs for at least 3 CPU seconds...
    yamlpp:  3 wallclock secs ( 3.13 usr +  0.00 sys =  3.13 CPU) @ 219.81/s (n=688)
yamlscript:  3 wallclock secs ( 3.35 usr +  0.01 sys =  3.36 CPU) @ 937.20/s (n=3149)
    yamlxs:  3 wallclock secs ( 3.22 usr +  0.00 sys =  3.22 CPU) @ 21912.73/s (n=70559)
              Rate     yamlpp yamlscript     yamlxs
yamlpp       220/s         --       -77%       -99%
yamlscript   937/s       326%         --       -96%
yamlxs     21913/s      9869%      2238%         --
perl ./bench.pl ./githubcl-openapi.yaml -3
YAML::PP: v0.37.0
YAMLScript: 0.1.22
YAML::XS: 0.88
Benchmark: running yamlpp, yamlscript, yamlxs for at least 3 CPU seconds...
    yamlpp:  4 wallclock secs ( 4.37 usr +  0.00 sys =  4.37 CPU) @  0.69/s (n=3)
            (warning: too few iterations for a reliable count)
yamlscript:  3 wallclock secs ( 2.95 usr +  0.10 sys =  3.05 CPU) @  2.30/s (n=7)
    yamlxs:  3 wallclock secs ( 3.15 usr +  0.00 sys =  3.15 CPU) @ 63.49/s (n=200)
              Rate     yamlpp yamlscript     yamlxs
yamlpp     0.686/s         --       -70%       -99%
yamlscript  2.30/s       234%         --       -96%
yamlxs      63.5/s      9149%      2666%         --

This could be better of course, but it puts us in the right ballpark.


Fix #4087 by setting the correct csv dialect

The error in #4087 was happening because of the use of csv.Dialect.* which is just an empty base class. we need to make a choice on what is our base dialect. I usually use excel so I put it as excel, if maintainers have other preferences do let me know.
Open Questions:

What should be the default dialect?
Should we rework all tests to mock the open function rather than the csv.DictReader?
Should we make a separate input for dialect like we have for encoding?

Lol yup. Maybe I did over engineer this. I'm traveling right now, will push changes in the evening. Till then, any comment on my 2nd open question? I feel like by mocking csv.ReadDict directly we will keep missing CSV options related stuff in our tests.

Lol yup. Maybe I did over engineer this. I'm traveling right now, will push changes in the evening. Till then, any comment on my 2nd open question? I feel like by mocking csv.ReadDict directly we will keep missing CSV options related stuff in our tests.

i think we just check in simple csv files tbh and just load those
small imprint, no confusing mocking... seems simplest and best

Now I think the tests are much better because it's just CSV files.

@hwchase17 @dev2049 any more thoughts on this or should I just close it?

@rick2047 sorry for delay - looks great~!


Directive not rendering

Im trying to implement a simple drag and drop case but its not rendering:

test

Result is a standard element which is not draggable

You need to provide at least some data that can be dragged. dnd-draggable="null" should be enough.


Fix secondary rate limits URL

GitHub updated its documentation for rate limits and is now sending the following message when a secondary rate limit is triggered:
{
  "message": "You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later. If you reach out to GitHub Support for help, please include the request ID XXXX.",
  "documentation_url": "https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits"
}

This PR updates the check on the documentation_url to detect a secondary rate limit

Thank you, @liaodaniel !
Merging.


Integration with llama.cpp

Hello,
Im reading the documentation and it seems that this indexer cannot be used with https://github.com/ggerganov/llama.cpp.
Am I correct?
If so, will it be integrated in the future?
Thanks

@0x090909 the documentation provides an example of using a custom LLM here: https://gpt-index.readthedocs.io/en/latest/how_to/custom_llms.html#example-using-a-custom-llm-model

@logan-markewich .. sorry, but that link is dead now

I'm using llama.cpp a lot. C++ inference of 4 bit quantized and optimised models is VERY performant. Significantly faster than FP16 python code
One approach to use llama.cpp with llama_index would be to use Abetlen's https://github.com/abetlen/llama-cpp-python pip pakcage hich replicates OpenAIa's API... though this (I assume) would require runnign two processes to get the job done
Ideally, there would be a llama_index Custom LLM module, that used an existing llama.cpp install .. llama_cpp-bin=/somwhere/llama.cpp/bin/main... leveraging the python C++ headers as per llama-cpp-python

Another good, C++ FAST local LLM inference engine is https://github.com/OpenNMT/CTranslate2... which can use Llama family models.. as well as other family LLM models.

You can use any LLM that langchain offers (which happens to include llama.cpp)
Using v0.7.4
from llama_index import SeviceContext, set_global_service_context

llm = <setup langchain llm>
service_context = ServiceContext.from_defaults(llm=llm)
set_global_service_context(service_context, context_window=<context window of llm>, chunk_size=<some value about 25%smaller than the context window of the llm>)

Ngl but the last time I tried, llama.cpp is still not as fast as I'd like, and I think the context window was only 512 which is quite tiny for llama index

thanks @logan-markewich 🙏
So langchain supports llama.cpp via llama-cpp-python library... which is fine - usually just 1 release version behind llama.cpp. [https://github.com/abetlen/llama-cpp-python/blob/main/docs/install/macos.md](llama-cpp-python & llama.cpp happily run Mac Arm64 & Metal)
BTW: llama.cpp currently supports context size up to 2048, the C++ devs are currently working on extending context size via RoPE scaling.
llama.cpp is by far the best & fastest self hosted LLM inference I have found for Mac Silicon (Metal)

Here's how I upgraded llama-cpp-python to support MacOS MEtal GPU
pip uninstall llama-cpp-python
CMAKE_ARGS="-DLLAMA_METAL=on" FORCE_CMAKE=1 pip install -U llama-cpp-python --no-cache-dir

BTW: xcode is required to compile the llama.cpp binary

Hi!
Which tokenizer should I use in the llama_index pipelines along with llama.cpp?


Treat only '=' as an ini delimiter

By default both : and = are treated as delimiters by ConfigParser, but NetworkManager only treats = as a delimiter and uses : in key names.

Thank's for the PR <3