bug: Discord server link unavailable

Describe the bug
Discord Link not available on app.100x.devs for the purchased cohort
To Reproduce
Steps to reproduce the behavior:

Leave discord
open app.100x.devs
view courses

Expected behavior
A discord link for the purchased course, but instead there is only claim certificate and the discord link of other courses
Screenshots or GIFs

Additional context
Got this issue when I left the Discord server as I was unable to text in a few channels and my sub group and discovered it when I tried to rejoin the server.

This check should not be based on the certificate being issued instead it should be a check if the email/user is present in the discord or not
I think the check needs to be changed to a db call to verify if the userId is present in the DiscordConnect table

hey i would like to work on this bug

🤔

Is this fixed @Aryam2121?

🤔

yeah it's fixed

Hey @sitanshu05,
This is not a bug. cms is designed in a way that 1 user should be able to join the discord server only once. If you have exited the server then please contact Rookie or you can mail at<EMAIL_ADDRESS>asking for a rejoin. They will help you out there.
Please close this issue. Thank You.

Hey @devsargam please close this one. Not an issue here.


"Lossless" Texture2D imports are not lossless on Mobile renderer

Godot version
4.1.1 rc1
System information
Godot v4.1.1.rc1 - Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce GTX 750 Ti (NVIDIA; <IP_ADDRESS>79) - 12th Gen Intel(R) Core(TM) i5-12400F (12 Threads)
Issue description
Mobile:

Forward+:

This texture is set to lossless, yet is very compressed in the mobile renderer. Lossless is misleading

Steps to reproduce
Import a texture in the mobile renderer and compare it to the forward plus renderer
Minimal reproduction project
My sky as an example:

Lossless means that it is stored on the disk using a lossless image format like PNG or WebP.
What you are seeing is a consequence of the mobile renderer using a lower precision viewport than the forward+ renderer. On mobile devices full HDR viewports really hurt performance, so you need to use a more limited format, it's just something you have to work around if you are targeting mobile.

Lossless means that it is stored on the disk using a lossless image format like PNG or WebP.
What you are seeing is a consequence of the mobile renderer using a lower precision viewport than the forward+ renderer. On mobile devices full HDR viewports really hurt performance, so you need to use a more limited format, it's just something you have to work around if you are targeting mobile.

For reference, this is documented in: https://docs.godotengine.org/en/latest/tutorials/3d/3d_rendering_limitations.html#color-banding


Other platforms

Would this tool also work for any other platform ?

This client is specifically designed for OpenAI Assistants. Other platforms likely use different data structures. I suppose in most cases it's more efficient to write a separate client. However, it would depend on the platform in question.

Ah yes sorry for my vague question. I have Access to OpenAI and have openAI key as well but you mentioned the RD2 game or whatever. Or can i just use it on other poker platforms well is what I meent.

Ah got it, you can.
The OpenAI folder contains the actual client to manage the assistant. https://github.com/Thukyd/OpenAI-Assistant-Manager/tree/main/src/openai
In "run" you define your assistant base config.
In test is an unfinished example for this RDR2 poker Assistant. There is barely logic in it yet. I didn't find time to continue with it.


WARNING: Could not send HEAD request/HTTP Error 503: Service Temporarily Unavailable

Any one any ideas about this?

Try again with the --head option

How exactly does that go....I'm writing in terminal....youtube-dl....then webpage?

youtube-dl --head

Tried that and got this...
Usage: youtube-dl [OPTIONS] URL  [URL...]
youtube-dl: error: no such option: --head

😂

thanks anyway 89z :)

Open a new issue with the required supporting information if you still have a problem.


Search

When I searched i takes too long around 30secs up to 1min

I cannot make the Twitch servers respond faster

ohh its depend on twitch.
anyway i can dm you?


Rails Date Kit Select Date

Hey
My enviroment:
Jruby 1.6.5
Rails 3.0.11
Cucumber-Rails 1.2.1
Capybara 1.1.2
Selenium 0.2.2
Selenium-client 1.2.18
Selenium-webdriver 2.16.0
I am using a rails date kit:
http://www.methods.co.nz/rails_date_kit/rails_date_kit.html
To create date_fields
I am trying to select a date in my step definitions:
find(:xpath, ".//input[@id='inspection_date']").select(date.to_s)
But i am getting a error saying the following:
cannot select option, no option with text '2011-02-14' (Capybara::ElementNotFound)
And if I try to select the date with the select_date(field, with=> date)
It gives me the following error:
Unable to find xpath ".//label[contains(., 'inspection_date')]" (Capybara::ElementNotFound)
Is there a way to select the date from a text_field using the rails date kit

Please send this to the mailing list, there is a better chance you'll be able to get help there with questions like this! :-)


Merge asof join skeleton

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review https://spark.apache.org/contributing.html before opening a pull request.

@icexelloss

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@icexelloss Could you help guide @jaewanbahk about the PR contribution? https://spark.apache.org/contributing.html

ok to test

Test build #106810 has started for PR 24941 at commit 438300a.

