Lambda Scheduled Provisioned Concurrency - Closes #24

@nmrad-91 Let's hold on this until I can give a closer look at it. My other pr still needs to be merged.

yeap, i planed to wait for your changes to go 1st

How does the scheduled action interact with the target tracking policies?

@cookieMr  and @claydanford I will hold off on this one until I hear from you two. Sorry about the conflict. I should have merged this yesterday.

@nmrad-91 yes, please hold on, i'll reach out to you when this will be ready
@claydanford i'd like you to approve this before i merge (but 1st let's talk)
@claydanford

How does the scheduled action interact with the target tracking policies?

Target tracking scaling policies for Application Auto Scaling; Chapter Supporting application availability during high utilization periods:

For workloads that are cyclical in nature, you also have the option to automate capacity changes on a schedule using scheduled scaling. For each scheduled action, a new minimum capacity value and a new maximum capacity value can be defined. These values form the boundaries of the scaling policy.
The combination of scheduled scaling and target tracking scaling can help reduce the impact of a sharp increase in utilization levels, when capacity is needed immediately.

Looks like target tracking policy will smooth the slace out/in action defined by scheduled actions.

@cookieMr what configuration are you using to test? I'm getting validation errors.

I use something like this and i am able to generate CloudFormation code.
functions:
  dummy:
    handler: src/DummyHandler.dummy
    provisionedConcurrency: 1
    concurrencyAutoscaling:
      enabled: true
      min: 1
      max: 10
      scheduledActions:
        - name: OpenOfficeTime
          schedule: cron(* 30 8 * 1-6 *)
          action:
            minimum: 10
        - name: CloseOfficeTime
          schedule: cron(* 30 17 * 1-6 *)
          action:
            minimum: 5

    "DummyAutoScalingTargetDevUswest2": {
      "DependsOn": [
        "CummyProvConcLambdaAlias"
      ],
      "Properties": {
        "MaxCapacity": 10,
        "MinCapacity": 1,
        "ResourceId": "function:dummy:provisioned",
        "ScalableDimension": "lambda:function:ProvisionedConcurrency",
        "ServiceNamespace": "lambda",
        "RoleARN": {
          "Fn::Sub": "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/lambda.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_LambdaConcurrency"
        },
        "ScheduledActions": [
          {
            "ScalableTargetAction": {
              "MaxCapacity": 10
            },
            "ScheduledActionName": "OpenOfficeTime",
            "Schedule": "cron(* 30 8 * 1-6 *)"
          },
          {
            "ScalableTargetAction": {
              "MaxCapacity": 5
            },
            "ScheduledActionName": "CloseOfficeTime",
            "Schedule": "cron(* 30 17 * 1-6 *)"
          }
        ]
      },
      "Type": "AWS::ApplicationAutoScaling::ScalableTarget"
    },

and when i do the AWS CF command to verify SLS CF template:
aws cloudformation validate-template \
    --region=us-west-2 \
    --template-body file://cloudformation-template-update-stack.json

i get no errors/issues.
But i didn't deployed this into AWS (yet).

I'm getting all sorts of validation exceptions with the cron or schedule. Happy for this to go through, but that should be tested first. Good work by the way.

I'm getting all sorts of validation exceptions with the cron or schedule.

Can you share these exceptions?

Happy for this to go through, but that should be tested first.

I am not merging without tests. I still need some time to test.

Error:

Invalid schedule expression. Details: Invalid CRON expression: error at position 0, details: Specifying both a day-of-week AND a day-of-month parameter is not supported.
Invalid schedule frequency. Run for '1970-01-01T17:30:01.000Z' and '1970-01-01T17:30:00.000Z' are less than 60 seconds apart

I think we just need some good valid examples, my time is limited right now.

I see the issue. It's the cron syntax. According to AWS doc (section Restrictions) cron expression cannot have asterisk everywhere.

You can't specify the Day-of-month and Day-of-week fields in the same cron expression. If you specify a value (or a *) in one of the fields, you must use a ? (question mark) in the other.

Actually I was surprised to see any issue with CloudFormation template since I took it from AWS itself.
Also, i wonder if i should extract documentation (readme) about cron and rate (etc.) to a separate markdown file (and refer to it in the readme).

I would link to aws documentation in case it changes.

@claydanford

I would link to aws documentation in case it changes.

i already did this, the 2nd bullet before Known Issues/Limitations section.

@claydanford is this pr still pending?

@jsyoo yes, this is still pending, i have little time to test it on AWS and fix 1 minor issue i found (min/max for scheduled actions), i still plan to finish it

@claydanford this is done. Ready. I was able to successfully do a deployment with all 4 scheduled actions from a new readme file.

Hi @cookieMr @nmrad-91, will review and report back.

Using this config, I am not able to recreate with your latest changes in the master branch
functions:
  hello:
    handler: handler.hello
    provisionedConcurrency: 1
    concurrencyAutoscaling:
      enabled: true
      minimum: 1
      maximum: 10
      scheduledActions:
        - name: OpenOfficeTime
          startTime: "2025-01-01T00:00:00.000Z"
          endTime: "2025-01-01T23:59:59.999Z"
          timezone: "America/Chicago"
          schedule: "cron(30 8 ? * 1-6 *)"
          action:
            maximum: 10
            minimum: 1
        - name: CloseOfficeTime
          startTime: "2025-01-01T00:00:00.000Z"
          endTime: "2025-01-01T23:59:59.999Z"
          timezone: "America/Chicago"
          schedule: "cron(30 17 ? * 1-6 *)"
          action:
            maximum: 10
            minimum: 1

Okay this looks good. I was able to get it to deploy. Since the console doesn't show these schedules I cannot verify it works as expected, but it does deploy.

@claydanford
when i was testing this i saw Lambda's PC was increased by this scheduled action
but i couldn't see it to decrease, i presume this is due to the issue you already wrote about in #36
P.S.
Don't use the same values for increase/decrease scheduled actions as this might seems like actions are not happening

@claydanford in your opinion, is this PR ready to merge and rolled out to the world?
i did all test i can thing of in AWS and it works (see my previous comment here)

@cookieMr sounds good merge and I will publish!

Sorry, i don't have that power (of merge)
but i have a way to contact @nmrad-91 :)

@cookieMr v1.6.0 published to NPM!

now i need to support/maintain it


Fixed duplicate models with parsed ids being added multiple times

Brought up with @akre54 on getter. I think we're waiting for @caseywebdev's input.
Basically the issue is that the attributes are not parsed before being sent to get so modelId doesn't return the right properties. You could make modelId do the same thing as parse but its not clear you'd have to do that and then you're duplicating functionality that you have to remember to update whenever properties change.

Argh the dreaded double-parsing strikes again. It definitely feels weird to force a model's attributes to be parsed in two places (see discussion in #2976), but isn't this better handled in the Collection's parse? We don't tend to like to create temporary models just to merge them in later.

After thinking about this a bit more we definitely don't want to be creating temporary models just to set their attributes later on. Agreed that the logic duplication between modelId and parse isn't ideal, but this isn't the right fix. Let's keep discussing it.


test: move to junit 5

Description
I've migrated all tests to JUnit 5.
I've also replaced mocked test for the pipeline configuration by a test checking the pipeline generated.
I've also extracted the bean registration logic in a dedicated class to facilitate the test of this logic.

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 4.1.0-move-to-junit5-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 4.1.0-alpha.2 :tada:
The release is available on:

4.1.0-alpha.2
GitHub release

Your semantic-release bot :package::rocket:

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

4.1.0
GitHub release

Your semantic-release bot :package::rocket:


Define requirements

In planning...

PHP >= 8.2
MySQL >= 8.0

We develop Capetown CMS with Laravel 11, currently.
Basically we should based on Laravel LTS version.


Use GalSim to draw postage stamp galaxy images

Inputs (ruthlessly simple)

