[BUG]: After destroying the player on iOS, the sound continues playing.

Version
v5 (Stable)
What platforms are you having the problem on?
iOS
Architecture
New architecture with interop layer
What happened?
Library version: 5.2.1
Device: iphone12 iOS 15.3.1
RN 0.70.0
In video playback, when clicking the button to return to the previous page, the sound continues playing. The sound only pauses after sliding the bottom navigation of the Apple device. This issue does not occur on Android devices or most iOS devices. This issue has only been identified on iPhone 12 at the moment.
https://github.com/react-native-video/react-native-video/assets/23208491/046787a9-6930-4812-82ba-5eee4c4bc7e9
The method in the iOS native code was also executed but didn't take effect.
(void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
[self removePlayerLayer];
[self removePlayerItemObservers];
[_player removeObserver:self forKeyPath:playbackRate context:nil];
[_player removeObserver:self forKeyPath:externalPlaybackActive context: nil];
}
Reproduction
//demo
<Video
source={{
uri:'https://vjs.zencdn.net/v/oceans.mp4',
}}
style={videoStyle}
paused={false}
muted={false}
pictureInPicture={false}
ignoreSilentSwitch={'ignore'}
onEnd={() => {
Alert.alert('Done!');
}}
/>

Hey @duansailong, cloud you check if this issue exist also on v6 ?

@KrzysztofMoch I only see v5 available as for now

Experiencing same issue on iOS 15.x. Reproduced on 6.0.0-alpha.11.

Experiencing the same issue in ios only. version: 6.0.0-alpha.8
https://github.com/react-native-video/react-native-video/assets/159753559/24f0e56f-c06c-4225-b68d-ca5864f82b1a

on V6, looks like duplicate of https://github.com/react-native-video/react-native-video/issues/3568

linked ticket close, to be retest with V6.0.0-RCX.
Let's close this ticket


Questiom: How to change output filename when building module with Nuitka?

Previously I used Python 3.6 and Nuitka 0.6.7 to build a Nuitka module, the output filename is test_module.pyd then I upgraded to Python 3.9 and Nuitka 0.9, and the output filename is now test_module.cp39-win32.pyd. I want to remove .cp39-win32 in the filename. I read through Nuitka --help, but I can't find the command to modify it. Here is the command I used to build Nuitka module
python -m nuitka --module test_module.py --mingw64 --no-pyi-file --remove-output
Any help is appreciated

just rename it with rename test_module.*.pyd test_module.pyd but be sure not to change test_module because then your module cannot be loaded anymore.

There is -o but it might not be used, I got to try it out, and consider fixing it.
FATAL: Error, may only specify output filename for acceleration and onefile mode,
but not for module mode where filenames are mandatory, and not for
standalone where there is a sane default used inside the dist folder.

Well, that is true, however the change you want to make would be legal, but misleading, as one can not recognize the version supported anymore.

I would accept a PR, that changes the check such that it will let pass values in module mode, that have the suffix. However, @Cjw9000-py is absolutely right. You can just rename it afterwards too.


Add a README

To explain what this project is all about and how it can be used

I've created a pull request for review. Some work still needs to be done, but text is ready for review.

I've created a pull request for review. Some work still needs to be done, but text is ready for review.


Removing in-page Table of Contents

As per https://trello.com/c/SRObihaH/118-consider-removing-tocs-and-back-to-toc-links

(Please ignore the branch name... I am still figuring out to use branches on GitHub Desktop)


Automated cherry pick of #9916

Cherry pick of #9916 on release-6.5.
/cc  @hmhealey
NONE

Trying to auto merge this PR.


Add AUTHORS names

@CorsoGabriele @EugenioCorso you should add your names in the AUTHORS file.

Please let's proceed in the following way:

Open an issue
Open a PR referencing that issue in the body text
Fix the issue in a commit quoting "Add authors names, fix #84" or something similar
When the PR is merged, close the issue (automatically or manually).
Thanks @EugenioCorso @CorsoGabriele

I will change the commit message

Fixed in https://github.com/open-education-polito/fare-platform/commit/d68a3cd4bc7a8a806a7652bb542827c40b959e31


[Question] Real-robot Integration

Was this tested with a real robot and integrated with the ROS/ROS2 framework? I had a look at the code and it looks like you used only a simulated environment, correct? Or maybe I missed something...

It was tested in the real world with the Toyota HSR and with ROS. The idea is to query the map and to generate execution commands (in the form of calling APIs in Python) from a local computer. The interface code like move_to_pos, turn_right, move_forward etc. is implemented such that it returns a list of velocity and execution time pairs. Then we publish these pairs one-by-one to a topic with ROS and the robot subscribes and executes them in sequence.
So far we haven't released the code for the real robot yet. We will release later when we have time to refactor the code.

I see, thanks for the answer. So with a real robot, in a real environment, these would be the end-to-end steps to replicate what you do in simulation:

Get a bunch of RGBD frames of the real indoor environment.
Follow the procedure in the README to create the map and index it.
Launch the navigation script and "pilot" the robot.

Is this roughly correct? How would you do step 1 to generate a dataset compatible with VLmaps?

The procedure is correct.

@Tom-Huang Hi, I have a question regarding the depth frames captured by a real-world robot
Similar to the process described in the paper, we used a Azure Kinect & RTAB-Map to do an initial scan of the environment and extracted the RGB-D images & optimized poses. I noticed that the depth images captured by the Kinect are rather noisy & have lots of depth "holes". So unlike the depth frames generated from a simulation, sometimes several regions in the images would have no depth information - and consequently the pixel value would be encoded as 0 in the numpy array.
Is this accounted for in the current codebase? Or did you apply some kind of preprocess to the depth images before feeding it to the mapping code during your real-world experience?
Looking forward to hearing back :)

Hi @vuduc153 You can use the code from the main branch. When you back-project the pixels into a 3D point cloud, we call depth2pc function, where you can specify the minimum depth value in the argument (check here). In this way, those "holes" in the depth image indicating 0 depth can be filtered out.

@Tom-Huang Thanks for the prompt answer. We got it to work now!


I think that in zero's zrpc, when the server registers the service through etcd, there is a logical problem in etcdKey splicing

When I was looking at the source code of zrpc server tonight, I found that when registering, I cannot fully control the service registration key on etcd through the NewRpcPubServer function or configuration file.
As shown below：
if p.id > 0 { 		p.fullKey = makeEtcdKey(p.key, p.id) 	} else { 		p.fullKey = makeEtcdKey(p.key, int64(lease)) 	}
And how to modify p.id function
func WithId(id int64) PubOption { 	return func(publisher *Publisher) { 		publisher.id = id 	} }
The above is excerpted from the source code in go-zero. I found that when the server is registered, it does not support modifying the p.id through parameters. Because sometimes, I don't want to use the lease id to splice the etcd key in the configuration file.
Is the way I use it wrong or manual modification is really not supported here. Hope to reply! Thank u!

would you please describe the steps and what you want in each step?


Why Qt libs are included in wheel

Expected behaviour
I expect to not bundle Qt libs in wheel but rather depends on ones provided by package (PyQt5, PySide2)
Actual behaviour
in wheel (.libs for linux, .dylibs for macos) there are bundled Qt libs:
➜  cv2 ls .dylibs/Qt*
.dylibs/QtConcurrent   .dylibs/QtCore         .dylibs/QtDBus         .dylibs/QtGui          .dylibs/QtPrintSupport .dylibs/QtTest         .dylibs/QtWidgets

This produce such warning:
objc[18893]: Class QMacAutoReleasePoolTracker is implemented in both /Users/gbokota/.pyenv/versions/3.6.9/envs/partseg3.6/lib/python3.6/site-packages/PyQt5/Qt/lib/QtCore.framework/Versions/5/QtCore (0x1119e9060) and /Users/gbokota/.pyenv/versions/3.6.9/envs/partseg3.6/lib/python3.6/site-packages/cv2/.dylibs/QtCore (0x14538c700). One of the two will be used. Which one is undefined.

Which may break some applications
Steps to reproduce
download and unpack wheel from pypi

Because Python's package management system doesn't provide a method to depend on other binary packages. The wheel packaging format is self-contained, auditwheel and delocate bundle external libs to the packages automatically.
Making the package depend for example on PyQt5 might be doable if OpenCV could be able to find the compatible Qt libs from some other place provided by some other package. This should work reliably out-of-the-box without any import errors. I have no plans nor time to implement such feature, but I'm open to pull requests.
If you are already using those Qt wrappers for your GUI then it's probably easiest to use the opencv-python-headless package which do not bundle Qt or any other GUI libraries and build the UI with PyQt5 / PySide2 instead of using OpenCV's imshow etc. I'm not really sure what's the use case here, do you need also OpenCV's GUI methods for some reason?

If you are already using those Qt wrappers for your GUI then it's probably easiest to use the opencv-python-headless package which do not bundle Qt or any other GUI libraries and build the UI with PyQt5 / PySide2 instead of using OpenCV's imshow etc. I'm not really sure what's the use case here, do you need also OpenCV's GUI methods for some reason?

Ok thanks. It is not in my package but in package on which my project depends.
There is some workaround using code which load it dynamically at runtime but I it may be not worth.
see https://github.com/kiyo-masui/bitshuffle/issues/76#issuecomment-595661333


docs: Update example

What type of PR is this? (check all applicable)

docs: Documentation only changes

Description
Updates code example

This PR is included in version 1.8.0 :tada:


chore: remove logout check

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 4 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 85.8%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/hooks/custom-hooks/useOAuth.ts
0
4
0.0%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.02%

