Performance issues after acquireTokenSilent

I'm submitting a...

[x] Performance issue
[x] Feature request
[x] Documentation issue or request

Browser:

[x] Chrome version XX

Library version
1.1.3

Library version: 1.1.3

Current behavior
In my React based SPA I use userAgentApplication.acquireTokenSilent to get an new access token. This works fine, but I came across an issue:
The token is acquired in a hidden iframe, which is quit common and also done by other libs. After some time I relized bad performance and memory usage, which is caused by the fact, that our application is mounted also in the iframe completly. This is not a good idea, because our SPA is setting up some expensive stuff like SignalR connections and so on.

To avoid this, I would like to set a redirectUri which is used just for acquireTokenSilent calls. A second solution could be to detect that a acquireTokenSilent request is ongoing and I can avoid mounting the whole SPA.
Please see https://github.com/IdentityModel/oidc-client-js/wiki#other-optional-settings silent_redirect_uri  setting.
Expected behavior
There should be

a separated redirectUri which is used by userAgentApplication.acquireTokenSilent
or a function to detect that an userAgentApplication.acquireTokenSilent request is ongoing or not

Minimal reproduction of the problem with instructions
See above

@MariuszKogut We are working on a new version of the library that sandboxes the app loaded in the iframe (which prevents the JS in the frame from loading) and allows you to set a redirect page that doesn't include any content or have MSAL included (i.e. a simple/blank page). Please try it out and let us know how it works for you<EMAIL_ADDRESS>

