Layout component style issue.

Version
0.6.15
Environment
System: windows 7, Browser:Chrome 65.0.3325.162, ng-zorro: 0.6.15, angular-core: 5.20, angular-cli: 1.7.3
Reproduction link
https://stackblitz.com/edit/ng-zorro-antd-setup-7aztxq?file=app%2Fapp.component.html
Steps to reproduce

 ...

        Navigation Two

        Option 5
        Option 6

          Submenu

            Option 7
            Option 8
            ...20 nz-menu-item...

...

## What is expected?

If the secondary nz-menu-item has long items, the default trigger button can fixed in client bottom.

## What is actually happening?

The default trigger button can not fixed in client bottom, it will follow the scroll bar to scroll.

## Other?

a known issue because of the design of antd 2.x, you can fixed it by your css define or upgrade to 0.7.x version.


  These images are in the repository because I didn't know that cloning the repository also copies git's objects corresponding to files in non-master branches.
As @rawaludin suggested in #5, it would be better to move those images to another place.

I've deleted images from the repository by replacing the links to GIF images in README.md with the links to the above images in this issue.  Now, gh-pages branch doesn't exist, and cloning the repository must be much lighter than before!

I've deleted images from the repository by replacing the links to GIF images in README.md with the links to the above images in this issue.  Now, gh-pages branch doesn't exist, and cloning the repository must be much lighter than before!


Running stuff in /vagrant is slow (and NFS could make it faster)

We recommend at http://docs.clusterhq.com/en/latest/gettinginvolved/contributing.html that people use Vagrant and tox.
Running tox -e sphinx took over 5 minutes on my Vagrant box, even with many requirements "already satisfied":
real	5m3.064s
user	0m14.197s
sys	1m8.590s

Running tox -e sphinx was reasonable without Vagrant:
first time:
real	0m45.671s
user	0m29.185s
sys	0m9.195s

second time, with requirements "already satisfied":
real	0m9.530s
user	0m5.914s
sys	0m1.722s

I think that our recommendations aren't suitable for development.
My config: OS X Mavericks, mid-range Macbook Air

We are moving our development planning to JIRA. This issue is now being tracked at https://clusterhq.atlassian.net/browse/FLOC-516. You are welcome to file additional issues in GitHub if that's easier for you.


ES5 Step #4 instructions - missing ng-controller and wrong file names

#1 Step 4 instructions don't mention that a ng-controller directive needs to be added to  tag:
<body ng-app="starterApp" layout="column" ng-controller="UserController as ul">
#2 Step 4 instructions say to add the following external .JS files:
         <script src="./src/users/Users.js"></script>          <script src="./src/users/UsersListController.js"></script>          <script src="./src/users/UsersDataservice.js"></script>
but the file names don't match, it should say this instead:
     <script src="./src/users/Users.js"></script>      <script src="./src/users/UserController_4.js"></script>      <script src="./src/users/UserService.js"></script>

@KarolinaCoates - can you confirm the branch you were using ?

@ThomasBurleson es5-tutorial

Closed via 1448a6380f5d34ebc0a175530e8f1ffadcd9e2da.


⚠ SceneTime has degraded performance

In 859bc71, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2549 ms

Resolved: SceneTime performance has improved in d1fbf90 after 6 minutes.


Consider renaming from gcx to something more specific to Cloud Functions (gcf?)

It seems that this package is manipulating Cloud Functions, which is not very explicit from its name gcx.
If the intent is to stay focused on GCF, maybe rename it to something else? like gcf or gcfx?

I totally hear what you're saying.  In fullness of time - I'd like to include the ability to deploy to app engine from here as well :) Given that, and the churn a rename would cause - I think Imma going to stick with gcx.  Thanks for the suggestion!


Race Condition?

Is this my own fault? (https://github.com/ugjka/reddit-irc-bot/blob/master/bot.go)
2016/11/05 17:40:51 Connected to irc.freenode.net:6666 (<IP_ADDRESS>:6666)
==================
WARNING: DATA RACE
Read at 0x00c42007c958 by goroutine 13:
  github.com/thoj/go-ircevent.(*Connection).pingLoop()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:167 +0x1f9

Previous write at 0x00c42007c958 by goroutine 11:
  github.com/thoj/go-ircevent.(*Connection).readLoop()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:77 +0x41f

Goroutine 13 (running) created at:
  github.com/thoj/go-ircevent.(*Connection).Connect()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:437 +0xd29
  github.com/ugjka/reddit-irc-bot.Start()
      /home/ugjka/goworks/src/github.com/ugjka/reddit-irc-bot/bot.go:156 +0x1a5
  main.main()
      /home/ugjka/goworks/src/oneshots/redditbot.go:23 +0xad

Goroutine 11 (running) created at:
  github.com/thoj/go-ircevent.(*Connection).Connect()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:435 +0xcdf
  github.com/ugjka/reddit-irc-bot.Start()
      /home/ugjka/goworks/src/github.com/ugjka/reddit-irc-bot/bot.go:156 +0x1a5
  main.main()
      /home/ugjka/goworks/src/oneshots/redditbot.go:23 +0xad

ok this happens even with the most bare config
package main

import (
  irc "github.com/thoj/go-ircevent"
)

const irc_nick = "_ugjka_"
const irc_name = "testing"
const irc_server = "irc.freenode.net:6667"
const irc_channel = "#ugjka"

func main(){
  ircobj := irc.IRC(irc_nick, irc_name)
	ircobj.Connect(irc_server)
	ircobj.Join(irc_channel)
  ircobj.Privmsg(irc_channel, "test test test test")
  ircobj.Loop()
}

Output:
[ugjka@ChakraPC oneshots]$ go run -race irctest.go
2016/11/05 19:01:19 Connected to irc.freenode.net:6667 (<IP_ADDRESS>:6667)
==================
WARNING: DATA RACE
Read at 0x00c42007c698 by goroutine 13:
  github.com/thoj/go-ircevent.(*Connection).pingLoop()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:167 +0x1f9

Previous write at 0x00c42007c698 by goroutine 11:
  github.com/thoj/go-ircevent.(*Connection).readLoop()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:77 +0x41f

Goroutine 13 (running) created at:
  github.com/thoj/go-ircevent.(*Connection).Connect()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:437 +0xd29
  main.main()
      /home/ugjka/goworks/src/oneshots/irctest.go:14 +0x84

Goroutine 11 (running) created at:
  github.com/thoj/go-ircevent.(*Connection).Connect()
      /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:435 +0xcdf
  main.main()
      /home/ugjka/goworks/src/oneshots/irctest.go:14 +0x84
==================

Probably from the library. There are some use of global flags in the code still that triggers this warning. I have yet to see an actual race condition though. Patches and PRs are welcome.
On Nov 5, 2016 18:05, ugjka<EMAIL_ADDRESS>wrote:ok this happens even with the most bare config
package main
import (
irc "github.com/thoj/go-ircevent"
)
const irc_nick = "ugjka"
const irc_name = "testing"
const irc_server = "irc.freenode.net:6667"
const irc_channel = "#ugjka"
func main(){
ircobj := irc.IRC(irc_nick, irc_name)
ircobj.Connect(irc_server)
ircobj.Join(irc_channel)
ircobj.Privmsg(irc_channel, "test test test test")
ircobj.Loop()
}
Output:
[ugjka@ChakraPC oneshots]$ go run -race irctest.go
2016/11/05 19:01:19 Connected to irc.freenode.net:6667 (<IP_ADDRESS>:6667)
WARNING: DATA RACE
Read at 0x00c42007c698 by goroutine 13:
github.com/thoj/go-ircevent.(*Connection).pingLoop()
/home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:167 +0x1f9
Previous write at 0x00c42007c698 by goroutine 11:
github.com/thoj/go-ircevent.(*Connection).readLoop()
/home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:77 +0x41f
Goroutine 13 (running) created at:
github.com/thoj/go-ircevent.(*Connection).Connect()
/home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:437 +0xd29
main.main()
/home/ugjka/goworks/src/oneshots/irctest.go:14 +0x84
Goroutine 11 (running) created at:
github.com/thoj/go-ircevent.(*Connection).Connect()
/home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:435 +0xcdf
main.main()
/home/ugjka/goworks/src/oneshots/irctest.go:14 +0x84
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

Ok thanks

Merged some fixes that where living in testing branch.

@pdf reopening for you

Ah, sorry @ugjka looks like this was fixed by #97 but no release has been tagged in a long time.

ok lol closing!


Remove PARAMETER

Describe your changes
Make the command format standardised
Issue ticket number and link
Builds on #115
Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] If it is a core feature, I have added thorough tests.

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

Files with missing lines
Coverage Δ
Complexity Δ

...java/seedu/address/logic/commands/ListCommand.java
100.00% <ø> (ø)
2.00 <0.00> (ø)

...java/seedu/address/logic/commands/SortCommand.java
100.00% <ø> (ø)
1.00 <0.00> (ø)

... and 9 files with indirect coverage changes


Complete Uninstall/Reinstall/Portable Disaster

Prerequisites

[x] Can you reproduce the problem in safe mode? (Why is that even relevant to most of the issues here?)
[x] Are you running the latest version of Atom?
[x] Did you check the debugging guide?
[x] Did you check the FAQs on Discuss?
[x] Are you reporting to the correct repository?
[ ] Did you perform a cursory search to see if your bug or enhancement is already reported? (Well one of the red boxes mentioned below say that there is an issue reported already.)

Description
Well, I ran AtomSetup.exe expecting to select how I wanted it installed and stuff, but no, everything was automatic. What I wanted was a portable install for my flashdrive to take to school. Instead I got a local install in AppData or whatever.
I decided to just play with it anyways and I started to install some JavaScript add-ons. While they were installing a breaker blew in my house (this may or may not be relevant). I started my computer back up and went to run Atom again with the icon (that happened to just be a plain icon, not the Atom logo, with the Atom label). Nothing happened, not even a process. So I went to start it manually and it worked, except there were some red boxes with errors saying it couldn't do stuff with the files in the ".atom" data folder.
I uninstalled, deleted the data folders (manually... -.-), and reinstalled. The red boxes were still there. Uninstalled again.
Then I Googled to see if there was even a portable version of Atom available. Apparently there is according to an issue and a PR here. I downloaded atom-windows.zip and extracted. When I ran the atom.exe, there the red boxes were once again. Everything also seemed to be in the same state as it was when I closed the last installation.
Steps to Reproduce
(explained in description)
Expected behavior: I want a portable version of Atom on my flashdrive that doesn't have any connections to Windows (besides the usual requirements) and runs fine.
Actual behavior: Explained above.
Versions
Latest stable, 1.9.8.
Windows 10 Pro 64 bit.

Remove %USERPROFILE%\.atom and try again.  I'm not sure if that's what you meant by the "data" folder, but it seems to have gotten corrupted somehow.


Unable to delete workloadendpoints from file