Covered Lines:
6428

Relevant Lines:
6980

💛  - Coveralls


Revert "config(apps/prow): update prow statusreconciler"

Reverts PingCAP-QE/ee-ops#1091

/approve


Use Doctr to build/deploy docs

Is there any interest in using Doctr to build/deploy the docs? I noticed that the web docs have not been updated recently (they still note xonsh as the development target).

Yes, there is absolutely interest in doing this.

Do you still want it on ergs?

As opposed to having its own org?

No, currently the webdocs are on your group website, I don't know how to doctr that

Oh that is easy, we deploy to other repos all the time.  The docs are hosted on github still.

We just have a CNAME setup from USC to github

Cool.

Yeah, Also, I just added the rever-docs repo to the members team, with admin permisions. You should have access to it now.


Error: Could not find source file: '%PATH%'. in 'getValidSourceFile' during 'getApplicableRefactors'

This issue comes from crash dumps in telemetry. We've tried to de-duplicate issues on a best-effort basis, comparing the sequence of methods called and the command requested while ignoring line numbers.
TypeScript version prefix: 3.6.2
VSCode version: 1.38.0
Command requested: getApplicableRefactors
Hitting sessions: 2686
Five line hash: ce34a40bb6b6c746cd68be8b7520e335
Stack:
Error: Could not find source file: '%PATH%'.
    at getValidSourceFile (tsserver.js:125241:29)
    at Proxy.getApplicableRefactors (tsserver.js:126022:24)
    at IOSession.Session.getApplicableRefactors (tsserver.js:134935:53)
    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (tsserver.js:133790:61)
    at unknown (tsserver.js:135178:88)
    at IOSession.Session.executeWithRequestId (tsserver.js:135169:28)
    at IOSession.Session.executeCommand (tsserver.js:135178:33)
    at IOSession.Session.onMessage (tsserver.js:135201:35)
    at Interface.<anonymous> (tsserver.js:136516:27)
    at suppressed_frame()
    at suppressed_frame()
    at suppressed_frame()
    at suppressed_frame()
    at suppressed_frame()
    at suppressed_frame()
    at suppressed_frame()
    at suppressed_frame()
    at suppressed_frame()

This seems like getApplicableRefactors was called with filename = %PATH% which seems to be wrong ?

Note that %path% is a placeholder in this context.  The original was a fully-qualified path to a js file.

If that's the case then I am not sure we can understand what went wrong without actual repro.. Its most likely that some other command had exception before this resulting in bad state..


Changing text color in IE11

I'm seeing this weird issue when I try to change the color of text, the text unselects, then I can't change the color.  I'm having a hard time repro-ing it in an isolated environment though.
Is there anyway to force keep text selected when I click on the text color drop down?
Steps to reproduce:

Select text in internet explorer 11
click color changing button, click on a color swatch

Expected outcome:
-text color changes
Actual outcome:
-selection becomes deselected and text color doesn't change
Quill version:

[X] 1.0.0-rc-1

It looks the text unselects while the color picker is open on Chrome as well, but the color does change and selection is restored on click. Can you see if it still happens on version 1.0.0-rc.2?

Sorry I just checked my version and it is actually 1.0.0-rc-2

Does it work the same way under unwrapped Quill, ie the demos at quilljs.com
?
On Wed, Jun 21, 2017, 9:16 AM Alicia Wood<EMAIL_ADDRESS>wrote:

Sorry I just checked my version and it is actually 1.0.0-rc-2
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/zenoamaro/react-quill/issues/214#issuecomment-310130121,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABf7U7V_Vk9ZPVPruyxALkdLk_uRodqlks5sGUHNgaJpZM4OANCH
.

--

Alex

Looks like the issue in Quill is closed: https://github.com/quilljs/quill/issues/1530


worker crashes due to naive and tz aware datetime comparison

If there's a task in the scheduler that specifies month(s). It will crash the worker on heartbeat.
This job in the schedule crashes arq running on Python 3.12 and arq 0.26.1
cron(jobs.periodic_google_maps_place_discovery, month={1, 4, 7, 10}, day=15, hour=5, minute=0),  # 4 times/year
From a brief inspection, it seems like the error is caused by the month filed handler in arq.cron._get_next_dt
while all other field handlers construct a new datetime based on the one that's passed as an argument, that handler returns a new naive datetime object. Which is then returned and gets compared to this_hb_cutoff in the worker that is tz aware.

Library version was outdated and not 0.26.1 as I thought.


Runtime: a pivoted export doesn't support multiple time grains

When adding two time grains to the pivot table, it appears that the parent time grain (day) merely repeats the child time grain (hour).

aliases for generated columns can be specified in the request
export interface V1MetricsViewAggregationDimension {
  name?: string;
  timeGrain?: V1TimeGrain;
  timeZone?: string;
  alias?: string;
}

Great, using the alias parameter works. Thank you!


use raw data for L0 in EnergyCalibration

Codecov Report

Merging #181 (dcc2ad5) into master (c9f746d) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #181      +/-   ##
==========================================
- Coverage   85.32%   85.32%   -0.01%
==========================================
  Files          51       51
  Lines        4355     4354       -1
==========================================
- Hits         3716     3715       -1
  Misses        639      639

Impacted Files
Coverage Δ

stixcore/products/level0/quicklookL0.py
92.12% <100.00%> (-0.03%)
:arrow_down:

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 c9f746d...dcc2ad5. Read the comment docs.

Does this then get converted in L0toL1 as expected?

Does this then get converted in L0toL1 as expected?