@MariuszKogut we had a similar performance concerns in our application. And currently as a quick workaround which works perfectly in our case I can suggest you to not bootstrap the application in the iframe if it's possible in your case.
To do that you need to find the entry point in your application (I'm not a React expert, we are developing an Angular app), but I assume it should be something like this:
ReactDOM.render(
  App,
  document.getElementById('root')
);

Now you need to determine whether you in the iframe or not and based on this information decide whether to bootstrap the application or not:
if (window.parent === window) {
	// The entry point to your application
} else {
	let config = {
		// Your MSAL config
	};

	let context = new Msal.UserAgentApplication(config);

	context.handleRedirectCallback((error) => {
		console.error(`MSAL Frame error: ${error}`);
	});
}

@MariuszKogut A new version of the beta has been released<EMAIL_ADDRESS>Unfortunately, we had to disable the sandboxing of the iframe, but this version still allows you to use a redirect page that is dedicated to MSAL (and it doesn't have to include MSAL or any other content on it).
Please let us know if you have any feedback!

@anton-gorbikov

Now you need to determine whether you in the iframe or not and based on this information decide whether to bootstrap the application or not:

Thanks - this works for me to reduce the "pain" of our problem.
@jasonnutter

Unfortunately, we had to disable the sandboxing of the iframe, but this version still allows you to use a redirect page that is dedicated to MSAL (and it doesn't have to include MSAL or any other content on it).

Is there a documentation that describes how I can use a dedicated  page to MSAL? As I understood so far, I have to initialize MSAL to process the callback by Azure Ad.

@anton-gorbikov Not yet, we'll have that posted soon.

@jasonnutter currently I am seeing full app reloads (in the iframe) on every single acquireTokenSilent call. Is this the default behavior or should this just happen occasionally (i.e. if a new token is acquired)?

Closing this issue, as it's been some time and I'm assuming the issue has been resolved. Feel free to open a new issue if you have further questions.

This should be resolved with the latest beta.4 release in npm. Please test it and let us know how it works. In case the issue still persists, please open a new issue.


[CODEOWNERS] Messaging

Summary
The focus of these changes is to add Sannidhya Glodha to the service contacts for Event Hubs and Service Bus

/check-enforcer override


Word Order Dependency

I saw that there are stackable grids but that's not exactly what I'm looking for.
I'm looking to have 3 cols mobile, 6 cols tablet, 12 cols desktop.
Replicating elements that could be manipulated at different browser sizes but are trying to represent the same element would probably hurt performance not just with rendering but when it comes to JS bindings as well?
Ex: I add an element to my favorites, resize my browser, now the element appears not to be in my favorites even though it is.... something like that for example, I would then have to manipulate all 3 elements instead of 1? :/
Just throwing the concern out there. Is there anyway for me to achieve what I'm looking to do with this library. I'm a fan, the UIs pretty slick, and there's a lot of features. But for me to switch over from Bootstrap I at least need the same functionality :/
For example with bootstrap I would do this to achieve what I'm looking to do:

blah 1

blah 2

blah 3

...etc...

I have Angular.js dynamically changing the column counts, but it doesn't work as angular puts the updated class always on last spot. This is an issue only cause by the word order thing.
I don't really want to change all the source stuff, especially when where will be updates and I'd have to apply my changes again.
It'd be great to find a way of keeping the sematics and being able to modify classes.


deployer: Support deploying postgres

To minimise the impact of deploying postgres (i.e. to minimise the time in read-only mode), I have added a new deploy strategy which stops postgres jobs in a particular order, waiting for specific service discovery events before moving on.
To summarise the strategy:

While the head async is from the old release, replace it
If sync is present, replace it
Replace the primary

Replacing a job involves:

calling Stop via the API to stop postgres and unregister the service
waiting for a service down event
scaling up the new release (the new job will either become the sync or be appended to the asyncs)
waiting for the new job to set PG_ONLINE=true in service discovery (which happens once it has run pg_basebackup)

Ideally this would just be a one-by-one deployment with the scheduler being flexible enough to be able to stop jobs in a particular order, and the deployer's job waiting flexible enough to wait for specific instance metadata before declaring a job is up, but this will need to wait until the scheduler is refactored.

waiting for the new job to set PG_ONLINE=true in service discovery (which happens once it has run pg_basebackup)

I don't think this is correct. The wait should be for the replication to catch up (sent xlog == flushed xlog), which happens later.

@titanous

waiting for the new job to set PG_ONLINE=true in service discovery (which happens once it has run pg_basebackup)

I don't think this is correct. The wait should be for the replication to catch up (sent xlog == flushed xlog), which happens later.

Yes I forgot to clarify this. Currently only the Primary node waits for the downstream to catch up, so in the case of replacing asyncs there is no indication of when they catch up to their upstreams.
It seems there are two options:

Continue to set PG_ONLINE=true after pg_basebackup has finished on asyncs, but only once replication has caught up on syncs (which requires the primary notifying the sync that it has caught up)
Always set PG_ONLINE=true after replication has caught up (which requires all nodes to call waitForSync and notify their downstreams)

Which do you think is the best approach?

There is a third option, which seems like it might be better: use the new status endpoint to query the replication status from the upstream (see waitForUpstream for an example of this). That way the upstream doesn't need to do any notification.
I wonder if we should just do the check from the deployer since nothing else in the appliance cares about the flag? (with the plan to move the deploy strategy into the appliance in the future)

@titanous I have added pgmanager.WaitForReplSync which waits for the postgres manager to set PostgresInfo.SyncedInst (see 4ef1001), WDYT?

Yeah, that looks good. I'll do a more thorough review in a bit.

@titanous the test pass for me locally but intermittently failing in CI.
It seems the asyncs are restarting postgres whenever they see a new downstream, which isn't necessary, and I thought I had that handled here.
Could you take a look at commit 2d0dc74 to see if there are any holes in the logic?

@titanous the integration tests now pass (in custom CI, requires 895a3d4), but the unit tests are broken due to f1ba89e. Can you give this a pass before I start fixing up the unit tests?

Overall this looks good! I'm curious about what the cause of the unit test failures is.

@titanous the issue with the unit tests is that the peer transitions to being at rest before it has applied the configuration because it will now evaluate the cluster state after receiving service events (whereas previously it would always apply config first). I tried not being at rest at the end of state evaluation, but things broke in other ways. Thoughts?

This fixes most of the issues:
diff --git a/appliance/postgresql/state/state.go b/appliance/postgresql/state/state.go
index a314703..07e81b7 100644
--- a/appliance/postgresql/state/state.go
+++ b/appliance/postgresql/state/state.go
@@ -270,6 +270,8 @@ func (p *Peer) Run() {
 		case <-p.evalStateCh:
 			p.evalClusterState()
 			continue
+		case <-p.applyConfCh:
+			p.pgApplyConfig()
 		case <-p.stopCh:
 			return
 		default:

(previously there was a race with the rest channel)
There are a still a bunch of issues, I'm poking at it now but might not have it figured out before you get up.

Ah, missed a continue. This fixes the unit tests:
diff --git a/appliance/postgresql/state/state.go b/appliance/postgresql/state/state.go
index a314703..1c879e7 100644
--- a/appliance/postgresql/state/state.go
+++ b/appliance/postgresql/state/state.go
@@ -270,6 +270,9 @@ func (p *Peer) Run() {
 		case <-p.evalStateCh:
 			p.evalClusterState()
 			continue
+		case <-p.applyConfCh:
+			p.pgApplyConfig()
+			continue
 		case <-p.stopCh:
 			return
 		default:

@titanous comments addressed, I have run this a few times through CI and the postgres tests passed each time.

@titanous comments addressed

LGTM


Phon/development -> master

N/A

Keeping all commits in the merge just in case I need to refer back to them for any reason.


Better command formatting & argument

Construct's command line arguments are awkward and hard to understand. To fix this, Construct could follow the likes of nasm, which is invoked like
nasm -f elf64 -o cool.o cool.asm

The input file doesn't use a flag, instead it is an unnamed argument. Also, flag names could have alternative long names, like --format for the -f flag, and so on.

Ah that was actually the exact behaviour I was going for (besides the long name part) looks like I removed it somewhere along the line, I'll revert it along with some other changes.

Thanks so much, fixed in latest commit and release.


Improve Astro Configs for build

Added

Add @astrojs/prefetch dependency
Add Robots configs
Add Sitemap configs

Changed

Upgrade and sort dependencies

Fixed

Fix localhost port in site config

changes have been made


Enable upgrades from 1.6 to develop

Questions
Answers

Description?
As there is no common compatible php version between PS 1.6 and develop, this PR aims to perform the upgrade in 2 steps (1.6 -> 1.7 with php 7.1 then 1.7 -> develop with php 7.2) so there is always a common compatible php version.

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?

How to test?
CI should be green

Possible impacts?

Thank you @atomiix


chore: include license files in published crates

Description
Hi, thanks for this project! This symlinks the license file so it's included in published crates.
Related Issue(s)
None
Documentation
N/A

Thanks @ion-elgreco!


Few observations during testing

Environment (please complete the following information):

OS: Ubuntu 18.04
NeoVim version: latest HEAD
vim-clap version: latest HEAD

Describe the bug
During testing of this plugin, I observed following.

Current file position is reset to beginning of the file if clap window is opened and cancelled(by pressing ESC key)
Adding to the above point, when an item(file based provider) on clip window is selected and executed, cursor is   reset to first line of the selected buffer. This is very annoying as user has to go back to desired buffer position manually.
When clap floating window is displayed, current selected sign is not shown unless C-j/k are pressed.

Current file position is reset to beginning of the file if clap window is opened and cancelled(by pressing ESC key)

Can't reproduce with the minimal vimrc.
set nocompatible
set runtimepath^=~/.vim/plugged/vim-clap
syntax on
filetype plugin indent on

Adding to the above point, when an item(file based provider) on clip window is selected and executed, cursor is reset to first line of the selected buffer. This is very annoying as user has to go back to desired buffer position manually.

I don't see the problem. vim-clap doesn't touch the cursor position when opening some file. Its behavior should be same with opening it with :e [file]. Let me know if it doesn't work like that.

When clap floating window is displayed, current selected sign is not shown unless C-j/k are pressed.

This could be improved.

@ratheesh Can you try #24? I have refined the current selection sign.

Can't reproduce with the minimal vimrc.

I checked with the minimal vimrc. It is fine as you said. I will debug further on my side.
PR #24 works fine(neovim) for me. Thank you.

@liuchengxu I am able to reproduce file offset reset issue with below configuration(used Clap buffers command for testing).
set nocompatible
set runtimepath^=~/.vim/plugged/vim-clap
syntax on
filetype plugin indent on

function! ClapEnter() abort
    echom "ClapEnter"
endfunction " function

function! ClapExit() abort
    echom "ClapExit"
endfunction

augroup ClapGrp
    autocmd!
    autocmd User ClapOnEnter   execute ClapEnter()
    autocmd User ClapOnExit    execute ClapExit()
augroup END

Addition of user autocmd seems to be the culprit. Please let me know if something wrong with this.

As I have said, vim-clap just uses e command to open the file, and does nothing else. Not so called file offset reset issue, that's expected. You could try any other plugins, like fzf.vim,  you'll always positioned to the first line when opening some file via Files.
I believe you are seeking for https://vi.stackexchange.com/questions/106/how-can-i-restore-the-cursor-position-when-opening-a-file. That should be in your vimrc, not an issue of a plugin.

I have merged #24, let's see how it's going. Feel free to create another issue if you find new problem.

@liuchengxu Thank you. I will recheck on my side.


Update .npmignore

NPM try to build gyp files during instalation:
><EMAIL_ADDRESS>install /Users/ivang/dev/api-spec-converter/node_modules/drafter.js
> node-gyp rebuild

gyp: ext/drafter/ext/snowcrash/common.gypi not found (cwd: /Users/ivang/dev/api-spec-converter/node_modules/drafter.js) while reading includes of binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Darwin 15.5.0
gyp ERR! command "/usr/local/Cellar/node/6.2.2/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/ivang/dev/api-spec-converter/node_modules/drafter.js
gyp ERR! node -v v6.2.2
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm ERR! Darwin 15.5.0
npm ERR! argv "/usr/local/Cellar/node/6.2.2/bin/node" "/usr/local/bin/npm" "install" "drafter.js"
npm ERR! node v6.2.2
npm ERR! npm  v3.9.5
npm ERR! code ELIFECYCLE

Package also include many unnecessary files:
x package/package.json
x package/.npmignore
x package/README.md
x package/LICENSE
x package/configure
x package/build/Makefile
x package/build/drafterjs.Makefile
x package/build/ext/drafter/drafter.Makefile
x package/build/ext/drafter/drafter.target.mk
x package/build/ext/drafter/ext/snowcrash/libmarkdownparser.target.mk
x package/build/ext/drafter/ext/snowcrash/libsnowcrash.target.mk
x package/build/ext/drafter/ext/snowcrash/libsundown.target.mk
x package/build/ext/drafter/ext/snowcrash/perf-libsnowcrash.target.mk
x package/build/ext/drafter/ext/snowcrash/snowcrash.Makefile
x package/build/ext/drafter/ext/snowcrash/test-libsnowcrash.target.mk
x package/build/ext/drafter/libdrafter.target.mk
x package/build/ext/drafter/libsos.target.mk
x package/build/ext/drafter/test-capi.target.mk
x package/build/ext/drafter/test-libdrafter.target.mk
x package/build/libdrafterjs.target.mk
x package/build/out/Release/.deps/out/Release/libdrafterjs.a.d
x package/build/out/Release/.deps/out/Release/obj.target/libdrafterjs/src/cparse.o.d
x package/build/out/Release/.deps/out/Release/obj.target/libdrafterjs.a.d
x package/build/out/Release/libdrafterjs.a
x package/build/out/Release/obj.target/libdrafterjs/src/cparse.o
x package/build/out/Release/obj.target/libdrafterjs.a: Can't create 'package/build/out/Release/obj.target/libdrafterjs.a'
x package/config.gypi
x package/binding.gyp
x package/drafterjs.gypi
x package/generated/post.js
x package/generated/pre.js
x package/lib/drafter.js
x package/lib/drafter.nomem.js
x package/lib/drafter.js.mem
x package/CHANGELOG.md
x package/src/cparse.cc
x package/src/cparse.h

👍 Thanks.

Can you please merge this PR and republish package?
It's very important since it brakes build 😭

Thanks for debugging and fixing this issue @IvanGoncharov, I've made a release PR at https://github.com/apiaryio/drafter.js/pull/51.

@kylef My pleasure.


Key?

what keys are you talking about ?  my Remmina installation hasn't asked about nor generated any kind of key... as far as I know neither has my mRemoteNG

mRemoteNG uses an encryption key to encrypt the passwords of saved sessions, at least in the latest versions. You can check your config xml file to confirm this. Saved passwords will be in gibberish. By default mremoteng uses "mR3m" as the encryption key unless you changed it specifically.
Remmina also uses a key for the same purpose. Key is ideally located in ~/.config/remmina/remmina.pref file.
While installation either of these doesn't ask for keys. mremoteng uses a default key and remmina creates a random key.
Script needs both of these keys to decrypt mremoteng password and encrypt as remmina password.
Let me know how it goes..

I must be nuts,
In that prefs file there is a "secret=" line , I use the content after the
"=" sign as the "-rk"  and "mR3m" as the -mk. ????
On Fri, Sep 17, 2021, 12:10 AM Rohith050 @.***> wrote:

mRemoteNG uses an encryption key to encrypt the passwords of saved
sessions, at least in the latest versions. You can check your config xml
file to confirm this. Saved passwords will be in gibberish. By default
mremoteng uses "mR3m" as the encryption key unless you changed it
specifically.
Remmina also uses a key for the same purpose. Key is ideally located in
~/.config/remmina/remmina.pref file.
While installation either of these doesn't ask for keys. mremoteng uses a
default key and remmina creates a random key.
Script needs both of these keys to decrypt mremoteng password and encrypt
as remmina password.
Let me know how it goes..
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Rohith050/mremoteng_to_remmina/issues/1#issuecomment-921443861,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB44BIGFHMDWVW3DNQUWH33UCK5R3ANCNFSM5EFMZ7RQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

mremoteng_to_remmina-main]$
python remmina_mremoteng_convertor.py -f mremote_export.xml -rk PX9s6ucM14yDLdgcMHodTDpV3scGA1YxVCxXstjuLRU=  -mk mR3m
Traceback (most recent call last):
File "/home/jtremblay/mremoteng_to_remmina-main/remmina_mremoteng_convertor.py", line 291, in
handle_node(root)
File "/home/jtremblay/mremoteng_to_remmina-main/remmina_mremoteng_convertor.py", line 289, in handle_node
handle_node(child, group_name + '/' + child.attrib['Name'] if group_name else child.attrib['Name'])
File "/home/jtremblay/mremoteng_to_remmina-main/remmina_mremoteng_convertor.py", line 289, in handle_node
handle_node(child, group_name + '/' + child.attrib['Name'] if group_name else child.attrib['Name'])
File "/home/jtremblay/mremoteng_to_remmina-main/remmina_mremoteng_convertor.py", line 276, in handle_node
handle_ssh(child, group_name)
File "/home/jtremblay/mremoteng_to_remmina-main/remmina_mremoteng_convertor.py", line 192, in handle_ssh
local_skeleton['password'] = encrypt_remmina_password(decrypt_mremoteng_password(element.attrib['Password']))
File "/home/jtremblay/mremoteng_to_remmina-main/remmina_mremoteng_convertor.py", line 182, in decrypt_mremoteng_password
cipher = AES.new(key, AES.MODE_GCM, nonce=nonce)
AttributeError: module 'Crypto.Cipher.AES' has no attribute 'MODE_GCM'

for python3 this seems to remove the encryption error but there still is no import
pip3 install pycryptodome

it doesn't directly import , duh . I need to read slower! :D

alas, remmina won't import the files created...  :(

there is nothing in the files :O

I am able to reproduce the issue. Somehow, the latest remmina version doesnt like the created session file. I manually created a session in remmina and compared the session file with the file created by the script and the content is almost the same. There are a couple of new fields. I added them into the file but that didnt help.  Also, the order of fields is different. I will try to update the order as per latest version. Hope it works.  Will update here ASAP.

Turned out to be permissions issue. I copied the created .remmina files to ~/.local/share/remmina/ folder and restarted remmina. All the sessions were imported successfully.
The folder might change depending on how you installed remmina.  Please check https://gitlab.com/Remmina/Remmina/-/issues/2178 for more info
'The native Remmina package, by default, store the .remmina file under $HOME/.local/share/remmina, while the snap under $HOME/.var/app/org.remmina.Remmina/data/remmina'
Please give it a try and let me know how it goes

I am still not able to import the converted files...
Installed Packages
Name         : remmina
Version      : 1.4.20
Release      : 1.fc33
Architecture : x86_64
Size         : 3.8 M
Source       : remmina-1.4.20-1.fc33.src.rpm
Repository   : @System
From repo    : updates
Summary      : Remote Desktop Client
URL          : http://remmina.org
License      : GPLv2+ and MIT
Description  : Remmina is a remote desktop client written in GTK+, aiming to be useful for
: system administrators and travelers, who need to work with lots of remote
: computers in front of either large monitors or tiny net-books.
:
: Remmina supports multiple network protocols in an integrated and consistent
: user interface. Currently RDP, VNC, XDMCP and SSH are supported.
:
: Please don't forget to install the plugins for the protocols you want to use.
uname -a
Linux JT-Fedora-WKSTN 5.13.15-100.fc33.x86_64 #1 SMP Wed Sep 8 15:51:20 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/*-release
Fedora release 33 (Thirty Three)
NAME=Fedora
VERSION="33 (Workstation Edition)"
ID=fedora
VERSION_ID=33
VERSION_CODENAME=""
PLATFORM_ID="platform:f33"
PRETTY_NAME="Fedora 33 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:33"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f33/system-administrators-guide/"
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=33
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=33
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="Workstation Edition"
VARIANT_ID=workstation
Fedora release 33 (Thirty Three)
Fedora release 33 (Thirty Three)

file:///home/jtremblay/Pictures/Screenshot%20from%202021-09-23%2011-49-22.png
this is what happens ... permissions are the same as the files created by the install.

I got it ! under preferences I had chosen a different "Remmina data folder" moving the converted files to that location made them show up without intervention!

I am glad it worked out. I will try and update the documentation before closing.

Thanks for your help!
On Sat, Sep 25, 2021, 12:48 PM Rohith050 @.***> wrote:

I am glad it worked out. I will try and update the documentation before
closing.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Rohith050/mremoteng_to_remmina/issues/1#issuecomment-927150140,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB44BIBRD2VMR34CKYAW3TDUDX4O5ANCNFSM5EFMZ7RQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Can you please guide me too, I am also having above errır that ends with:
cipher = AES.new(key, AES.MODE_GCM, nonce=nonce)
AttributeError: module 'Crypto.Cipher.AES' has no attribute 'MODE_GCM'

@ozgurerdogan : Thanks for trying it out. May I know the version of python you are using? Script only works with python3.x. I have added a check in the script now.  Also, added requirements.txt which has all the needed modules. Please go through the updated readme file and let me know how it goes.

Thank you @Rohith050  I finnaly succeed. Thank you very much. This is great script. One thing, remmina does not connect some rdp, it is probably about remmina and not about conversation right?

Tough to say without looking into .remmina file and logs.  If converted sessions had shown up in remmina, then most probably conversion happened correctly. Try creating the problematic RDP session manually and see if it works. If it works, them compare the .remmina file with converted file.  If you see any differences causing connectivity problem, I can update the script to handle those fields.
Closing this issue now. If needed, open a new issue for rdp sessions. Again, thanks for trying it out.

I already tried that. And manual connection is also not succesfull. I found this https://gitlab.com/Remmina/Remmina/-/issues/2159

Cool. Nothing to fix my side then 😅


ios Simulator/iPhone connection issues

Steps to Reproduce
I have two issues that seem like they are likely related. These issues roughly correspond with when I upgraded to Xcode 9 but I can't say that for sure.
The first issue is that hot reload, full restart, and quit are not working from the command line. The terminal window simply prints the letter and does not take any action upon pressing r, R, or q. The same issue also exists in IntelliJ - hot reload and full restart are not options and Stop doesn't actually stop the application. Also, runtime logging (from print statements) is not showing up in either terminal or IntelliJ.
The second issue is that I am getting an error sometimes from flutter run -v. This is happening both with the simulator and my physical iPhone.
Logs
% flutter run -v
[  +37 ms] [/Users/frederickcook/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +47 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/alpha
[        ] [/Users/frederickcook/flutter/] git ls-remote --get-url origin
[  +12 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[        ] [/Users/frederickcook/flutter/] git log -n 1 --pretty=format:%H
[  +20 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[        ] 701d534ba93eaa3452f5e6b8b73ad8bd5a48847b
[        ] [/Users/frederickcook/flutter/] git log -n 1 --pretty=format:%ar
[  +14 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
[        ] 2 weeks ago
[ +649 ms] /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[ +154 ms] Exit code 0 from: /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[        ] 2.3
[ +414 ms] Listing devices using /Users/frederickcook/Library/Android/sdk/platform-tools/adb
[        ] /Users/frederickcook/Library/Android/sdk/platform-tools/adb devices -l
[  +34 ms] Exit code 0 from: /Users/frederickcook/Library/Android/sdk/platform-tools/adb devices -l
[        ] List of devices attached
[   +5 ms] idevice_id -h
[ +192 ms] "flutter run" took 1,326ms.
idevice_id returned an error:
ERROR: Could not connect to lockdownd, error code -8

#0      IMobileDevice.getInfoForDevice (package:flutter_tools/src/ios/mac.dart:88)
<asynchronous suspension>
#1      IOSDevice.getAttachedDevices (package:flutter_tools/src/ios/devices.dart:84)
<asynchronous suspension>
#2      IOSDevices.pollingGetDevices (package:flutter_tools/src/ios/devices.dart:38)
#3      PollingDeviceDiscovery.devices (package:flutter_tools/src/device.dart:145)
<asynchronous suspension>
#4      DeviceManager.getAllConnectedDevices (package:flutter_tools/src/device.dart:91)
<asynchronous suspension>
#5      DeviceManager.getDevices (package:flutter_tools/src/device.dart:81)
#6      FlutterCommand.findAllTargetDevices (package:flutter_tools/src/runner/flutter_command.dart:258)
<asynchronous suspension>
#7      RunCommand.verifyThenRunCommand (package:flutter_tools/src/commands/run.dart:222)
<asynchronous suspension>
#8      FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:181)
<asynchronous suspension>
#9      CommandRunner.runCommand (package:args/command_runner.dart:194)
<asynchronous suspension>
#10     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:276)
<asynchronous suspension>
#11     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:109)
#12     new Future.sync (dart:async/future.dart:222)
#13     CommandRunner.run (package:args/command_runner.dart:109)
#14     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:161)
#15     run.<anonymous closure> (package:flutter_tools/executable.dart:143)
<asynchronous suspension>
#16     AppContext._run (package:flutter_tools/src/base/context.dart:76)
<asynchronous suspension>
#17     AppContext.runInZone.<anonymous closure> (package:flutter_tools/src/base/context.dart:66)
#18     _rootRun (dart:async/zone.dart:1120)
#19     _CustomZone.run (dart:async/zone.dart:1001)
#20     runZoned (dart:async/zone.dart:1467)
#21     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#22     run (package:flutter_tools/executable.dart:114)
<asynchronous suspension>
#23     main (package:flutter_tools/executable.dart:67)
<asynchronous suspension>
#24     main (file:///Users/frederickcook/flutter/packages/flutter_tools/bin/flutter_tools.dart:16)
#25     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#26     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)

[ +187 ms] ensureAnalyticsSent: 166ms
[   +5 ms] exiting with code 1

Flutter Doctor
% flutter doctor
[✓] Flutter (on Mac OS X 10.12.6 16G29, locale en-US, channel alpha)
    • Flutter at /Users/frederickcook/flutter
    • Framework revision 701d534ba9 (2 weeks ago), 2017-09-12 14:01:51 -0700
    • Engine revision 31d03de019
    • Tools Dart version 1.25.0-dev.11.0

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.0)
    • Android SDK at /Users/frederickcook/Library/Android/sdk
    • Platform android-26, build-tools 26.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] iOS toolchain - develop for iOS devices (Xcode 9.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.0, Build version 9A235
    • ios-deploy 1.9.2
    • CocoaPods version 1.2.1

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Community Edition (version 2017.2.5)
    • Flutter plugin version 17.0
    • Dart plugin version 172.4155.35

[✓] Connected devices
    • iPhone 7 • 2AE532E3-5B4B-4D8D-8CFB-F54C3BF6F8EE • ios • iOS 11.0 (simulator)

Switching to channel master  fixed this issue, though I am still unable to get flutter to identify my phone. I'll post in a separate issue.

This is closed but still have this issue on Android and iOS... restart everything (android studio, emulator, clean) seems to work sometimes...

@g-balas follow #24600


'Add line comment' should be called 'Toggle line comment'

Notice that the add line comment actually toggles the comment. Thus the naming seems to be wrong.

@isidorn I think ctrl+k ctrl+c always adds a line comment, while ctrl+k ctrl+u always removes a line comment.

Ah you are right. Clsoing as designed


Use keycloak header to login

*** Untested ***
Somewhere in the slack channel, the source of the KEYCLOAK_USERNAME got befuddled meaning that Guy created PR #199 with changes to reflect picking up KEYCLOAK_USERNAME from an (operating system) environment variable... We're not ever setting an environment variable though; it's getting passed through as an HTTP header.
This PR covers changes to reflect that and tests covering a user hitting the login page and a new test where the user hits the home page (and should be directed to /links I believe). I haven't run the tests locally, but wanted to get the code up as a PR to flag the issue and so that someone with an environment built for testing could give it a go before it gets merged to master. Sorry and thanks!

Looks good, apart from CI failing the tests 😀

Fixed the issue found by the tests/norm. Had all manner of Thursday night fun attempting to set up a vagrant/vbox dev environment, but ultimately failed so pushing to this PR in the hope that either @norm or @michaeldfallen can run the tests again for me (just to keep this moving) and make changes as necessary to get @GuyBowdler a version he can pull and deploy to test with keycloak. I will make some more time to get the dev environment setup properly, it just can't be this week.


Update README to better explain how to run locally

Update README to better explain how to run locally, using additional information provided by @alanna-zhou .
Addresses the issue raised here

@meganle @alanna-zhou
Reordered, abbreviated slightly, and added bullet points. I'm not super familiar with README conventions on GitHub so I appreciate your insight.


example cleanup and readme

Stack:

#25
#24
#23
#22 ⬅
#21

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #25


Switch to bti by default and remove the feature module

@aclement Please ping me when all sample are supported with bti, I can take care of the refactoring that will enable it by default, clarify the dependency required or not (hints, substitution) etc.

Samples and which are moved to new infrastructure:

[x] commandlinerunner
[x] webflux-netty
[x] webmvc-tomcat
[x] jdbc-tx
[x] webflux-thymeleaf
[x] security
[ ] batch
[ ] actuator-webmvc
[ ] actuator-webflux
[ ] boot-features
[ ] hibernate
[ ] petclinic-jdbc
[ ] data-jpa
[ ] data-mongodb
[ ] validator
[ ] logger
[ ] cloud
[ ] cloud-config
[ ] cloud-discovery
[ ] cloud-function-aws
[ ] cloud-function-netty
[ ] cloud-function-netty-fun
[ ] data-elasticsearch
[ ] data-mongodb-reactive
[ ] data-neo4j
[ ] data-r2dbc
[ ] data-redis
[ ] features
[ ] grpc
[ ] kafka
[ ] rsocket
[ ] scheduling-tasks
[ ] wavefront
[ ] webclient
[ ] webmvc-kotlin
[ ] websocket

We will migrate the Gradle samples as part of #453.


Send doc build status to GitHub Commit Status API

It would be lovely if ReadTheDocs would use GitHub's new Commit Status API to annotate commits that triggered doc builds with the doc build result, in much the same way as Travis CI does for the test suites.

I think this is duplicated of https://github.com/rtfd/readthedocs.org/issues/1340

Yup, it is. Closing this issue.


Fix param missing for toolbar plugin sample code

Missing env in sample code.

Thank you for contributing!


Send sysex

Looks like WriteSysEx was stubbed out. This patch works for me, although I can't get gdb or valgrind to work with go programs, so I'm not sure it's freeing memory correctly.
 You should then see output from amidi.

For the record, this pull request is now obsolete and can be deleted.


dotnet global tool

Great library!
I plan to use it as a bridge between apps that can't handle windows auth and a corporate proxy that requires windows auth. I will probably start with your example console app which should do the job.
But I wondered if you could also provide a dotnet global tool version of it. That would make it really easy to get started with it. I later plan to extend it for more advanced purposes.
I can have a go at doing it myself if you'd be up for adding it?

What should I do for adding that global tools?
I can merge PRs, but for other actions I think you need to ask @justcoding121

@mungojam are you talking about this? https://www.dotnetcurry.com/dotnet/1495/dotnet-core-global-tools

I was talking about that but now I've changed my mind as I think it's better to wait for .net 5 and make a single exe version. I also saw that this library doesn't have Kerberos authentication support (I think), so it won't suit my needs in current form. Sorry I haven't got time at the moment to help move it forward


Closing editors in (OPEN EDITORS) should not scroll to active file

When you close the editor clicking on the cross, the pane is scrolling to the active opened file in the editor, it is not very convinient if you want to close multiple files using this method.

This feature request will not be considered in the next 6-12 months roadmap and as such will be closed to keep the number of issues we have to maintain actionable. Thanks for understanding and happy coding!


Enable macOS arm64, using https://github.com/s-u/macosvm

Depends on https://github.com/microsoft/vcpkg/pull/35617
MacOS 13.3.

https://github.com/microsoft/vcpkg/pull/35617 wasn't clean so I merged this back into it.


Bundle SMTP brokerpak with Cloud Service Broker

The Cloud Service Broker will launch with at least one new service: AWS SES, which will provide email services to customers. The goal of this ticket is to include a brokerpak in our Cloud Service Broker deployment to provide that.
Acceptance criteria:

[x] Brokerpak source is included in https://github.com/cloud-gov/csb
[x] Brokerpak is built and included in broker deployment
[x] Service provisioning works
[x] Service binding works
[x] Create zone with "default domain" for sending mail
[x] Support default domain with com+gov providers in brokerpak
[x] Test calls using the service succeed
[x] Test support for sending with non-default domain

Previous work by other teams:

https://github.com/GSA-TTS/datagov-brokerpak-smtp

Confirmed that the custom domain support works, with provision and bind working, the identity verified, and emails sending successfully to my own inbox. Closing as completed.


bug: Keyboard pan got stuck, after keyboard closed on focus off.

Bug Report
Ionic version:

Current behavior:

Video for Issue Description:
https://drive.google.com/file/d/11_VBBkkBLm7rBnwnBKpCOrT-ZopzfqMh/view?usp=sharing
Expected behavior:

Keyboard pan should hide on click select field.
Steps to reproduce:

Just focus-in input field.
Without focusing-out field click on select field.

Thanks for the issue. I am going to close this as a duplicate of https://github.com/ionic-team/ionic/issues/19065.


Switch to aarch64 runner image instead of using QEMU

Currently building for aarch64 is extremely slow. The reason is that it cross-compiles using QEMU. Once a native aarch64 runner becomes available, it should be used instead. This will simplify the Github Actions as well.
The progress of it is tracked in https://github.com/actions/runner-images/issues/5631

@pentamassiv Now MacOS M1 is GA: https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source

Sure, if you can write an Action that can build it on macOS and see if it builds on aarch64, I would appreciate it. So far I am not aware of any issues on aarch64 since there is no architecture specific code so maybe it is not needed though


Issue on Billboards and Labels on Terrain Improvements

Hello,
I liek cesium so much. Right now I have an issue about billboards and labels' partial visibility (some parts are visible some are not)
Version: 1.48 using npm package.
Browser: chrome
As it was mentioned in blog post I was expecting labels and billboards will be totally visible if any part of them are visible on the terrain. Related blog post:
https://cesium.com/blog/2018/07/30/billboards-on-terrain-improvements/
It works partly. When camera is near to the billboards (around 700 or such meters) this check works. When camera is further away from the billboards and labels, again billboards and labels becomes half, %25, %35 or such.

Test case in yer cesium sandcastle:
1- use the codes
2- zoom in zoom out, move camera
var viewer = new Cesium.Viewer('cesiumContainer');
var terrainProvider = viewer.terrainProvider;
viewer.terrainProvider = Cesium.createWorldTerrain();
viewer.scene.globe.depthTestAgainstTerrain = true;

viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(-122.1958, 46.1915),
    billboard : {
        image : '../images/facility.gif',
        heightReference : Cesium.HeightReference.CLAMP_TO_GROUND
    }
});

viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(-122.1958, 46.1915),
    label : {
        text : 'Philadelphia',
        heightReference : Cesium.HeightReference.CLAMP_TO_GROUND
    }
});
viewer.zoomTo(viewer.entities);

Hello @onderaltintas, this is by design.  We do the better depth test against terrain check only when the camera is within some distance of the billboard, otherwise there could be a slight impact to performance if there were a large number of billboards all over the globe.  However, the distance at which this happens is configurable using the disableDepthTestDistance property.  It's set at 5000 by default.  If you pass in a larger number it will start doing that check when the camera is zoomed out further.  This value can be set to Number.POSITIVE_INFINITY to always perform this check, but that can sometimes cause the billboard to show through the globe if one of the edges is visible from behind the globe.
var viewer = new Cesium.Viewer('cesiumContainer');
var terrainProvider = viewer.terrainProvider;
viewer.terrainProvider = Cesium.createWorldTerrain();
viewer.scene.globe.depthTestAgainstTerrain = true;

viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(-122.1958, 46.1915),
    billboard : {
        image : '../images/facility.gif',
        heightReference : Cesium.HeightReference.CLAMP_TO_GROUND,
        disableDepthTestDistance: 15000
    }
});

viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(-122.1958, 46.1915),
    label : {
        text : 'Philadelphia',
        heightReference : Cesium.HeightReference.CLAMP_TO_GROUND,
        disableDepthTestDistance: 15000
    }
});
viewer.zoomTo(viewer.entities);