I'm seeing this:
$ calicoctl delete -f wep.yaml
Failed to execute command: error with field labels = 'map[calico/k8s_ns:default pod-template-hash:1046649697 role:nginx-server]'

The file looks like:
- apiVersion: v1
  kind: workloadEndpoint
  metadata:
    labels:
      calico/k8s_ns: default
      pod-template-hash: "1046649697"
      role: nginx-server
    name: eth0
    node: k8s-node-02
    orchestrator: k8s
    workload: default.nginx-1046649697-8uo12
  spec:
    interfaceName: cali54bea7bc264
    ipNetworks:
    - <IP_ADDRESS>/32
    mac: ee:21:47:e9:02:8d
    profiles:
    - k8s_ns.default

@heschlie I think this is a bug.  Assigning to you to investigate and propose a fix (unless I just messed up somehow in which case sorry..)

Was a bug in libcalico-go, fixed here:
https://github.com/projectcalico/libcalico-go/pull/305


feat(portal): Add blocked_tx_bytes to flow activity metrics

Closes #4787

@jamilbk this is basically how many bytes client sent to the gateway but they were filtered by the resource filters. They should be also 0 (filtered on the client) unless the client is missbehaving.


"Are you sure you are in the right league" error

I'm able to put in my email and password. It starts logging in and then says "Error getting items for league, are you sure your league settings are correct?".
Thanks for the help.
DebugInfo.zip

Have you used Procurement before?
According to the error message, you don't have any leagues associated with your account.

No, this is my first time using it.

Alright, try logging in using sessionID.
Take a look at this video guide if you need help logging in with sessionID: https://www.youtube.com/watch?v=nQFcQTW8ju0

I'm getting the same error message.

Something I've noticed that is slightly different I'm not sure if it is relevant or not, the video has a box to enter an Account Name. I do not have that box. I only have a box for Alias and Session ID.

Yup that is correct - Account Name was removed and is automatically retrieved by Procurement.
Are you a steam player?
I would contact GGG support and tell them that the API is not returning any leagues/items for your account, they are normally pretty quick in sorting it out. After that you should be able to login no problem.

Yes, I am a steam player.
I will contact them. Thank you for your help.

I've resolved the issue. I did not first notice the "log in through steam" button on the forums. I've logged in that way and used the session ID and everything works well now. Thanks!


packse not servering yanked packages as yanked in simple api

For example scenario "requires-package-yanked-and-unyanked-any": https://github.com/astral-sh/packse/blob/main/scenarios/yanked.json#L48
Package a 1,0,0 should be yanked in the simple api, which would present itself as having the link attribute data-yanked, but when I look at the HTML that packse serves for this package I don't see that:
<!DOCTYPE html>

            <title>Links for requires-package-yanked-and-unyanked-any-a-c1d7f24e</title>

Links for requires-package-yanked-and-unyanked-any-a-c1d7f24e

                 <a href="[/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-0.1.0-py3-none-any.whl#sha256=2b30c598aab25b18b92d60885285df7b66f80a3390658b1a6d96c8bc36f005e8](view-source:http://<IP_ADDRESS>:3141/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-0.1.0-py3-none-any.whl#sha256=2b30c598aab25b18b92d60885285df7b66f80a3390658b1a6d96c8bc36f005e8)">requires_package_yanked_and_unyanked_any_a_c1d7f24e-0.1.0-py3-none-any.whl

                 <a href="[/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-0.1.0.tar.gz#sha256=274de419ae486e4b19cbbdd39e97ba272943d165a028effeefcae6c9bb999dea](view-source:http://<IP_ADDRESS>:3141/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-0.1.0.tar.gz#sha256=274de419ae486e4b19cbbdd39e97ba272943d165a028effeefcae6c9bb999dea)">requires_package_yanked_and_unyanked_any_a_c1d7f24e-0.1.0.tar.gz

                 <a href="[/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-1.0.0-py3-none-any.whl#sha256=b0a7775307307ef338c7815424f883ac29e8363ad7f0baa9404f4e5b0bb963dc](view-source:http://<IP_ADDRESS>:3141/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-1.0.0-py3-none-any.whl#sha256=b0a7775307307ef338c7815424f883ac29e8363ad7f0baa9404f4e5b0bb963dc)">requires_package_yanked_and_unyanked_any_a_c1d7f24e-1.0.0-py3-none-any.whl

                 <a href="[/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-1.0.0.tar.gz#sha256=ffa236db1626822a9ae069cb7388afb415cb3d9a900ee06f02065aa86ce96853](view-source:http://<IP_ADDRESS>:3141/packages/requires-package-yanked-and-unyanked-any-c1d7f24e/requires_package_yanked_and_unyanked_any_a_c1d7f24e-1.0.0.tar.gz#sha256=ffa236db1626822a9ae069cb7388afb415cb3d9a900ee06f02065aa86ce96853)">requires_package_yanked_and_unyanked_any_a_c1d7f24e-1.0.0.tar.gz

If we compare that to say https://pypi.org/simple/apache-airflow/, I can see the data-yanked attribute for the relevant yanked files:
<a href="[https://files.pythonhosted.org/packages/bd/99/4761af2cea96cc818e05e9cd42d794b2ba79ceeccba96ea073398a9b49bd/apache-airflow-1.10.13.tar.gz#sha256=bb637f95a2aef7b2f7d622ecda150d6a5794011bd9e8d610ab0e9a1f518325e9](view-source:https://files.pythonhosted.org/packages/bd/99/4761af2cea96cc818e05e9cd42d794b2ba79ceeccba96ea073398a9b49bd/apache-airflow-1.10.13.tar.gz#sha256=bb637f95a2aef7b2f7d622ecda150d6a5794011bd9e8d610ab0e9a1f518325e9)" data-requires-python=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" data-yanked="Bug: https://github.com/apache/airflow/issues/12659 " >apache-airflow-1.10.13.tar.gz

Yeah unfortunately there's no way to yank files in pypiserver, you can use our static index that we publish per release and commit to main instead e.g. https://astral-sh.github.io/packse/0.3.8/simple-html/
I'll probably either fork pypiserver to add support for this or change packse index up / packse serve to use a different server.

There doesn't seem to be an open feature request, or a mention of yanking in their docs. I'll at least open an issue on their side.


[1.0] Layout service continiously spams current layout into console

Describe the bug
Layout service logs the current layout into the console, which looks like a thing, which should be removed from the code
How to reproduce

Open 1.0 input documentation
Open browser console and see multiple "horizontal" messages appearing on any action with a page

Expected behavior
No debug/testing messages in console
Additional notes
Looks like line# 28 should be removed from this file: layout.service.ts

Thanks, but it is a duplicate of #2839. There is a pull request with a fix for it.


Select a group

Hi, I was looking for a multiselect option and SOL is almost perfect, except for the fact that it's not possible to select a whole group at once. Or am I missing this function on the demo page and documentation?

I want to change the selected value by a checkbox outside the SOL, is it possible?
This is similiar to @warudin 's request.

If you are familiar with js you can try to fix it yourself. This is our diff with the current version of sol.js.
Not all changes are relevant for you the most important parts are:

874,891d799
1104,1107c988,989 and the rest to the bottom

Basically it's about introducing the ondblclick on a group label and adding a string parameter to selectAll, deselectAll to handle the group selection.


Interoperability with Pydantic

Is your feature request related to a problem? Please describe.

[ ] Create a Daft type from Pydantic schema
[ ] Ability to specify a Pydantic model as a return_dtype in UDFs
[ ] Ability to return a list of Pydantic objects from a UDF (Daft should coerce this into our own arrays)

This could be very useful when working withe LLM and LlamaIndex ecosystems

Closing as not a priority


Detect schema version drift in parquet schemas (close #132)

Parquet schemas are migrated through the merge.schema = true loading option in Spark/Databricks.
Migrations in this package do not define spark 3.0 style ATLER TABLE transformations, similar to Redshift. Instead,
they are used to categorize schema changes into 3 categories:

NonBreaking - Miscellaneous changes that would be handled by the merge.schema:

NullableRequired - nullable to the required change
NestedKeyAddition - addition of the new Struct key anywhere except for top level Schema.
TypeWidening - Compatible type casting. Such as Int -> Long (cast as BitInt) -> Decimal -> Double.
RequiredNullable Nullable to the required field or array migration. Loading will fail.
TopLevelKeyAddition Reserved for key addition in top-level schema
KeyRemoval  Removing the field in Struct.

Breaking - Breaking change that would either lead to one of these outcomes:

IncompatibleType Incompatible type casting, such as String -> Int, etc. Loading will fail.

Note that JSON type and String are interchangeable, in the context of this library because Spark does not support
Parquet with JSON type, so they are stringified.

With the last commit, I've dropped the support for the type widening as it is shown to not work in my tests.
Schema merging was added to address the situation with key removal producing bad rows in the transformer.


Add print

a la Haskell's trace would probably fit best with the language's expression semantics

Consider the "io map".
[give :print :hello-there io]

prints

:hello-there

[take :line io]


Bug(schematics): ng add broken in v.3

Is there an existing issue for this?

[X] I have searched the existing issues

Which Transloco package(s) are the source of the bug?
Schematics
Is this a regression?
Yes
Current behavior
According to installation steps I run ng add @ngneat/transloco on a pretty new Angular project.
Now I get only the package installed and error saying
[error] Error: Collection<EMAIL_ADDRESS>cannot be resolved.

Please provide a link to a minimal reproduction of the bug

Transloco Config
No response
Please provide the environment you discovered this bug in
Transloco: 3.0.2
Angular: 12.2.9
Node: 14.17.6
Package Manager: 7.22.0
OS: Windows_NT x64 10.22000.194

Browser
No response
Additional context
No response
I would like to make a pull request for this bug
No

@strigefleur @gn-sky Please try v3.0.4 and LMK if it works for you 🙂

@seravifer Can you share some env details? (OS, node version, etc)

@strigefleur fixed in v3.0.6

I've just encountered this error
@ngneat/transloco 3.2.0
@angular/core: 13.2.0
node v14.19.0
on Windows 10

This is broken again for me on v3.2.0.

I can see there is no src folder in transloco in node_modules that is needed when resolving collection.json:


Delete update status HostZoneUnbonding_EXIT_TRANSFER_QUEUE in UpdateHostZoneUnbondings function

Closes: #525
Context and purpose of the change
HostZoneUnbonding's status EXIT_TRANSFER_QUEUE was set twice, before and after burning stTokens during UndelegateCallback so I think it should be used in SetHostZoneUnbondings instead of UpdateHostZoneUnbondings function because there is a param type of recordstypes in SetHostZoneUnbondings and the main reason is after Updatehostzone we have to set it to store
Brief Changelog

Delete update status of hostZoneUnbonding in UpdateHostZoneUnbondings function

Author's Checklist
I have...

[ ] Run and PASSED locally all GAIA integration tests
[ ] If the change is contentful, I either:

[ ] Added a new unit test OR
[ ] Added test cases to existing unit tests

[ ] OR this change is a trivial rework / code cleanup without any test coverage

If skipped any of the tests above, explain.

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] manually tested (if applicable)
[ ] confirmed the author wrote unit tests for new logic
[ ] reviewed documentation exists and is accurate