Test build #106810 has finished for PR 24941 at commit 438300a.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class MergeAsOf(
case class MergeAsOfJoinExec(

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/106810/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/12028/
Test PASSed.

@jaewanbahk Let's not create PR against Master. Please close this one and create one against your fork.


No module named 'regex._regex'

Traceback (most recent call last):
File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/main/.local/lib/python3.9/site-packages/kindle2notion/main.py", line 4, in
from kindle2notion.exporting import export_to_notion
File "/home/main/.local/lib/python3.9/site-packages/kindle2notion/exporting.py", line 4, in
from dateparser import parse
File "/home/main/.local/lib/python3.9/site-packages/dateparser/init.py", line 3, in
from .date import DateDataParser
File "/home/main/.local/lib/python3.9/site-packages/dateparser/date.py", line 6, in
import regex as re
File "/usr/lib/python3/dist-packages/regex/init.py", line 1, in
from .regex import *
File "/usr/lib/python3/dist-packages/regex/regex.py", line 402, in
import regex._regex_core as _regex_core
File "/usr/lib/python3/dist-packages/regex/_regex_core.py", line 21, in
import regex._regex as _regex
ModuleNotFoundError: No module named 'regex._regex'

Seems like your system doesn't have regex package installed. Try running pip install regex or refer to this link.

Requirement already satisfied

I think the problem is with wheel on Linux


Crash on page 2 of pool

on page 2 of pool:1536 (not a pool tab, yes I know it's not the "right" way to view pools) the program crashes to desktop. Because I have session restore enabled, it crashes again on restart. I'm using 4.1.5 on Windows 10.

Which source are you testing this on? I just tried on danbooru with no issues on version 4.1.7, using "pool:1536" and page 2.
The "crash on restart" will hopefully be fixed too (it allows you not to restore the last session in case of a previous crash).


⚠ Bofrost.at has degraded performance

In d9a30de, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1185 ms

Resolved: Bofrost.at performance has improved in e098b5f after 7 minutes.


Zombie reaping issues

There are several fixes needed in the updated zombie reaping logic (copied from PR #421):

The correct condition for enabling zombie reaping should be whether the sidecar runs as PID 1 or not, rather than inspecting a random environment variable.
The parent process must forward any signal down to the child process.
The parent process should exit with the same exit code of the child process.
There's a fmt.Println() that slipped in and should probably go away (line 71).
For the sake of code organization, let's not put all of this logic in the main file... we should strive to have that file only include configuration/construction code.

@GregHanson I assigned this to you given that you've been working on this. If you don't have time for this, please unassign.

Resolved by #423


Remove all stringly-typed "value: String" setters in Kobweb Modifiers

If a Kobweb modifier only takes a string value for something that should be an enumerated value, then it should be deprecated (and eventually cut)
The Kobweb API should be as richly typed as possible, to prevent encouraging people using bad values.
Often times something is a value: String type because I was being lazy. I should not be lazy.

Obviously, something like
Modifier.context(value: String)

is OK.
If a person REALLY needs a value: String fallback, they can use
Modifier.styleModifier {
   property("blah", "some complex string value")
}

for now.

Add any stringly-typed APIs as I come across them:

[ ] gridTemplateRows

Duplicate of #173


Introduce a dedicated async-storage IR

[ ] This is a small change
[ ] This change has been discussed in issue #<?> and the solution has been agreed upon with maintainers.

Description:
Introduce a new idling-resource dedicated to react-native's AsyncStorage, which apparently wasn't covered because it uses a proprietary thread-pool executor - which Detox (and Espresso) are currently oblivious to.
The new idling-resource interrogates that executor, if present. The newly added storage-stress E2E test proves its value (effectively fails without it). It is generally required in two instances, since async-storage was originally implemented inside react-native, and was only later extracted to the rn-community repo; the two implementations currently live side-by-side.
@noomorph would appreciate your feedback on the JS changes (not that many) + e2e logic.

Looks very good.
A side thought, so, shall we think someday of a pluggable IdlingResources functionality, like npm i detox-ir-async-storage --save-dev, plug & pray?


ADDED : Linux Commands for Beginners

This tutorial helped me a lot when I was learning linux. I watched all the videos and they gave me some basic notion of how Linux works. I hope it helps as much as it helped me when i watched. Good learning guys :)

This resource has been surely helpful for me when I was just starting my journey as a Linux User.


Catch UnauthorizedSSOTokenError

Only an issue when running locally?

This branch works for me when not having access to SSO!
Via tibber_configuration which calls tibber_aws:
Old tibber_aws:
$ python -m src._local.trade_pnl --start 2022-04-01
Changed environment to PROD
Traceback (most recent call last):
...
botocore.errorfactory.UnauthorizedException: An error occurred (UnauthorizedException) when calling the GetRoleCredentials operation: Session token not found or invalid

During handling of the above exception, another exception occurred:
...
  File "/Users/mans/.local/share/virtualenvs/tibber-pyTradingFundamentalData-dJxpSWbA/lib/python3.9/site-packages/botocore/credentials.py", line 691, in _get_cached_credentials
    response = self._get_credentials()
  File "/Users/mans/.local/share/virtualenvs/tibber-pyTradingFundamentalData-dJxpSWbA/lib/python3.9/site-packages/botocore/credentials.py", line 2055, in _get_credentials
    raise UnauthorizedSSOTokenError()
botocore.exceptions.UnauthorizedSSOTokenError: The SSO session associated with this profile has expired or is otherwise invalid. To refresh this SSO session run aws sso login with the corresponding profile.

This branch pip-installed, doesn't crash and returns an empty dict, as expected:
$ python -m src._local.trade_pnl --start 2022-04-01
Changed environment to PROD
No credentials
No credentials
No credentials
Traceback (most recent call last):
  File "/Users/mans/.pyenv/versions/3.9.0_x86/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Users/mans/.pyenv/versions/3.9.0_x86/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/Users/mans/git/tibber-pyTradingFundamentalData/src/_local/trade_pnl.py", line 32, in <module>
    config["nordpool_cass_api_user"],
KeyError: 'nordpool_cass_api_user'


File not found

when i tried to run the bot, it shows
FileNotFoundError: [Errno 2] No such file or directory: 'samples/msx-0.png'
when the files are here and the names are the same

Hm... are you running it on Mac?
I actually haven't tested it on Mac. My best guess is that Mac requires explicit "./" to correctly work with relative paths.
I have added it. Let me know if it solves the problem.


Make composite healthcheck for ServiceManager

Per #5850 we should have a /health endpoint for our service state. Composite services like ServiceManager should report their individual components, manifesting an aggregate healthy IFF all are healthy. This helps ensure traffic doesn't pass through when things aren't finished booting up, or if they crash after the fact.
This was discussed in https://apache-pinot.slack.com/archives/CDRCA57FC/p1598498630061400
Make a composite health endpoint similar to this:
  @GET
  @Produces(MediaType.APPLICATION_JSON)
  @Path("/instances")
  @ApiOperation(value = "Get Pinot Instances Status")
  @ApiResponses(value = {@ApiResponse(code = 200, message = "Instance Status"), @ApiResponse(code = 500, message = "Internal server error")})
  public Map<String, PinotInstanceStatus> getPinotAllInstancesStatus() {
    Map<String, PinotInstanceStatus> results = new HashMap<>();
    for (String instanceId : _pinotServiceManager.getRunningInstanceIds()) {
      results.put(instanceId, _pinotServiceManager.getInstanceStatus(instanceId));
    }
    return results;
  }

and in doing so it similar to discovering and calling each of https://github.com/apache/incubator-pinot/pull/5846
main thing is to represent the composite of its health so you can know if the process should be in service or not.
for example, i noticed one part of process fail in docker due to zip extraction maybe take too long no idea. still passes health check! that's bad as it fails other thing.
cc @daniellavoie @fx19880617

Currently the health check is implemented in: https://github.com/apache/incubator-pinot/blob/master/pinot-tools/src/main/java/org/apache/pinot/tools/service/api/resources/PinotServiceManagerHealthCheck.java
I think ServiceStatus.getServiceStatus(); will return the composite health check.
ServiceStatus holds a MapBasedMultipleCallbackServiceStatusCallback which contains the callback for all the components.

sounds like the right spot. main thing after that is the rather simple logic to scan them before deciding the ultimate HTTP status (200 vs 503) where if any status is not ready == 503 conversely iff they are all ready == 200

My initial thoughts was that user expects all the components to be up to consider the standalone process is healthy.
So I put the hight level /health uses 200 for (all healthy) or 503(something is wrong).
Do you suggest to have some error code for partial failure or all failure? Also this is still missing the information of which component is in bad state.
Meanwhile users can use /health/services to get all health checks for all the components.

I don't think we need a code difference on partial fail. still use 503. if someone wants to they can see the partial fail in the json of the response.

Sounds good, then I think current code behavior is already as you described?
Have you observed the situation that /health works but /health/services give some components failure?

no I haven't seen partial failure scenario using this. I will switch to it. meanwhile, it might be work back filling a test that proves PinotServiceManagerHealthCheck gives 503 on partial failure or if already does, link that and close this out.

PS I have seen a partial failure, just not one using this. That said, there is code now that checks exit status at startup, and the partial failure I saw was at bootstrap (error extracting the swagger stuff)

oh? so swagger fail the component? or you saw swagger errors in the log?

it was a jar error ultimately during bootstrap which no longer exists (after extracting all of them). sadly I don't have a copy of the message. the surprise was that the listener still worked heh. I think this error will be less possible after recent commit which checks exception and boolean status strictly.


Not able to get authentication token

I see:
rosa list clusters
E: Failed to create OCM connection: error creating connection. Not able to get authentication token

This repeats but sometimes succeeds.  It would be nice to have a clearer trouble shooting for this flakiness.

Please update you CLI binary to latest


link_deps() should also parse DYLD_FALLBACK_LIBRARY_PATH on OS X

This seems to have something to do with nightly, not sure exactly what. Also, it only happens on OS X (I'm running the same tests on travis/appveyor on linux/osx/win).
I've tried adding some logging before/after calling config.link_deps(), here's the results (formatted for readability):
stable:
BEFORE: None

AFTER: Some("
    -L ~/dev/rust/hdf5-rs/target/debug/deps
    -L ~/dev/rust/hdf5-rs/target/debug
    -L ~/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib
    -L ~/.rustup/toolchains/stable-x86_64-apple-darwin/lib
")

nightly:
BEFORE: None

AFTER: Some(" -L ~/.rustup/toolchains/nightly-x86_64-apple-darwin/lib")

I'm a bit lost; any thoughts? (will try to keep digging to see if there's anything else I can find out)

@aldanor Thanks for tracking this. Can we just make the change to link_deps() directly and use DYLD_FALLBACK_LIBRARY_PATH instead of DYLD_LIBRARY_PATH? Or are there some caveats?


Credentials form

The InputValidation filter has been added. Every (post) request is validated and rogue characters are encoded properly. Regarding credentials, encoding is disabled when calling the form helper set_value() function.


Automated cherry pick of #6242: disks: reword error message on bad DiskConfig struct

Cherry pick of #6242 on release/2.13.
#6242: disks: reword error message on bad DiskConfig struct

Codecov Report

Merging #6246 into release/2.13 will increase coverage by 0.05%.
The diff coverage is 25.31%.

@@               Coverage Diff               @@
##           release/2.13   #6246      +/-   ##
===============================================
+ Coverage          6.80%   6.86%   +0.05%
===============================================
  Files               535     536       +1
  Lines             90448   90576     +128
===============================================
+ Hits               6154    6215      +61
- Misses            83785   83853      +68
+ Partials            509     508       -1

Flag
Coverage Δ

#aFlag
6.86% <25.31%> (+0.05%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/cloudcommon/db/db_dispatcher.go
0.00% <0.00%> (ø)

pkg/cloudcommon/policy/policy.go
1.58% <0.00%> (+0.04%)
:arrow_up:

pkg/compute/models/dbinstance_accounts.go
2.34% <0.00%> (ø)

pkg/compute/models/dbinstance_databases.go
4.24% <0.00%> (ø)

pkg/compute/models/disks.go
0.55% <0.00%> (ø)

pkg/compute/models/dnsrecords.go
27.71% <0.00%> (-0.40%)
:arrow_down:

pkg/compute/models/elasticcache_instances.go
1.17% <0.00%> (ø)

pkg/compute/models/loadbalancerbackendgroups.go
1.48% <0.00%> (ø)

pkg/compute/models/loadbalancerbackends.go
2.70% <0.00%> (ø)

pkg/compute/models/loadbalancerlistenerrules.go
1.84% <0.00%> (ø)

... and 15 more

Continue to review full report at Codecov.

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


verbose processing telemetry

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 10 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.7%) to 60.223%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

aws_message/gather.py
0
10
0.0%

Files with Coverage Reduction
New Missed Lines
%

aws_message/gather.py
1
0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.7%

Covered Lines:
284

Relevant Lines:
448

💛  - Coveralls


Missing build duration display after ng build in Angular v17.2.0

Command
build
Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
17.0.0
Description
In Angular version 17.0.0, the ng build command used to display the duration of the build process in the console after the packaging was completed. However, starting from version 17.1.0, this helpful feature seems to be missing. As a result, developers are no longer provided with the build duration information, making it difficult to assess the performance and optimization of the build process. It is important to address this bug and restore the display of build duration in the console after executing ng build.

No response

The build time logs seems to be overwritten by warning logs:

Once I eliminated all the warnings, I could see the build time logs:

The build time logs seems to be overwritten by warning logs:

Once I eliminated all the warnings, I could see the build time logs:

This is helpful for me.


CupertinoSearchTextField height changes if placeholder contains Chinese Character.

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
If the placeholder contains Chinese, the widget's height will change when user inputs something.
An empty CupertinoSearchTextField with Chinese placeholder is higher than ones with English placeholder.
While a CupertinoSearchTextField with user input Chinese characters is as same as default ones in height.
Code sample
Code sample
import 'package:flutter/cupertino.dart';

/// Flutter code sample for [CupertinoSearchTextField].

void main() => runApp(const SearchTextFieldApp());

class SearchTextFieldApp extends StatelessWidget {
  const SearchTextFieldApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoApp(
      home: SearchTextFieldExample(),
    );
  }
}

class SearchTextFieldExample extends StatefulWidget {
  const SearchTextFieldExample({super.key});

  @override
  State<SearchTextFieldExample> createState() => _SearchTextFieldExampleState();
}

class _SearchTextFieldExampleState extends State<SearchTextFieldExample> {

  @override
  Widget build(BuildContext context) {
    return const CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        middle: Text('CupertinoSearchTextField Sample'),
      ),
      child: Center(
        child: Padding(
          padding: EdgeInsets.all(16.0),
          child: CupertinoSearchTextField(
            placeholder: '搜索',
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/flutter/flutter/assets/14086980/26765241-0e11-42b3-ade4-c278c442aa3e

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.0, on Fedora Linux 38 (Workstation Edition)
    6.4.10-200.fc38.x86_64, locale zh_CN.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2022.3)
[✓] Proxy Configuration
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

a temporary solution before the official fix:
set a smaller fontSize for placeholderStyle than style.
                placeholderStyle: const TextStyle(
                  fontSize: 14,
                  color: Colors.grey,
                ),
                style: const TextStyle(
                  fontSize: 16,
                  color: Colors.black,
                ),

Thanks for the report. Reproduced this issue on the latest Flutter stable/master channels.
The issue doesn't happen on a native iOS app sample with the same placeholder:

Demo iOS native
https://github.com/flutter/flutter/assets/104349824/aa15e4d5-5f06-4985-bc80-27e46eb7ee11

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.13.1, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.13.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e1e47221e8 (23 hours ago), 2023-08-22 21:43:18 -0700
    • Engine revision b20183e040
    • Dart version 3.1.0
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.81.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.70.0

[✓] Connected device (3 available)
    • iPhone (mobile) • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.2 19H218
    • macOS (desktop) • macos                                    • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)    • chrome                                   • web-javascript • Google Chrome 116.0.5845.96

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.14.0-9.0.pre.69, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.14.0-9.0.pre.69 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b32cd68f31 (64 minutes ago), 2023-08-23 22:24:03 -0400
    • Engine revision aa98a9d2e8
    • Dart version 3.2.0 (build 3.2.0-97.0.dev)
    • DevTools version 2.26.2
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.81.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.70.0

[✓] Connected device (3 available)
    • iPhone (mobile) • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.2 19H218
    • macOS (desktop) • macos                                    • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)    • chrome                                   • web-javascript • Google Chrome 116.0.5845.96

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

It looks like this happens in CupertinoTextField as well (that's what CupertinoSearchTextField is based on), but it doesn't happen in TextField.

@justinmc I think it is about EdgeInsets, cause it also occurs in the following code sample:
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: const CupertinoNavigationBar(
        middle: Text('CupertinoTextField Sample'),
      ),
      child: Center(
        child: Container(
          width: double.infinity,
          decoration: BoxDecoration(
            border: Border.all(
              color: CupertinoColors.systemGrey,
            )
          ),
          padding: EdgeInsets.all(8),
          child: Text("Search"), // "搜索"
        ),
      ),
    );
  }

Oh, maybe it is not caused by EdgeInsets, but by the height of Text widget. There might be more widgets affected.
https://github.com/flutter/flutter/assets/14086980/1c10c5c5-35e0-42d0-b0b3-7b86cc882399

I guess the reason is that different characters in font files have varying heights. This problem seems to be quite widespread in common fonts. I believe we still need to consider possible fixes, because it's clearly not possible to have font manufacturers to unify character heights.
This also occurs if a text contains mathematical alphanumeric symbols.

also occurs in TextSpan:
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      child: Center(
        child: Container(
          width: double.infinity,
          decoration: BoxDecoration(
              border: Border.all(
                color: CupertinoColors.systemGrey,
              )
          ),
          child: RichText(text: TextSpan(
              style: DefaultTextStyle.of(context).style,
              children: [TextSpan(text: "▇")],
          )), // "搜索"
        ),
      ),
    );
  }