runtime: user process sometimes segfaults on suspend

When sending SIGQUIT to gate-run running DOOM:
serve: process termination signal: segmentation fault
stacktrace: instance state is invalid

Not seen lately, closing for the time being...


add .d.ts file

this adds a .d.ts file to make typescript happy when importing the plugin in tailwind.config.ts or with allowJs/@ts-check.
matches what other plugins do (example).

@jamiebuilds any chance of your accepting this PR soon? It would avoid me having to fork and manage this dependency manually.

Literally what are the odds of you commenting at the exact moment I clicked merge

😮 😮 😮 😮

@jamiebuilds thanks for the update, but for some reason the new release on npmjs.com still doesn't include the .d.ts file. Not sure what happened there. The github zip file has the right contents, but the 1.0.6 release showing on npmjs.com doesn't seem to have the same contents.

sorry, my bad, index.d.ts should be included here as well


REST Api + consume data

I would like to open a discussion about how to expose specific apis in Orchard.
Here is an example I have in mind:
If the Comments module exposes a json endpoint that list the last comments, there could be a simple 'plugin' that allows to show them on the front or in the admin (widget, dashboard, ...).
It can be easy. Some people have already made that kind of api implementation.
Please, share your thoughts about the feature needed or the way to implement them if they don't exist yet.