Documentation and Release Note

[ ] Does this pull request introduce a new feature or user-facing behavior changes?
[ ] Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md?
[ ] This pull request updates existing proto field values (and require a backend and frontend migration)?
[ ] Does this pull request change existing proto field names (and require a frontend migration)?
How is the feature or change documented?

[ ] not applicable
[ ] jira ticket XXX
[ ] specification (x/<module>/spec/)
[ ] README.md
[ ] not documented

Open

hi @asalzmann, can you plz review and merge this pr?


Low performance on high-resolution canvases with OSD v5 and Firefox

I have deployed OSD on my website for viewing gigapixel photographs. The OSD canvas resizes upon page load and when the window is resized. When the browser window is maximized, the dimensions of the OSD canvas is nearly the same as the screen dimensions.
When my Firefox browser window is large and thus the pixel dimensions of my OSD canvas are large, the framerate of the OSD canvas is low - perhaps 15fps. This is not the case in OSD pre-v5.
When I shrink the Firefox window to be small (and thus decrease the dimensions of the canvas), the framerate of the canvas increases to my monitor's refresh rate, which is 144hz.
This problematic behavior does not occur in Chrome with OSD v5. When using Chrome, no matter the dimensions of the canvas, the framerate remains at 144hz.
Thanks for a wonderful piece of software!
Additional Debugging Info

I am testing on this webpage, which is running v4 (NOT v5) as of filing this issue.

Hardware/Software

i7-13900k
RTX 4090
3840x1600px@144hz display
Windows 11
Firefox v129

Interesting behavior - thanks for testing! The big thing that has changed is that the viewer now uses WebGL as the default renderer, instead of 2D canvas, but that isn't the only thing that is different between v4 and v5. Could you try using the option drawer: 'canvas' on Firefox with the big window? If performance of canvas is the same as in v4 and it is only webgl that takes the FPS hit, we'd at least know it is in fact something about Firefox's webgl implementation that is causing this.

Interesting behavior - thanks for testing! The big thing that has changed is that the viewer now uses WebGL as the default renderer, instead of 2D canvas, but that isn't the only thing that is different between v4 and v5. Could you try using the option drawer: 'canvas' on Firefox with the big window? If performance of canvas is the same as in v4 and it is only webgl that takes the FPS hit, we'd at least know it is in fact something about Firefox's webgl implementation that is causing this.

Hi pearcetm! Yes, I'd be happy to test with the canvas drawer. However, I don't know how to do that. It looks like drawer is not an option on the OpenSeadragon constructor. Am I missing something?

You should be able to pass drawer: 'canvas' as an option: https://openseadragon.github.io/docs/OpenSeadragon.html#.Options

@zfox23 Are you getting the same results on https://openseadragon.github.io/? Also, how are you testing the FPS?

@zfox23 Are you getting the same results on https://openseadragon.github.io/? Also, how are you testing the FPS?

@iangilman: Yes, I see the same results on https://openseadragon.github.io/ when I toggle fullscreen mode. Without toggling fullscreen mode, performance is fine.
I'm testing the framerate observationally, not using any tools or getting numeric data. The performance difference is immediately apparent. I could use Firefox's profiling tools to get more data, but I haven't done that yet.

You should be able to pass drawer: 'canvas' as an option: https://openseadragon.github.io/docs/OpenSeadragon.html#.Options

Ah, I see! Thank you. The TypeScript definitions don't seem to contain that option, or I am missing something. I'll give that a shot ASAP.

The TypeScript definitions don't seem to contain that option, or I am missing something.

The TypeScript definitions are from a different repo (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/openseadragon) - looks like that could use some updating.

Good point on the TypeScript definitions! I've added a comment here: https://github.com/openseadragon/openseadragon/issues/1628#issuecomment-2293832119
For what it's worth, when I go to https://openseadragon.github.io/ in Firefox and go to fullscreen, the performance seems okay to me. It's definitely not 60 fps, but it's not annoyingly laggy. I would be curious to get an actual fps reading, but I'm not sure how best to do that. I'm on Firefox 129.0.1 on MacOS 14.5 on a reasonably powerful Mac.

You should be able to pass drawer: 'canvas' as an option: https://openseadragon.github.io/docs/OpenSeadragon.html#.Options

Okay! This worked, and the WebGL-based performance issues are gone. So - something's up with WebGL + OSD on Firefox 🤔

Here's a Firefox performance profile I just captured from https://openseadragon.github.io/:
Download Firefox 2024-08-16 21.28 profile.json.gz
You can open this profile at https://profiler.firefox.com/.
In the first half of the profile, the OSD canvas is fullscreen, and I am panning around the image. In the second half of the profile, the OSD canvas is its original size on the page (i.e. relatively small), and I am panning around the image:

When the OSD canvas is fullscreen, it looks like Firefox is spending a lot of time in CanvasRenderingContext2D.drawImage():

I'm not sure what can change in OSD's code to make that more performant. Perhaps nothing? ☹
As for raw framerate numbers: I'm trying to figure out how to get that data right now and will make a new comment if I figure it out.

If you maximize the window, and have the viewer take the full window (but
not actually fullscreen mode), is the performance closer to full-screen or
small viewer performance? Just trying to narrow down whether it is related
to canvas size in general or a special case for true full screen mode.
Googling “webgl performance Firefox fullscreen”, there are a number of
reports of issues in other web apps too (like YouTube), specifically in
this circumstance, with various suggestions about fixing user profiles etc.
to potentially help.
Since it is limited to Firefox but not Chrome and appears to affect other
apps too, I’m not sure if it’s fixable within OSD. If not, maybe we should
consider making webgl “opt-in” rather than default, @iangilman? Or at a
minimum add documentation about the issue? I think more info may be needed
and we shouldn’t necessarily rush to conclusions, just want to start
thinking about it…
(Since it appears to be browser specific it would be nice to have Firefox
fix it!)
On Fri, Aug 16, 2024 at 9:43 PM Zach Fox @.***> wrote:

Here's a Firefox performance profile I just captured from
https://openseadragon.github.io/:
Download Firefox 2024-08-16 21.28 profile.json.gz
https://github.com/user-attachments/files/16642980/Firefox.2024-08-16.21.28.profile.json.gz
You can open this profile at https://profiler.firefox.com/.
In the first half of the profile, the OSD canvas is fullscreen, and I am
panning around the image. In the second half of the profile, the OSD canvas
is its original size on the page (i.e. relatively small), and I am panning
around the image:
image.png (view on web)
https://github.com/user-attachments/assets/e09e377e-2748-4397-89ec-e3a341ae473e
When the OSD canvas is fullscreen, it looks like Firefox is spending a lot
of time in CanvasRenderingContext2D.drawImage():
image.png (view on web)
https://github.com/user-attachments/assets/50076de9-6133-4f66-999e-59f4b909fa69
I'm not sure what can change in OSD's code to make that more performant.
Perhaps nothing? ☹
As for raw framerate numbers: I'm trying to figure out how to get that
data right now and will make a new comment if I figure it out.
—
Reply to this email directly, view it on GitHub
https://github.com/openseadragon/openseadragon/issues/2569#issuecomment-2294520767,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7LYHKTBXP3S6V3VLAUQSTZR2TEHAVCNFSM6AAAAABMQ22BYKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJUGUZDANZWG4
.
You are receiving this because you commented.Message ID:
@.***>

If you maximize the window, and have the viewer take the full window (but not actually fullscreen mode), is the performance closer to full-screen or small viewer performance? Just trying to narrow down whether it is related to canvas size in general or a special case for true full screen mode. <snip>

The performance in this case is poor (i.e. closer to fullscreen). Thus, I think the problem is related to canvas size.
(The way my OSD viewer is set up on my website is exactly this case; the viewer takes up almost the entire window without needing to be in fullscreen mode, and performance is poor.)

(Since it appears to be browser specific it would be nice to have Firefox
fix it!)

I agree! I've had WebGL performance woes in Firefox with my own projects in the past. I couldn't do anything to fix those, either.

Presumably the Firefox folks are aware they have WebGL performance issues. I don't know if it would help them to have OSD as an example scenario, but if someone wants to bring it to them, it can't hurt!
Meanwhile, sounds like maybe we need to work around it. There may indeed be things we could do to improve performance on Firefox. Perhaps some aspect of our pipeline is causing the majority of the slowdown. I guess it depends on whether anyone is up for digging into that.
Otherwise, it seems like adding an "auto" mode for the drawer that picks WebGL on Chrome and canvas on Firefox (and whatever is appropriate for other browsers) is probably the next step. And yeah, that should probably be the default. Of course we'll need to do more education for devs to make sure they know how to switch drawer modes depending on what plugins they need.

I guess I'll add that another complication is perhaps the performance of the computer running Firefox. Like I said, mine seems to do just fine (on a 4k monitor). Of course detecting that is much more challenging than detecting whether you're on Firefox.
@zfox23 what OS are you on?

I guess I'll add that another complication is perhaps the performance of the computer running Firefox. Like I said, mine seems to do just fine (on a 4k monitor). Of course detecting that is much more challenging than detecting whether you're on Firefox.
@zfox23 what OS are you on?

True!
Hardware/software details:

i7-13900k
RTX 4090
3840x1600px@144hz display
Windows 11
Firefox v129

Yeah, sounds pretty equivalent to my setup, just Windows instead of Mac. Interesting.


Python code to print table of a number upto 10 multiples

Please assign me this issue

#90 multiples added


Returns

Can anyone provide info on what returns can be expected from using this? A daily average %?

Try it! :)


Requires PHP8.1, not 7.4

[ ] Search for existing issues

Summary
When using this SDK, I get the following error:
Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0". You are running 8.0.22
Requiring 8.1 is not yet feasible in my attempts to use this in a WordPress plugin which only has PHP 7.4 as its minimum requirement.
Expected Results
I should be able to use this on PHP 7.4 and greater according to the documentation
Actual Results
You need PHP 8.1. The error does go away when I use at minimum 8.1.
Steps to Reproduce
Make any request and this is the result I get.

Hi,
You seem to have packages locally that need PHP 8.1. We have tested our SDK and it works on 8.0 (that you are running).

This is the only package I am requesting via Composer and it tells me it needs 8.1. Even 8.0 is not enough, I need it working on 7.4 as the documentation says it does.
https://www.ashwebstudio.com/	Derek Ashauer
www.ashwebstudio.com https://www.ashwebstudio.com/
Ph /<PHONE_NUMBER>