Is it proper to add height param to default style and placeholderStyle as a fix?
cupertino/text_field.dart 1266~1278:
    final TextStyle? resolvedStyle = widget.style?.copyWith(
      color: CupertinoDynamicColor.maybeResolve(widget.style?.color, context),
      backgroundColor: CupertinoDynamicColor.maybeResolve(widget.style?.backgroundColor, context),
      height: widget.style?.height ?? 1,
    );

    final TextStyle textStyle = themeData.textTheme.textStyle.merge(resolvedStyle);

    final TextStyle? resolvedPlaceholderStyle = widget.placeholderStyle?.copyWith(
      color: CupertinoDynamicColor.maybeResolve(widget.placeholderStyle?.color, context),
      backgroundColor: CupertinoDynamicColor.maybeResolve(widget.placeholderStyle?.backgroundColor, context),
      height: widget.placeholderStyle?.height ?? 1,
    );

    final TextStyle placeholderStyle = textStyle.merge(resolvedPlaceholderStyle);

Is it proper to add height param to default style and placeholderStyle as a fix?
cupertino/text_field.dart 1266~1278:
    final TextStyle? resolvedStyle = widget.style?.copyWith(
      color: CupertinoDynamicColor.maybeResolve(widget.style?.color, context),
      backgroundColor: CupertinoDynamicColor.maybeResolve(widget.style?.backgroundColor, context),
      height: widget.style?.height ?? 1,
    );

    final TextStyle textStyle = themeData.textTheme.textStyle.merge(resolvedStyle);

    final TextStyle? resolvedPlaceholderStyle = widget.placeholderStyle?.copyWith(
      color: CupertinoDynamicColor.maybeResolve(widget.placeholderStyle?.color, context),
      backgroundColor: CupertinoDynamicColor.maybeResolve(widget.placeholderStyle?.backgroundColor, context),
      height: widget.placeholderStyle?.height ?? 1,
    );

    final TextStyle placeholderStyle = textStyle.merge(resolvedPlaceholderStyle);

No, I think. The text in field will be slightly higher with this solution.


Takostats not working in android 15, plzz fix this or refund money !!

I havw purchased lifetime plan of takostats, bt the developer is too lazy to update it, as a result the app stopped working on android 15. request to developers to kindky fixx this or refund my money !!

I have also purchased the lifetime plan but when i updated in android 15 in my iqoo neo 9 takostats not working...lazy devloper....😑


Retain backups only for deleted productive clusters

How to categorize this issue?
/area backup
/kind enhancement
/priority normal
What would you like to be added:
Let's retain only backups for deleted productive clusters, but not clusters with other purpose labels. We could then also increase the retention period for deleted productive clusters (e.g. 14 days).
Why is this needed:
We see applications of Gardener with a churn rate of 1000s of clusters per day leaving tens of thousands of backups per week in the blob store.
/cc @rfranzke @shreyas-s-rao

/assign


copyright assigned to assert_cli developers

Here https://github.com/assert-rs/assert_fs/blob/master/LICENSE-MIT#L1 the copyright is assigned to the The assert_cli Developers, in 2015.
This might maybe be an error since the first commit is in 2018? Or is this package based on some work that they have done?

I've fixed and clarified this
No copyright assignment is happening but it was meant to mean that individuals retain their copyright.  asserrt_cli was a somewhat related crate I copy/pasted from.

Thanks for the explanation :)
Then I'll add all parties to the copyright documentation in Debian.


fista algorithm

I implemented the fista algorithm from https://www.ceremade.dauphine.fr/~carlier/FISTA.
The function fista is with fixed stepsize (given as input) for all iterations. The function fista_with_backtracking updates the stepsize scalar at each iteration following the rule explained in the paper.
I haven't tested it yet because some parts are still missing (functionals, prox map), so I don't know if there are some errors. In the end as comments I put some ideas for some test examples: I copied the wavelet case from the slides just to have it here and then I created a blurring operator to solve a deblurring problem for testing.

suggestions/questions:

would it make sense to just add a backtracking:bool to Fista? most of the code is the same.
in the backtracking case, I think there is 2x the amount of work done:
you can do the step with the stepsize, and only backtrack if the stepsize was to large.
if it works out, you can continue.

I think torch.func.grad has a nicer interface than torch.autograd.grad
consider reusing the gradient if y is not updated (in Q)

so if would suggest to do inside fista
f_grad = torch.func.grad(f)
calculate f_grad_y = f_grad(y)
calculate prox_y
if backtracking:
while not criterion
update stepsize and  prox_y..

import torch
import math
from mrpro.operators._Functional import ProximableFunctional, Functional

def fista(
    f: Functional,
    g: ProximableFunctional,
    initial_value: torch.Tensor,
    stepsize: float = 1.,
    max_iterations: int = 128,
    backtrack_factor = 1.
) -> torch.Tensor:
    """FISTA algorithm for solving problem min_x f(x) + g(x).
    This relies on the implementation of the proximal map of g.

    stepsize is updated in each iteration.

    Parameters
    ----------
    f
        convex, differentiable functional
    g
        convex, non-smooth functional with computable proximal map
    initial_value
        initial value for the solution of the algorithm
    stepsize
        initial stepsize for gradient step
    max_iterations
        maximal number of iterations
    backtrack_factor
        must be <=1. if <1., Backtracking rule for stepsize following https://www.ceremade.dauphine.fr/~carlier/FISTA
        is used

    Returns
    -------
        an approximate solution of the minimization problem
    """
    backtracking = not math.isclose(backtrack_factor,1)

    x_old = initial_value
    y = initial_value
    t_old = 1.

    for _ in range(max_iterations):
      while stepsize>1e-30:
          f_y, vjp = torch.func.vjp(f,y)
          grad = vjp(torch.ones_like(f_y))
          x = g.prox(y - stepsize * grad, stepsize)
          if not backtracking:
            # no need to check stepsize, continue to next iteration
            break
          difference = x - y
          Q = f_y+ torch.vdot(difference.flatten(),grad.flatten()).real + 1/(2*stepsize) * difference.abs().square().sum()
          if f(x) <= Q:
            # stepsize is ok, continue to next iteration
            break
          stepsize*=backtrack_factor
      else:
        if backtracking:
          raise RuntimeError("After backtracking, the stepsize became to small.")
        else:
          raise RuntimeError("Stepsize to small.")

        t = (1 + math.sqrt(1 + 4*t_old**2))/2

        # update the solution
        y = x + (t - 1.)/t_update * (x - x_old)

        # update x and stepsize t
        x_old = x
        t_old = t

    return y

Add test for fista, maybe denoising of image which can be accurately described by wavelets

This is how Felix fixed the problem with the autograd function:

    def grad(x ):
        x=x.clone().detach().requires_grad_(True)
        y=f(x)
        return torch.autograd.grad(y,x)[0]

I checked that fista works on complex variables domain and I implemented it following these lines of code. I took some notes when I was checking fista for the complex domain, I add it here below just fyi.
I have to work on the tests, I'm still a bit confused about on which image sample I could use it on (for it to be described by the wavelets)
Also, in the pdf I put some calculus on the L1 proximal map for complex domain, and I think that the implementation that we have may not be correct, as it just viewed as real numbers the complex one and computes the proximal on those. What do you think?
Math_Fista.pdf

Wait but if I look at the class L1Norm in its pull request it seems that in the forward it doesn't check whether the input is complex or not, and so if z = x + iy it just takes the abs of it, and not separately, or where should I look?
Yeah I would opt for the b) option but maybe this is something to discuss more, it would make sense to give the option to see them separately but personally I think I would prefer that by default it considers complex values as they are. Why did you opt for the R^2 interpretation in the end at the hackathon?
I just checked ModRelu because I had never used it, and yes it seems exactly it!
The gradient should be the same yes!
So in the end it mostly matters how you actually define the objective we
are trying to solve.. ---> exactly!
Btw: skimming through the pdf, it looks like me guestimated interpretation
of Q was correct? :D --> my memory is too short sorry I think I forgot it ahahah but if you meant that just taking the real part of the complex part would work just as well than yes