I have another use case in mind:
Add some 'quick infos/actions widgets' in the upcoming new admin theme, in the right sidebar.
Ex : quick search, moderate comments, send mail to user.

Of course the question of using technologies as SignalR (for real time notifications) or data-binding libraries/framework (angular, ...) is also open.

Also see: https://orchard.codeplex.com/discussions/560607

Those could be also helpfull :
https://github.com/domaindrivendev/Swashbuckle
http://swagger.io/

Bang -> https://github.com/OnefoursevenLabs/Orchard-Swagger

ApiExplorer needs to be fed with an httpConfiguration in order for the Api's to be discoverable by Swagger/Swashbuckle. The way I've done it is not pretty, avoids messing with Orchard core files, but resets any external ApiDescriptors. So to expose Orchard API's, we should best populate ApiExplorer in Orchard.Mvc.RoutesRoutePublisher

For the record @sebastienros created a RESTful module PoC in his fork: https://orchard.codeplex.com/SourceControl/network/forks/sebastienros/Backup?branch=feature/rest
Also on some old meeting we discussed that:

Without Odata for now
Reusable infrastructure (e.g. authentication) for other modules to use
Implementations e.g. for managing content types, content items, Taxonomies, search...

Other implementations, not linked from https://orchard.codeplex.com/discussions/560607:

https://gallery.orchardproject.net/List/Modules/Orchard.Module.Orchard.BlogsApi
https://gallery.orchardproject.net/List/Modules/Orchard.Module.Amba.KeyValueStorage
https://github.com/CloudMetal/Orchard.Api


Motoko san/refactoring

Some refactoring before #13 to avoid code duplication

Merged with adjustments:

51a2924f56f96426b1824a3a9343160809bf939d
4bab95e45f818bd7bd5a31aeb9d80a29166ef23a
db1167d595622fcbcba601d0d318f76164c06f5a
2f34aa82e5aab6765ddbf45e4e4224eb1d0d467c


WIP Add support for customers updating the ServicePrincipalProfile

What this PR does / why we need it:
This allows a user to update their service principle.
Note: there are still some TODOs in the code
fixes https://msazure.visualstudio.com/AzureRedHatOpenShift/_backlogs/backlog/Azure Red Hat OpenShift/Features/?showParents=true&workitem=7609645
Test plan for issue:
not extensively tested, just a WIP
Is there any documentation that needs to be updated for this PR?