On May 2, 2023, at 5:44 AM, Nikola Milojević @.***> wrote:
Hi,
You seem to have packages locally that need PHP 8.1. We have tested our SDK and it works on 8.0 (that you are running).
—
Reply to this email directly, view it on GitHub https://github.com/mailerlite/mailerlite-php/issues/9#issuecomment-1531327026, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIBNX5B6KVFGRP4ZEBME6TXEDXSZANCNFSM6AAAAAAXFVLGWA.
You are receiving this because you authored the thread.

We have recently verified that the following versions are compatible:

7.4
8.0
8.1

Kindly take a moment to double-check your configuration, as it seems there might be a discrepancy in your local setup.
Additionally, please note that your message indicates you're running PHP 8.0 locally, not 7.4.

I understand at that moment I was on PHP 8.0. I test on all kinds of versions of PHP. I am making a WordPress plugin and it needs to at least support 7.4. The errors I am getting prevent the SDK from being used and say PHP 8.1 is required. My entire composer file only asks for the MailerLite PHP SDK, no other requirements and yet it insists that PHP 8.1 is required.
https://www.ashwebstudio.com/	Derek Ashauer
www.ashwebstudio.com https://www.ashwebstudio.com/
Ph /<PHONE_NUMBER>

On May 3, 2023, at 2:06 AM, Nikola Milojević @.***> wrote:
We have recently verified that the following versions are compatible:
7.4
8.0
8.1
Kindly take a moment to double-check your configuration, as it seems there might be a discrepancy in your local setup.
Additionally, please note that your message indicates you're running PHP 8.0 locally, not 7.4.
—
Reply to this email directly, view it on GitHub https://github.com/mailerlite/mailerlite-php/issues/9#issuecomment-1532611176, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIBNX7H4C7EBKSEY7IX2JTXEIGW7ANCNFSM6AAAAAAXFVLGWA.
You are receiving this because you authored the thread.

Turns out if you run composer under PHP 8.0+, it'll mark dependencies as requiring >= 8.1.0 (in platform_check.php).  Running composer under PHP 7.4 solved the issue.


Sunburst Codepen Dependencies out of Date

Great work on the library so far! I'm in the process of moving over a Sunburst chart from React Move to React Spring, and I can't get the CodeSandbox example to work with the newer versions of the library.
The example is using 3.2.0-beta.10, and it looks like it's broke from version 4.0 on. There's no errors or anything, the Sunburst just doesn't move. I went through all of the other dependencies one by one, and it looks like React Spring is the one that's causing it. I also looked for release notes on what may of changed, but couldn't find any.
I started a CodeSandbox that has updated dependencies for everything. Happy to dig in a little more if you can point me in the right direction.
https://codesandbox.io/s/4z2pprkm3x
Thank you!

Dug into the commits and found the issue. onUpdate is actually onFrame now on the <Spring ... ></Spring component in the new versions. Here's a link to a working Sunburst. Happy to put in a PR with the updates!
https://codesandbox.io/s/ym2z85pv31


Fixes unit tests from Emission upgrade.

This is succeeding locally:

Cool, merge on green 👍

Mmm it failed with an error I saw locally (but disappeared when I re-ran pod install, I think it fails the first time). Going to try rebuilding not-from-cache.


Add Click Me button animation

Add an animation for the Click Me Button

hey @divyanshudhruv
Could you add the Hacktoberfest tag and assign this issue to me?!
I would like to add a really cool animation to the button!

Ok, you can also try to add background animation to the Know more button also.

Good luck @ferrorenan

Hello, please visit here

Hello, I would like to help contribute to your project.

hey @divyanshudhruv can you please assign this issue this issue to me so that i can contribute a beautiful animated button

can you please assign me this issue?

Hey can you please assign this issue to me. I will definitely make worthfull contribution. I am good at front end.

Hey ! I have good at front-end and made many front-end projects with animations. I can do this better. Please assig this issue to me.


feat: bind main colors in popups.

Use SetStyle and BindProperty to define colors in InGamePopup and InMenuPopup. Make popups compatible with mods like HUD Painter.
Changed comment in ThemeColors to deprecate the class in favor of BindProperty feature.

fyi, there is still one color (used twice) in InMenuPopup, I didn't found an equivalent in inkstyle for now. I'll see if I can find the value using WKit.

Should I wait for this last change or merge as is?

If you can wait, I'm finding my way with WKit script to export all data to Json and quickly lookup for the missing value, see if it is somewhere. I'll get back to you as soon as I find something or not.

I finally found them in base\\gameplay\\gui\\common\\dialogs_popups.inkstyle.
It is ready :)

Thank you!


Orange PI Plus

I ran this script fine on a Raspberry PI II, however, I was wondering if it can be run on a Orange PI Plus? Biggest benefit of the Orange PI Plus would be a gigabit interface opposed to 10/100.

if orange pi plus can run raspbian or debian jessie then it should work fine.

Btw, PiVPN will also run on all SBC's running DietPi. That includes Orange Pi.


Hooks

Hello,
Thanks for this great library.
I would like to functional compoanent with hooks.
Have you an example ?
Regards
Salvatore

Hi @artydev, here is live example https://codesandbox.io/s/vibrant-cherry-y72vm?file=/src/App.js:187-569 (based on Official example of useState hook: https://reactjs.org/docs/hooks-reference.html#usestate ). See index.html for usage of web-component https://codesandbox.io/s/vibrant-cherry-y72vm?file=/public/index.html:1193-1213

Closing this issue. Feel free to reopen if something doesn't work for you


[SPARK-44841][FOLLOWUP] Add migration guide for the behavior change

What changes were proposed in this pull request?

This PR followups for https://github.com/apache/spark/pull/42525.
Why are the changes needed?

To fill the missing migration guide for the behavior change.
Does this PR introduce any user-facing change?

No, this is migration guide update.
How was this patch tested?

The existing CI should pass.
Was this patch authored or co-authored using generative AI tooling?

No.

Merged to master.

Hi, can I change this to
In Spark 4.0, when using the value_counts function from the pandas API on Spark, the resulting column name for all objects is set to 'count'. If normalize=True is passed, it will be set to 'proportion'. Additionally, the index will be named after the original object.
If yes, I can open a followup.

WDYT @itholic ^

Yeah, at least we have to fix the typo "propotion" to "proportion". Otherwise I don't think it's absolutely necessary, but please feel free to made a change. I have no strong opinion unless it doesn't include the wrong information.
Thanks for catching the typo, @bjornjorgensen !


Fix state issue - port to dev of #838

Port #838 to dev

Going to create another intermediate branch for this


Separate parsing from writing in node constructors

Fixes #160

Hmm
> Task :ktoml-core:compileTestKotlinMingwX64 FAILED
e: java.lang.OutOfMemoryError: Metaspace

Small problem is that we need to merge the work related to Long/Int numbers first, let's take it also into the next release


List functions In AGE

Is your feature request related to a problem? Please describe.
Could be good add more list functions in AGE?
Describe the solution you'd like
there are a lot of functions in AGE that doesn't support list as a entry function like toUpper(), toLower() and others.
Describe alternatives you've considered
does have a good way to handle with this without create a new entire function to handle with lists?
Additional context
none.

Have you considered using a library for lists to enable working with toUpper()  and toLower() functions? @M4rcxs

That is already in place.
SELECT toLower('WORD');
and
SELECT toUpper('word');

Have you considered using a library for lists to enable working with toUpper() and toLower() functions? @M4rcxs

@M4rcxs Do you mean as a parameter of type list?
For example:
lst = ['this', 'that', 1, 2, {name: "Jim"}]

toUpper(lst) or toLower(lst)

If so, it doesn't really make sense to.


Provide instructions for testing a ValueConverter using json string as input/output

This would allow starting with the json snippet that will be reused, and writing a unit test for the converter before plugging it all in.

ValueConverters are decoupled with JSON format, because TRC supports not only JSON.
So, you can test your TRCValueTransformer with NSNumber or NSString input (in case of JSON)

:+1: I think it would still be useful to unit test this common scenario easily, before integrating with whole system. Perhaps a base class to extend or something.


Pure Pursuit In C++

What type of PR is this?
Optimisation
Description
Rewrite the existing python pure pursuit implementation in C++ in search for improved performance.
Where the python impl runs in 12ms the C++ impl runs in less than 0.2ms. The C++ impl uses the same brute force search (in the get_rvwp() method) that the python impl uses. I was able to get the python version down to 3ms using a KDTree to perform the searches, the same technique could be used in the C++ version for further performance improvements.
Instructions
Please try this out and let me know what you think.
Build and run:
colcon build --packages-select pure_pursuit_cpp
ros2 run pure_pursuit_cpp pure_pursuit_cpp

Use:
Run the sim, diverless_common/display and planners/midline_path nodes with the pure pursuit controller.
In the sim put the car into any drive state, for some reason, this needs to be done before the pure pursuit node is started, the sim's mission selector doesn't respond otherwise.

Would be keen to test before approval.

Yea definitely,  I've included instructions if you want to run it yourself, otherwise I'll be back in lab on Monday and we can run through it then.

Also are you able to push the pure pursuit improvements in python?

Would you like it in a new node?

Yea definitely, I've included instructions if you want to run it yourself, otherwise I'll be back in lab on Monday and we can run through it then.

Sure thing, can give it a shot tonight.

Would you like it in a new node?

Yes please - can be in the same pure pursuit package path_follower
I think that needs a name change too


odo push sometimes fails for nodejs component with "rsync warning: some files vanished before they could be transferred (code 24)"

[kind/bug]
This is a sporadic issue. Sometimes it works fine, but sometimes it happens.
What versions of software are you using?

Operating System: macOS
Output of odo version: v1.0.0-beta1

How did you run odo exactly?
git clone https://github.com/grahamdumpleton/nationalparks-js nationalparks-js
cd nationalparks-js
odo create nodejs backend
odo push
odo url create backend --port 8080
odo push

^ most of the time, that push works. sometimes it fails. If it does work, sometimes if you run push again a time or two, you can get it to fail.
Actual behavior
When it fails, the end of the error message includes lines like this:
file has vanished: "/opt/app-root/src/node_modules/lodash/.mapKeys.js.YmO8YI"
file has vanished: "/opt/app-root/src/node_modules/lodash/fp/.floor.js.KhC5CR"
file has vanished: "/opt/app-root/src/node_modules/mkdirp/test/.mkdirp.js.pbYr3K"
rsync warning: some files vanished before they could be transferred (code 24) at main.c(1178) [sender=
3.1.2]

 ✗  Building component
 ✗  command terminated with exit code 24

Expected behavior
No failure, or else a more actionable error message :)
Any logs, error output, etc?