uiiii good point.
i was assuming so. but checked anyway and surprise surprise at the moment only columns in data where out converted not in control ;-(


Added documentation for Code Formatting and INIParser

Good for now.  Will merge.  Will need changes following merge of request #32


Strip comments before the backticks are evaluated

Since the backticks should be evaluated before tokenizing (see https://github.com/newsboat/newsboat/pull/493 for discussion), the comments need to be stripped even before that, so that backticks can be safely used for quoting.
Not doing so can cause various unexpected issues (such as having `yes` in commented line causing newsboat to crash with out-of-memory errors, as the /usr/bin/yes command produces infinite output).
The /usr/bin/yes issue was encountered when running newsboat on the example configuration file, which contains several instances of commented `yes` strings. See https://bugzilla.redhat.com/show_bug.cgi?id=1731224 for the original bug report.

As this is my first (code) contribution to newsboat, please have patience if I have put code/tests in wrong place or broke similar contribution rule 😉. I will happily amend any mistakes pointed to me.

Coverage increased (+0.01%) to 40.866% when pulling a19b184c34aab4ad7b144f34b9145af60e73adac on khardix:pr/config-do-not-evaluate-comments into 9e41505c6680d42545890f7fb36af049a0c45005 on newsboat:master.

Newsboat is being rewritten in Rust (#89), and I see you've got some experience with that. Would you be interested in moving this new function to Rust, so we don't have to port it later? (It's fine if you don't, promise!)

Well, I certainly can, but I do not think that intermingling on this level is a good idea. From the perspective of new/ocassional maintainer, I would prefer having the tokenizing functions together and in one language. So I would leave it in C++ for now, and port it together with the rest of the config tokenizer.

Fair point. I merged without waiting for the CI to finish on that fixup commit since changes to a string literal won't probably break anything, and the checks will be re-run for the merge commit anyway.
Thanks for the contribution, @khardix! Looking forward to more in the future :)


file`s content changed occasionally

VSCode Version:1.10.2
OS Version: win10

Steps to Reproduce:
1.when i save file, another file`s content changed occasionally

do you use git or how did you get this error?
I think that this is not clear enough.

It is possible that this issue is caused by an installed extension. Can you try to run VS Code without extensions? From the command line, execute: code --disable-extensions and try your steps again to see if it reproduces. If you see it is an issue with the extension, please file it against the extension repository itself.

no reply -> closing


Change outer pinning of actionsView to support UITableViews with margins

I have an iPad app layout with a split view.
The tableView on the right part contains a top section with full width and a little grey shaded background.
The lower section has cells that should have left-margin to separate from the left view.
Also my cells have a colored rectangle on the left, which is added by me.
This is not part of the pull request!
I achieved this by adding left-margin to the whole table view and adding negative frame insets to the cells on the top section (while deactivating clips-to-bounds on the tableView itself).
This leads to this situation:

Which i fixed by my code change.

By inseting the table view, that means you can’t scroll near the edges of the table view. You should use the safe area inset API. Look at the example Mail app in landscape on an iPhone X.

The fact that I can't scroll near the edges is okay in my case. This is not part of the PR anyway.
But why is my code working in Mail Example on iPhone X if orientation == .left but not in the other direction?
What I want to achieve is that I can set an horizontal inset/margin/... somehow, so that the actionView is not starting on the far edge, but at the specified inset. Like in my second gif.
Do you have another suggestion for that problem? @kurabi

Yeah this would inset the row, but not the actionView of SwipeKit.
But we changed the UI so I don't need this anymore...
Thanks anyway for your help :-)


Improve Cluster membership messages API

in the examples of sending message between nodes its shown that its required to use cluster
// Send greetings message to other members
Greetings greetings = new Greetings("Greetings from ClusterMember B");
Message greetingsMessage = new Message(greetings);
List<ClusterMember> members = clusterB.membership().members();
for (ClusterMember member : members) {
    if (!clusterB.membership().isLocalMember(member)) {
        clusterB.send(member, greetingsMessage);
    }
}

since cluster member is always part of a cluster (else its some lonely not relevant node) i suggest to change the api as following:
// Send greetings message to other members
Greetings greetings = new Greetings("Greetings from ClusterMember B");
Message greetingsMessage = new Message(greetings);
List<ClusterMember> members = clusterB.membership().members();
for (ClusterMember member : members) {
    if (!member.isLocal()) {
        member.send(greetingsMessage);
    }
}

in this case member has reference to cluster and transport

Cover in https://github.com/scalecube/scalecube/pull/81 (in different way)


Trigger abbreviations when inserting pair signs

Hey ! I've been using this plugin for a while now, and it works perfectly, thanks for the work !
However, I noticed a small issue recently: because the plugin remaps all pair signs in insert mode, it breaks the default abbreviation expansion in Vim (because it seems <C-R> does not expand them).
From what I've seen, I think the only necessary thing to fix this would be to add a <C-]> before the <C-R> in the "inoremap" in the autopairs#AutoPairsMap() function in autoload/autopairs.vim.
Would it be possible to include this modification, or would that break other parts of the plugin ?
Thanks !

Should be fixed. Can you update and check? I had some trouble getting basic abbreviations to cooperate with me, so not entirely sure if the fix also deals with whatever abbreviations you use. The fix worked on abbr (a, abbr a(, and abbr a(b) at least

Works perfectly for me, thanks a lot for the quick fix !


LXD: Terminate container "Failed to detect block device"

Description
When we need to terminate or migrate a container operation fails with following error:
Tue Jul 9 05:48:30 2019 [Z0][VM][I]: New LCM state is SHUTDOWN
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: shutdown: --- Stopping container ---
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: shutdown: Processing disk 0
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: shutdown: Using raw filesystem mapper for /var/lib/one/datastores/105/31/disk.0
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: shutdown: Unmapping disk at /var/lib/lxd/storage-pools/default/containers/one-31/rootfs
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: shutdown: Umounting disk mapped at /dev/loop27
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: shutdown: Unmapping disk at /var/lib/one/datastores/105/31/mapper/disk.1
Tue Jul 9 05:48:33 2019 [Z0][VMM][E]: shutdown: Failed to detect block device from /var/lib/one/datastores/105/31/mapper/disk.1
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: ExitCode: 0
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: Successfully execute virtualization driver operation: shutdown.
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: ExitCode: 0
Tue Jul 9 05:48:33 2019 [Z0][VMM][I]: Successfully execute network driver operation: clean.
Tue Jul 9 05:48:33 2019 [Z0][VM][I]: New LCM state is EPILOG
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: Command execution failed (exit code: 1): /var/lib/one/remotes/tm/shared/delete <IP_ADDRESS>:/var/lib/one//datastores/105/31 31 105
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: delete: Deleting /var/lib/one/datastores/105/31
Tue Jul 9 05:48:45 2019 [Z0][TM][E]: delete: Command "[ -e "/var/lib/one/datastores/105/31" ] || exit 0
Tue Jul 9 05:48:45 2019 [Z0][TM][I]:
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: times=10
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: function="rm -rf /var/lib/one/datastores/105/31"
Tue Jul 9 05:48:45 2019 [Z0][TM][I]:
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: count=1
Tue Jul 9 05:48:45 2019 [Z0][TM][I]:
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: ret=$($function)
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: error=$?
Tue Jul 9 05:48:45 2019 [Z0][TM][I]:
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: while [ $count -lt $times -a "$error" != "0" ]; do
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: sleep 1
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: count=$(( $count + 1 ))
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: ret=$($function)
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: error=$?
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: done
Tue Jul 9 05:48:45 2019 [Z0][TM][I]:
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: [ "x$error" = "x0" ]" failed: Warning: Permanently added '[<IP_ADDRESS>]:2222' (ECDSA) to the list of known hosts.
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/.nfs000000000000729b00000010': Device or resource busy
Tue Jul 9 05:48:45 2019 [Z0][TM][I]: rm: cannot remove '/var/lib/one/datastores/105/31/mapper/disk.1/context.sh': Read-only file system
Tue Jul 9 05:48:45 2019 [Z0][TM][E]: Error deleting /var/lib/one/datastores/105/31
Tue Jul 9 05:48:45 2019 [Z0][TM][E]: Error executing image transfer script: Error deleting /var/lib/one/datastores/105/31
Tue Jul 9 05:48:45 2019 [Z0][VM][I]: New LCM state is EPILOG_FAILURE

To Reproduce
Terminate running container
Details

Affected Component: Storage or LXD Driver
Hypervisor: LXD
Version: 5.8.1 and 5.8.3

Additional context
LXD hosts use Ubuntu 18.04.2 with shared NFS storage.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Does this happens with always with every container ?

Hi @dann1, yes :(

very quick !!! OK, I'm gonna try to reproduce it.

Tue Jul 9 05:48:33 2019 [Z0][VMM][E]: shutdown: Failed to detect block device from /var/lib/one/datastores/105/31/mapper/disk.1

This however, should make the shutdown operation unsuccessful, in order to prevent the tm delete error.

yes, it exits with non zero return code on 5.8.1, but on 5.8.3 it continues.

there are some fixes regarding it on starting container in 5.8.2

looks like related to #3389

Hi, I couldn't reproduce the issue, however, #3389 happens due to the container being reported powered off by the monitor drivers after successfully executing an action that gets it to RUNNING. So when the tm happens there is mounted storage on the host.
In your case is different, because the shutdown action fails in the context unmapping  section. The log of both issues is similar due to the tm trying to delete the context which is mounted read only.

hmm, I think that the root cause of the problem is this line:
Failed to detect block device from /var/lib/one/datastores/105/31/mapper/disk.1

so we have to debug why it happens.

Yes that is correct, maybe it's something related to how the image is seen by lsblk due to your setup

I tested NFS setup with symlinked
root@ubuntu1804-lxd-nfs-6771a-0:~# cat /var/log/one/1.log
Tue Jul  9 16:18:11 2019 [Z0][VM][I]: New state is ACTIVE
Tue Jul  9 16:18:11 2019 [Z0][VM][I]: New LCM state is PROLOG
Tue Jul  9 16:18:13 2019 [Z0][VM][I]: New LCM state is BOOT
Tue Jul  9 16:18:13 2019 [Z0][VMM][I]: Generating deployment file: /var/lib/one/vms/1/deployment.0
Tue Jul  9 16:18:15 2019 [Z0][VMM][I]: Successfully execute transfer manager driver operation: tm_context.
Tue Jul  9 16:18:15 2019 [Z0][VMM][I]: ExitCode: 0
Tue Jul  9 16:18:15 2019 [Z0][VMM][I]: Successfully execute network driver operation: pre.
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: deploy: Processing disk 0
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: deploy: Using qcow2 mapper for /var/lib/one/datastores/0/1/disk.0
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: deploy: Mapping disk at /var/lib/lxd/storage-pools/default/containers/one-1/rootfs using device /dev/nbd0
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: deploy: Mounting /dev/nbd0 at /var/lib/lxd/storage-pools/default/containers/one-1/rootfs
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: deploy: Mapping disk at /srv/0/1/mapper/disk.1 using device /dev/loop0
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: deploy: Mounting /dev/loop0 at /srv/0/1/mapper/disk.1
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: deploy: --- Starting container ---
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: ExitCode: 0
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: Successfully execute virtualization driver operation: deploy.
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: ExitCode: 0
Tue Jul  9 16:18:17 2019 [Z0][VMM][I]: Successfully execute network driver operation: post.
Tue Jul  9 16:18:17 2019 [Z0][VM][I]: New LCM state is RUNNING
Tue Jul  9 16:31:56 2019 [Z0][VM][I]: New LCM state is SHUTDOWN
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: shutdown: --- Stopping container ---
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: shutdown: Processing disk 0
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: shutdown: Using qcow2 mapper for /var/lib/one/datastores/0/1/disk.0
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: shutdown: Unmapping disk at /var/lib/lxd/storage-pools/default/containers/one-1/rootfs
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: shutdown: Umounting disk mapped at /dev/nbd0
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: shutdown: Unmapping disk at /srv/0/1/mapper/disk.1
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: shutdown: Umounting disk mapped at /dev/loop0
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: ExitCode: 0
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: Successfully execute virtualization driver operation: shutdown.
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: ExitCode: 0
Tue Jul  9 16:32:00 2019 [Z0][VMM][I]: Successfully execute network driver operation: clean.
Tue Jul  9 16:32:00 2019 [Z0][VM][I]: New LCM state is EPILOG
Tue Jul  9 16:32:03 2019 [Z0][VM][I]: New state is DONE
Tue Jul  9 16:32:03 2019 [Z0][VM][I]: New LCM state is LCM_INIT

and direct mounts
root@ubuntu1804-lxd-nfs-6771a-0:~# cat /var/log/one/2.log
Wed Jul 10 14:45:56 2019 [Z0][VM][I]: New state is ACTIVE
Wed Jul 10 14:45:56 2019 [Z0][VM][I]: New LCM state is PROLOG
Wed Jul 10 14:45:59 2019 [Z0][VM][I]: New LCM state is BOOT
Wed Jul 10 14:45:59 2019 [Z0][VMM][I]: Generating deployment file: /var/lib/one/vms/2/deployment.0
Wed Jul 10 14:46:01 2019 [Z0][VMM][I]: Successfully execute transfer manager driver operation: tm_context.
Wed Jul 10 14:46:02 2019 [Z0][VMM][I]: ExitCode: 0
Wed Jul 10 14:46:02 2019 [Z0][VMM][I]: Successfully execute network driver operation: pre.
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: deploy: Processing disk 0
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: deploy: Using qcow2 mapper for /var/lib/one/datastores/0/2/disk.0
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: deploy: Mapping disk at /var/lib/lxd/storage-pools/default/containers/one-2/rootfs using device /dev/nbd0
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: deploy: Mounting /dev/nbd0 at /var/lib/lxd/storage-pools/default/containers/one-2/rootfs
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: deploy: Mapping disk at /var/lib/one/datastores/0/2/mapper/disk.1 using device /dev/loop0
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: deploy: Mounting /dev/loop0 at /var/lib/one/datastores/0/2/mapper/disk.1
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: deploy: --- Starting container ---
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: ExitCode: 0
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: Successfully execute virtualization driver operation: deploy.
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: ExitCode: 0
Wed Jul 10 14:46:07 2019 [Z0][VMM][I]: Successfully execute network driver operation: post.
Wed Jul 10 14:46:07 2019 [Z0][VM][I]: New LCM state is RUNNING
Wed Jul 10 14:46:50 2019 [Z0][VM][I]: New LCM state is SHUTDOWN
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: shutdown: --- Stopping container ---
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: shutdown: Processing disk 0
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: shutdown: Using qcow2 mapper for /var/lib/one/datastores/0/2/disk.0
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: shutdown: Unmapping disk at /var/lib/lxd/storage-pools/default/containers/one-2/rootfs
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: shutdown: Umounting disk mapped at /dev/nbd0
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: shutdown: Unmapping disk at /var/lib/one/datastores/0/2/mapper/disk.1
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: shutdown: Umounting disk mapped at /dev/loop0
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: ExitCode: 0
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: Successfully execute virtualization driver operation: shutdown.
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: ExitCode: 0
Wed Jul 10 14:46:54 2019 [Z0][VMM][I]: Successfully execute network driver operation: clean.
Wed Jul 10 14:46:54 2019 [Z0][VM][I]: New LCM state is EPILOG
Wed Jul 10 14:46:57 2019 [Z0][VM][I]: New state is DONE
Wed Jul 10 14:46:57 2019 [Z0][VM][I]: New LCM state is LCM_INIT

one 5.8.3. Since there was a patch for privileged containers related to the symlinked shared datastores. So far so good, let me know if you find something.

looks like there is a problem with NFS mounts.
we have ONE_Share folder mounted to /one_Storage and datastores 104, 105, 106 mounted on /var/lib/one/datastores/(104|105|106). When I look on mounts by issuing df -h command, mounts are via parent folder /one_Storage, so the right path cannot be found in lsblk result.
<IP_ADDRESS>:/vol/ONE_Share      973G   11G  962G   2% /one_Storage
<IP_ADDRESS>:/vol/ONE_Share/104  973G   11G  962G   2% /var/lib/one/datastores/104
<IP_ADDRESS>:/vol/ONE_Share/105  973G   11G  962G   2% /var/lib/one/datastores/105
<IP_ADDRESS>:/vol/ONE_Share/106  973G   11G  962G   2% /var/lib/one/datastores/106
/dev/loop3                       364K  364K     0 100% /one_Storage/105/14/mapper/disk.1
/dev/loop18                      364K  364K     0 100% /one_Storage/105/28/mapper/disk.1
/dev/loop11                      364K  364K     0 100% /one_Storage/105/29/mapper/disk.1
/dev/loop27                      364K  364K     0 100% /one_Storage/105/30/mapper/disk.1
/dev/loop20                      364K  364K     0 100% /one_Storage/105/32/mapper/disk.1
/dev/loop22                      364K  364K     0 100% /one_Storage/105/33/mapper/disk.1
/dev/loop19                      9.9G  617M  8.7G   7% /var/lib/lxd/storage-pools/default/containers/one-34/rootfs
/dev/loop21                      364K  364K     0 100% /one_Storage/105/34/mapper/disk.1
/dev/loop23                      9.9G  617M  8.7G   7% /var/lib/lxd/storage-pools/default/containers/one-35/rootfs
/dev/loop24                      364K  364K     0 100% /one_Storage/105/35/mapper/disk.1
/dev/loop25                      9.9G  733M  8.6G   8% /var/lib/lxd/storage-pools/default/containers/one-36/rootfs
/dev/loop26                      364K  364K     0 100% /one_Storage/105/36/mapper/disk.1

fstab
<IP_ADDRESS>:/vol/ONE_Share     /one_Storage    nfs rw,noacl,soft,intr,rsize=32768,wsize=32768,noatime,nodiratime,vers=3  0 0
/one_Storage/104/       /var/lib/one/datastores/104     none    bind    0       0
/one_Storage/105/       /var/lib/one/datastores/105     none    bind    0       0
/one_Storage/106/       /var/lib/one/datastores/106     none    bind    0       0

So I have to rework mounts to mount <IP_ADDRESS>:/vol/ONE_Share directly to /var/lib/one/datastores

OK, I'll add this information to the documentation. Could you confirm it works with the new mount?

I tested it and it is working now. So bind mounts are unsupported

Thanks a lot for the feedback !!

https://github.com/OpenNebula/docs/pull/693


Feat/improved ms build

This PR removes the need for fileHelper.getDirectories and skips a few sync readdirs, and migrates @metalsmith/markdown options -> options.engineOptions.
In the context of debugging the watcher I took a deeper look at this repo to see how much value recent metalsmith & plugin updates have added.

Thanks @webketje, really appreciate these improvements 🙌
Lots of our navigation code is 6-7 years old so it's great to see Metalsmith files used instead of the file system
Hope you don't mind, but I'm going to push up some commits to better explain what everything does for the next developer that works on this. Your changes have prompted a bit of a tidy up 😊


How to run a single file/scenario

With cucumber you can do cucumber features/my_feature.feature:123 to run a specific feature, but I don't know how to do that with white bread and theres nothing documented. I tried digging through the code a bit but couldn't find it...

Basically missing functionality I've not added. Given a feature could be executed under any number of contexts I'm not sure what the expected behaviour of such a command would be.

IMO the ability to execute a feature under different contexts, while a nice feature, sacrifices basic usability. Debugging a test becomes exponentially more difficult when the entire suite has to run. Users coming from cucumber will expect to be able to do mix white_bread.run features/something.feature:123. Additionally, even within the Elixir ecosystem, this works with mix test for the same reason...

@mgwidmann that is a very good point. My preference at the moment would be something like
# Run the feature under all suites it's covered by
mix white_bread.run --feature my_feature

# Run the feature under the api suite
mix white_bread.run --feature my_feature --suite api


Debug failing Windows test

Temporary pull request to debug the test which recently started to become unreliable

Coverage increased (+0.4%) to 100.0% when pulling 697b0c24e7b51774641ed764bf898bbf3b1b7fde on paescuj:debug-failing-windows-test into a32086682ce2eeb30b9bada094132602a74be90d on open-cli-tools:main.


Test configs for ZGEMM HIP generator

This PR adds test configs for ZGEMM HIP generator because the issues we're seeing so far are either resolved or circumvented.

Time (Original)
Time (This PR)

pre_checkin/double_complex
6m09s
11m33s

nightly/double_complex
10m28s
~54m27s~ 32m13s

run with Xeon Silver 4110 & Radeon Vega20

I removed the AssertSummationElementMultiple and  AssertFree0ElementMultiple parts from test config. The run time is now around 30 min


blacklisted table parameter use LIKE or ILIKE instead of IN

cannot blacklist / whitelist based on prefix or suffix.
for blacklisting a table I would like to be able to add a table prefix% which matches any table name with the matching prefix or %suffix  for a matching suffix
I.e. use the ILIKE or LIKE or SIMILAR TO clause as opposed to IN
for Analyze Vacuum Utility

Yeah this makes sense. We have a regex search on schemas but not on the tables themselves. Happy to take a PR for this or perhaps can look at it over the holidays.


issue #17 - allow jboss user to delete the deployment marker file

By mounting its parent directory instead of just the specific file, then
marking it writeable for others.
I also upgraded it to Keycloak 12.0.4, but I can easilly revert that if
you want.

Hello @lmsurpre
thanks for your PR. I just gave it a quick try and this fails on Fedora with Podman.
If I set the fileSystemBind to the .deploy file it works on plain Docker and podman.
Could you give it a try with:
    private void createDeploymentTriggerFileForWildfly(String deploymentLocation, String uniqueExtensionNameForExtensionClassFolder) {

        String deploymentTriggerFileName = uniqueExtensionNameForExtensionClassFolder + ".dodeploy";
        try {
            File tmpdir = Files.createTempDirectory("kc-tc-deploy").toFile();

            // Refactor once test-containers support mounting a string as file
            File deploymentTriggerFile = Files.createFile(tmpdir.toPath().resolve(deploymentTriggerFileName)).toFile();
            // make the file writeable by anyone, so that the non-root jboss user can remove it
            boolean ignored = deploymentTriggerFile.setWritable(true, false);
            deploymentTriggerFile.deleteOnExit();
            Files.write(deploymentTriggerFile.toPath(), "true".getBytes(StandardCharsets.UTF_8));

            withFileSystemBind(deploymentTriggerFile.getAbsolutePath(), deploymentLocation + "/" + deploymentTriggerFileName, BindMode.READ_WRITE);
        } catch (IOException e) {
            throw new RuntimeException("Could not create extensions deployment trigger file", e);
        }
    }

@lmsurpre I also think it makes sense keep the keycloak version upgrade in a separate commit.

Could you give it a try with:

Sorry, that doesn't work with docker on mac osx.
I still see the same behavior reported in the issue.  It cannot delete a file that is a direct mount point.
15:15:52,647 WARN  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) WFLYDS0002: Cannot remove extraneous deployment marker file /opt/jboss/keycloak/standalone/deployments/-495401560-extensions.jar.dodeploy

New idea:  lets just add the *.dodeploy file to the extensionClassFolder that is already bindMounted at this location.  I'll update the PR to use this approach and maybe you could confirm it works on Fedora with Podman?

The line
withFileSystemBind(tmpdir.getAbsolutePath(), deploymentLocation, BindMode.READ_WRITE);

produces the following mounts:
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/tom/dev/repos/gh/thomasdarimont/keycloak-dev/testcontainers-keycloak/target/test-classes",
                "Destination": "/opt/jboss/keycloak/standalone/deployments/-1944174167-extensions.jar",
                "Mode": "rw,Z",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/tmp/kc-tc-deploy15891177025880316696",
                "Destination": "/opt/jboss/keycloak/standalone/deployments",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],

and results in the following exception during the test run:
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 29.039 sec <<< FAILURE!
shouldDeployExtension(dasniko.testcontainers.keycloak.KeycloakContainerExtensionTest)  Time elapsed: 16.277 sec  <<< FAILURE!
java.lang.AssertionError:
Expected: not null
     but: was null
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
	at org.junit.Assert.assertThat(Assert.java:956)
	at org.junit.Assert.assertThat(Assert.java:923)
	at dasniko.testcontainers.keycloak.KeycloakContainerExtensionTest.shouldDeployExtension(KeycloakContainerExtensionTest.java:67)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

This indicates that the extensions were not deployed. It seems that Keycloak cannot read the deployments folder:
bash-4.4$ cd standalone/deployments/
bash-4.4$ ls
ls: cannot open directory '.': Permission denied

If I look into the container as root user, I see this:
[root@5a83b4c0a881 standalone]# ls -al
total 52
drwxrwx--x. 1 jboss root 4096 Mar  1 08:20 .
drwxrwxr-x. 1 jboss root 4096 Mar  1 06:59 ..
drwxrwxr-x. 1 jboss root 4096 Apr 20 15:49 configuration
drwxrwxr-x. 1 jboss root 4096 Apr 20 15:49 data
drwx------. 3 jboss 1000   80 Apr 20 15:49 deployments
drwxrwxr-x. 3 jboss root 4096 Mar  1 06:59 lib
drwxrwxr-x. 1 jboss root 4096 Apr 20 15:49 log
drwxrwx--x. 1 jboss root 4096 Apr 20 15:49 tmp

If I use the line:
withFileSystemBind(deploymentTriggerFile.getAbsolutePath(), deploymentLocation + "/" + deploymentTriggerFileName, BindMode.READ_WRITE);

I get the following mounts:
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/tom/dev/repos/gh/thomasdarimont/keycloak-dev/testcontainers-keycloak/target/test-classes",
                "Destination": "/opt/jboss/keycloak/standalone/deployments/-1944174167-extensions.jar",
                "Mode": "rw,Z",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/tmp/kc-tc-deploy14363211496663638826/-1944174167-extensions.jar.dodeploy",
                "Destination": "/opt/jboss/keycloak/standalone/deployments/-1944174167-extensions.jar.dodeploy",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],

Within the docker container it looks like this:
bash-4.4$ pwd
/opt/jboss/keycloak/standalone/deployments
bash-4.4$ ls -Afl
total 40
drwxrwxr-x. 1 jboss root 4096 Apr 20 15:56 .
-rw-rw-r--. 1 jboss root 8888 Mar  1 06:59 README.txt
drwxrwx--x. 1 jboss root 4096 Mar  1 08:20 ..
drwxr-xr-x. 4 jboss 1000 4096 Apr 20 15:55 -1944174167-extensions.jar
-rw-r--r--. 1 jboss root   26 Apr 20 15:55 -1944174167-extensions.jar.deployed
-rw-rw-rw-. 1 jboss 1000    4 Apr 20 15:55 -1944174167-extensions.jar.dodeploy

This is on fedora linux release 33
$ docker version
Client:
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.15.1
 Git commit:        4484c46
 Built:             Fri Oct  2 19:31:30 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.15.1
  Git commit:       4484c46
  Built:            Fri Oct  2 00:00:00 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.18.0
  GitCommit:

thanks @thomasdarimont I tried this other approach and I thought it was wroking but its not...I didn't realize the classes mount was one level too low.  any ideas for something that will work on both our systems? :-)

Thanks for trying :) I'm looking into it...

