[FEATURE] Option to override k3d-proxy image tag like --image option for k3s on cluster create

Scope
We would a new flag on k3d cluster create to allow to change the k3d-proxy image tag to be able to use a private docker registry that plays the role of a proxy.
Describe the solution you'd like
If a --loadbalancer-image flag to k3d cluster create command is used with an image argument, instead of using docker.io/rancher/k3d-proxy image it will use the one provided when creating the load-balancer container at cluster creation time.
Describe alternatives you've considered
Alternatively tried the --registry-config flag. But as far as I understood the flag allows to change the registries of the generated kubernetes cluster, i.e. from where kube will pull images when creating containers. It is however not there to change the source of images k3d uses to install the cluster.
OK to contribute
If after initial discussion a consensus is reached, I am OK with trying to contribute the change.

In my opinion, important feature, because docker.io/rancher/k3d-proxy is rate-limited and with k3d in version 4.0.0, k3d crashes with --no-lb flag.

Hi @mederel , thanks for opening this issue!
k3d v5 (currently under development in main-v5 already supports setting all "helper images" using environment variables like K3D_IMAGE_LOADBALANCER for this. Would this be good enough?

docker.io/rancher/k3d-proxy is rate-limited

Actually, afaik the Rancher space on DockerHub shouldn't be rate limited as per https://forums.rancher.com/t/no-docker-hub-rate-limits-on-rancher-namespace/18725

Hi @mederel , thanks for opening this issue!
k3d v5 (currently under development in main-v5 already supports setting all "helper images" using environment variables like K3D_IMAGE_LOADBALANCER for this. Would this be good enough?

docker.io/rancher/k3d-proxy is rate-limited

Actually, afaik the Rancher space on DockerHub shouldn't be rate limited as per https://forums.rancher.com/t/no-docker-hub-rate-limits-on-rancher-namespace/18725

Hi @iwilltry42 thanks for the answer,
as far as I understand it seems to answer the need. And 5.0 is due shorty as far as I see so that's good enough for me.
Thanbs and cheers!


Houdini: OpenGL Review support LOPs/Solaris source mode

Changelog Description
Allow reviews using the openGL node to use LOP Paths.
Additional info
Based on comment here that OpenGL review node publishing didn't support Solaris reviews yet using LOP paths.
TODO:

[ ] Update creator to allow 'use selection' for LOP paths and then have it auto-set to LOPs source mode.
[x] Update collector to collect focal lengths for LOPs camera

[ ] Make sure it always collects the correct data (see todo in code)

[ ] Update validator to allow LOPs scene path, etc.
[ ] Test

Testing notes:

Set up openGL review instance to use LOP path
Publish review
Set up openGL review instance to use OBJ camera path
Publish review

Make sure to publish with reviews enabled so it also tests the focal length burnin.

checked the collector, it seems that it doesn't collect the correct focal length from camera in LOP networks

@BigRoy I have updated the code for validating LOP networks and both add LOP networks and cameras into the opengl if the use selection enabled.
I also add an options for user to enable "LOP as source"(not sure if it is a good name). If they want to use LOP networks for review, they can enable it in the creator.

I also add an options for user to enable "LOP as source"(not sure if it is a good name). If they want to use LOP networks for review, they can enable it in the creator.

Can't we match what Houdini does with a "Source" enum attribute that is either "LOPs" or "SOPs"? Just so it's also familiar to those working with the OpenGL rop node?

I tested it by modifying rop node manually and it successfully published with no errors

I have an idea to update the creator, I'm going to try it.
pseudocode something like this
In LOPs Context

  case 1: No Selection
    will only set `source` to `LOPs`

  case 2: one node selected
    use its path as `loppath`
    if camera:
      use its primpath as `cameraprim`

  case 3: two or more are selected
    use camera's primpath as `cameraprim`
    pop camera from selection
    use first node as `loppath`

I gave it a shot.
I believe we will need at first to filter selected_nodes to sperate hou.ObjNode(s) from hou.LopNode(s)
because user can accidently  have multiple selection from different contexts which can be confusing
Imagine lop camera was the first node in selection, a user will complaint about selecting the obj camera but a lop camera was set!

I can try again later.
Here you are what I have achieved (with a lot of overthinking)
create_review.zip

Because we're splitting OpenPype into ayon-core and individual host addons, this PR would have to be re-created to target one of those.
We're closing it down, but we'll he happy for a new PR to ynput/ayon-houdini repository once it's up.


Flaky test: NIOAsyncEmbeddedEventLoopTests.testCancelledScheduledTasksDoNotHoldOnToRunClosure

Expected behavior
It should pass every time.
Actual behavior
I run the latest trunk NIO tests daily in an Android x86_64 emulator after cross-compilation with the release, 5.7, and trunk toolchains, and two days ago this test did not fail at all, yesterday it only failed when built by the 5.6.1 release toolchain, and today this test failed when built by all three toolchains, for a fairly high failure rate of 4 out of 9 recently:
swift-nio/Tests/NIOEmbeddedTests/AsyncEmbeddedEventLoopTests.swift:503: error: NIOAsyncEmbeddedEventLoopTests.testCancelledScheduledTasksDoNotHoldOnToRunClosure : XCTAssertNotNil failed -

As with the earlier flaky test reported in #2053, I cannot reproduce on Android AArch64 running on my phone, implying this is because of resource constraints in the Android x86_64 emulator.
Steps to reproduce

Follow the instructions for my Android SDKs, building and testing for Android x86_64 instead.

An easier way may be to try to reproduce on a small linux x86_64 VPS.
SwiftNIO version/commit hash
latest trunk commit on every day the CI ran, currently 45b90b9
System & version information
Building on Ubuntu 20.04 x86_64 and running on Android x86_64 at API 24

Thanks for filing this! I'll try to take a look in the next few days.

Heh, now I'm seeing this other similarly named test flake, that I had never seen before:
swift-nio/Tests/NIOPosixTests/EventLoopTest.swift:826: error: EventLoopTest.testCancelledScheduledTasksDoNotHoldOnToRunClosure : failed - condition not satisfied in time

Related to the fix for this one?

@buttaface I have just seen the same test failure but only on Swift 5.7

My CI run that failed was built with Swift 5.6.1, but it's most likely a flake as the exact same NIO commit built with the latest 5.7 and 5.8 snapshots ran fine.

I think that's strictly a timing issue on these tests: they expect things to make meaningful progress in 1s, but they may not. We may want to widen the timing window.


Allow wildcard routing in host

We are implementing a SaaS based solution and need service calls for all subdomains to be routed to a same service.  For example, both below service calls from browser should be touted to service.
tenanta.example.com/service1,
tenantb.example.com/ service1
How can I achieve this with single ingress resource? We tried using the host entry as *.example.com but that did not work.
As per the https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20190125-ingress-api-group.md this feature is supported in most of teh ingress controller and widely used; and thus proposed to be added to spec.
Is there any plan to support this for alb-ingress controller?

I'm interested in such a feature as well 🤞

@M00nF1sh Is there any chance this will be picked up in next release you are planning?

@ashish4github i'm take a look at this, and i'm actually surprised if this it not supported already...

@ashish4github This is already supported.
Just one tip, u should quote the host like "tenant*.example.com"  :D, if you use * in yaml, you need to quote it 😄


[Question] - Support Asp.net core 1 and asp.net core 2 in single package?

Am I correct in thinking it's not currently possible to build a nuget package, that scopes its dependencies to the version of asp.net core being consumed in an application? For example if the nuget package is installed into an asp.net core 1.0 application it carries one set of dependencies, if its being installed into an asp.net core 1.1 application it carries another?
I know you can target tfm's but this doesn't really equate to asp.net core versions. For example you can have an aspnet core 1.0 application that targets net46.
If that is correct, is there anything in the pipeline that could help enable this?
The scenario is you want to develop a package that supports asp.net core 1.0, 1.1 and 2.0 but you don't want to have to have Foo.Package.AspNetCore1 Foo.Package.AspNetCore11 and Foo.Package.AspNetCore20 because this is pain for both developers and consumers (when consumers upgrade their projects accross asp.net versions they have to locate and consume entirely new packages).

Not really no, the only pivot you have is the target framework (TFM). The closest you can get is using netcoreapp.

Hmm ok thanks. Do you / do you not see this as a worthwhile problem to address? targeting netcoreapp doesn't really work because an asp.net core app might be targeting full net framework rather than netcoreapp..

It's not something that has really ever been solved in packaging ecosystems. Dependencies based on arbitrary pivots is a hard nut to crack. It's not really an ASP.NET problem, this is a general problem people have with nuget packages. This problem shows up more anytime any components makes a breaking change.

Do you / do you not see this as a worthwhile problem to address?

I don't think it's worth solving no.

I don't think it's worth solving no.

Interesting. It's very beneficial for the asp.net core team that they don't have to develop and maintain packages that will run on asp.net core 1, 1,1 and 2.0. I wish I was in that position... :-)

Dependencies based on arbitrary pivots is a hard nut to crack

I don't think this pivot is..arbitrary .. The pivot is based on which version of a package the target project is currently consuming. If consuming Microsoft.AspNetCore.Mvc 1.0.0 pivot to X if it's  Microsoft.AspNetCore.Mvc 1.1.1 Pivot to Y etc. I think this concept could be formailised if there was a desire. You could for example allow a nuget package to add a capability (something I just made up) - i.e MVC1 and then allow nuget packages to pivot on these capabilities present. The concept of capabilities is used in the VS Project System so perhaps thats why that sprang to mind. I'll suggest over on nuget.

Sure it doesn't change my stance on the problem, I don't think it's tractable and that's why it hasn't been solved. It'll just make nuget more complex and slower.
FWIW you're thinking about a single package. Multiply that by versions and target frameworks and each package in the dependency graph.
That's my 2c.

Yeah I agree - it is probably a pipe dream.. thanks for sharing your perspective. I raised it anyway over on nuget: https://github.com/NuGet/Home/issues/5901

FWIW you're thinking about a single package. Multiply that by versions and target frameworks and each package in the dependency graph.

Yeah you are right I was thinking about installing a single package - namely mine. In terms of the algorithm that nuget uses to build package an entire dependency tree - well, yes! Although I imagine it already walks that tree in its entirety - in which case - collecting and filtering based on capabilties discovered along the way should be possible but would of course be an extra step - I couldn't honestly speculate how much slower that would make nuget but I don't see why it should result in such a mammoth slow down, especially if this feature is only used for fairly surface level packages. I will close this for now as like you say this sits more with nuget and not aspnet core!
Cheers ;-)