I tried (on minishift 1.33.0) more than 5 time to hit it at least once but none of the try hit the issue. Would you please paste the full log if you have keep that log handy or else you can run the push in verbose mode like odo push and share the log in case of failure.
What I suspect is something went wrong in https://github.com/openshift/odo/blob/master/pkg/occlient/occlient.go#L2890 before the actual rsync hit the issue. So if you provide the full verbose failure push log would be helpful.
Anyway I am trying the same steps to reproduce it on aws 4.1 OpenShift cluster.

@amitkrout I can reproduce it pretty consistently by doing the following:

Go here (this will be live for at least a few more days): https://odo-workshop.apps.jkleinert-7a77.openshiftworkshop.com
In one of the terminals do the following:

cd ~/backend
odo create nodejs backend --app parksmap
odo push
odo url create backend --port 8080
odo push --v 9

When you do it in that order - create, push, url create, push again, it should happen. Here is the output from the final push from when I just ran it, attached.
push.txt

Thanks for the details.
@kadel i am able to reproduce it here - https://odo-workshop.apps.jkleinert-7a77.openshiftworkshop.com. The major difference i can see base image bucharestgold/centos7-s2i-nodejs (in my default 3.11 OpenShift env) and rhoar-nodejs/nodejs-10 (in @jankleinert env) are used.
I think something went wrong on base image rhoar-nodejs/nodejs-10 while do second push.
Need more investigation.

/priority major

I'm going to close this for now @jankleinert as we're unable to replicate this.
Please re-open this if you still have the issue :+1:


Fixed "Tag Error: No NDEF message found o NDEF not supported"

Hi Alessandro,
Today I came across #25 and fixed it by simply returning null —preferred this over an empty message because think it's more convenient. I've updated the sample accordingly too.
Also, removed all those bin, obj and packages folder from the repo, ignoring such stuff for further commits.
Keep up the good work,
—Marcos

Thanks :)


Inline schemas support

It seems inline schemas are not as detailed as references to global definitions.
The following swagger both reference inline schemas (Request and Response) and a global definition (ComplexObject) :
swagger: "2.0"
info:
  title: Test
paths:
  /path1:
    post:
      description: Path 1
      tags:
        - all
      parameters:
        - name: Request
          in: body
          schema:
            type: object
            properties:
              param1:
                description: Param 1
                $ref: '#/definitions#ComplexObject'
              param2:
                description: Param 2
                type: string
      responses:
        200:
          description: Response
          schema:
            type: object
            properties:
              generatedId:
                description: Generated id
                type: string
definitions:
  ComplexObject:
    type: object
    properties:
      volumeId:
        description: Volume id
        type: string

The result is :

The schema of Request and Response is just "object".
I propose to add a local section "Definitions" to each path, next to "Description", "Parameters" and "Responses" sections.
Then, detail local objects (like in the global definitions), and create a local cross-reference to them :

One problem, though, is with the link to the local definition, because local parameters names are not globally unique.

Yes, good idea.

At the moment,  I'm very busy. If this is an important feature for you, feel free to create a PR.

See PR #54

@RobWin I have an issue with $ref resolution, perhaps you have a tip :
Given the swagger :
swagger: "2.0"
info:
  title: API
paths:
  /LaunchCommand:
    post:
      summary: LaunchCommand
      description: <description>
      tags:
        - All
      parameters:
        - $ref: './relativeRef.yaml#/parameters/Reservation'
        - name: body
          description: This is the body payload
          in: body
          schema:
            type: object
            properties:
              location:
                $ref: './relativeRef.yaml#/definitions/Location'

      responses:
        200:
          description: ref
          schema:
            $ref: './relativeRef.yaml#/definitions/Location'
        201:
          description: object with ref property
          schema:
            type: object
            properties:
              location:
                $ref: './inlineSchema.yaml#/definitions/Location'

parameters:
  Reservation:
    name: reservation
    in: query
    type: boolean

definitions:
  ExternalLocation:
    $ref: ./relativeRef.yaml#/definitions/Location

  Location:
    type: object
    properties:
      Loop:
        type: boolean

The swagger parser returns RefProperty with format='INTERNAL' and simpleRef='Location' for all refs except for the 201 response.
The location ref in the 201 response is identified as a RefProperty with format='RELATIVE' and simpleRef='./inlineSchema.yaml#/definitions/Location'. I can't do anything with that.
Have I missed something in the spec ?

I created an issue in swagger-parser : https://github.com/swagger-api/swagger-parser/issues/177

Thx

Why do you use the relative path? ./relativeRef.yaml
Testing purpose?
You can also just use #/definitions/Location

Yes, and it works correctly with a simple internal ref.
But we have a use case with relative paths for definitions ;)

@Kabhal Do you want to joint the gitter chat room?https://gitter.im/Swagger2Markup/swagger2markup


Feature/issue 124

Implementations required to fix #124 and #179

Anyone who has time to review the changes is welcome to add code-review comments :sweat_smile:

Future enhancements are planned and listed in https://github.com/WsdlToPhp/PackageGenerator/issues/233, feel free to add more tasks :wink:

Phar is available at https://github.com/WsdlToPhp/PackageGenerator/releases/tag/feature%2Fissue-124 and docker image is available at https://hub.docker.com/r/mikaelcom/wsdltophp

Codecov Report

Merging #234 (e367111) into develop (3938195) will decrease coverage by 0.50%.
The diff coverage is 97.28%.

@@              Coverage Diff              @@
##             develop     #234      +/-   ##
=============================================
- Coverage      98.67%   98.17%   -0.51%
+ Complexity      1860     1698     -162
=============================================
  Files            123      107      -16
  Lines           4315     4007     -308
=============================================
- Hits            4258     3934     -324
- Misses            57       73      +16

Impacted Files
Coverage Δ
Complexity Δ

src/File/Validation/MinOccursRule.php
25.00% <25.00%> (ø)
4.00 <4.00> (ø)

src/Parser/Wsdl/AbstractTagParser.php
91.37% <85.71%> (-2.38%)
29.00 <29.00> (-1.00)

src/Parser/Wsdl/TagUnion.php
86.84% <88.00%> (-10.39%)
18.00 <18.00> (-2.00)

src/File/ClassMap.php
93.75% <88.23%> (ø)
15.00 <15.00> (+1.00)

src/File/Validation/ItemTypeRule.php
94.11% <88.88%> (-5.89%)
11.00 <11.00> (+1.00)
:arrow_down:

src/Parser/Wsdl/TagRestriction.php
92.15% <88.88%> (-7.85%)
23.00 <23.00> (-1.00)

src/File/Operation.php
94.44% <89.28%> (-1.64%)
22.00 <22.00> (ø)

src/Parser/SoapClient/Functions.php
90.90% <90.00%> (-2.85%)
21.00 <21.00> (ø)

src/File/AbstractOperation.php
93.75% <91.42%> (-2.00%)
26.00 <25.00> (ø)

src/Parser/Wsdl/TagList.php
91.66% <91.66%> (-8.34%)
11.00 <11.00> (-1.00)

... and 114 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3938195...6833d8c. Read the comment docs.

Will these changes be compatible with PHP 8 as well as 7.4 ?  And will they be breaking changes that won't be backwards compatible?   Thanks.

Will these changes be compatible with PHP 8 as well as 7.4 ? And will they be breaking changes that won't be backwards compatible? Thanks.

The changes are compatible from PHP >= 7.4, so no more compatible to PHP < 7.4 both for the generator code and the generated code.
You can review the changes in the UPGRADE-4.0 and the 4.0.0 section of the CHANGELOG

Thanks a lot for all your work, @mikaelcom! I did not check the code, but tried the phar. This is what I noticed:

When using this new version, which includes strict types, I think the (simple) validation does not make much sense any more. I know I can disable it in the options, but still, I think it should not be added at all any more. I am talking about checking for string even though the parameter type already is string. Having validation for e.g. types inside arrays is still reasonable.
In the generated ClassMap, it would be much nicer to use MyType::class instead of '\\MyType'.

Thanks @sprankhub, I really appreciate your feedback.
As there is always improvements to be made, I decided to create a new issue, https://github.com/WsdlToPhp/PackageGenerator/issues/233, gathering what would come next allowing to release the new version.
So feel free to add more things in this new issue especially your second comment as I already listed the first one.


Add CodeCov

Codecov Report

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

@@            Coverage Diff            @@
##             master       #7   +/-   ##
=========================================
  Coverage          ?   88.35%
=========================================
  Files             ?       58
  Lines             ?     3694
  Branches          ?        0
=========================================
  Hits              ?     3264
  Misses            ?      430
  Partials          ?        0

Flag
Coverage Δ

#ios
88.35% <ø> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update be3c6d5...8392e28. Read the comment docs.


Missing path separator in api builder

While testing the example for #168 with master branch noticed that the following example produces interesting result.
Javalin.create()
        .port(8080)
        .routes {
            path("settings") {
                get(":id", { it.result("Response " + it.param("id")) })
            }
        }
        .enableRouteOverview("/")
        .start()

Produces /settings:id path.
EDIT:
Seems like in ApiBuilder the prefixPath function should look like this:
private static String prefixPath(@NotNull String path) {
    return pathDeque.stream().collect(Collectors.joining("")) + (path.startsWith("/") ? path : "/" + path);
}

If I remember correctly, this was the reason:
// val app = Javalin.create().apply { dontIgnoreTrailingSlashes() }.start()

path("users") {
    get(controller::get) // this should be '/users'
}

Oh, ok. So should it be like ((path.startsWith("/") || path.isEmpty()) ? path : "/" + path) ?

I think that should be okay.

I'm trying to imagine if anyone could be relying on the old way it functioned, but it does seem pretty unlikely 🤔

Don't think so 😅

Should be fine. Please feel free to fix, I'll label it a bug.

I'll fix it now.


Adding new definitions for Raspberry Pi 3 A+ board

This adds new entries in the Raspberry Pi source files to allow MRAA to work on the newest model board, the 3 A+.  This commit is largely based on the previous one done by Chuck Duey.

Looks good to me.  @bwhaines Thank you for doing this:)

Great. Merged to https://github.com/intel-iot-devkit/mraa/commit/7a1db249feed3dc46ac23fbf4bebf6ab12baf19b


Fix quickstart command

…shortUrl as the source.# Type of PR

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (adding a feature following a feature-request issue)
[ ] Improvement (improving an existing feature - includes style: and perf:commits)
[ ] Refactor (rewriting existing code without any feature change)
[ ] (!) This change is or requires a documentation update

Description
Prior to this PR running the following:
yarn
yarn generate
yarn quickstart

Gave the following:
yarn run v1.22.19
$ concurrently --kill-others "yarn --cwd api quickstart" "yarn --cwd frontend quickstart"
$ yarn generate && cross-env PROSE_DISCOURSE_HOST=https://meta.discourse.org PROSE_APP_HOSTNAME=<IP_ADDRESS> PROSE_APP_PORT=8929 ts-node-dev --no-notify --respawn --transpile-only src/index.ts
$ expo r -c
[1] Invalid project root: /home/simon/git/human-compatible-monorepo/third-party/lexicon/frontend/r
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[1] yarn --cwd frontend quickstart exited with code 1
--> Sending SIGTERM to other processes..
$ yarn generate:schema
[0] yarn --cwd api quickstart exited with code SIGTERM
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Changes
(is all of this PR template really necessary for 1-line change PRs?)