@lmsurpre could you try this:
Files.write(deploymentTriggerFile.toPath(), "true".getBytes(StandardCharsets.UTF_8));
Files.setPosixFilePermissions(deploymentTriggerFile.toPath(), PosixFilePermissions.fromString("rw-rw-rw-"));
withFileSystemBind(deploymentTriggerFile.getAbsolutePath(), deploymentLocation + "/" + deploymentTriggerFileName, BindMode.READ_WRITE);

@lmsurpre I have now a mac to tests things on, could you create a minimal reproducer test case for this issue?

Same result.  Its not a file permission thing.  Its a bind mount thing.
bash-4.4$ ls -l
total 20
drwxr-xr-x 5 root  root  160 Apr 20 15:47 -495401560-extensions.jar
-rw-r--r-- 1 jboss root   25 Apr 20 15:47 -495401560-extensions.jar.deployed
-rw-rw-rw- 1 root  root    4 Apr 20 16:14 -495401560-extensions.jar.dodeploy
-rw-rw-r-- 1 jboss root 8888 Dec 18 09:23 README.txt

bash-4.4$ rm ./-495401560-extensions.jar.dodeploy
rm: cannot remove './-495401560-extensions.jar.dodeploy': Device or resource busy

What if we just use withCopyFileToContainer() instead of setting up a mount just for this one marker file?