You are completely right! The forward should have the view_as_real  as well!
Or the proximal is wrong. Either way, forward and proximal do not match for complex numbers.
(Hope that at some point somebody will add a test for the functionals that checks if the proximal actually is the proximal...)

summary from today's meeting:

rename to pgd (proximal_gradient_descent)
test which solves ||x -y||_2^2 + lambda ||x||_1
test which solves ||FFT(x) -y||_2^2 + lambda ||x||_1
previous test but with an increased step size to verify backtracking

all tests with random data, test is successful if objective function drecreases

We are not using underscores anymore so it should be src/mrpro/algorithms/optimizers/pgd.py
Please remove fista.py and all the commented code from the files

Fista is not working but I could not understand why.
I left a commented part at the end of the test consisting of some plots that I used to check.
Since I didn’t use the operator norm, I looked more into the case with backtracking as it doesn’t depend on it.
It seems to me that the solution of fista  just goes towards the zero tensor somehow and I checked again the code but I cannot see where the implementation of the algorithm is not correct.
I also thought that maybe it depends on the fact that in the example the L1 norm g(x) is huge in comparison to f(x), but I still couldn’t figure it out if there is an error in the implementation.

Currently L1 norm is defined as the sum of the absolute values, whereas in MSEDataDiscrepancy the L2 norm takes the mean and not the sum (and in L2 norm squared I don't understand it), wouldn't it make sense to choose one or the other way (or I don't know give the choice)?

I needed to use L1Norm(weight=1/(100**2)), now these two tests for the fft example work (and I looked at the image solution and it seemed to work).
For this example, should I add some different cases for ex of reg_parameter and max_iterations?
I will now work on the denoising example

Currently L1 norm is defined as the sum of the absolute values, whereas in MSEDataDiscrepancy the L2 norm takes the mean and not the sum (and in L2 norm squared I don't understand it), wouldn't it make sense to choose one or the other way (or I don't know give the choice)?

In L2 norm squared it should be the sum, I'd say (not sure what it does)
in MSE it should be the mean.

’t use the operator norm, I looked more into the case with backtracking as it doesn’t depend on it.

Also, for FFT the operator norm is just 1

Currently L1 norm is defined as the sum of the absolute values, whereas in MSEDataDiscrepancy the L2 norm takes the mean and not the sum (and in L2 norm squared I don't understand it), wouldn't it make sense to choose one or the other way (or I don't know give the choice)?

In L2 norm squared it should be the sum, I'd say (not sure what it does) in MSE it should be the mean.

Okay 👍 but then in this case is fine if I have to take the mean of the L1 norm since I'm minimizing f + g right? Otherwise they're very unbalanced

I see. You should maybe also use L2 norm for data consistency in pdg?
And we should reconsider if we want to keep an extra MseDataConsistency
(or if that should just be an alias for L2 Norm with the mean parameter set to true, or just remove it ?)
And aim for consistency. In practice, the using the mean will most likely be better, right? It will decouple the operator norm from the image size.. ?
.. Sorry, I forget to click 'update comment' earlier while editing my comment.

Currently L1 norm is defined as the sum of the absolute values, whereas in MSEDataDiscrepancy the L2 norm takes the mean and not the sum (and in L2 norm squared I don't understand it), wouldn't it make sense to choose one or the other way (or I don't know give the choice)?

By the name I would assume L1 to be the sum (although pytorch defaults to MAE for l1loss, so mean) Same for L2. Although in practice, in most cases you will want to scale it down to the mean.
So @ckolbPTB @koflera @Stef-Martin @guastinimara : should we
* add a 'divide_by_n:bool=False'  parameter to the functionals (that just scale the weight down when called).
  This would allow to use the same functional for differently shaped images without having the recreate it with different weightings.

* or do we say it is fine if we have to scale down the weight

I also think that the "mean-version" is probably the most useful. I would suggest to:

add divide_by_n:bool=True
Remove MseDataConsistency and use L2Squared instead

I also thought of using the L2Norm here instead of MSEDataConsistency, but I was confused on how to apply it, in particular:
I need a functional || F(x) - data ||_2^2, with MSEDataConsistency it was straightforwad to apply @F to it, so that F was applied only to x because data is fixed. I couldn't see how to write the same if I want to use L2Norm, but still needing to give a functional f to pgd

I also thought of using the L2Norm here instead of MSEDataConsistency, but I was confused on how to apply it, in particular:
I need a functional || F(x) - data ||_2^2, with MSEDataConsistency it was straightforwad to apply @ F to it, so that F was applied only to x because data is fixed. I couldn't see how to write the same if I want to use L2Norm, but still needing to give a functional f to pgd

L2NormSquared should behave the same as MSE with regard to @. If not, let Stephan know in the functional PR.(A functional should be an operator)
Also, you should be able to set the data as target in the when creating the L2 functional.

I also thought of using the L2Norm here instead of MSEDataConsistency, but I was confused on how to apply it, in particular:
I need a functional || F(x) - data ||_2^2, with MSEDataConsistency it was straightforwad to apply @ F to it, so that F was applied only to x because data is fixed. I couldn't see how to write the same if I want to use L2Norm, but still needing to give a functional f to pgd

L2NormSquared should behave the same as MSE with regard to @. If not, let Stephan know in the functional PR.(A functional should be an operator) Also, you should be able to set the data as target in the when creating the L2 functional.

Yes I realised only after writing my comment! I didn't see the target to use as data, thanks!

Currently L1 norm is defined as the sum of the absolute values, whereas in MSEDataDiscrepancy the L2 norm takes the mean and not the sum (and in L2 norm squared I don't understand it), wouldn't it make sense to choose one or the other way (or I don't know give the choice)?

By the name I would assume L1 to be the sum (although pytorch defaults to MAE for l1loss, so mean) Same for L2. Although in practice, in most cases you will want to scale it down to the mean.
So @ckolbPTB @koflera @Stef-Martin @guastinimara : should we
* add a 'divide_by_n:bool=False'  parameter to the functionals (that just scale the weight down when called).
  This would allow to use the same functional for differently shaped images without having the recreate it with different weightings.

* or do we say it is fine if we have to scale down the weight

I also think that the "mean-version" is probably the most useful. I would suggest to:
* add `divide_by_n:bool=True`

* Remove MseDataConsistency and use L2Squared instead

I didn't have time yet to follow the discussion in detail. But I would say that the implementation of MSEDataDiscrepancy is currently not what we would like to use for fista or pdhg or alike. That was back then more thought of a loss function.
So we somehow have the inherent distinction between loss-functions whose output is really just one single value, while for the functionals to be used for reconstruction algorithms, we typically will want to be able to have the dim argument, similar as in the operator-norm implementation.
I will have a look at it later...

I think the example code should be in an .. code-block:: python
or use this format (or similar):
Example:
    L1 regularized reconstruction blablabla longer descripton::
          fft = ....

with these indents and :: to look good in the docu

I'm trying to generalize fista for g ProximableFunctionalSeparableSum and f taking more inputs. I understood how to write the g, but I don't get how's the structure of f supposed to be like?
for image being a tensor for example,
l1 = L1Norm(divide_by_n=True)
g = ProximableFunctionalSeparableSum(l1, l1)
g(image,image)

how would it be the same with f = l2 @ fft ? I can't find it in the code

I pushed a version of fista now generalized to work on separable sums as well. I made the commit with no verify because there was an error from mypy that I didn't know how to solve. It was in the tests, line 106, and said:
tests/algorithms/test_pgd.py:106: error: Unsupported operand types for @ ("L2NormSquared" and "LinearOperatorMatrix")  [operator]
But all the tests worked, and since @ is applied to two operators, I don't understand why it's not fine...
Anyway, tomorrow I'll think about whether to add some other tests

please check how to docstring renders in the documentation (see "View Online" comment above)

I implemented small changes from the comments.
Still, I need to check the tests from pdhg to add something like this as suggested by @koflera.
Also, we can for sure add the possibility of running ISTA and not just FISTA (both with either constant stepsize or backtracking). If we agree on the flag then I'll add it, I don't have many ideas on it apart from 'fast=True/False') to be honest


[flink] Introduce dbz cdc dataType

Purpose
Introduce dbz cdc dataType.

Tests

API and Format

Documentation

Add doc for users may be better. @MonsterChenzhuo

Add doc for users may be better. @MonsterChenzhuo

You're right. I'm considering to do some refactor. I will add docs then.

Add doc for users may be better. @MonsterChenzhuo

You're right. I'm considering to do some refactor. I will add docs then.

Look forward to this work.


Celery timeout is not working in some situations with gevent

Describe the bug
I could detect that there are some situations where Celery timeout is not working.
From celery documentation
The gevent pool does not implement soft time limits. Additionally, it will not enforce the hard time limit if the task is blocking.
In the following image we can see how process_decoded_internal_txs does not show the last log message when the task finalize from 10th of August.

Also there is not any error indicating the timeout.
Expected behavior
Timeout should finalize the task, if not we are accumulating running tasks until stuck the worker.
Additional context
We could try to overwrite the celety timeouts or trying to use the gevent timeouts instead of them https://www.gevent.org/api/gevent.timeout.html

When a task with gevent is blocking, it cannot be finalized with event timeout.
Anyway, I  improved the situation with a new way to log this type of issue. https://github.com/safe-global/safe-transaction-service/pull/2252
I am closing this PR because have no solution with Gevent.


Can't get closed issues

go-octokit can't get all the issues (included the closed ones), because the All() function doesn't have parameters for the query, Github api's default is to only show the open ones

Looks like github doesn't even easily support getting closed tickets: http://stackoverflow.com/questions/31621864/github-api-finding-all-of-the-issues-closed-by-a-user . How dumb is that?


docs: re-add Adding security

resolves https://github.com/asyncapi/website/issues/1860
adding https://www.asyncapi.com/docs/tutorials/getting-started/security to v3
there was some text to change here and there + some different approach to examples, so yeah, you have to review entire doc. Feel free to change whatever you want. Technically accurate with v3

/rtm


MinGW-x64 Compile error

i compiled on windows 10 using mingw-x64 compiler.
but, in link step failed.
cmake -G "MinGW Makefiles"
mingw32-make
last error message:
[100%] Linking CXX shared module pydnp3.cp37-win_amd64.pyd
C:\Users\pcf\AppData\Local\Temp\ccx9x76d.ltrans14.ltrans.o::(.text+0xa3b1): undefined reference to asiopal::TimeConversions::Convert(std::chrono::time_point<asiopal::SteadyClockWindows, std::chrono::duration<long long, std::ratio<1ll,<PHONE_NUMBER>ll> > > const&)' deps/dnp3/libasiopal.a(Executor.cpp.obj):Executor.cpp:(.text+0x145): undefined reference to asiopal::TimeConversions::Convert(std::chrono::time_point<asiopal::SteadyClockWindows, std::chrono::duration<long long, std::ratio<1ll,<PHONE_NUMBER>ll> > > const&)'
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [CMakeFiles\pydnp3.dir\build.make:93: pydnp3.cp37-win_amd64.pyd] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:75: CMakeFiles/pydnp3.dir/all] Error 2
mingw32-make: *** [Makefile:129: all] Error 2
please, help me.

I'm not familiar with MinGW-x64 compiler. However, the build requires at least 8Gb free memory. You might want to check to make sure you have enough memory.

yes, my memory is 16GB. it's enough memory.

it's solved. but import pydnp3 not found dll...haha


Remove cycle in printDiffs, diffLines and joinAlignedDiffs

Summary

The jest-diff package has three files with cyclical dependencies. This makes the logic more confusing to follow and the distinction between files less clear. Several helper functions that should be private are also needed to be exported because of the cycles.

formatTrailingSpaces, printDiffLine, printDeleteLine, printInsertLine, printCommonLine and createPatchMark are moved from printDiffs to joinAlignedDiffs and made private.
hasCommonDiff in printDiffs is made private.
countChanges and printAnnotation are moved from printDiffs to diffLines and made private.
printDiffLines is moved from printDiffs to diffLines and exported there, imports are changed to reflect this.

Test plan

No new tests added, passes existing tests with yarn test.
I ran madge --circular to demonstrate that the cycles are gone.
Madge output before:
» madge --circular --extensions ts packages/jest-diff
Processed 24 files (453ms) (7 warnings)

✖ Found 2 circular dependencies!

1) src/diffLines.ts > src/printDiffs.ts
2) src/printDiffs.ts > src/joinAlignedDiffs.ts

Madge output after:
» madge --circular --extensions ts packages/jest-diff
Processed 24 files (449ms) (7 warnings)

✔ No circular dependency found!

Thanks @raymondnumbergenerator! Could you sign the CLA? Then I can merge 🙂

Thanks!


First revision password grant

I have tried to build it and receive:

<EMAIL_ADDRESS>prebuild
rimraf dist
/tmp/prebuild6573395847.sh: Zeile 2: rimraf: Kommando nicht gefunden.

Did you integrate rimraf into the package config?

I have tried to build it and receive:

<EMAIL_ADDRESS>prebuild
rimraf dist
/tmp/prebuild6573395847.sh: Zeile 2: rimraf: Kommando nicht gefunden.

Did you integrate rimraf into the package config?

It seems, that this issue does not come from you. Sorry!

I do not see any issues or anything else after the installation of rimraf. The frontend configuration works also.

I found, that the decoding part has been only replaced to another place. The rest looks good for me.


Remove the a section from the documentation

Hello! I'm the PM for provisioning on the Tableau side. I wanted to request that we remove the note in the documentation that says "The displayName attribute in Tableau Cloud will be mapped to the userPrincipalName attribute in Azure AD. When a provisioned user signs into Azure AD for the first time, they will be asked to create an account where they will need to enter in a first name and last name. Tableau Cloud will automatically update the value of the displayName field based on the first name and last name values provided by the provisioned user. Therefore, the displayName you see in Azure AD may have differences with the displayName that appears in Tableau Cloud based on the user’s input."
This is no longer true. The user's name set in the SSO config appears when they sign in for the first time, without additional user input.

Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2d1d665b-e5f8-045a-e3c1-221769dc2fc3
Version Independent ID: 6bbd0fef-c612-6fcf-d964-19246ec16196
Content: Tutorial: Configure Tableau Cloud for automatic user provisioning with Azure Active Directory - Microsoft Entra
Content Source: articles/active-directory/saas-apps/tableau-online-provisioning-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @twimmers
Microsoft Alias: thwimmer

@sananoorani
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

I've made the update to the Tableau doc

#please-close


Cluster in most case does not start properly
and we are focussed only on OpenShift 3
RHEL7 - OpenShift 3 testing is not needed.

Can we remove the test files and test targets in Makefiles too? It will still live in git history anyway.

There is no Makefile in this repository.

There is no Makefile in this repository.

Sure, I mean remove all ocp3 tests from all repos in sclorg.

Actually, this needs to be merged at the end - when all container repos have the openshift-3 targets removed from their tfagas.

@zmiklank As you can see in the issue https://github.com/sclorg/container-common-scripts/issues/365. All containers have disabled OpenShift 3 testing.


CUDA toolkit 12 just released, EXLA doesn't support

I can't really think of a better place for this to be but CUDA Toolkit just released their version 12 and it's hard to find the older versions (latest EXLA supports is 11.8), but you can get it here: https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local

Thanks! Note that EXLA support for CUDA 12 will depend on TensorFlow, and they are usually a bit behind in updating to latest CUDA

That makes perfect sense.


Document hdf5 string encoding

This PR improves documentation of silx.io.spectoh5 regarding string encoding in generated HDF5 files.

Looks good to me.


Java 20.6 : Type Annotations Documentation

Description 📜
Documentation for Type Annotations.
Fixes #5037

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Doc#umentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[x] Java_#Domain

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

@AkMo3
Created PR for type annotations (documentation).Please review it


BackupIoRequest::ReportIoError: read failure on backup device

Hi,
I am running microsoft/mssql-server-linux:2017-latest in macOS docker-machine. When use sqlcmd to restore a backup (187M) , get their error:
Msg 3203, Level 16, State 1, Server aeef66aae1e7, Line 1
Read on "/app/backup/DBTEST.bak" failed: 31(A device attached to the system is not functioning.)
Msg 3013, Level 16, State 1, Server aeef66aae1e7, Line 1
RESTORE DATABASE is terminating abnormally.

Internal I/O request 0x00000005B7E79CD0: Op: Read, pBuffer: 0x000000049A3B0000, Size: 4096, Position: 0, SOS: Internal: 0xC0000001, InternalHigh: 0x0, Offset: 0x0, OffsetHigh: 0x0, m_buf: 0x000000049A3B0000, m_len: 4096, m_actualBytes: 0, m_errcode: 31, BackupFile: /app/backup/DBTEST.bak
2018-05-10 03:21:04.58 spid51      Using 'dbghelp.dll' version '4.0.5'
2018-05-10 03:49:31.48 Backup      Error: 18210, Severity: 16, State: 1.
2018-05-10 03:49:31.48 Backup      BackupIoRequest::ReportIoError: read failure on backup device '/app/backup/DBTEST.bak'. Operating system error 31(A device attached to the system is not functioning.).

docker info
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs

Is a fix identified for this? I am facing a similar issue while sql server is being shutdown - docker image microsoft/mssql-server-linux

Are you using a -v volume mount to the host?

HI Travis,
Yes I have used volume to mount to the host.
Cheers,
Sudhi
On Fri, 22 Jun 2018 at 16:44, Travis Wright<EMAIL_ADDRESS>wrote:

Are you using a -v volume mount to the host?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/mssql-docker/issues/305#issuecomment-399486621,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AH5RTVKClk01B4rHGBfLjY5m-2XklOK9ks5t_RDugaJpZM4T5Uup
.

--
Regards,
Sudheendra.N.Singh
07872067281

Right.  -v Volume mounts on macOS are not supported yet.  Please see issue #12 for more details and workarounds.


fix: removal of old tasks

Fixes #138
Checklist

[x] Ensure PR title matches the conventional commits format.

CodiumAI Agent Commands
As required run the following CodiumAI Agent commands:

Request PR review using @CodiumAI-Agent /review (and if required, request an incremental update with @CodiumAI-Agent /review -i)
Request PR improvement suggestions with @CodiumAI-Agent /improve --extended
Request PR update using @CodiumAI-Agent /describe

@CodiumAI-Agent /review

PR Analysis

🎯 Main theme: The PR is about fixing an issue where old tasks were not being removed properly.
📝 PR summary: The PR modifies the logging statement in the 'sync_project' function to include the item type and title. This is done to improve the clarity of the logs when a task is removed due to not being updated within a certain threshold.
📌 Type of PR: Bug fix
🧪 Relevant tests added: No
⏱ Estimated effort to review [1-5]: 1
The PR is small and straightforward, only changing a logging statement. It should be quick and easy to review.
🔒 Security concerns: No

PR Feedback

💡 General suggestions: The PR seems to be straightforward and doesn't introduce any major changes. However, it would be beneficial to have tests that ensure the correct tasks are being removed.

 🤖 Code feedback:

relevant file: ado_asana_sync/sync/sync.py
suggestion: Consider using f-strings for formatting your strings as they are more readable and efficient. [medium]
relevant line: "+                    "%s: %s:Task has not been updated in %s days, removing mapping","

How to use

Tag me in a comment '@CodiumAI-Agent' and add one of the following commands:
/review [-i]: Request a review of your Pull Request. For an incremental review, which only considers changes since the last review, include the '-i' option.
/describe: Modify the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest improvements to the code in the PR. Extended mode employs several calls, and provides a more thorough feedback.
/ask <QUESTION>: Pose a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.

To edit any configuration parameter from configuration.toml, add --config_path=new_value
For example: /review --pr_reviewer.extra_instructions="focus on the file: ..."
To list the possible configuration parameters, use the /config command.

How to use PR-Agent

Tag me in a comment '@CodiumAI-Agent' and add one of the following commands:
/review [-i]: Request a review of your Pull Request. For an incremental review, which only considers changes since the last review, include the '-i' option.
/describe: Modify the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest improvements to the code in the PR. Extended mode employs several calls, and provides a more thorough feedback.
/ask <QUESTION>: Pose a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.

To edit any configuration parameter from configuration.toml, add --config_path=new_value
For example: /review --pr_reviewer.extra_instructions="focus on the file: ..."
To list the possible configuration parameters, use the /config command.


prevent publish when package is private

addresses https://github.com/EndangeredMassa/npub/issues/20

I tested this with a dummy module and it worked as expected.

Aside from that, LGTM

Now exits with code 2 when package is private

Nice - LGTM

published in 1.0.0


furnace: Refacored the queue implementation

[ ] I added CHANGELOG entry for this change.
[x] Change is not relevant to the end user.

Changes

Refactored the queue implementation

Verification
Added unit tests

Coverage decreased (-25.1%) to 61.224% when pulling 5a110b3bb8a44710a53a9f749705f028a729c838 on furnace-queue into 870d8eb14603b0d928235877b77b8865cfad1f65 on main.


Macos 11.0.1 Compiling Windows Yara

CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc CGO_LDFLAGS="-L/usr/local/Cellar/yara/4.0.2/lib/ -lyara" CGO_CFLAGS="-I/usr/local/Cellar/yara/4.0.2/include" go install github.com/hillu/go-yara/v4

CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc CGO_LDFLAGS="-L/usr/local/Cellar/yara/4.0.2/lib/ -lyara" CGO_CFLAGS="-I/usr/local/Cellar/yara/4.0.2/include" go install -x github.com/hillu/go-yara/v4

I need to run the yara plugin on windows cross-platform.
aaaa....... install yara ,Is used to test...
Because of the same error  :(

@Aixic-Love I can only guess what you are trying to tell me, please be somewhat more specific.
It seems that you'd like to cross-build go-yara for Windows but from the paths it looks like you are pointing the linker to MacOSX libraries that have been installed by the Homebrew package manager. This makes no sense -- you'll have to build libyara for Windows, using pretty much the same steps as for cross-building Windows libraries on Linux described in README.cross-building.md.

I tried to use libyara of Linux to compile successfully

execution make install ....

oh ...

The "multiple definitions" error is an error in YARA itself which only got resolved recently in https://github.com/VirusTotal/yara/pull/1416.

Can ignore it?

@hillu It's OK to compile the sample, but there is still an error in my project.

Seems like you're using YARA from the master branch now where data structures have changed. Update go-yara to master, too, I fixed this recently in 3d95754ba628149cbd18d2e80939208b1bd82c5a.


install everything with a nix flake

nixify the bootstrapping process here too, so that
the first thing you install is a nix flake (here would
be "flake.nix") that in turn hauls in everything else.
https://www.bekk.christmas/post/2021/16/dotfiles-with-nix-and-home-manager
has what looks like a sane approach to everything.
and once it's a flake it can be installed at system
build time so that it's ready at first login.

trying to refactor this with 5001633 - that at least
tries to handle the home manager side of the problem.

well, the first round of instructions were out of date, but
https://www.chrisportela.com/posts/home-manager-flake/
continues the theme with some updates. Don't quite have
it running yet but I'm closer.

A working flake in https://github.com/vielmetti/emv-home-nix/commit/75cd95798de8e932bd3206a43ae0bd2225b33cdd based on the work of Chris Portola above.

nix run . switch -- --flake . to do the install; then exec $(which zsh) and then source dot-p10k-zsh.
works, so save it.

you have to do the exec and source dance to get zsh running whenever you log in; #3 is that issue.
otherwise this is done enough.


Uncaught TypeError: Cannot read property 'getDatasetMeta' of undefined

Greetings!
I've tried to fire default legend onClick event before do some stuff and it throws this error:

Chart.js:11392 Uncaught TypeError: Cannot read property 'getDatasetMeta' of undefined
at Object.onClick (Chart.js:11392)
at ChartElement.onClick (pen.js:27)
at ChartElement.handleEvent (Chart.js:11872)
at Object.afterEvent (Chart.js:11943)
at Object.notify (Chart.js:6754)
at Chart.eventHandler (Chart.js:4683)
at listener (Chart.js:4609)
at HTMLCanvasElement.proxies.(/anon/pen/anonymous function) (https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.js:10917:4)

Actually i can't see 'datasetIndex' key in 'legendItem'.
codepen
So, how to catch legend click event without overriding default?

@Costegillio you need to use call to call the callback. Also, you need to use the default provided by the doughnut chart defaults.
See https://codepen.io/anon/pen/mLmOrj?editors=0010


Fix regression parsing legacy meta queries with multiple alternatives

I found a small regression introduced in https://github.com/korpling/graphANNIS/pull/299/commits/f87bd0dd5849bb30f671c40397871077d1116be5: When a legacy meta query has multiple alternatives, the meta constraints are supposed to be added to the first node of each alternative, but are in fact only added to the first node of the first alternative. This is because get_variable_by_node_nr now expects a node number relative to the whole query, but is still always called with 0, which is only correct for the first alternative. This leads to an out-of-bounds error later in make_exec_plan_with_order.

@matthias-stemmler Thanks for the contribution! Since the last release process for 3.5.0 failed, I created a patch-release that contains your changes.


Revisit flowpath / flowline / levelpath distinction in match_* functions.

Moved to hyRefactor -- will work over there


bugfix: ipv6校验

Codecov Report

Merging #961 (75d8e3a) into _V2.2.X_IPV6_issue#776_feature_ipv6_import (6ef657d) will not change coverage.
The diff coverage is n/a.

@@                             Coverage Diff                             @@
##           _V2.2.X_IPV6_issue#776_feature_ipv6_import     #961   +/-   ##
===========================================================================
  Coverage                                       72.11%   72.11%
===========================================================================
  Files                                             303      303
  Lines                                           22245    22245
===========================================================================
  Hits                                            16043    16043
  Misses                                           6202     6202

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 6ef657d...75d8e3a. Read the comment docs.


How to train ZH-EN duo language aligner？

Hi there.
I saw that the repo's code only support Engilish aligner training

Hi there. I saw that the repo's code only support Engilish aligner training

expand vocab size that including all of chinese and english phonemes, prepare dataset as train.txt


fix: screen orientation

Link: https://www.notion.so/artsy/Go-to-any-page-without-having-your-screen-orientation-locked-turn-around-the-phone-we-get-this-f-13dcab0764a0802b9646de4dbbd81fc9?pvs=4
Description
This PR fixes an issue with the screen orientation after enabling the new navigation infra.

After
Before

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

fix screen orientation on new navigation - mounir

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (fix screen orientation on new navigation - mounir - MounirDhahri)

  Generated by :no_entry_sign: dangerJS against 3357b426629622bb2b469eac97d0abbe96b71f5c


i2c help or guidence - powered off all nodes with i2c

Hi Jeff,
I know this cry for help is long shoot but Im little desparate since i coudnt find any reference on internet
Your idea or guidence is most welcome
By accident i sent command via i2c to shutdown all nodes.
Done so far:

connected second raspbarry via GPIO i2c (pin3 SDA and pin5 SCL) to Turing external i2C
via i2c-tools tried i2cdetect but it doesent find any device
RPi 3B+ OS Bullseye
Clossest description to solution i found here:
https://github.com/nicholaswilde/turing-pi-scripts
WARNING:The register which controls the power to each board is backed by an EEPROM. Don't set all bits in there to 0, otherwise you won't be able to boot and correct it. A fix is to set register 0xF4 to 1 which would send the writes to the shadow SRAM, instead of the EEPROM. A fix for this is to connect an external raspberry pi to the I2C External pins and reset the registers. |

PS: Im just start learning Kubernetes and Ansible

@vladvanderwolf - I would suggest asking about this on the Turing Pi discord: https://discord.com/invite/uNbysyc


dropdown/select: when there is no placeholder, label will have default font-size

Alaska Airlines Pull Request
Before Submitting this pull request:

Link all tickets in this repository related to this PR in the Development section
note: all pull requests require at least one linked ticket
If this PR is Ready For Review, all ticket's linked under Development must have their status changed to Ready For Review as well

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I have performed a self-review of my own update.
Summary by Sourcery
Update the dropdown and select components to use the default font size for labels when no placeholder is provided.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: sun-mota:x: semantic-release-botYou have signed the CLA already but the status is still pending? Let us recheck it.


[BUG] Vulnerability introduced by io.netty:netty-handler 4.1.48

Describe the bug
Azure Service bus maven android sdk  3.6.6  uses vulnerable Netty Project version 4.1.48 which has high severity vulnerabilities CVE-2021-37136 https://nvd.nist.gov/vuln/detail/CVE-2021-37136
(BDSA-2021-2832) and CVE-2021-37137 https://nvd.nist.gov/vuln/detail/CVE-2021-37137
(BDSA-2021-2831)
Please update to a newer version.

Related issue https://github.com/Azure/azure-sdk-for-java/issues/25829

Please note, a newer package com.azure:azure-messaging-servicebus for Azure Service Bus is available as of December 2020. While this package will continue to receive critical bug fixes, we strongly encourage you to upgrade. Read the migration guide at https://aka.ms/azsdk/java/migrate/sb for more details.

@alzimmermsft could you please take a quick look as well to assist @yvgopal

To mitigate the current implementation on customer's end, the vulnerable Nettty dependencies can be excluded and pinned to its latest version in the application's gradle file as follows:
dependencies {
    implementation('com.microsoft.azure:azure-servicebus:3.6.6') {
	exclude group: 'io.netty', module: 'netty-buffer'
	exclude group: 'io.netty', module: 'netty-codec-http'
	exclude group: 'io.netty', module: 'netty-codec'
	exclude group: 'io.netty', module: 'netty-codec-socks'
	exclude group: 'io.netty', module: 'netty-handler-proxy'
	exclude group: 'io.netty', module: 'nitty-common'
	exclude group: 'io.netty', module: 'netty-transport'
	exclude group: 'io.netty', module: 'netty-handler'
	exclude group: 'io.netty', module: 'netty-resolver-dns'
	exclude group: 'io.netty', module: 'netty-transport-native-epoll'
	exclude group: 'io.netty', module: 'netty-transport-native-kqueue'
    }

    implementation('io.netty:netty-buffer') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-codec-http') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-codec') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-codec-socks') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-handler-proxy') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-common') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-transport') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-handler') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-resolver-dns') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-transport-native-epoll') {
        version {
            strictly '4.1.72.Final'
        }
    }

    implementation('io.netty:netty-transport-native-kqueue') {
        version {
            strictly '4.1.72.Final'
        }
    }
}

Further on our end, we are working towards resolving this issue as follows:

The source of the issue are the netty dependencies being used in this flow:  netty-dependencies -> async-http-client -> azure-servicebus.

The latest version 4.1.72.Final of Netty Dependencies has the CVEs resolved.

So, we've filed a Github issue  for third party async-http-client GitHub repo to upgrade their Netty dependencies to the latest version.

Once Step 3 is executed we will upgrade the async-http-client dependency in azure-servicebus library and do a patch release to fix this issue.

I will keep this thread updated as the fix progresses and gets released in third party async-http-client library and then in azure-servicebus SDK.


Tabs enhancements: get_tab_rect(), move_tab()

exposed: get_tab_rect(tab_idx) can be used to determine position and size of concrete tab
new and exposed: move_tab_from_to(idx_from, idx_to) can be used to rearrange tabs more easily

move_tab(int from, int to) would be a better method name no?

yes, I think it would. (update pushed)

will add early return when from==to

done, now it's ready to merge.


S3 Signature Version 4 eu-west-2 cant update thumbnail after upload

Type of issue

[ ] Bug report
[ ] Feature request
[x] Support request

Uploader type

[ ] Traditional
[x] S3
[ ] Azure

Support Request
Fine Uploader version
5.13.0
Question
When uploading to S3 Signature Version 4 eu-west-2 cant update thumbnail.
Have tested on standard S3 region with v2 Signature and the upload & thumbnail update works.
When uploading to S3 Signature version 4 eu-west-2 the upload completes perfectly but fine uploader produces a CORS error when trying to update the thumbnail.
I have checked the headers of the request for the thumbnail and there is no Access-Control-Allow-Origin, perhaps because it is a PermanentRedirect page to the other bucker url scheme.
on v4 the thumbnail url https://s3.amazonaws.com/bucktname/xxx.jpeg?AWSAccessKeyId... gets a redirect page to https://bucketname.s3.amazonaws.com/xxx.jpeg?AWSAccessKeyId... with the message The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
on v2/standard region it does not seem to get redirected and therefore the CORS headers are passed
Does the endpoint.php get the thumbnail S3 url from Aws\S3\S3Client ?
Related code
Using the example code from the docs and php server endpoint
Console log from V4 upload
util.js:236 [Fine Uploader 5.13.0] Parsing template
util.js:236 [Fine Uploader 5.13.0] Template parsing complete
util.js:236 [Fine Uploader 5.13.0] Rendering template in DOM.
util.js:236 [Fine Uploader 5.13.0] Template rendering complete
util.js:236 [Fine Uploader 5.13.0] Received 1 files.
util.js:236 [Fine Uploader 5.13.0] Attempting to validate image.
util.js:236 [Fine Uploader 5.13.0] Generating new thumbnail for 0
util.js:236 [Fine Uploader 5.13.0] Attempting to draw client-side image preview.
util.js:236 [Fine Uploader 5.13.0] Attempting to determine if WhatsApp Image 2017-02-14 at 12.43.09.jpeg can be rendered in this browser
util.js:236 [Fine Uploader 5.13.0] First pass: check type attribute of blob object.
util.js:236 [Fine Uploader 5.13.0] Second pass: check for magic bytes in file header.
util.js:236 [Fine Uploader 5.13.0] Sending simple upload request for 0
util.js:236 [Fine Uploader 5.13.0] Submitting S3 signature request for 0
util.js:236 [Fine Uploader 5.13.0] Sending POST request for 0
util.js:236 [Fine Uploader 5.13.0] 'WhatsApp Image 2017-02-14 at 12.43.09.jpeg' is  able to be rendered in this browser
util.js:236 [Fine Uploader 5.13.0] EXIF header parse failed: 'No EXIF header to be found!'
util.js:236 [Fine Uploader 5.13.0] EXIF data could not be parsed (No EXIF header to be found!).  Assuming orientation = 1.
util.js:236 [Fine Uploader 5.13.0] Sending upload request for 0
util.js:236 [Fine Uploader 5.13.0] Received response status 200 with body:
util.js:236 [Fine Uploader 5.13.0] Simple upload request succeeded for 0
util.js:236 [Fine Uploader 5.13.0] Submitting upload success request/notification for 0
util.js:236 [Fine Uploader 5.13.0] Sending POST request for 0
util.js:236 [Fine Uploader 5.13.0] Received the following response body to an upload success request for id 0: {"tempLink":"https:\/\/s3.amazonaws.com\/xxx\/18e378c7-3a31-4e1d-80a6-448d10563dc8.jpeg?AWSAccessKeyId=xxxx&Expires=1487322695&Signature=r5LIkqpTF0LSgHYqv0NuIRIRVe4%3D","thumbnailUrl":"https:\/\/s3.amazonaws.com\/xxxx\/18e378c7-3a31-4e1d-80a6-448d10563dc8.jpeg?AWSAccessKeyId=xxxx&Expires=1487322695&Signature=r5LIkqpTF0LSgHYqv0NuIRIRVe4%3D"}
util.js:236 [Fine Uploader 5.13.0] Upload success was acknowledged by the server.
util.js:236 [Fine Uploader 5.13.0] Attempting to update thumbnail based on server response.
(index):1 Access to Image at 'https://s3.amazonaws.com/xxxx/18e378c7-3a31-4e1d-80a6-448…YMQYDU23xxMX6A&Expires=1487322695&Signature=r5LIkxx0LSgHYqv0NuIRIRVe4%3D' from origin 'http://awstest.xxx.co.za' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://awstest.xxxx.co.za' is therefore not allowed access.
util.js:241 [Fine Uploader 5.13.0] Problem drawing thumbnail!
qq.log @ util.js:241
log @ uploader.basic.api.js:282
(anonymous) @ util.js:691
t.onerror @ image.js:96

The S3 redirect page from the thumbnail url
<Error>

PermanentRedirect
<Message>
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
</Message>
<Bucket>photospacepluploadtest</Bucket>
<Endpoint>photospacepluploadtest.s3.amazonaws.com</Endpoint>
<RequestId>A8FE2AF2E03B244F</RequestId>
<HostId>
Av4hlKxAQLaT7PkWqxTqNFnnYaeyG1+kZVmuiP2/H+YIIT7WU2ItUTuiJiqGwmm02FhBYWG9ekc=
</HostId>
</Error>

Fine Uploader client page

      <link href="fine-uploader-new.css" rel="stylesheet" type="text/css"/>

endpoint.php (not using env to test)
<?php
/**
 * PHP Server-Side Example for Fine Uploader S3.
 * Maintained by Widen Enterprises.
 *
 *
 * This example:
 *  - handles non-CORS environment
 *  - handles size validation and no size validation
 *  - handles delete file requests for both DELETE and POST methods
 *  - Performs basic inspections on the policy documents and REST headers before signing them
 *  - Ensures again the file size does not exceed the max (after file is in S3)
 *  - signs policy documents (simple uploads) and REST requests
 *    (chunked/multipart uploads)
 *  - returns a thumbnailUrl in the response for older browsers so thumbnails can be displayed next to the file
 *
 * Requirements:
 *  - PHP 5.3 or newer
 *  - Amazon PHP SDK (only if utilizing the AWS SDK for deleting files or otherwise examining them)
 *
 * If you need to install the AWS SDK, see http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/installation.html.
 */

require '../../autoload.php';
//include 'iam.php';
use Aws\S3\S3Client;

// These assume you have the associated AWS keys stored in
// the associated system environment variables
$clientPrivateKey = 'XXXX';
// These two keys are only needed if the delete file feature is enabled
// or if you are, for example, confirming the file size in a successEndpoint
// handler via S3's SDK, as we are doing in this example.
$serverPublicKey = 'XXXX';
$serverPrivateKey = 'XXXX';

// The following variables are used when validating the policy document
// sent by the uploader.
$expectedBucketName = 'XXXX';
$expectedHostName = 'XXXX.s3.amazonaws.com'; // v4-only
// $expectedMaxSize is the value you set the sizeLimit property of the
// validation option. We assume it is `null` here. If you are performing
// validation, then change this to match the integer value you specified
// otherwise your policy document will be invalid.
// http://docs.fineuploader.com/branch/develop/api/options.html#validation-option
$expectedMaxSize = (isset($_ENV['S3_MAX_FILE_SIZE']) ? $_ENV['S3_MAX_FILE_SIZE'] : null);
//$expectedMaxSize = '31457280';
$method = getRequestMethod();

// This second conditional will only ever evaluate to true if
// the delete file feature is enabled
if ($method == "DELETE") {
    deleteObject();
}
// This is all you really need if not using the delete file feature
// and not working in a CORS environment
else if	($method == 'POST') {

    // Assumes the successEndpoint has a parameter of "success" associated with it,
    // to allow the server to differentiate between a successEndpoint request
    // and other POST requests (all requests are sent to the same endpoint in this example).
    // This condition is not needed if you don't require a callback on upload success.
    if (isset($_REQUEST["success"])) {
        verifyFileInS3(shouldIncludeThumbnail());
    }
    else {
        signRequest();
    }
}

// This will retrieve the "intended" request method.  Normally, this is the
// actual method of the request.  Sometimes, though, the intended request method
// must be hidden in the parameters of the request.  For example, when attempting to
// send a DELETE request in a cross-origin environment in IE9 or older, it is not
// possible to send a DELETE request.  So, we send a POST with the intended method,
// DELETE, in a "_method" parameter.
function getRequestMethod() {

    if ($_REQUEST['_method'] != null) {
        return $_REQUEST['_method'];
    }

    return $_SERVER['REQUEST_METHOD'];
}

function getS3Client() {
    global $serverPublicKey, $serverPrivateKey;

    return S3Client::factory(array(
        'key' => $serverPublicKey,
        'secret' => $serverPrivateKey
    ));
}

// Only needed if the delete file feature is enabled
function deleteObject() {
    getS3Client()->deleteObject(array(
        'Bucket' => $_REQUEST['bucket'],
        'Key' => $_REQUEST['key']
    ));
}

function signRequest() {
    header('Content-Type: application/json');

    $responseBody = file_get_contents('php://input');
    $contentAsObject = json_decode($responseBody, true);
    $jsonContent = json_encode($contentAsObject);

    $headersStr = $contentAsObject["headers"];
    if ($headersStr) {
        signRestRequest($headersStr);
    }
    else {
        signPolicy($jsonContent);
    }
}

function signRestRequest($headersStr) {
    $version = isset($_REQUEST["v4"]) ? 4 : 2;
    if (isValidRestRequest($headersStr, $version)) {
        if ($version == 4) {
            $response = array('signature' => signV4RestRequest($headersStr));
        }
        else {
            $response = array('signature' => sign($headersStr));
        }

        echo json_encode($response);
    }
    else {
        echo json_encode(array("invalid" => true));
    }
}

function isValidRestRequest($headersStr, $version) {
    if ($version == 2) {
        global $expectedBucketName;
        $pattern = "/\/$expectedBucketName\/.+$/";
    }
    else {
        global $expectedHostName;
        $pattern = "/host:$expectedHostName/";
    }

    preg_match($pattern, $headersStr, $matches);

    return count($matches) > 0;
}

function signPolicy($policyStr) {
    $policyObj = json_decode($policyStr, true);

    if (isPolicyValid($policyObj)) {
        $encodedPolicy = base64_encode($policyStr);

        if (isset($_REQUEST["v4"])) {
            $response = array('policy' => $encodedPolicy, 'signature' => signV4Policy($encodedPolicy, $policyObj));
        }
        else {
            $response = array('policy' => $encodedPolicy, 'signature' => sign($encodedPolicy));
        }
        echo json_encode($response);

    }
    else {
        echo json_encode(array("invalid" => true));
    }
}

function isPolicyValid($policy) {
    global $expectedMaxSize, $expectedBucketName;

    $conditions = $policy["conditions"];
    $bucket = null;
    $parsedMaxSize = null;

    for ($i = 0; $i < count($conditions); ++$i) {
        $condition = $conditions[$i];

        if (isset($condition["bucket"])) {
            $bucket = $condition["bucket"];
        }
        else if (isset($condition[0]) && $condition[0] == "content-length-range") {
            $parsedMaxSize = $condition[2];
        }
    }

    return $bucket == $expectedBucketName && $parsedMaxSize == (string)$expectedMaxSize;
}

function sign($stringToSign) {
    global $clientPrivateKey;

    return base64_encode(hash_hmac(
        'sha1',
        $stringToSign,
        $clientPrivateKey,
        true
    ));
}

function signV4Policy($stringToSign, $policyObj) {
    global $clientPrivateKey;

    foreach ($policyObj["conditions"] as $condition) {
        if (isset($condition["x-amz-credential"])) {
            $credentialCondition = $condition["x-amz-credential"];
        }
    }

    $pattern = "/.+\/(.+)\\/(.+)\/s3\/aws4_request/";
    preg_match($pattern, $credentialCondition, $matches);

    $dateKey = hash_hmac('sha256', $matches[1], 'AWS4' . $clientPrivateKey, true);
    $dateRegionKey = hash_hmac('sha256', $matches[2], $dateKey, true);
    $dateRegionServiceKey = hash_hmac('sha256', 's3', $dateRegionKey, true);
    $signingKey = hash_hmac('sha256', 'aws4_request', $dateRegionServiceKey, true);

    return hash_hmac('sha256', $stringToSign, $signingKey);
}

function signV4RestRequest($rawStringToSign) {
    global $clientPrivateKey;

    $pattern = "/.+\\n.+\\n(\\d+)\/(.+)\/s3\/aws4_request\\n(.+)/s";
    preg_match($pattern, $rawStringToSign, $matches);

    $hashedCanonicalRequest = hash('sha256', $matches[3]);
    $stringToSign = preg_replace("/^(.+)\/s3\/aws4_request\\n.+$/s", '$1/s3/aws4_request'."\n".$hashedCanonicalRequest, $rawStringToSign);

    $dateKey = hash_hmac('sha256', $matches[1], 'AWS4' . $clientPrivateKey, true);
    $dateRegionKey = hash_hmac('sha256', $matches[2], $dateKey, true);
    $dateRegionServiceKey = hash_hmac('sha256', 's3', $dateRegionKey, true);
    $signingKey = hash_hmac('sha256', 'aws4_request', $dateRegionServiceKey, true);

    return hash_hmac('sha256', $stringToSign, $signingKey);
}

// This is not needed if you don't require a callback on upload success.
function verifyFileInS3($includeThumbnail) {
    global $expectedMaxSize;

    $bucket = $_REQUEST["bucket"];
    $key = $_REQUEST["key"];

    // If utilizing CORS, we return a 200 response with the error message in the body
    // to ensure Fine Uploader can parse the error message in IE9 and IE8,
    // since XDomainRequest is used on those browsers for CORS requests.  XDomainRequest
    // does not allow access to the response body for non-success responses.
    if (isset($expectedMaxSize) && getObjectSize($bucket, $key) > $expectedMaxSize) {
        // You can safely uncomment this next line if you are not depending on CORS
        header("HTTP/1.0 500 Internal Server Error");
        deleteObject();
        echo json_encode(array("error" => "File is too big!", "preventRetry" => true));
    }
    else {
        $link = getTempLink($bucket, $key);
        $response = array("tempLink" => $link);

        if ($includeThumbnail) {
            $response["thumbnailUrl"] = $link;
        }

        echo json_encode($response);
    }
}

// Provide a time-bombed public link to the file.
function getTempLink($bucket, $key) {
    $client = getS3Client();
    $url = "{$bucket}/{$key}";
    $request = $client->get($url);

    return $client->createPresignedUrl($request, '+15 minutes');
}

function getObjectSize($bucket, $key) {
    $objInfo = getS3Client()->headObject(array(
        'Bucket' => $bucket,
        'Key' => $key
    ));
    return $objInfo['ContentLength'];
}

// Return true if it's likely that the associate file is natively
// viewable in a browser.  For simplicity, just uses the file extension
// to make this determination, along with an array of extensions that one
// would expect all supported browsers are able to render natively.
function isFileViewableImage($filename) {
    $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
    $viewableExtensions = array("jpeg", "jpg", "gif", "png");

    return in_array($ext, $viewableExtensions);
}

// Returns true if we should attempt to include a link
// to a thumbnail in the uploadSuccess response.  In it's simplest form
// (which is our goal here - keep it simple) we only include a link to
// a viewable image and only if the browser is not capable of generating a client-side preview.
function shouldIncludeThumbnail() {
    $filename = $_REQUEST["name"];
    $isPreviewCapable = $_REQUEST["isBrowserPreviewCapable"] == "true";
    $isFileViewableImage = isFileViewableImage($filename);

    return !$isPreviewCapable && $isFileViewableImage;
}
?>

The bucket CORS policy
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>http://*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <AllowedMethod>HEAD</AllowedMethod>
        <MaxAgeSeconds>180</MaxAgeSeconds>
        <ExposeHeader>ETag</ExposeHeader>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

I believe the problem is with the thumbnailUrl returned from your server. You're returning what AWS calls a "path-style" URL to the object in your bucket: https://s3.amazonaws.com/bucktname/xxx.jpeg?AWSAccessKeyId.... Since your bucket is located outside of the US East region, you must use the region-specific domain name. In your case, that would be https://s3-eu-west-2.amazonaws.com/bucktname/xxx.jpeg?AWSAccessKeyId.... This can be avoided by instead using a "virtual hosted–style" path to your bucket, such as https://bucketname.s3.amazonaws.com/xxx.jpeg?AWSAccessKeyId....

I think in endpoint the S3 Client library provides the url format, would you recommend I try modify that?
endpoint.php line 270-277
// Provide a time-bombed public link to the file.
function getTempLink($bucket, $key) {
    $client = getS3Client();
    $url = "{$bucket}/{$key}";
    $request = $client->get($url);

    return $client->createPresignedUrl($request, '+15 minutes');
}

That's a temporary solution. But I think the best solution is to change the logic in the Fine Uploader PHP S3 repository to always return a thumbnailUrl using the virtual hosted-style path format. I can't think of a good reason to use path-style urls, unless the bucket name is not DNS-compatible (which isn't supported outside of US East anyway).

Thanks for the help
For testing I have decided to upload my files with public-read permissions so that I don't need to have a time-bombed/signed url for the file (changing the signing code to return the correct url scheme is out of my ability at the moment)
in endpoint.php function verifyFileInS3 I have changed:
$link = getTempLink($bucket, $key);
to
$link = "http://" . $bucket . ".s3.amazonaws.com" . "/" . $key;


Fix "flags cannot be placed before plugin name" bug

Our client adds global flags in front of verb. For example, when running the client with namespace:
kubectl --namespace=xxx kcp ws ...

this will case kubectl to fail with error:
Error: flags cannot be placed before plugin name: --namespace=

I propose a fix to add global flags to the end to avoid this conflict. Local test:
passed: (32.9s) 2022-09-06T05:45:08 "[sig-workspace] Author:pewang-Medium-[Smoke] Multi levels workspaces lifecycle should works well [Suite:kcp/smoke/parallel/minimal]"
passed: (12s) 2022-09-06T05:44:47 "[sig-common-version] Author:knarra-Medium-[Smoke] Checking kcp server version should display correctly [Suite:kcp/smoke/parallel/minimal]"

@kasturinarra @wangke19 @Phaow, please take a look if you have time. Thanks!

/retest

Hi @Phaow, @wangke19, @kasturinarra, @xingxingxia, I rebased and tested the case. Please take a look if you have time.
passed: (14.6s) 2022-09-20T07:36:36 "[area/workspaces] Author:zxiao-Medium-[Serial] I can create context for a specific workspace and use it [Suite:kcp/smoke/serial]"

LGTM, but there is another issue about namespace, it is better to merge this first and address that issue in a separate PR. Raising it in a next comment.

You used c.Namespace():
+	if !c.withoutNamespace && c.Namespace() != "" {
+		nc.flags = append(nc.flags, fmt.Sprintf("--namespace=%s", c.Namespace()))

This function calls c.kubeFramework.Namespace.Name which is set by func (c *CLI) SetNamespace(ns string).
However, for namespace, @Phaow uses c.currentWs.CurrentNS = newNamespace via func (c *CLI) SetupNamespace().
So too issues:
1 There are both SetNamespace and SetupNamespace definitions. @zxiao-redhat @Phaow could you discuss such that only one is needed for us?
2 For namespace,  @zxiao-redhat @Phaow whether should we use c.Namespace() or c.currentWs.CurrentNS? For the context of workspace, seems the latter?