How do we monitor sold events?

I'm trying to create a Twitter bot to tweet when there is a sale happened for a particular contract. I checked the API https://mumbai.polygonscan.com/apis#accounts but it has very minimal info. https://twitter.com/PenguinNFTSales this is a sample bot I'm trying to replicate how can I do that?

Apologies for taking so long to reply but I have never received a notification from GitHub saying this was here.
So what you need is a "live event watcher". I not 100% sure that the API can actually do it but have a look at moralis as I believe they have what you want too.


how to keep the shapes drawn in previous frames

When using app.redraw(), the shapes drawn in the previous frame get cleared. Is there any way to keep the shapes, similar to Processing? My goal is to create a trail of circles that follow the mouse cursor. Thanks a lot!

Sorry made a mistake. Got it working now.


How does off-chain code know when a transaction has failed to validate?

There's an obvious mechanism for finding out when a transaction has validated: when you see a block with it in come past, you know it's validated.
However, there is no good way to know if a transaction has failed to validate. You have a few ways you can approximate:

If your transaction has a finite upper bound on its validity interval (effectively a finite TTL), then if that time passes and you haven't seen it, then you'll never see it.
If your transaction spends an output, and you see that output being removed from the UTXO, then you know your transaction will never validate.
If your transaction fails at stage 2 validation and gets publicly posted on the chain as a failure, you know it failed!

(Some of these assume you're running appropriately powerful wallet backends that track such things.)
This mostly covers it: as far as I can tell the only remaining case is where you fail stage 1 validation due to a malformed transaction, missing witnesses, insufficient basic fees, which are predictable failures so really shouldn't happen. I guess you also don't know if the transaction failed to make it to the mempool.
So maybe this is okay? We should perhaps encourage people to set finite upper validity limits on their transactions by default, since that's the only thing that's guaranteed to eventually tell you that the transaction didn't make it (it's also low overhead: you only need to know the current slot).

Yes, precisely.
IMO we should provide library functionality that makes it easy to subscribe to an event that combines the criteria you mentioned and additionally deem it good practise to put reasonable slot range bounds on transactions (and also have library functionality for the common cases).
BTW, I think, we have over time identified a variety of items that we consider good practice when using Plutus. I think, we should have these things in one place (maybe as part of the tutorial and eventually probably also in the book).


Change storage URL expiration from 5 minutes to 6 hours

In development and without the Fastly mock all image variants URLs will be Active Storage service URLs. Just like other presigned URLs these URLs expire. Combined with HTML page caching this can lead to URLs expiring before the page cache expires, this leads to missing images.
This PR changes the expiration time from 5 minutes to 6 hours to make this happen less. We can't fix it completely because the URLs require an expiration time and some HTML is cached indefinitely when nothing changes to the database.
Closes #869.

Couple questions here:

Do you think it's worth it to manually expire the conditional gets on the home page to match? I doubt production is lasting too long anyway, 6 hours would be reasonable.

If not, can we change this local setting to 72 hours? That would eliminate seeing the expired images when we go to boot up the server the next day.

Not sure if there's another way we could link the caching and image expiration...

I don't think we use presigned URLs of any kind in production except maybe the download URL somewhere so expiration is not a problem there. I wouldn't change production page cache expiration just for this.

can we change this local setting to 72 hours?

Yes, but you I believe you will have to manually clear memcached at some point anyway. A more sustainable solution might be to implement the fastly mock into a development controller and switch everyone there.

Ok thanks for this!!!


Update README file to describe more accurately the repo

What does this PR do?
It responds to issue #1 and changes the README file to a more precise description of what the repo contains. The need for this change is to follow the practices mentioned on the walk through from week 1 and learn more about how Github works.

LGTM!


Import d1216ed1d6: Added /api/domain to DomainServer that links to new api (by Maki)

This is an automated proposal to look at a commit made by Maki and import it into Overte

Commit:
d1216ed1d66e5e6fd6fbfa1e5fbb087e40627a91

Author:
Maki

Date:
Wed, 08 Apr 2020 19:29

Added /api/domain to DomainServer that links to new api

Stats:

Filename
Stats
Lines
Added
Removed
Lines in blame

domain-server/src/DomainServer.cpp

14
9
5
8

1 files
-
14
9
5
8

To work on this, please assign the issue to yourself, then look at the commit and decide whether this would be a good addition to Overte.

If the commit is useful, tag it with "Tivoli: Keep", and keep it open until it's merged.
If the commit is not useful, tag it with "Tivoli: Discard", and close it.
If the commit is not useful right now, but might be later, tag it with "Tivoli: Maybe later", and close it.
If it's hard to decide, tag it with "Tivoli: Discuss", and keep it open.

Useful commits should be submitted as a PR against Overte. Tag this issue in PR, so that it's automatically closed once the PR is merged.
You can cherry-pick this issue with this command:
git cherry-pick d1216ed1d66e5e6fd6fbfa1e5fbb087e40627a91

changes API endpoints to incompatible ones, don't think we need this


学習コンテンツを英語に翻訳する

提案内容

[ ] 101 - ETH dApp
[ ] 102 - ETH NFT Collection
[ ] 103 - ETH NFT Maker
[ ] 104 - ETH NFT Game
[ ] 105 - ETH Yield Farm
[ ] 106 - ETH DAO
[ ] 201 - Polygon Generative NFT
[ ] 202 - Polygon ENS Domain
[ ] 203 - Polygon Mobile dApp
[x] 204 - Polygon-Whitelist-NFT
[ ] 301 - Solana dApp
[ ] 302 - Solana NFT Drop
[ ] 303 - Solana Online Store
[ ] 304 - Solana Wallet
[ ] 401 - NEAR Election dApp
[ ] 402 - NEAR Hotel Booking dApp
[ ] 403 - NEAR BikeShare
[ ] 404 - NEAR MulPay
[ ] 501 - AVAX Messenger
[ ] 502 - AVAX AMM
[ ] 503 - AVAX Asset Tokenization
[ ] 504 - AVAX Subnet
[ ] 601 - ICP Static Site
[ ] 701 - ASTAR SocialFi
[ ] 801 - XRPL NFT Maker
[x] 901 - TheGraph ScaffoldETH2

can u explain the issue. maybe i can work with it .

@furmak331 hi, this issue is related to providing translations of existing documentation in English. Currently, only projects 204 and 901 are provided in English; the goal is to provide English versions in all of them.
If you are a JP<>EN bilingual, we would love to have your support.

Thanks for reaching out. Can't we use any translation tool for it?
Unfortunately i am not jp<>en bilingual. Let me know if i can help.
On Sat, 7 Sept, 2024, 20:43 neila, @.***> wrote:

@furmak331 https://github.com/furmak331 hi, this issue is related to
providing translations of existing documentation in English. Currently,
only projects 204
https://buidl.unchain.tech/Polygon-Whitelist-NFT/en/section-0/lesson-1_Course Introduction
and 901
https://buidl.unchain.tech/TheGraph-ScaffoldEth2/en/section-0/lesson-1_Course Introduction
are provided in English; the goal is to provide English versions in all of
them.
If you are a JP<>EN bilingual, we would love to have your support.
—
Reply to this email directly, view it on GitHub
https://github.com/unchain-tech/UNCHAIN-projects/issues/502#issuecomment-2335421663,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCTU2GHL3TBYM4ZBZQL5PF3ZVMJYHAVCNFSM6AAAAABNZ63HLSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZVGQZDCNRWGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

OpenAIに翻訳してもらって、それを人が校正するのが現実的でしょうか
そのようにした場合、古いもののアップデートした時もやりやすいかな


Remove E2

Hardly used chip. Working on making a new one. E2 has countless vulnerabilities that make it easy to crash servers. E2 also annoys most players. Most servers have E2 completely disabled anyways.

Funny.

Why was this closed? You removed three chips without asking the community, or getting more PR reviews, or even just letting it simmer for a while. Surely I can do the same?

zcpu was being abused on servers because of holes in its security. Nobody was willing to fix it.

 Nobody was willing to fix it.

E2 has also been abused on many servers because of major holes in its security (and design). No one is also willing to fix it despite these issues being prominent in the wiremod community.
Almost every major server has disabled E2 in some form or another.

That was not professional, and you just attacked me for no reason?

major servers disable e2 because they paywall it or don't want to moderate it, not being it's abusive lol

You are stupid.

major servers disable e2 because they paywall it or don't want to moderate it, not being it's abusive lol

"don't want to moderate it"
I dont know how you just invalidated your own point


Dists page with cluster and ipfs-pack 0.3.0

https://ipfs.io/ipfs/Qma5SEusRzT5AQstz2TCqE68yhZBQVf6TUPrBEDt34GkXj/
cc @hsanjuan Its Happening!

done

@lgierth I still don't see the new page in dist.ipfs.io... isn't it taking too long?

Okay should be up now -- not sure what I did wrong there


nitdoc: repeated entries in "All properties"

Eg. two entries underline in All properties for String
http://nitlanguage.org/doc/nitc/class_standard__string__String.html

close because it seems solved


Handle background layers

If the project contains background layers (e.g. from QuickMapServices plugin), they are not handled. I suggest replacing them with a direct call to the services.