What if we just use withCopyFileToContainer()
This can only be used after the container was created and is running.

I just tested it and this is working fine for me.

This can only be used after the container was created and is running.
It runs after all these other withCopyFileToContainer invocations, so I think it should be fine.

I just gave this a try on OSX and it didn't work.

@lmsurpre could you give this a spin:
https://github.com/thomasdarimont/testcontainers-keycloak/tree/issue-17-test

Ugh, I accidentally broke it while cleaning it up (I didn't need the second argument to deploymentTriggerFiles any more).  I amended my commit and repushed.
Your branch also looks good to me...will confirm it works (but it should since its basically the same approach).

I think I found a reliable and approach. @lmsurpre could you take another look at my branch?
https://github.com/thomasdarimont/testcontainers-keycloak/tree/issue-17-test

@lmsurpre I polishied the fix a bit and created a new PR with a proper fix and a test for container reuse support: https://github.com/dasniko/testcontainers-keycloak/pull/19
Does this work for you?

@lmsurpre good catch! It seems that waiting for the extension deployment replaced the HttpWaitStrategy. I just updated the PR to combine existing WaitStrategies if present.

btw. thanks for the good virtual pairing session :) That helped a lot!

Closing this PR in favor of #19


Non-ASCII file tests fail on CI

See https://docs.djangoproject.com/en/dev/ref/unicode/#files
I tried adding export LANG="en_US.UTF-8" to build-teamcity-sh but it didn't help.
Example failure:
 ======================================================================
[23:08:19]
[Step 3/3] ERROR: test_content_saving (file_storage.tests.ContentFileStorageTestCase)
[23:08:19]
[Step 3/3] ----------------------------------------------------------------------
[23:08:19]
[Step 3/3] Traceback (most recent call last):
[23:08:19]
[Step 3/3]   File "/home/agent/work/391b6e30ae43aafa/_django_repo/tests/file_storage/tests.py", line 968, in test_content_saving
[23:08:19]
[Step 3/3]     self.storage.save('unicode.txt', ContentFile("espa\xf1ol"))
[23:08:19]
[Step 3/3]   File "/home/agent/work/391b6e30ae43aafa/_django_repo/django/core/files/storage.py", line 52, in save
[23:08:19]
[Step 3/3]     return self._save(name, content)
[23:08:19]
[Step 3/3]   File "/home/agent/work/391b6e30ae43aafa/_django_repo/django/core/files/storage.py", line 274, in _save
[23:08:19]
[Step 3/3]     _file.write(chunk)
[23:08:19]
[Step 3/3] UnicodeEncodeError: 'ascii' codec can't encode character '\xf1' in position 4: ordinal not in range(128)

@rohany any idea?

No clue about this. You can run ./docker.sh teamcity-build/build-teamcity.sh, to mimic what the teamcity agent is doing to run the CI if that helps.

Actually, maybe adding that as an environment variable when running the docker image might help? You could add --env=LANG="en_US.UTF-8" to the container invocation command at the bottom of docker.sh.

Fixed by https://github.com/cockroachdb/cockroach-django/pull/45.


Very first F5 from dirty launch.json does not start debug session for me

generate hello world TS extension
open it and make launch.json dirty
F5

=> file is saved but for me debug does not start. When I hit F5 again it works.

This is happening because there is a preLaunchTask, and for some reason I do not get the inactive event from the taskService in this case.
Forwarding to Dirk as the issue seems to be in the tasks land. If not, he will have an idea what I am doing wrong here.

@isidorn have you verified if the task is trigger at all?

@dbaeumer I have verified I call the run on the taskService, how can I check if the task is actually triggered?