maybe some end user docs?

e2e coverage for this is essential before merge.


Consider renaming IoSliceMut to something implying MaybeUninit

It's great to see that the same mistake as in the case of bytes_mut wasn't made in IoSliceMut, but it does look at the first sight that it was. :) I guess that could be confusing for users of the crate. IoSliceMaybeUninitMut or IoSliceUninitMut would be clearer.

Considered that 😭 https://twitter.com/seanmonstar/status/1187095905020694528
Figured the longer name didn't make it any safer, and the exposed API was clear enough.

I agree that it's not related to safety. Just that people will probably try to shove in the type from std instead of from bytes. And if there's anyone sceptical like me, he will waste time analyzing if it's actually safe. :rofl:

IoSliceMut has been removed.


Investigate if our File Share folder stats may report inaccurate results

This comes from a customer support thread. It seems in some situations, our folder statistics feature may report inaccurate results.
For example, when there are 192388 files in the folder and 144,573,325,353 bytes in total, our statistics report only 192271 files and 144,301,875,878 bytes in total.
We should try to reproduce it and see if there is a bug in our code.

We investigated manually and found no issues. I have also added an initial automated test to help verify the correctness of the file share statistics.


enhancement(portal-web, mis-web): 在header上添加默认集群选择框

mis

portal

门户系统的shell和文件管理模块可以通过点击图标跳转到默认集群

多集群操作默认选择全部集群

Codecov Report
Base: 65.10% // Head: 65.10% // No change to project coverage :thumbsup:

Coverage data is based on head (e3a20cb) compared to base (f9aa6de).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #296   +/-   ##
=======================================
  Coverage   65.10%   65.10%
=======================================
  Files          98       98
  Lines        2728     2728
  Branches      334      334
=======================================
  Hits         1776     1776
  Misses        910      910
  Partials       42       42

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

已解决冲突


MINOR: [Doc][Python] pull the test data in one command

@haim0n Thanks for the contribution. I am wondering though, is there a specific reason for this? We have other code blocks on this page that also consist of multiple commands, and where we also don't do this.

@jorisvandenbossche , you're right. I walked the path of the newbie setting up the dev env for the first time. So the one liner was a speedup for me (replaces 3 copy/paste actions) and allows to skip this mechanical step.
Some of the other commands contain comments between them and provide some learning curve to new comers- so my guess they're nice to have and probably should be left intact.

I walked the path of the newbie setting up the dev env for the first time. So the one liner was a speedup for me (replaces 3 copy/paste actions) and allows to skip this mechanical step.

That's of course something a newcomer also doesn't necessarily know, but you can actually copy paste those three lines at once (at least most terminals should support executing those one by one if pasting multiple lines)

mmm no - Bash treats $ as variable and those lines can't be just pasted.

I don't really like this change. It makes the snippet easier to paste, but at the expense of readability.

For completeness, if you are navigating the documentation: https://arrow.apache.org/docs/developers/python.html#environment-setup-and-build
and try to copy & paste or use the sphinx copy to clipboard button it already skips the $. This is what my clipboard copies:
pushd arrow
git submodule update --init
export PARQUET_TEST_DATA="${PWD}/cpp/submodules/parquet-testing/data"
export ARROW_TEST_DATA="${PWD}/testing/data"
popd

If you try to copy directly from the source rst file, yes, you have to copy&paste for each command because the $ gets copied to the clipboard but that should be ok.

Closing because it has been untouched for a while, in case it's still relevant feel free to reopen and move it forward 👍


Option to force BLOCK_LITERAL for strings with newlines

Hi.
I need option to make all multiline strings as block literals (using |- instead of >-). Would you think it will make sense? I can create PR for that.

I'm starting to think that the preferential order of stringification types needs some more unifying option shape. Adding options one by one is going to produce even more of a mess than it is now. So, given that we've got a major release upcoming in any case, we can reconsider everything here.
At least these controllable facets come to mind off the top of my head:

default escalation path (currently, plain -> block -> quoted)
default type for keys
default type for multiline strings
preference between single/double quoted
preference between folded/literal blocks (currently, the determinant is the line length: if your content would get folded to multiple lines, it does get folded; otherwise, use literal)
which of the string types are even allowed (might be tricky to exclude double-quoted)

Suggestions are welcome for how to handle at least all of that, and for other aspects that should be controllable. My preference in these sorts of cases is usually for whatever option requires the least explanation. I don't think absolutely everything needs to be possible, just... most things.

Thank you for your response. I'll describe my thoughts about this below.
default type for keys & customizable escalation path
I think these cases are very specific and probably not that important for most users. I think, it would be okay to process it manually. I actually ended up doing this for my case: https://codesandbox.io/s/infallible-brook-3vxop?file=/src/index.ts .
That said, API for doing this can be impoved.

yaml.stringify's options doesnt support yaml.scalarOptions overrides
it would be nice to have function like yaml.createDocumentFrom(data) to avoid clunky yaml.parseDocument(yaml.stringify(data)).
some simple replacer function for post-processing result. Something between JSON.stringify replacer and visitor pattern:

yaml.stringify(data, {
   replacer: (node, ctx) => {
      if (node.key == 'key 1' && node instanceof Scalar) {
           // change value and type based on key
           node.value = 'specific value';
           node.type = Type.BLOCK_LITERAL;
      } else if (node instanceof Scalar && typeof node.value == 'string') {
          // change type for every string
          node.type = Type.BLOCK_LITERAL;
      } else {
          ctx.forEachDescendant(node);
      }
   }
});

It is probably too imperative, but it can achieve relatively easy overriding and/or implemeting any behavior. It is just impossible to add parameter for every possible case, but this will probably cover all of them.
default type for multiline strings & preference between single/double quoted & preference between folded/literal blocks
These options can fit neatly as fields for options object. This looks perfectly fine:
{
  multilineStrings: {
    //** Specifies what is "starting point" in escalation path. */
    defaultType: Type,

    //** use specified quote unless other one will require no escapes (or by using other, more complex policy) */
    quotePreference: 'double' | 'single' |
      {
        type: 'double' | 'single',
        //** if true, prefer specified quote even when escapes will be needed */
        forceAlways: boolean
      },

    //** Whether or not use folded blocks*/
    autoFolding: boolean
  }
}

which of the string types are even allowed (might be tricky to exclude double-quoted)
I don't see way to add this option without it beign too complex both for API and implementation. And frankly, using value combinations from previous paragraph it should be possible to achieve quite a lot of endresults.

yaml.stringify's options doesnt support yaml.scalarOptions overrides