Date: Tuesday, 4 July 2023
Removed r from quickstart

Additional Screenshots
Additional information/context

Hey @SimonBiggs, thanks for submitting a few PRs! It looks the description on these got a bit wonky. Multiple of them seem to start with "...shortURL as the source". Please take a moment to fix those when you have a chance.
Hello, @SimonBiggs, thank you for taking the time to submit several PRs. We appreciate your contributions to the project. However, it seems that the descriptions for these PRs have become a bit disorganized. It appears that multiple PRs begin with the phrase "...shortURL as the source."

(is all of this PR template really necessary for 1-line change PRs?)

While we understand that it might seem excessive for one-line changes, we have established a consistent format for all PRs as part of our standard workflow. This ensures clarity, completeness, and ease of reviewing for our team members. It also helps maintain a cohesive and well-documented codebase.
We value your understanding and cooperation in adhering to this PR template for all your submissions. Thank you again for your contributions and your ongoing support of our project.

Hey @SimonBiggs, thanks for submitting a few PRs! It looks the description on these got a bit wonky. Multiple of them seem to start with "...shortURL as the source", which is breaking the Markdown formatting. Please take a moment to fix those when you have a chance.

(is all of this PR template really necessary for 1-line change PRs?)

While we understand that it might seem excessive for one-line changes, we have established a consistent format for all PRs as part of our standard workflow. This ensures clarity, completeness, and ease of reviewing for our team members. It also helps maintain a cohesive and well-documented codebase.
We value your understanding and cooperation in adhering to this PR template for all your submissions. Thank you again for your contributions and your ongoing support of our project.


Update PAR widget for WCAG 2.2

WCAG 2.2 has been officially released. According to CDT, it introduces new A and AA requirements. State law (AB 434) requires state websites to meet AA level requirements.
As part of our transparency around accessibility, we should show how well we meet those standards in the PAR widget. This ticket is to update the accessibility portion of PAR to include the new requirements.

OK.  There's a few things that might be done here, and it's not super straightforward.
The score in the PAR widget is coming from a google api that is using Lighthouse, under the hood.
https://github.com/GoogleChrome/lighthouse
Lighthouse measures a lot of things, but is not synonymous with WCAG (2.1 or otherwise).  According to a 2019 comment by the developers "Lighthouse covers much, but not all of WCAG 2.1 Level AA requirements and there are things you'll need to check manually.”.  This statement likely also already applies to WCAG 2.2 (it covers a subset, but possibly a smaller subset).
WCAG 2.2 was released in October 2023.  I don't see anything in the recent commit history of Lighthouse that directly addresses any additions to WCAG (nothing that is intended to affect the accessibility scores it is providing).  I'm mostly seeing bug fixes, not feature enhancements.  If anything like this is added, our scores, which use this service, will reflect it (and I would expect to see some of our scores go down slightly if/when when this happens).
There are currently no features in Lighthouse that enable you to specify a version of the WCAG to check against.
There is language on the ODI website that says we are attempting to abide by WCAG 2.1.  It will be helpful for us to understand what is new in WCAG 2.2, and whether Lighthouse already measures it, or will measure it soon.
This excerpt from the FAQ describes what is new in WCAG 2.2.
https://www.w3.org/WAI/standards-guidelines/wcag/new-in-22/
At the moment, we are somewhat dependent on Google to add support for these checks into Lighthouse.  I also need to check if Lighthouse is already checking for any of these new requirements -- it may be!   That is my next step.  I'll let you know what I find!

Ticket updated with some items I found in SiteImprove today. @jbum I linked to SiteImprove for each. I assume you have access. If not, I can share my screen some time. Alternatively, we could ask CDT to add you to our SiteImprove account. (I wouldn't be surprised if we have a license available.)

Our SiteImprove is owned by GovOps not CDT

#2 (color contrast in newsletter sign up form) is coming from a Mailchimp hosted CSS file.  We'll need to clone it, tweak it, and host it locally.  I assume it doesn't like the contrast on the selected button.

I don't currently have SiteImprove credentials, as far as I can tell, but will work on getting on those.

I had a feeling we were inheriting some Mailchimp defaults in the form.
Good to know about SiteImprove! I'm happy to screen share in the interim. I think CDT manages our SiteImprove access, but the IT support team would know for sure.

@m-sullivan7 @jbum
Our SiteImprove is owned by GovOps not CDT
I can ask for Jim to be added

The other ticket for updating mailchimp forms will address one of the issues that came up in the above thread (improving accessibility for mailchimp forms).

Otherwise, I'm going to close this, because of the concerns expressed in my first comment.  I would suggest we continue to identify specific things to fix, based on what the lighthouse reporting turns up.

OK with me. 👍


Feedback on Conditions

Expected Behavior
That "conditions" is easy to use and easy to understand.
Actual Behavior
Things actually work, the way I expect, almost. But it is not straightforward to understand.
Proposed improvements

In the conditional pipeline example, the word from: [first-create-file] within a resource is very hard to detect. This dictate the task-ordering here. It would be easier to read if the runAfter-syntax is used.

Terminology, "condition" and "conditions" is probably technically correct. But in programming I am used that "conditionals" means based on this expression do this or else do that. In Tekton, the "conditions" acts as "guards" for the Task. In programming this concept is usually called "Guards", e.g. Guards in Rust, Guards in Erlang but the syntax may be e.g. when: as in previous links and in e.g. Kotlin when expression
example:
       (b)
     /
 (a)
     \
       (c)

If called "conditional", I imagine that the check is located in (a) and then do (b) or (c) based on evaluation. But if called "guard" (at least conceptually), I easier understand that it can be on e.g. (b) just before the Task executed, as how it works on Tekton today.

We do not distinguish an evaluation error and when a condition is evaluated as condition-not-met. In programming this is fine, because it is just "expression" that is evaluated to true  or  false. But Tekton is dealing with a distributed system and things will fail.
E.g. it may make sense to do a retry when an evaluation fails, but not when an evaluation of a condition evaluates to condition-not-met.
There is still missing pieces here to correctly distinguish between an evaluation fail and condition-not-met
Can conditional-containers write true or false as termination message and exit 0 on successful evaluation?

Be able to negate a Condition. I have a use-case were I want to do X (e.g. deploy) when the PipelineRun was triggered on master git-branch, OR do Y (e.g. create preview-environment) if the PipelineRun was not triggered on master git-branch. Here I would like to use the same Condition (eg. conditionRef: <name> in example) on both, but negate it on one. But then it is important to fail both in case of an evaluation error occur, e.g. empty-string as branch-name (that is a configuration error).
 conditions:                # alternatively "guards:"
   - when:
       conditionRef: <name>
   - whenNot:               # or notWhen
       conditionRef: <other-name>

Unclear flow. E.g. what happens after a condition? It is a bit unclear, but I have tested.
       (b) — (e)
     /
 (a)
     \
       (c) — (d)

If "condition" is set on (c) - e.g (c) is guarded by a "condition". And when evaluated to false, the steps in (c) is not evaluated, also Task (d) is not evaluated. (as I expected). But (b) and (e) is evaluated, and the PipelineRun successfully completed.

Add option to continue after a Task-not-evaluated.
       (b) — (e)
     /
 (a)
     \
       (c) — (d)

If the "condition" is evaluated to false on (c), I may want to execute (d) anyway. The runAfter:-syntax is very clear and it is good to use few elements to dictate task-ordering (since it must be easyli understood by authors and readers). We could introduce some twist on runAfter: ['c'] - to execute (d) even if the condition on (c) evaluates to false. (Not if condition-evaluation fails e.g. err). E.g. runAfterUnconditionally: ['c'].
Related to: https://github.com/tektoncd/pipeline/issues/1023, https://github.com/tektoncd/pipeline/issues/1797#issuecomment-571077462, https://github.com/tektoncd/pipeline/issues/2127

Waiting for a branch that may be executed (in case (c) is guarded by a condition not met), as (f) does with runAfter:['d', 'e']
       (b) — (e)
     /          \
 (a)              (f)
     \          /
       (c) — (d)

We should handle this, e.g. with that (f) use a runAfterOneOf:['d', 'e']

When a task run after (using runAfter:) a task that actually fail, a Pipeline author should be able to declare that the failed task wasn't so important, it was allowedToFail. This is different than condition-not-met. The task after the failed, should be able to actually check if the previous task failed using a Condition (guard).
But we still need a finally: pipelineTask, that also can have a Condition.
Related to: https://github.com/tektoncd/pipeline/issues/1023, https://github.com/tektoncd/pipeline/issues/1684#issuecomment-611016087, https://github.com/tektoncd/pipeline/issues/2446

/kind design

/reopen
/remove-lifecycle rotten
I think a lot of the points @jlpettersson brought up are being addressed in the new conditions proposal https://github.com/tektoncd/community/blob/master/teps/0007-conditions-beta.md
@jerop if you get a chance could you update this issue re. which of the issues above are being addressed and how?

/assign jerop

Thank you for the feedback @jlpettersson :)
These are some ways we've addressed the feedback in the Conditions Beta work:

In the conditional pipeline example, the word from: [first-create-file] within a resource is very hard to detect. This dictate the task-ordering here. It would be easier to read if the runAfter-syntax is used.

In the example in WhenExpressions, we reference the resources directly in the Input or Values using syntax used broadly in tekton, such as $(params.branch) or $(tasks.aTask.results.aResult)

Terminology, "condition" and "conditions" is probably technically correct. But in programming I am used that "conditionals" means based on this expression do this or else do that. In Tekton, the "conditions" acts as "guards" for the Task. In programming this concept is usually called "Guards", e.g. Guards in Rust, Guards in Erlang but the syntax may be e.g. when: as in previous links and in e.g. Kotlin when expression
example:
       (b)
     /
 (a)
     \
       (c)

If called "conditional", I imagine that the check is located in (a) and then do (b) or (c) based on evaluation. But if called "guard" (at least conceptually), I easier understand that it can be on e.g. (b) just before the Task executed, as how it works on Tekton today.

Terminology was clarified in the TEP and used "guard" in the documentation

We do not distinguish an evaluation error and when a condition is evaluated as condition-not-met. In programming this is fine, because it is just "expression" that is evaluated to true  or  false. But Tekton is dealing with a distributed system and things will fail.
E.g. it may make sense to do a retry when an evaluation fails, but not when an evaluation of a condition evaluates to condition-not-met.
There is still missing pieces here to correctly distinguish between an evaluation fail and condition-not-met
Can conditional-containers write true or false as termination message and exit 0 on successful evaluation?