@isidorn: you can have a handler on the returned promise. If the task can't be run or fails to start the promise resolves in an error. Could that be the case?

@dbaeumer just checked that is not the case, the promise simply does not return. Neither the success, nor the error case trigger

@dbaeumer I looked a bit into this and it is not connected to debug.

create a new extension
make tasks.json dirty
run npm task through tasks framework - the spinner in the status bar always spins and never finishes

@isidorn thanks. Was able to reproduce. Lets look to fix this for March

Will ensure that we do better with the new task runner implementation planned for Jan 2017.

I re-implemented the task execution engine for Jan to use the terminal instead of the output window. But I didn't have time yet to address this.

This will be fixed when the terminal is the default engine since the terminal doesn't have 'state' as the output runner does.

I rewrote the output runner for making the task stuff API. This got fixed since the output runner doesn't hold any state anymore and hot reacts to changes of the tasks.json file.


Power Options

Consider modifying the Windows display & sleep settings to always remain on.  This is usually one of the first things I do when I'm setting up a new VM, it'd be nice to see flare-vm do this.

Implemented in flarevm package
cup flarevm
to apply no sleep/hybernate/screen on options


[HOLD for payment 2023-03-31] [$1000] ‘Copy url to clipboard’ is shown on right click of email address instead of ‘Copy email to clipboard’

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open a chat
Send a specific text message with email address<EMAIL_ADDRESS>or<EMAIL_ADDRESS>or<EMAIL_ADDRESS>Right click on the mail address

Expected Result:
It should say ‘Copy email to clipboard’ similar to tooltip and click action. It should have consistency between hover/click/right click
Actual Result:
It says ‘Copy url to clipboard’ instead of ‘copy email to clipboard’ while hover/click acts as a email.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] MacOS / Chrome / Safari

Version Number: 1.2.78-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/222575453-c127bfe2-e12b-48c0-a93a-6952d58fe5c1.mov

Expensify/Expensify Issue URL:
Issue reported by: @abdulrahuman5196
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1677704472651439
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01bc761d769cbcce0b
Upwork Job ID:<PHONE_NUMBER>617342464
Last Price Increase: 2023-03-16

Triggered auto assignment to @kadiealexander (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

This definitely seems to be a bug, with mailto: links we should always show "copy email to clipboard".
https://user-images.githubusercontent.com/59587260/223577971-d7891c52-3b2b-4131-b4e4-797253d9752b.mp4

@jasperhuangg sorry for the delay on triaging this, I was OOO. Have you added the "reviewing" label because there is already a PR?

Hmm nope, there definitely shouldn't be a reviewing label on this.

Job added to Upwork: https://www.upwork.com/jobs/~01bc761d769cbcce0b

Current assignee @kadiealexander is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat (External)

Current assignee @jasperhuangg is eligible for the External assigner, not assigning anyone new.

Proposal
This issue was found as part of another bug from here - https://github.com/Expensify/App/issues/15120#issuecomment-1450942212
I was the reporter of this issue and I have already provided a solution as part of the original bug report - https://expensify.slack.com/archives/C049HHMV9SM/p1677861629652999?thread_ts=1677704472.651439&cid=C049HHMV9SM
Please re-state the problem that we are trying to solve in this issue.
‘Copy url to clipboard’ is shown on right click of email address instead of ‘Copy email to clipboard’ for specific email addresses
What is the root cause of that problem?
Right click of email text is using different regex validation and expensiMark rule to form email has different regex. This results in inconsistency between determining a email during link formation and determining a email during right click action.
Reference:
Right click regex
https://github.com/Expensify/App/blob/main/src/components/AnchorForCommentsOnly/BaseAnchorForCommentsOnly.js#L57
https://github.com/Expensify/expensify-common/blob/main/lib/str.js#L398
Email formation regex
https://github.com/Expensify/expensify-common/blob/main/lib/ExpensiMark.js#L102
What changes do you think we should make in order to solve the problem?
This is a straightforward fix.
We should use the same regex for both email link creation and right click validation to find it is valid email or not.
We have already created a common markdown email formation regex(CONST.REG_EXP.MARKDOWN_EMAIL) which is used in the formation of email and email links. We can use the same regex to determine if a email is valid markdown email. I am not sure if we can change Str.isValidEmail() as it can be used in backend as well, so best approach would be create a separate isValidEmailMarkdown() and use the common regex to validate if the email is valid markdown formed.
We can also update CONST.REG_EXP.MARKDOWN_EMAIL with minor modifications if required.
Optional:
One more optional change we can do is, on right click we are passing props.displayName which will work in case of just email text like<EMAIL_ADDRESS>but it won't work in case of emails inside link like [text]-(abdul@gmail.com). As in this case props.displayName will be 'text'. So we have to passing the href<EMAIL_ADDRESS>by stripping 'mailTo' which would just be the email address<EMAIL_ADDRESS>to the isValidEmail function.
This is only if we want to show 'copy email to clipboard' incase of emails inside link as well. We can also create a separate issue if we want to deal with separately.
This would be similar to this fix - https://github.com/Expensify/App/issues/15621#issuecomment-1453778652
What alternative solutions did you explore? (Optional)
None

📣 @abdulrahuman5196 You have been assigned to this job by @jasperhuangg!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@parasharrajat  I too agree. I still have doubts on that specific usecase whether it is a valid bug or not. But still it is not related to this bug fix actually. So, Maybe I will post a bug report in expensify-bugs so that someone from the team can verify if its a valid bug or not and take action accordingly.

Created a PR against expensify-common https://github.com/Expensify/expensify-common/pull/511.
@parasharrajat  and @jasperhuangg  could you assign yourselves as reviewers and review?

Created a PR against Expensify/App as well - https://github.com/Expensify/App/pull/16056
Once expensify-common PR https://github.com/Expensify/expensify-common/pull/511 is merged, I will update the package.json alone with the proper commit in the above PR.
@jasperhuangg  @parasharrajat

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.88-2 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/16056

If no regressions arise, payment will be issued on 2023-03-31. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@parasharrajat / @jasperhuangg] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@parasharrajat / @jasperhuangg] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@parasharrajat / @jasperhuangg] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@kadiealexander] Determine if we should create a regression test for this bug.
[ ] [@parasharrajat] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@kadiealexander] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@parasharrajat, @jasperhuangg, @abdulrahuman5196, @kadiealexander Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

Still on HOLD for payment not overdue cc @kadiealexander

Have sent Upwork contracts to @abdulrahuman5196 and @parasharrajat, just waiting for them to be accepted. :)

@kadiealexander  accepted the contract

Thanks @abdulrahuman5196. I've paid $1750 to you just now. Here's the breakdown:
Job price: $1000
Speed bonus: $500
Reporting bonus: $250
Just waiting for @parasharrajat to accept the contract now.

@parasharrajat, @jasperhuangg, @abdulrahuman5196, @kadiealexander Whoops! This issue is 2 days overdue. Let's get this updated quick!


Update .travis/ scripts

Overview
Does this PR close an existing issue?
No PR should be opened without opening an issue first.  Any change needs to be discussed before proceeding.
Summary
Provide a general summary of the issue addressed in the title above
Issue Number(s)
Which issue(s) does this PR address?
Put Closes #XXXX below to auto-close the issue that this PR addresses:

Closes #

Screenshots or recordings
Please provide screenshots or recordings if this PR is modifying the visual UI or UX.
Checklist

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have evaluated if the README.md documentation needs to be updated
[ ] I have evaluated if the /tests/dummy/ app needs to be modified
[ ] I have evaluated if DocBlock headers needed to be added or updated
[ ] I have verified that lint and tests pass locally with my changes
[ ] If a fork of a dependent package had to be made to address the issue this PR closes:

[ ] I noted in the fork's README.md the reason the fork was created
[ ] I have opened an upstream issue detailing what was deficient about the dependency
[ ] I have opened an upstream PR addressing this deficiency
[ ] I have opened an issue in this repository to track this PR and schedule the removal of the usage of the fork

Semver
This project uses semver, please check the scope of this PR:

[x] #none#
[ ] #patch#
[ ] #minor#
[ ] #major#

Examples:

NONE

README.md changes
test additions
changes to files that are not used by a consuming application (.travis.yml, .gitignore, etc)

PATCH

backwards-compatible bug fix

nothing about how to use the code has changed
nothing about the outcome of the code has changed (though it likely corrected it)

changes to demo app (/tests/dummy/)

MINOR

adding functionality in a backwards-compatible manner

nothing about how used to use the code has changed but using it in a new way will do new things
nothing about the outcome of the code has changed without having to first use it in a new way
addition of new CSS selectors
addition of new ember-hook selectors

MAJOR

incompatible API change

using the code how used to will cease working
using the code how used to will have a different outcome
any changes to CSS selector names
any removal of CSS selectors
any changes to ember-hook selectors
possibly changes to test helpers (depends on the changes made)

any changes to the dependencies entry in the package.json file

CHANGELOG

Update .travis/ scripts

Coverage remained the same at ?% when pulling 27b484a71f5e5075165b92eee2ef2f517456247f on notmessenger:travis-scripts into 612b1abae68987891b5acb897e9cb93fcc896a81 on ciena-blueplanet:master.


Add PowerFxConfig support for top level display names

internal struct NameLookupInfo

As we add more fields here, we may want to convert from struct to class.

Refers to: src/libraries/Microsoft.PowerFx.Core/Binding/BindInfo/NameLookupInfo.cs:12 in 562f191. [](commit_id = 562f1918f7af40dfed3e939500485210c98f27e6, deletion_comment = False)