This is a bit tricky, because the scalar options apply to tags, which are included in the schema, which is used by the document. Adding an override for them to document options (i.e. what's also give to stringify) would make that object not flat, and I'd prefer to avoid that.

it would be nice to have function like yaml.createDocumentFrom(data) to avoid clunky yaml.parseDocument(yaml.stringify(data)).

In v1, the function you're looking for is createNode, but in v2 it's even easier with new YAML.Document(data).

some simple replacer function for post-processing result. Something between JSON.stringify replacer and visitor pattern:

PR #189 adds a JSON replacer function, but that only really applies to JS objects, while they're being turned into a document or a node. Something like a visitor helper function in addition to that does sound like a really rather good idea, though.

default type for multiline strings & preference between single/double quoted & preference between folded/literal blocks
These options can fit neatly as fields for options object. This looks perfectly fine:

Could you clarify what you mean by autoFolding? Not sure that I get that one.

which of the string types are even allowed
I don't see way to add this option without it beign too complex both for API and implementation. And frankly, using value combinations from previous paragraph it should be possible to achieve quite a lot of endresults.

I think I'm looking for some very small set of options that could cover a lot of ground. Possibly with an alternative function form that'd have access to the stringification context object for determining the preferences; it already includes at least implicitKey: boolean and inFlow: boolean as possibly significant determinants. Maybe something like this?
type StringType = 'BLOCK_FOLDED' | 'BLOCK_LITERAL' | 'PLAIN' | 'QUOTE_DOUBLE' | 'QUOTE_SINGLE'

interface StringifyOptions {
  prefer: StringType[]
  allow: { [key in StringType]: boolean }
}

interface StringifyContext {
  implicitKey: boolean
  inFlow: boolean
  ...
}

interface ScalarOptions {
  stringifyScalar: StringifyOptions | ((ctx: StringifyContext, value: string) => StringifyOptions)
  ...
}

There prefer would give the order of preference for different string types, while allow puts hard limits on what'll ever be output.

This is a bit tricky, because the scalar options apply to tags, which are included in the schema, which is used by the document. Adding an override for them to document options (i.e. what's also give to stringify) would make that object not flat, and I'd prefer to avoid that.

Am I understanding it correctly? You want document options to not have nested objects? Why so? For me it seems pretty convenient to group properties like that.

In v1, the function you're looking for is createNode, but in v2 it's even easier with new YAML.Document(data).

That's great! I had to read manual more closely before proposing changes, sorry...

Something like a visitor helper function in addition to that does sound like a really rather good idea, though.

I can implement this feature in PR if you interested.

Could you clarify what you mean by autoFolding? Not sure that I get that one.

In my mind this parameter would determine whether or not fold string when using folded block scalar (>-). E.g.:
Input: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum dapibus congue quam, eleifend consequat enim faucibus id. Ut luctus mi quis eleifend fermentum."

#autoFolding == true
Value: >-
   Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum dapibus congue quam,
   eleifend consequat enim faucibus id. Ut luctus mi quis eleifend fermentum.

#autoFolding == false
Value: >-
   Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum dapibus congue quam, eleifend consequat enim faucibus id. Ut luctus mi quis eleifend fermentum.

Maybe something like this?

I'm not sure about stringifyScalar, it seems oddly specific. IMO it would be much more powerful to have something that can be applied to all nodes, including scalars (like replacer function mentioned earlier). Also, could you please clarify what is the meaning of implicitKey and inFlow values?
As for prefer, I have hard time imagine why would someone want to override string escalation path. And this prefer route will require pretty complex internal rules whose aren't configurable. Like deciding on escaping control characters (like \n, ' or ") or escalate to next string type.
And this also can alow configurations that cannot resolve some values (simplest example - all string types are forbiden).
In my opinion it's a bit to complex for such simple configuration point. Especially if user have ability to control it more finely using proposed replacer or stringifyScalar.

Am I understanding it correctly? You want document options to not have nested objects? Why so? For me it seems pretty convenient to group properties like that.

Yes. I've managed to keep the main options flat so far, and I'd prefer to do so in the future as well. That makes it significantly easier to grasp how the options are merged.

Something like a visitor helper function in addition to that does sound like a really rather good idea, though.

I can implement this feature in PR if you interested.

Sure. My first idea for this was something like visit(node: Node, visitor: (node: Node, path: Node[]) => void): void, which could be called on any node or document, and it'd recursively walk through all of its contents. Not sure about the parameters, not sure about a need for filtering nodes, not sure about the order of parents vs. child nodes, not sure if the return value of the function should do anything. Ideas welcome!

Could you clarify what you mean by autoFolding? Not sure that I get that one.

In my mind this parameter would determine whether or not fold string when using folded block scalar (>-). E.g.:

So specifically for folded block scalars? Because there's already str.fold.lineWidth for all scalar types; setting that to 0 will disable folding.

I'm not sure about stringifyScalar, it seems oddly specific. IMO it would be much more powerful to have something that can be applied to all nodes, including scalars (like replacer function mentioned earlier). Also, could you please clarify what is the meaning of implicitKey and inFlow values?

Just to clarify, YAML has two node types: collections and scalars. Those stringify very differently, hence the initial name stringifyScalar to indicate that this option controls how all scalars are stringified. I'd say that's pretty powerful?
implicitKey is true if we're currently stringifying an implicit key in a mapping. inFlow is true if we're within a flow collection. And yeah, both of those can be true at the same time because [foo]: bar is valid YAML.

As for prefer, I have hard time imagine why would someone want to override string escalation path. And this prefer route will require pretty complex internal rules whose aren't configurable. Like deciding on escaping control characters (like \n, ' or ") or escalate to next string type.

Mostly something like prefer matters when you're modifying a user-controlled file. If you'd then prefer to keep it as close as possible to what the human wrote, you need to allow all YAML. But if you'd prefer to e.g. avoid folded block scalars for your generated nodes, or to use double-quotes rather than single quotes by default, that becomes possible. If there's just a strict allow, the user's own values are going to change.

And this also can alow configurations that cannot resolve some values (simplest example - all string types are forbiden).

Easiest fix for that is to not allow disabling the double-quoted style, as that's the only one that can represent all strings.

Sure. My first idea for this was something like visit(node: Node, visitor: (node: Node, path: Node[]) => void): void, which could be called on any node or document, and it'd recursively walk through all of its contents.

I was thinking about something more akin to ts-morp traversal. Like this:
interface TraversalContext {
    path: Node[],
    skip: () => void,
    up: () => void,
    stop: () => void
}

// will traverse recursively through all nodes (scallar and collections)
// - if returns Node, current node will be overriden
// - if returns void, same node will be used (changes from visitor will be retained)
// - unless traversal control function will be called, by default, library will iterate all
//   child nodes of current node and then proceed to next sibling.
type VisitorArg = (node: Node, traversal: TraversalContext) => Node | void;

I like having some control over traversal, so the visitor will not process every single node and can exit early.

So specifically for folded block scalars? Because there's already str.fold.lineWidth for all scalar types; setting that to 0 will disable folding.

Well, my initial idea was so it would prevent using >- what so ever. Like if it is false, the library will use chain plain->quotes->block literal. If it was true, it would replicate current behavior (I think it's like plain -> quotes -> block literal -> folded block scalar). My example was a bit misleading sorry.
It was an attempt to provide the simplest possible arguments to have at least some degree of control of the stringification process.

Just to clarify, YAML has two node types: collections and scalars. Those stringify very differently, hence the initial name stringifyScalar to indicate that this option controls how all scalars are stringified. I'd say that's pretty powerful?

I thought that this function is a replacement for the visitor proposed earlier. And in this case, the user will not be able to change collection nodes by using stringifyScalar. But as per my understanding, you're talking about having both stringifyScalar and visit functions and that makes sense to me. Even if it adds some complexity.

Mostly something like prefer matters when you're modifying a user-controlled file.

What I'm trying to say, that it isn't clear nor customizable from the code what rules are applied to "escalate" to the next type in a chain. And this also can be overridden by visit, so it is two ways to accomplish the same task. So I was trying to change it to a very simple configuration and rely on deeper customization in the visit function.
That's said, I think your idea of prefer & alow can achieve quite a lot while being quite easy to understand for simple cases. It just I'd personally prefer using explicit visitor to be 100% sure about the end result rather than reading through code/documentation.

If you'd then prefer to keep it as close as possible to what the human wrote, you need to allow all YAML.

Random idea: if an application is performing workflow akin to read-edit-(re)write, the library could store state type of scalars and use them by default, but still be able to "escalate" to the next type if necessary.

Sure. My first idea for this was something like visit(node: Node, visitor: (node: Node, path: Node[]) => void): void, which could be called on any node or document, and it'd recursively walk through all of its contents.

I was thinking about something more akin to ts-morph traversal. [...]
I like having some control over traversal, so the visitor will not process every single node and can exit early.

Yeah, that makes sense. The ts-morph API is a good starting point, but I think the action triggered by returning something other than undefined needs a bit more work. Would this be too complicated/surprising?

Returning undefined does nothing.
Returning the actual node value given as input ends the visit and returns node from the visit() call.
Returning some other Node replaces this node with that value.
Returning anything else calls doc.createNode() on it, and replaces this node with the resulting value.

That would allow for a pretty compact way of both using visit() as a powerful find() as well as doing transformations on the AST. But that might be too much, and leaves it a bit too open about what should happen if/when the tree contains non-Node values. If we're iterating within e.g. a JS Object and node is a scalar, the difference between 2. and 4. could be really surprising. Also, in that case path would need to be an Array<string | Node>.
My gut feeling is that implementing 2. would cause more problems than it's worth. And that 4. would mean that the visitor needs access to the document instance. So the signature would need to be something like one of the following:

visit(node: Node, visitor: Function, doc?: Document)
doc.visit(path: any[] | null, visitor: Function)

I thought that this function is a replacement for the visitor proposed earlier. And in this case, the user will not be able to change collection nodes by using stringifyScalar. But as per my understanding, you're talking about having both stringifyScalar and visit functions and that makes sense to me. Even if it adds some complexity.

I think we do want both. They serve different use cases, though there is overlap: the config defines the general case, while the visitor does specific actions on individual nodes.

That's said, I think your idea of prefer & allow can achieve quite a lot while being quite easy to understand for simple cases. It just I'd personally prefer using explicit visitor to be 100% sure about the end result rather than reading through code/documentation.

And that would be why having two different ways of achieving the same result would be good in this case.

If you'd then prefer to keep it as close as possible to what the human wrote, you need to allow all YAML.

Random idea: if an application is performing workflow akin to read-edit-(re)write, the library could store state type of scalars and use them by default, but still be able to "escalate" to the next type if necessary.

That already happens:
const doc = YAML.parseDocument("'foo'")
String(doc) === "'foo'\n"

doc.contents.value = 'foo\n bar'
String(doc) === '"foo\\n bar"\n'

Returning undefined does nothing.

Sure, it will not do anything extra with node. But all mutations from visit will retain.

2. Returning the actual node value given as input ends the visit and returns node from the visit() call.

I don't think we really need it in this case. The goal of this visitor is to mutate nodes tree rather than to find and return some specific node as it was in ts-morph example. I think, if visitor returns node, library should replace current node with it, and then traverse through its children (unless traversal.skip() is called). Also, this specific behavior can be achieved with only one line more:
visit: (node, traversal, doc) => {
  if (node.key == 'keyToChange') {
    // current node will be replaced and traversal ends
    traversal.stop();
    return doc.createNode('replaced value');
  }
}

4. Returning anything else calls doc.createNode() on it, and replaces this node with the resulting value.

I think if visitor API will provide a reference to doc, user can easily call it himself. Personally, I think, it isn't necessary, but won't hurt if you think it makes the user's life easier. It's just I'm a bit concerned about it being rather implicit.

So the signature would need to be something like one of the following:

Yep, adding visit to document itself is good idea. That will allow to easily switch multiple descending visitors. I would suggest supporting following usage:
visit: (node, traversal, doc) => {
  if (node.key == 'KeyToChange') {
    doc.visit(node, nestedVisitor);
    traversal.stop();
  }
  // traversal.stop() isn't called, continue traversalf through nodes
}

So what do you think about this signature?
// definition for Document.visit function
interface DocumentVisitFn {
    // resolving root for visiting by path or node reference
   (path: (string | number)[] | Node, visitor: VisitorFn) => Document;

    // traverse starting from document root node
   (visitor: VisitorFn) => Document;
}

Random idea: if an application is performing workflow akin to read-edit-(re)write, the library could store state type of scalars and use them by default, but still be able to "escalate" to the next type if necessary.

That already happens:...

Nice! Good job!


Problem with grpc instrumentation in v0.41.2

What happened?
Steps to Reproduce

Clone https://github.com/mydea/sentry-javascript-7538-reproduction/tree/fn/repro-grpc
Run npm install
Run npm run start
Go to http://localhost:8085/
See logs that requests are not logged

If you comment the line:
// const grpcInstrumentation = new GrpcInstrumentation();

And then run npm run start, you'll see the log @opentelemetry/instrumentation-http http instrumentation incomingRequest
Expected Result
Should work with grpc instrumentation
Actual Result
Does not work with grpc instrumentation
Additional Details
I've done some digging, and it seems to me to work if I move this (from built output, but you get the idea):
class GrpcInstrumentation {
    constructor(config) {
        this.instrumentationName = '@opentelemetry/instrumentation-grpc';
        this.instrumentationVersion = version_1.VERSION;
        // --> THIS LINE BELOW
        this._grpcJsInstrumentation = new grpc_js_1.GrpcJsInstrumentation(this.instrumentationName, this.instrumentationVersion, config);
    }

into init:
 constructor(config) {
        this.instrumentationName = '@opentelemetry/instrumentation-grpc';
        this.instrumentationVersion = version_1.VERSION;
    }

    init() {
        this._grpcJsInstrumentation = new grpc_js_1.GrpcJsInstrumentation(this.instrumentationName, this.instrumentationVersion, config);
    }

Not sure if that has other implications, though...
OpenTelemetry Setup Code
const { GrpcInstrumentation } = require("@opentelemetry/instrumentation-grpc");

const grpcInstrumentation = new GrpcInstrumentation();

package.json
{
  "name": "sentry-repro",
  "main": "app.js",
  "scripts": {
    "start": "node --require ./tracing.js app.js"
  },
  "dependencies": {
    "@opentelemetry/api": "1.4.1",
    "@opentelemetry/core": "1.15.2",
    "@opentelemetry/exporter-trace-otlp-grpc": "0.41.2",
    "@opentelemetry/instrumentation-express": "0.33.0",
    "@opentelemetry/instrumentation-grpc": "0.41.2",
    "@opentelemetry/instrumentation-http": "0.41.2",
    "@opentelemetry/sdk-node": "0.41.2",
    "@opentelemetry/semantic-conventions": "1.15.2",
    "@sentry/node": "7.62.0",
    "@sentry/opentelemetry-node": "7.62.0",
    "@sentry/profiling-node": "1.1.2",
    "express": "^4.18.2"
  }
}

Relevant log output
Expected:
@opentelemetry/instrumentation-http http instrumentation incomingRequest
Triggered route
@opentelemetry/instrumentation-http http instrumentation incomingRequest
Triggered route

Actual:
Triggered route
Triggered route

Hi @mydea, thanks for opening this issue:
Would you mind trying to instantiate the GrpcInstrumentation after the HttpInstrumentation? It may be that http has already been loaded by @grpc/grpc-js when the instrumentation was instantiated and therefore wasn't wrapped correctly.
Moving it to init() would then work as it defers that to the next tick: that's when the HttpInstrumentation has already wrapped the http module. :thinking:

OK, I see the problem now I think, it happens if you instantiate the GRPC instrumentation before you setup Otel. This works:
const sdk = new opentelemetry.NodeSDK({
  traceExporter: new OTLPTraceExporter(),
  //traceExporter: new ConsoleSpanExporter(),
  instrumentations: [
    new GrpcInstrumentation(),
    new HttpInstrumentation(),
    new ExpressInstrumentation(),
  ],

This doesn't:
const grpc = new GrpcInstrumentation();

const sdk = new opentelemetry.NodeSDK({
  traceExporter: new OTLPTraceExporter(),
  //traceExporter: new ConsoleSpanExporter(),
  instrumentations: [
    grpc,
    new HttpInstrumentation(),
    new ExpressInstrumentation(),
  ],

I wonder, is there a reason why the initialization happens in the constructor, not in init? Most instrumentations I've seen seem to do stuff rather in init?

Most likely it is just a historical thing. The gRPC instrumentation actually predates the init function and at the time the constructor was the only option.

Is this resolved?

Any update here? Facing the same issue, http instrumentation seems to be working, but not able to see any grpc data.
Code for ref :
`import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
const instrumentations = getNodeAutoInstrumentations();
import { NodeSDK } from '@opentelemetry/sdk-node';
import { Resource } from '@opentelemetry/resources';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
const ddAgentHost = process.env.DD_AGENT_HOST;
const ddAgentTraceReceiverPort = process.env.DATADOG_AGENT_TRACE_RECEIVER_PORT_GRPC;
const serviceName = process.env.DD_SERVICE;
const opentelemetryTracer = async () => {
try {
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
const sdk = new NodeSDK({
resource: new Resource({
serviceName: serviceName,
}),
traceExporter: new OTLPTraceExporter({
url: http://localhost:4317,
}),
instrumentations: instrumentations
});
sdk.start();
console.log('Tracing started successfully');

process.on('SIGTERM', async () => {
  try {
    await sdk.shutdown();
    console.log('Tracing terminated');
  } catch (error) {
    console.error('Error terminating tracing:', error);
  } finally {
    process.exit(0);
  }
});

} catch (error) {
console.error('Error starting OpenTelemetry SDK:', error);
process.exit(1);
}
};
export default opentelemetryTracer;`

@priyanshu-gautam I think the bug you're describing is actually https://github.com/open-telemetry/opentelemetry-js/issues/4151, where the gRPC exporter requires @grpc/gprc-js before the instrumentation is loaded - but IIUC that's different to what @mydea  is describing.
I was planning for the work on the exporter rewrite to be on track sooner which also aims to fix that bug, but it looks like it'll take a while until the rewrite is a viable solution.
I'll pick up work on #4151 ASAP as we've had a lot of people that are in the same boat with this issue and I don't think we should wait. With a manual setup, there was actually a workaround of changing the import order and enabling instrumentations early, but when using NodeSDK there is no way to do that as instrumentations are enabled by NodeSDK itself, which also needs the exporter added in the constructor.

I think this was fixed, so closing this! thank you 🙏


add aidl parcelables into aar

Closes #15

I approved before seeing there was a new commit 😄  I guess you're still working on this.
I spent quite some time earlier to investigate why we need a special combination of API and RUNTIME, but I could not figure it out. In my understanding when you set the usage attribute in artifactsOf(), you kind of override the usage attribute given to the configuration. I'll check with your changes

I dont have any other idea, so i have just added api configuration for special cases when we need include aidl parcelables from project dependencies in fat aat

@natario1 what do you think about this solution?

I'll take a look tomorrow!


Continuous query is not running

I'm trying to create a CQ which runs on the following measurement:
name: raw
time                 change price price_2 symbol volume
----                 ------ ----- ------- ------ ------
2019-05-10T10:00:00Z 3      1     1       ABCD   2000
2019-05-10T10:00:00Z 4      4141  4141    QWER   13000
2019-05-10T10:00:00Z 2      41    41      QWER   2000
2019-05-10T10:00:00Z 4      4     4       ABCD   13000
2019-05-10T10:00:00Z 1      223   223     QWER   450
2019-05-10T10:00:00Z 1      22    22      ABCD   450
2019-05-10T10:00:00Z 3      141   141     QWER   2000

and downsample it into this one:
name: main
time                 close high  low   open  symbol symbol_code  volume
----                 ----- ----  ---   ----  ------ -----------  ------
2016-05-10T00:00:00Z 15.46 16    15.31 15.7  AALR   EGS01081C016 6764.0
2016-05-10T00:00:00Z 36.21 37.02 34    34.25 NINH   EGS72011C017 7743.0
2016-05-10T00:00:00Z 8.98  8.98  8.98  8.98  NIPH   EGS38331C012 282210.0
2016-05-10T00:00:00Z 2.53  2.59  2.5   2.58  ELSH   EGS65091C018 134436.0
2016-05-10T00:00:00Z 8.73  8.91  8.65  8.91  NRPD   EGS65511C015 11512.0

This is the CQ I wrote:
CREATE CONTINUOUS QUERY "trade_agg" ON stocks
BEGIN
SELECT first(price) as open, last(price) as close, max(price) as high, min(price) as low, sum(volume) as volume
into main
from raw group by symbol, time(5m) fill(previous)
END

When I run the SELECT statement from the CQ manually, I see the expected results, however when I check main after 5m I don't see anything new. I also checked the cq measurement in _internal and saw this:
name: cq
time                 hostname     queryFail queryOk
----                 --------     --------- -------
2019-05-10T11:46:10Z 0366546d4f04 0         0
2019-05-10T11:46:20Z 0366546d4f04 0         0
2019-05-10T11:46:30Z 0366546d4f04 0         0

Why is this happening?
Influx: InfluxDB v1.7.6 (git: 1.7 01c8dd416270f424ab0c40f9291e269ac6921964)
System info: Linux 4.15.0-47-generic x86_64

I figured this out. Turns out the data types were different and therefore the insertion didn't work.


chore: vertx-cloud-events to 1.0.15

chore: Promote vertx-cloud-events to version 1.0.15

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


End of tour (periodic) assessment of principal

Provide capability to assess principals on a recurring basis.
Person and Position should be referenced, also possibly a number of engagement reports.

To be addressed in #50 1347

@VassilIordanov Can this issue be closed now partner assessments are to be migrated to periodic assessments?

@VassilIordanov Can this issue be closed now partner assessments are to be migrated to periodic assessments?


fix typo

Hi Sean,
Sorry, a typo slipped into the last PR. This cleans it up.

No problem -- thanks!


TechReborn Rubber trees spawn in the Aether

Don't know if this is an issue with Aether Reborn or TechReborn, but since Aether Reborn is a WIP I figured I'd put this here anyways.

I'm sure it's a problem with TechReborn. We could prevent it probably somehow, but they are the ones who should fix it.

Should determine if this is still a problem

Was this really a problem to begin with? Rubber being available in the aether is not game breaking and arguably not immersion breaking, and it does contribute to the objective of allowing Aether-only runs.

Can this be closed?

In seven business days


GumGum: adds new params to gumgum doc

Adds zone, pubId, slot, and native params to the gumgum doc
related prebid.js ticket - https://github.com/prebid/Prebid.js/pull/5728

part of 4.9


Anchor dialog in RTE doesn't work

An undefined in the JavaScript causes the dialog for the anchor toolbar item to fail. Submitting PR....

PR #81


Getting weird Windows-only failures on 0.6.0

So I'm getting this failure that has something to do with vt100 but only on Windows: https://travis-ci.com/svenstaro/mt940-rs/jobs/179388389
I don't really understand it but it keeps me from upgrading for now. Maybe you can take a look?

I'm having the same problem: https://travis-ci.org/orium/rpds/jobs/496248771#L187

Thanks for the bug report.
We introduced vt100 dependency with PR #28. It's source code is super simple. The panic occurs in this line:
https://github.com/Phundrak/output-vt100-rs/blob/master/src/lib.rs#L36
thread '<unnamed>' panicked at 'assertion failed: `(left != right)`
  left: `0`,
 right: `0`', C:\Users\travis\.cargo\registry\src\github.com-1ecc6299db9ec823\output_vt100-0.1.1\src\lib.rs:36:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

@Phundrak can you have a look at this?
Would it be feasible to make your library more failsafe (not panicking)? E.g. by delegation of error handling try_init() -> Result<_,_> or something similar.
Otherwise I'd make this opt-in only for the time being.
cc @nbouteme

I think the issue is that CI systems typically redirect the executable output through a pipe and the system calls expect stdout to be a console. This also occured on AppVeyor.
Anyways as suggested, I'll add a try_init that doesn't panic.

It's done. Unfortunately I can't publish the new output_vt100 version to crates.io, as @Phundrak has yet to add me as an owner, and he hasn't been responding to my messages lately.

fix is out with v0.6.1
thx @nbouteme for your quick support :-)

Working fine, thanks guys!


Fixed Legislature Tracker

I fixed the Code For Fort Lauderdale Legislature Tracker, the same the Miami one is built on.  If you wish to use it, make sure that the Google Sheets API are https requests as API's on most current sites now require it (probably result in an error otherwise).

Thanks Mike! I'll look into the conflicts and get this merged.


Use supported_platforms()

@quinnj This is what I was talking about in Slack. As you can see in the Travis log, BinaryBuilder successfully build MbedTLS for all of the platforms for which it knows how to build. This means that folks on other platforms such as FreeBSD and Alpine Linux don't need to fall back to a source build.


Whole run coverage tsv

Minor Software Update
Description
Added a download run coverage button inside the run page which creates a tsv containing sample id, gene and 270x % for all samples on that run
Resolves: https://github.com/AWGL/somatic_db/issues/110

Testing
Description :
Tests ran all okay, tested on a build 38 run

Checklist
< Place an X in the appropriate boxes, if not applicable state N/A >

[ ] Is the test data easily accesible?
[ ] Has the pipeline/software been run end to end by the tester?
[ ] Has the pipeline/software been code reviewed on github?
[ ] Has the pipeline/software version number been incremented?
[ ] Are all relevant doccuments updated e.g. SOP, ReadME, Pull request

Additional checklist for pipeline updates (if applicable)

[ ] Is the sensitivity or other key performance metrics unaffected by the changes?
[ ] If the environment changes has this been deployed and tested in place?
[ ] Has the pipeline version in the variables file been updated e.g. development > master

Name:
Date:

Changes all work, happy to merge


Simplify redundant operations

Hello, I found that the implementation here is a bit redundant.
could you please confirm if my understanding is accurate? I'm looking forward to your feedback.
@atomicals

If I'm missing something, please let me know. Otherwise feel free to close the PR

If it is to preserve a complete history, then there is no problem
But I have another question, why utxo does not need to save complete records？Here, the cache is deleted directly. Then the history of utxo will not be complete, right?

If I'm missing something, please let me know. Otherwise feel free to close the PR

If it is to save a complete history, then there is no problem But I have another question, why utxo does not need to save complete records？Here, the cache is deleted directly. Then the history of utxo will not be complete, right? @atomicals

That is the existing logic of the indexer, the method which calls spend_utxo adds to history


[infoq] Add support for InfoQ Chinese-localized version

Description
Hi, your current InfoQ extractor does not support InfoQ China.
Chinese-localized InfoQ differs from its brothers, say Fr, Jp and Br, and in fact youtube-dl works like a charm for all InfoQ sites except the Chinese one, which still uses FLV videos.
I inspected the HTML source and found some interesting Javascript. But since I can't debug Javascript, I can't analyze them, and thus unable to update your extractor. Hope you can :).
Output
./youtube_dl/__main__.py http://www.infoq.com/cn/presentations/openstack-continued-delivery --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['http://www.infoq.com/cn/presentations/openstack-continued-delivery', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.11.19
[debug] Git HEAD: 67446fd
[debug] Python version 3.5.0 - Linux-4.2.5-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 2.8.2, ffprobe 2.8.2, rtmpdump 2.4
[debug] Proxy map: {}
[InfoQ] openstack-continued-delivery: Downloading webpage
ERROR: Unable to extract encoded id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/home/novicelive/refsrc/youtube-dl.git/youtube_dl/YoutubeDL.py", line 661, in extract_info
    ie_result = ie.extract(url)
  File "/home/novicelive/refsrc/youtube-dl.git/youtube_dl/extractor/common.py", line 290, in extract
    return self._real_extract(url)
  File "/home/novicelive/refsrc/youtube-dl.git/youtube_dl/extractor/infoq.py", line 41, in _real_extract
    r"jsclassref\s*=\s*'([^']*)'", webpage, 'encoded id')
  File "/home/novicelive/refsrc/youtube-dl.git/youtube_dl/extractor/common.py", line 584, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract encoded id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Chinese version InfoQ will be supported in the next version. Thanks for the report.


A request of wimproved.dll release

In Installation, you said:

If you have cmake and Visual Studio installed run the following:
cmake -G "NMake Makefiles" . && nmake

However, There is no such environment in my Windows.
I am not the only one probably.
So, I wish that you could release wimproved.dll regularly.

I'd also prefer to have a precompiled dll distributed along with this plugin as not everybody can install the whole environment or has access to the needed tools (e.g. company environment etc.)


add Spin a Wheel game

#243 issue is fixed.
I have added a spin a wheel folder in the game folder containing all html , css and js files.

this issue had been assigned to me.


Sleuth breaks the span continuity by generating multiple spans for for same request

Sample Repo: https://github.com/nnanda2016/springboot-sleuth-couchbase-issue
Spring Boot version: 2.0.5.RELEASE
Spring cloud release train: Finchley.SR2
For the lifecyle of a single request, sleuth is generating multiple spans (different traceId/spanId pairs). The README.MD file shows how to replicate the issue. This breaks the transaction traceability which is why we need Sleuth.
Additional issue that I noticed.
Check the logs below. The first line and last line are printed from HttpGatewayTracingFilter class. And the MDC values traceId and spanId are lost when a thread switch happened. Initially when request entered my application boundary, same filter executed on reactor-http-nio-3 thread which has these MDC values intact. It successfully transferred those MDC values to app-worker-0 which I use internally. Then, after the app is done with its processing, it handed over the work to reactor-http-nio-3 which produces response. During this handover, the MDC values are lost. The RealSpan is still intact, but MDC values are not.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Multiple FocuseNodes in the form

i filled text in first textfield and then after i tap on second but there are focus node on both text field too much confusion for the user

Hello
Please share the code you have written here so we can review it and debug the issue.


checkbox  onChecked

I have a problem with processing this situation:
I have to reject the checked action if there is already anther checked checkbox.So i add a handler to the onChecked  property. Check if the checked checkbox number greater than one.If so,rejected and set unchecked.
Problem is the checked action no need to fire at all.But there is no other onBeforeChecked behavior to use. I thinks this is very common issue.The onBeforeChecked  behavior is required...
Besides, why the this keyword in the onChecked refer to the input element not the checkbox itself?

Checkbox this context can't be changed without breaking any live code using SUI. It perhaps could have been squeezed in with 2.0 but I didn't want to cause huge headaches for people.
I can see the idea but I'm not sure if its adding necessary complexity to checkbox. Removing checked on checked has very little difference than preventing checked before the property changes.

Thanks for the reply @jlukic.
I see your points. But calling set unchecked from onChecked is not an elegant way to approach that situation, especially the checkbox show as a slider or a toggle. People can see the unexpected animation twice:checked,unchecked.
That's why i recommend onBeforeChecked :)

I guess its not much to ask.
I think the simplest way to handle this that matches the rest of the libraries conventions is to use the names beforeChecked and beforeUnchecked

@flyyang
Thanks for your patience. I've added four new callbacks for beforeChecked, beforeUnchecked etc. (see notes).
I've also added new behaviors for querying permission, should allow checked, should allow unchecked etc.


[bugfix] - color overflow in get_island_colored_map

Motivation and Context
If there are more islands than pre-set colors we should invent some new ones to avoid overflow.
Also fixes a bug with the images being reflected because PIL corrdinate system is +Y downwards with origin in the top left.
How Has This Been Tested
Locally with large disjoint navmeshes.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@aclegg3 We shouldn't pick a random color, we should try to pick colors that are maximally far away from each other in the appropiate colorspace like HSV. There is a nice algorithm to do this which is used for colormaps, but it's a bit tricky here since we have a manual colormap defined first and then we have to exhaust the remaining colors.


Add field and changelist_form to PerInstancePreferenceAdmin

Hi again! Two hopefully small changes:

I added instance to the admin form fields for per-instance preferences. I assume this is what you intended, since instance was already in raw_id_fields. I haven't put it in readonly_fields, though.

Currently if you enable the ADMIN_ENABLE_CHANGELIST_FORM option, per-instance preference pages crash with an AttributeError because PerInstancePreferenceAdmin.changelist_form isn't defined. So I added this and made it the same as PerInstancePreferenceAdmin.form, following the example of the other admin classes.

Thanks again for everything 🙂

Looks good to me, thank you for your time!
I'm gonna delay the release a bit as some other issues / prs are in the pipe, but if you need it released soon, just let me know :)

No rush! Our next release is at least a couple of weeks away and in any case this is a non-essential function for us 🙂 Thanks!

Release 1.5.1 pushed to pypi :tada:


Add I Don't Care About Commit Message

Hi @mefengl. The merge has been completed and the multilingualization of information has been finalized. We look forward to providing further information. Thank you!
https://github.com/taishi-i/awesome-ChatGPT-repositories/blob/abeccf996f998258c5e080ff9d39300a15df4b95/README.md?plain=1#L30


Adding execution permission to interop testing script

What type of PR is this?
/kind failing-test
What does this PR do / why we need it:
Added execution permission to interop testing script
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
Test acceptance criteria:

[ ] Unit Test
[ ] E2E Test

How to test changes / Special notes to the reviewer:

/retest

/test v4.11-kuttl-sequential

/test v4.11-kuttl-sequential

/test v4.11-kuttl-sequential

/retest

/retest

/test v4.11-kuttl-sequential

/lgtm
/approve

/lgtm


:ref: Change absolutive hyperlinks to semantic relative *points

Play me some mu$ic

John Wick Medley - Le Castle Vania

[x] #2

Solves this partially.
I'd brb at noon, enjoy the chat meanwhile.


Bad SHA256 for cf-cli

~ $ brew upgrade
==> Upgrading 4 outdated packages, with result:
cloudfoundry/tap/cf-cli 6.18.0, cloudfoundry/tap/cf-cli 6.18.0, imagemagick 6.9.4-1, youtube-dl 2016.05.10
==> Upgrading cloudfoundry/tap/cf-cli
==> Downloading https://cli.run.pivotal.io/stable?release=macosx64-binary&version=6.18.0&source=homebrew
Already downloaded: /Library/Caches/Homebrew/cf-cli-<IP_ADDRESS>&source=homebrew
Error: SHA256 mismatch
Expected: 9a60d7542a7cbc46b31aa82fea91b7fc06fbdbecd09e39a31ce01c44cd7065c5
Actual: 0fc455d33b990e8c463e77f6a3218e7d8df1d54a851276985318254dcfb3576f
Archive: /Library/Caches/Homebrew/cf-cli-<IP_ADDRESS>&source=homebrew
To retry an incomplete download, remove the file above.

@alex thanks for creating the issue. This should be fixed now.

Appears to be.