Enable file actions in search results viewlet

Resolves #8594

I am not so happy with all the dependencies from search => file, typically we try to keep the inter-part-dependencies to one file (a top level files.ts or search.ts) and do not reach into the more internal parts of it.
If this is about having an action to copy the path, I suggest to just contribute this one action from the search viewlet.

I documented this in https://github.com/Microsoft/vscode/wiki/Code-Organization#workbench-parts now 👍

@bpasero Thanks for the explanation, and for writing it down somewhere!
If I got it right, the problem is about
import { keybindingForAction } from 'vs/workbench/parts/files/browser/fileActions';
import { FileStat } from 'vs/workbench/parts/files/common/explorerViewModel';

In that case I'm wondering what can i do about 'keybindingForAction'.
Since there is nothing like e.g. parts/common there is no place to put, well the common stuff.
I have a look at FileStat, perhaps it can be replaced with IFileStat...
I guess you didn't really liked
menuService.createMenu(MenuId.ExplorerContext, keybindingService)

either (in vs\workbench\parts\search\browser\searchResultsView.ts)

@kisstkondoros do I understand your PR correctly that you want to contribute all file actions to the search viewlet or just the copy path action?

@bpasero IMO it totally makes sense

I do not fully agree, I would not expect file modification actions nor compare actions in search results. For the purpose of solving #8594 I would introduce just one action to copy the path into the clipboard.

I agree with @bpasero on above comment. But just showing one action might not look good. Showing Open specific actions makes sense to me.
Also, I think providing a context menu here might open up following questions:

Expected to have the same in Problems view or other views where we have similar UI ?
Expected to be consistent across views, similar context menus?
Support for externally contributed context actions? If Markdown file is part of the result, then we might need preview action?

Yes, whatever we do in search it should be contributable using the new menu extensions.