Yeah, the d3 plugin only works with vector layers.  Raster and slippy map layers aren’t supported as such.
D3 is still more of a visualisation tool than a full web mapping solution.
From: Paolo Cavallini<EMAIL_ADDRESS>Sent: 29 November 2017 16:20
To: sbenten/d3MapRenderer<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [sbenten/d3MapRenderer] Handle background layers (#43)
If the project contains background layers (e.g. from QuickMapServices plugin), they are not handled. I suggest replacing them with a direct call to the services.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/sbenten/d3MapRenderer/issues/43 , or mute the thread https://github.com/notifications/unsubscribe-auth/AGmRUXCBl6hrOUF3DP9iXsQjCp5-uplzks5s7YQsgaJpZM4QvO4X .  https://github.com/notifications/beacon/AGmRUcXAokeZadhjGKxb16NpfWEVG713ks5s7YQsgaJpZM4QvO4X.gif

Thanks for the clarification. Please state this clearly in the About.
It would be good also to check upon output creation whether the project contains rasters, services and other layers unmanaged, and issue a notice to the user.


Spark: clean unneeded windowing and accumulators

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Run Spark ValidatesRunner

Run Spark ValidatesRunner

Better PR title, thanks !

Thanks for the review @iemejia  !


Print the Elements of a Linked List

A problem to get started with Linked Lists: https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list/problem
Find a solution in any of the supported languages with all test cases passing, and make a PR into the corresponding folder category.

I would like to work on this.

@aaditya-ag Go ahead

I would like to work on this using C++

@aaditya-ag Which language are you using?

I am also using C++

@aaditya-ag You go ahead in C++. @abhay313 You can try any other language, Python or JAVA, or take up a different issue.

I can implement this using python. Please assign this to me @adityabisoi

@areeb77 In python

The python code for printing elements of linked list is already present in the repository. Please tell me what to do @adityabisoi

I can do it in Java please assign this to me @adityabisoi

@areeb77 @aditkumar72 Create new algo issues.


Inconsistent default discovery ports

The default discovery port values are different between Pilot discovery and agent:
https://github.com/istio/istio/blob/master/pilot/proxy/context.go#L138
https://github.com/istio/istio/blob/master/pilot/cmd/pilot-discovery/main.go#L88
The ports should be consistent so that the default configuration could work.

May have contributed to https://github.com/istio/istio/issues/2168

intended design is to always have an instance of envoy proxy running with a hardcoded config in front of pilot-discovery listening on port 15003 and forwarding calls to the discovery server on port 8080 to handle the possibility of mTLS between the pilot-agent instances and pilot-discovery. Related design doc: https://docs.google.com/document/d/1LE7dbCQrhuvbxJuyV5sKlYLCtv0g9jfhteFIL06XCbI/edit#heading=h.x9snb54sjlu9


Pass through routing from websocket message to REST express route

Hey there,
Just found this little project, it's very close to something I'm trying to achieve. Basically what I'd like is to have dual REST API and websocket support, without having to maintain all of the routes twice. Basically pass off an incoming message to be routed by express, and capture the JSON that would have been returned, if the request had come in as a regular REST request.
Is that possible with sockpress, or something that would fit with a little customisation?
This little snippet is close but is for Primus instead of socket.io:
https://github.com/psi-4ward/express-websocket/blob/master/index.js
Thanks for putting the project out there!

Hi eddiesholl,
Thank you for your interest!
I will test that today and keep you informed.

Here is some starting help to deal with this issue :)
I think that sockpress could handle the problem smoothly, if you add some magic. Maybe something like that, considering that handler will return the output JSON in a callback:
app.duplexRoute = function(route, handler) {

  app.get(route, function(req, res) {
    handler(req, function(output) {
      res.send(output)
    })
  })

  app.io.route(route, function(socket) {
    handler(socket, function(output) {
      socket.emit("response", output)
    })
  })
}

And then use this custom handler:
app.duplexRoute("index", function(query, callback) {
  callback({ foo: "bar" })
})

It's a very messy draft, but it draws the basics of a solution.
Be aware that REST APIs and sockets are really different, and then hard to mix ;)

Although you 're trying to create one route to rule them all, maybe consider my approach to this by using a socket Router object much the same as Express. The code at the moment is rough and needs work, hence it not being added as a pull request but here is a stripped down snippet:

/**
* SocketRouter.js Module
*/
module.exports = function (app) {
  if (!app.io) {
    throw new Error('Unable to load app.io')
  }

  /*
   * NOTE: This is merely a prototype and should be developed further to match the Router pattern entirely
   */

  app.io.Router = function () {
    return {
      _handlers: [],
      _middleware: [],
      _route: '/',
      route: function (r) {
        this._route = r
        return this
      },
      use: function (func) {
        this._middleware.push(func)
      },
      on: function (event, handler) {

        // Check arguments
        if (arguments.length !== 2) {
          throw new Error('Invalid arguments length')
        }

        //Add to router
        this._handlers.push({ event: event, handler: handler })

        return this
      }
    }
  }
}

/**
* Parsing of Router object
*/
  var routerInstance = getSocketRoute(app)
  var route, middleware, mountPoint
  // TODO: Validate the route passed as it could ruin other routing

  if (!routerInstance || !routerInstance._handlers) {
  	log.error('Invalid socket route object passed')
  	continue
  }

  // Plugin mount point, change this if the 'on' method is extended to supported sub-namespaces
  mountPoint = '/' + routerInstance._route

  // Add all route events
  for (var r = 0, rl = routerInstance._handlers.length; r < rl; r++) {
  	route = routerInstance._handlers[r]
  	if (!route.namespace) {
  		route.namespace = '/'
  	} else if (typeof route.namespace !== "string" || route.namespace.charAt(0) !== '/') {
  		log.error('Invalid socket route supplied. Ignoring route: ' + route.namespace)
  		continue
  	}
  	if (!route.event) {
  		log.error('Invalid socket route param "event" supplied')
  		continue
  	}
  	app.io.route(mountPoint, route.event, route.handler)
  }
  // Loop over all middleware and add it
  for (var r = 0, rl = routerInstance._middleware.length; r < rl; r++) {
  	middleware = routerInstance._middleware[r]
  	if (typeof middleware !== 'function') {
  		log.error('Invalid socket middleware supplied')
   	    continue
  	}
  	app.io.of(mountPoint).use(middleware)
  }

/**
*  Example usage
*/
function getSocketRoute() {
  var router = app.io.Router()

  router.use(function (socket, next) {

    // middleware

  })

  router.on('login', function (socket, data) {

    // Emit events
    socket.broadcast.emit('exampleEvent', { data: "foobar" })
    socket.emit('authenticated', "foobar")

  })
  return router
}

Don't expect this to work straight off as I had to pull out a lot of custom app logic before posting. Once I get some time to rework the idea next year then expect it as a pull request.

Should this issue be closed?


tensorflow.bzl.bzl doesn't exist, unsurprisingly

I get a pile of build errors after pulling.  One of them is that tensorflow.bzl.bzl doesn't exist.  Did someone rewrite the build rules recently?
bazel build ...
ERROR: /usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD:11:6: First argument of load() is a path, not a label. It should start with a single slash if it is an absolute path..
ERROR: /usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD:12:6: First argument of load() is a path, not a label. It should start with a single slash if it is an absolute path..
ERROR: /usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD:11:6: file '/tensorflow:tensorflow.bzl.bzl' was not correctly loaded. Make sure the 'load' statement appears in the global scope in your file.
ERROR: /usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD:12:6: file '/tensorflow:tensorflow.bzl.bzl' was not correctly loaded. Make sure the 'load' statement appears in the global scope in your file.
ERROR: /usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD:21:13: Traceback (most recent call last):
  File "/usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD", line 14
    cc_library(name = "cc_op_gen_main", srcs = ["..."], <3 more arguments>)
  File "/usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD", line 21, in cc_library
    tf_copts
name 'tf_copts' is not defined.
ERROR: /usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD:28:1: name 'tf_gen_op_wrappers_cc' is not defined.
ERROR: /usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD:66:13: Traceback (most recent call last):
  File "/usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD", line 63
    cc_binary(name = "tutorials_example_traine...", <4 more arguments>)
  File "/usr/local/google/home/geoffreyi/tensorflow/tensorflow/cc/BUILD", line 66, in cc_binary
    tf_copts
name 'tf_copts' is not defined.
... (many more)

This is on my Goobuntu machine.

You need bazel 0.1.4


Implement event batching.

Summary

Introduces an EventProcessor interface.
Introduces a BatchEventProcessor (maybe should name it BatchingEventProcessor)
Adds NotificationManager to EventFactory.