Instead of using exit status of TaskRuns, conditions beta provides WhenExpressions that operate on Results from previous Tasks. A Condition can be translated into a previous Task that produces a Result (can be true or false) that subsequent guarded Tasks can operate on. Demonstrated using Conditional PipelineRun that uses Conditions vs Guarded PipelineRun that uses WhenExpressions.

Be able to negate a Condition. I have a use-case were I want to do X (e.g. deploy) when the PipelineRun was triggered on master git-branch, OR do Y (e.g. create preview-environment) if the PipelineRun was not triggered on master git-branch. Here I would like to use the same Condition (eg. conditionRef: <name> in example) on both, but negate it on one. But then it is important to fail both in case of an evaluation error occur, e.g. empty-string as branch-name (that is a configuration error). conditions:                # alternatively "guards:"
   - when:
       conditionRef: <name>
   - whenNot:               # or notWhen
       conditionRef: <other-name>

The Operators provided in WhenExpressions are In and NotIn which allows for expressing negating by expressing a similar WhenExpression using the opposite Operator (while operating on the same Inputs and Values that could could reuse Results from previous Tasks).

Unclear flow. E.g. what happens after a condition? It is a bit unclear, but I have tested.
       (b) — (e)
     /
 (a)
     \
       (c) — (d)

If "condition" is set on (c) - e.g (c) is guarded by a "condition". And when evaluated to false, the steps in (c) is not evaluated, also Task (d) is not evaluated. (as I expected). But (b) and (e) is evaluated, and the PipelineRun successfully completed.

Clarified in the documentation that happens when a WhenExpression evaluates to False

Add option to continue after a Task-not-evaluated.
       (b) — (e)
     /
 (a)
     \
       (c) — (d)

If the "condition" is evaluated to false on (c), I may want to execute (d) anyway. The runAfter:-syntax is very clear and it is good to use few elements to dictate task-ordering (since it must be easyli understood by authors and readers). We could introduce some twist on runAfter: ['c'] - to execute (d) even if the condition on (c) evaluates to false. (Not if condition-evaluation fails e.g. err). E.g. runAfterUnconditionally: ['c'].
Related to: #1023, #1797 (comment), #2127

Added a flexible skipping option using continueAfterSkip to allow executing of ordering-dependent Tasks

But we still need a finally pipelineTask, that also can have a Condition.

do you have some use cases for this? for now, we've disallowed WhenExpression in finally (cc @pritidesai)

/close


Deprecate Binary, Hexadecimal and Octal

Hi! Thanks for your work on the Roc track.
I've noticed some problems with the specification of the "Binary" exercise and wrote about them in the forums:

https://forum.exercism.org/t/binary-should-empty-input-be-rejected/13282
https://forum.exercism.org/t/binary-expected-output-is-not-decimal-representation-of-a-number/13281

It turned out that the exercise has been deprecated for 7 years and "All of your base" should be implemented instead. As the Roc track already has the  "All of your base" exercise, I think the "Binary" exercise can be removed from the track.
The same applies to "Hexadecimal" and "Octal".

EDIT: "Accumulate" is also deprecated, list-ops should be implemented instead.

Oh I didn't notice these deprecations, thanks for letting me know. I'll remove them.


Implement MCTP and PLDM on common code

Summary:

Support PLDM over MCTP over SMBUS
Asynchronous command response function invoke
Support initiative send MCTP request command
MCTP service
PLDM service

Test Plan:

Build code: Pass

Can you run clang-format --style=file -i  on all the changed files so that the format test passes.

Hi @GoldenBug
We have applied clang-format on all changed files and rebase from the main, please help us to review this PR.
Thanks.


get_kubeconfig.sh: make output file path configurable

Currently we leak files into /tmp which isn't ideal in many cases, so add the option to specify a predictable filename via the env file

Would you mind adding the parameter to the readme as well?

Good point, done! :)

Would you mind adding the parameter to the readme as well?

Good point, done! :)

sorry, I was talking about https://github.com/suse-edge/misc/blob/c8406c949cf7b32ac02d65859e41a31779596ee5/slemicro/README.md?plain=1#L129 😅

Would you mind adding the parameter to the readme as well?

Good point, done! :)

sorry, I was talking about
https://github.com/suse-edge/misc/blob/c8406c949cf7b32ac02d65859e41a31779596ee5/slemicro/README.md?plain=1#L129
😅

Oh I see, I missed that we had that in the README as well as the env.example 😄 will add!
I guess another approach instead of this override would be to drop the mktemp completely and have the kubeconfig default to ${BASEDIR}/vm-${VMNAME}.kubeconfig ?

Would you mind adding the parameter to the readme as well?

Good point, done! :)

sorry, I was talking about
https://github.com/suse-edge/misc/blob/c8406c949cf7b32ac02d65859e41a31779596ee5/slemicro/README.md?plain=1#L129
😅

Oh I see, I missed that we had that in the README as well as the env.example 😄 will add!
I guess another approach instead of this override would be to drop the mktemp completely and have the kubeconfig default to ${BASEDIR}/vm-${VMNAME}.kubeconfig ?

I've been thinking about this and what about:

if the script was executed with -f, then create the kubeconfig just like the parameters file but with the .kubeconfig extension
otherwise as you said, ${BASEDIR}/vm-${VMNAME}.kubeconfig

OTOH not sure if this is going to complicate things for little gains or just keep it as your first proposal (mktemp if not provided)

Would you mind adding the parameter to the readme as well?

Good point, done! :)

sorry, I was talking about
https://github.com/suse-edge/misc/blob/c8406c949cf7b32ac02d65859e41a31779596ee5/slemicro/README.md?plain=1#L129
😅

Oh I see, I missed that we had that in the README as well as the env.example 😄 will add!
I guess another approach instead of this override would be to drop the mktemp completely and have the kubeconfig default to ${BASEDIR}/vm-${VMNAME}.kubeconfig ?

I've been thinking about this and what about:

if the script was executed with -f, then create the kubeconfig just like the parameters file but with the .kubeconfig extension
otherwise as you said, ${BASEDIR}/vm-${VMNAME}.kubeconfig

OTOH not sure if this is going to complicate things for little gains or just keep it as your first proposal (mktemp if not provided)

That sounds reasonable to me - honestly I don't have a strong preference, I can easily rework this as you describe if you prefer that approach 👍

Would you mind adding the parameter to the readme as well?

Good point, done! :)

sorry, I was talking about
https://github.com/suse-edge/misc/blob/c8406c949cf7b32ac02d65859e41a31779596ee5/slemicro/README.md?plain=1#L129
😅

Oh I see, I missed that we had that in the README as well as the env.example 😄 will add!
I guess another approach instead of this override would be to drop the mktemp completely and have the kubeconfig default to ${BASEDIR}/vm-${VMNAME}.kubeconfig ?

I've been thinking about this and what about:

if the script was executed with -f, then create the kubeconfig just like the parameters file but with the .kubeconfig extension
otherwise as you said, ${BASEDIR}/vm-${VMNAME}.kubeconfig

OTOH not sure if this is going to complicate things for little gains or just keep it as your first proposal (mktemp if not provided)

That sounds reasonable to me - honestly I don't have a strong preference, I can easily rework this as you describe if you prefer that approach 👍

Sorry, I think the best way would be a third way 😅 , the curl or grub2-mkconfig way:

The kubeconfig is show in the stdout by default
If using a flag (-o to be compliant with both curl & grub2-mkconfig), it goes to that destination.

I think this simplifies the whole logic and it is more flexible, like:
# classic example if using just the ~/.kube/config file
./get-kubeconfig.sh -f foobar && mv foobar.kubeconfig ~/.kube/config
# vs
./get-kubeconfig -f foobar -o ~/.kube/config
# or
./get-kubeconfig -f foobar > ~/.kube/config

In any case... whatever you choose is better than my poor attempt using mkdir so I'll approve any approach you decide :D

./get-kubeconfig.sh -f foobar && mv foobar.kubeconfig ~/.kube/config

I'm fine with adding the -o but I'd prefer not to rely on the -f filename to name the kubeconfig, because that won't work in the default case (read from .env or use script defaults) - if we use a name derived from ${VMNAME} that will work regardless of the mode of invocation and will be more consistent?

./get-kubeconfig.sh -f foobar && mv foobar.kubeconfig ~/.kube/config

I'm fine with adding the -o but I'd prefer not to rely on the -f filename to name the kubeconfig, because that won't work in the default case (read from .env or use script defaults) - if we use a name derived from ${VMNAME} that will work regardless of the mode of invocation and will be more consistent?

sorry, I explained myself very poorly 😓 that first line was just an example if we implement the 'get the name from the filename or the name' vs the other two lines are examples on how to do it with the -o flag.

@e-minguez sorry I forgot about this PR - now updated to align with the suggestions to align with curl-ish behaviour


Added links to blog posts

Motivation
Added 3 links to blog posts on Pulsar.

Ping @saandrews @rdhabalia


Optimize Witness Serialization

fix #942

self.to_vec() allocates, it should be possible to avoid it - just feed the items into serializer.

based on https://github.com/rust-bitcoin/rust-bitcoin/pull/1068

cargo +nightly build seems to fail -- I think you need to feature-gate the new serde stuff.

The commit message is fixed BTW to use Tobin's suggestion.


Add more tests

Codecov Report

Merging #230 (e9a3080) into master (cc273e6) will increase coverage by 0.65%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #230      +/-   ##
============================================
+ Coverage     67.09%   67.75%   +0.65%
- Complexity      695      707      +12
============================================
  Files           107      107
  Lines          2425     2425
  Branches        330      330
============================================
+ Hits           1627     1643      +16
+ Misses          671      655      -16
  Partials        127      127

Impacted Files
Coverage Δ

.../main/java/seedu/address/model/schedule/Event.java
72.14% <0.00%> (+1.42%)
:arrow_up:

.../address/model/schedule/IsPersonFreePredicate.java
72.22% <0.00%> (+5.55%)
:arrow_up:

...gic/commands/schedule/FindCommonTimingCommand.java
8.69% <0.00%> (+8.69%)
:arrow_up:

...ddress/logic/commands/person/ViewGroupCommand.java
61.53% <0.00%> (+30.76%)
:arrow_up:

...u/address/model/person/IsTagInPersonPredicate.java
85.71% <0.00%> (+42.85%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cc273e6...e9a3080. Read the comment docs.


Custom-AL2 amiFamily or make ephemeral storage block-device explicit

Tell us about your request
CIS hardened custom AMIs using https://github.com/awslabs/amazon-eks-ami as the base image aren't usable with karpenter currently due to how ephemeral storage is determined, and user-data bootstrap script injection is enabled.
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Getting a working kubelet or working ephemeral storage requests are mutually exclusive with a custom AMI that uses the official EKS AMI as a base.
Custom AMIs from https://github.com/awslabs/amazon-eks-ami require the NodeTemplate amiFamily: AL2 in order to get a working kubelet - its impractical to include the correct bootstrap script arguments - some settings come from the Provisioner or are otherwise not practical to get (cluster-name, cluster-endpoint, cluster-ca data) into the NodeTemplate manifests.
However CIS hardened images (small root volume, larger /var/lib/containerd or /var/lib/kubelet volumes) require the amiFamily: Custom in order to schedule Pods with ephemeral storage requests.
Ephemeral storage discovery (undocumented?) looks at the last block device mapping for Custom, /dev/xvda for AL2:

https://github.com/aws/karpenter/blob/v0.27.5/pkg/providers/instancetype/types.go#L140

https://github.com/aws/karpenter/blob/v0.27.5/pkg/providers/instancetype/types.go#L177

https://github.com/aws/karpenter/blob/v0.27.5/pkg/providers/amifamily/al2.go#L99

Are you currently working around this issue?
No practical solution available yet.  Custom build required.
Additional Context
To be able to specify amiFamily: AL2 (to get the bootstrap user-data injection) and explicitly specify which block device holds the effective ephemeral storage would suffice.
Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

For our environment a custom build with pkg/providers/instancetype/types.go::ephemeralStorage:
// Setting ephemeral-storage to be either the default value or what is defined in blockDeviceMappings
func ephemeralStorage(amiFamily amifamily.AMIFamily, blockDeviceMappings []*v1alpha1.BlockDeviceMapping) *resource.Quantity {
	return blockDeviceMappings[len(blockDeviceMappings)-1].EBS.VolumeSize
}

Would be nice to perhaps have `amiE

The selection logic we use for the root volume is definitely a hack. It worked for all the things we knew about, AL2 and Bottlerocket (where Bottlerocket has a 2 volume setup as your describe).
I'm curious why the last block device mapping doesn't work for your case though? IIUC the bigger volume will house the data dirs (/var/lib/containerd and /var/lib/kubelet)? So couldn't you move those dirs over to the additional volume attached and setup your block device mappings such that the bigger volume is the last mapping?

@bwagner5 - the last block device mapping use case does work for us (but requires setting the Custom amiFamily) - but we need the AL2 amiFamily bootstrap script user-data injection too.

@bwagner5 we have a similar setup(small root volume, larger /var/lib/kubelet volumes) and run into the same issue with dedicated ebs volume(/dev/xvdb) for kubelet root dir(/var/lib/kubelet). Karpenter only counts the capacity of /dev/xvda for AL2 therefore:

it won't correctly evaluate different templates when provision new instances. For example, it refuses to provision new instances when requested ephemeral storage is larger than root drive(/dev/xvda) which is very small in our setup.
this also leads to a race between the default scheduler and karpenter, but I am not sure if this will cause any problem.


Get onto awesome

Please reread the contributing guidelines, there are many issues

@itsjtwright Thanks, Will look into it

I rechecked the entire list, Also STOP posting vague comment,

"there are many issues"

Means nothing, Please pin point

I have read and understood the contribution guidelines and the instructions for creating a list. - Check
This pull request has a descriptive title. For example, Add Name of List, not Update readme.md or Add awesome list. - check
The entry in the Awesome list should include a short description about the list project/theme (not the list itself), and should be added at the bottom of the appropriate category. Check, Title's are self explanatory

The list I added
-- has been around for at least 30 days - Check
-- is the result of hard work and is the best I could possibly produce, -- Check
-- is a non-generated Markdown file in a GitHub repo, - Check
-- is not a duplicate, - Check
-- includes a succinct description of the project/theme at the top (example), - Check
-- includes a project logo/illustration (whenever possible) at the top right of the readme (example). - Check
-- only has awesome items with descriptions (Awesome lists are curations of the best, not of everything), - Check
-- contains the awesome badge on the right side of the list heading, - Check
-- has a Table of Contents section named Contents as the first section, - Check
-- has an appropriate license (Meaning something like CC0, NOT a code licence like MIT, BSD, Apache, etc) - Check
-- has contribution guidelines, - Check
-- doesn't include a Travis badge, - Check
-- has been checked for inconsistent formatting, spelling, and grammar: - Check
-- Each link description starts with an uppercase character and ends with a period. - Check
-- Drop all the A / An prefixes in the descriptions. - Check
-- Consistent naming. For example, Node.js, not NodeJS or node.js. - Check


block this domain

i think it is used for capture the user location by gooogle and surely for tracking
userlocation.googleapis.com

Thank you for this @holequantum.
My research into domain userlocation.googleapis.com isn't turning up anything nefarious.
I'm going to need some evidence to support what you think.  I'm not saying you're wrong, I'm just saying, show us.

it is actually extremely hard to actually give evidence.
but i have a pixel device with graphene installed that does not ping that server.
a simple whois showing this is a googles server.
and i have manually blocked that and does not saw any issues at all. everything was working as it should be.
and as you can see this is not a part of android itself https://cs.android.com/search?q=userlocation.

This could break Google Maps in theory though, right?

nope it does not block gmaps or location services
mobilemaps-pa-gz.googleapis.com
mobilemaps.googleapis.com
android.apis.google.com
this 3 is important in gmaps

Blocking this domain can actually break or reduce location accuracy for any third party app or service should the developer be using Google's Geolocation API. Websites that use the API to provide service get an error outright.
This page demonstrates how to use this API for a website. If you block this domain, the website will have issues getting your location.
It is not advised to block this domain by default. This could cause a myriad of issues for all manner of users.

Yes it provide some help for other 3rd party apps but that is not all but google collections location with that and use that for tergeting users

What you think is "not acceptable" is not relevant. Blocking that domain will causes issues for services that use Google's Location API. Those services may very well need them and putting that domain in in public host will, again, cause more issues than fix. As I said in a previous comment, you realistically cannot just block API domains carelessly.

We have a number of curated sources amalgamated into our lists.  Google is among the most, if not THE most scrutinized company when it comes to assessing its trackng activities.
I'm going to let our curators decide.  Those who watch Google like a hawk will make this call. I'm not making this call.
When I'm driving, and there's a delay ahead, I want Waze to be able to re-route me to avoid the delay with a sensible bypass route.  I give Waze location privileges. I never want my hosts file to make that call for me. That's just me.
Closing.

Thanks about that having a better understanding about that my device is constantly pinging is good. If it is important then we can not block for sure in my situation blocking this does not make any issue.

Just to give you some background, many Google and Microsoft domains have been blocked in the past because they are found to include tracking data while not realising blocking that domain broke core services or functionality.
A community managed list is here: https://discourse.pi-hole.net/t/commonly-whitelisted-domains/212
There are a few great examples.
tracking.epicgames.com does indeed include tracking data tied to your personal information, but blocking the domain completely breaks purchasing anything from their store.
clients.google.com is known to track data that is personally identifiable. Blocking the client domains breaks more than one Google service entirely.
Multiple Microsoft domains are tracking and providing OS functionality. Some of these domains are tied to updates, others simply enabling the use of specific apps.
For future reference, when you think you've come across a domain that is suspect, use a web debugger to inspect and scrutinize it. Pass the domain around to friends and have them block it too. The more people the better. You have to be 100% certain it won't affect people negatively. The domains I have submit in the past were inspected and block tested by about a dozen people for months before I opened an issue here to have them added.


AWS API Gateway with Amazon Lambda integrations support

PathFinder refactor and path_finder_cls parameter added to Validator to introduce APIGatewayPathFinder
Fixes #204

Closing in favor of https://github.com/python-openapi/openapi-core/pull/796


Test

/check-urls

https://github.com/r-hub/docs/runs/586584379?check_suite_focus=true but it runs on the latest commit to master.
Cc @vsoch if you want to follow along 😉
https://github.community/t5/GitHub-Actions/Issue-Comment-events-on-github-actions/td-p/34124# was interesting

I'll switch to pr labeled

Aaah it works.
Pro: can be triggered several times w/o cluttering the PR convo. It even outputs a check above!
Con:one needs to add the workflow file and create a label.


Endless CPU spin because of input polling

Thanks for this game!
But it burns a lot of electricity because it uses 100% of one CPU core for a busy wait for inputs. This makes it not playable on my laptop running on battery. Please fix this by replacing the calls SDL_PollEvent(&result); with SDL_WaitEvent(&result); in the file input.hpp, that should fix it.

Hi. Thanks for the fix. I have made the corresponding changes. At the moment, I can only update the source code and the .deb packages.


getting uninformative errors when mocha side bar fails to run  "Failed to run tests due to unknown error"

On attempt to run any test command it says "Failed to run tests due to unknown error". Also I can find "undefined" message in Output pane. How can I debug this? "unknown error" is not really informative. Can I see backtrace somewhere so I can guess what is wrong?
(OSX, node8.9, mocha installed into ./node_modules and not globally).

Actually when I save file something interesting appears in output:
Running Mocha with Node.js at /usr/local/bin/node

Applying Mocha options:
  {
    "recursive": true
  }

Test file(s):

  0 passing (0ms)

###end
------------------------------------
finish failuare amount:0
------------------------------------

Usually I run my tests via yarn test or npm test which invoke following command: mocha -r dotenv/config --recursive ./test dotenv_config_path=.env.test. I've added some options to workspace settings:
    "mocha.options": {
        "recursive": true
    },
    "mocha.requires": ["dotenv/config"]

not sure how can I pass dotenv_config_path=.env.test to mocha.

Do you have some sample code that I can test and debug it for you tks

@nicck  does your tests running from mocha command line?

I've created a small repo to show the problem: https://github.com/nicck/mocha-sidebar-test-app
~/Code/testapp master
❯ yarn
yarn install v0.27.5
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.83s.

~/Code/testapp master
❯ yarn test
yarn test v0.27.5
$ mocha -r dotenv/config --recursive ./test dotenv_config_path=.env.test
Warning: Could not find any test files matching pattern: dotenv_config_path=.env.test

  env
    ✓ works

  doit
    ✓ works
    1) does not work

  2 passing (12ms)
  1 failing

  1) doit does not work:

      Error: Expected 123 to equal 321
      + expected - actual

      -123
      +321

      at assert (node_modules/expect/lib/assert.js:29:9)
      at Expectation.toEqual (node_modules/expect/lib/Expectation.js:81:30)
      at Context.it (test/app/doit.test.js:18:29)

error Command failed with exit code 1.

it works from command line as expected.

@maty21 please let me know if I can help with reproducing this issue or you need any more details.

Tks man I will debug it in the weekend :)

@nicck We need to figure out how to support dotenv, but as a workaround you could add the env from the file to mocha.env settings.
I was able to get your tests to run with these settings:
{
    "mocha.requires": [
        "dotenv/config"
    ],
    "mocha.options": {
        "recursive":true
    },
    "mocha.env": {
        "NODE_ENV":"test",
        "OAUTH_CLIENT_ID":987
    }
}

fixed in version 0.14.30