flux
shear/magnification (from to-be-extended astropy.randomfield)
RA/DEC/z (doesn't actually affect postage stamp, but needs to be recorded)
assume exponential
assume zero intrinsic ellipticity
assume fixed Gaussian PSF
fixed intrinsic size (recommend ~0.3 arcsec half-light-radius)

Outputs

a ~24x24ish galaxy postage stamp image
PSF (image).
RA/DEC/z (initially just passes straight through so can be used in eventual shape catalog, though, ultimately, these will be inferred from the data)

After first round trip, we can add shape noise, size noise, etc.

I've just implemented HDF5 reading writing into fastcat. @jmeyers314 : do you want to do catalog ->galsim images or shall I try to?

I’m planning to attack this (and HSM) today.

On Aug 24, 2015, at 7:51 AM, Anže Slosar<EMAIL_ADDRESS>wrote:
I've just implemented HDF5 reading writing into fastcat. @jmeyers314 https://github.com/jmeyers314 : do you want to do catalog ->galsim images or shall I try to?
—
Reply to this email directly or view it on GitHub https://github.com/DarkEnergyScienceCollaboration/BremertonRoundTrip/issues/2#issuecomment-134232234.

Ok, I'll look into fastcorr then...

Alright.  I got a python script to read @slosar's hdf5 files and spit out postage stamp images.  Checkout  galsim/postageStamp.py.
I only looked at the 10 test gals, but they seemed a bit too bright and a bit too intrinsically circular to me.  Maybe this is intentional?
I'll attack HSM tomorrow.

Uhm, yes, there was a bug in ellipticity generation -- try again.


Conditional Revise support using @requires

Following up on my comment https://github.com/Roger-luo/FromFile.jl/issues/30#issuecomment-1042478489, this PR enables Revise.jl to track files included via @from.
In order not to unconditionally depend on Revise (which was mentioned to be undesirable in a previous PR https://github.com/Roger-luo/FromFile.jl/pull/31#issuecomment-921981922, and I agree), this is done using the @requires mechanism from Requires.jl. This means that at the cost of a very lightweight dependency, there will be no effect on code using FromFile which does not have Revise loaded. This does mean that Revise needs to be loaded before FromFile in order for this method to work, but this is a very common workflow for Revise users: using Revise should be run before loading any code which should be tracked (see e.g. the Revise docs).
The implementation is very simple: if Revise is available in an interactive session, call Revise.track(mod, path) on the dummy module mod generated by FromFile which wraps the include(path) statement.
Right now, the only logic which I'm not 100% sure about is whether or not Revise should track every file included via @from, and whether it should only track changes in interactive sessions. I think the answer to both of these questions is yes: if a user has loaded Revise in an interactive session, I would think that they would prefer all possible code changes to be tracked. But still, an ability to opt out would be reasonable (environment variable?).

Yes, Revise should track every file imported via @from since this macro should be similar to include or includet.
Opt-out this is not necessary I think, I can't think of any use case for that, we can add opt-out options if someone actually reports a use case. So basically we need some tests then the rest should be good to go.

Alright, I've added some basic Revise tests which are passing nicely.
Unfortunately, when adding Revise as a dependency to the test project environment test/Project.toml I ran into a bug/error (https://github.com/JuliaLang/Pkg.jl/issues/1585) which I really cannot figure out. As far as I can tell it's still an outstanding issue, and test project environments are still somewhat in beta; see e.g. https://github.com/JuliaLang/Pkg.jl/issues/1585#issuecomment-616786874 and this note in the Pkg documentation.
As a workaround, I changed back to the old method of specifying test-specific dependencies in Project.toml via the [extras] and [targets] fields (https://pkgdocs.julialang.org/v1/creating-packages/#Test-specific-dependencies-in-Julia-1.0-and-1.1).
Sorry for the messy PR!

have you tried TestEnv.jl? That should allow you to work around this issue. the test env is very hard to use indeed, but I think hacking LOAD_PATH is a worse idea since this behavior is not guaranteed to always work.

I've never used TestEnv.jl but it looks neat! To be clear: this would still mean reverting to specifying dependencies via [extras] and [targets] and removing test/Project.toml, correct? I would just use TestEnv.activate() to activate the test environment instead of pushing to LOAD_PATH? This seems to be what is recommended in the discourse post.

Looks like TestEnv.jl won't fix the problem. This seems to be hitting a lot of weak points of Pkg simultaneously, specifically sub-projects and test environments.
Pkg generates FromFile/Manifest.toml at test time, but is unable to then merge it with FromFile/test/Manifest.toml due to https://github.com/JuliaLang/Pkg.jl/issues/1585. But we somehow need to tell the package manager where to find FromFileTestPack.
I think something like pushfirst!(LOAD_PATH, joinpath(@__DIR__, "FromFileTestPack")) is not so bad, since it's only the local package that needs to be hacked onto the LOAD_PATH. But I've implemented a slightly cleaner solution using Pkg.develop(path = joinpath(@__DIR__, "FromFileTestPack")) instead.

thanks! great job! Yeah dev is more legit for Pkg - it is still a pain, however.


Geo Search returns nothing in iOS

So I am working on migrating my geoSearch functionality from GeoFire to Algolia because there are more options as far as filtering, and many other things that could make life a heck of a lot easier.
I am currently using it to search for events nearest a users location. Just as the docs say (https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/) I have added this attribute

"_geoloc": {
"lat": 37.7909427,
"lng": -122.4084994
}

To make geosearching possible. Following that I use SwiftLocation to grab the users current latitude and longitude for my geo query/search. The docs say do something like this (https://www.algolia.com/doc/api-reference/api-parameters/aroundLatLng/)
let query = Query(query: "query")
query.aroundLatLng = LatLng(lat: 40.71, lng: -74.01)

index.search(query, completionHandler: { (res, error) in
  print(res)
})

Which I accomplish with this block of code
static func fetchEventsFromAlgolia(completion: @escaping (String) -> Void) {

    let client = Client(appID: Algolia.appID, apiKey: Algolia.apiKey)
    let index = client.index(withName:indice.events)
    let query = Query(query: "query")

    LocationService.getUserLocation { (currentLocation) in

        guard let latitude = currentLocation?.coordinate.latitude else {
            completion("error finding latitude")
            return
        }

        guard let longitude = currentLocation?.coordinate.longitude else {
            completion("error finding longitude")
            return
        }

        query.aroundLatLng = LatLng(lat: latitude, lng:longitude )
        query.aroundRadius = .all
        index.search(query, completionHandler: { (res, err) in
            if err == nil {
                guard let res = res else {
                    completion("error with res unwrapping")
                    return
                }

                let data = res["hits"]! as! [NSDictionary]
                print("Result: \(data.count)")
                print(res.description)
                completion("success events should have been printed")
            }else {
                completion(err as! String)
            }
        })

    }

}

However when I print the results to the terminal I get nothing. It seems as though it successfully does the query but not results come back.
Here is what one of the event entries looks like in Algolia for my specific case
{
  "attend:count": 6,
  "event:category": "concert",
  "event:city": "San Francisco",
  "event:date": {
    "end:date": "05/11/2019",
    "end:time": "11:35 PM",
    "start:date": "04/19/2019",
    "start:time": "10:55 PM"
  },
  "event:datetime": {
    "end":<PHONE_NUMBER>,
    "start":<PHONE_NUMBER>
  },
  "event:description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.",
  "event:imageURL": "https://firebasestorage.googleapis.com/v0/b/eventful-3d558.appspot.com/o/event_flyers%2Flilpump.jpg?alt=media&token=40c310d2-fe1e-49c4-b3a6-7419e6ef7ddd",
  "event:name": "lil pump performance",
  "event:price": 0,
  "event:promo": "https://firebasestorage.googleapis.com/v0/b/eventful-3d558.appspot.com/o/event_promo_vid%2FBEVT%2FTravis%20Scott_%20Houston%20Birds%20Eye%20View%20Tour%20Promo.mp4?alt=media&token=6d27d76e-281e-4083-a0ff-dbe2f25703e7",
  "event:state": "CA",
  "event:street:address": "2 Stockton St",
  "event:zip": 94108,
  "host_user": [
    "XwOBrK6zJXRG7wltV1QvoVXi6Jg1"
  ],
  "tags": [
    "hip hop",
    "concert"
  ],
  "_geoloc": {
    "lat": 37.7909427,
    "lng": -122.4084994
  },
  "objectID": "LPP"
}

If anyone can see where I went wrong please let me know!!!

See my reply here: https://github.com/algolia/places/issues/796#issuecomment-490860532

@robertmogos checking your reply now


Error when running knex migrate:make

~/S/p/s/scripts> knex --debug migrate:make my_migration

/usr/local/share/npm/lib/node_modules/knex/lib/bin/cli.js:89
      var ext = (argv.x || env.configPath.split('.').pop()).toLowerCase();
                                          ^
TypeError: Cannot call method 'split' of null
    at Command.<anonymous> (/usr/local/share/npm/lib/node_modules/knex/lib/bin/cli.js:89:43)
    at Command.<anonymous> (/usr/local/share/npm/lib/node_modules/knex/node_modules/commander/index.js:249:8)
    at Command.emit (events.js:98:17)
    at Command.parseArgs (/usr/local/share/npm/lib/node_modules/knex/node_modules/commander/index.js:478:12)
    at Command.parse (/usr/local/share/npm/lib/node_modules/knex/node_modules/commander/index.js:370:21)
    at Liftoff.invoke (/usr/local/share/npm/lib/node_modules/knex/lib/bin/cli.js:128:13)
    at Liftoff.launch (/usr/local/share/npm/lib/node_modules/knex/node_modules/liftoff/index.js:140:6)
    at Object.<anonymous> (/usr/local/share/npm/lib/node_modules/knex/lib/bin/cli.js:27:5)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

This was my issue as well.
Would it be possible to make a pre-run check and more helpful error message?


are there any interceptor on for the request call

as title

Try https://github.com/Codelabsys/frisbee-intercept

@Assem-Hafez any interest in adding this to frisbee itself?

@niftylettuce sure, i think this is where it should be. i will send you a pull request ASAP (Y).

Closed via https://github.com/niftylettuce/frisbee/issues/35.  Please install<EMAIL_ADDRESS>


docs: Plugin development guide

#2810
cc @chrisvfritz
Plugin guide:

[x]  Getting started
[x]  Modify the webpack config
[x]  Add a new cli-service command
[x]  Generator
[x]  Prompts
[x]  Augment the task in the UI
[x]  Display a configuration screen
[x]  Show prompts in the UI
[x]  Logo and discoverability
[x] Publish plugin to npm

API:

[x] Service Plugin API
[x] Generator API

PR is ready for review.
@chrisvfritz @Akryum could you please have a look when you have a minute?

@Akryum thank you for such a thorough review and suggestions! 🤗
I've added requested fixes


Tests fail on node v19

Symptom:
  Uncaught exception in test/index.ava.js

  TypeError: Cannot read properties of null (reading 'finishShutdown')

this is from https://github.com/nodejs/node/blob/d579bc16b3c7e587d6027f8ea7a187781d448e4f/lib/internal/js_stream_socket.js#L160:
 finishShutdown(handle, errCode) {
    // The shutdown request might already have been cancelled.
    if (this[kCurrentShutdownRequest] === null)
      return;
    const req = this[kCurrentShutdownRequest];
    this[kCurrentShutdownRequest] = null;
    handle.finishShutdown(req, errCode); // `handle` is null
  }

I think this means that we're shutting down the socket twice, but I'd argue that node should catch that and deal with it by firing an error or something, rather than crashing.
I've tried removing https://github.com/hildjj/mock-tls-server/blob/fde1f8c1f837e1fc7886232a4cdf253a8a19256f/lib/socket.js#L108, which fixes this issue, but breaks other tests.
My current approach is to try to understand the actual flow well enough to create a small repro for the node team, then file a bug there.

Might be related to https://github.com/nodejs/node/issues/35695

Fixed in #3


Guardrails support of AzureOpenAI with openai>1.0.0[bug]

Describe the bug
Does Guardrails-ai support AzureOpenAI with openai library>1.0 which has a different llm call api from openai==0.28? (openai.chat.completions.create instead of openai.ChatCompletion.create)
To Reproduce
openai.api_key = api_key
openai.azure_endpoint =azure_endpoint
openai.api_type = 'azure'
openai.api_version = api_version
raw_llm_response, validated_response,*rest = guard(
#openai.ChatCompletion.create,
openai.chat.completions.create,
prompt_params={"document": content[:6000]},
#engine="text-davinci-003",
model='gpt-35-turbo-1106',
max_tokens=2048,
temperature=0.3,
)
Expected behavior
I expect it to call llm just like it worked with openai==0.28 (openai.ChatCompletion.create) but I get this error instead:
TypeError: create() takes 1 argument(s) but 2 were given
I realized that this was fixed for openAI by setting the api_key through os.environ. But how can I do it for AzureOpenAI?
Library version:
Guardrails-ai 0.3.2
openai 1.12.0
Thanks.

This seems more like it's passing too many requests to the create constructor. Can you try removing temperature and max_tokens and see if it works?

Thanks for your reply. I removed temperature and max_tokens but still have the same error. This error is similar to these issues that were previously raised for using openai>1.x:
https://github.com/guardrails-ai/guardrails/issues/514#issue-2042182930
https://github.com/guardrails-ai/guardrails/issues/504
but I am wondering what the solution is for azure openai where these parameters should be set in order to call openai.chat.completions:
openai.api_type = "azure"
openai.api_version = "2023-05-15"
openai.api_base = os.environ.get("AZURE_OPENAI_API_BASE")
openai.api_key = os.environ.get("AZURE_OPENAI_API_KEY")
according to https://www.guardrailsai.com/docs/integrations/azure_openai.
Thanks.

@shima-khoshraftar - Facing the similar issue. Could you please tell me what version of guardrails is working with openai v0.28 currently?

@Aman0509 The latest release of guardrails works with Azure openai with openai==0.28.

I am wondering if there is any update to this issue? I am also trying to use guardrails with Azure OpenAI and openai>1.0.0.

You can now use AzureOpenAI with guardrails using litellm. Please follow this example (just substitute with AzureOpenAI) instead.

Please follow this example (just substitute with AzureOpenAI) instead.
Sorry for the confusion, what example are you referring to here?

My bad. I thought I added the link! Just updated the link.

Thanks for letting us know about the update and sending the link. However, the link does not seem to work, It can not find examples/litellm_example.ipynb and throws a page not found error. Could you please update the link? Thanks.

@shima-khoshraftar I'm also looking at this example since I would like to use guardails-ai with openai > 1
It looks like @thekaranacharya is referring to litellm package (link).
They have a quick tutorial here
from litellm import completion
import os

## set ENV variables
os.environ["OPENAI_API_KEY"] = "your-openai-key"

messages = [{ "content": "Hello, how are you?","role": "user"}]

# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)


video object can't be configured

Hi,
The package works great but it's impossible to set any html styling for the embedded  object.
Any hint what could be done?

I can't access the level 2 & 3 in this printscreen because they are added dynamically @run time

Gotcha @tazilios, you’re right that the video element is injected at runtime, which makes it impossible to set HTML style directly.
I recommend using css selectors to apply styling to the expected player_ ([class^=player] { ... }) class or the video element itself.
@digitallysavvy any other resources to answer this question?

@tazilios if you look at the id's for those divs, you'll notice the naming convention. The top most dynamically inserted div (2) has an id player_(uid) and the Video and Audio tags are video(uid) and audio(uid).


feat(nuxt): automatically add pinia types

This PR automatically adds the @pinia/nuxt types for Nuxt Bridge / Nuxt 3, and moves this section in the docs to the legacy install instructions.

Codecov Report

Merging #1551 (17064db) into v2 (8e923a5) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##               v2    #1551   +/-   ##
=======================================
  Coverage   97.59%   97.59%
=======================================
  Files           9        9
  Lines         416      416
  Branches      109      109
=======================================
  Hits          406      406
  Misses          5        5
  Partials        5        5

Impacted Files
Coverage Δ

packages/pinia/src/createPinia.ts
92.59% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


⚠ ClamAV has degraded performance

In 5a8152e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 209 ms

Resolved: ClamAV performance has improved in bc5490e.


When/how is the head() function computed?

I'm using the vue-i18n plugin to translate page titles. The locale is set in a Vuex store by a middleware. I then have a plugins/i18n.js file that retrieves the locale from the store and passes it to i18n, which is then registered with Vue.
When translating page contents, eveything works and the locale in the store is used. For anything in the head() function (such as the page title) however, the fallback locale is used, as the locale in the store appears to be undefined the moment the head() function is executed.
Is there a way to circumvent this? I can provide code if needed. Sorry for asking this here. I've tried Stackoverflow, but questions like this seem to be too specific to get any answers.

Hi @WouterFlorijn
The best is to provide us a small reproduction repository so we can take a deep look at it without loosing time.
Please re-open this issue with a repo link to a public repo to reproduce this issue.


is_incremental() macro should return false when the target relation is not "incremental"

If the is_incremental() macro is used to write a SQL where clause, it doesn't really make sense to apply that where clause when the deployed model is a view.  Or does it? I can't think of the use case.
The docs on understanding the is_incremental() macro also state that this applies to a destination table, not mentioning that it applies to a view:

The is_incremental() macro will return True if:
the destination table already exists in the database
dbt is not running in full-refresh mode

I propose a small modification to change this line:
https://github.com/fishtown-analytics/dbt/blob/3b0d14bd5d5805da10835fa522368152e048b4cd/core/dbt/include/global_project/macros/etc/is_incremental.sql#L8
To this
return(relation.type == relation.Table and not flags.FULL_REFRESH)
The relation should not only exist, it should be a table.

Had a chat with at-samk in the dbt Slack. This is probably a change worth making! Custom materialization implementers can handle this in a multitude of ways -it's ok to hard-code the incremental materialization name here

Oh nice, and I see https://github.com/fishtown-analytics/dbt/issues/1292 implements what I first suggested in this issue.
I agree with "someone who goes through all the trouble of implementing a custom materialization could override the is_incremental() macro too".
I think implementing a custom materialization is a lot more complex than just making a new macro or overriding it.

FYI: This is implemented in https://github.com/fishtown-analytics/dbt/pull/1608
Should be going out in 0.14.1


cross-compile quiche from macOS to Windows?

I'm using quiche v0.12.0 on macOS and Linux. Now I wanted to cross compile my program to Windows as I don't own a Windows machine.
Because it's cross-compile, there is no Visual Studio locally, it seems I can only use the target x86_64-pc-windows-gnu (i.e. not -msvc target ). But I encountered the following error:
error: failed to run custom build command for `quiche v0.12.0`

Caused by:
  process didn't exit successfully: `/Users/me/work/target/debug/build/quiche-4293a1aba4605c18/build-script-build` (exit status: 101)
  --- stdout
  running: "cmake" "/Users/me/.cargo/registry/src/github.com-1ecc6299db9ec823/quiche-0.12.0/deps/boringssl" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_RC_COMPILER=/usr/local/bin/x86_64-w64-mingw32-windres" "-DCMAKE_INSTALL_PREFIX=/Users/me/work/target/x86_64-pc-windows-gnu/debug/build/quiche-a105f62671e8418d/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_C_COMPILER=/usr/local/bin/x86_64-w64-mingw32-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_CXX_COMPILER=/usr/local/bin/x86_64-w64-mingw32-g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_ASM_COMPILER=/usr/local/bin/x86_64-w64-mingw32-gcc" "-DCMAKE_BUILD_TYPE=Debug"
  -- The C compiler identification is GNU 11.2.0
  -- The CXX compiler identification is GNU 11.2.0
  -- Check for working C compiler: /usr/local/bin/x86_64-w64-mingw32-gcc
  -- Check for working C compiler: /usr/local/bin/x86_64-w64-mingw32-gcc -- works
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Check for working CXX compiler: /usr/local/bin/x86_64-w64-mingw32-g++
  -- Check for working CXX compiler: /usr/local/bin/x86_64-w64-mingw32-g++ -- works
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring incomplete, errors occurred!
  See also "/Users/me/work/target/x86_64-pc-windows-gnu/debug/build/quiche-a105f62671e8418d/out/build/CMakeFiles/CMakeOutput.log".

  --- stderr
  CMake Error at CMakeLists.txt:92 (message):
    Unknown processor:

Is there any plan to support such cross-compile?  Thanks.

Not sure about cross-compile but we only test (via CI) x86_64-pc-windows-msvc, i686-pc-windows-msvc using Windows VM. I never tried with mingw32.

The error was generated by boringssl dependency at here: https://github.com/google/boringssl/blob/f1c75347daa2ea81a941e953f2263e0a4d970c8d/CMakeLists.txt#L92
It seems that ${CMAKE_SYSTEM_PROCESSOR} is empty in this case.   Any ideas why that might happen by any chance?

well. cmake is used for building boringssl.
https://github.com/google/boringssl/blob/master/BUILDING.md doesn't say anything about mingw. I am not sure boringssl can be built with mingw32.
On Windows only, [NASM](https://www.nasm.us/) is required. If not found by CMake, it may be configured explicitly by setting CMAKE_ASM_NASM_COMPILER.

C and C++ compilers with C++11 support are required. On Windows, MSVC 14 (Visual Studio 2015) or later with Platform SDK 8.1 or later are supported, but newer versions are recommended. We will drop support for Visual Studio 2015 in March 2022, five years after the release of Visual Studio 2017. Recent versions of GCC (6.1+) and Clang should work on non-Windows platforms, and maybe on Windows too.```

Please try #1254 which added mingw32 support (building on windows, not cross compile).


CharacterBody3D does not wallslide at all angles

Godot version
4.0.3 RC2
System information
Windows 10
Issue description
On Godot 3.x, if wallsliding a KinemeticBody, the controller would wallslide at all angles (besides the absolute normal of the wall) but in 4.0, it seems to need a lot more of an angle in order for wallsliding to work, and even then it doesn't seem to slide the vecetor so the speed is correct:
3.x wall-sliding:
https://github.com/godotengine/godot/assets/16231628/3c3f7ad3-f316-4575-b5e9-d54073edb0cc
4.0 wall-sliding:
https://github.com/godotengine/godot/assets/16231628/b2e68455-45bd-4455-99dd-d7a053572595
Steps to reproduce
Try wall-sliding on 3.x:
GodotStairs-3.x.zip
Try wall-sliding on 4.0:
GodotStairs4.0.zip
Minimal reproduction project
Links above.

Title is ambiguous. Does it slide at some angles or at none at all?

Title is ambiguous. Does it slide at some angles or at none at all?

It really isn't, it slides at some angles but not all, you can see clearly in the videos (and example projects).

I struggled with this too, then I found out it's actually a feature.
Here's a link to documentation
Try setting wall_min_slide_angle to 0.

I struggled with this too, then I found out it's actually a feature. Here's a link to documentation Try setting wall_min_slide_angle to 0.

Thanks, that's it!


Mysql considered 🎩 and 💥  to be the same

Updating collation to utf8mb4_bin fixed the issue.
Mysql's utf8mb4_unicode_ci and utf8mb4_unicode_520_ci collations can't differentiate emoji correctly. The only way to guarantee mysql correctly identifying uniqueness is to use the binary collation.
CC: @gchomatas

🚢


adding additional env variable for redis-exporter

What this PR does / why we need it:
Adding the env variables, which can be used for passing the credentials from secret
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
N/A
Special notes for your reviewer:
@acondrat

/assign @viglesiasce

/lgtm

/ok-to-test


Add dependabot configuration for daily pip updates

@tcampbPPU Thanks for adding this! I'm ready to merge - only caveat I'll mention is that I don't know if we'll enable PR's for dependabot right away because I'm not sure how to make that play nice with our automation for updating yet (dependabot would update a version, then openapi-generator would recreate things with an old version... etc). We'll be able to resolve vulnerabilities by regularly updating the version of openapi-generator we're using (see #15 for an example of what I'm thinking here). If this becomes problematic I'll revisit it, but for now I think that's reasonable. Again - just mentioning this for posterity.


Provide an interface for handling new deployments

This library should allow applications to specify custom behavior for handling and activating new deployments.

It would be nice to have the option to automatically register new deployment IDs. In many cases we want to be able to install the tool in multiple courses or sub-accounts without having to coordinate each install with the tool provider.

Yep, @cmurtaugh, I think that is a pretty common use case that isn't well supported by this library right now. Are you using (or considering using) django-lti? I appreciate the additional perspective.

@michaelwheeler yeah - we're about to start converting a number of our homegrown LTI 1.1 tools to 1.3 and are strongly considering using django-lti. I'd started to think about our own wrapper around pylti1p3 but yours is more mature. Would love to talk about future directions at some point! My priorities are:

ease the installation process / make it easy for LMS admins to manage integrations
ease the development process - provide standardized views, easy access to LTI Advantage services
ideally be able to handle multiple concurrent LTI sessions

BTW - I experimented with automatically creating deployments on demand here:
https://github.com/academic-innovation/django-lti/commit/7f66e15e2f9729f5e861b996cec8f24f50cafba0
Very rough, but works. Would need to be configurable/customizable.

@cmurtaugh Working on an implementation for this at #60 if you are interested.

Closed by #60.


Setting to focus editor on mouse click

Currently single-click in Explorer panel opens a selected file and leaves focus in Explorer panel.
Please add a setting to move focus to the editor on single click.
Double-clicking sets focus to the editor, but it collides with "Preview" feature, so that file cannot be reused by preview window.
There are actions "explorer.openAndPassFocus" and "filesExplorer.openFilePreserveFocus", but they can be assigned to a keyboard shortcut, not to mouse click.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Related issues:
https://github.com/microsoft/vscode/issues/159458
https://github.com/microsoft/vscode/issues/160324

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Related question on Stack Overflow: How can I set focus to the editor after selecting file from the Explorer View?

Astonishing that of all the myriad of settings in VSCode in 2023, this isn't one of them.
How many times a week do I click on a file, hit cmd+F, and then realize I'm searching a file list, sigh.

Is there a way we can find or support the progress for that feature?

@lescaudr You can give it a thumbs up to increase its prioritization in the backlog. You can also try to implement a draft of the feature (make a Pull Request). But please avoid making noisy comments like "+1" / "bump".

This is super annoying. Please fix!

Possible workaround?  Set Workbench > List: Open Mode to "doubleClick" ("workbench.list.openMode": "doubleClick")
Single clicks will no longer open files from the Explorer, and a double click appears to properly set input focus to the selected file.  (VSC version 1.79.2 on Mac Ventura.)

I want this too.
Incredibly annoying that it keeps focus in the file pane -- no other MS software behaves like this.  VC++ / VisualStudio jumps focus into the document - where it should be - so when you start typing - you're in the file you just asked for...

Well, the rumor is it won't be supported on Mac long-term.
So I don't care anymore, I guess...😇

@bso2001 -- While not fixed, I have found a workaround and I have tested it, MacOS 14.1.2, external keyboard.

Launch VS Code
From the "Code" menu, choose "Settings" --> "Keyboard Shortcuts".
In the window that appears, search for: "Command+F"
Locate the "list.find" line and right-click and remove the keybinding.
Test it for yourself.  Click to make the focus the a file in the file list and hit "Command+F" and it will search in the editor, not the file list.

I just found out there is an extension for this, search for: "Focus file on click" from Steven Rafferty. Thanks Steven!

While not fixed

while its 2024 ... thank you mate :D
you saved me lot of frustration

Up

I just found out there is an extension for this, search for: "Focus file on click" from Steven Rafferty. Thanks Steven!

Unfortunately, for me the extension only seems to work with "preview" and not with permanently opened files.
Why on earth is this still not fixed?

Well, the rumor is it won't be supported on Mac long-term. So I don't care anymore, I guess...😇

@bso2001 It's Visual Studio for Mac that's no longer going to be supported. Visual Studio Code is a different product.

Im attempting to move from Sublime to VSCode (node debugging) and this is so annoying please provide a workaround. I dont care if the workaround breaks preview or whatever. <3


eval_shape should report sharding

jax.eval_shape advertises a return signature of ShapeDtypeStruct, which in turn advertises the field sharding that comes with jax.Array. Unfortunately, eval_shape seems to not populate the sharding field.
Adding this would be helpful for e.g. checkpoint loading code, so it can eval_shape the state-initializer function to learn the desired sharding of the state.
Reproducer:
import os
os.environ["JAX_PLATFORM_NAME"] = "cpu"
os.environ["XLA_FLAGS"] = "--xla_force_host_platform_device_count=8"

import jax
from jax.sharding import Mesh
from jax.sharding import PartitionSpec
P = PartitionSpec
from jax.sharding import NamedSharding
from jax.experimental import mesh_utils

print(jax.devices())

mesh = Mesh(mesh_utils.create_device_mesh((2, 4)), axis_names=('a', 'b'))

@jax.jit
def foo():
  x = jax.random.normal(jax.random.PRNGKey(0), (8192, 8192))
  y = jax.lax.with_sharding_constraint(x, NamedSharding(mesh, P('a', 'b')))
  return y

print(foo().sharding)
print(jax.eval_shape(foo).sharding)

This prints:
% python scratch.py
[CpuDevice(id=0), CpuDevice(id=1), CpuDevice(id=2), CpuDevice(id=3), CpuDevice(id=4), CpuDevice(id=5), CpuDevice(id=6), CpuDevice(id=7)]
GSPMDSharding({devices=[2,4]<=[8]})
None

You can do this instead:
@partial(jax.jit, out_shardings=NamedSharding(mesh, P('a', 'b')))
def foo():
  return jax.random.normal(jax.random.PRNGKey(0), (8192, 8192))

print(foo().sharding)
print(foo.eval_shape().sharding)

eval_shape is just a wrapper around jax.jit(f).eval_shape at HEAD.
To exactly do what you said in the repro above, we would have to run very trivial sharding propagation on jaxprs which is a good request and something we have been planning to do for some time now. But the above workaround should work until we have that capability.


Remove ToBytes and FromBytes traits

Currently these are a leftover from before ark-serialize existed, with a confusing API. People should be using CanonicalSerialize instead

I want to note that sometimes ToBytes and ToBytesGadget are designed to behave the same so that one could compute the Merkle tree of data (via ToBytes[Gadget] to convert it into u8) in the constraint system or outside the constraint system, resulting in the same results.
So removing ToBytes may bring certain challenges for Merkle tree and sponges.

I want to note that sometimes ToBytes and ToBytesGadget are designed to behave the same so that one could compute the Merkle tree of data (via ToBytes[Gadget] to convert it into u8) in the constraint system or outside the constraint system, resulting in the same results.
So removing ToBytes may bring certain challenges for Merkle tree and sponges.

The current ToBytes trait confusingly only has a write method, that doesn't output Vec<u8> but instead takes in a custom writer interface that has to be implemented for each type.
I think a ToBytes gadget that did what you expected (output Vec<u8>, or append the bytes to a standard stream interface of some sort) would be useful

The current ToBytes trait confusingly only has a write method, that doesn't output Vec<u8> but instead takes in a custom writer interface that has to be implemented for each type.
I think a ToBytes gadget that did what you expected (output Vec<u8>, or append the bytes to a standard stream interface of some sort) would be useful

I think for use cases like Merkle trees and CRHs, we should explicitly just take in bytes and output bytes; conversion into bytes should be the job of the user.

I think for use cases like Merkle trees and CRHs, we should explicitly just take in bytes and output bytes; conversion into bytes should be the job of the user.

I agree. It is a little bit weird that ToBytes has a slightly more complicated API (Writer, IOError) instead of simply a to_bytes function that outputs Vec, just like to_bits.

I agree. It is a little bit weird that ToBytes has a slightly more complicated API (Writer, IOError) instead of simply a to_bytes function that outputs Vec, just like to_bits.

Consider the plan the team discussed, so... what is the recommended ways to convert all Ark related structs to/from bytes right now?
using ark-serialize instead of the trait ToBytes & to_bytes!() macro?

Fixed in #417


cupsd: allow cups package override

We should be able to override the cups package used by services.printing.

Things done
Add an option to allow for the package override.

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1341

@SuperSandro2000: this should be ready to merge now


CachedDrawing and Iosevka font

Hello,
First, I want to congratulate you for this app it's really impressive how far it has progressed since the few years ago when I last used it!
I especially like the pixel based smooth scrolling, it just makes the app so much more enjoyable to use.
I'll be reporting a few (very small) issue I noticed on my Mac.
First, when I set
CachedDrawing = true

and use the Iosevka font, some visual glitches appear. In some cases it the \/ character sequence, in other cases it's the Neovim virtual text (hexokinese plugin to show color previews) that trigger these strange displays (in the  RegExp declaration for example):

However, if I select a different font, or turn off CachedDrawing, the text is displayed correctly:

I think it's related to the Ligatures set in Iosevka. When I turn them off in the settings the Regex line is displayed correctly.

Hello :)
I'm glad you're back.
I have been trying to reproduce the problem you reported in my environment, but I have not been able to reproduce the issue yet.
You mentioned in your additional information that ligatures are involved, how do you enable/disable the ligature feature?
Also, what version of Iosevka font are you using? I'm trying to reproduce this using 6.0.1, which I can get from;
https://github.com/be5invis/Iosevka/releases/tag/v6.0.1

Iosevka
Iosevka Fixed

Thanks, I downloaded and installed the Iosevka Term  and it seems to work perfectly!
I installed/updated Iosevka from Homebrew. It looks like the issue is with this version, and so I can close this issue.


[HUDI-238] - Migrating to Scala 2.12

Summary:

Migrating to Scala 2.12
Migrating to spark-streaming-kafka-0-10
Adapting Kafka and Zookeeper

This includes some changes that are in https://github.com/apache/incubator-hudi/pull/1005 as well, but that PR is not merged yet.
The main goal of this PR is to migrate to Scala 2.12. Along the way I had to upgrade the spark-streaming-kafka version from 0.8 to 0.10, because there is no spark-streaming-kafka-0.8 version for Scala 2.12.
spark-streaming-kafka-0.10 uses Kafka 2.0 with the new Consumer API. ~In order to test it, I had to adapt some test classes from Spark core.~ I use KafkaTestUtils from Spark.
Unit and integration tests do pass, but I haven't checked what has to be done in order to test with Docker. This if my first PR, so feel free to correct and advise.
Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

hi @zhedoubushishi ,

I didn't know that I can import it through maven, would have saved me quite some time... Will do this
thanks for pointing this out, didn't know either
thanks, will have a look.

hi @zhedoubushishi ,

I didn't know that I can import it through maven, would have saved me quite some time... Will do this
thanks for pointing this out, didn't know either
thanks, will have a look.

I guess you can try to import it like this:
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-streaming-kafka-0-10_2.12</artifactId>
      <version>${spark.version}</version>
      <classifier>tests</classifier>
    </dependency>

@ezhux Integration tests do run in the same docker setup with hive/spark/presto.. So if that passes, it should give good confidence..
Let me review this fully.. Thanks for taking this up!

@zhedoubushishi : As you had mentioned that AWS EMR has internally made it possible to package hudi jars using scala 2.12, can you shepherd this PR ? This is one of the critical PRs to be fixed before next week (deadline end of week).
I also have a question here : Has AWS EMR migrated the scala compile version to 2.12 or are you supporting both 2.11 and 2.12 ? It looks like spark-2.4.4 (which is used for compiling Hudi) has both 2.11 and 2.12 packaging support. So, wondering if we can support both 2.11 and 2.12 hudi package generation.  Let us know.

@zhedoubushishi : As you had mentioned that AWS EMR has internally made it possible to package hudi jars using scala 2.12, can you shepherd this PR ? This is one of the critical PRs to be fixed before next week (deadline end of week).
I also have a question here : Has AWS EMR migrated the scala compile version to 2.12 or are you supporting both 2.11 and 2.12 ? It looks like spark-2.4.4 (which is used for compiling Hudi) has both 2.11 and 2.12 packaging support. So, wondering if we can support both 2.11 and 2.12 hudi package generation. Let us know.

Sure. I will send another PR. Currently our work only supports 2.12, but I can try to see if it is possible to support  both 2.11 and 2.12.

@ezhux : just see that you have pushed some changes. Let us know when you want us to review the code.

Sure. I will send another PR. Currently our work only supports 2.12, but I can try to see if it is possible to support both 2.11 and 2.12.

@zhedoubushishi : Is your change different from what is being done as part of this PR ?  Anyways, it would help if you can open a WIP PR and we can cross check with this PR to see if we are missing anything here.
Also @zhedoubushishi  @ezhux : I see this info in stack-overflow to build both 2.11 and 2.12 versions of packages. https://stackoverflow.com/a/46785150. Can you check if this model would work for hudi ? We would need to change pom for hudi-spark and its dependents :  hudi-spark-bundle and hudi-utilities-bundle

Sure. I will send another PR. Currently our work only supports 2.12, but I can try to see if it is possible to support both 2.11 and 2.12.

@zhedoubushishi : Is your change different from what is being done as part of this PR ? Anyways, it would help if you can open a WIP PR and we can cross check with this PR to see if we are missing anything here.
Also @zhedoubushishi @ezhux : I see this info in stack-overflow to build both 2.11 and 2.12 versions of packages. https://stackoverflow.com/a/46785150. Can you check if this model would work for hudi ? We would need to change pom for hudi-spark and its dependents : hudi-spark-bundle and hudi-utilities-bundle

I created a PR here: https://github.com/apache/incubator-hudi/pull/1226.
This PR is compatible with Scala 2.12 so you can build it with following command:
mvn clean install -Dscala.version=2.12.10 -Dscala.binary.version=2.12 -DskipTests

I am not sure if this https://stackoverflow.com/a/46785150 could work for Hudi.
My understanding is Hudi has many Scala dependencies. Say by default, scala.version=2.11, then hudi-spark will depend on many xxx_2.11 packages. Then does it make sense to compile Hudi code with both Scala 2.12 and Scala 2.11?

Closing due to inactivity and since we landed the other PR


Use correct method names for memcached module

The memcached module provides aliases increment and decrement for incr
and decr but they are not documented and not part of the TypeScript type
definitions.
This updates the rate limit store to use the documented method names.
This means the rate limiter code can be more easily tested using a mock
memcached client.

See https://github.com/3rd-Eden/memcached/blob/master/lib/memcached.js#L1062-L1063 and https://www.npmjs.com/package/memcached

This looks like a good idea to me. Thanks for the PR, and sorry it took a long time to respond.


The API version of PJRT plugin is relatively low and cannot work in JAX

What happened?

The PJRT API version of IREE PJRT plugin is now 0.38, but in the latest version of JAX it's around 0.5x.
New PJRT APIs like PJRT_Plugin_Attributes are not supported in IREE PJRT plugin which can lead to coredumps in JAX:

(jax) ➜  iree JAX_PLATFORMS=iree_cpu python -c "import jax; a = jax.numpy.asarray([1, 2, 3, 4, 5, 6, 7, 8, 9]); print(a + a);"
WARNING:jax._src.xla_bridge:Platform 'iree_cpu' is experimental and not all JAX functionality may be correctly supported!
[IREE-PJRT] DEBUG: Using IREE compiler binary: /home/twice/miniconda3/envs/jax/lib/python3.12/site-packages/iree/compiler/_mlir_libs/libIREECompiler.so
[IREE-PJRT] DEBUG: Compiler Version: 3.0.0rc20241118 @ 29c451b00ecc9f9e5466e9d1079e0d69147da700 (API version 1.4)
[IREE-PJRT] DEBUG: Partitioner was not enabled. The partitioner can be enabled by setting the 'PARTITIONER_LIB_PATH' config var ('IREE_PJRT_PARTITIONER_LIB_PATH' env var)
[IREE-PJRT] DEBUG: CPU driver created
F1120 14:20:14.636158   43187 pjrt_c_api_helpers.cc:241] Unexpected error status /home/twice/projects/iree/integrations/pjrt/src/iree_pjrt/common/stubs.inc:5: UNIMPLEMENTED; PJRT_Plugin_Attributes
*** Check failure stack trace: ***
    @     0x7fa413cd6fa4  absl::lts_20230802::log_internal::LogMessage::SendToLog()
    @     0x7fa413cd6ea4  absl::lts_20230802::log_internal::LogMessage::Flush()
    @     0x7fa413cd7349  absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal()
    @     0x7fa40c7d3898  pjrt::LogFatalIfPjrtError()
    @     0x7fa40c7b74ab  xla::PjRtCApiClient::InitAttributes()
    @     0x7fa40c7b5f25  xla::PjRtCApiClient::PjRtCApiClient()
    @     0x7fa40c7c88f8  xla::GetCApiClient()
    @     0x7fa40c678fb6  nanobind::detail::func_create<>()::{lambda()#1}::__invoke()
    @     0x7fa4124c41d1  nanobind::detail::nb_func_vectorcall_complex()
    @           0x53e131  PyObject_Vectorcall
[1]    43187 IOT instruction (core dumped)  JAX_PLATFORMS=iree_cpu python -c

Steps to reproduce your issue
follows the README of PJRT plugin:

build the plugin via pip install
run a simple JAX program by iree_cpu backend
see the error

What component(s) does this issue relate to?
Other
Version information
the latest commit in main branch
Additional context
No response

What happened?

The PJRT API version of IREE PJRT plugin is now 0.38, but in the latest version of JAX it's around 0.5x.
New PJRT APIs like PJRT_Plugin_Attributes are not supported in IREE PJRT plugin which can lead to coredumps in JAX:

(jax) ➜  iree JAX_PLATFORMS=iree_cpu python -c "import jax; a = jax.numpy.asarray([1, 2, 3, 4, 5, 6, 7, 8, 9]); print(a + a);"
WARNING:jax._src.xla_bridge:Platform 'iree_cpu' is experimental and not all JAX functionality may be correctly supported!
[IREE-PJRT] DEBUG: Using IREE compiler binary: /home/twice/miniconda3/envs/jax/lib/python3.12/site-packages/iree/compiler/_mlir_libs/libIREECompiler.so
[IREE-PJRT] DEBUG: Compiler Version: 3.0.0rc20241118 @ 29c451b00ecc9f9e5466e9d1079e0d69147da700 (API version 1.4)
[IREE-PJRT] DEBUG: Partitioner was not enabled. The partitioner can be enabled by setting the 'PARTITIONER_LIB_PATH' config var ('IREE_PJRT_PARTITIONER_LIB_PATH' env var)
[IREE-PJRT] DEBUG: CPU driver created
F1120 14:20:14.636158   43187 pjrt_c_api_helpers.cc:241] Unexpected error status /home/twice/projects/iree/integrations/pjrt/src/iree_pjrt/common/stubs.inc:5: UNIMPLEMENTED; PJRT_Plugin_Attributes
*** Check failure stack trace: ***
    @     0x7fa413cd6fa4  absl::lts_20230802::log_internal::LogMessage::SendToLog()
    @     0x7fa413cd6ea4  absl::lts_20230802::log_internal::LogMessage::Flush()
    @     0x7fa413cd7349  absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal()
    @     0x7fa40c7d3898  pjrt::LogFatalIfPjrtError()
    @     0x7fa40c7b74ab  xla::PjRtCApiClient::InitAttributes()
    @     0x7fa40c7b5f25  xla::PjRtCApiClient::PjRtCApiClient()
    @     0x7fa40c7c88f8  xla::GetCApiClient()
    @     0x7fa40c678fb6  nanobind::detail::func_create<>()::{lambda()#1}::__invoke()
    @     0x7fa4124c41d1  nanobind::detail::nb_func_vectorcall_complex()
    @           0x53e131  PyObject_Vectorcall
[1]    43187 IOT instruction (core dumped)  JAX_PLATFORMS=iree_cpu python -c

Steps to reproduce your issue
follows the README of PJRT plugin:

build the plugin via pip install
run a simple JAX program by iree_cpu backend
see the error

What component(s) does this issue relate to?
Other
Version information
the latest commit in main branch
Additional context
No response

I'll work on it soon : )


promble in training

I execute code 'python ./SE-SSD/tools/create_data.py' then get the wrong  'FileNotFoundError: [Errno 2] No such file or directory: '/data/zhengwu/KITTI/object/kitti_infos_train.pkl''
I want to know how to get the file 'kitti_infos_train.pkl'

Has your problem been solved? I also encountered the same problem, thank you！

sorry，I don't to slove the promble.

@ferrari700 @18456432930 Please find the solution in https://github.com/poodarchu/Det3D/blob/master/GETTING_STARTED.md. It's about executing the create_data.py


Write sample for new mongodb client

Support for mongodb via mango package was added in https://github.com/Azure/azure-sdk-for-go/pull/844, now we need a sample for it.

If possible also include mongodb in user-agent so we can track usage.


rotation analysis

I can't test this code but I can't test models on the master branch (backfill grumble grumble) so IDK it's oneoffs

/retest


Qualified error messages

Fixes #652 and #726

Also closes haskell/haskell-language-server#441 :heart:


Allow package version to be nil

This feels like the wrong fix. If default_value is not specified, a property should probably implicitly allow kind_of to contain nil as it's going to default to nil.
Fixes failing test:
  1) Chef::Provider::Package::EasyInstall easy_install_binary_path should set the current resources package name to the new resources package name
     Failure/Error: @provider.load_current_resource

     Chef::Exceptions::DeprecatedFeatureError:
       version nil currently does not overwrite the value of version. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :version, [MyType, nil]", or stop setting this value to nil. at C:/projects/chef/spec/unit/provider/package/easy_install_spec.rb:52:in `block (3 levels) in <top (required)>'
     # ./lib/chef/log.rb:61:in `deprecation'
     # ./lib/chef/chef_class.rb:214:in `log_deprecation'
     # ./lib/chef/property.rb:262:in `call'
     # ./lib/chef/property.rb:484:in `version'
     # ./lib/chef/provider/package/easy_install.rb:99:in `load_current_resource'
     # ./spec/unit/provider/package/easy_install_spec.rb:52:in `block (3 levels) in <top (required)>'

Finished in 24 minutes 22 seconds (files took 10.92 seconds to load)
16178 examples, 1 failure, 104 pending

@jkeiser has a pull in flight to fix this i think.

closing in favor of https://github.com/chef/chef/pull/4320


Specific undo/redo

How  can I undo or redo an specific transaction? Like: tx.undo({'_id':"vfXWyBZvZRCv29tT2"}); ?

Yes, good question.  This is something that I've been planning but haven't implemented.  The method will probably look more like tx.undo("vfXWyBZvZRCv29tT2");.  I'll try to roll this out asap.

This functionality is now added (at least in the Github repo).  I'll do some testing and then publish a new version of the package on atmosphere later today.

Okay, that's now published to atmosphere in the latest release.

Wow! Thanks Jack, I do a fork from you: https://github.com/gcacars/meteor-transactions.
Works great, but doesn't work with commits, only with normal tx.insert, tx.remove....
I try the new version from you.
Thanks a lot man!

Yeah! It works great!

Your code was very similar to mine, in the end. There were a few other subtleties to work out and some security implications to consider.  In fact, because I was looking into the code, I noticed a bug in one of my security checks -- so thank you for prompting me to look into it!  The whole package is better as a result.


Update jquery.serialize-object.js

use lodash rePropName: /[^.[]]+|[(?:(-?\d+(?:.\d+)?)|(["'])((?:(?!\2)[^\n\]|\.)*?)\2)]/g
fix addPair return

Not sure what you're trying to do here
The regexp you've provided doesn't "fix" anything as far as I can tell. What I can see is that it breaks several tests. The following tests fail with your PR

should merge a push array field
should merge multiple fixed fields
should punish user for mixing pushed array and fixed array fields
should accept an array of pairs
checkbox inputs as booleans if no value is present
checkbox inputs as booleans if value is 'on'
seriazlie a single form
serialize multiple forms
serialize a selection of inputs

Also, the "fix addPair return" is not broken.
// original code
if (!patterns.validate.test(pair.name)) return this;

// your code
if (!(patterns.validate.test(pair.name))) return this;

The extra parentheses are meaningless here

Sorry, I just edit this file online without test
When I use serializeObject, some fields name was skiped in
if (!patterns.validate.test(pair.name)) return this

like a[1].b.a_c
I think set method in lodash can serialize a[1].b.a_c string, so I replaced patterns.validate
But I have new problem. when the path string is simple string like 'a_b_c', the
`!patterns.validate.test(pair.name)`

always return false, so I add brackets
Sorry ...

If you read the README, you'd see specific usage of "dot notation"
By default, the plugin supports inputs named like
<input name="a[1][b][a_c]">

Thx~
Maybe next time I will check more careful.


Convert mXDE to html or IG

Given that this is mostly a narrative, the html first might be useful enough.
But bringing in the Provenance profile might be good for reusability of that Provenance profile. Such as in the HL7 IPA implementation guide.

Author: John, ???

Possibility to have @MaryLJ convert existing text to markdown; after which John could convert to an IG.
The IG would take ownership of the Provenance that exists today in QEDm; and provide examples.


Last modified 0 days ago

For entries, if last modified under a day ago we should display more accurate time.

https://github.com/ga4gh/dockstore-ui/pull/101


generate_antisymm_generator always returns 0 matrix not random matrix

The generage_antisymm_generator function returns zero matrix instead of random matrix.
https://github.com/quantumlib/OpenFermion-FQE/blob/109a86418003fb14ee4aea9c88ffc1cd25d28d47/tests/generalized_doubles_factorization_test.py#L36
So, the test_generalized_doubles() is testing against zero matrix.

Hy, I would like to work on this issue.
Can you assign this issue to me?


content-visibility: add compat features

Some ideas for reviewing this:

Are listed features plausible parts pieces of the feature as a whole?
Are any of the listed features later additions, part of a distinct sub feature, or otherwise excludable?
Are any pieces missing?

How would we convey that change?

I think there's two ways to look at it for this feature:

Since this feature is pre-interoperable, it's possible that it will be animatable across browsers by the time everyone has implemented the rest of it. If we think that's likely, then we can include the animation subfeature from BCD now (on the assumption that's what the css.properties.content-visibility.keyframe_animatable feature refers to; see https://github.com/mdn/browser-compat-data/pull/21120).

If we don't think animation will land with the rest of it, then we could create a follow-up feature for animation (e.g., content-visibility-animation or similar).

I think I'm clearer now on the generic mechanism to handle semantic updates. That's good.
I don't feel strongly on whether we should do 1. or 2., but in the absence of more implementation insights, I would follow the CSS working group's own assumptions: level 2 should become stable before level 3. As such, if we want to talk about the feature sooner rather than later, we should probably not include more future-looking level 3 bits.
Once in a while, the assumptions will turn out to be wrong, but that's why they're called "assumptions" and not "assertions"...

I think that right now we don't need to assume anything about whether animation will be supported soon enough to be lumped into this feature. Down the line we'll most likely burn down BCD entries trying to match each to a feature, and then it will be clear if adding it into the content-visibility feature would change computed support or not.


Fix a warning in jpeg compression code with --enable-jpeg

Let's keep our standards high. We don't need any warnings. This is for 0.9.1, please.

If the image width is not divisible by 4, the image is padded to the next
multiple of 4. The additional pixels are filled with the colors of the
last pixel in the row.
The last pixel colors may not be initialized if the width is 0. In this
case, the would be no padding, but the compiler doesn't know that.
Add a check that the width is more that 0 before filling the padding.

+1


Changes to terrain are not being saved (4.3)

First of all let me thank you for this amazing plugin. It's such a massive improvement over the default implementation that I think they should just replace it with yours :)
That said, there seems to be a bit of an issue when it comes to saving the terrain data. I'm using the tile-map-layer branch with Godot 4.3.beta2 and the new TileMapLayer node. Went ahead and set up a few dozen terrains yesterday, but after opening the project again today most of them seem to be gone, which, needless to say, was a bit of a bummer.
After digging around a bit, it does seem indeed that Godot seems pretty reluctant to save any changes made to the terrains to the tileset file when pressing CTRL+S. Usually requires changing some other settings in the tileset (like margins or something) to get it to do so.

I've noticed that as well in 4.3 and I'm not sure if it's an issue of Godot or the plugin. For now the TileSet itself has a Save option in the menu which works reliably.

Hi, yes, this is a Godot bug or quirk. I've not been able to narrow down the cause, but it's something to do with setting metadata on a TileData object in a resource. Sometimes it marks it as a change that can be saved, other times it does not.

Just noticed there's an EditorInterface.mark_scene_as_unsaved, which could help mitigate this.

Closed as duplicate of #11 and I think I have a solution for this.


test github CI performance

let's see what happens

@chia7712 I have some fixes in #16927 you'll need to get the build scan published

@chia7712 you'll also need to name your branch with a "gh-" prefix to let the new workflow run. I didn't want to just suddenly turn it on for all PRs :)

@mumrah thanks for reminder. I will close this and then reopen a new PR after #16927 gets merged


nixos: types.str -> types.path

Hm, not sure if this is a good idea after thinking about it further. I'll leave it open just in case someone thinks differently.

I think path's are more "dangerous" as they are easier to mishandle than a string, where the mishandled case leads to copying the files to the store.

@adisbladis Yeah, that was my reasoning for reconsidering this change. Strings are much harder to misuse in this case.
The main reason this change was proposed in the first place was that it provided a way to check for valid path syntax. How would you feel about changing this to add a check to the string types to check for things such as not being empty, requiring a leading slash, and not having a trailing slash?

How would you feel about changing this to add a check to the string types to check for things such as not being empty, requiring a leading slash, and not having a trailing slash?

That sounds very welcome to me!

This would be a bit more complicated with #70 in place, where paths in users shouldn't start with a slash, so user paths would have to have a different type/check. Definitely doable, though.


fix(deps): update gomod

This PR contains the following updates:

Package
Type
Update
Change

github.com/go-git/go-git/v5
require
patch
v5.5.0 -> v5.5.1

github.com/gruntwork-io/terratest
require
patch
v0.41.4 -> v0.41.5

Release Notes

go-git/go-git
v5.5.1
Compare Source
What's Changed

*: fix error when building with CGO_ENABLED=0 by @pjbgf in https://github.com/go-git/go-git/pull/625
plumbing: transport/ssh: fix panic on Windows 10 with paegent as ssh-agent by @doxsch in https://github.com/go-git/go-git/pull/617
CommitOptions: AllowEmptyCommits, return an error instead of creating empty commits by @pjbgf in https://github.com/go-git/go-git/pull/623

Full Changelog: https://github.com/go-git/go-git/compare/v5.5.0...v5.5.1

gruntwork-io/terratest
v0.41.5
Compare Source

Modules affected

aws

Description

Added support to get and put ECR Lifecycle Policy

Special thanks

Special thanks to the following users for their contribution!

@cauealvesbraz

Related links

https://github.com/gruntwork-io/terratest/pull/1198

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.2.17 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Enhance getting and displaying the workout

[x] Get from Workout List from the Async storage
[x] Display them in the Previous Workout Component

Code for this is done


Any suggestions to speed up list parsing?

I use PublicSuffix as part of Gman.
In addition to using PublicSuffix's native valid? check, Gman also contains it's own public-suffix formatted list of government domains which it then checks using PublicSuffix's rule logic. The relevant code is:
   # check using public suffix's standard logic
    rule = Gman.list.find domain

    # domain is on the domain list and
    # domain is not explicitly blacklisted and
    # domain matches a standard public suffix list rule
    !rule.nil? && rule.type != :exception && rule.allow?(".#{domain}")

Profiling against 10,000 random (valid) domains, which took about 250 seconds, here's the breakdown:
 %self      total      self      wait     child     calls  name
 23.59     78.365    63.150     0.000    15.215 32708764   PublicSuffix::Rule::Base#odiff
 18.37    232.715    49.154     0.000<PHONE_NUMBER>8764   PublicSuffix::Rule::Base#match?
 16.08    105.479    43.029     0.000    62.451 32777587   <Class::PublicSuffix::Domain>#domain_to_labels
 14.47     38.736    38.736     0.000     0.000 32827949   String#split
  8.26    254.831    22.116     0.000   232.715    49998   Array#select
  5.68     15.215    15.215     0.000     0.000 32708764   Array#[]
  5.10     13.648    13.648     0.000     0.000 32787586   Array#reverse
  3.84     10.270    10.270     0.000     0.000 33055272   String#to_s
  0.79      2.507     2.106     0.000     0.400    79975   PublicSuffix::Rule::Normal#decompose
  0.40      1.066     1.066     0.000     0.000    49998   Array#values_at
  0.18      3.915     0.477     0.000     3.438    30001   <Class::Addressable::URI>#parse
  0.15    256.623     0.414     0.000   256.209    49998   PublicSuffix::List#select

It appears the bottleneck is in PublicSuffix's matching. I see https://github.com/weppos/publicsuffix-ruby/pull/2, but do you have any suggestions how to speed up PublicSuffix's parsing, both for it's own native list, and for Gman's vendor list?

Hi Ben,
When I originally conceived the list, I honestly didn't care too much about performance. There are several possible optimization that could be introduced.
A simple one can be to parse the list into a balanced BST which can be queried in O(log n). Right now, if I recall correctly, the lookup is O(n).
This is the quickest idea that come to my mind. I should spend some time investigating the code and measuring performance. However, I can't promise I'll be able to dig into this issue in the near future.

Ahh awesome. I wasn't sure if it was my implementation or within PublicSuffix itself. Actually was able to speed things up quite a bit by passing the PublicSuffix::Domain object around internally, rather than the domain string, and memoizing domain.to_s, which brought things down from about 2:30 to parse 10,000 domains to about 20 seconds. Thanks for the awesome Gem. :smile_cat:

Wow, that's a great result!
On Friday, July 10, 2015, Ben Balter<EMAIL_ADDRESS>wrote:

Ahh awesome. I wasn't sure if it was my implementation or within
PublicSuffix itself. Actually was able to speed things up quite a bit by
passing the PublicSuffix::Domain object around internally, rather than
the domain string, and memoizing domain.to_s, which brought things down
from about 2:30 to parse 10,000 domains to about 20 seconds. Thanks for the
awesome Gem. [image: :smile_cat:]
—
Reply to this email directly or view it on GitHub
https://github.com/weppos/publicsuffix-ruby/issues/78#issuecomment-120457293
.

--
Simone Carletti
Passionate programmer and dive instructor
http://simonecarletti.com/
Twitter: @weppos https://twitter.com/weppos

Ben, FYI I made quite significant performance improvements this week. You can check them out at #92. I'll be happy to resurrect this issue if you need some help.


Add FB functionality to UserHome, Created new FB function

For this pull request, I added FB functionality to the UserHome page, which is now in a datatable format compared to the expansion panels. I decided to create a new function that requested deviceName, deviceTag, and min and max duration that can be displayed for the user. I have a plan that once the user clicks the reserve button, then it will grab the deviceTag and query the availability in the review reservation page. I created a function to make sure that once the button is clicked, it will log in the console the right item. I also made minor changes to the ReviewRes component, but it is only design and not functionality.

After I fixed your requested changes, I updated my branch to reflect Brian's merge with master. Should be up to date now.


Collections view sort options

Add a sort option dropdown select box to the collection item view. Investigate default sort types for specific objects
Per Doug Rippey: “A default sort by archive call number is probably reliable, except in the case of certain P collections like Sets in Order where the ISO date in YYYYMMDD form follows the alphanumeric string of volume and issue designations. A default sort by filename within any given collection is another potential approach, again provided that the ISO date precedes the volume designation.”

I would actually recommend a default sort on date (either asc or des). No offense to Doug!

sort by title, also options to view 20/50/100 objects similar to search results


Steam game uses japanese name instead of english title

Describe the bug
Steam library
Game uses japanese name instead of english title and the one used in the store and client
To Reproduce
Happens with game Fuga: Melodies of Steel
Screenshots
Playnite after import: 戦場のフーガ

Client and store: Fuga: Melodies of Steel

Appdetails api also reports this same title https://store.steampowered.com/api/appdetails?appids=1357860
Diagnostics ID
48918cbf-1d63-4729-9262-b51c41c68186

It's what Steam itself returns as a name, you can see that SteamDB lists it under the same name: https://steamdb.info/app/1357860/
I could in theory switch it to use store's name, but I don't know if it's not going to break some other things. I don't remember why we prefer name from Steam API instead of Store API.

I just found that there's name_localized property that Steam API returns. I'll add check for that if it returns English variant and use that instead.

Fixed in 2.4


api: add helper to skip tests if graphviz is missing

Signed-off-by: Matt Layher<EMAIL_ADDRESS>I ran into this when attempting to package conprof on NixOS. The SVG renderer tests should use dot if it's available, but gracefully degrade if not.

Thank you!


How to activate Swiper without resize screan?

I create Swiper:
https://codepen.io/mnosal/pen/poJMqgP
They work only after changing the screen width. How to fix it?

Do you want to ask a question? Are you looking for support? Stack Overflow is the best places for getting support

Please, don't use GitHub issues for questions


Fix bug in upload_rbe_results.py (which sometimes skips some test cases when uploading to BQ)

add a few command line arguments that simplify debugging of the upload_rbe_results.py script

fix a bug where in some rare cases, some test results are not uploaded to bigquery as they should
(e.g. for invocation https://source.cloud.google.com/results/invocations/15ced157-4357-4d24-b80b-195e6eb530bf/targets, the //test/core/channel:channelz_test@poller=epollex failure is missing in the bigquery data).

Another example is https://source.cloud.google.com/results/invocations/084e2641-579e-4718-9c17-4dc53a333476/targets (where the failure is missing from BQ data).

Another example
https://source.cloud.google.com/results/invocations/0a97afe4-83ac-43f4-abc1-bc8b70c58ddd/targets/%2F%2Ftest%2Fcpp%2Fend2end:grpclb_end2end_test@poller%3Depoll1/tests;passed=true
But the failure is missing here:
select * from jenkins_test_results.rbe_test_results where
  job_name like '%'  # you can filter job name here
  and test_target like '%//test/cpp/end2end:grpclb_end2end_test@poller=epoll1%'  # choose a test name you are interested in
  and timestamp > '2017-10-25 00:00'
  and build_url like '%0a97afe4-83ac-43f4-abc1-bc8b70c58ddd%'
  #and result != 'PASSED'
order by timestamp desc
limit 1000


fix: Correct codgen script due to deprecated script removal

What this PR does / why we need it:

Correct codegen script due to deprecated script removal

The upstream project removed the deprecated kube_codegen.sh https://github.com/kubernetes/code-generator/commit/2e5be312636d3c77fb42ba37cedd4707968608a0

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/lgtm
/approve


Flutter text widget and grammarly

Steps to Reproduce

Install Grammarly plugin
Try to type in flutter text widget

Expected results: Proper typing
Actual results: types up to 2 characters only and then removes those 2 characters and start from beginning
Any published app has the same issue with grammarly plugin

Let us see the code

Steps to Reproduce

Install Grammarly plugin
Try to type in flutter text widget

Expected results: Proper typing
Actual results: types up to 2 characters only and then removes those 2 characters and start from beginning
Any published app has the same issue with grammarly plugin

Hi @MariumHashmiBM
I am not sure this is related to Flutter, please link the plugin you're using
If you think this is related to Flutter, can you please provide your flutter doctor -v your flutter run --verbose and a complete reproducible minimal code sample
Thank you

@MariumHashmiBM
Closing as additional information isn't provided


@somerole ping not working

The @everyone and @here pings do work for me, but using @somerole where somerole is a pingable role will not ping the role and will only put the text in.

Thank you for the report. I'll do some testing and see what the issue is!

Ah I was saving this "feature" as "platform paid for feature" as running the service is not free.
So I was intending to PayWall role pings (outside of everyone and here).
And add a thing to let people to opt in/out of the role as well via a discord command/etc

Revisted this since I was poking around today.
It's not "locked" behind an intended paywall it's just broken. Discord is weird with them. I'm investigating!

This should get you going
https://github.com/BarryCarlyon/twitch_discord_barrycarlyon_co_uk/blob/main/public/get_roles_id.png
And then in your go live message put
<@&ROLEID>

So for example
<@&983054603371298816>

Thats the role ID for my "test role" on the test discord.
I'll work on making the UI more user friendly for this


Upgrade vendor for jwt

Codecov Report

Merging #8 (15ccc3f) into main (ddb51ab) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage   81.55%   81.55%
=======================================
  Files          27       27
  Lines        2174     2174
=======================================
  Hits         1773     1773
  Misses        314      314
  Partials       87       87

Impacted Files
Coverage Δ

pkg/config/middleware.go
67.85% <ø> (ø)

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 ddb51ab...15ccc3f. Read the comment docs.


Can't run predictions after using get_activations()

After calling the get_activations to print out the shapes of my activation layers, I'm unable to train my model or make any predictions.
I get the following error:
tensorflow/core/framework/op_kernel.cc:1273] OP_REQUIRES failed at resource_variable_ops.cc:449 : Not found: Resource localhost/embedding/embeddings/N10tensorflow3VarE does not exist

When trying to run predict:
tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable batch_normalization_2/moving_mean from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/batch_normalization_2/moving_mean)
         [[{{node batch_normalization_2/cond/FusedBatchNorm_1/ReadVariableOp}} = ReadVariableOp[dtype=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](batch_normalization_2/cond/FusedBatchNorm_1/ReadVariableOp/Switch)]]
         [[{{node lambda_4/strided_slice/_17}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_397_lambda_4/strided_slice", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

When I don't run get_activations(), my code runs normally.

@olinguyen maybe be due to batch norm. Can you test to see if it works by removing batch norm?

Running session.run(tf.global_variables_initializer()) seems to have resolved the issue

@olinguyen ok thanks for letting us know :)


add 'density' param

As discussed in https://github.com/tangrams/tangram/pull/234 and implemented in https://github.com/tangrams/tangram/commit/aca43dffad7ddaec1631cc5e0b01c47d7dd13739

previously added with https://github.com/tangrams/tangram-docs/pull/60/commits

resolved with https://github.com/tangrams/tangram-docs/pull/241


Clarify meaning of range within Hover

It is not clear what it should be the range of.

It's a range at which hover should be used. I guess a client side should not send a new hover request till the user hovers over the range of the current range. If the range is undefined then the client should send a new request on a cursor position change.

Some clients highlight the symbol under the cursor when you hover -- so the user clearly understands "this hover tooltip applies to this precise symbol". This range gives them the opportunity to know which range to highlight.


Parse error on TIP input

Whenever I try to use a TIP file as input i get a parse error. For example, if I run nunchaku --input tip cfg5_unambig.smt2 on this file from the TIP-benchmarks repository, I get the error:
could not parse cfg5_unambig.smt2:   parsing error: expected statement   at file 'cfg5_unambig.smt2': line 1, col 1 to 17
This seems to happen for any TIP I give as input.

The TIP format seems to have changed (probably to become closer to SMTLIB 2.6).

So this is really an issue in the tip-parser ocaml library?

Yes, and an issue with TIP changing its format without proper versioning :man_shrugging:

Indeed, the format has changed. I found a (seemingly) up-to-date definition of the BNF. Is this something you think is easily fixable in tip-parser? I would like to help, but unfortunately I am not very proficient in OCaml nor the parser generator tool tip-parser uses.

It could be reasonable easy to fix if it's changes in the datatypes syntax. the parser generator, menhir, is awesome (and hopefully the file is reasonably readable; you can ask questions if you need, here or on IRC on freenode, I'm companion_cube). There is this tip_cat executable in the repo that can be used to parse and print files, when it passes on the whole new set of benchmarks you'll know it works :)
That being said, I wish the tip org would version their syntax (with a statement at the beginning maybe)…

Unfortunately, it doesn't seem to be only the syntax. They have added new statement constructs 'lemma' and 'prove', which means the converter to the internal representation in nunchaku also needs to be updated. Also, I'm not sure but I think the semantics of polymorphic function/types may also have changed... This is not something I can fix...


propsal: Make "v:" prefix mandatory in scriptversion 2

With this patch, "version" cannot be used as "v:version" in scriptversion 2 anymore.
It can be used as a normal variable. (Same for "v:count" and other "v:" variables.)
What do you think?

Codecov Report

Merging #4274 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4274      +/-   ##
==========================================
- Coverage   79.76%   79.75%   -0.01%
==========================================
  Files         106      106
  Lines      141579   141580       +1
==========================================
- Hits       112926   112915      -11
- Misses      28653    28665      +12

Impacted Files
Coverage Δ

src/eval.c
85.77% <100%> (ø)
:arrow_up:

src/gui.c
57.32% <0%> (-0.68%)
:arrow_down:

src/gui_gtk_x11.c
48.72% <0%> (-0.2%)
:arrow_down:

src/if_xcmdsrv.c
84.02% <0%> (-0.18%)
:arrow_down:

src/ui.c
53.5% <0%> (-0.08%)
:arrow_down:

src/window.c
86.33% <0%> (-0.07%)
:arrow_down:

src/terminal.c
80.42% <0%> (-0.04%)
:arrow_down:

src/screen.c
80.72% <0%> (+0.1%)
:arrow_up:

src/syntax.c
79.74% <0%> (+0.12%)
:arrow_up:

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 1a4dce7...f76584a. Read the comment docs.

With this patch, "version" cannot be used as "v:version" in scriptversion 2 anymore.
It can be used as a normal variable. (Same for "v:count" and other "v:" variables.)
What do you think?

We should increment scriptversion to 3 for this.  Otherwise it's not
clear if the Vim that supports scriptversion 2 also has this
functionality.  I don't think there is a drawback.
I see the patch actually does this for all the v: variables that can be
used without the v: prefix.  I often accidentally use "count", thus I
like that.
--
DINGO:   You must spank her well and after you have spanked her you
may deal with her as you like and then ... spank me.
AMAZING: And spank me!
STUNNER: And me.
LOVELY:  And me.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Do you consider that the specification of scriptversion 2 has been already fixed?
I thought that we haven't released Vim 8.2 yet, so the specification could be still changed.
We can still use has('patch-8.1.xxxx') to check if the v: prefix is mandatory or not.

Do you consider that the specification of scriptversion 2 has been already fixed?
I thought that we haven't released Vim 8.2 yet, so the specification could be still changed.
We can still use has('patch-8.1.xxxx') to check if the v: prefix is mandatory or not.

Well, what is the drawback of using scriptversion 3?
--
You cannot propel yourself forward by patting yourself on the back.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Well, what is the drawback of using scriptversion 3?

Maybe, no.

Excuse the intrusion, but I think there is a drawback in letting the scriptversion number progress too fast. It would become little different from practices as has('patch_x'), where there are so many that one should research at which patch level feature x has been implemented and it's a nightmare from my point of view. If there are too many scriptversion numbers, one would be tempted to just use the latest one to be sure, instead of checking which one is the minimum required, thus making the latest vim version a requirement. But I think few people would do that, because most people that write plugins don't want to enforce the use of last vim version, nor write the same code 3-4 times to take into account different scriptversion's.
I hope you can make some sense of what I'm saying. I think it would be more reasonable to aggregate more changes in a single scriptversion revision. It would then be much easier to say vim 8.2 or vim 8.3 is required. Otherwise this could just add up to the has('patch_x') nightmare.

I think there's also the issue that every single script version currently has to be supported by the Vim codebase, as we will start seeing Vim plugins written with different script version expectations. The more distinct script versions the codebase accrue, the more possible code paths Vim will have to maintain till eternity with different avenues for potential bugs.

I suppose that the idea is to deprecate old-style syntax, and then, maybe 20 years from now ;-) stop supporting it.
To alleviate a little the task of plugin authors concerning various "script versions", I suggest that has('scriptversion') with no suffix be marked as reserved (i.e. not to be used) until or unless pre-scriptversion-1 syntax ceases to be supported. That way, if !has('scriptversion') can be tested to make sure that old-style syntax can still be used.
A positive feature name can of course not be defined for that purpose, since Vim 7 and earlier would never recognise it.
Best regards,
Tony.

There was no reason to jump to 3, and the OP seemed to admit that.

I think there's also the issue that every single script version
currently has to be supported by the Vim codebase, as we will start
seeing Vim plugins written with different script version expectations.
The more distinct script versions the codebase accrue, the more
possible code paths Vim will have to maintain till eternity with
different avenues for potential bugs.

Having to support both behaviors for a long time is unavoidable, since
these are backwards incompatible changes.  The only alternative is to
not make these changes, which means that "count" can never ever be used
as a local variable and .5 cannot be used for a floating point number.
It's unlikely to lead to bugs, since we add tests at the same time as
introducing the new feature.
--
Not too long ago, compress was something you did to garbage...
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Excuse the intrusion, but I think there is a drawback in letting the
scriptversion number progress too fast. It would become little
different from practices as has('patch_x'), where there are so many
that one should research at which patch level feature x has been
implemented and it's a nightmare from my point of view. If there are
too many scriptversion numbers, one would be tempted to just use the
latest one to be sure, instead of checking which one is the minimum
required, thus making the latest vim version a requirement. But I
think few people would do that, because most people that write plugins
don't want to enforce the use of last vim version, nor write the same
code 3-4 times to take into account different scriptversion's.

It's actually a lot simpler if the scriptversion is incremented for
every feature (or dropped feature), so that there is a one-to-one
relation.
Assuming that the new feature is useful, some users will quickly start
using it, and if then changing the meaning of the scriptversion we will
annoy these early adopters.  There is too much time between minor
releases.

I hope you can make some sense of what I'm saying. I think it would be
more reasonable to aggregate more changes in a single scriptversion
revision. It would then be much easier to say vim 8.2 or vim 8.3
is required. Otherwise this could just add up to the has('patch_x')
nightmare.

It's not, since the scriptversion has to be stated in the script, not
just around some lines.  Checking the version is mostly pointless, since
you would then need to support both the old and new version.  Might as
well just do the old one then.  Unless we add a new, incompatible
version that is only available with a certain scriptversion.  I don't
expect that will happen, I don't see something where this would apply.
--
LAUNCELOT: At last!   A call!    Brave, Concorde ... you shall not have died in vain!
CONCORDE:  I'm not quite dead, sir ...
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Blank grey map

Hi,
First, thank you to have made this plugin compatible with Cordova 5.0, you did a great job !
I have a problem, maybe you could help me. I integrated this plugin to Ionic Framework. The problem is that my map is blanked (grey color with "google" wrote at the bottom left).
Any idea ?

Fixed, my API key didn't worked so I justed allowed all apps to use my key.
I'll see it later, thank you, great job!

Hello, thank you!
My friend (@Phenome) and I, worked on this to start a new project, but unfortunately we got busy with other matters...
I had this problem once, but I don't remember exactly what was wrong...
Have you fixed allowing any app to use your key?
Great! good to know, thank you.

Hi Nipher !
For the API key I think the problem comes from my package name or something like that. Nothing realy hard ;)
I have another problem, have you tryed to integrat this plugin on Ionic framework ? The map break the sidemenu. I saw it was a problem with transparent background generated by the plugin. (function HTMLColor2RGBA in JS file). I'm trying to fix it, but if you already have a solution... ;)

I set the disable visibility of the sidemenu when the sidemenu is closed in order to get around this.