Move stmgr quitting logic from stmgr client to tmaster client

We found out that when a bad stmgr is experiencing connection issue to
all other stmgrs, it takes the stmgr a lot longer to reach the per stmgr
client max attempt and quite becaus bad connections cause extra delays.
In our case, instead of quitting after 5 minutes (1s reconnect timeout,
300 max attempts), the bad stmgr quitted after more than 2 hours. At the
same time, all other good stmgrs were quitting every 5 minutes.
Here is a more detailed document about the issue:
https://docs.google.com/document/d/1WHNc2NEp2gVL9ge2QVKp9t4Hpd4U9sAbzBqCu4-iDUM/edit#

From @skanjila
I could't add comments to the document, thus am posting my comments to the
mailing list
One more approach could be to do the current measurement as it is, but
instead of leaving the quitting decision to the stmgtclient, have
stmgrclientmgr do the decision. Thus everytime a stmgr client detects
connection issues, inform that to stmgrclientmgr which keeps a map of
peerstmgrid to error count. Thus it is able to decide things like am i
seeing connection errors from all stmgrs or if only a few of them are
having issues. Then it can take the decisions better.
Reply:
Yeah. That is an option too. In fact it was my first try:
https://github.com/twitter/heron/pull/2693 (just an initiative, not
completed, a count map should be used instead of a single total count)
In most cases, I think both solutions should have the same result. A few
reasons I changed to a tmaster check:

with tmaster, there is only one source of truth and tmaster is more
critical anyway. If the tmaster link is not healthy, stmgrs won't work
correctly: topology may have created replacement nodes but the disconnected
nodes could keep going by themselves.
it is more straightforward. The logic is the same as the current one. One
the other side, if we use an array for all remote stmgrs, we could have a
smarter logic (which is good) but it could make stmgrs more complicated and
less straightforward (bad). I left the stmgr counters there so if in future
we decide to add this feature, it should be easy to add. There is a gap
between "errors from all" and "errors from a few" and this is not a
simple/quick question.

thanks!


Does browser.driver.wait accept element or webElement?

What is correct?
browser.driver.wait(protractor.until.elementIsVisible(el))

or
browser.driver.wait(protractor.until.elementIsVisible(el.getWebElement()))

I am asking for it because there is no any check and no errors are thrown.

I think you're actually asking if elementIsVisible accepts an ElementFinder or a WebElement - wait accepts a function or promise.
Both a ElementFinder or WebElement will work with elementIsVisible. Under the hood, it's using the isDisplayed method, which both expose.


[BUG] Resolve strange behavior

Let's look at this code fragment from playground
const f = <T>(val: Assert<Resolve<T>>) => {
	return val
}

console.log(f<{ name: boolean }>({ value: { name: "Ivan" } } as any))
console.log(f<{ name: number }>({ value: { name: true } } as any))

after tranpilation we get this code
const f = (val) => {
    return val;
};
console.log((() => {
    const val = { value: { name: "Ivan" } };
    if (typeof val !== "object" || val === null)
        throw new Error("Expected val to be an object");
    if (typeof null.name !== "boolean")
        throw new Error("Expected .name to be a boolean");
    return f(val);
})());
console.log((() => {
    const val = { value: { name: true } };
    if (typeof val !== "object" || val === null)
        throw new Error("Expected val to be an object");
    if (typeof null.name !== "boolean")
        throw new Error("Expected .name to be a boolean");
    return f(val);
})());

There are 2 problems:

null.name instead of val.name but i have already created issue with this bug
in both console.log we see "Expected .name to be a boolean", but name in second function expected to be a number, not boolean. It seems that the compiler only considers the first function call and copies it to the others

Thanks for the bug report, will be fixed very soon!

Hi!
Thanks for the quick fixes
Can I ask when the package is scheduled for release?

Hi!
Thanks for the quick fixes
Can I ask when the package is scheduled for release?

Hi, I've been quite busy, a new version will be released before Christmas for sure!


Move hooks to extra in composer.json to avoid invalid schema

I like your approach with git-hooks definition within composer.json, but right now your solution causes an invalid composer schema error:
$ composer validate
./composer.json is valid for simple usage with composer but has
strict errors that make it unable to be published as a package:
See https://getcomposer.org/doc/04-schema.md for details on the schema
The property hooks is not defined and the definition does not allow additional properties

The only solution I found was to move hooks into the extra section, because extra is the only section which allows custom definitions: https://getcomposer.org/doc/04-schema.md#extra
The new schema looks like the following:
{
  "extra": {
    "hooks": {
      "pre-commit": "phpunit",
      "post-commit": "echo committed",
      "pre-push": "phpunit && echo pushing!",
      "...": "..."
    }
  }
}

Hmm. I guess that makes sense. It would have to be a breaking change though. Thanks for the PR, I'll take a closer look.

Hey sorry about this. Been a little busy. I will merge it now, but I think I'll allow specifying the hooks in a top level hooks key as an option to make migration easier. But, the way you suggested with extra will be the accepted default.
Thanks.


Add checksum verification to prevent unexpected failures during decompression

Describe the bug
I recently encountered an issue while running the following commands in Windows CI:
RUN wget -q -O - https://www.openvswitch.org/releases/openvswitch-$OVS_VERSION.tar.gz | tar xz -C /tmp
The error received was:
gzip: stdin: unexpected end of file tar: Child returned status 1 tar: Error is not recoverable: exiting now
I think we should add checksum verification in our workflow to prevent such issues. However, not all compressed files come with official checksum files. Not sure if we should maintain a local checksum file to validate the integrity of downloaded files? Maybe we can update them by github action, do you have any suggestions? @antoninbas @wenyingd
To Reproduce
Random failures in CI

At the end of the day, this error means that there was an issue with the download (AFAIK). We can separate the download step from the untar step, and we can add some checksum verification (I am never fully sure what it gets us in the days of HTTPS downloads...), but we will still end up with cases where the build fails, i.e., I don't know if it will improve build reliability (reduce the probability of transient failure).
While this is not directly related to what you are proposing, an alternative path that we could explore is using the packaged version of OVS shipped by the distribution - at least for Ubuntu-based images, I don't know about UBI. Nowadays, Ubuntu 22.04 comes with OVS 2.17.8 (https://launchpad.net/ubuntu/+source/openvswitch/), and when we update to Ubuntu 24.04 next year, it will be an even more recent version of OVS. AFAIK, we have not needed to apply a custom patch in a while (but the situation may come up again in the future), especially since we stopped using the netdev datapath.
Installing OVS with apt would greatly reduce build time of our base images, and may have a positive impact on CI reliability and duration. cc @tnqn @jianjuns

I recently encountered an issue while running the following commands in Windows CI
This doesn't feel Windows specific, and this step is from Linux Dockerfile. Does a failure occur more often when we build Antrea as part of a Windows CI job?

This doesn't feel Windows specific, and this step is from Linux Dockerfile. Does a failure occur more often when we build Antrea as part of a Windows CI job?

Yes, it exists in many Dockerfiles and the issue may occur on both Linux and Windows testbeds. I will remove the Windows tag.

but we will still end up with cases where the build fails, i.e., I don't know if it will improve build reliability (reduce the probability of transient failure).

Hi @antoninbas, my idea is to perform checksum verification during the download step. If the checksum is wrong, we can retry the download several times. I didn't encounter the same error during manual testing, so IMO retrying can significantly alleviate this issue.

It would be good to know what the actual error is IMO. Maybe adding --retry-connrefused to wget would help alleviate the issue. If you think the only way is checksum verification and manual retry, then we can do that too. But we will need to document how to regenerate the checksum when we bump up the OVS version. Maybe we can have a basic script to do that. Maybe a simple script which takes care of download (for an arbitrary URL) and checksum verification (with an arbitrary local checksum file), with automatic retries, would be beneficial, if we go that route.

It would be good to know what the actual error is IMO. Maybe adding --retry-connrefused to wget would help alleviate the issue. If you think the only way is checksum verification and manual retry, then we can do that too. But we will need to document how to regenerate the checksum when we bump up the OVS version. Maybe we can have a basic script to do that. Maybe a simple script which takes care of download (for an arbitrary URL) and checksum verification (with an arbitrary local checksum file), with automatic retries, would be beneficial, if we go that route.

Thanks for the suggestion. I will try the --retry-connrefused enhancement first if there are no more comments.


TemplateURL must reference a valid S3 object to which you have access

Hello,
I seem to be getting the same error as #33  with version 0.0.22
(cfncluster)HLI-MACPRO48:envs jpiper$ cfncluster create mycluster
Starting: mycluster
TemplateURL must reference a valid S3 object to which you have access.

(cfncluster)HLI-MACPRO48:envs jpiper$ cfncluster version
0.0.22

(cfncluster)HLI-MACPRO48:envs jpiper$ pip freeze
boto==2.38.0
cfncluster==0.0.22
wheel==0.24.0

It appears that the code here
https://github.com/awslabs/cfncluster/blob/master/cli/cfncluster/cfnconfig.py#L156-L165
needs to be updated due a permanent redirect on those s3 paths.
However, if I change the code to the new endpoint:
self.template_url = ('https://cfncluster-%s.s3.amazonaws.com/templates/cfncluster-%s.cfn.json'
                                     % (self.region, self.version))

I still get
"TemplateURL must reference a valid S3 object to which you have access."

Hi, what EC2 region are you using? I'll try and recreate the issue.