@kisstkondoros I think unfortunately you picked a time for doing this PR where we are in the middle of introducing a new concept for providing context menu actions (see https://github.com/Microsoft/vscode-docs/blob/vnext/release-notes/June_2016.md#menu-items-and-context-menu-entries). So, whatever we used to do in the workbench and editor to build the context menu is considered deprecated and old school and we intend to get those things converted to the new model.
As such, for the search viewlet we should also use the new way and I think @sandy081 and @jrieken are teaming up to get this going.
I will assign @sandy081 to be the owner of this PR as such so that he is aware of the code and the desire to have a "Copy Path" command. However, I think we should not use the "old way" for menus.

My opinion was not to have just one entry in the context menu as it does not look good.
Since context menu entries are contributable, why not providing an extension? I am not sure how many users would want to have it by default.

Interesting idea, do we have all the things in place to contribute to the search result context menu?
One issue I can see is that from an extension it might be tricky to get access to the clipboard.

Btw I think we can have more entries in the context menu. Candidates are:

Open to the Side
Reveal in Finder / Explorer
Copy Path

No Search results context menu is not yet ready for contributable. This has to be kept in mind while implementing context menu for files in Search.
How about providing Search / Replace specific action also in the context menu, like, Remove, Replace, Replace all? Probably they are duplicates of the actions on the right but just a thought?

Yes we typically do not repeat the actions that are showing as primary actions on the element within the context menu (which only has secondary actions). But if there are search/replace specific actions not showing up as primary, we can add them too.


VPINMAME Flags not reloaded on SCAN

When  we get a warning ALT sound or ALT color not enabled, launching the table, F1 then setting up Alt Color and Alt Sound properly, VPS still complains they are not enabled.
VPINMAME flags should be reloaded when we do a SCAN for the table. I have to manually add these flags in the VPin Mame tab to remove the warning.

Right, these values are cached and this cached is not resetted on res-scan.
Will be fixed.

Fixed.
Will be part of version 2.9.0.


Fixes client sequencing bug

This PR fixes a bug in the client sequencing logic. For this bug to manifest responses need to arrive out of order and each response should have a different event index and the later arriving response should have a higher event index
Here is an example that causes this:
(starting eventIndex is 500)

Client sends request with seq 100
Client sends request with seq 101
Response arrives for request 101 with event Index 500 (gets added to queue)
Event 501 arrives (gets added to queue)
Response arrives for request 100 with event Index 501 (this completes event 501 and request 100)

Request 101 can no longer be completed because eventIndex has now advanced to 501.

Awesome! :+1:

I expect to be cutting a new Atomix release this weekend so I'll push this too since its critical.

Restarting tests...

Looks good.

Awesome! This took some time to track down. But I'm glad we found this in time.

Thanks!

Coverage remained the same at 43.364% when pulling 41ff20d46f356ee5f18f28facfc7cfae78808740 on response-sequencing into a1ca6f871b083d5ff4949945b751cfe919728bde on master.


Feature/implement mwss transformer

Merge conflicts/resolution was pair programmed so on this occasion will not wait for further review.


Lighthouse

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Lighthouse Report: - Performance: 74

Progressive Web App: 50
Accessibility: 96
Best Practices: 87
SEO: 90

Lighthouse Report: - Performance: 80

Progressive Web App: 50
Accessibility: 96
Best Practices: 87
SEO: 90

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa

Lighthouse Report:

Performance: 76
Progressive Web App: 50
Accessibility: 96
Best Practices: 87
SEO: 90

https://googlechrome.github.io/lighthouse/viewer/?gist=e2f500541454c6318fb1ee8da1807b83

Tugboat has finished building the preview for this pull request!
Links:

https://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa
http://pr1-gl4gn1obvqrpvhgvpcrab2pa7qayaulu.tugboat.qa


Reduce smoke-test time by parallel jobs

Description
This is pull-request for  issue #300
Testing
Smoke-tests run in 7 minutes in parallel :- https://github.com/shantanu-vsbhosale/javaagent/actions/runs/747204832
Checklist:

[ Y ] My changes generate no new warnings
[ Y ] I have added tests that prove my fix is effective or that my feature works
[ Y ] Any dependent changes have been merged and published in downstream modules

what is the other CI job testing?

@shantanu-vsbhosale  looks good to me.  Pls ensure total test before and after the fork are same.

@pavolloffay  other = All tests - ("glassfish", "jetty", "liberty", "tomcat", "tomee", "wildfly") tests


Installation of iterm2 fails with "ld: unknown option: -isysroot"

Issue description
Installation of iterm2 fails. The errors are
ld: unknown option: -isysroot
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld failed with exit code 1

** BUILD FAILED **

The following build commands failed:
	Ld build/Deployment/image_decoder normal x86_64
(1 failure)
make: *** [Makefile:35: Deployment] Error 65
builder for ‘/nix/store/wayzykp0ikjlkbgw6ad0sc40ydmjklg1-iterm2-3.0.14.drv’ failed with exit code 2
error: build of ‘/nix/store/wayzykp0ikjlkbgw6ad0sc40ydmjklg1-iterm2-3.0.14.drv’ failed

Steps to reproduce
nix-env -i iterm2
Technical details

system: "x86_64-darwin"
host os: Darwin 17.4.0, macOS 10.13.3
multi-user?: no
sandbox: no
version: nix-env (Nix) 1.11.16
channels(avorobiev): "nixpkgs-18.03pre129189.c2fbd472a4e"
nixpkgs: /Users/avorobiev/.nix-defexpr/channels/nixpkgs

I've looked into it and it looks like we are going to need at least 10.12 SDK for iTerm2 to compile. Tracking with #37403

I fixed this in #58517. Can you confirm that iTerm 2 now builds?

For me it fails with a different error:
CompileC build/iTerm2.build/Deployment/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.o sources/PTYWindow.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/C/org.llvm.clang/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DNS_BLOCK_ASSERTIONS=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -mmacosx-version-min=10.8 -g -Wno-sign-conversion -Wno-infinite-recursion -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -iquote /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/iTerm2Shared-generated-files.hmap -I/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/iTerm2Shared-own-target-headers.hmap -I/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/iTerm2Shared-all-target-headers.hmap -iquote /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/iTerm2Shared-project-headers.hmap -I/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/Deployment/include -I/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/DerivedSources/x86_64 -I/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/DerivedSources -Wall -F/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/Deployment -F/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source -F/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/ColorPicker -F/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/ThirdParty -include /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/SharedPrecompiledHeaders/iTerm2-cauyqklpsqkfbgaxhoswxydlxwbf/iTerm2.pch -MMD -MT dependencies -MF /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.d --serialize-diagnostics /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.dia -c /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow.m -o /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/build/iTerm2.build/Deployment/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.o
/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow.m:114:18: error: '_delegate' is unavailable
        return ![_delegate anyFullScreen];
                 ^
In module 'AppKit' imported from /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:196:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate;
                         ^
/var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow.m:121:10: error: '_delegate' is unavailable
    if ([_delegate anyFullScreen]) {
         ^
In module 'AppKit' imported from /var/folders/wm/2rdmshp12cd574j22psq7lm00000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:196:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate;
                         ^
2 errors generated.

I get similar error
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:33:58: error: '_delegate' is unavailable
    [[iTermController sharedInstance] setCurrentTerminal:_delegate];
                                                         ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:48:58: error: '_delegate' is unavailable
                                              inTerminal:_delegate
                                                         ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:55:13: error: '_delegate' is unavailable
    return [_delegate tabForSession:session];
            ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:71:58: error: '_delegate' is unavailable
                                              inTerminal:_delegate
                                                         ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:78:13: error: '_delegate' is unavailable
    return [_delegate tabForSession:session];
            ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:84:13: error: '_delegate' is unavailable
    return [_delegate tabs];
            ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:98:14: error: '_delegate' is unavailable
    return [[_delegate tabs] count];
             ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:102:13: error: '_delegate' is unavailable
    return [_delegate tabs][anIndex];
            ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:106:6: error: '_delegate' is unavailable
    [_delegate insertInTabs:replacementTab atIndex:anIndex];
     ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:107:6: error: '_delegate' is unavailable
    [_delegate closeTab:[_delegate tabs][anIndex + 1]];
     ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:107:26: error: '_delegate' is unavailable
    [_delegate closeTab:[_delegate tabs][anIndex + 1]];
                         ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:111:6: error: '_delegate' is unavailable
    [_delegate insertTab:tab atIndex:anIndex];
     ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:115:22: error: '_delegate' is unavailable
    NSArray *tabs = [_delegate tabs];
                     ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:116:6: error: '_delegate' is unavailable
    [_delegate closeTab:tabs[anIndex]];
     ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:121:13: error: '_delegate' is unavailable
    return [_delegate currentTab];
            ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
/var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/PTYWindow+Scripting.m:125:13: error: '_delegate' is unavailable
    return [_delegate currentSession];
            ^
In module 'AppKit' imported from /var/folders/9k/hr12t49132lgnpzq88w_h6740000gn/T/nix-build-iterm2-3.0.14.drv-0/source/sources/ProfileTableView.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:189:26: note: declaration uses __weak, but ARC is disabled
    __weak id            _delegate APPKIT_IVAR;
                         ^
16 errors generated.

iterm2 build is still broken. I've tried with latest 3.3.11beta1.

I think may have been fixed with  #58517?

Still broken (iterm2-3.3.9):
/var/folders/wf/qxrs82v946n91pb5s71n3dy80000gp/T/nix-build-iterm2-3.3.9.drv-0/source/sources/DVRDecoder.m:235:34: error: expected ';' after top level declarator
static BOOL NS_WARN_UNUSED_RESULT SafeIncr(int summand, int addend, int *sum) {
                                 ^
                                 ;
...
/var/folders/wf/qxrs82v946n91pb5s71n3dy80000gp/T/nix-build-iterm2-3.3.9.drv-0/source/sources/DVRDecoder.m:313:1: error: missing '@end'
^
...
1 warning and 2 errors generated.
...

** BUILD FAILED **

Works with 3.4.22 (test on both x86-64-darwin and aarch64-darwin). Mark as fixed?

Fixed with https://github.com/NixOS/nixpkgs/pull/160417


Upgrade Mobile App project(s) to VS 2017

I've not personally done much with this part of the project but understand from @marigerr that this project is not working on VS 2017 yet.
As part of the planning for v1.6 the mobile app will be a focus in that milestone so we should get this upgraded ready for working on it in that milestone.
@tonysurma @EmilyLuijbregts - cc. for your info. I've put this in v1.0 for now so it's not blocking when we reach v1.6

@stevejgordon Is anyone assigned to this? I might be interested in it.

Hi @SteveKennedy - Feel free to tackle this one. Thanks!

These are just my random notes I made during this task/issue, in case they're helpful to anyone in future:

It appears that the AllReadyWebOnly.sln has been upgraded to Visual Studio Community 2017 (Ver.15.0.26228.12).  It does not appear to contain the mobile project.

The AllReadyApp.sln is still Visual Studio 2015 Update 3 (Ver.14.0.25420.1).  It has the mobile app project, but most of the projects in the solution fail to load because of bad references to .xproj files. I'm assuming the AllReadyApp.sln is out-dated and needs sunsetted.

The mobile project looks a little neglected. The last commit to the Mobile-App folder was Feb 24 (Latest commit 2f89fd3  on Feb 24).  The main .jsproj file was last modified over a year ago.  When loading & running the mobile app project, I get numerous JS console errors, some of which lead me to believe they contact a localhost version of an API - which might indicate coupling of web project controllers and the mobile app.

I will try to make notes of features/functions built in the mobile app, so that I can ensure they work as they did before the Visual Studio 2015 update.

a. Check-In = has ONLY bar code scanner
b. Event = shows up coming events in a list. Click on it, and it shows details.  But doesn't persist?
d. Login = which does seem to verify auth, but not much more than that. No special difference.
e. Cache-Manager.service = seems to be for offline mode availability, but if so, dicey cause lazy.

Since the primary web application and associated projects load in AllReadyWebOnly.sln, I'm going to attempt to create a new solution (AllReadyMobileAppOnly.sln) that hosts only the mobile application.  I plan to do the bare minimum needed to update the main solution and associated projects, enough for the solution:

a. To build cleanly out-of-the-box.
b. To pass any existing tests (if any)
c. To successfully flow through any existing automated builds, CI/CD, etc. process.
d. Adjust .gitIgnore for any new(er) machine-specific or user-specific file types associated with update.

I have VS 2017 Enterprise, but will download Visual Studio Community 2017 Version 15.2 to ensure availability & compatibility for future developers.

We need to update any documentation, to inform future developers that the Mobile Application relies heavily on the Controller methods in the web project. Which means, the developer will also need to be running the web project. This ensures clarity, that the sole authoritative source for the Controller/API is via the web only project.

Long term, I think it might be good to upgrade this project to use IONIC 3/ANGULAR 4/Typescript.

@stevejgordon Please close this one. It was completed as part of Pull Request #2028

Thanks @SteveKennedy


No ability to increment / update a value on the same object multiple times

I believe that the following isn't currently possible, but I might also miss something from the API / documentation.
I'm trying to run multiple triggers in a single transaction, where each trigger updates/increments the same value multiple times. A typical use case of this would be accounting: we have an account with a balance and create multiple transactions, each with an amount.
Each transaction should update the account's balance accordingly such that the final balance is the sum of the original balance and the transaction amounts.
When this is done asynchronously, or in parallel, the balance isn't updated correctly since all trigger use the account state as at the start of the transaction.
I have logic as such:
// In create_transaction_action.ts
getTriggers(): CreateTransactionActionTriggers {
  return [{
    async changeset(builder, input) {
      const { amount } = input;

      const account = await Account.loadX(builder.viewer, input.accountID);

      return UpdateAccountBalanceAction.create(builder.viewer, account, {
        amount,
        sign,
      }).changeset();
    },
  }];
}

// In update_account_balance_action.ts
getTriggers(): UpdateAccountBalanceActionTriggers {
  return [{
    async changeset(builder, input) {
      builder.updateInput({
        balance: builder.existingEnt.balance + input.amount,
      });
    },
  }];
}

Example usage:
const account = await Account.loadX(vc, accountID);
console.log("Balance before:", account.balance); // e.g. 100

const transactions: Array<Promise<Transaction>> = [];

transactions.push(CreateTransactionAction.create(vc, {accountID, amount: 30}).saveX());
transactions.push(CreateTransactionAction.create(vc, {accountID, amount: 50}).saveX());

// Create Transaction asynchronously - this is important.
await Promise.all(transactions);

// Reload the account
const account = await Account.loadX(vc, accountID);
console.log("Balance before:", account.balance); // e.g. 130 - should be 180

It seems that the account object isn't reloaded from the DB in between the CreateTransactionAction calls (and downstream triggers). I've also tried the use BaseAction.bulkAction(), and using Observers instead of Triggers, but it had the same effect.

I think you're right that this isn't possible. Will think about it and see if there's a good way to support this

fixed in latest


[Bug] Error reconciling Replication: error in 'Connect replicas to new primary' switchover reconcile phase: error configuring replica vars in replica '2': error stopping slaves: invalid connection

Documentation

[ ] I acknowledge that I have read the relevant documentation.

Describe the bug
I have semi-sync replication DB with 3 replicas (without MaxScale).
After killing Primary pod I stuck with:
Error reconciling Replication: error in 'Connect replicas to new primary' switchover reconcile phase: error configuring replica vars in replica '2': error stopping slaves: invalid connection
Operator had problem with connection to one replica during switchover and didn't retry.
I was not able or I don't know how force operator to try one more time, nothing helped.
During configuration change got this:
error: mariadbs.k8s.mariadb.com "mariadb-replication" could not be patched: admission webhook "vmariadb.kb.io" denied the request: spec.replication.primary.podIndex: Invalid value: 2: 'spec.replication.primary.podIndex' cannot be updated during a primary switchover
{"level":"error","ts":1731415167.6791687,"msg":"Reconciler error","controller":"mariadb","controllerGroup":"k8s.mariadb.com","controllerKind":"MariaDB","MariaDB":{"name":"mariadb-replication","namespace":"test"},"namespace":"test","name":"mariadb-replication","reconcileID":"e5f73375-48eb-44d6-ac15-79389d408f7b","error":"error reconciling Replication: 1 error occurred:\n\t* error configuring replication in Pod 'mariadb-replication-0': error getting current primary client: error getting current primary client: error creating replica '0' client: dial tcp <IP_ADDRESS>:3306: connect: connection refused\n\n","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.1/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.1/pkg/internal/controller/controller.go:263\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.1/pkg/internal/controller/controller.go:224"}

{"level":"error","ts":1731415181.047623,"msg":"Reconciler error","controller":"mariadb","controllerGroup":"k8s.mariadb.com","controllerKind":"MariaDB","MariaDB":{"name":"mariadb-replication","namespace":"test"},"namespace":"test","name":"mariadb-replication","reconcileID":"1f68dec6-a4c0-4134-a97e-eb92fdd1753a","error":"error reconciling Replication: 1 error occurred:\n\t* error in 'Connect replicas to new primary' switchover reconcile phase: error configuring replica vars in replica '2': error stopping slaves: invalid connection\n\n","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.1/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.1/pkg/internal/controller/controller.go:263\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.19.1/pkg/internal/controller/controller.go:224"}

I was only able set mariadb to suspend: true - but after switching back to false nothing changed and mariadb was still in suspend mode.
mariadb-operator: 0.36.0
Expected behaviour
Operator will retry or any option to trigger retry
After setting suspend back to false, operator should sync current status.

hello,
we also encounter the same problem

I have the same issue. MariaDB was suspended, but now setting suspend:false or removing the statement completely, does nothing. It stays in state suspended...


Modify json change notifications to send to user slack channel

User Story
As an MP user
I want json file change notifications to go to my team slack channel
So that the message is direct and relevant to me
Value / Purpose
Currently the notifications go through to the update channel, this channel is for updates which affect all teams, not individual team updates. Updates should go to a team's slack channel if present or if not no slack notification only email.
https://github.com/ministryofjustice/modernisation-platform/blob/main/.github/workflows/new-environment.yml#L365
Useful Contacts
No response
Additional Information
We will need to add a slack-channel field to the environment json files.  (we don't need to add to all now, just to the documentation and update example, sprinkler etc so that users know how to do it.)
As a result of the Member information spike https://github.com/ministryofjustice/modernisation-platform/issues/6317 it would be ideal if we could start tagging more info in organisations so that we can query pertiinent member information from one place so can we also tag the account slack-channel in organisations.
Definition of Done

[x] Add slack-channel to environment files
[x] Tag account in organisations with slack-channel
[x] Amend workflow to send to team channel (or skip if not present)
[x] Update documentation
[x] Announce new feature in update channel

Looks good to me @sukeshreddyg nice work 👍


service update: Don't assume existing pointers in spec are valid

When updating values in the spec according to CLI flags, don't write
into the existing pointers. They may be nil. Instead, update them to
point to the new value we're writing.
Fixes #25044

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "unsafe-flag-updates" git@github.com:aaronlehmann/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "unsafe-flag-updates" git@github.com:aaronlehmann/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

LGTM

LGTM


Compiler check fails for build_visit3_1_3 with gcc 10

I was playing around trying to build visit on Fedora 33.  While there are other other issues that cause the build to fail with this OS and gcc 10.2.1 (that will hopefully be addressed by moving to qt 5.14 and vtk 9.2), the following may affect future releases.
The script checks the gcc version  and fails with "Need g++ version >= 4.8".  The culprit appears to be the function vercomp.  In lines 175 and 179 of the script, a lexicographical comparison is made for some reason.  Since in this case 10 < 4, the function produces an undesirable result.
This can be fixed by doing a numerical comparison instead, e.g. using -lt and -gt instead of < and >, or changing from a [[ ]] environment to (( )).

@JackStallion Thanks for the report. This has been fixed for our 3.1.4 release.


Create Github Actions to test/lint the application code

Need to create actions that can run go test and general linters to catch any problems.

Linting and testing has been added for the application now.


Hotspot Image: Auto-play audiofile?

Is it possible to add as an an OP for a Hotspot, an audio file that autoplays when the hotspot is clicked on?  This could either be as an alternative to the text that is displayed or in addition to it.

@JMarco27 you can do this on hotspot image connector page already (remove destination page optional property, add sound optional property instead and change type to auto-play). I agree it could be useful to add to hotspot image page too though as I don't think it's necessarily obvious that hotspot image connector page can be used without destination pages.

@JMarco27 @FayCross you can already do this on the hotspot image page too but I guess it depends if you want the player to show or not. But for accessibility it's probably a good idea to have the player showing if you're going to set autoplay on because then at least the user has the ability to stop if they want. So with the normal hotspot page just use the editor toolbar to add the audio and set it to auto play. Obviously you can include or remove the text from what appears too.

Many thanks @ronm123 and @FayCross . I tried out both your solutions and they worked well.  I'll add them to the wiki page on Working with audio.


Forum Engagement

We need a person, or a group of individuals to engage on forum channels such as slack, reddit, steemit,.. bitcointalk(albeit less).
Jacob has been doing a great job of greeting new slack users, this is an example of the type of activities they would facilitate.
More would be,

Reserving RChain profiles in forums, slacks, etc.
Learning and engaging with new DApps(being some of the first users in there slacks).
Newsjacking articles, reddit posts, steemit by commenting with well thought out positions
Posting content to forums(reddit, steemit, hacker news, lambda the ultimate, etc.)
Curating knowledge base and reference sections
Whatever else that you propose would be worth trying.

This role could roll into a "Community Manager" type position, which will become more clear once the budget gets worked out, but we would like to start getting those channels covered asap.

the assignees are kind of random for this but feel free to nominate someone for the role

We need to curate the comments a bit. There is mention in one of the channels about an ICO. It's key that we refer to this as a sale of assets or property. Anything else will get us in trouble.

Hello, friends.
Is there a list of names / handles which should be created / reserved for our current and future use? And a budget to fund the creation of these profiles if they have to be paid for.
At steemit, for example, rchain profile does not exist - yet: https://steemit.com/@rchain.
PS: yes, I volunteer for slack and bitcointalk coverage.
PS2: some guidelines for us as curators and commenters would be great :)
Have a great day, everybody.

@llerner agreed, we should get the messaging guidelines complete as fast as possible, do you have word from Ed, Evan and/or the Otto team on that?
@ervin-lemark as many handles as possible
Bitcointalk - https://bitcointalk.org/index.php?topic=1747033.new#new
Twitter - https://twitter.com/rchain_coop
Github - https://github.com/rchain
Email -<EMAIL_ADDRESS>Slack - ourchain.slack.com - slack.rchain.coop
Website - rchain.coop
Redemption Page - http://rchain.madeby8020.com/#!/
Youtube - https://www.youtube.com/channel/UCSS3jCffMiz574_q64Ukj_w
Medium - https://medium.com/@rchain_coop
Facebook - https://www.facebook.com/rchaincooperative/
Reddit - r/Rchain (unknown creator, probably synereo) we could get r/rchaincooperative r/rholang r/rchainofficial, etc
Google + -
LinkedIn - https://www.linkedin.com/company-beta/24997313/
Vimeo -
Dropbox -
steemit -
lambda-the-ultimate -
daohub.org -

also slacks lik coinfund, blockchain education network, the-etherian, etc

I’m going to track it donw.
========================
Lawrence I Lerner
o/m:<PHONE_NUMBER>
<EMAIL_ADDRESS>Blog: lawrenceilerner.com
http://www.lawrenceilerner.com/twitter: RevInnovator https://twitter.com/#!/RevInnovator
On Aug 9, 2017, at 06:17 , patrick727<EMAIL_ADDRESS>wrote:
@llerner https://github.com/llerner agreed, we should get the messaging guidelines complete as fast as possible, do you have word from Ed, Evan and/or the Otto team on that?
@ervin-lemark https://github.com/ervin-lemark as many handles as possible
Bitcointalk - https://bitcointalk.org/index.php?topic=1747033.new#new https://bitcointalk.org/index.php?topic=1747033.new#new
Twitter - https://twitter.com/rchain_coop https://twitter.com/rchain_coop
Github - https://github.com/rchain https://github.com/rchain
Email -<EMAIL_ADDRESS><EMAIL_ADDRESS>Slack - ourchain.slack.com - slack.rchain.coop
Website - rchain.coop
Redemption Page - http://rchain.madeby8020.com/#!/ http://rchain.madeby8020.com/#!/
Youtube - https://www.youtube.com/channel/UCSS3jCffMiz574_q64Ukj_w https://www.youtube.com/channel/UCSS3jCffMiz574_q64Ukj_w
Medium - https://medium.com/@rchain_coop https://medium.com/@rchain_coop
Facebook - https://www.facebook.com/rchaincooperative/ https://www.facebook.com/rchaincooperative/
Reddit - r/Rchain (unknown creator, probably synereo) we could get r/rchaincooperative r/rholang r/rchainofficial, etc
Google + -
LinkedIn - https://www.linkedin.com/company-beta/24997313/ https://www.linkedin.com/company-beta/24997313/
Vimeo -
Dropbox -
steemit -
lambda-the-ultimate -
daohub.org -
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/rchain/Members/issues/68#issuecomment-321252140, or mute the thread https://github.com/notifications/unsubscribe-auth/Ac5RIE72Ex5zi4vRvjU1NQQzlBUiXlNPks5sWbFcgaJpZM4OxZXN.

@patrick727
Great for the list of networks. We're moving forward :)
What about building the list of handles too?
Then we can correlate these two lists in a spreadsheet, check the handles that we should create and create them.
Also - passwords, private keys, urls...? We need something to keep this private and yet accessible to dedicated members.
I don't want to create 20 steemit profiles and disappear and then you will chase me for the private keys :)


Cleanup Inside Out I/O Tutorial

docs/README.md

Update with new location of crypto/README.md file

docs/workload-tutorial/README.md

Fix incorrect links to stage_2 source files
Use proper BNF notation, <>, for name, key, and count

docs/workload-tutorial/*

Merge stage 3 with stage 1 and 2 code
Remove differences between templates and stage_{1,2,3} code
Make copyright dates consistent between original and modified files

common/.../file_io_wrapper.h

Fix typo

Signed-off-by: danintel<EMAIL_ADDRESS>

The diffs are difficult to read.  I suggest viewing the rendered README.md file here:
https://github.com/danintel/avalon/tree/tutorial/docs/workload-tutorial


Set console to UTF-8 encoding on Windows

Should resolve #3799
Here's an example with my change:

Thank you very much for the patch.
I've tested the patch on cmd.exe on my Windows VM, but when I start fzf with --height option and paste 한글 to the prompt, fzf just terminates. It works fine without --height. Any idea?
https://github.com/user-attachments/assets/98913a07-eb80-482f-9e10-7ad8cf232e8d

I did all of my testing in Windows Terminal, so let me test some more. It could be because of this:

API Differences
The major known difference between legacy and current is the implementation of UTF-8. The legacy host has extremely rudimentary and often incorrect support of UTF-8 with code page 65001. The current console host contains incremental improvements release-over-release of Windows 10 to improve this support. Applications that are attempting to rely on predicting "known incorrect" interpretations of UTF-8 from the legacy console will find themselves receiving different answers as support is improved.
Other differences experienced with APIs should be reported to the microsoft/terminal GitHub repository or via the Feedback Hub for triage and possible remediation.

https://learn.microsoft.com/en-us/windows/console/legacymode#api-differences

I've finally had a chance to test this on Windows Terminal. It works, however, on Windows Terminal, I don't seem to have any problem entering non-ASCII characters even without the patch (binary built from master branch).

Sorry, I was wrong. This does fix the problem on Windows Terminal. Before the patch, I had to manually run chcp 65001 to enable non-ASCII input.

I would advice to avoid changing the code page permanently as it may lead to side effects with other tools that expect the default code page.
I think a simple solution is to query the initial code page with GetConsoleCP and restore it at the end.

Or should we just tell the users to run chcp 65001 if they want to input non-ASCII query instead of doing it for them?

It is a solution but users need to be aware of the meaning of changing chcp. Because of some issues I've had in the past, I think it is usually better to always restore the code page to whatever it was before. I even created a powershell script which only purpose is to run things with a code page change and revert it back once it is done.
# With-UTF8.ps1
# Usage
# ```powershell
# With-UTF8 { command }
# ```

[CmdletBinding()]
Param (
  [scriptblock] $block
)

try {
  # Ref: https://stackoverflow.com/questions/49476326/displaying-unicode-in-powershell
  # Save the current settings and temporarily switch to UTF-8.
  $oldOutputEncoding = $OutputEncoding;
  $oldConsoleEncoding = [Console]::OutputEncoding
  $OutputEncoding = [Console]::OutputEncoding = New-Object System.Text.Utf8Encoding

  # Execute block with utf-8 encoding
  return & $block
} finally {
  # Restore the previous settings.
  $OutputEncoding = $oldOutputEncoding;
  [Console]::OutputEncoding = $oldConsoleEncoding
}

I use this script very frequently on some custom functions that use fzf to handle the encoding of file names correctly (for display rather than for input) and I've never had an issue with fzf itself, so I'd say that changing the code page internally temporarily should be fine.


NOTIK: Implemented topic info endpoint

Implemented endpoint /api/topics/{topic}/info to get partition info for a topic

Last time I tried to mock some classes to write unit tests, but it stated taking too long and I quit.
These endpoints didn't have any tests. I think this calls for some integration tests and at some point I'll need to spend the time to write them


[docs] No search results for ${this.searchText}

The search dialog doesn't provide proper feedback when no results are returned from a search. The "No search results" feedback should appear when a search is actually performed (at least 2 characters).
Without an actual search, nothing should be displayed at all.

https://github.com/lit/lit.dev/pull/1067 fixes that issue.


Add OpenAPI documentation + SwaggerUI to the project

I propose to add the API documentation generated on the fly based on your Spring controller definitions.
It will look similar to this demo project -> https://petstore.swagger.io/
I can do this myself using springdoc-openapi-ui plugin. Please assign this issue to me.

A basic swagger implementation is already available.

Cool! I noticed the docs later, after I created this issue. Let's close it then.


feat(Monotonicity): Register subset_refl as mono

mono already knows about various subset lemmas, but doesn't know that s ⊆ s which is useful for closing leaf goals.
Zulip
discussion

bors r+

If bors says there is a merge conflict, how do I see the conflict?  Clicking on the "Merge conflict" details just takes me to a page with a list of PRs, not what conflicted.  I'm a bit surprised there's a conflict since I only changed one line in a rarely used file.


jsk_model_tools: 0.4.3-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository jsk_model_tools to 0.4.3-1:

upstream repository: https://github.com/jsk-ros-pkg/jsk_model_tools
release repository: https://github.com/tork-a/jsk_model_tools-release.git
distro file: noetic/distribution.yaml
bloom version: 0.10.7
previous version for package: null

eus_assimp

No changes

euscollada
* fix for urdfmodel 1.0.0 (melodic) (#221 <https://github.com/jsk-ros-pkg/jsk_model_tools/issues/221>)
* Contributors: Kei Okada

eusurdf
* Fix for being deprecated tag: cfmDamping -> implicitSpringDamper (#222 <https://github.com/jsk-ros-pkg/jsk_model_tools/issues/222>)
* [eusurdf] add euslisp to INSTALL_DIRS (#220 <https://github.com/jsk-ros-pkg/jsk_model_tools/issues/220>)
* Contributors: Juntaro Tamura, Kentaro Wada

jsk_model_tools

No changes

@cottsay thaks for comment, I added LICENSE file at https://github.com/jsk-ros-pkg/jsk_model_tools/pull/243, this will be included in next release.


dockerfile-from-checker: initial commit

dockerfile-checker allows to check that several
Dockerfiles use images with the same image hash

This tool would be quite helpful. Do you see use using it in the EVE build pipeline or just manual use?

Thanks!
I think it would be great to have it in the build pipeline.
For manual use I just used a combination of find and perl regexes in the past.


swarm init says I have multiple ipv4 addresses

> docker swarm init --advertise-addr eth0
Error response from daemon: interface eth0 has more than one IPv4 address

But I only have one:
eth0      Link encap:Ethernet  HWaddr 04:01:44:fe:b2:01
          inet addr:138.68.132.XXX  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: 2a03:b5c1:1:31::48b:f001/64 Scope:Global
          inet6 addr: fe80::601:55ff:fefe:b201/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:480848 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40303 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:688507487 (688.5 MB)  TX bytes:6638421 (6.6 MB)

ping @aaronlehmann PTAL

@aboch looks like you're right there; @justincormack told me it was on a standard DigitalOcean droplet. I just checked and ifconfig shows one in deed, but ip addr show eth0 shows multiple:
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 04:01:44:32:81:01 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/18 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::601:44ff:fe32:8101/64 scope link
       valid_lft forever preferred_lft forever

Ah yes you are right. Looks like DO assigns multiple ipv4s by default, I didnt realise.


[SUPPORT] Metadata table column_stats index not used for range pruning when using a CompositeKey of two columns

I'm using Hudi 0.11.1 and noticed an interesting behavior related to meta table column statistics, range pruning and kind of recordkey.
I enabled the columns stats and bloom index filter on the metadata table while writing:
"hoodie.metadata.index.column.stats.enable":"true",
"hoodie.bloom.index.use.metadata":"true",
"hoodie.metadata.index.bloom.filter.enable":"true",

If I use as recordkey a CompositeKey of columns "a,b" (2 string columns) I see on the Spark WebUi both the jobs loadColumnRangesFromMetaIndex and loadColumnRangesFromFiles being executed. This behavior is observed for every upsert operation
If I use as recordkey a single column "c" obtained from the concatenation of columns "a,b" I see on the Spark WebUi both the jobs loadColumnRangesFromMetaIndex and loadColumnRangesFromFiles being executed only for the first upsert on a partition. Then for all the next upserts on the same partition I only see the loadColumnRangesFromMetaIndex job being executed

The second observed behavior is the expected one as key ranges should only be retrieved from the metatable column_stats index and not from the files.
Is there any issue related to using as recordKey a CompositeKey of 2 columns and multi-modal index for range pruning while upserting?
By checking the code this line seems the one causing the behavior
https://github.com/apache/hudi/blob/release-0.11.1/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieBloomIndex.java#L150
it seems to me the fileInfoList returned by loadColumnRangesFromMetaIndex is always empty for the first scenario.
Here a sample code to reproduce this:
Scenario1
inputDF = spark.createDataFrame(
    [
        ("W01D000", "53.3572085", "202001150800","2020","01"),
        ("W01D001", "53.3572085", "202001150800","2020","01"),
        ("W01D002", "53.3572085", "202001150800","2020","01"),
        ("W01D003", "53.3572085", "202001150800","2020","01")
    ],
    ["device_id", "value", "timestamp","year","month"]
)

RECORD_KEY="timestamp,device_id"
PARTITION_FIELD="year,month"
PRECOMBINE_FIELD="timestamp"
COW_TABLE_LOCATION_TEST_ISSUE_TABLE="s3://MYBUCKET/datasets/test_issue_table/"
COW_TABLE_NAME="test_issue_table"
DATABASE="mydb"

hudi_options = {
    "hoodie.metadata.index.column.stats.enable":"true",
    "hoodie.bloom.index.use.metadata":"true",
    "hoodie.metadata.index.bloom.filter.enable":"true",
    "hoodie.table.name": COW_TABLE_NAME,
    "hoodie.table.type": "COPY_ON_WRITE",
    "hoodie.datasource.write.recordkey.field": RECORD_KEY,
    "hoodie.datasource.write.partitionpath.field": PARTITION_FIELD,
    "hoodie.datasource.write.hive_style_partitioning": "true",
    "hoodie.datasource.write.precombine.field": PRECOMBINE_FIELD,
    "hoodie.datasource.hive_sync.enable": "true",
    "hoodie.datasource.hive_sync.table": COW_TABLE_NAME,
    "hoodie.datasource.hive_sync.database": DATABASE,
    "hoodie.datasource.hive_sync.partition_fields": PARTITION_FIELD,
    "hoodie.datasource.hive_sync.partition_extractor_class": "org.apache.hudi.hive.MultiPartKeysValueExtractor",
    "hoodie.datasource.hive_sync.use_jdbc": "false",
    "hoodie.datasource.hive_sync.mode":"hms"
}

inputDF.write.format("org.apache.hudi").option(
    "hoodie.datasource.write.operation", "upsert"
).options(**hudi_options).mode("append").save(COW_TABLE_LOCATION_TEST_ISSUE_TABLE)

inputDF.write.format("org.apache.hudi").option(
    "hoodie.datasource.write.operation", "upsert"
).options(**hudi_options).mode("append").save(COW_TABLE_LOCATION_TEST_ISSUE_TABLE)

The second upsert looks like this on the Spark History:

As we can see there are the both jobs highlighted with Load meta index key ranges for file slices and Obtain key ranges for file slices (range pruning=on) (loadColumnRangesFromMetaIndex and loadColumnRangesFromFiles functions)
Scenario2
inputDF = spark.createDataFrame(
    [
        ("W01D000", "53.3572085", "202001150800","2020","01"),
        ("W01D001", "53.3572085", "202001150800","2020","01"),
        ("W01D002", "53.3572085", "202001150800","2020","01"),
        ("W01D003", "53.3572085", "202001150800","2020","01")
    ],
    ["device_id", "value", "timestamp","year","month"]
)

inputDFNew=inputDF.withColumn("id",concat(inputDF.timestamp,inputDF.device_id))

RECORD_KEY="id"
PARTITION_FIELD="year,month"
PRECOMBINE_FIELD="timestamp"
COW_TABLE_LOCATION_TEST_ISSUE_TABLE="s3://MYBUCKET/datasets/test_issue_table_2/"
COW_TABLE_NAME="test_issue_table_2"
DATABASE="mydb"

hudi_options = {
    "hoodie.metadata.index.column.stats.enable":"true",
    "hoodie.bloom.index.use.metadata":"true",
    "hoodie.metadata.index.bloom.filter.enable":"true",
    "hoodie.bulkinsert.shuffle.parallelism":"100",
    "hoodie.table.name": COW_TABLE_NAME,
    "hoodie.table.type": "COPY_ON_WRITE",
    "hoodie.datasource.write.recordkey.field": RECORD_KEY,
    "hoodie.datasource.write.partitionpath.field": PARTITION_FIELD,
    "hoodie.datasource.write.hive_style_partitioning": "true",
    "hoodie.datasource.write.precombine.field": PRECOMBINE_FIELD,
    "hoodie.datasource.hive_sync.enable": "true",
    "hoodie.datasource.hive_sync.table": COW_TABLE_NAME,
    "hoodie.datasource.hive_sync.database": DATABASE,
    "hoodie.datasource.hive_sync.partition_fields": PARTITION_FIELD,
    "hoodie.datasource.hive_sync.partition_extractor_class": "org.apache.hudi.hive.MultiPartKeysValueExtractor",
    "hoodie.datasource.hive_sync.use_jdbc": "false",
    "hoodie.datasource.hive_sync.mode":"hms"
}

inputDFNew.write.format("org.apache.hudi").option(
    "hoodie.datasource.write.operation", "upsert"
).options(**hudi_options).mode("append").save(COW_TABLE_LOCATION_TEST_ISSUE_TABLE)

inputDFNew.write.format("org.apache.hudi").option(
    "hoodie.datasource.write.operation", "upsert"
).options(**hudi_options).mode("append").save(COW_TABLE_LOCATION_TEST_ISSUE_TABLE)

The second upsert looks like this on the Spark History:

As we can see there are only jobs highlighted with Load meta index key ranges for file slices , no traces of jobs with Obtain key ranges for file slices (range pruning=on) (only loadColumnRangesFromMetaIndex function)

@ssandona This issue was fixed in later versions of hudi.
I am able to see this behaviour with composite key with hudi 0.11.1. But with 0.13.X version, we no longer see the file comparison and only metadata table is getting used.

Closing this issue. Please reopen in case of any concerns.


⚠ Mobitopup has degraded performance

In 9800c34, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3269 ms

Resolved: Mobitopup performance has improved in 630a526.


Fix reference to self in pyocd-flashtool

Fixes a copy and paste issue introduced in 0.13.0 with the config file support.

/morph test


Make icons in Result screen under exerciser activity intuitive for user by adding tool tips

icons on the top left hand side doesn't seem very intuitive to first time users,
PROPOSAL: There should be tooltips so that first time or anyone can easily understand that is this
@llaske  sir have a look
Screen shot below :arrow_down:

I have fixed this


Explain each button function

The action performed for each button sometimes isn't clear (specially for newcomers), My initial idea is to add a title to each button on the frontend.

@BastyZ How about a tooltip? I'd love to help out on this

A tooltip would be great! the frontend uses VuetifyJs, so this tooltip documentation should be used as guide :D

A tooltip would be great! the frontend uses VuetifyJs, so this tooltip documentation should be used as guide :D

https://github.com/BastyZ/RDFPlayground/pull/2

Hi, would you mind adding a hacktoberfest-accepted label to my pull request please..


Adds bench for account serde

Problem
We (de)serialize accounts to/from snapshots as part of epoch stakes. Is this fast? Is it slow? A benchmark would be helpful.
Summary of Changes
Add a benchmark!
Report

After running these benches on a dev box, here's what the results look like:

Here's the details page for a 1 MiB account. Note how much faster the "as-bytes" impl is vs the "as-seq" impl.

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

Project coverage is 82.0%. Comparing base (878869b) to head (602c60a).
Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1052   +/-   ##
=======================================
  Coverage    82.0%    82.0%
=======================================
  Files         860      860
  Lines      232891   232891
=======================================
+ Hits       191086   191108   +22
+ Misses      41805    41783   -22

So deserialize with serde_bytes is much faster? How about serialize timing?


Custom commend in Cycle has extra "

If you put custom command in cycle, the result is like
.....
alias custom_cycle_2_command_0 ""custom_command""    // Command 1
......
It should be "custom_command"

Thanks, will see what I can do to prevent that. It's probably bugged because I can't know what you put in the custom command, so I always use quotes there. Should be easy to fix though.

May be just add two " at the start and end of the text field to make it obvious that the quotes will be included by default and a msg not to wrap the commands in quotes.

So you added the quotes yourself? If you don't enter them this issue is nonexistent? If that's the case I'll just add another help text there.

I think so (have been making lots changes so kinda forgot). I tested adding without quotes and it works as intended. So yeah, just a help text would be fine I guess.

This has some other issue I think. All my custom commands again have double quotes at start and at end even though I didn't add them.
The cycle collection element has it right but when adding them to a button, there is extra " which translates in to extra " in autoexec.
I'll post again if I can figure out exact repro.

I think it's when you enter a command which requires quotes around it. It will always insert one pair, but if it detects that the command would need quotes it doesn't check if it already got quotes. Is that consistent with what you've tested so far?

I think I found the issue.
Take a valid json file with custom commands in cycle and import it.
Download the config. The json file inside the zip will have extra ". At least that's what happened to me a while ago.

Yeah, there is a secondary issue involved in this. The presets are never supposed to include the cycle commands in the actual cycle binding. They should only bind by ´cycle,id´. The unique part of this issue should be fixed. The secondary part can be found in #41.


Change some of the labels to title case

From SPA-1199 - was in code review with an open PR, so there must be a branch somewhere.
Cart total, shipping method in desktop/mobile, edit link in mobile
Basically always use Title Case unless we absolutely have a good reason for all caps, and even then let's think about differentiating some other way, like bold or bigger.

Marcin wrote: While working on this task I found that we have some dead code in styles. Might be worth to investigate that.
Also pls check if the design matches our vision.

Smoke test ok.


Switching subjects after loading meshes causes slice type to reset

I am loading meshes using the following function.
async function loadBundle(bundle){
  if (!nv.initialized) {
    await nv.init();
  }

  if (nv.gl) {
    let url = getBundleLink(props.dataset,props.subject,props.site,bundle)
    let color = bundle.rgba255
    let meshOptions = {url:url, rgba255: color, gl: nv.gl}
    await nv.addMeshFromUrl(meshOptions);
    return
  } else {
    console.error('WebGL context is not initialized');
  }
}

When I then load a new volume it resets the slice type to Render.
this bug can be seen here aswell.

I am unable to replicate your situation, and it looks like a lot of things are going on. If you want clear feedback, you may want to make a fork of NiiVue and edit the /src/index.html so a live demo replicates your problem. For example, the master branch live demo is invoked with:
git clone git@github.com:niivue/niivue.git
cd niivue
npm install
npm run dev

Having said this, it seems this might be the intended behavior. The sagittal, axial, coronal and MPR views require a voxel-based image to anchor them. If you load a mesh, connectome, or tractography without a voxel-based image, the rendering is the only available slice view. Therefore, it does not seem unexpected to me that loading a mesh invokes the meshes native view. Once you have loaded a voxel-based dataset, you can always choose a slice view, as illustrated by the pull down menu in this live demo.

As an aside, if you are loading both a voxel-based image and a mesh, make sure you await for the loading of the voxels to complete before awaiting the loading of the mesh. Voxels take a long time to load to the GPU, so without the await the mesh loading may not detect a voxel is loading simultaneously:
For example, with a hot-loading npm run dev I can simulate your issue if I omit the await before the loadVolumes.
  await nv1.loadVolumes([{url: "../demos/images/mni152.nii.gz"}]);
  await nv1.loadMeshes([{url: "../demos/images/BrainMesh_ICBM152.lh.mz3"}]);


RoadTrafficStringElementGenerator fails length check

The re-added RoadTrafficStringElementGenerator class cannot parse any of the road traffic records as some extra values have been added to the RoadTrafficDataField enum for the new format (2 new columns). This will cause the length check to fail.
In addition to fixing this issue, tests should be added to ensure that both generators work as expected.

Merged into develop.


feat: #887 Implement application admin management UI - manage permission UI

show admin data table when FAM application is selected

Hi Jota, the style seems not centered:

I noticed you added the sort icon to the table header, that's really good, we actually have a ticket to do that #1114. But I just wonder if you want to do it in this pr, or leave it for that ticket? Cause you might also need to adjust the styles for that icon and I'm fine to leave the sort icon work to that new ticket. thanks!!


Model popup position goes from bottom to top hiding the first model selection

Version
1.41.1731027960
Describe the bug
WHen you have a long chat which can happen when you trigger the "copy and edit context" the model dropdown moves from below the chat textarea to above it. WHen that happens on small enough screens the top LLMS can no longer be selected even when scrolling to the top
Expected behavior
All models to be visible
Additional context

@abeatrix thank you for the review and merge. Can't wait to see what you will develop for Cody next year seeing all of your work this year but until then following the cliche lines I wish you a Merry Christmas and a happy New year :)


feature: forward body

What does this PR do?
This PR adds the ability to forward the request body to the auth server when using ForwardAuth Middleware.
There is a new option for this middleware called ForwardBody. If true, the body will be forwarded.
Motivation
I want to use Traefik in combination with a gatekeeper using Open Policy Agent to make decisions. Decisions should be made based on request bodies.
This topic was discussed in Issue #6068
More

[ ] Added/updated tests
[ ] Added/updated documentation

Additional Notes
If merged I can add a PR for documentation as well.

Thank you for your contribution, as noted in the PR template, new features / capabilities should include documentation / tests. This PR will be reviewed for design once those requirements have been met.
Some concerns which should be addressed in the test include:

Performance implications of a large amount of requests w/ large content body
Validating that FA tests pass with this feature enabled

Hi,
This feature would be extremely useful for an authentication services that are required to inspect the request body. I would really like to have this feature.
Documentation could be as simple as
Set the forwardBody option to true to forward request body. This can affect performance if the request has a large body.

I think that everyone realizes that there are performance implications when forwarding body, especially if it's a large one. I personally think that it would be enough to mention this on the documentation and if someone creates an issue about poor performance, then some optimizations could be done in the future.
@notsureifkevin What kind of tests are required? Are there any previous tests that could be used as a base for this?
@jamct Can you add tests and documentation if we can agree on the text and required tests.

@Shemeikka
Thank you for your contribution to the conversation.

What kind of tests are required? Are there any previous tests that could be used as a base for this?

I suspect there are tests covering the base functionality of ForwardAuth, those would likely require some refactoring in order to support testing the existing functionality while this feature was enabled. We'd also need tests convering the specific use cases that would cover this test being used (is it working as intended).

To handle the performance problem an additional value could be added to limit the size of the passed body.
Something like: maxBodySize.

Hello @jamct,
After discussion, we have concluded that we do not want to introduce this feature as a core functionality.
Our concern is about memory consumption, as the ForwardAuth middleware would read the body for each request.
Unfortunately, I'm going to close this pull request, but it would be great if you can add this feature as a plugin.
Plugins are introduced since the v2.3RC, and we encourage you to check out the demo repo plugin where you will find how to create a plugin.
One of the advantages of the plugin system is that we can get an indication of a middleware popularity and usage, which could lead to reconsider including it as a core feature.
Nevertheless, thank you for your time and interest in Traefik!


Adding testing code for specific things to be sure it is working as intended

Going to write a test for the functions eventually, but also to see if the code compiles in various platforms. This is to make sure my code functions in the most useful places.

Eventually dropping this for now, no priority as of right now, currently testing things by hand.


belongsTo relationship returns null

I have a table called Locins (locations) which has a foreign key to another table called Rgn (regions).
So in my Locin model:
class Locin extends Model
{
    protected $table = 'Locin';

    protected $primaryKey = 'Locin_id';

    public $timestamps = false;

    public function Rgn()
    {
        return $this->belongsTo('App\Models\Rgn', 'RgnID', 'RgnID');
    }
}

and in my Rgn Model:
class Rgn extends Model
{
    protected $table = 'Rgns';

    protected $primaryKey = 'RgnID';

    public $timestamps = false;

    public function Locin()
    {
        return $this->hasOne('App\Models\Locin', 'RgnID', 'RgnID');
    }

}

When I say: $location = Locin::find($request->Locin); a location is returned successfully. (I var_dumped it).
But then when I say $location->Rgn it returns null.
Tables structure:
Locins Table: [Locin_id (primary key), RgnID (foreign key), other unrelated fields].
Rgns Table: [RgnID (primary key), other unrelated fields]
I tested the query:
\DB::connection()->enableQueryLog();
$location = Locin::find(1);

$region = $location->Rgn;

$query = \DB::getQueryLog();
$lastQuery = end($query);

dd($lastQuery);

and this is what I got:
array:3 [▼
  "query" => "select * from `Rgns` where `Rgns`.`RgnID` = ? limit 1"
  "bindings" => array:1 [▼
    0 => 0
  ]
  "time" => 3.19
]

So a ? as the RgnID :/

@lordadamson This is because you have set the third parameter wrong :)
This third parameter is a reference to the primary key on the model you are attaching from is that makes sense.
The secound parameter references to the foreign_key on the other table you are trying to the retrieve.
If you need anymore help then find me on larachat slack channel :)

Actually the third parameter was correct.
I am tired of getting stuck on silly things. Sorry and have a good day.


A few questions regarding encapsulation

Disclaimer: I am completely new to JavaScript and come from a classical OO language (C#), so that could be confusing me.
I understand that you can make a private variable like this:
var someObj = stampit().init(function() {
    var privateVar = true;
}).create();

And I can make a private method like this:
var someObj = stampit().init(function() {
    var getIt = function privateMethod() {
        return "Stamp{it}";
    }
}).create();

But how do I access a private variable or function from a "public" function? As in:
var someObj = stampit().init(function() {
    var getIt = function privateMethod() {
        return "Stamp{it}";
    }
    var hellaImportantVar = "yes!";
})
.methods({
    getTheThing: function getCoolThing() {
        return getIt(); // This part doesn't work - it isn't defined.
    }
    explode: function expolde() {
        return hellaImportantVar; // Again, this doesn't work.
    }
})
.create();

Only privileged methods have access to private variables or functions. A privileged method is a function that is assigned to this in init. For further information see What's the Point. I suggest to read Private Members in JavaScript by Douglas Crockford to get a better understanding.

But then I'm forced to write behaviour methods in what is supposed to be analougous to a 'constructor', if I'm correct.

@eshansingh
var someObj = stampit().init(function() {
    var privateVar = true;
}).create();

This variable is private, but it is also completely isolated. Once the init function is called, it will be lost.
var someObj = stampit().init(function() {
    var getIt = function privateMethod() {
        return "Stamp{it}";
    }
}).create();

Same goes for this function. It is lost because its reference is not assigned to anything other then a scoped variable inside the init function.
To create a private variable accessible to a method do something similar to the following:
const a = stampit().init(function() {
  const priv = 'a';
  this.getA = () => { // method is assigned to the instance of this stamp
    return priv; // now variable is part of the closure of this method
  };
});

You can extend this example to include private methods:
const a = stampit().init(function() {
  let count = 0;
  function resetCount() {
    count = 0;
  }
  this.incCount = () => {
    count = count + 1;
    if (count > 10) {
      resetCount();
    }
    return count;
  };
});

If you're feeling fancy, you can use ES2015 Symbols to create private variables:
var count = Symbol('count');
var a = stampit({
  init: function() {
    this[count] = 0;
  },
  methods: {
    incCount: function() {
      this[count] = this[count] + 1;
    },
    printCount: function() {
      console.log(this[count]);
    }
  }
});

or ES2015 WeakMaps:
var count = new WeakMap();
var a = stampit({
  init: function() {
    count.set(this, 0);
  },
  methods: {
    incCount: function() {
      count.set(this, count.get(this) + 1);
    },
    printCount: function() {
      console.log(count.get(this));
    }
  }
});

Here is a JSBin
Showing both of this methods in action. I wrap them in IIFE's there so that the variable holding the count symbol/map is inaccessible but you could do without if you use CJS/ES2015 modules.
Here is a great article on private data using these new methods http://www.2ality.com/2016/01/private-data-classes.html

Related: "Master the JavaScript Interview: What is a Closure?"

Wow, thanks! The Symbols thing is really good for this.

We should probably add the symbols example to the docs, and link to "Master the JavaScript Interview: What is a Closure?" so people can easily read up on how data privacy works in JS.

@ericelliott I'm happy to add it. Where in the docs do you want it added? Do you also want to include the WeakMap version?

I'd love to read an article on: "Several ways to implement privacy in ES2015".
@ericelliott I reckon it'll get a lot of traffic. It's a very hot topic currently.

@koresar Agreed. To a lot of people, it's still not clear. And the class keyword just adds more confusion to the mix.


Docker image has no git-lfs path, and adding one will lead to an error without manual intervention

Gitea version (or commit ref): latest docker image
Git version: latest docker image
Operating system: Ubuntu 17.04 (Host) / latest docker image
Database (use [x]):

[X] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[X] Not relevant

Log gist:

Description
The default install when launching the docker image has an empty path for LFS (why?).
If I add /data/git-lfs which is inside the docker volume, I get this:
invalid_lfs_path%!(EXTRA *os.PathError=mkdir /data/git-lfs/: permission denied)
If the docker image has no permissions to add paths, then I suggest there should be one preconfigured that actually works. (otherwise, at this point the user will be confused and/or required to manually open up a shell in the container to create a path for LFS storage which is a bit annoying)
Screenshots
If this issue involves the Web Interface, please include a screenshot

This is a duplicate of #1221


pdksync - (maint) Running pdk update

(maint) Running pdk update
pdk version: 2.0.0

Codecov Report

Merging #471 (41113d2) into main (2a0a93c) will decrease coverage by 0.72%.
The diff coverage is n/a.

:exclamation: Current head 41113d2 differs from pull request most recent head 12264f3. Consider uploading reports for the commit 12264f3 to get more accurate results

@@           Coverage Diff            @@
##            main    #471      +/-   ##
========================================
- Coverage   1.86%   1.13%   -0.73%
========================================
  Files        481     479       -2
  Lines      77831   77985     +154
========================================
- Hits        1449     888     -561
- Misses     76382   77097     +715

Impacted Files
Coverage Δ

lib/puppet/type/dsc_windowsoptionalfeature.rb
0.00% <0.00%> (-93.05%)
:arrow_down:

lib/puppet/type/dsc_user.rb
0.00% <0.00%> (-92.53%)
:arrow_down:

lib/puppet/type/dsc_archive.rb
0.00% <0.00%> (-91.58%)
:arrow_down:

lib/puppet/type/dsc_windowsfeature.rb
0.00% <0.00%> (-91.12%)
:arrow_down:

lib/puppet/type/dsc_environment.rb
0.00% <0.00%> (-87.88%)
:arrow_down:

...ppet_x/puppetlabs/compatible_powershell_version.rb
0.00% <0.00%> (-66.67%)
:arrow_down:

lib/puppet_x/puppetlabs/powershell_manager.rb
0.00% <0.00%> (-22.37%)
:arrow_down:

lib/puppet_x/puppetlabs/dsc_type_helpers.rb
36.58% <0.00%> (-3.66%)
:arrow_down:

build/dsc/psmodule.rb

build/dsc/resource.rb

Continue to review full report at Codecov.

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


[test] remove smoketest timeout

The flash scrambling smoke test timeout was used for testing, and is not needed since the default timeout will suffice.

once this passes private CI we can probably merge


Uncaught TypeError: this.comp.setViewportScrollLeft is not a function

View details in Rollbar: https://rollbar.com/mgamlem3/DnD-Spell-Finder/items/3/

TypeError: this.comp.setViewportScrollLeft is not a function
  File "http://localhost:3000/dc8c8e45.g.js", line 958, in t.setHorizontalScroll
  File "http://localhost:3000/dc8c8e45.g.js", line 669, in t.horizontallyScrollHeaderCenterAndFloatingCenter
  File "http://localhost:3000/dc8c8e45.g.js", line 669, in t.doHorizontalScroll
  File "http://localhost:3000/dc8c8e45.g.js", line 669, in t.onHScrollCommon
  File "http://localhost:3000/dc8c8e45.g.js", line 669, in t.checkScrollLeft
  File "http://localhost:3000/dc8c8e45.g.js", line 749, in t.checkViewportAndScrolls
  File "http://localhost:3000/dc8c8e45.g.js", line 749, in t.onCenterViewportResized
  File "http://localhost:3000/dc8c8e45.g.js", line 749, in ResizeObserver.i

This seems to come from cypress testing.


Package request: Cloneable

Project description
The all-in-one website downloader tool for offline browsing, archiving, backups, and more.
Metadata

homepage URL: https://cloneable.app
source URL: https://github.com/CloneableApp/Cloneable
license: gpl3
platforms: unix, linux, darwin, windows

Note
Making this request early. Downloadable binaries are currently not available, but will be soon.

The version of node.js used to build the program, which is v16.13.1, is EOL. Please ask the upstream developer to update the node.js version.

It's been a while and got no response from upstream. Project isn't receiving updates.


it does't android ndk

I use dbg.h to print JNI log, but there are very many errors, can you let it support Android NDK?
my code:
#ifdef __ANDROID__
#include <android/log.h>
#endif

   output << std::endl;
    std::cerr << output.str();

#ifdef __ANDROID__
__android_log_print(ANDROID_LOG_INFO,  "dbg",  "%s\n", output.str().c_str());
#endif

    return std::forward<T>(value);

The code doesn't mention the dbg.h header or any dbg(…) macro calls?!
Also, these error messages do not seem to originate from dbg.h. At least, as far as I can tell from your screenshot.

The code doesn't mention the dbg.h header or any dbg(…) macro calls?!
Also, these error messages do not seem to originate from dbg.h. At least, as far as I can tell from your screenshot.

dbg.h is included in main.cpp, just contains the header file.
dbg(...) method has not been called, there are many errors in compiling.
I compiled it through ndk-build, but if I use NDK's aarch64-linux-android toolchain can be compiled successfully.
aarch64-linux-android-clang++ main.cpp -o main        is OK

I don't know ndk-build, so I'm not sure how I can help here. Does it come with C++11 and STL support?

I don't know ndk-build, so I'm not sure how I can help here. Does it come with C++11 and STL support?

Google Android NDK uses llvm+clang, the clang version is ckang-9, supports c++17, although the problem is not solved, but still thank you for your reply, I will close the issue!


Installation is failing

Hi team. I'm trying to install composable operator according to the readme, however is is failing as the following:
curl -sL https://raw.githubusercontent.com/IBM/composable/master/hack/install-composable.sh | bash
* Downloading install yaml...
W1230 04:57:47.861238  134130 gcp.go:119] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.26+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
error: the path "/tmp/ibm-composable/composable-master/hack/../releases/latest/" does not exist

I also attempted to install the crd and manifests YAMLs from https://github.com/composable-operator/composable/releases, however I got the following errors:
resource mapping not found for name: "composable-serving-cert" namespace: "composable-system" from "manifests.yaml": no matches for kind "Certificate" in version "cert-manager.io/v1"
ensure CRDs are installed first
resource mapping not found for name: "composable-selfsigned-issuer" namespace: "composable-system" from "manifests.yaml": no matches for kind "Issuer" in version "cert-manager.io/v1"
ensure CRDs are installed first

Please advise. Thank you.

Any comment, anyone please?

Mana

Sorry seem to late. Did you face any issues after the cert-manager update?

@xvzf No issues after the cert-manager was installed.

This is still an issue please reopen:
❯ curl -sL https://raw.githubusercontent.com/IBM/composable/master/hack/install-composable.sh | bash
* Downloading install yaml...
error: the path "/tmp/ibm-composable/composable-master/hack/../releases/latest/" does not exist


Update Wikis and Description with new Webfaction Feature

https://blog.webfaction.com/2016/09/manage-ssl-certificates-with-the-control-panel/
They just added that this morning :)

Thanks! I'll update the docs as soon as I can figure out how they actually automate LE support… It looks like you still have the manually get an LE cert every 3 months and then manually upload it.
I've filed a support ticket to try and figure out what I'm missing…

I'm just trying to understand the whole Lets Encrypt process, so please bear with me here.
Doesn't that just mean that you can basically ditch the last step and used the promised API to register the certificate?

but we’re working to make managing certificates even better over the coming days, with complete documentation, API support, and more.

Until they have the API you could just ask the user to upload the certificate in ~/le_certs to the webfaction control panel.
Is there an easy way to disable the support email? I am in the process of setting up https for my site and would try to use the new workflow.

You've nailed the question. I don't know what I need to do to support LE.
Let's Encrypt is all about automation. You should be able to set up certificate issuance once, and then every ~90 days the cert is automatically renewed and installed. If you have to manually upload a new cert every 60-90 days, that'll be a non-starter for me.
When a hosting company implements LE support, this typically means that they allow you to check a box saying "provide a cert for the website" and then the hosting company has a script which will automatically verify, issue, and install the cert. I don't see this integration for WebFaction yet.
Right now, the email workflow automates the process from the user's perspective. If all WebFaction does is introduce an API for automatic installation, then I'll make a new release of this utility which uses that API. However, I'm hoping/expecting that they'll introduce the said checkbox soon, which should allow me to simply EoL this entire utility and provide migration instructions. I'm waiting for things to shake out before investing more dev time.

As I was typing the previous message, WF replied with some more info:

The new SSL module in the WebFaction hosting control panel does not support
automated installations of LE certificates yet. We are still working on fully
implementing LE in the control panel.
For now, the certificates can be generated manually with something like your
tool and installed through the control panel without posting a ticket.
We are still working on the complete LE automation, but we don't have a time
frame for it yet.

I see.
Question is, do they still act on tickets asking to install certifcates?
I shot them an email and their response was: look at this cool new feature we built.

Ah, if they are not installing certs automatically, then we have more of an issue… I'll ask.

For the time being, I added a note that this utility is in flux: https://github.com/will-in-wi/letsencrypt-webfaction/commit/1e6d3089cf645ed9b5f06b886d5faab26a128b4a

I just tried installing the certificates manually using the new workflow, i followed the instructions for django and just replaced --support email with my own.
Webfaction asks for three files: Certificate, Private Key and Intermediates/bundle. What is the last one? Chain or Full Chain?

At the moment, it sounds like they are installing the certificates in response to the email, and then reminding us that they have a self-serve UI now.
I'm waiting to hear more.

I'd use Full Chain.

Used Chain, works as well :)

In my experience they are not installing, just pointing to this: https://blog.webfaction.com/2016/09/manage-ssl-certificates-with-the-control-panel/

In case anyone is curious, Chain is the intermediate certs. Full Chain is the intermediate certs and the root cert. Since the root cert is already in all of the browser trust stores, it doesn't matter much. I generally include the root cert just to be on the safe side.
IANASE (I Am Not A Security Expert) 😄

WF tier-2 support (shout-out to Sean F!) has told me the following:

The API support for SSL certificates, and accompanying documentation, should be available within the next week or so.
We're also putting the finishing touches on our own automation for LE certificates, which will be managed entirely in our control panel, but I can't commit to a firm ETA for that.

I'll jump on porting this utility to their API as soon as they release it. Until then:

Our official policy is to help customers when they ask us to help :)
I'll make sure the support team continues to install certificates when requested.

Sounds like they'll keep doing the "automatic" email driven installs for the time being.
As a personal note, WF support has been fantastic for me yet again. I'll highly recommend them to anyone!

Thank you for your work on this @will-in-wi!
Great to hear WF is working on LE automation.

Good news - apparently the API now handles this. There's a new login method and four new API commands create_certificate, delete_certificate, list_certificates, and update_certificate

That's awesome! I'll take a look at getting this integrated at some point (hopefully soon). If anyone wants to take a crack at it, feel free.

Not able to take a crack at the code, but happy to help test and document.

@will-in-wi any chance youre working on this soon? If not, I would need to code it myself ;)

I started some initial work on it, but was waiting for the official API to be released.
I haven't had time to continue yet. I intend to do so (I need it too), but I won't be able to start until Wednesday at the earliest.

I've started looking at this. I'm going to work on updating this Ruby app to use the Webfaction API, but if someone knows Python, I'd love to see a Certbot Installer plugin for Webfaction. It looks like it is possible to simply have a plugin that when Certbot renews a cert installs it using the Webfaction API. I spent a little bit trying to make that work, and couldn't. But if anyone else is interested in trying to crack this nut, I'd suggest that plan of attack.

First draft: https://github.com/will-in-wi/letsencrypt-webfaction/pull/54
This works for me on my server.

Testing is appreciated! I know that this will need more readme work. I've added some migration notes to the changelog.

I know Python, but I know nothing about webfaction; just use it for a couple clients at work.  What's the need for a Python version of what you've already made in Ruby...?
If this isn't appropriate for discussion in an issue, please do reply by email.

@Asday: Certbot has a plugin system that allows you to implement an Installer interface: https://certbot.eff.org/docs/contributing.html#writing-your-own-plugin
The normal installer interfaces will configure Apache and Nginx for you. We just need a new one which uses the Webfaction API to install the cert: https://docs.webfaction.com/xmlrpc-api/apiref.html#certificates
We would then use Certbot with the "webroot" authenticator and this new Webfaction installer.
Certbot is also tricky to install on Webfaction, so that would also need to be figured out.
With that said, I've just updated this app to work with the new API, and Webfaction is working on first party support, so it might not be useful. However, I'd prefer the Certbot solution.
Does this help?

Hmm, that does actually sound pretty reasonable to do...
Is certbot that painful to install on WF?  I thought they were just CentOS 6 boxes with limited rights.
Now you've updated this to work with the API, when I have some free time at work I'll upgrade the aforementioned client's solution to be automatic, and see about these plugins.

I'm not sure about the pain of installing Certbot. My python knowledge is very limited, especially around the ecosystem and the right way of bootstrapping an app. Every Certbot tutorial begins with running a command to install system packages, which I can't do.
I'm guessing that some combination of the developer install guide, WF's custom virtualenv config, and some other magic could get it working.

Thanks for the quick work! If any python support is needed, let me know.
What exactly did you update? Did you replace the email to the support with an actual API call?

Yes. No more emailing support (or anyone). It simply creates or updates the certificate entry on the server.

I would like to try this library for the first time. Do I need to wait for a new release due to WF API changes?

I just pushed version 2.2.0 with Webfaction API support!
I'm closing this ticket. Please open new ones with bug reports or comments.
Thanks all!


Support collecting metrics for MongoDB sharded clusters

What would you like to be added:
It seems necessary to collect metrics for MongoDB sharded clusters. Currently, the existing monitoring system focuses on Yorkie metrics and go process metrics, but extending this to include MongoDB sharded clusters would provide valuable insights into their performance and health.
Why is this needed:
It is helpful to prevent and resolve problems in MongoDB sharded clusters such as #872.
Consider to utilize open source exporters such as mongodb_exporter.
Refer to MongoDB performance metrics in the Datadog blog post.

Currently, the yorkie-mongodb Helm chart depends on Bitnami's mongodb-sharded chart, which provides a metrics option for setting up a Prometheus exporter. I think we can consider leveraging this option.
Ref.: https://github.com/bitnami/charts/blob/main/bitnami/mongodb-sharded/values.yaml#L1765

It seems like the mongodb-exporter in our mongodb-sharded is not working due to misconfiguration of the username to connect to the mongodb shard node.
The error message shows like below:
Cannot connect to MongoDB: invalid dsn: error validating uri: username required if URI contains user info

I'm interested in this issue. Can I try it?

I'm interested in this issue. Can I try it?

@xet-a Sure. If you have any questions, feel free to ask.

@xet-a @krapie I guess mongodb-exporter for ARM64 is supported now.
https://hub.docker.com/r/bitnami/mongodb-exporter/tags


changed addon deployment to use image variable

Fixes #25. With this PR, the way the add-on is deployed has now changed so that a user can do make deploy-addon IMG=<image-name> and the image and the environment variable change accordingly in the addon deployment

/assign @fran2810

Closing due to CI failing on the branch name (should probably be changed)


[CWS] Make the ebpf rate-limiter generic and use it for ptrace

What does this PR do?
It makes the rate-limiter developed for activity dumps generic, let us use it for other purposes.
The AD limiter keeps its own map and won't be impacted about the change.
The generic one has for now a rate of 100 events/sec/pid (the rate is not configurable yet).
Ptrace is the first syscall to benefit from it: except for a given subset of requests we don't want to miss, all the ptrace call are now rate limited.
Also, I've simplified the rate limiter algos to a single basic one (having different ones makes no more sense)
Motivation
Ptrace could be VERY noisy and have a huge impact on the perf buffer + the agent itself. This will drastically reduce the ptrace pressure.
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

/merge