Buffering events within a queue before dispatching is an optimization that should prevent SDK implementations from exhausting resources while increasing throughput. This implementation relies on a BlockingQueue to buffer events received from one-to-many producers. A single consumer thread continuously polls from this queue to build a batch before emitting the batched LogEvent.
Note that the Optimizely class only knows about the EventProcessor and EventHandler so that it can gracefully close those implementations, so not strictly necessary. All communication between components is handled via Notifications using the NotificationManager<T>. The EventFactory emits an EventBatch to a NotificationManager<EventBatch> which is subscribed to by the EventProcessor. The EventProcessor emits LogEvents to a NotificationManager<LogEvent> which is subscribed to by the EventHandler for eventual dispatching.
Why notifications all the way down?
Part of this PR is experimenting with the idea of leveraging the NotificationManager<T> as a common conduit for message passing between components and that the SDK can be comprised of these various conduits to provide the full feature set. The advantage to this approach is that it allows for easier non-blocking async implementations to be built (if we have an AsyncNotificaitonManager<T> or NotificaitonManager<T>#sendAsync for example). It also centralizes "observability" points within the SDK. If we instrument and trace  NotificationManager<T> it might be able to provide most, if not all of the observability we require.
This implementation of batching events was rather simple when working with this paradigm since each component didn't have to get directly linked together which made testing simple and removed a lot of implementation options that could have been made in a non message passing world.
Trade-offs / alternatives:

We could queue events into the EventProcessor via direct calls with Optimizely#track and Optimizely#sendImpression.
We could have the EventFactory accept and EventProcessor and queue batches directly.
We could have the EventProcessor accept a callback when batches are ready to be emitted.
We could have the EventProcessor accept an EventHandler directly.
The relationship between components might be a little opaque.
Notifications can be brittle relationships and dependent on timing and ordering of components and subscriptions. Explicit constructor injection forces well-ordering during construction.
For Event processing I think the Notifications concept still holds, but it might not match when making Decisions for example which isn't fire-and-forget, but requires a synchronous response.

Pull Request Test Coverage Report for Build 1095

118 of 134 (88.06%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.04%) to 89.71%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core-api/src/main/java/com/optimizely/ab/Optimizely.java
17
18
94.44%

core-api/src/main/java/com/optimizely/ab/event/BatchEventProcessor.java
80
95
84.21%

Totals

Change from base Build 1094:
-0.04%

Covered Lines:
3400

Relevant Lines:
3790

💛  - Coveralls

Note that a major distinction between this PR and the documented approach to batching is where the queue is positioned in the flow.
In this PR the queuing happens after the EventBatch object then immediately queued. Truly "batched" payloads are constructed from merging these objects together. In the prescribed doc we'd introduce another model similar to the EventFactory#createImpressionEvent and EventFactory#createConversionEvent signatures, queue those models consume those for batching.
I found in implementing that approach suffered from two problems.

backwards compatibility with the current notification schema.
resolving the grouping strategy of what can be batched together.

The latter methodology does have some good principles to follow, I will create a subsequent PR that attempts to resolve the two above issues so we can compare the approaches and the tradeoffs.

Closed in favor of https://github.com/optimizely/java-sdk/pull/312


Introduce cert-manager component

Why
https://github.com/ministryofjustice/cloud-platform/issues/562

@jasonBirchall can you apply this latest commit?


Adding duration-hint

Measured in seconds, this will be used if the duration determined by the video element's durationchange event is either infinity or not a number. This can happen when using a url for an video which has just been recorded but not uploaded (i.e. a blob)

Sorry, I'll revert the whitespace changes...

Should this be a feature or a bug fix? I'm thinking just bug fix even though it adds a property to the component

Should this be a feature or a bug fix? I'm thinking just bug fix even though it adds a property to the component

Sorry for late reply, but I think feature is appropriate since the new property is publicly-accessible outside of the component.


data(key_indicators): garden and grapher

Key Indicators dataset is now available in Grapher. Find below the complete list of updates from this PR:

Metric Population Density is now included within the Key Indicators Garden dataset. The old dataset has been deprecated.
Metadata for Key Indicators has been restructured in a single YAML file (Garden step).
Implemented Grapher step to import Key Indicators to Grapher.

@pabloarosado is right, you can use yaml anchors to DRY your yaml file, e.g.
tables:
  population:
    title: Population (Gapminder, HYDE & UN)
    description: ...
    variables:
      population:
        title: Population
        sources: &population-sources
          - name: Gapminder (v6)
            published_by: Gapminder (v6)
            url: https://www.gapminder.org/data/documentation/gd003/
            date_accessed: October 8, 2021
          - name: UN (2022)
            published_by: United Nations - Population Division (2022)
            url: https://population.un.org/wpp/Download/Standard/Population/
            date_accessed: September 10, 2022
          - name: HYDE (v3.2)
            published_by: HYDE (v3.2)
            url: https://dataportaal.pbl.nl/downloads/HYDE/
            date_accessed: October 8, 2021
      world_pop_share:
        title: Share of world population
        sources: *population-sources

@pabloarosado is right, you can use yaml anchors to DRY your yaml file, e.g.
tables:
  population:
    title: Population (Gapminder, HYDE & UN)
    description: ...
    variables:
      population:
        title: Population
        sources: &population-sources
          - name: Gapminder (v6)
            published_by: Gapminder (v6)
            url: https://www.gapminder.org/data/documentation/gd003/
            date_accessed: October 8, 2021
          - name: UN (2022)
            published_by: United Nations - Population Division (2022)
            url: https://population.un.org/wpp/Download/Standard/Population/
            date_accessed: September 10, 2022
          - name: HYDE (v3.2)
            published_by: HYDE (v3.2)
            url: https://dataportaal.pbl.nl/downloads/HYDE/
            date_accessed: October 8, 2021
      world_pop_share:
        title: Share of world population
        sources: *population-sources

Ah nice. This is not exactly the idea I had in mind but it's also good. What I thought was having:
sources:
  population_source_1:
    name: Gapminder...
  population_source_2:
    name: ...
    ...

tables:
  variables:
    population:
      sources: *sources:population_source_1 *sources:population_source_2

Or something like that (alternatively, we could also group together population_sources, to avoid repetitions). Would this be possible? I just thought that it may be clearer to specify the sources in a separate section. Otherwise your solution is good.

I am getting some issues with
# Add sources from variables (ensure sources are not duplicated)
ds.metadata.sources = [dict(ss) for ss in set(frozenset(s.items()) for s in sources)]
as the type of sources has changed from List[dict] to List[Source]

(from file etl/steps/data/garden/owid/latest/key_indicators/__init__.py)
Probably due to the implementation change from https://github.com/owid/etl/issues/486.
Working on a fix

Done, grapher step working

@lucasrodes could you please also squash your commits before merging? (choose "Squash and merge" in the button for merging)

Hi friends! It looks like this one passed review, but perhaps it didn't get executed fully, neither by Lucas or by reviewers? Afterwards, etl key_indicators failed, not because of any issue in this dataset, but because of how other steps were referencing it.
This has happened in a bunch of PRs recently, so comment is not even about this change specifically. We need CI badly for the ETL, but in the meantime, please run the step and all its downstream dependencies to confirm that it all works before approving a PR and once more before merging 🙏
Next #data-architecture chat on Thu, let's also try to work out how we can make all this more reliable.

@larsyencken Got it!
Should we then take a look at the dag files, and run etl for all datasets that depend on the one that got modified (in this case 'key indicators')?

@lucasrodes Not to worry, Pablo shipped this fix on Friday: https://github.com/owid/etl/pull/506
Mainly I just wanted to flag that we need a way of ensuring the ETL works before merging. I have a draft CI check that I'm trying out, if it works it might solve this problem.

thanks @larsyencken, happy to test when it is ready


Improve performance.

This version runs significantly better (it's the older version of the library with a few tweaks).
local Base64 = require(script.Base64)
local HmsBase64 = require(script.HmsBase64)

local function BenchmarkFunction(Library)
	return function(Profiler, String)
		Profiler.Begin("Encode")
		local New = Library.encode(String)
		Profiler.End()

		Profiler.Begin("Decode")
		local _ = Library.decode(New)
		Profiler.End()
	end
end

local CHARACTERS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`~!@#$%^&*()-_=+[{]}\\|;:'\"<,>./?"
local RandomLib = Random.new(os.clock() % 1 * 1E7)

local LENGTH = 1000

local function RandomString()
	local String = table.create(LENGTH)
	local Length = 0

	for _ = LENGTH, 0, -1 do
		local Index = math.floor(RandomLib:NextNumber() * 94)
		Length += 1
		String[Length] = string.sub(CHARACTERS, Index, Index)
	end

	return table.concat(String)
end

local String = RandomString()
assert(Base64.encode(String) == HmsBase64.encode(String))

return {
	ParameterGenerator = RandomString;

	Functions = {
		["HmsBase64"] = BenchmarkFunction(HmsBase64);
		["Base64"] = BenchmarkFunction(Base64);
	};
}

This code nets the following result:

This needs to be tested with different input sizes. I found the latest version was up to 10x faster when I tested it on large payloads (1mb+).

I got the opposite with a payload of about 1mb.

As well as 3.3mb.


DCXY-19397: Don't pre-render dropzone when l2 limit is hit and upsell …

…is shown.

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

Comparison is base (700e831) 99.44% compared to head (65541fc) 99.41%.
Report is 3 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #489      +/-   ##
==========================================
- Coverage   99.44%   99.41%   -0.03%
==========================================
  Files          26       26
  Lines        2878     2905      +27
==========================================
+ Hits         2862     2888      +26
- Misses         16       17       +1

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


Validating MCF throws EmptyDCIDFailures error

When I did a validation of my MCF, I can't quite remember the exact configuration, I got a succesful flume email that had EmptyDCIDFailures listed:

Double check to make sure that none of your dcids are empty/blank.
For my example, my script was appending "" as the dcid by accident. Make sure that your geoId, dcids are not empty. You can probably do a command + find. In my case, I had 12 empty dcids for geoIds, as the e-mail suggested. Fixing my script, fixed the issue.


Create crossed-referenced glossary

Describe what needs to be documented.
Sometimes, finding the right place in the documentation requires knowing apriori what you are looking for.
If we had a complete glossary of terms which was also heavily cross-referenced to sections where those terms are used, this could help.
For example, a user looking for halo zone related stuff might search for halo and get nothing right now. But, if we had a glossary where we had...
ghost zones: In VisIt_ ghost zones refers to zones that exist within a given domain solely for supporting computations along the boundaries of the domain. Ghost zones are never actually rendered. Ghost zones are sometimes called halo zones or invisible zones or overlap zones.
You can find material regarding ghost zones at these sections in VisIt_ documentation: 1, 5.5, 11.2.1,
Then any user using different terminology could at least arrive here, confirm whether the term matches the definition and then look at those places in the manual.

So, I started down this path. But, maybe I've got the wrong thinking cap on.
My thinking was to get a list of all the words in VisIt docs that are unusual. So, I did some processing to emit all the unique words in VisIt docs....
cd docs
find . -name '*.rst' | xargs -I'{}' -n 1 sh -c "cat '{}' | grep -v '^.*\.\. _.*' | grep -v ".png" | tr '[:upper:]' '[:lower:]' | tr ' ({[<./_-:;%+=' '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'" | tr -d ',-`"./: ; ( ) {}[]+=-_#~ & %? < > | *^@$!' | tr -d "'" | sort | uniq > words.txt

The above creates a file with about 10.5K words, one word per line. However, about 10% of these are gobbledygook from reStructuredText formatting (e.g. anchor names and image names). No matter what I tried, I wasn't able to rid these from the output.
I then found a list of common English language words and createad a .txt file of those (not easy because of the HTML in which this list was embedded). There is a danger here in that a lot of the domain-specific terminology VisIt uses may indeed involve common English words (e.g. ghost).
I then removed the common English words from the unique words from VisIt's docs using...
grep -x -v -f common-englisth-words.txt words.txt > candidate-visit-terms.txt

common-english-words.txt.gz
candidate-visit-terms.txt.gz
The next step is probably to go through the ~9.1K words in candidate-visit-terms.txt and remove the ones we don't think need to appear in a glossary. I started that and realized it would take a bit. Which is why I think I might have the wrong thinking cap on.

I made a pass over candidate-visit-terms and pared it down from 9.1K terms to about 3.1K terms. I think this list represents enough terminology to inform a decent pass at a glossary. Not all words in the file are themselves actual terms but they point to terms that should be defined.
final-candidate-visit-terms.txt

Thanks Mark! I wonder how we should attack this... is this code sprint material?

is this code sprint material?

Yes. For sure


Receiving invalid_blocks error

I am receiving error on using a response from an api call for a particular variable and then displaying response data with blocks. Error is:
Error: An API error occurred: invalid_blocks
Code used with say function:
blocks= [
        {
            type: "section",
            text: {
              type: "mrkdwn",
              text<EMAIL_ADDRESS>`,
            },
        },
        {
            type: "divider",
        },
        {
              type: "section",
              text: {
                type: "mrkdwn",
                text: ``,
              },
              accessory: {
                type: "button",
                text: {
                  type: "plain_text",
                  text: "",
                  emoji: true,
                },
                value: actionValue,
                action_id: action,
              },
            }
        ];
      await say({
            blocks: alertBlocks,
            thread_ts: threadTs,
          });

When I give different variable in the message to bot then I am receiving no error.
Is problem related to API response of particular variable or need to change code of blocks in say function.
Please help!

Hey @Mogadampalli-Jayanth, I recommend using Block Kit Builder to verify your payloads. Checking format/data errors in the UI should be much easier.

Checking a template in Block Kit Builder may be helpful to you. When a user clicks the Next 2 Results button, your Bolt app can update the message with the list in next page.


Update index.html

:star: PR built and available in a preview environment xuanzhong-node-http-pr-4 here

:star: PR built and available in a preview environment xuanzhong-node-http-pr-4 here

:star: PR built and available in a preview environment xuanzhong-node-http-pr-4 here

:star: PR built and available in a preview environment xuanzhong-node-http-pr-4 here


useSQL throws error code 14

useSQL fails with error code 14 when trying to open Firefox places.sqlite file.
Raycast version: 1.44.0
Description
When trying to open a SQLite file, it errors out with error code 14.
Steps To Reproduce
Minimum reproducible command:
import { List, showToast, Toast } from "@raycast/api";
import { Topic } from "./useStories";
import { useState } from "react";
import { useSQL } from "@raycast/utils";

export default function Command() {
  const [topic, setTopic] = useState<Topic | null>(null);
  // const [items, isLoading, error] = useStories(topic);
  const {} = useSQL(
    "/Users/cris/Library/Application Support/Firefox/Profiles/ctpx2o7a.default-release/places.sqlite",
    "SELECT\n" +
      "            id, url, title,\n" +
      "            datetime(last_visit_date / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch', 'localtime')\n" +
      "          FROM moz_places"
  );
  return <List></List>;
}

The current behavior
It errors out with error code 14.
The expected behavior
I should get a list of entries from Firefox history file.
Note that using WASM SQL approach as implemented in 3791 works.

useSQL and sql.js have very different approach.
sql.js loads the entire database in memory and then query it. It means that if the database becomes to big, your extension will crash (and it's also a lot slower). It also means that you won't get the updated results if they change while your extension is running.
On the other hand, useSQL works on the database directly. It does mean that depending on how the database is used by the application, it will be blocked (because you can only have one process accessing the database at the same time).
So I wouldn't say that it is expected that accessing an SQL database work if they don't implement WAL.
That being said, I implemented a workaround in the new version of the utils to make a copy of the database if we get an error 14 (and then query it). So it's pretty much the same as what sql.js does (with the addition of not loading it all in memory)

Hi @mathieudutour,
I still get the same error even on the latest 1.4.12, same code snippet as above.

Could you try to run sqlite3 --json --readonly "/Users/cris/Library/Application Support/Firefox/Profiles/ctpx2o7a.default-release/places.sqlite" "SELECT id from moz_places" when Firefox is opened? And when it's closed?

Hi @mathieudutour ,
When it is closed, I get a 14, when it is open I get a 5.

Hi @mathieudutour ,
1.4.13 indeed remediates the sqlite3 error, thank you.


Location Suggestion Styling

is there a reason why we dont use the whole width for the suggestionbox? if not i think we should use the whole space. it looks rather weird imho

If I remember correctly, this was done to avoid the impression that the search results replace the map and to ensure that people can still close the search results (as they're only visible while the input field is focused) on mobile. If the margins on either side are enough for this, there's no reason not to make the results wider.

I think we can safely use the whole screen for that.


Shell completions are broken when login shell is different than currently active shell

My urfave/cli version is
2.27.1
Checklist

[x] Are you running the latest v2 release? The list of releases is here.
[x] Did you check the manual for your release? The v2 manual is here
[x] Did you perform a search about this problem? Here's the GitHub guide about searching.

Dependency Management

[x] My project is using go modules.

Describe the bug
Shell completions to show are determined by looking at contents of the $SHELL environment variable, which isn't a reliable way to do this because the current login shell isn't always the current active shell.
https://github.com/urfave/cli/blob/7656c5fb838ca8a6febca43100147d317b544fd3/help.go#L153-L161
To reproduce
Here's my simple CLI app with shell completions.
Observed behavior
My shell is Zsh, and when I run:
$ fhome [tab]
config     -- Manage system configuration
event      -- Manage events
help    h  -- Shows a list of commands or help for one command
object  o  -- Manage objects

but when I run Bash first and then trigger completions, my CLI tools still outputs Zsh-style completions:
$ bash
bash-5.2$ fhome
a              commands       configuration  events         h:Shows        help:Shows     o:Manage       objects        one            system
command        config:Manage  event:Manage   for            help           list           object:Manage  of             or

Expected behavior
I expect shell completion to work for the current active shell, so this bug won't happen.
Additional context

Maybe we can take a look at how Cobra does it.
This also occurs in v3 alpha, please add appropriate labels

Want to fix this yourself?
Sure!
Run go version and paste its output here
$ go version
go version go1.22.2 darwin/arm64

Run go env and paste its output here
$ go env
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/bartek/Library/Caches/go-build'
GOENV='/Users/bartek/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/bartek/.cache/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/bartek/.cache/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/opt/homebrew/Cellar/go/1.22.2/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/opt/homebrew/Cellar/go/1.22.2/libexec/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.22.2'
GCCGO='gccgo'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/Users/bartek/projects/fhome/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/r6/5z0bypqn4cb8p369zlrfhw3c0000gn/T/go-build3283617553=/tmp/go-build -gno-record-gcc-switches -fno-common'

This is not actually fixed since the fix introduced a regression and had to be reverted in #1997.


fixing typo in the meshery-metrics page

Notes for Reviewers

This PR fixes #12991

Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit 10119ccc56c7911452108a4c7c5dbf57b342b252 at: https://676a9f8883893ab9fea2bcd6--meshery-docs-preview.netlify.app

@lhajouji try to include all typo fix in single pr it makes hard to get all small prs to manage

@sudhanshutech of course ! But i've seen that some PR has been merged.
Do you confirm that all the remaining should be merged in one ?

@sudhanshutech of course ! But i've seen that some PR has been merged. Do you confirm that all the remaining should be merged in one ?

yes move them to one

@sudhanshutech of course ! But i've seen that some PR has been merged. Do you confirm that all the remaining should be merged in one ?

yes move them to one

Here you go , All Remaining typo fixes merged into one PR #13000


Is : a valid delimiter for the path parameter?

Dear OpenAPI specification experts,
I have a question regarding "path pattern" and "path parameters". The questionis whether this path pattern /somePath/{param1}:{param2} is valid.
Let's split the whole "path pattern" (/somePath/{param1}:{param2}) into multiple parts with /, so the original "path pattern" contains two parts:

/somePath
/{param1}:{param2}

Usually, every part contains one parameter like this example /cars/{carId}/drivers/{driverId}, where the {carId} and {driverId} are located in different parts. However, /{param1}:{param2} contains two parameters connected with a delimiter :.
This doc shows how style keyword is related to the delimiters, which does not tell that : is a valid delimiter.
As : is not mentioned as one of the supported delimiters, I would assume, my example is an invalid "path pattern".
Could you please share your opinion and maybe point out some docs that I might miss.
Thank you very much in advance.
Best regards,
Junjie

The only delimiters in a URL path are /, ?, & and #. The : character here doesn't function as a delimiter between path segments, nor, as it is not within a path parameter, does it act as part of the name of a parameter, or a delimiter for the purposes of the style keyword.
It is valid to have multiple in: path parameters within one URL path segment, but they may not 'cross' a path segment boundary, by containing an unescaped / character.
Please feel free to update this issue if you think the spec. or examples subdirectory should be updated to make this clearer.

Hi @MikeRalphson ,
thanks for your quick response.
For me, it seems the path /somePath/{param1}:{param2} is valid, if both parameter param1 and param2 are defined like:
        "parameters": [
          {
            "name": "param1",
            "in": "path",
            ...
          },
          {
            "name": "param2",
            "in": "path",
            ...
          }]

Could you please confirm?
Of course, similar question would be whether the path pattern below are valid:

/somePath/{param1}-{param2}
/somePath/{param1}={param2}
/somePath/{param1}.{param2}
other variants with special characters

Best reagards,
Junjie

Yes, you need to define both in: path parameters to match the path templated items. Each in: path parameter must have required: true.
All of your other examples are valid.
I'm not sure what you mean by "special characters" though. ? and # cannot appear unescaped in a path key, % introduces a hex-coded character... were you thinking of these or some other characters?

@MikeRalphson ,
For the "special characters", in addition to the ones mentioned (?, # and %), please fine more examples below, where (, ), ', &, $ are used:

/somePath/({param})
/somePath/'{param1}'
/somePath/{param1}&{param2}
/somePath/{param1}${param2}

Best regards,
Junjie


Generate external and has_submenu automatically after the menu definition in view.py

They are derivable from url and from submenu respectively

has_submenu is 0ed4039c.
external is not done and actually external links in menu are not showing.

d8d6e3dc.


[engsys] update dev dependency rollup-plugin-visualizer

@witemple-msft Assigning this to you to pick up as part of #17807

Closing in favor of bot-auto-filed issue #19239


PR: bower dist does not exists

HI,
We tried to follow the GuideLine to create a PR.
After commiting, we tried the "bower dist" command as described in the guideline.
The problem is, this command does not work and does not seem to exists :/
The permitted commands of bower are :+1:
cache                   Manage bower cache
help                    Display help information about Bower
home                    Opens a package homepage into your favorite browser
info                    Info of a particular package
init                    Interactively create a bower.json file
install                 Install a package locally
link                    Symlink a package folder
list                    List local packages - and possible updates
lookup                  Look up a package URL by name
prune                   Removes local extraneous packages
register                Register a package
search                  Search for a package by name
update                  Update a local package
uninstall               Remove a local package
version                 Bump a package version

Could you provide some help please?

It's gulp dist, not bower. But anyway, I should remove this line as the dist folder must not be committed. It's better if you test the dist version before making a PR, but it's not in the repo, only in the releases.

Oh yeah get it thank you

Ok thanks :)
We needed to test the gulp dist before the PR as we are also modifying (adding something to) the demo pages.

Well, it's a hard path to the PR ! ^^
We have an "access denied" when we try to push :/

You try to push directly to this repo ? The way a PR works is this one:

Fork the repo on your account
Do your work
Push on your own Lumx repo
On your branch (that might be the master of your Lumx repo if you want), click on "Pull request" (here : http://i.imgur.com/PFAg09M.png)
Keep in mind that you have to make the PR regarding our master ;)

If you still have problem, maybe the Github documentation will be more helpful (here to fork, here to PR).

Thank you for your help my pull request is ready for the review now


Uncaught ReferenceError: require is not defined

Hi I'm using AngularJS and get this error
fbutil.js:7Uncaught ReferenceError: require is not defined
I've included Firebase 3 and angular fire Like this below.
Should I include something else too? And if there's min.js can you provide link for it?
<script src="https://www.gstatic.com/firebasejs/3.3.0/firebase.js"></script>
<script>
  // Initialize Firebase
  var config = {
------------------------------------------------------
  };
  firebase.initializeApp(config);
</script>
<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/2.0.2/angularfire.min.js"></script>
<script src="lib/firebase-util-master/src/fbutil.js"></script>

Hi
You must include the dist file, not the source one. There is not dist files in master branch, you must use a released version, either installing it with bower or downloading it from releases. Once downloaded you can add the minified version inside dist folder.


Updating README with information on Contributions

Updated the README.md file
Updated LICENSE
Did an audit fix

May be also add "Commits should be verified" to the Contributions.md


WIP: snapshots should report restore size instead of actual size

TODO: Update ibmcloud-volume-vpc module after library change is merged: https://github.com/IBM/ibmcloud-volume-vpc/pull/62

Coverage decreased (-0.0%) to 84.439% when pulling fd6cc6b066fdd3ec032a9f9065c4e381dcaf845c on RomanBednar:snapshot-pvc-size-mismatch into 1a6b9b5a5413e05568defda471585929443d8fda on kubernetes-sigs:master.

Thank you @RomanBednar  for this PR. Could you raise the code change hereOnce a release is done , code change will be picked up here after proper dependency update in go.mod file.

@ambiknai I intended to use this PR as a placeholder for go.mod update, or do you prefer to do it in scope of some periodic driver update perhaps?
I see the lib change is now merged, thank you.

@RomanBednar  I can update go.mod as a part of this PR as I have to update dependencies for ibm-csi-common, ibmcloud-volume-vpc (for snapshot size fix that you delivered).


DEVOPS-452: Update pacakge with python-conda-template

DEVOPS-452 - apply latest version of python template repos to all repos

Use reusable github workflows
Use MiraGeoscience/pre-commit-hooks package in .pre-commit-hooks.yml
Update pre-commit-hooks version:

ruff-pre-commit : v0.5.5
mirrors-mypy: v10.0.0 -> v1.10.1
Mirageoscience/pre-commit-hooks: v1.0.0
codespell: v2.2.6 -> v2.3.0
rstcheck: v6.2.0 -> v6.2.4

Ruff find some issues in pre-commit. Someone from the python team, could correct them?


[incubator/patroni] Remove helm.sh/created annotations

This is a split-off of PR #425 to just contain the chart 'incubator/patroni'.

@k8s-bot ok to test


Convert cloud catalog filter section to sistent

Notes for Reviewers
This PR fixes #
Signed commits

[x] Yes, I signed my commits.

@aabidsofi19 @sudhanshutech Now this catalog filter is useful for the catalog modal for the open catalog modal.

please use theme tokens . this is not compatible with darkmode


makeSignDoc is not being imported in the CLI package

I tried to run the CLI however when I type the command makeSignDoc, I got:
node_modules/@cosmjs/cli/[eval].ts:19:17 - error TS2304: Cannot find name 'makeSignDoc'.

I also came across the other day when trying to use makeSignDoc in one of our projects.

What version are you using? makeSignDoc was just created recently as part of the (unreleased) CosmJS 0.23. Current stable (0.22.x) does not have it.
It should be available in 0.23.0-alpha.1on npm and current master of the repo.

0.23.0 is released now as the latest stable version. Looking at your thumbs up, I assume the problem is solved. Feel free to re-open if that is not the case.


Crashing when trying distributed implementation

Hi, I start saying that I'm a new Tensorflow user :-)
I was trying to test the potential speed-up due to a distributed implementation vs. a sequential one, so I came up with the following:

A script sequentially computing matmul of two matrices with themselves and then adding them up
A script that distributes the two computations to different devices and then sum them up in a third device

The problem is the following: if I run the code below with matrices' dimensions of 100x100, it works. If I run the same with dimensions 1000x1000, the following error occurs:

tensorflow.python.framework.errors_impl.InternalError: {"created":"@1490890419.097000000","description":"RST_STREAM","file":"C:\tf_jenkins\home\workspace\release-win\DEVICE\cpu\OS\windows\cmake_build\grpc\src\grpc\src\core\ext\transport\chttp2\transport\frame_rst_stream.c","file_line":107,"http2_error":1}

I can't figure it out, so any help would be appreciated...
Here is the distributed code (after 3 local Servers have been created):
import tensorflow as tf
import time

cluster = tf.train.ClusterSpec({"local": ["localhost:2222", "localhost:2223", "localhost:2224"]})

with tf.device("/job:local/task:1"):
    print('task 1')
    x1 = tf.Variable(tf.zeros([1000,1000])+10, dtype=tf.float32, name=None)
    _matmul_1 = tf.matmul(x1,x1)

with tf.device("/job:local/task:0"):
    print('task 0')
    x0 = tf.Variable(tf.zeros([1000,1000])+10, dtype=tf.float32, name=None)
    _matmul_0 = tf.matmul(x0, x0)

with tf.device("/job:local/task:2"):
    print('task 2')
    _matmul_ = tf.add(_matmul_0,_matmul_1)

time4 = time.clock()
sess = tf.Session("grpc://localhost:2222")
print('session')
init = tf.global_variables_initializer()
sess.run(init)
print(sess.run(_matmul_))
time5 = time.clock()
print(time5-time4)

Since this is your custom code, it is much more likely a stackoverflow question. Start by using some of our example distributed code
https://www.tensorflow.org/deploy/distributed
to make sure the basics are working as they should be.

I apologize but I am having a hard time understanding what the problem is, where the problem is, and what version it affects. Please resubmit and pay attention to the issue template (https://github.com/tensorflow/tensorflow/issues/new) . Please provide all the information it asks. Thank you.


Warnings in docs build

@medplum/docs:build: Component BrowserOnlyTabs was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component BrowserOnlyTabs was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component BrowserOnlyTabs was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component BrowserOnlyTabs was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope
@medplum/docs:build: Component TabItem was not imported, exported, or provided by MDXProvider as global scope

I just noticed this too

Fixed in https://github.com/medplum/medplum/pull/3072


Not available the setOnProgressListener

Hi, thank you for your good library.
I'm having a problem, I added AudioWaveView and working properly, but unfortunately, setOnProgressListener is not found for me.
In fact, this interface does not exist. Please check and correct. Thank .

Hey @okabbas, thanks for your reply, let me please check if the sample activity still works.
Whilst you may want to try to Clean+Build and check whether the issue persists or not.

Hello . The sample project does not work for me.
I also did the Clean + ReBuild operation, but still the problem is going wrong and I get the error below.

Error:(145, 37) Unresolved reference: setOnProgressListener

my code
        holder.itemView.wave_voice.setOnProgressListener(object : OnProgressListener {
            override fun onStartTracking(progress: Float) {
                //
            }
            override fun onStopTracking(progress: Float) {
                //
            }
            override fun onProgressChanged(progress: Float, byUser: Boolean) {
                //
            }
        });

        Observable.fromCallable {
            filebyte = getFileByte(context, voice.file)
        }.observeOn(Schedulers.newThread()).subscribeOn(AndroidSchedulers.mainThread())
                .subscribe {
                    holder.itemView.wave_voice.setRawData(filebyte)
                    holder.itemView.wave_voice.scaledData = filebyte
                }

I checked your code and found that the setOnProgressListener interface did not exist at all.

@okabbas woah, that's really odd, since the repository shows it's presence, give me just a bit of time, I need to update the dependencies, since I haven't touched this in a while

@okabbas you're trying to use Java API here, you see, with kotlin you need to use properties like this:
    wave.onProgressListener = object : OnProgressListener {
      override fun onProgressChanged(progress: Float, byUser: Boolean) {
        TODO()
      }

      override fun onStartTracking(progress: Float) {
        TODO()
      }

      override fun onStopTracking(progress: Float) {
        TODO()
      }
    }

@okabbas or there are some properties for your convenience, check those out:
    wave.onStopTracking = {
      Log.e("wave", "Progress set: $it")
    }

    wave.onStartTracking = {
      Log.e("wave", "Started tracking from: $it")
    }

    wave.onProgressChanged = {progress, byUser ->
      Log.e("wave", "Progress set: $progress, and it's $byUser that user did this")
    }

Oh my God :) It did
I did not know that. Thank you so much
Please add this code in readme file For people who might make me wrong.
Thanks for your quick response and good support

@okabbas glad to help, and I'm closing this issue since the problem's solved. Gonna update the readme in a few minutes.


Update README.md

fixed typo from '4' to '2'

Pushed commit d15a83182202fc16bd8acdd7ccb3acc8b143509c. Thanks!
Commit hash is different since I renamed it for better log viewing.


amd64 version can not read config file

Hello! I downloaded the flydav-app-windows-amd64.zip version and used the command line flydav.exe -config D:\FlyDav\flydav.toml to start with the configuration file, but the default configuration is still used. How should I write it?

        两个----- On Thu, 2023-02-16 14:57:46<EMAIL_ADDRESS>wrote ----

你好！我下载了 flydav-app-windows-amd64.zip 版本，使用命令行 flydav.exe -config D:FlyDavlydav.toml 带配置文件启动，但还是用默认配置，请问怎么写才对？
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

@maxkimkim Windows
The ”\“ in the path under Windows needs to be escape,So If the configuration cannot be analyzed correctly, the default settings will be used
for example
[server]
host = "<IP_ADDRESS>"
port = 7086
path = ""
fs_dir = "C:\\berrybrew"

But the UI path in the configuration cannot be processed correctly，There is no problem under Linux，This requires @Pluveto to handle
[ui]
enabled = true
path = "/ui"
source = "F:\\soft\\flydav\\ui"

It have been solved.
Thank you very much!
hhs66317 @.***> 于2023年2月16日周四 15:47写道：

@maxkimkim https://github.com/maxkimkim Windows
The ”\“ in the path under Windows needs to be escape,So If the
configuration cannot be analyzed correctly, the default settings will be
used
for example
[server]
host = "<IP_ADDRESS>"
port = 7086
path = ""
fs_dir = "C:\berrybrew"
But the UI path in the configuration cannot be processed correctly，There
is no problem under Linux，This requires @pluveto
https://github.com/pluveto to handle
[ui]
enabled = true
path = "/ui"
source = "F:\soft\flydav\ui"
—
Reply to this email directly, view it on GitHub
https://github.com/pluveto/flydav/issues/9#issuecomment-1432656335, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACORDIMMEQQQ2IBB3X5BIMTWXXLRTANCNFSM6AAAAAAU5YRPZI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Remove causal masks cache

Looks good to me, I cannot reproduce the problem on this PR.
For context - I observed that memory was not being fully freed in inference, so a long request might take up a bunch of memory and not properly release it, even when shorter requests come through. This fixes that -- thanks @EricLBuehler!

@gregszumel thank you for confirming!


feat: APPLICS-188 Welsh translation - Document store dynamic data

Describe your changes
https://pins-ds.atlassian.net/browse/APPLICS-188?atlOrigin=eyJpIjoiMjQzZWM1NzEwNDc2NGJhNWI2NzU5MzM2ZWZkOTFjYmIiLCJwIjoiaiJ9
Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[ ] I have double checked this work does not include any hardcoded secrets or passwords
[ ] I have made corresponding changes to the documentation
[ ] I have provided details on how I have tested my code
[ ] I have referenced the ticket number above
[ ] I have provided a description of the ticket
[ ] I have included unit tests to cover any testable code changes

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

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

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


docs/troubleshooting.md should document how to watch the logs

docs/troubleshooting.md now says:
Self-help instructions

In LSP Settings enable the log_debug setting and log_payloads if needed. Restart Sublime and watch the logs as you reproduce the problem.

This lacks the crucial information: How do I "watch the logs"?

from ST's console.

I see. Thanks. It would be really helpful if that was mentioned in troubleshooting.md.


Reformat code and make it runnable

Add all requirements to requirements.txt
Format with Black
Fix enough code to be able to run one task: python3 main.py --model gpt2 --model_args device=cuda:0 --tasks boolq --provide_description --num_fewshot 1

I have my IDE configured to autoformat Python files on save, so I decided to do the reformatting all at once. This way, I won't be randomly reformatting files as I edit them
Happy to undo the reformatting if you think it will be too big of a hassle


Supporting dynamicMemberLookup

Swift4.2 has the following feature.
https://github.com/apple/swift-evolution/blob/master/proposals/0195-dynamic-member-lookup.md
It enables us to implement a property dynamically.
@dynamicMemberLookup
struct Foo {
       public subscript(dynamicMember member: String) -> String {
           return member
       }
}

let foo = Foo()
foo.method // -> "method"

If XML.Accessor has the feature, we can access XML elements with a dynamic property.
let str = """
<ResultSet>
    <Result>
        <Hit index=\"1\">
            <Name>Item1</Name>
        </Hit>
        <Hit index=\"2\">
            <Name>Item2</Name>
        </Hit>
    </Result>
</ResultSet>
"""

let xml = try! XML.parse(str)
if let text = xml.ResultSet.Result.Hit[0].Name.text {
    print(text) // -> "Item1"
}

https://github.com/yahoojapan/SwiftyXMLParser/pull/18

Branch for Swift 4.2 : https://github.com/yahoojapan/SwiftyXMLParser/tree/swift4.2
I will merge it to master branch after Xcode10 GM is launched.


Node MCU Upload Problems

Hello,
I was working on the project today, and I got init.lua loaded to the NodeMCU, but I cannot get it to upload the .MONO and weatherStation.lua files. It prints out,
PANIC: unprotected error in call to Lua API (cannot open weatherstation.lc)
PANIC: unprotected error in call to Lua API (attempt to call a string value)
And when I try to upload the .MONO and weatherStation.lua files, it says
Waiting answer from ESP - Timeout reached. Command aborted
Can anyone help? (I am running firmware v0.9.5)
Thanks, Samuel

Same is the problem with my code. It prints out:
unprotected error in call to Lua API (cannot open adxl345.lua)
If anyone can help me it will be really beneficial for me.
Thankyou , Ishan


Where can I find il2cpp executable and libs to start reverse engineering it for helping this project ?

For Windows games, the two IL2Cpp files are GameAssembly.dll and global-metadata.dat.

@ds5678
How to reverse GameAssembly.dll?
Please share with me.

It should be next to the exe.


Validate incoming entries

They should be:

Valid in_toto Link files
With a valid signature

In order to check the signature is valid, we'll first have to figure out a way to find the public key. We could require the user to attach that to the request as well, or just skip signature validation.

Valid in_toto Link files

We should think about how we can make this pluggable whenever we can, along the lines of the whole fomatgility that we chatted about.

In order to check the signature is valid, we'll first have to figure out a way to find the public key. We could require the user to attach that to the request as well, or just skip signature validation.

I reckon we can attach to the request for now just as a makeshift approach until we work out what key server / PKI implementation we can use.

Some more on this:
Implement some basic checks, all configurable in rekor-config.yaml

max_size # stop people bombing the server with large files (this may already be natively handled)

allowed_file_formats # this way we can limit to just text/plain, perhaps use http.DetectContentType

format_type # e.g. in-toto - this can be used for the specific validation. I am seeing this as almost a plugin type framework, so users can integrate their own provenance formats and logic (check for sig etc).

I think we can close this now @dlorenc ?


Android app will not display at 180 degrees orientation (upside-down)

Describe the bug
The Bluesky app on Android will not display at 180 degrees rotation if I turn my screen upside-down. It remains at 0 degrees rotation. I prefer to use my tablet upside-down because having the charging port on top is more convenient. No other app on my device has this problem.
To Reproduce
Steps to reproduce the behavior:

Open Bluesky for Android
Turn the device upside-down

Expected behavior
Bluesky should display at 180 degrees rotation. Instead, it will not rotate its display and appears upside-down.
Details

Platform: Android 10 for Samsung Galaxy Tab A (also occurs on my Google Pixel 5 with Android 13)
Platform version: Android 10
App version: 1.56.0

On further investigation, Android apps generally will not display at 180 degrees on my phone, but they will on my tablet.


BUG: Fixing Sidebar on mobile & tablet viewpoints (enhance User experiences)

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
the sidebar is not proper on mobile  & tablet view which can create bad user experience
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@subhadeeproy3902 assign me this i want to create a better user experience  on mobile & tablet view

Send an ss of the issue @Vaibhavsg17

@subhadeeproy3902

ok @Vaibhavsg17 u can fix this ...

And do read Contributing.md


Fix/hang on close

don't merge yet, still creating test

Works great in my testing. Will merge (and rebase it below the mtu tweak)


[v2.6] Back-Port #39300: Ensure ProvV2 indexers are registered for all replicas

Issue: https://github.com/rancher/rancher/issues/39300
This is a back port of https://github.com/rancher/rancher/pull/39622. More detailed description and testing steps can be found in the original PR.

https://github.com/rancher/rancher/issues/39717

Hi Team,
The issue arises while creating the credentials in VMware7.0 in the customer environment. I hope this fix will also address the creation of credentials use cases. (Rancher version 2.6.8, Vmware 7.0)
When creating a new cloud credential for vSphere, we get the error "Index with name by-cloud-cred does not exist" in the GUI. The user still gets created, but the name is a random cc-XXXX name, and the name is in the API key.


Saving to a symlinked file overwrites the link

Lapce Version
nightly-eaa1b57 (lapce-nightly-bin AUR package)
System information
Arch Linux, x64
Describe the bug
Saving a file that is a symlink to a different file overwrites the file and removes the symlink (and thus does not update the linked-to file).
Intended behaviour is to preserve/follow the link and update the original file.
Additional information

Created test files:

Edited in Lapce:

bar is no longer a link:

lapce-proxy should probably only accept canonicalized strings. Think its possible with a little bit of newtype. Can be extended to be an URN later.


captive portal examples don't work

I've been trying to get the Captive Portal to work, but without success so far. I run a DNS server that redirects everything to the AP IP, and a webserver that responds to all requests with code 200 and some text. These both work fine; I can connect to the AP and browse to any random URL and get the message.
What would be required to get it to work, I believe, is an implementation of DHCP option 114 which allows setting a captive portal URL. At the moment I can't find any way to change the dhcps options when using the Arduino libs, since the esp_netifs are private to WiFiGeneric.cpp:
static esp_netif_t *esp_netifs[ESP_IF_MAX] = {NULL, NULL, NULL};

esp_netif_t *get_esp_interface_netif(esp_interface_t interface) {
  if (interface < ESP_IF_MAX) {
    return esp_netifs[interface];
  }
  return NULL;
}

You need the handle to the netif to change the dhcps options with esp_netif_dhcps_option().

Not an issues from build system.


RHCLOUD-21655: k8sCreate (POST) API behavior deviation from K8s server

See https://issues.redhat.com/browse/RHCLOUD-21655

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.03 :tada:

Comparison is base (1b0781f) 40.02% compared to head (7b419e0) 40.05%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #224      +/-   ##
==========================================
+ Coverage   40.02%   40.05%   +0.03%
==========================================
  Files          69       69
  Lines        1684     1685       +1
  Branches      361      361
==========================================
+ Hits          674      675       +1
  Misses        976      976
  Partials       34       34

Impacted Files
Coverage Δ

packages/lib-utils/src/k8s/k8s-resource.ts
28.57% <100.00%> (+1.74%)
:arrow_up:

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

/lgtm

/retest

Trying one more time to see if gateway timeouts resolve

/retest


Change insights tool used in storefront

Change from "Matomo" to "Azure application insights" for insights

We don't actually have an insight tool at the moment, even worse. 😬

We don't actually have an insight tool at the moment, even worse. 😬

Storefront is deprecated


undefined method 'configure' for Amber::Server:Class

Description
Application generated by amber n doesn't compile.
Steps to Reproduce
$ amber new -d sqlite first-amber-web
...
$ cd first-amber-web
$ crystal deps
...
$ amber watch
🤖  Your SentryBot is vigilant. beep-boop...
🤖  watching file: ./src/first-amber-web.cr
🤖  watching file: ./src/controllers/application_controller.cr
🤖  watching file: ./src/controllers/home_controller.cr
🤖  watching file: ./src/controllers/static_controller.cr
🤖  watching file: ./config/routes.cr
🤖  watching file: ./config/application.cr
🤖  watching file: ./src/views/layouts/application.slang
🤖  watching file: ./src/views/layouts/_nav.slang
🤖  watching file: ./src/views/home/index.slang
🤖  compiling first-amber-web...
Error in src/first-amber-web.cr:2: while requiring "../config/*"

require "../config/*"
^

in config/application.cr:3: undefined method 'configure' for Amber::Server:Class

Amber::Server.configure do |setting|
              ^~~~~~~~~

🤖  Compile time errors detected. SentryBot shutting down...

Expected behavior: The application compiles and runs
Actual behavior: Compilation fails
Reproduces how often: 100%
Versions
$ amber --version
Amber CMD (ambercr.io) - v0.2.1
$ crystal --version
Crystal 0.23.1 [e2a1389] (2017-07-13) LLVM 3.8.1

on Linux, distribution Debian Stretch

Update: I saw https://github.com/amber-crystal/amber/commit/b43713f80f58865d7878bd570740c4b1d2bac8e0 ,
changed Amber::Server.configure "back" to Amber::Server.instance.config
and Amber::Server.start to Amber::Server.instance.run
and now the application compiles and runs.

Please update to amber 0.2.2 since configure is reflected in those changes.
See release https://github.com/amber-crystal/amber/releases/tag/v0.2.2
To update brew upgrade amber-crystal/amber/amber

@igneus can we close this ticket?

Updated, project generated by amber new compiles. Thanks.


Does not clean up all expected files when first time run NetCoreBeauty

it sometimes happens when viewing target publish directory during publishing and unfortunately we cannot do anything about this.

it sometimes happens when viewing target publish directory during publishing and unfortunately we cannot do anything about this.


Great info about node.js class instances

https://github.com/nodejs/help/issues/597
Need to think about how this relates to what I'm doing here …

More: https://stackoverflow.com/questions/45296052/whats-the-purpose-of-new-in-module-exports
I think the gist of it is, the best way of doing this is to allow end user the option to new the module as they see fit.


Add badges and docs

Pull Request Test Coverage Report for Build 135

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.254%

Totals

Change from base Build 127:
0.0%

Covered Lines:
819

Relevant Lines:
928

💛  - Coveralls

Pull Request Test Coverage Report for Build 129

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.254%

Totals

Change from base Build 127:
0.0%

Covered Lines:
819

Relevant Lines:
928

💛  - Coveralls


feat: add support for Docker

Easy to deploy to cloud and local server through Docker

sorry, this is my first time making an external pull request, what do i need to comment?

你可以合并我的分支透过merge pull request button 😉

先合并提交比较早的同学了哈


symlink path is not cleaned up from .volumes after PVC delete

Describe the bug
After Installing CSI , create a pvc and delete the PVC. Check the driver logs for the same volume and check for the errors and check on .volume path if fileset is present or not
How to Reproduce?
Please list the steps to help development teams reproduce the behavior

Install CSI (2.9.0 latest dev (17 Feb 2023))

[root@saurabh-csi-master Independent]# oc get pods
NAME                                                  READY   STATUS    RESTARTS       AGE
ibm-spectrum-scale-csi-5xd9n                          3/3     Running   0              6m24s
ibm-spectrum-scale-csi-attacher-5885c459cb-75bsf      1/1     Running   0              6m29s
ibm-spectrum-scale-csi-attacher-5885c459cb-tfdd2      1/1     Running   0              6m29s
ibm-spectrum-scale-csi-operator-9f787df8c-q9xqg       1/1     Running   0              6m56s
ibm-spectrum-scale-csi-provisioner-6b69d67cff-6lm9s   1/1     Running   1 (4m4s ago)   6m29s
ibm-spectrum-scale-csi-qz9g5                          3/3     Running   0              6m24s
ibm-spectrum-scale-csi-resizer-6cc9f547d-2kfcm        1/1     Running   0              6m29s
ibm-spectrum-scale-csi-snapshotter-6cf9b7d69b-c2bh6   1/1     Running   0              6m29s
[root@saurabh-csi-master Independent]# oc get cso
NAME                     VERSION   SUCCESS
ibm-spectrum-scale-csi   2.9.0     True

Create Storage class with following specs

[root@saurabh-csi-master Independent]# cat sc.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
   name: ibm-spectrum-scale-csi-fileset-independent
provisioner: spectrumscale.csi.ibm.com
parameters:
    volBackendFs: "fs1"
    inodeLimit: "1024"
reclaimPolicy: Delete

Create PVC with following specs

[root@saurabh-csi-master Independent]# cat pvc_independent_1.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: scale-fset-independent-pvc-1
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: ibm-spectrum-scale-csi-fileset-independent

  [root@saurabh-csi-master Independent]# oc get pvc
NAME                           STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                                 AGE
scale-fset-independent-pvc-1   Bound    pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126   1Gi        RWX            ibm-spectrum-scale-csi-fileset-independent   5m49s

Delete the PVC

[root@saurabh-csi-master Independent]# oc delete pvc scale-fset-independent-pvc-1
persistentvolumeclaim "scale-fset-independent-pvc-1" deleted
[root@saurabh-csi-master Independent]#

Check the driver logs

E0220 16:04:28.783350       1 rest_v2.go:137] [29fc31dc-85d1-445c-b01f-7efea02f19c7] Async Job failed: {{200 The request finished successfully.} [{{[unlink '/ibm/fs1/ibm/fs1/spectrum-scale-csi-volume-store-10/.volumes/pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126' ] [] 8 [EFSSG2006C The path /ibm/fs1/ibm/fs1/spectrum-scale-csi-volume-store-10/.volumes/pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126 does not exist or is not a symbolic link.] []} {DELETE /scalemgmt/v2/filesystems/fs1/symlink/ibm%2Ffs1%2Fspectrum-scale-csi-volume-store-10%2F.volumes%2Fpvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126 map[]}<PHONE_NUMBER>825 2023-02-20 08:04:26,742 2023-02-20 08:04:27,026 FAILED}]}
E0220 16:04:28.783416       1 rest_v2.go:89] [29fc31dc-85d1-445c-b01f-7efea02f19c7] error in waiting for job completion<PHONE_NUMBER>825, [EFSSG2006C The path /ibm/fs1/ibm/fs1/spectrum-scale-csi-volume-store-10/.volumes/pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126 does not exist or is not a symbolic link.]
I0220 16:04:28.783437       1 rest_v2.go:1194] [29fc31dc-85d1-445c-b01f-7efea02f19c7] Since slink ibm%2Ffs1%2Fspectrum-scale-csi-volume-store-10%2F.volumes%2Fpvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126 was already deleted, so returning success

Check the .volume path if it is present or not

[root@saurabh-csi-worker-2 .volumes]# ls -ltra /ibm/fs1/spectrum-scale-csi-volume-store-10/.volumes/pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126
lrwxrwxrwx 1 root root 95 Feb 20 08:02 /ibm/fs1/spectrum-scale-csi-volume-store-10/.volumes/pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126 -> /ibm/fs1/pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126/pvc-be1ffccf-f6cb-4e01-a70d-92ac6bc49126-data

Images :
    Driver:         quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-driver:v2.9.0-170223
    Operator:         quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-operator:v2.9.0-170223

Expected behavior
Fileset should be deleted once the pvc is deleted.

we are still seeing this issue with below images where symlink stays there
quay.io/ibm-spectrum-scale-dev/ibm-spectrum-scale-csi-driver:v2.9.0-020323
[root@multiguitest-scalegui-1 fs1]# ls -ltr primary-fileset-remote-multiguitest-fs1-3040740605612183760/.volumes/
total 2
lrwxrwxrwx. 1 root root 115 Mar  2 09:24 pvc-5625f8cc-42fb-46da-92f4-c6c68ed3ada9 -> /mnt/remote-multiguitest-fs1/pvc-5625f8cc-42fb-46da-92f4-c6c68ed3ada9/pvc-5625f8cc-42fb-46da-92f4-c6c68ed3ada9-data
lrwxrwxrwx. 1 root root 115 Mar  2 09:25 pvc-ee093b4e-0a05-461f-8ab5-85b19a8014d3 -> /mnt/remote-multiguitest-fs1/pvc-ee093b4e-0a05-461f-8ab5-85b19a8014d3/pvc-ee093b4e-0a05-461f-8ab5-85b19a8014d3-data
lrwxrwxrwx. 1 root root 115 Mar  2 09:27 pvc-c40f8dd5-b8a0-4953-bde2-d51de5e4a7d7 -> /mnt/remote-multiguitest-fs1/pvc-c40f8dd5-b8a0-4953-bde2-d51de5e4a7d7/pvc-c40f8dd5-b8a0-4953-bde2-d51de5e4a7d7-data

Logs has been copied in :

For all 3 volumes above I see this error in logs:
I0302 17:27:45.630777       1 controllerserver.go:1492] [ab2c87fb-ff87-4004-b514-d434b34c054a] fileset seems already deleted - unable to list snapshots for fileset pvc-c40f8dd5-b8a0-4953-bde2-d51de5e4a7d7. Error [remote call completed with error [400 Bad Request]. Error in response [&{[] {400 Invalid value in 'filesetName'} {}}]]

Were the filesets deleted manually or by some other process? Please check if this gets recreated again in a clean environment. As of now we don't cleanup symlinks if filesets are deleted manually or by other process than the volume delete.

Sure Let me check if there is anything happening on automation side.

While we are debugging how the fileset is getting deleted before CSI driver deletes it, we should still fix the symlink cleanup if fileset does not exists on the cluster.

Cleanup of symlinks when deletion of fileset manually or by another process is rare case scenario which CSI driver doesn't handle as of now and I believe it is there since the beginning. While we check if cleanup makes more sense in this scenario, please open another issue/enhancement for that.

Make sense.


Update messagetimer.py

I see no reason to remove the convention listed here in PEP8: Maximum Line Length - PEP8