[Bug] retrieve flink jobManager fail by k8s ingress

Search before asking

[X] I had searched in the issues and found no similar issues.

Java Version
No response
Scala Version
2.11.x
StreamPark Version
2.1.3
Flink Version
1.14.4
deploy mode
None
What happened
retrieve flink jobManager fail by k8s ingress, because ingress config not configured spec.ingressClass.
K8S versionI is v1.27.4，version > 1.18 is needed
Error Exception
15:00:30.972 [ForkJoinPool-1-worker-17] INFO org.apache.streampark.flink.kubernetes.KubernetesRetriever - retrieve flink jobManager rest url: http://flink.mfwdev.com/flink-cluster/side-pipline-web/
15:00:30.975 [ForkJoinPool-1-worker-17] WARN org.apache.streampark.flink.kubernetes.watcher.FlinkJobStatusWatcher - The retry fetch failed, final status failed, errorStack=status code: 404, reason phrase: Not Found.
15:00:31.149 [ForkJoinPool-1-worker-17] INFO org.apache.streampark.flink.kubernetes.watcher.FlinkJobStatusWatcher - Task Enter the initialization process.
15:00:35.778 [ForkJoinPool-1-worker-36] WARN org.apache.streampark.flink.kubernetes.watcher.FlinkJobStatusWatcher - Failed to visit remote flink jobs on kubernetes-native-mode cluster, and the retry access logic is performed.
Screenshots

Are you willing to submit PR?

[X] Yes I am willing to submit a PR!(您是否要贡献这个PR?)

Code of Conduct

[X] I agree to follow this project's Code of Conduct

finish？


Fixing object compare on boolean list returns

Fixes the issue that the comparison method crashes even before considering custom comparers on comparing elements that return a list of booleans instead of a single boolean.
This can happen with e.g. Pandas, NumPy and GeoPandas objects.

When you say crashes even before considering custom comparers, can you give me an example traceback?
If this is specifically about numpy arrays and dataframe-like things, I do wonder if they're better served by the more specific tools that ship with those libraries.
I'm keen to understand your use case, but the code change you're make is pretty invasive for all other use cases and adds complexity where I'd prefer there to be less not more ;-)

Yes sure, thank you for the response. Here's a minimal example:
import numpy as np
from testfixtures import compare

def compare_NDARRAY(x, y, context):
    if any(x != y):
        return f"Arrays don't match"

a = np.asarray([1,2,3])
b = np.asarray([2,2,3])
compare(actual=a, expected=b, comparers={np.ndarray: compare_NDARRAY})

Activating ignore_eq seems to work at least because the exception points are skipped by this option.
I get your point about increasing complexity on integrating the "fix", so probably another workaround would be to implement an own logic to identify such types and then activate the ignore_eq option conditionaly.

Okay, and the traceback from the above?

Please see the traceback below:
Traceback (most recent call last):
File "C:\Users\webco\Desktop\test.py", line 10, in
compare(actual=a, expected=b, comparers={np.ndarray: compare_NDARRAY})
File "C:\Users\webco\AppData\Local\Programs\Python\Python37\lib\site-packages\testfixtures\comparison.py",
line 674, in compare
if not context.different(x, y, not_there):
File "C:\Users\webco\AppData\Local\Programs\Python\Python37\lib\site-packages\testfixtures\comparison.py",
line 577, in different
if not (self.strict or self.ignore_eq) and x == y:
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()

Right, so this is very much into "__eq__ is unusable with your objects" territory. Why don't you want to pass ignore_eq=True?


web_sys::Navigator::hardware_concurrency should return u64

Probably one of those things that can be fixed only on a major version bump: right now Navigator::hardware_concurrency returns f64, but it should be returning u64 as per spec (https://html.spec.whatwg.org/multipage/workers.html#dom-navigator-hardwareconcurrency) and for easier consumption by the end user.

I found this via a related nit... the offset parameter for vertexAttribPointer in WebGL is a GLintptr type,
Typedef is long long in the IDL
https://github.com/rustwasm/wasm-bindgen/blob/564ce74168904e95a7905a828488ec3029bcaad4/crates/web-sys/webidls/enabled/WebGLRenderingContext.webidl#L25
and so the generator produces bindings as both i32 and f64, (rather than i32 and u64?)
https://github.com/rustwasm/wasm-bindgen/blob/564ce74168904e95a7905a828488ec3029bcaad4/crates/web-sys/src/features/gen_WebGlRenderingContext.rs#L1942-L1971
I guess an f64 can encode more of the integer space of a u64 than an i32 can, but not all of it!  Interesting decision by the IDL translator, to be sure.

I guess an f64 can encode more of the integer space of a u64 than an i32 can, but not all of it!

That's sort of an unsolvable problem - even if the type on the Rust side is changed to u64, the number still has to be temporarily converted to an f64 within the JS glue, since a WebIDL long long argument only accepts JS numbers.


Only check the touched markdown files in PR for the Verify link step

Triggered from PR based on master:
https://dev.azure.com/azure-sdk/public/_build/results?buildId=576322&view=logs&jobId=b70e5e73-bbb6-5567-0939-8415943fadb9&j=b70e5e73-bbb6-5567-0939-8415943fadb9&t=bdeefc16-b669-5ebd-ad94-a2c19ade53b0
Triggered from PR based on feature:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=576321&view=logs&jobId=b70e5e73-bbb6-5567-0939-8415943fadb9&j=b70e5e73-bbb6-5567-0939-8415943fadb9&t=bdeefc16-b669-5ebd-ad94-a2c19ade53b0
Triggered from ci/manual build:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=576324&view=logs&s=6884a131-87da-5381-61f3-d7acc3b91d76&j=b70e5e73-bbb6-5567-0939-8415943fadb9
Changes in all repos:
Java: https://github.com/Azure/azure-sdk-for-java/pull/16008
.NET: https://github.com/Azure/azure-sdk-for-net/pull/15929
Python: https://github.com/Azure/azure-sdk-for-python/pull/14466
JS: https://github.com/Azure/azure-sdk-for-js/pull/11803
Android: https://github.com/Azure/azure-sdk-for-android/pull/405
C: https://github.com/Azure/azure-sdk-for-c/pull/1431
CPP: https://github.com/Azure/azure-sdk-for-cpp/pull/787
Go: https://github.com/Azure/azure-sdk-for-go/pull/12809
IOS: https://github.com/Azure/azure-sdk-for-ios/pull/488

/azp run java - core -ci

/azp run java - core - ci

It would be good to also double check submitting a PR to which contains a MD file with a broken link to make sure everything correctly gets detected.


Update Codecov action

Codecov Report

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

@@                 Coverage Diff                  @@
##             release-candidate       #1   +/-   ##
====================================================
  Coverage                     ?   48.18%
====================================================
  Files                        ?       11
  Lines                        ?      413
  Branches                     ?        0
====================================================
  Hits                         ?      199
  Misses                       ?      214
  Partials                     ?        0

Continue to review full report at Codecov.

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


Share the CTI page: implement "Don’t forget to star our repository"

Overview
We need functional code to implement "Don’t forget to star our repository" on Share the CTI http://civictechindex.org/support/share
Action Items
Implement the appropriate GitHub embed code to allow users to easily star our repo
Resources/Instructions

Still working on the issue. If we want to star the repository with the click of a button we need OAuth authentication. For now, we can implement using https://buttons.github.io/


How to disable launch animation (scale up)

Is your feature request related something that is currently hard to do? Please describe.
It launchs slow. The animation also increase startup time and not so good (scale from 0 to 1?), hurt eyes.
Describe the solution you'd like
disable, or change scale effect?
Describe alternatives you've considered
None.
Additional context
VSCode slows too. But show windows immediately no animation. I want to have an option to disable it. Thanks.

Wait, how long is "slow"? It shouldn't take more than half a second or so to launch. I'm wondering if it's misc plugins and vimrc settings making the launch slow. If you launch vim in terminal does it come up immediately? What happens if you launch MacVim GUI with no plugins (do mvim -u NONE -U NONE in terminal)?

I see the same even I have no configuration at all (-u NONE -U  NONE). This is how MacVim GUI creates a new window. I'd also prefer to have no such animation at all.
The half of a second is enough to be noticeable and it may be bad for some people. Most applications on macOS doesn't include open animation (e.g. Safari, Terminal, Mail). It's better to add a defaults option to change this behaviour.

@ychin As @eirnym said, the slow may caused by plugins. It doesn't matter in this case, I will optimize it latter. Even when plugins are all disabled, the animation is also annoying.

I guess I'm ok with adding an option to turn it off. The animation is the default if you use the "document window" style, and you can see that in default apps like TextEdit and Apple Maps, so I'm going to leave the current behavior as default. The new option will be a command-line-only toggle.


Fix UIKitCaseStudies' List example

Hi there!
Noticed that the UIKitCaseStudies' List example had a small problem with countLabel of CounterViewController.
It wasn't updating accordingly when incrementing/decrementing.
This PR fixes it.

Ah thanks! That case study is a bit out-of-date 😅

Np 👍 :)
While fixing it, I was considering to add some unit-tests for the UIKitCaseStudies.
What do you think? Would it be useful?

While fixing it, I was considering to add some unit-tests for the UIKitCaseStudies. What do you think? Would it be useful?

@bjford One issue with the current studies is they rely on a deprecated version of forEach, and we haven't investigated what it would mean to upgrade to the latest one.
We don't want to send you on any wild goose chases, though! 😅

While fixing it, I was considering to add some unit-tests for the UIKitCaseStudies. What do you think? Would it be useful?

@bjford One issue with the current studies is they rely on a deprecated version of forEach, and we haven't investigated what it would mean to upgrade to the latest one.
We don't want to send you on any wild goose chases, though! 😅

Hi again @stephencelis!
I've been looking into what you said, but I couldn't figure out whether the UIKitCaseStudies uses a deprecated version of the .forEach operator.
I can see its deprecations:

However when I jump to the definition of .forEach then I'm redirected here https://github.com/pointfreeco/swift-composable-architecture/blob/dd084dc147dadede0ad25f829a43ceafed2b9abc/Sources/ComposableArchitecture/Reducer.swift#L754

@bjford That might just be Xcode getting confused. That's the non-deprecated version that uses IdentifiedArray instead of Array, so it should be good to use!

@bjford That might just be Xcode getting confused. That's the non-deprecated version that uses IdentifiedArray instead of Array, so it should be good to use!

Ah okay, so just to clarify UIKitCaseStudies is using the proper version of .forEach.

@bjford Oh ha! I completely forgot that I already fixed that 😅 https://github.com/pointfreeco/swift-composable-architecture/pull/924

@bjford Oh ha! I completely forgot that I already fixed that 😅 #924

@stephencelis awesome! 💪