us-west-2

I am trying to recreate and not getting the error message.
$ module load ec2-us-west-2
dougalb at a8206614f0f3 in ~
$ workon cfncluster
(cfncluster)dougalb at a8206614f0f3 in ~
$ cfncluster create mycluster
Starting: mycluster
Stack [cfncluster-mycluster] already exists
(cfncluster)dougalb at a8206614f0f3 in ~
$ cfncluster create mycluster2
Starting: mycluster2
Status: cfncluster-mycluster2 - CREATE_IN_PROGRESS                              ^C
Exiting...
(cfncluster)dougalb at a8206614f0f3 in ~
$ pip freeze
boto==2.38.0
cfncluster==0.0.22
wsgiref==0.1.2
(cfncluster)dougalb at a8206614f0f3 in ~
$
Can you email me a copy of ~/.cfncluster/cfncluster-cli.log to dougalb at amazon dot com

Hi - any update there ? I have the same error in us-west-2 zone.
ubuntu@ip-249:~$ cfncluster create test-one
Starting: test-one
TemplateURL must reference a valid S3 object to which you have access.

Do you have region= in your config file or AWS_DEFAULT_REGION set in your environment?

I guess :
[aws]
aws_region_name = us-west-2
aws_access_key_id = XXX
aws_secret_access_key =XXX

Can you send me the config, minus any keys and also the ~/.cfncluster/cfncluster-cli.log. I am unable to reproduce the error and it seems to be rare for others.

You are welcome to email to dougalb at amazon dot com, if you prefer not to post them.

Thank you - just sent at amazon.com

I'm also having the same issue, also us-west-2. Could you post the solution if you've found it?

Try to put in config:
template_url = https://cfncluster-us-west-2.s3.amazonaws.com/templates/cfncluster-0.0.22.cfn.json

If it does not help you need full IAM user full permissions.
IAM service account I  use has a read/write access in our S3 bucket . I put cfncluster-0.0.22.cfn.json file there – does not help.
From: Scott Zimmerman<EMAIL_ADDRESS>Sent: Thursday, December 10, 2015 11:43 AM
To: awslabs/cfncluster<EMAIL_ADDRESS>Cc: Andrey Evtikhov<EMAIL_ADDRESS>Subject: Re: [cfncluster] TemplateURL must reference a valid S3 object to which you have access (#64)
I'm also having the same issue, also us-west-2. Could you post the solution if you've found it?
—
Reply to this email directly or view it on GitHubhttps://github.com/awslabs/cfncluster/issues/64#issuecomment-163534739.

This is an issue with the IAM user launching the cluster. The upcoming release of CfnCluster 1.0 supports using an existing EC2 IAM role when launching a cluster, this reduces the capabilities needed to launch a cluster. More details on the beta release can be found here - https://forums.aws.amazon.com/ann.jspa?annID=3471

Using existing IAM roles is now part of CfnCluster and so this should be a non-issue now.


The way ping works is kind of inefficient.

WebSockets (and TCP) both provide keep-alive mechanisms- and HTTP/2+ has connection handling that is well aware of problems / disconnects.
I don't know about browsers, but I'd assume they raise errors when things are broken/disconnected.
There is a cost to emitting ping frames at the application layer:

If you imagine 10,000 connections emitting pings every 3 seconds, that's 3000+ messages per second just for ping.
Ping message is emitted even if other messages are emitted (redundant).
WebSockets already provide ping and disconnection semantics that, IMHO, work as expected.
Drain power and network usage on mobile devices.

There is no real need to emit a ping frame every 3 seconds IMHO.
I'd personally like to clean up the semantics a bit, e.g. don't emit pings unless absolutely necessary, perhaps change the time to 10-30 seconds, or better yet, move it to the concern of the front end adapter so we can experiment.

I found this discussion interesting: https://www.w3.org/Bugs/Public/show_bug.cgi?id=13104

We had discussed this some time ago: https://github.com/rails/rails/issues/45112
tl;dr The problem is that low-level keepalive can be unreliable due to a number of intermediate proxies/whatever. The application-level heartbeat provides 100% guarantees.

Ping message is emitted even if other messages are emitted (redundant).
(Unnecessarily) drain power and network usage on mobile devices.

Yeah, that's something that could be considered at the protocol level. For the latter, we (at AnyCable) allow to specify custom ping intervals (incuding per-client ping intervals).


[FLINK-2686] Show exchange mode in JSON plan

Extends the PlanJSONDumpGenerator to also include the Data Exchange mode. It will be shown like this:
...
"parallelism": "2",
"predecessors": [
	{"id": 5, "ship_strategy": "Forward", "exchange_mode": "PIPELINED"}
],
"driver_strategy": "Map",
...

The JSON plan generation has actually two points now (that we should try to consolidate). The other one is on "https://github.com/apache/flink/blob/6e0e67d2e0d5180d6fba492e8ab9cc8fb18fdf68/flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/jsonplan/JsonPlanGenerator.java" and deals with attaching the JSON plan to every JobGraph so that the runtime dashboard can draw a graph. That plan is a bit different then the optimizer JSON (because it is not iteration aware and chained tasks are only one operator any more), but otherwise follows similar logic.

it appears that one already includes the exchange mode.
...
if (operatorLevelCaching != null) {
	gen.writeStringField("caching", operatorLevelCaching);
}

gen.writeStringField("exchange", edge.getSource().getResultType().name().toLowerCase());

gen.writeEndObject();
...

Ah, right you are...

Looks good to merge.
Think this need a followup where the exchange type is displayed in the plan visualizer.

Visualization for this would be great!

Merging this once Travis passes.


feat: update button styles

This pr corrects button sizing to match the components in Figma.

Work for this was carried over and completed in #753

Can we close?

Can we close?

yep all good to close 👍


chore(main): release 4.3.0

:robot: I have created a release beep boop
4.3.0 (2024-09-18)
Features

aws-stream-handler: add flag to customize callbackWaitsForEmptyEventLoop (#264) (30a59f9)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/H4ad/serverless-adapter/releases/tag/v4.3.0 :sunflower:


Also generate the import statements

Thanks for the snippet plugin.
If I create a fdataclass with name DataModel, I would be good if it adds imports and part-imports like this:
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:flutter/foundation.dart';

part 'data_model.freezed.dart';
part 'data_model.g.dart';

Thanks, @leiflinse-trivector for opening the issue. Would you like to try working on it? If not I will work on it during the weekend.


Rename Connector.java to BluetoothConnection.java

Change the name to bluetooth connection to reflect what it actually do in parallel with  wifi connection class, in an inambiguous way

I'll test this code tomorrow probably, unless someone is at campus today


fix(module:carousel): fix index value passed to afterchange callback

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?
Index value emitted by afterChange output property when we go from either last item to first item or first item to last item is wrong.
ex:
arr = [1,2,3,4].

when we go from 4th element to 1st element in a circular swipe manner, the index value emitted is 4 instead of 0
when we go from 1st element to 4th element in a reverse circular swipe manner, the index value emitted is -1 instead of 3
Below is the demo of the issue where active index value show the value emitted by afterChange output property
https://angular-aacqoq.stackblitz.io
Below is the editor to play with for the same issue
https://stackblitz.com/edit/angular-aacqoq

What is the new behavior?
ex:
arr = [1,2,3,4].

when we go from 4th element to 1st element in a circular swipe manner, the index value emitted is 0 instead of 4
when we go from 1st element to 4th element in a reverse circular swipe manner, the index value emitted is 3 instead of -1

Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information
No existing test cases to modify for this change

already fixed


⚠ API - Lens has degraded performance

In 493faf7, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 575 ms

Resolved: API - Lens performance has improved in b1c4031 after 10 minutes.


Allow blocking redirect in Stimulus Action controller

If values were false/empty string, it would fall back to the event value
Instead, ensure that the custom event details OR the param can be used to override this and stop redirection
Relates to #10035 & #10039

Edge case scenario missed when I was doing testing, while this should not impact the site switcher usage I wanted to ensure we fixed this before 5.0 release.
As this is a small addition I will merge in once the CI passes.

Failing test seems related to #10320


Support multiple kinds of light clients

As far as I can tell, right now, the relayer just support Tendermint light clients (ICS 7).
We should update the code to deal with clients more generically, and we should be able to support loop-back clients (spec, implementation) now, and other types (e.g. GRANDPA) later.
What does it mean to support a solo machine client? Does it have to provide an HTTP API? What does Agoric think / what do they need?

I think the first step here is adding the client type to the Chain struct and then using that.

Relayer now supports multiple types of light clients (solochain, localhost, tendermint)


Sending email

How do I configure this to send emails?
I've tried editing config/mail.php but I get the error "Invalid view." in Mailer.php. I then ran php artisan vendor:publish --provider="Padosoft\Laravel\Google\StructuredDataTestingTool\GoogleStructuredDataTestToolServiceProvider"
I now get the error   Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required in AbstractSmtpTransport.php
 I changed my .env file to have the required details:
MAIL_DRIVER=smtp MAIL_HOST=email-smtp.xxxxxxxx.com MAIL_PORT=587 MAIL_USERNAME=XXXXXXXXXXXXXX MAIL_PASSWORD=XXXXXXXXXXXXXXXXXX MAIL_FROM=XX@XXXXXXXXX MAIL_FROM_NAME=XX@XXXXXXXXX MAIL_ENCRYPTION=tls

php artisan config:cache fixed my issue.


Charts

What does this do? Also make sure the indentation is styled correctly in both files.

it draws a hardcoded chart