Hi,  still getting to know TCA and actually just encountered this problem (because I hadn't updated the library).
I'm looking at the solution in your commit and I can't quite figure out why it didn't work before.
Previously it was accessing the counter for the corresponding row like this:
let counter = self.viewStore.counters[indexPath.row]
and in the fixed version it's accessing it like this:
self.navigationController?.pushViewController(
      CounterViewController(
        store: self.store.scope(
          state: \.counters[indexPathRow],
          action: { .counter(id: counter.id, action: $0) }
        )

Why does accessing the counter state via keypath vs accessing it using self.viewStore.counters make a difference?

Hi, still getting to know TCA and actually just encountered this problem (because I hadn't updated the library).
I'm looking at the solution in your commit and I can't quite figure out why it didn't work before.
Previously it was accessing the counter for the corresponding row like this: let counter = self.viewStore.counters[indexPath.row]
and in the fixed version it's accessing it like this:
self.navigationController?.pushViewController(
      CounterViewController(
        store: self.store.scope(
          state: \.counters[indexPathRow],
          action: { .counter(id: counter.id, action: $0) }
        )

Why does accessing the counter state via keypath vs accessing it using self.viewStore.counters make a difference?

Hi @tylerjames!
As far as I understand it makes a difference because using key path you'll get a func in the form of (State) -> LocalState: that is what the first argument of .scope expects. check here
The following will also work state: { $0.counters[indexPathRow] }: no key path here.
These two solution are consuming the State that is fed in the closure.
The problem is that using { _ in counter } won't make it because it is ignoring the State that is fed in the closure. You must use that State.
Hope that this makes sense and answers your question.

Yes, that makes perfect sense. Thank you.


Coral Dev Board Mini cannot set a PWM frequency lower than +- 25 Hz

Description
I am working on a project which involves variable PWM frequency. I am able to set the PWM frequency to most frequency values above 25 Hz, but for some reason it crashes when setting a frequency lower than approximately 25 Hz. I have tried Adafruit-Blinka as well as Periphery, but none of these API's work with frequencies lower than approximately 25 Hz.
Code produced with Adafruit-Blinka's pwmio:
import pwmio
pwm_max = 6000
PWM_x = pwmio.PWMOut(board.PWM_B, frequency=pwm_max, variable_frequency=True)
PWM_x.duty_cycle = int(0.5 * 2 ** 16)
while True:
    inp = input('set frequency: ')
    PWM_x.duty_cycle = 0
    PWM_x.frequency = float(inp)

Code produced with Periphery :
from periphery import PWM

pwma = PWM(0, 1)
pwma.frequency = 1000
pwma.duty_cycle = 0.50
pwma.enable()

while True:
    inp = input('set frequency: ')  # Tried with 1000, 500, 250, 100, 25, (24 --> Does not work)
    pwma.duty_cycle = 0.50
    pwma.frequency = float(inp)

When given a frequency of example 24 Hz, it crashes with the output in the log:
Click to expand!
Issue Type
Bug
Operating System
Mendel Linux
Coral Device
Dev Board Mini
Other Devices
No response
Programming Language
Python 3.7
Relevant Log Output
*** ----------------------------------- Periphery -------------------------------- ***

OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "Writing.py", line 438, in <module>
    pwma.frequency = float(inp)
  File "/usr/local/lib/python3.7/dist-packages/periphery/pwm.py", line 270, in _set_frequency
    self.period = 1.0 / frequency
  File "/usr/local/lib/python3.7/dist-packages/periphery/pwm.py", line 228, in _set_period
    self.period_ns = int(period * 1e9)
  File "/usr/local/lib/python3.7/dist-packages/periphery/pwm.py", line 179, in _set_period_ns
    self._write_channel_attr("period", str(period_ns))
  File "/usr/local/lib/python3.7/dist-packages/periphery/pwm.py", line 118, in _write_channel_attr
    f_attr.write(value + "\n")
OSError: [Errno 22] Invalid argument

*** ----------------------------------- Adafruit Blinka -------------------------------- ***
OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "Writing.py", line 445, in <module>
    PWM_x.frequency = float(inp)
  File "/home/mendel/.local/lib/python3.7/site-packages/adafruit_blinka/microcontroller/generic_linux/sysfs_pwmout.py", line 312, in _set_frequency
    self._set_period(1.0 / frequency)
  File "/home/mendel/.local/lib/python3.7/site-packages/adafruit_blinka/microcontroller/generic_linux/sysfs_pwmout.py", line 242, in _set_period
    self._write_pin_attr(self._pin_period_path, "{}".format(period_ns))
  File "/home/mendel/.local/lib/python3.7/site-packages/adafruit_blinka/microcontroller/generic_linux/sysfs_pwmout.py", line 200, in _write_pin_attr
    f_attr.write(value + "\n")
OSError: [Errno 22] Invalid argument

I think, the error is due to PWM driver limitation..

Alright, so what is the direct conclusion? Can it be resolved or should I accept that this is an unfixable limitation?

This driver is implemented by Mediatek Team and we don't have any plans to fix/ignore this limitation. If possible, please try your project with Dev Board as it would work with frequencies lower than 25. Thanks!

Luckily I managed a work around, since my project is due Thursday, but I'll keep this in mind for future projects. Thanks


paste into chat not working

when in the chat, pasting text is not possible.
This es especially discouraging for posting links

issue does not occur anymore


Make a general API for modifying data driven values

This api should have two aspects:

Load/Merge data from multiple json files
Allow modification of parsed objects

A basic example of this is the Fabric Loot Table api, which allows modification of loot tables in code, but not with json.

Hello @OroArmor I would like to work on this.

PR #264 has been merged and will be released publicly soon, am closing this


Duplicate metrics when visualizing metrics in grafana

I'm seeing duplicate entries when viewing the metrics in Grafana, I'm unsure if this is related to the collector implementation or my configuration.

Can you attach a screenshot of what this bug looks like?

This was a Grafana setting causing this outcome, closing this!


Add support work specifying directions mode: walk, car, bike

Could that be another generalised property that gets converted individually for each provider?

Sounds like a great idea!

Ok, I know the args for gmaps and apple-maps. Will check with the others where it makes sense.

Hey @pke Any news on this?

Didn't have time last year anymore. When its more relaxed I might provide a PR

Didn't have time last year anymore. When its more relaxed I might provide a PR

Take a look at #195


bug: v1.19.0 x86-32 binaries segmentation violate on first connection

Bug Description
I got the proxy with
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy && chmod +x cloud_sql_proxy
for months now and after your release yesterday I got the following error when I am using it inside my Python Scripts.
I run it inside gitlab:
Transform Prod SQL:
  image: python:3.7.2-alpine
  stage: Transform SQL
  variables:
    MYSQL_PWD: $SQL_PASS_PROD
  script:
    - wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy && chmod +x cloud_sql_proxy
    - ./cloud_sql_proxy -instances=xxxx=tcp:<IP_ADDRESS>:3306 -credential_file=client.json &

Error:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x804a0ac]
goroutine 102 [running]:
runtime/internal/atomic.Xadd64(0xa4780b4, 0x1, 0x0, 0x0, 0x0)
	/usr/local/go/src/runtime/internal/atomic/asm_386.s:105 +0xc
github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/proxy.(*Client).handleConn(0xa478060, 0xffe56b9a, 0x34, 0x868f080, 0xa8ba090)
	/workspace/proxy/proxy/client.go:129 +0x50
created by github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/proxy.(*Client).Run
	/workspace/proxy/proxy/client.go:120 +0x99
ERROR 2013 (HY000): Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 11

I just used it in another script with mysql dump and the same issue pops up.
Transform Prod SQL:
image: python:3.7.2-alpine
stage: Transform SQL
variables:
MYSQL_PWD: $SQL_PASS_PROD
script:
- wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy && chmod +x cloud_sql_proxy
- ./cloud_sql_proxy -instances=xxxx=tcp:<IP_ADDRESS>:3306 -credential_file=client.json &
- sleep 20
- mysqldump -v -u  client-prod prod > prod-dump-$date_today.sql --host <IP_ADDRESS> --no-create-db
- pkill cloud_sql_proxy

okay as soon as I use version 1.18 its working again:
https://storage.googleapis.com/cloudsql-proxy/v1.18.0/cloud_sql_proxy.linux.386

I'm able to replicate this on 64-bit linux with the 32-bit binary:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy && chmod +x cloud_sql_proxy
kvg@kvg:~$ ./start_proxy.sh $MYSQL_CONNECTION_NAME
2020/11/20 08:50:01 current FDs rlimit set to 32768, wanted limit is 8500. Nothing to do here.
2020/11/20 08:50:03 Listening on <IP_ADDRESS>:5432 for $MYSQL_CONNECTION_NAME
2020/11/20 08:50:03 Ready for new connections
2020/11/20 08:52:35 New connection for "$MYSQL_CONNECTION_NAME "
panic: runtime error: invalid memory address or nil pointer dereference

But the 64-bit binary works just fine:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy && chmod +x cloud_sql_proxy
kvg@kvg:~$ ./start_proxy.sh $MYSQL_CONNECTION_NAME
2020/11/20 08:59:04 current FDs rlimit set to 32768, wanted limit is 8500. Nothing to do here.
2020/11/20 08:59:05 Listening on <IP_ADDRESS>:5432 for $MYSQL_CONNECTION_NAME
2020/11/20 08:59:05 Ready for new connections
2020/11/20 08:59:07 New connection for "$MYSQL_CONNECTION_NAME "
2020/11/20 08:59:08 Instance $MYSQL_CONNECTION_NAME closed connection

Are you actually using an i386 arch? I'll have to see if I can find a compatible machine to test same architecture.

Compiling at tag v1.18.0 doesn't seem to have the same issue:
GOOS=linux GOARCH=386 go build -ldflags "-X main.versionString=1.18.0-dev -X main.metadataString=$$GOOS.$$GOARCH" -o cloud_sql_proxy ./cmd/cloud_sql_proxy
kvg@kvg:~/workspace/cloudsql-proxy$ ./cloud_sql_proxy -instances=$MYSQL_CONNECTION_NAME=tcp:33062020/11/20 10:05:18 current FDs rlimit set to 32768, wanted limit is 8500. Nothing to do here.
2020/11/20 10:05:20 Listening on <IP_ADDRESS>:3306 for $MYSQL_CONNECTION_NAME
2020/11/20 10:05:20 Ready for new connections
2020/11/20 10:05:21 New connection for "$MYSQL_CONNECTION_NAME"
2020/11/20 10:05:21 Client closed local connection on <IP_ADDRESS>:3306

FWIW I can't reproduce the issue like @kurtisvg did in https://github.com/GoogleCloudPlatform/cloudsql-proxy/issues/543#issuecomment-731289405
Are there any special things about this instance that you can think about?
Taking a look at the code, it's quite weird to me that this is happening at all. The panic implies that the Client receiver is nil when handleConn is called, and we can see from the stack trace that handleConn is in a goroutine created by Run. That Run method is called in the main function on a Client object that was definitely not nil, at least by my read, because it was unconditionally initialized.

The line the error is calling out: https://github.com/GoogleCloudPlatform/cloudsql-proxy/blob/5f0ed2f79bd484ea72328145df8c76f1c44d83db/proxy/proxy/client.go#L129
But specifically it's calling out one line down in the stack (go/src/runtime/internal/atomic/asm_386.s:105), which is weird because it's passing an int64 on the client - which means the client is means the is nil (which it can't be?)

The Client can be nil, in Go receivers can be nil: https://play.golang.org/p/8shMiNz6DFc
But from my look (see my prior comment), I don't know how the Client got to be nil in the first place.
It's unclear to me whether the inclusion of the AddUint64 function in the stack trace is just an artifact of inlining; I'd expect the nil pointer error to technically happen /before/ AddUint64 was called as the &c.ConnectionsCounter argument is evaluated.

I believe this is a Go compiler bug. This minimal reproducer causes a crash when compiling with GOARCH=386 on my 64-bit linux machine: https://play.golang.org/p/CAgRZXIZMRu
I will file a new issue on the Go project.

ooo, the plot thickens: with running on gotip give us panic: unaligned 64-bit atomic operation instead, which confirms the theory of what's going on here. I can't find docs in sync/atomic about this alignment requirement for x86, just MIPS (https://tip.golang.org/pkg/sync/atomic/#pkg-note-BUG), I wonder if this is our bug or Go's bug. I will say I never experienced this before on intel processors.

Posted on golang-nuts instead of filing an issue, in case this is actually WAI (https://groups.google.com/g/golang-nuts/c/2BVboKRzDdo).

Reporting a boring result (I'm glad I didn't file the issue ;] ) the sync/atomic docs do talk about i386, but it calls it x86-32 (which I'm embarrassed to have glossed over when reading it, my mistake).
So we have to just make sure all fields we are doing atomics on are aligned appropriately.

Adding some of @Carrotman42's comments from chat as well for future me:

We should add a unit test (using unsafe.Offsetof)
Either of the following:
a. Manually pad the struct
b. allocate a dedicated uint64 value and store an *int64 in the Client instead, since newly allocated objects are guarenteed to be 64-bit aligned

Leaning towards 2b since it seems more likely to stay fixed if other values in the struct change.

I've also reverted the x86-32 links at https://dl.google.com/cloudsql/ back to v1.18.0 for now.

@kurtisvg @Carrotman42 Does this seem to be the same issue? Sorry I am not that well versed with this all.
`root@raspberrypi:~/go/bin # ./cloud_sql_proxy -instances=:us-east4:algorithm-library=tcp:1234 -credential_file=./.json &
[1] 756
root@raspberrypi:~/go/bin # 2020/11/24 22:21:17 Rlimits for file descriptors set to {&{8500 1048576}}
2020/11/24 22:21:17 using credential file for authentication<EMAIL_ADDRESS>2020/11/24 22:21:43 Listening on <IP_ADDRESS>:1234 for :us-east4:algorithm-library
2020/11/24 22:21:43 Ready fomysql -u sentinel_devices  -p --host <IP_ADDRESS> --port 1234
Enter password:
2020/11/24 22:22:01 New connection for ":us-east4:algorithm-library"
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x12aec]
goroutine 42 [running]:
runtime/internal/atomic.goXadd64(0x247a654, 0x1, 0x0, 0x241c058, 0x0)
/usr/local/go/src/runtime/internal/atomic/atomic_arm.go:103 +0x1c
github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/proxy.(*Client).handleConn(0x247a600, 0xbed8f89b, 0x32, 0x669110, 0x24106e0)
/home/pi/go/pkg/mod/github.com/!google!cloud!platform/cloudsql-proxy@v1.19.0/proxy/proxy/client.go:129 +0x4c
created by github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/proxy.(*Client).Run
/home/pi/go/pkg/mod/github.com/!google!cloud!platform/cloudsql-proxy@v1.19.0/proxy/proxy/client.go:120 +0x88
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"`

@patcombe Looks the same to me. If your pi is only 32-bit you'll need to revert to an earlier version until we release a fix.

@kurtisvg sounds good! Do you know the easiest way of getting the earlier version?

Should I consider that all these images were affected by this issue?

@kurtisvg I saw this but I wasn't able to successfully get 1.18 installed
https://stackoverflow.com/questions/30188499/how-to-do-go-get-on-a-specific-tag-of-a-github-repository

@patcombe - GO111MODULE=on go get<EMAIL_ADDRESS>(using Go 1.14).
@Jeskz0rd I think the images available are 64-bit flavored, so I don't believe they are impacted.

A solution we might have missed is that the first field at the beginning of each struct is guaranteed to be 64bit aligned, so the easiest solution might be to just move it to the top of the struct.
Also a quick check shows that the only place we are using sync/atomic on individual fields is the one, so we don't need to worry about padding for any other fields.


@mui/material 5.6.3 -> 5.6.4 breaks yarn lockfile

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
Updating Material to 5.6.4, either via dependabot or manually, causes yarn errors.
Specifically, the generated yarn.lock file after this update is invalid YML.
YAMLException: bad indentation of a mapping entry at line 4, column 15:
      dependencies:
                  ^
      dependencies:
                  ^
    at S5 (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:[18](https://github.com/Rethunk-Tech/next-ui-builder/runs/6264192021?check_suite_focus=true#step:4:18):789)
    at Pr (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:18:891)
    at EKe (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:25:[19](https://github.com/Rethunk-Tech/next-ui-builder/runs/6264192021?check_suite_focus=true#step:4:19)[22](https://github.com/Rethunk-Tech/next-ui-builder/runs/6264192021?check_suite_focus=true#step:4:22))
    at dm (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:25:4422)
    at QKe (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:25:6569)
    at F5 (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:26:260)
    at T5 (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:[26](https://github.com/Rethunk-Tech/next-ui-builder/runs/6264192021?check_suite_focus=true#step:4:26):481)
    at kKe (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:26:759)
    at pHe (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:63:86)
    at ts (/home/runner/work/next-ui-builder/next-ui-builder/.yarn/releases/yarn-e7e77b97.cjs:63:434)

Example: https://github.com/Rethunk-Tech/nextjs-boilerplate/pull/18
Expected behavior 🤔
It should work as usual.
Steps to reproduce 🕹

Use pinyarn to switch to v3: yarn dlx pinyarn 3
yarn add<EMAIL_ADDRESS>Generate Lockfile: yarn install
yarn add<EMAIL_ADDRESS>Delete node_modules (see note): rm -rf node_modules
yarn install --frozen-lockfile

note: When you git clone a javascript project, node_modules doesn't exist (you don't commit this folder) -- we're skipping the upload/download step by removing the directory directly, just like it would be missing from a fresh git clone.
Your environment 🌎

`npx @mui/envinfo`
  System:
    OS: Linux 5.16 Fedora Linux 35 (Workstation Edition)
  Binaries:
    Node: 16.14.0 - /usr/bin/node
    Yarn: 4.0.0-rc.3 - ~/bin/yarn
    npm: 8.8.0 - ~/bin/npm
  Browsers:
    Chrome: 100.0.4896.75
    Firefox: 98.0.2
  npmPackages:
    @emotion/react: ^11.9.0 => 11.9.0
    @emotion/styled: ^11.8.1 => 11.8.1
    @mui/base:  5.0.0-alpha.78
    @mui/icons-material: ^5.6.2 => 5.6.2
    @mui/material: ^5.6.3 => 5.6.3
    @mui/private-theming:  5.6.2
    @mui/styled-engine:  5.6.1
    @mui/system:  5.6.3
    @mui/types:  7.1.3
    @mui/utils:  5.6.1
    @types/react: 18.0.8 => 18.0.8
    react: 18.1.0 => 18.1.0
    react-dom: 18.1.0 => 18.1.0
    typescript: ^4.6.4 => 4.6.4

This appears to be fixed now (dependabot updated?)
I wonder why this happened in the first place..?

I should specify that at the time of making this issue, the latest yarn was:
[ I do not remember the hash for the older version, as it's only shown when you run pinyarn. ]
Yarn binary 4.0.0-rc.4 xxxxxxx at https://raw.githubusercontent.com/yarnpkg/berry/%40yarnpkg/cli/4.0.0-rc.4/packages/yarnpkg-cli/bin/yarn.js

The current version is:
Yarn binary 4.0.0-rc.6 0e1cb2d at https://raw.githubusercontent.com/yarnpkg/berry/%40yarnpkg/cli/4.0.0-rc.6/packages/yarnpkg-cli/bin/yarn.js

However, regardless of the yarn update, this continues to happen in that repository for @mui/material and a handful of other packages (but not all packages, so it is a semi-isolated issue);
Examples of failed automatic PR include:

https://github.com/Rethunk-Tech/nextjs-boilerplate/pull/18
https://github.com/Rethunk-Tech/nextjs-boilerplate/pull/21
https://github.com/Rethunk-Tech/nextjs-boilerplate/pull/25

However, in each case, doing the update manually works (only dependabot breaks.)
Here are the commits where manual upgrades worked for each of the automatic failures above:

:arrow_up: @mui/material 5.6.3 → 5.6.4
:arrow_up: @mui/material 5.6.4 → 5.7.0
:arrow_up: @mui/material 5.7.0 → 5.8.0

@AlbinoGeek Thanks for the follow-up. For context, I have reopened all the issues with the "status: needs triage" label, so we don't miss any feedback.


Selenium crash with rebuilt docker image

Describe the bug
I was hoping to update all the packages to the latest and test them out before submitting a PR with the changes. This ran aground when I couldnt even rebuild the master branch using the existing Dockerfile. I appear to have run into this issue, as I'm building using docker on macOS. I've tried all sorts of things from specifying a bigger default-dev-shm in the docker settings, but for some or other reason, I cannot run the rebuilt image. The dockerhub one however seems to run just fine 🤷
To Reproduce
Steps to reproduce the behavior:

git clone
cd ibeam and make sure env.list is populated...
docker build -t voyz/ibeam .
docker compose up

I get this output
docker compose up
[+] Running 1/0
 ✔ Container ibeam  Created                                                                                0.1s
Attaching to ibeam
ibeam  | 2024-06-25 08:38:33,100|I| ############ Starting IBeam version 0.5.3 ############
ibeam  | 2024-06-25 08:38:33,112|I| Secrets source: env
ibeam  | 2024-06-25 08:38:33,117|I| Health server started at port=5001
ibeam  | 2024-06-25 08:38:33,120|I| Configuration:
ibeam  | {'INPUTS_DIR': '/srv/inputs/', 'OUTPUTS_DIR': '/srv/outputs', 'GATEWAY_DIR': '/srv/clientportal.gw', 'CHROME_DRIVER_PATH': '/usr/bin/chromedriver', 'GATEWAY_STARTUP': 20, 'GATEWAY_PROCESS_MATCH': 'ibgroup.web.core.clientportal.gw.GatewayStart', 'MAINTENANCE_INTERVAL': 60, 'SPAWN_NEW_PROCESSES': False, 'LOG_LEVEL': 'INFO', 'LOG_TO_FILE': True, 'LOG_FORMAT': '%(asctime)s|%(levelname)-.1s| %(message)s', 'REQUEST_RETRIES': 2, 'REQUEST_TIMEOUT': 15, 'RESTART_FAILED_SESSIONS': True, 'RESTART_WAIT': 15, 'REAUTHENTICATE_WAIT': 15, 'HEALTH_SERVER_PORT': 5001, 'SECRETS_SOURCE': 'env', 'GCP_SECRETS_URL': None, 'START_ACTIVE': True, 'GATEWAY_BASE_URL': 'https://localhost:5000', 'ROUTE_AUTH': '/sso/Login?forwardTo=22&RL=1&ip2loc=on', 'ROUTE_VALIDATE': '/v1/portal/sso/validate', 'ROUTE_REAUTHENTICATE': '/v1/portal/iserver/reauthenticate?force=true', 'ROUTE_INITIALISE': '/v1/api/iserver/auth/ssodh/init', 'ROUTE_AUTH_STATUS': '/v1/api/iserver/auth/status', 'ROUTE_TICKLE': '/v1/api/tickle', 'ROUTE_LOGOUT': '/v1/api/logout', 'USER_NAME_EL': None, 'PASSWORD_EL': 'NAME@@password', 'SUBMIT_EL': 'CSS_SELECTOR@@.btn.btn-lg.btn-primary', 'ERROR_EL': None, 'SUCCESS_EL_TEXT': 'TAG_NAME@@Client login succeeds', 'OAUTH_TIMEOUT': 15, 'PAGE_LOAD_TIMEOUT': 15, 'ERROR_SCREENSHOTS': False, 'MAX_FAILED_AUTH': 5, 'MIN_PRESUBMIT_BUFFER': 5, 'MAX_PRESUBMIT_BUFFER': 30, 'MAX_IMMEDIATE_ATTEMPTS': 10, 'IBKEY_PROMO_EL_CLASS': 'CLASS_NAME@@ibkey-promo-skip', 'AUTHENTICATION_STRATEGY': 'B', 'MAX_STATUS_CHECK_RETRIES': 120, 'MAX_REAUTHENTICATE_RETRIES': 3, 'UI_SCALING': 1.0, 'TWO_FA_EL_ID': 'ID@@twofactbase', 'TWO_FA_NOTIFICATION_EL': 'CLASS_NAME@@login-step-notification', 'TWO_FA_INPUT_EL_ID': 'ID@@chlginput', 'TWO_FA_HANDLER': None, 'STRICT_TWO_FA_CODE': True, 'TWO_FA_SELECT_EL_ID': 'ID@@sf_select', 'TWO_FA_SELECT_TARGET': 'IB Key', 'CUSTOM_TWO_FA_HANDLER': 'custom_two_fa_handler.CustomTwoFaHandler'}
ibeam  | 2024-06-25 08:38:33,124|I| Gateway not found, starting new one...
ibeam  | 2024-06-25 08:38:33,131|I| Note that the Gateway log below may display "Open https://localhost:[PORT] to login" - ignore this command.
ibeam  | 2024-06-25 08:38:33,132|I| Starting Gateway as Linux process with params: ['bash', 'bin/run.sh', 'root/conf.yaml']
ibeam  | running
ibeam  |  runtime path : root:dist/ibgroup.web.core.iblink.router.clientportal.gw.jar:build/lib/runtime/*
ibeam  |  config file  : root/conf.yaml
ibeam  | 2024-06-25 08:38:33,278|I| Gateway started with pids: [13]
ibeam  | 2024-06-25 08:38:33,289|I| Cannot ping Gateway. Retrying for another 20 seconds
ibeam  | 2024-06-25 08:38:34,293|I| Cannot ping Gateway. Retrying for another 19 seconds
ibeam  | WARNING: An illegal reflective access operation has occurred
ibeam  | WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/srv/clientportal.gw/build/lib/runtime/netty-common-4.1.15.Final.jar) to constructor java.nio.DirectByteBuffer(long,int)
ibeam  | WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil
ibeam  | WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
ibeam  | WARNING: All illegal access operations will be denied in a future release
ibeam  | 2024-06-25 08:38:35,295|I| Cannot ping Gateway. Retrying for another 18 seconds
ibeam  |  -> mount demo on /demo
ibeam  | Java Version: 11.0.23
ibeam  | ****************************************************
ibeam  | version: a27ed42161ad96c53e715ca5c5e3e3fa4cff5262 Mon, 24 Apr 2023 15:41:53 -0400
ibeam  | ****************************************************
ibeam  | This is the Client Portal Gateway
ibeam  | for any issues, please contact<EMAIL_ADDRESS>ibeam  | and include a copy of your logs
ibeam  | ****************************************************
ibeam  | https://www.interactivebrokers.com/api/doc.html
ibeam  |
ibeam  | ****************************************************
ibeam  | Open https://localhost:5000 to login
ibeam  |
ibeam  | App demo is available after you login under: https://localhost:5000/demo#/
ibeam  |
ibeam  |
ibeam  | 2024-06-25 08:38:37,484|I| Gateway connection established
ibeam  | 2024-06-25 08:38:37,629|I| NO SESSION Status(running=True, session=False, connected=False, authenticated=False, competing=False, collision=False, session_id=None, server_name=None, server_version=None, expires=None)
ibeam  | 2024-06-25 08:38:37,629|I| Authentication strategy: "B"
ibeam  | 2024-06-25 08:38:37,630|I| No active sessions, logging in...
ibeam  | 2024-06-25 08:38:37,630|I| Loading auth webpage at https://localhost:5000/sso/Login?forwardTo=22&RL=1&ip2loc=on
ibeam  | 2024-06-25 08:38:39,329|E| Error encountered during authentication
ibeam  | Exception:
ibeam  |   File "/srv/ibeam/ibeam_starter.py", line 172, in <module>
ibeam  |     success, shutdown, status = client.start_and_authenticate()
ibeam  |   File "/srv/ibeam/src/gateway_client.py", line 62, in start_and_authenticate
ibeam  |     success, shutdown, status = self.strategy_handler.try_authenticating(request_retries=request_retries)
ibeam  |   File "/srv/ibeam/src/handlers/strategy_handler.py", line 85, in try_authenticating
ibeam  |     return self._authentication_strategy_B(status, request_retries)
ibeam  |   File "/srv/ibeam/src/handlers/strategy_handler.py", line 140, in _authentication_strategy_B
ibeam  |     return self._log_in(status)
ibeam  |   File "/srv/ibeam/src/handlers/strategy_handler.py", line 151, in _log_in
ibeam  |     success, shutdown = self.login_handler.login()
ibeam  |   File "/srv/ibeam/src/handlers/login_handler.py", line 430, in login
ibeam  |     driver, display = start_up_browser(self.driver_factory)
ibeam  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ibeam  |   File "/srv/ibeam/src/login/driver.py", line 152, in start_up_browser
ibeam  |     driver = driver_factory.new_driver()
ibeam  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
ibeam  |   File "/srv/ibeam/src/login/driver.py", line 143, in new_driver
ibeam  |     return start_driver(driver_path=driver_path, name=name, headless=headless, incognito=incognito, ui_scaling=ui_scaling, page_load_timeout=page_load_timeout)
ibeam  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ibeam  |   File "/srv/ibeam/src/login/driver.py", line 78, in start_driver
ibeam  |     raise e
ibeam  |   File "/srv/ibeam/src/login/driver.py", line 66, in start_driver
ibeam  |     driver = _new_chrome_driver(driver_path=driver_path, name=name, headless=headless, incognito=incognito, ui_scaling=ui_scaling)
ibeam  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ibeam  |   File "/srv/ibeam/src/login/driver.py", line 47, in _new_chrome_driver
ibeam  |     driver = webdriver.Chrome(options=options, service=service)
ibeam  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ibeam  |   File "/opt/venv/lib/python3.11/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
ibeam  |     super().__init__(
ibeam  |   File "/opt/venv/lib/python3.11/site-packages/selenium/webdriver/chromium/webdriver.py", line 56, in __init__
ibeam  |     super().__init__(
ibeam  |   File "/opt/venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 205, in __init__
ibeam  |     self.start_session(capabilities)
ibeam  |   File "/opt/venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 289, in start_session
ibeam  |     response = self.execute(Command.NEW_SESSION, caps)["value"]
ibeam  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ibeam  |   File "/opt/venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 344, in execute
ibeam  |     self.error_handler.check_response(response)
ibeam  |   File "/opt/venv/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
ibeam  |     raise exception_class(message, screen, stacktrace)
ibeam  |
ibeam  |   <class 'selenium.common.exceptions.SessionNotCreatedException'> Message: session not created: Chrome failed to start: exited normally.
ibeam  |   (chrome not reachable)
ibeam  |   (The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
ibeam  | Stacktrace:
ibeam  | #0 0x55d33c495233 <unknown>
ibeam  | #1 0x55d33c15f0fe <unknown>
ibeam  | #2 0x55d33c193d7b <unknown>
ibeam  | #3 0x55d33c18ee89 <unknown>
ibeam  | #4 0x55d33c1e1370 <unknown>
ibeam  | #5 0x55d33c1e0957 <unknown>
ibeam  | #6 0x55d33c1d61a3 <unknown>
ibeam  | #7 0x55d33c19b13e <unknown>
ibeam  | #8 0x55d33c19c712 <unknown>
ibeam  | #9 0x55d33c46a534 <unknown>
ibeam  | #10 0x55d33c46d759 <unknown>
ibeam  | #11 0x55d33c46d238 <unknown>
ibeam  | #12 0x55d33c46dc05 <unknown>
ibeam  | #13 0x55d33c45cabf <unknown>
ibeam  | #14 0x55d33c46df8e <unknown>
ibeam  | #15 0x55d33c446c86 <unknown>
ibeam  | #16 0x55d33c4863e5 <unknown>
ibeam  | #17 0x55d33c4865cb <unknown>
ibeam  | #18 0x55d33c4947bf <unknown>
ibeam  | #19 0x7f1dc3c67ea7 start_thread
ibeam  |
ibeam  |
ibeam  | 2024-06-25 08:38:39,330|I| Cleaning up the resources. Display: None | Driver: None
ibeam  | 2024-06-25 08:38:39,331|I| Logging in failed

Expected behavior
Running as normal
Environment
IBeam version: master
Docker image or standalone: Built using master
Python version (standalone users only): N/A
OS: macOS Sonoma 14.5
Additional context
I'm not sure if something has changed in the package build process - i.e. newer apt-installed packages that breaks it, or if its something local to my build process? I build docker images all the time with no issue, so wouldn't have thought it was build host specific.
Suggest a Fix
Is a build using master branch still working?

Hey @pmcenery many thanks for describing your situation in detail (and wanting to contribute to IBeam!) 👍

Is a build using master branch still working?

Yes, I have built it just two days ago as of writing this: https://hub.docker.com/layers/voyz/ibeam/0.5.4-rc3/images/sha256-39cb65946adba6e1dd36db4b3e54bb927e6fda21673762d7a2e324368e0fdb28?context=repo

I'm not sure if something has changed in the package build process - i.e. newer apt-installed packages that breaks it, or if its something local to my build process?

I'm imagining this would be something related to MacOS - I briefly remember issues happening to some other users on MacOS that didn't exist on other OSs. I can't find the specific Issues at the moment though.

Since I don't have an Apple device I cannot help you debugging this directly from my end. If it is of any help - I can see that the build fails when we attempt to access the login page and create a new webdriver:
# File "/srv/ibeam/src/login/driver.py", line 47
driver = webdriver.Chrome(options=options, service=service)

I'd suggest trying to create a Chrome Webdriver using the code in _new_chrome_driver and see if that works for you on its own. I've simplified the code for you so it should be ready to execute on its own:
def _new_chrome_driver(driver_path, name: str = 'default', headless: bool = True, incognito: bool = True, ui_scaling: float = 1) -> webdriver.Chrome:
    """Creates a new chrome driver."""
    options = webdriver.ChromeOptions()
    if headless:
        options.add_argument('--headless')
        options.add_argument('--disable-gpu')
    options.add_argument('--no-sandbox')
    if incognito:
        options.add_argument("--incognito")  # this allows 2FA method to be selected every time
    options.add_argument('--ignore-ssl-errors=yes')
    options.add_argument('--ignore-certificate-errors')
    options.add_argument(f'--remote-debugging-port={9222}')
    options.add_argument('--useAutomationExtension=false')
    options.add_argument('--disable-extensions')
    options.add_argument('--dns-prefetch-disable')
    options.add_argument('--disable-features=VizDisplayCompositor')
    options.add_argument(f"--force-device-scale-factor={ui_scaling}")
    options.add_argument(f'--user-data-dir={tempfile.gettempdir()}/ibeam-chrome-{name}')
    service = Service(executable_path=driver_path)
    driver = webdriver.Chrome(options=options, service=service)
    if driver is None:
        print('Unable to create a new chrome driver.')

    return driver

Let me know how that goes

Thanks for the detailed and prompt response @Voyz
I battled with this one for quite some time and then found a Docker desktop update. Installed and restarted and now it works as I'd expect! I've never seen anything like it, but at least it explains the rather odd behaviour!

@pmcenery great, happy to hear you've solved it! Thanks for leaving the detailed guide on how to deal with the issue you've found 👏👏


Commit timeout for simple@v0 in mychannel from peer0.org1.example.com:7051

First, I started my own fabric network. Then I modified the configuration items of network/fabric-v1.4/2org1peergoleveldb/fabric-go.yaml to fit my self-defined fabric network. And then I was trying to run a simple benchmark with 2org1peergoleveldb network with the peers of the two Orgs on a separate VM. However, I got a timeout Error when initializing the simple benchmark.
Context

I just ran docker-compose -f caliper.yaml up -d
My caliper.yaml like this:
version: '2'

services:
    caliper:
        container_name: caliper
        image: hyperledger/caliper:0.2.0
        environment:
        - CALIPER_BIND_SUT=fabric
        - CALIPER_BIND_SDK=1.4.0
        - CALIPER_BENCHCONFIG=benchmark/simple/config.yaml
        - CALIPER_NETWORKCONFIG=network/fabric-v1.4/2org1peergoleveldb/fabric-go.yaml
        volumes:
        - ~/caliper-benchmarks:/home/node/hyperledger/caliper/workspace
        - ~/caliper/packages/caliper-samples:/hyperledger/caliper/workspace

And then I got this,

Since the two peers of org1 are both on the same machine with my caliper, so I thought there is nothing to do with my network connection, but i don't konw where the problem is. I don't speak English well. Did I have done something wrong with my configuration items? wish someone could help me, thanks in advance!
Expected Behavior

Benchmark run successfully!
Actual Behavior

Benchmark run failed and  Commit timeout for simple@v0 in mychannel from peer0.org1.example.com:7051
Possible Fix

Maybe modify my configuration items helps.
Existing issues

[ ] Caliper Multi-Host Timeout error

@ aklenik

@aklenik

when I try to see the docker logs of the peers, I see this
docker logs peer0.org1.example.com

docker logs peer0.org2.example.com

What does it mean? what should I do?

@Vegard-Bear The commit timeout error means that running the Init function of your chaincode (=endorsing it) was successful, but when Caliper submitted the endorsement, it didn't receive the "OK event" in time. Usually, you should increase the timeout value for this event, but in your case, it's not an actual timeout, but an error in the peers.
That MSP error looks like the cause.

Make sure that you provide the correct crypto materials in Caliper's network configuration file (that matches your existing network's crypto materials).
Make sure that the org definitions in the network configuration file are correct, especially their MSP IDs (it seems like your peer doesn't recognize the org2MSP MSP ID).
Any reason you mount both the caliper-benchmarks and caliper-samples directories?
Caliper sends the instantiate proposal with the admin identity of the org of the first peer that is listed among the chaincode install targets (or channel members, if install targets are not specified). If you have more exotic TX signing requirements, then I'm afraid you reached a limitation of the Fabric adapter. (But the error message said that you need one "channel writer" to sign, so I don't think this is the problem).

Anyway, I can't really give more specific advice without actually seeing your network artifacts.

OK, I have check my existing network's crypto materials and it seems no problem. What's more, there is no org2MSP MSP ID but only Org2MSP MSP ID in my configuration items. And actually I am not sure if I have correctly mount  both the caliper-benchmarks and caliper-samples directories.
Here is my network configuration.
network/fabric-v1.4/2org1peergoleveldb/fabric-go.yaml
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name: Fabric
version: "1.0"
mutual-tls: false

caliper:
 blockchain: fabric

info:
 Version: 1.4.0
 Size: 2 Orgs with 2 Peer
 Orderer: Etcdraft
 Distribution: Multi Host
 StateDB: CouchDB

clients:
 client0.org1.example.com:
   client:
     organization: Org1
     credentialStore:
       path: /tmp/hfc-kvs/org1
       cryptoStore:
         path: /tmp/hfc-cvs/org1
     clientPrivateKey:
       path<EMAIL_ADDRESS>     clientSignedCert:
       path: crypto-config/peerOrganizations/org1.example.com/users/User1<EMAIL_ADDRESS>
 client0.org2.example.com:
   client:
     organization: Org2
     credentialStore:
       path: /tmp/hfc-kvs/org2
       cryptoStore:
         path: /tmp/hfc-cvs/org2
     clientPrivateKey:
       path<EMAIL_ADDRESS>     clientSignedCert:
       path: crypto-config/peerOrganizations/org2.example.com/users/User1<EMAIL_ADDRESS>
channels:
 mychannel:
   created: true
   orderers:
   - orderer0.org1.example.com
   - orderer1.org1.example.com
   - orderer2.org1.example.com
   - orderer0.org2.example.com
   - orderer1.org2.example.com

   peers:
     peer0.org1.example.com:7051:
       eventSource: true
     peer1.org1.example.com:8051:
       eventSource: true
     peer0.org2.example.com:9051:
       eventSource: true
     peer1.org2.example.com:10051:
       eventSource: true

   chaincodes:
#    - id: marbles
#      version: v0
#      language: golang
#      path: contract/fabric/marbles/go
#      metadataPath: src/contract/fabric/marbles/go/metadata
#    - id: drm
#      version: v0
#      language: golang
#      path: contract/fabric/drm
   - id: simple
     version: v0
     language: golang
     path: contract/fabric/simple/go
#    - id: smallbank
#      version: v0
#      language: golang
#      path: contract/fabric/smallbank

organizations:
 Org1:
   mspid: Org1MSP
   peers:
   - peer0.org1.example.com:7051
   - peer1.org1.example.com:8051
   adminPrivateKey:
     path<EMAIL_ADDRESS>   signedCert:
     path: crypto-config/peerOrganizations/org1.example.com/users/Admin<EMAIL_ADDRESS>
 Org2:
   mspid: Org2MSP
   peers:
   - peer0.org2.example.com:9051
   - peer1.org2.example.com:10051
   adminPrivateKey:
     path<EMAIL_ADDRESS>   signedCert:
     path: crypto-config/peerOrganizations/org2.example.com/users/Admin<EMAIL_ADDRESS>
orderers:
 orderer0.org1.example.com:
   url: grpcs://<IP_ADDRESS>:7050
   grpcOptions:
     ssl-target-name-override: orderer0.org1.example.com
   tlsCACerts:
     path: crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem

 orderer1.org1.example.com:
   url: grpcs://<IP_ADDRESS>:8050
   grpcOptions:
     ssl-target-name-override: orderer1.org1.example.com
   tlsCACerts:
     path: crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem

 orderer2.org1.example.com:
   url: grpcs://<IP_ADDRESS>:9050
   grpcOptions:
     ssl-target-name-override: orderer2.org1.example.com
   tlsCACerts:
     path: crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem

 orderer0.org2.example.com:
   url: grpcs://<IP_ADDRESS>:7050
   grpcOptions:
     ssl-target-name-override: orderer0.org2.example.com
   tlsCACerts:
     path: crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem

 orderer1.org2.example.com:
   url: grpcs://<IP_ADDRESS>:8050
   grpcOptions:
     ssl-target-name-override: orderer1.org2.example.com
   tlsCACerts:
     path: crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem

peers:
 peer0.org1.example.com:7051:
   url: grpcs://<IP_ADDRESS>:7051
   grpcOptions:
     ssl-target-name-override: peer0.org1.example.com
     grpc.keepalive_time_ms: 600000
   tlsCACerts:
     path: crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

 peer1.org1.example.com:8051:
   url: grpcs://<IP_ADDRESS>:8051
   grpcOptions:
     ssl-target-name-override: peer1.org1.example.com
     grpc.keepalive_time_ms: 600000
   tlsCACerts:
     path: crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt

 peer0.org2.example.com:9051:
   url: grpcs://<IP_ADDRESS>:9051
   grpcOptions:
     ssl-target-name-override: peer0.org2.example.com
     grpc.keepalive_time_ms: 600000
   tlsCACerts:
     path: crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt

 peer1.org2.example.com:10051:
   url: grpcs://<IP_ADDRESS>:10051
   grpcOptions:
     ssl-target-name-override: peer1.org2.example.com
     grpc.keepalive_time_ms: 600000
   tlsCACerts:
     path: crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt

When I try to see the docker logs of orderer0.org2.example.com, I see this

It seems the orderer is writing blocks to the ledger.


Fixes broken strapi doc urls

"Edit this page on github" link on https://strapi.nuxtjs.org/strapi ironically also leads to a 404 :D

Thanks! Do you mind opening a PR for broken edit on GitHub links?


[POC] Having multiple pages inside of our gh-pages branch

This is a proof of concept. Do not merge this. It has been discussed internally that we should have multiple pages in our gh-pages branch. This is a proof of concept in which I've added the ability to have posts. As an example, I've added the the contents from the wiki page An NGinx setup.
As you can see, the style is not minimized. This is because I don't know which tool @cyntss used to minimize the stylesheets :P Apart from that, I've added the light solarized theme for code, since it looks fine with our current setup (there are some formats like yaml that are not supported yet though for highlighting in jekyll...). Note that there's a lot of stuff to do on the UI part.
A snapshot of this new page:

This page can be accessed with the following URL: /nginx-bare-metal/. I've decided that posts will have the URL /:title. If you're wondering how can this be achieved, just take a look at the _config.yml file. Another format that I could've used is /posts/:title. I don't care which of these formats we use really.
Signed-off-by: Miquel Sabaté Solà<EMAIL_ADDRESS>

I like how the page looks. However I don't agree with the final URL. I think we have to categorize everything to avoid ending up with a mess like the the current wiki.
IMHO this document should be accessible by visiting: /docs/installation/nginx-bare-metal

@flavio yes, I agree. That should be easy to change.

Superseded by the branch gh-pages-documentation. I'll continue my work on top of that branch.


SVG token templates

This PR adds SVG models and a React adapter called SvgComponent. An SVG model is a group that renders into a specific shape and must not be modified. The SvgComponent adds a mean to translate it in x and y directions; it does not define the <svg> top level element.
Since I don't know whether this moves into the right direction, I've only added a handful components. By decoupling the SVG models from react, these should be reusable across UI frameworks.
One does not need to touch the story book for new SVG models, it suffices to add a new model to svg.js and export it.
The SVG models themselves are written to render themselves uniformly into the rectangle (0,0) and (1,1). The intention is to make it predictable when applying transformations or other operations.

Coverage remained the same at 100.0% when pulling 77adb8a91acc26450fd07204bafec80a6ccbdd0a on Stefan-Hanke:more-token into a87c5c65ab95d92aa0923e070da62da8b6813517 on google:master.

Can you merge this with Token? Something like:
<Token template="meeple"/>

The current plan is to have Token render as a:

generic square inside Grid
generic hexagon inside HexGrid
a circle (?) elsewhere

We can then provide a prop like template to customize this. Token already handles interactions with the grids (and drag-n-drop eventually), so I'd prefer to keep everything in this one class.

I'd try to make Token independent of where it is used. I would drop _inHexGrid and _inGridand use only the newtemplate` prop. The hex grid and normal grid could just inject the corresponding props. Ok?

You mean use template to indicate whether it is a hexagon or square when used in a grid? As long as we can preserve the existing behavior of the token taking on the shape of the grid it is in automatically, I'm ok retiring props that are superfluous.

I've pushed the calculation of center, width, and height to HexGrid and pass it down. Maybe it needs a bit more cleanup. I hope this did not get too far into lands where we don't want to be.
There is a React warning about invalid children of HexGrid in the second tab on the HexGrid story. I don't know how to fix that. I've tried to use object spread but it looks like that operator is not supported there? Looks strange.

I need to take a step back and rethink this. For me, center is something that could be hidden inside the respective grid itself...

I don't know - my gut feeling tells me to abandon that branch, and just reuse parts of it for a new branch. I don't know whether it was the best decision to try to handle all graphics stuff uniformly - I think it would have been wiser to leave that insideHex and insideGrid stuff in there for the time being.
What do you think? You're ok with that?

OK, regardless of which field goes where, let's look at the higher-level picture:
Token

The only non-container class that I'm hoping we will need.
Takes template to determine what shape it takes.
Takes x, y, z to determine grid position (when used inside a grid).
Can accept other props (say cx, cy for the co-ordinates of the center in SVG space) to determine positioning and dimensions when used outside a grid.

HexGrid / Grid

Translate x, y, z to cx, cy.
Inject a default template if one is not provided (Hex in the case of a HexGrid).

I think we can arrange it such that Token has no knowledge of it being inside a particular grid (the grid can just do the translation from grid co-ordinates to absolute co-ordinates).
Is that what you had in mind as well?

Yes.
Basically, I did not know about how the animation actually worked, it broke, and I got confused. I have worked on the branch in the last days but did not push those changes. I'll check whether the code matches our expectations, change it, and push it.
For the animation to work, the template itself will need to know where it is located - the grid backgrounds do not use Token, but rather Hex and Square directly. We could use Token here as well, that way the templates could stay clean of all coordinates.

Argh, I'm very unconvinced about the changes made here.
I'm too unexperienced with React to use it effectively. Take e.g. the MeepleSVG component which I wanted to parameterize with the color. It looks like a mess :(
Token takes x,y,z coordinates even within the square grid. I'd like to just pass "coordinates" and hide the actual structure.

I'll take a look later today and add some commits to help you with this.

I'm going to break this up into a few changes to make it more manageable.

Going to close this now that we've implemented some of the ideas from this PR.


Remove swallowing of exception in subcircuit

Catching the exception just makes it print a confusing error when KISYSMOD is not set.

Thanks!


Totonac Corpus with details

The related resources are located at JHU grid /export/c04/jiatong/data/openslr_totonac

@ftshijt thanks


Enable users to create their own theme

Is your feature request related to a problem? Please describe.
Quarks optionally allow for theme values to be used within prop values, either through custom overwrites or eventually through callbacks. Currently the theme is hard-coded for testing purposes, but users should be able to provide their own.
Describe the solution you'd like
Ideally a theme should just be a JS object literal that users pass in as an argument in the setup function. Alternatively, it could be something defined in a config file at a path in the root of our choosing. Whatever avenue we go with we should probably also use for the ability to create custom overwrites.
Describe alternatives you've considered
None
Additional context
Imo the theme should be flatted down to two layers for ease of access as strings. This should occur internally allowing users to nest their theme however they want. Ex. a user provided theme like this:
const theme = {
  colors: {
    primary: {
      25: '#F2F9FF',
      50: '#E3F2FF',
      100: '#BCDDFF',
      200: '#90C9FF',
    },
  },
  breakpoints: {
    sm: '375px',
  },
};

becomes this:
const theme = {
  colors: {
    primary25: '#F2F9FF',
    primary50: '#E3F2FF',
    primary100: '#BCDDFF',
    primary200: '#90C9FF',
  },
  breakpoints: {
    sm: '375px',
  },
};```

which can be done with the flattenObject function we already have.

I like it. I know the advantages of it. However, something like this flattenObject functionality needs to be documented very well. It goes against what a user would expect, and we should take extra care that it is understood.


Develop additional dbt training content

Demo on custom tests
Demo dbt utils

Custom test example: https://github.com/cagov/caldata-mdsa-calhr-ecos/blob/main/transform/tests/generic/count_equals_source.sql (this can be done using a dbt utility)
or do like ID has to be certain length or no letter
flow from station_raw table has to be positive number
dbt utils example: https://github.com/cagov/caldata-mdsa-carb-enforcement/blob/823c43d451ed8e0110f1cc88da61be1cd979c0bd/transform/models/intermediate/port_and_rail/int_ocean_going_vessels.sql#L24


Adding Channel controller.

Using  #24, stage the channel controller.

@n3wscott do you have an eta on when this will be merged? We're eager to use knative eventing with GCP PubSub and would prefer to use the new Channel CRD paradigm rather than the deprecated provisioners.

@dicarlo2 I am trying to get this to work now, I think within a week. Attempting to make it happen before the 0.8 release of Knative.

/assign @vaikas-google

/lgtm
/approve


HOVER EFECT IN NAVBAR

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Hello @anuragverma108,
I have encountered little delay in zoom and hover effect on the navbar icons. Also the bubbles around doesn't seems pretty accurate.
https://github.com/anuragverma108/SwapReads/assets/129287425/1ce179e9-b174-4341-95e3-55445aa126f7
https://github.com/anuragverma108/SwapReads/assets/129287425/40fe9c85-1ec7-4229-bb6c-94808bd11943
I would like to improve the responsiveness. Please assign this issue under GSSoC'24.
Record

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

Assigned!
Make sure to attach before & after screenshot in your PR.
Make sure to star the repo before working on it! Happy open-source contributing!

Hey @anuragverma108 I would love to work on this issue as i have good experience in building websites. Please assign me this issue. Looking forward for the approval

@vaishnavip27 Issues are assigned at first come first serve basis.
If a contributor doesn't contribute within a week then it would be assigned to next person who asked for it.
I would recommend to find some other issue and work on it.

Thank You for assigning the issue!
I'm working on it and will raise PR as soon as possible.


Add documentation on lint and Prettier

Since we have new ESLint and Prettier configuration added we should add lint and Prettier requirements and documentation to the README.md and other documentation.
I would like to recommend that all new commit and PR cycles be finished with a run of Prettier and ESLint as well as tests.
This will ensure that as our project grows it stays consistent and relatively free of lint and browser console errors.

Noting that documentation has been started on this topic. It currently covers the scripts added to both the server and client package.json

Feel free to use/open/comment in/on Discussions for anything that isn't a bug, issue, feature.. or even anything that is.. :100:


Roll Flutter Engine from 1f24eaa4979d to b243eba9dcd1 (1 revision)

https://github.com/flutter/engine/compare/1f24eaa4979d...b243eba9dcd1
2024-02-29<EMAIL_ADDRESS>Use RBE for mac_clang_tidy (flutter/engine#51083)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC aaclarke@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Issues in Uploading Video to s3

Hi,
When trying to upload video to s3 I face some issues. Im using AWSS3TransferUtility.
Steps:

Uploading video to s3 from Gallery using UIImagePickerController.
While first video is uploading I am adding another video to the queue to upload.
The first video uploads successfully. The second video if it is less than 5 MB it throws me error
CompletionHandlerError Domain=com.amazonaws.AWSS3TransferUtilityErrorDomain Code=2 "(null)" UserInfo={Server=AmazonS3, Transfer-Encoding=Identity, Connection=close, Content-Type=application/xml, Date=Thu, 15 Mar 2018 07:30:48 GMT, x-amz-request-id=2xxxxC0818E40EB, x-amz-id-2=PCyPN14cfmebuMEYtRztVcaQuwEDPcr35loo7yTIPB1d9CD6BzIFXypch32diuAfXZdSmoPK4oU=}

If the second video is more than 5 MB then the video is not uploading fully rather it loops (ie. It will upload to x MB hangs for few seconds and the upload starts from the beginning and loops in similar fashion. And it will not complete the process).
Device: iPhone 6, 7
OS: iOS 11.0.3

Thank you @sujithabalu for reporting to us. Sorry for the inconvenience caused. What version of SDK and iOS are you using? What is the size of the first video that you are uploading?

I tried with
SDK :  AWSiOSSDKv2 '~> 2.5.8' and AWSiOSSDKv2', '~> 2.6.0'
iOS : 10.3.3, 11.0.3, 11.1
1st video size : 24MB, 34MB,140MB

Thank you @sujithabalu for the reply. Do you have a custom configuration where you override the max number of HTTP connections? What type of network are you in? Can you post a code snippet for us to reproduce?
FYI we added support for multi-part in upload transfers in AWSS3TransferUtility in 2.6.13.

When i installed through Pod I have AWS 2.6.11 as updated version. SDK :AWSiOSSDKv2
Steps:
1.AWSCognitoCredentialsProvider setup
 CyranoProvider * devAuth = [[CyranoProvider alloc] initWithTokens:token identityVal: identityId];
 devAuth = [devAuth initWithRegionType:AWSRegionUSEast1
                        identityPoolId:s3PoolID
                       useEnhancedFlow:YES
               identityProviderManager: nil];
 AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc]
                                                       initWithRegionType:AWSRegionUSEast1
                                                       identityProvider:devAuth]; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:credentialsProvider];
 [[credentialsProvider getIdentityId] continueWithBlock:^id(AWSTask *task) {
   }];

 configuration.maxRetryCount = 5;
 configuration.timeoutIntervalForRequest = 600; //30
 [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration;
 finishCallBack(YES);

2.**AWSS3TransferUtility setup **
   AWSS3TransferUtility *transferUtility = [AWSS3TransferUtility defaultS3TransferUtility];
   AWSS3TransferUtilityUploadExpression *expression = [AWSS3TransferUtilityUploadExpression new];
               [expression setValue:@"AES256" forRequestHeader:@"x-amz-server-side-encryption"];
               expression.progressBlock  = ^(AWSS3TransferUtilityTask *task, NSProgress *progress)
               {
//Updating my progress bar.
};

AWSS3TransferUtilityUploadCompletionHandlerBlock completionHandler = ^(AWSS3TransferUtilityUploadTask *task, NSError *error)
               {
if(error)
{
// Getting control here  in uploading the second video which is less than 5MB.
}
};

 [[transferUtility uploadFile:filePathURL bucket:S3bucketName key:chunkPath contentType:chunkType expression:expression completionHandler:completionHandler] continueWithBlock:^id(AWSTask *task)
{
};

Also,
I allow the user to browse multiple videos from Gallery and save in /Documents and start uploading one by one.

Hello, updating to 2.6.13 SDK will give you access to the new multipart upload features. You could try using https://github.com/aws/aws-sdk-ios/blob/master/AWSS3/AWSS3TransferUtility.h#L417 method here and see if that helps fix the issue.
Thanks,
Rohan

Hi,
Unable to upgrade to 2.6.13 SDK  through pod. Im using pod 'AWSiOSSDKv2', '~> 2.6.0' and use pod install  and it updates to 2.6.11 SDK only.
OS: mac OS Sierra Version 10.12.6
Pod : pod 'AWSiOSSDKv2', '~> 2.6.0'
pod version : 1.4.0
openssl version : OpenSSL 0.9.8zh 14 Jan 2016

hello @sujithabalu
That is strange. I was able to update to the latest version 2.6.13 locally ( I tried a couple of times to reproduce the behavior you are seeing)
As an experiment, can specify the version directly in your podfile and do a pod update?
Here is my Podfile ( as an example).
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '9.0'
use_frameworks!

target 'S3TransferUtilitySampleObjC' do
    pod 'AWSS3', '2.6.13'
end

Please note that if this works, you should revert back to the "~>" syntax as that will ensure that you will get the latest version if you hit pod update.


500ms debouncing

There's this comment:

// Timer is used to debounce events. Each event does not directly trigger a
// reload, it only resets the timer. Only when the timer is allowed to
// fully expire will the reload actually occur. Debounce delay is currently
// hardcoded to 500ms, will change it only if somebody complains.

I will complain, since this make's it 500ms slower than using air.
In my particular use case, upon changing code, I see refreshed website in ~1.5s using air, while using wgo it takes ~2.0s. Not that of a big difference, but it's clearly noticeable when you want to see visual changes as fast as possible.
Maybe it's possible to add additional flag for this?

Yeah I was waiting for this comment, I've added a -debounce flag which takes in a duration like 10ms (or 0s, if you want it to be instantaneous).
wgo run -debounce 10ms main.go
wgo -debounce 0s go build -o out main.go :: ./out

Additionally, since the debounce delay is now configurable I've lowered the default duration to 300ms which should hopefully be a better balance between user experience and saving hardware resources.

Yeah I was waiting for this comment, I've added a -debounce flag which takes in a duration like 10ms (or 0s, if you want it to be instantaneous).
wgo run -debounce 10ms main.go
wgo -debounce 0s go build -o out main.go :: ./out

Additionally, since the debounce delay is now configurable I've lowered the default duration to 300ms which should hopefully be a better balance between user experience and saving hardware resources.


Save and Create New button

Hi, I'm loving this gem more and more. Is there a way for me to hide or customize the behavior of the Save and Create New button in the form?

When I entered information in the form and clicked on this button, it will wipe all the text fields and display validation error messages if one of the fields I entered did not pass validation. If there's no way to change this button's behavior, I'd prefer to have an option to hide it so others don't accidentally use it and create unintentional frustrations. Thank you for this great gem again!

thanks @vkhang55, there was a bug which was causing this issue with the save and create new button.
It has been fixed in the newest version so the data should persist in the form after the validation error.
I'd say there is no need to hide this button since it has been fixed and it could be actually useful.

Great thank you for the prompt response @omohokcoj!


Date.create at 'noon'

Date.create('tomorrow at noon') doesn't work. I'd imagine that is a quick fix, along with midnight.

Will add this. Thank you and sorry for the major delays.

Added in 2.0!


MuxSDU encoding round trip test

Reduce to low priority as this situation is being exercised as part of many other test cases.


fix a spelling error

Signed-off-by: Lang Chi<EMAIL_ADDRESS>

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.
It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.

If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address.  Check your existing CLA data and verify that your email is set on your git commits.
If you signed the CLA as a corporation, please sign in with your organization's credentials at https://identity.linuxfoundation.org/projects/cncf to be authorized.
If you have done the above and are still having issues with the CLA being reported as unsigned, please log a ticket with the Linux Foundation Helpdesk: https://support.linuxfoundation.org/
Should you encounter any issues with the Linux Foundation Helpdesk, send a message to the backup e-mail support address at<EMAIL_ADDRESS>

I signed it

/ok-to-test

/assign @Random-Liu

/ok-to-test
/lgtm
/approve


Upgrade to Scala 3

Upgrade to support Scala 3 projects

Hi!
Thanks for contributing! I'll check out this change and get back here :)

LGTM

Thank you and the next version will contain these changes
I'll post it this week.


Storage Pool is missing the newly added volume after the service is started

v0.47.0-rc1
Steps to Reproduce:

Set up all the convoy stuff (aka, set up glusterfs from catalog, set up convoy-gluster)
Click on Storage Pools to see the hosts that have been allocated to the storage pool. Note there are no volumes yet.
Add a service using the new convoy-gluster volume driver
Click on Storage Pools

Result: The new volume isn't listed. When I refresh the page, it shows up.
Expected Result: The new volume to be listed when I go to the storage pool page.

302 #2763


[Doc] Missing parameter descriptions for operations in 'Entitlement with APIs' doc

There're some missing parameter descriptions for following operations in [1]

'version' and 'enabled' in 'publishToPDP()' section
'dePromote' in 'removePolicy()' section
'policyEditorData' in 'updatePolicy()' section

[1] https://docs.wso2.com/display/IS540/Entitlement+with+APIs

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


How change "untitled0" dataset name if you use xDataset ?

I have simple tracker.
searchType: fileMeta, tag
searchTarget: cDate, english
folder: notes/english
xDataset: 0
month:
    startWeekOn: 'Mon'

If I want change datasetName and line datasetName: Name of my dataset I have got error  "Not enough dataset names or duplicated names".
If I try change xDataset: 0 on xDataset: some string I also have error.
Does it exists way to change this parameter?

you need to have two values after datasetName since you are pulling two datasets.
searchType: fileMeta, tag
searchTarget: cDate, english
folder: notes/english
datasetName: Creation Date, English

Great this solved my problem, thanks


Add PSK byte/string getter fns, use in datafile

Also changes datafile from storing Secret to string.
Also marks places PSK key length vars are dependent on each other, and
where ideally we'd find ways to de-duplicate as much as possible.
Signed-off-by: Daniel Farrell<EMAIL_ADDRESS>

Any idea what's going on with this make ci test failure @mangelajo?
datafile when Getting data from cluster [It] Should produce a valid structure
/go/src/github.com/submariner-io/submariner-operator/pkg/subctl/datafile/datafile_test.go:79

  Unexpected error:
      <*errors.errorString | 0xc000074cc0>: {
          s: "proto: Secret: illegal tag 0 (wire type 0)",
      }
      proto: Secret: illegal tag 0 (wire type 0)
  occurred

  /go/src/github.com/submariner-io/submariner-operator/pkg/subctl/datafile/datafile_test.go:81

I'm not sure if we will need to do this, this could be intended for grabbing it from the broker. For now, we may need something more in the line of getting the base64 from the datafile


Production model from asset

Description
Please describe the change you have made.
Checklist:

[ ] Tests added/updated.
[ ] Documentation updated.
[ ] Changelog updated in CHANGELOG.md.
[ ] Version bumped. If triggering a new release is desired, bump the version number in pyproject.toml per semantic versioning.

Pytests failing, relationships to generators missing in approval test


Tmodloader <IP_ADDRESS> failed to start up with win xp system

Description
The latest version of tmodloader crashes with Windows XP system
(I'm sure that I have closed every anti-virus software and there should not be a bitdefender for the xp system.

Steps to Reproduce

Have a computer with winxp with .net4.0 and xna4.0redist installed
open terraria mod loader

Expected behavior
The tmodloader should starts up normally.

Actual behavior

the tmodloader gives me an message

Reproduction frequency

Always
Versions

tmodloader <IP_ADDRESS>
p.s. it works well with <IP_ADDRESS>
Mods
None.

Additional Information

I have tried that but it has no effect. In fact, I got this error message on three different computers with winxp system and all of them are new to terraria.

As much as we'd love to solve this bug, it may not matter soon thanks to the following announcement
https://support.steampowered.com/kb_article.php?ref=1558-AFCM-4577

Thanks a lot. I'll try to upgrade my operating system and try again.


SQLSTATE[HY000] on migration with sqlite

When I try to run migrations with sqlite I get this message:
[Illuminate\Database\QueryException]
  SQLSTATE[HY000]: General error: 1 Cannot add a NOT NULL column with default value NULL (SQL: alter table "chat
  ter_discussion" add column "slug" varchar not null)

Ok, looks like it's a sqlite behaviour, as explained here.
To use SQLite, a ->default() property must be added on the migrations that return an error.

I do not think that slug is ever meant to have a default value.

Then it should be marked nullable.
$table->string('slug')->unique()->nullable();


appendingPathComponent(:isDirectory:) should account for isDirectory

Same as https://github.com/apple/swift/pull/23926.

When appendingPathComponent(:isDirectory:) is falling back from an NSURL.appendingPathComponent() to an NSString.appendingPathComponent(), it's forgetting to take into account the isDirectory parameter.

@swift-ci please test and merge


Shortcut to On-Screen Keyboard broke it

I have a disability and in trying to make a group for accessibility tools something permanently broke the Taskbar-Groups app. It didn't let me attach the shortcut to On-Screen Keyboard so I deleted the group and shortcut made, but it still has this [attached] error pop up whenever I interact with any of the groups in the taskbar or in app.
I am worried to try other accessibility and system tools that I use regularly like the magnifier, task manager, snipping tool, mouse settings, etc.

@Brinzer
Hi! A lot of fixes have been added since the last time this repo was updated. Before you do so, please do these steps if it is still broken.

Follow the guide here to show hidden files
Press your Windows key and paste in %appdata%\Jack Schierbeck\taskbar-groups to navigate to the folder path where the group data is contained.
Find the group that you added an accessibility app to and delete that folder (this will remove the group)

That should get the application back into a working state. If you want a clean wipe, you can delete everything in that folder.
Please head over to here to download the latest release from the repo that is currently maintained by me. I believe it doesn't have an issue with this (a lot of bug fixes have been done since the latest release of this repo).
If you still have an issue, open up an issue over there and I'll get on fixing it right away.


Add sharing to social media

After some investigation, this is not a necessary feature but might be a distraction for blogging.
So it would not be implemented for now.


Test pl-device-tests

Hey @AlbertMitjans, I think the new update in the master branch will help to solve the issues.


onSelectEvent issue

Love the calendar! I am having an issue with the onSelectEvent prop though. If just writing "onSelectEvent={(event) =>alert(event)}" it works (e.g. I get the event title etc) when clicking an event, but when passing it to a function like below it only prints an unknown event object "onselectevent event=[object Object]". What I want is to get the event information (title, date etc.) and the event's DOM element. Any thoughts?
imports...
BigCalendar.momentLocalizer(moment);

export default class BookingCalender extends Component {

constructor (props) {
       super(props);
       this.state = {
           events: []
       };
       this.handleSelectEvent= this.handleSelectEvent.bind(this)
}

handleSelectEvent(event) {
     console.log("handleSelectEvent's event="+event)
 }

render() {
       return (
               <BigCalendar
                   selectable
                   events={this.state.events}
                   onSelectEvent={(event) =>this.handleSelectEvent(event)}
                   defaultView='week'
                   defaultDate={new Date(2017, 4, 15)}
               />
       );
   }

componentDidMount(){
       if (this.props.bookingId!==undefined) {
           getCalenderEvents(this.props.bookingId).then((events) => {
               for (var i =0; i<events.length;i++){
                   events[i].start=new Date(events[i].start);
                   events[i].end=new Date(events[i].end);
               }
               this.setState({events: events})
           })
       }
 }
}

The callback is called with your event object object so it has anything you have on your events.  It's printing something weird because you are coercing the object to a string in your console.log

Hello @minisemi , did you try this: onSelectEvent={this.handleSelectEvent}, I am using it that way and it works just fine...

Well that's embarrassing, used the console wrong so it changed the object to a string like you said. Thanks!


Replace unmaintained crate backoff

Bug Description
Crate backoff has been unmaintained for the past 3 years with stack of PRs and issues. My team is currently using this crate and tokio-retry2, so removing the deprecated dependency would be of interest to all.
Minimal Reproduction
Unmaintained crate
Info

SQLx version: 0.8.2
SQLx features enabled: "macros", "migrate", "json", "postgres"
Database server and version:Postgres
Operating system: All
rustc --version: 1.81

A crate being unmaintained is not an emergency unless it has some kind of vulnerability or fatal bug.
None of the open issues on the backoff repo are showstoppers for our use-case, and the open PRs are all incremental improvements.
I'm additionally concerned about someone opening a PR to add their own crate as a dependency. Supply chain attacks aside (which I'm not accusing you of attempting here, but it's something I'm wary of), you've only been maintaining it for less than a month. Are you still going to be maintaining it in six months? A year? Or are we going to be right back where we are now?
As with https://github.com/launchbadge/sqlx/pull/3477#issuecomment-2327190657, if we did replace backoff, I would rather replace it with something in-tree or at least that we have control over so it's one less thing to worry about becoming unmaintained. Exponential backoff is by no means so complicated that we couldn't just roll it ourselves. I've done it more than once when the available APIs weren't flexible enough for my use case.


UI freezes when chrome devtools is open

Hi!
User since several years and currently facing an issue which baffels me.
I'm not entirely sure that the behaviour is due to redux-saga, but I'm hoping you could provide me some context which will make me understand what is going on.
Scenario
A modal is open with the possibility to select dates which will be used to fetch data through a saga.
When pressing "save" in that modal the following flow is defined:
<button
    onClick={() => {
      onClose(); // Updates parent state which closes the modal
      startSaveSelectedDates(dates); // start saga which will fetch selectedDate and update global state accordingly.
    }
/>

The onClose(); affects the state as it should but the render for the state update is not happening until the saga resolves.
Here are some details regarding the circumnstances of the issue:

When Chrome devtools is closed, issue dissapears.
My saga locks my UI written in React only when Chrome devtools is open.
If I open an Incognito tab without plugins the saga does not seem to lock the UI.
If I open an Incognito tab with plugins, the lock time gradually increases with the number of plugins active. All plugins seem to affect the lock time, some more than other.
If I add yield delay(1) in the beginnig of the saga, the issue dissapears.

Saga code
function* startSelectDatesSaga(
  action: ActionType<typeof flexHoursActions.startSelectDates>,
) {
  // If a  "yield delay(1);" is added here the UI is not locked.

  const { selectedDates } = action.payload;

  // This is a pure redux action, only updates the state selectedDates
  // Alot of heavy renders are triggered by this, the UI seems to lock until these renders are resolved
  yield put(flexHoursActions.setSelectedDates(selectedDates));

  // API call.
  // If this is moved above "yield put(flexHoursActions.setSelectedDates(selectedDates));" The UI does not lock.
  const {
    employeeHours,
  }: SagaReturnType<typeof actualAPI.getEmployeeHours> = yield call(
    actualAPI.getEmployeeHours,
    {
      dates: selectedDates,
    },
  );

  yield put(employeeHourActions.setEmployeeHours(getEmployeeHours));
 }

So the culprit seems to be the yield put(flexHoursActions.setSelectedDates(selectedDates)); and the renders it causes. But I don't understand why there is an issue.
I'm hoping you can enlighten me!
Also, thank you for your work!
/ Jakob

Description
Please provide some context about the problem and some code examples if relevant.
The best way to provide an example is repository or use Code Sandbox(there is a prepared template for Code Sandbox)

Hi!  I'd be happy to work through this problem with you.

If I open an Incognito tab without plugins the saga does not seem to lock the UI.

This is my first hunch of a potential problem.  What extensions do you have installed (e.g. react-devtools and redux-devtools)?  It is not uncommon for these tools to lock the UI thread because they are inspecting the react component tree and observing every single redux action being dispatched.  I would try uninstalling them one-by-one to see if we can figure out which one is causing the UI lock -- it could be both.
Adding yield delay(1) is really just a way to add this saga into a Macrotask queue in the browser, which could help with UI locking in certain scenarios.  This is especially interesting for redux-saga because sagas can and will run synchronously if there are no async operations being called.  Feel free to consult our cheatsheet on which operations are blocking.

// This is a pure redux action, only updates the state selectedDates
// Alot of heavy renders are triggered by this, the UI seems to lock until these renders are resolved
yield put(flexHoursActions.setSelectedDates(selectedDates));

I would also investigate this action.  Are you certain that no other sagas are being triggered here?  It seems you already know that this is causing a lot of rendering, this might be a good place to try to figure out how to optimize performance.
Finally, I would try to monitor performance while this task is running.  The "Performance" tab in the Chrome devtools is a great resource for this.  It should help you pinpoint what is causing the UI thread to lock.
Hopefully that gives you enough to continue your investigation, good luck, and feel free to keep chatting here!

Thank you for your time !

... I would try uninstalling them one-by-one to see if we can figure out which one is causing the UI lock -- it could be both.

I did what you suggested regarding the plugins, the culprit is not a single plugin but an accumulation. The biggest culprit is LastPass for some reason.

Adding yield delay(1) is really just a way to add this saga into a Macrotask queue in the browser, which could help with UI locking in certain scenarios. This is especially interesting for redux-saga because sagas can and will run synchronously if there are no async operations being called.

This goes hand in hand with my current understanding aswell. I think there could be some nuance here which will make me understand the behaviour I'm seeing.

<button
    onClick={() => {
      console.log("1");
      onClose(); // when state updates: console.log("2");
      console.log("3");
      startSaveSelectedDates(dates);
      console.log("4");
    }
/>

function* startSelectDatesSaga(
  action: ActionType<typeof flexHoursActions.startSelectDates>,
) {
  console.log("saga 1");
  const { selectedDates } = action.payload;

  yield put(flexHoursActions.setSelectedDates(selectedDates));
  console.log("saga 2");

  const {
    employeeHours,
  }: SagaReturnType<typeof actualAPI.getEmployeeHours> = yield call(
    actualAPI.getEmployeeHours,
    {
      dates: selectedDates,
    },
  );
  console.log("saga 3");
  yield put(employeeHourActions.setEmployeeHours(getEmployeeHours));
  console.log("saga 4");
 }

The console says: 1, 3, saga 1, saga 2, 4, 2, saga 3, saga 4 where saga 2 happens immediatly after saga 1.
In my mind I would expect 1, 2, 3, saga 1, saga 2, 4, saga 3, saga 4
And even with the yield delay(1) the flow looks:
1, 3, 4, 2, saga 1, saga 2, saga 3, saga 4 where I would expect 1, 2, 3, 4, saga 1, saga 2, saga 3, saga 4
I guess why I'm not seeing 1, 2, 3 must be because of how react batches renders together.
And the reason why the UI locks is just because of that, react tryes to render the "is modal open" update together with the big render caused by:  yield put(flexHoursActions.setSelectedDates(selectedDates));. And the first time the UI unlocks is when the api call happens, that's why we see this behaviour.
So basically is what I wrote above how it works? If yes, the plugins slows down the rendering so much so that I experience the issue.
Thank you again, sorry if it ended up a bit confusing.

Hello again,
the onClick is dispatching an action.
In my watcher function I'm using takeLastest not takeEvery