Crashing after using remote url

Sketch crushing after a while if I do
browserWindow.loadURL(‘https://github.com')
Error I'm getting:
Thread 0 Crashed:
0   libsystem_malloc.dylib               0x00007fff7e91ba8e nanov2_allocate_from_block + 622

1   libsystem_malloc.dylib               0x00007fff7e91b0f6 nanov2_allocate + 142

2   libsystem_malloc.dylib               0x00007fff7e91bf7e nanov2_calloc + 82
3   libsystem_malloc.dylib               0x00007fff7e910d3a malloc_zone_calloc + 99
4   libsystem_malloc.dylib               0x00007fff7e910cba calloc + 30
5   libobjc.A.dylib                      0x00007fff7d68383e class_createInstance + 83
6   CoreFoundation                       0x00007fff5155d989 __CFAllocateObject + 17
7   CoreFoundation                       0x00007fff5158dc41 +[__NSSingleObjectSetI __new::] + 21
8   CoreFoundation                       0x00007fff5158dc26 __createSet + 33
9   CoreFoundation                       0x00007fff5158dbf2 +[NSSet setWithObject:] + 38
10  AppKit                               0x00007fff4eb6d174 -[_NSViewLayoutInvalidator observeValueForKeyPath:ofObject:change:context:] + 433
11  Foundation                           0x00007fff538e4f96 NSKeyValueNotifyObserver + 346
12  Foundation                           0x00007fff538e4a02 NSKeyValueDidChange + 481
13  Foundation                           0x00007fff53a74028 NSKeyValueDidChangeWithPerThreadPendingNotifications.llvm.6933669911801571155 + 143
14  AppKit                               0x00007fff4eb1b5f3 -[NSView didChangeValueForKey:] + 144
15  Foundation                           0x00007fff538e39ef _NSSetObjectValueAndNotify + 164
16  AppKit                               0x00007fff4ebdcc72 -[NSButtonCell _updateBackgroundViewWithFrame:inView:] + 439
17  AppKit                               0x00007fff4eb74f08 -[NSButtonCell _updateSubviewsInView:includeTitleTextField:] + 146
18  AppKit                               0x00007fff4ece63b7 __35-[NSControl _windowChangedKeyState]_block_invoke + 46
19  AppKit                               0x00007fff4eb06436 +[NSAppearance _performWithCurrentAppearance:usingBlock:] + 84
20  AppKit                               0x00007fff4ece6192 -[NSControl _windowChangedKeyState] + 138
21  AppKit                               0x00007fff4ece629a -[NSView _windowChangedKeyState] + 253
22  AppKit                               0x00007fff4ed07bc3 -[NSToolbarItemViewer _windowChangedKeyState] + 42
23  AppKit                               0x00007fff4ece629a -[NSView _windowChangedKeyState] + 253
24  AppKit                               0x00007fff4ed07b1a -[NSToolbarView _windowChangedKeyState] + 44
25  AppKit                               0x00007fff4ece629a -[NSView _windowChangedKeyState] + 253
26  AppKit                               0x00007fff4ed076cd -[NSVisualEffectView _windowChangedKeyState] + 42
27  AppKit                               0x00007fff4ece629a -[NSView _windowChangedKeyState] + 253
28  AppKit                               0x00007fff4ece629a -[NSView _windowChangedKeyState] + 253
29  AppKit                               0x00007fff4ed0763f -[NSThemeFrame _windowChangedKeyState] + 46
30  AppKit                               0x00007fff4ec29a2c +[NSWindow _enableKeyStateChangeNotifications] + 355
31  AppKit                               0x00007fff4ed13251 _NXEndKeyAndMain + 297
32  AppKit                               0x00007fff4ed11e42 -[NSApplication _handleDeactivateEvent:] + 764
33  AppKit                               0x00007fff4eae0d74 -[NSApplication(NSEvent) sendEvent:] + 2588
34  AppKit                               0x00007fff4eacdcf1 -[NSApplication run] + 755
35  AppKit                               0x00007fff4eabd3f7 NSApplicationMain + 780
36  libdyld.dylib                        0x00007fff7e76108d start + 1

I have got the same Problem...

@IlyaGrshin  how do you initialize the BrowserWindow?
which options do you pass in the object?

@lukasholzer
export default function() {
  const options = {
    identifier: ’test.id',
    width: 800,
    height: 600,
    show: false
  }
  var browserWindow = new BrowserWindow(options)
  browserWindow.loadURL('https://github.com')
  browserWindow.once('ready-to-show', () => {
    browserWindow.show()
})

I see a window with a white BG and after that the sketch just crashing.

This message?
have you tried to inspect the page with the inspector tools?
what are your headers? (Do you have some?) mine is empty no request was done…
And where do you get the output?
I am currently going with the Console.app

Nov 21 16:33:50 TAG009442425885 com.apple.xpc.launchd[1] (com.apple.WebKit.WebContent.E7E6DEC1-966E-4116-81E2-23CCC3F0DC97[93741]): Service exited with abnormal code: 1

that is the exit in the system.log

default	16:31:18.882338 +0100	com.apple.WebKit.Networking	[C2 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] cancel
default	16:31:18.882385 +0100	com.apple.WebKit.Networking	[C2 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] cancelled
default	16:31:18.894291 +0100	com.apple.WebKit.Networking	[C3 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] start
default	16:33:18.987224 +0100	com.apple.WebKit.Networking	[C3 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] cancel
default	16:33:18.987437 +0100	com.apple.WebKit.Networking	[C3 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] cancelled
default	16:33:18.990727 +0100	com.apple.WebKit.Networking	[C4 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] start
default	16:33:19.094494 +0100	com.apple.WebKit.Networking	[C4 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] cancel
default	16:33:19.094634 +0100	com.apple.WebKit.Networking	[C4 Hostname#6904cfc5:443 tcp, url: https://github.com/, tls] cancelled

Similar to that message, yep. Didn't use headers. But I already came up with a solution on Cocoa.
Just using it: https://developer.apple.com/documentation/webkit/wkwebview

what is your solution?

If you show a little rough. Later I will post the plugin and there will be a more understandable code I hope
function auth() {
  let URL = `https://....`
  let request = NSURLRequest.requestWithURL(NSURL.URLWithString(URL))

  let script = COScript.currentCOScript()
  script.setShouldKeepAround_(true)
  let frame = NSMakeRect(0, 0, 800, 600)

  let cfg = WKWebViewConfiguration.alloc().init()
  cfg.setWebsiteDataStore(WKWebsiteDataStore.nonPersistentDataStore())
  let webView = WKWebView.alloc().initWithFrame_configuration(frame, cfg)
  let mask = NSTitledWindowMask + NSClosableWindowMask
  let panel = NSPanel.alloc().initWithContentRect_styleMask_backing_defer(frame, mask, NSBackingStoreBuffered, true)
  let delegate = new MochaJSDelegate({
    'webView:didCommitNavigation:': function(webView) {
      let components = NSURLComponents.componentsWithURL_resolvingAgainstBaseURL(webView.URL(), false)
        let fragment = components.fragment()
        let url = NSURL.URLWithString("https://${domain}?" + String(fragment))
        let queryItems = NSURLComponents.componentsWithURL_resolvingAgainstBaseURL(url, false).queryItems()

        let values = queryItems.reduce(function(prev, item) {
          prev[String(item.name())] = String(item.value())
          return prev
        }, {})
          //your code...
          UI.message('Success')
          panel.close()
          script.setShouldKeepAround_(false)
    },
  })

  webView.setNavigationDelegate(delegate.getClassInstance())
  webView.loadRequest(request)
  panel.contentView().addSubview(webView)
  panel.makeKeyAndOrderFront(null)
  panel.center()
}

webContents.on('SketchMessage', (messageString) => {
    const eventObj = JSON.parse(messageString);
    console.log(`✉ INCOMING MESSAGE: from the webView (${eventObj.type})>>`);

    const response = { _id: eventObj._id };

    switch (eventObj.type) {
      case 'message':
      case 'inform':
        sketch.UI.message(eventObj.data);
        break;
      case 'selectElement':
        selectElement(currentDocument, eventObj.data);
        break;
      case 'playSound':
        playSound(eventObj.data);
        break;
      case 'documentMeta':
        response.data = getFileFormat(currentDocument, true);
        break;
      case 'document':
        response.data = getFileFormat(currentDocument);
        break;
      default:
        console.log(`🚨 ERROR: Unknown event was fired with type: ${event.type}`);
        return;
    }

    sendToWebView(webContents, response);
    webContents.executeJavaScript(`
      var message = new CustomEvent('SketchMessage', {
    bubbles: true,
    detail: ${(typeof message === 'string') ? message : JSON.stringify(message)},
  });
  window.dispatchEvent(message);
`)
  .then(() => console.log('📤 OUTGOING MESSAGE: to Webview'))
  .catch(console.error);
  });

how would you sugesst to implement the on listener on the webview? because that was the point where switched back to the module-web-view plugin…

That'd be nice to send a PR if you find a fix instead of everybody reimplementing everything everytime.
Anyhow, using script.setShouldKeepAround(true) is a bad idea (should use fibers instead), that's why using sketch-module-web-view would be nice

@mathieudutour yea for long term I defenetly want to go with your first party library but i need a quick solution to get a first beta for our designers to work with…
I'm only a Angular/Node.js dev with no experience in Objective-C so it is really hard for me to find the bug in the webview but I am currently investigating…

@IlyaGrshin wild guessing but do you updated to Mac OSXMojave?
I found this in my syslogs…
error	10:13:34.262559 +0100	Sketch	os_unix.c:42249: (2) open(/var/db/DetachedSignatures) - No such file or directory

even If I open a local .html file with
browserWindow.loadURL(require('../resources/webview.html'));

and perform there a request to an external URL I get the same error…
The webKit.Networking tries to establish a tcp connection which is failing.
error	10:13:32.009510 +0100	com.apple.WebKit.Networking	Task <EA084550-2923-48D6-A073-99123D3C2F1B>.<1> HTTP load failed (error code: -999 [1:89])

I do have Mojave as well. And I'm pretty sure I remember testing with both a local file and a remote url but it might have been on High Sierra. So Mojave might be the culprit. Maybe there is a more restrictive remote content policy and we need to specify a looser one somewhere?

I can confirm that this seems to be a Mojave issue. I've been updating some old plugins. The one I did before upgrading to Mojave seemed to be fine, but after I switched to Mojave, I get the same issues/error messages above. Not able to load either a remote or local URL without it crashing.

we might need to do something with this: https://developer.apple.com/documentation/webkit/wkusercontentcontroller/2902756-addcontentrulelist?language=objc then

Should be fixed in 2.1.2

@mathieudutour Isn't sadly. Or it is back in 2.1.6.
I just moved my Javascript into an external file and referenced it using the src attribute. Boom!
I'm on Mojave 10.14.2, Sketch 53.2.
What logs do you need?

I'm not sure what that means: "I just moved my Javascript into an external file and referenced it using the src attribute". Do you have a repro somewhere? It works fine here

See the file in this repo. I tried to move the Javascript sources from line 27 into an external file and load it using "src=js/settings-view.js". That made Sketch crash.
(The currently commited js file there hasn't got the same content as currently in the html)

it's probably because you put the js file in the wrong place or that the js file isn't bundled in the plugin

Hm. You may be right. I missed adding the path to the assets. But I think, I've corrected it now (at least the files show up in the plugin bundle and can be opened without an error in a browser). However, Sketch still crashes.
Could you please check out the new commit again and see, if you can reproduce the error?

@mathieudutour Okay, it's not directly related. The crash happens specifically at line 48 while running a Javascript call. The call itself is valid. I tried running it in a browser. Could this be a timing issue? The call before that runs without crashing sketch, but it actually does nothing (it should hide the error message panel). Any ideas?

@mathieudutour Ah, one step further. I managed to get the settings window open without executing javascript and in there I could start the inspector, which told me, that it is not allowed to load a file ressource. I'll open another issue for that.


Audio doesn't stop when click on stop

Hello,
I am still having some troubles understanding how to manipulate sound (add a music to a scene etc...), but I think I have found a bug.
When I click "run" the audio doesn't stop when I exit the scene (by clicking "stop") . Is there a method to stop a music ?
Thanks

Hi
This is a knwon bug thank a lot for reporting i will fix is as soon as possible.
Thanks a lot!.
Cheers

Should be fixed now (web version). Thanks a lot!


[ENH] Switch node config format

Closes #32
Closes #35

Changes proposed in this pull request:

User-defined local nodes are now read from a specifically named JSON file (local_nb_nodes.json) instead of an .env file
Logic added to:

Raise warning + use remote public nodes only when local_nb_nodes.json doesn't exist or is empty
Raise error (and exit app) when there are no locally defined nodes AND the request to the public node index fails

README updated with instructions for exposing new JSON file to a Docker container

Checklist

[x] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see https://neurobagel.org/contributing/pull_requests for more info)
[x] PR links to GitHub issue with mention Closes #XXXX
[x] Tests pass
[x] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

:rocket: PR was released in v0.1.0 :rocket:


boards: set CONFIG_BOARD default based on devicetree

This is cool, but makes some problems we have worse.
@tejlmand and I have been talking about how it's a problem that CONFIG_BOARD in Kconfig doesn't have to match BOARD in CMake. You see this most often in Arm v8-M boards with trustzone, where BOARD=foo_ns and BOARD=foo both have CONFIG_BOARD=foo. That's a bug in our opinion; consistency between BOARD and CONFIG_BOARD should be enforced. This PR would make that harder to do.

Agree with @mbolivar-nordic.
The principle is cool, but makes inconsistency worse.
Another issue that will arise is the sysbuild intregration.
Already now it's ~hard~ impossible to reuse the Kconfig tree for boards and SoC, but ideally we would like to be able to source part of the tree into sysbuild.
Namely the generic parts containing names but potentially other things, this is not fully decided.
Reason for this, is one may be like to have images available based on board / SoC / hw.
For example enabling a netcore image, such as HCI RPMsg, when building on a nRF5340, but not other boards.
Same could be true for features like Trustzone.
See also: https://github.com/zephyrproject-rtos/zephyr/issues/43488

This is cool, but makes some problems we have worse.
@tejlmand and I have been talking about how it's a problem that CONFIG_BOARD in Kconfig doesn't have to match BOARD in CMake. You see this most often in Arm v8-M boards with trustzone, where BOARD=foo_ns and BOARD=foo both have CONFIG_BOARD=foo. That's a bug in our opinion; consistency between BOARD and CONFIG_BOARD should be enforced. This PR would make that harder to do.

@mbolivar-nordic @tejlmand so why don't we effectively add -DCONFIG_BOARD= to set this to match and remove the Kconfig.defconfig setting of CONFIG_BOARD?

why don't we effectively add -DCONFIG_BOARD= to set this to match and remove the Kconfig.defconfig setting of CONFIG_BOARD?

I don't get what you mean, sorry.

I don't get what you mean, sorry.

I mean if CONFIG_BOARD is suppose to match the cmake -DBOARD, why don't we enforce/pass that through from Cmake to Kconfig.  Instead of having CONFIG_BOARD set in Kconfig files?

I don't get what you mean, sorry.

I mean if CONFIG_BOARD is suppose to match the cmake -DBOARD, why don't we enforce/pass that through from Cmake to Kconfig. Instead of having CONFIG_BOARD set in Kconfig files?

work has been taken up by @nordicjm on this, if curious, see this commit for details: https://github.com/zephyrproject-rtos/zephyr/pull/50154/commits/ab05d915496d40f0007a9f95f7aa15960ba2bb9a

see this commit for details: ab05d91

This commit isn't helpful; do you have a branch pointer?

This commit isn't helpful; do you have a branch pointer?

I assume https://github.com/zephyrproject-rtos/zephyr/pull/50154 is related to what @tejlmand mentioned.

This commit isn't helpful; do you have a branch pointer?

@mbolivar-nordic  github is playing tricks here.
Cause the link takes you directly to a commit, without PR information, but if you look at the real link in the message (click edit on that message), then this is the link it contains:
https://github.com/zephyrproject-rtos/zephyr/pull/50154/commits/ab05d915496d40f0007a9f95f7aa15960ba2bb9a

which includes the PR number 50154, which is why I posted the link like that.
The interesting PR is part of the commit link, so everyone should be able to locate both pieces of information 😄


test_file.py tests fail dependent on version of libmagic installed

test_file.py is failing on a system with a more up to date libmagic due to a change in the output for a given file.
(on my more up-to-date system)
$ file --version
file-5.41
magic file from /usr/share/file/misc/magic
seccomp support include

$ file ./MaterialsIO/tests/data/image/dog2.jpeg
./MaterialsIO/tests/data/image/dog2.jpeg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 300x300, segment length 16, Exif Standard: [\012- TIFF image data, little-endian, direntries=2, GPS-Data], baseline, precision 8, 1910x1000, components 3

(on an older Debian system):
$ file --version
file-5.32
magic file from /etc/magic:/usr/share/misc/magic

$ file MaterialsIO/tests/data/image/dog2.jpeg
./MaterialsIO/tests/data/image/dog2.jpeg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 300x300, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=2, GPS-Data], baseline, precision 8, 1910x1000, frames 3

This causes the test suite to fail on the more up-to-date system. Notice in particular the \012-  added to the output (which according to the man page, represents multiple flags were present) and also the difference between "components" and "frames" at the end.
Since the specific version of libmagic cannot be mandated (because it's a system package), my suggestion would be to loosen up the requirement on the data_type assertion in the test suit. Something like the following:
for i in ['JPEG image data', 'density 300x300', 'TIFF image data', '1910x1000']:
    assert i in output['data_type']

The following test method works on my system:
def test_file():
    my_file = os.path.join(os.path.dirname(__file__), 'data', 'image', 'dog2.jpeg')
    parser = GenericFileParser(store_path=True, compute_hash=True)
    output = parser.parse([my_file])
    expected = {
        'mime_type': 'image/jpeg',
        'length': 269360,
        'filename': 'dog2.jpeg',
        'path': my_file,
        'data_type': 'JPEG image data, JFIF standard 1.01, resolution (DPI), '
                     'density 300x300, segment length 16, Exif Standard: [TIFF '
                     'image data, little-endian, direntries=2, GPS-Data], '
                     'baseline, precision 8, 1910x1000, frames 3',
        'sha512': '1f47ed450ad23e92caf1a0e5307e2af9b13edcd7735ac9685c9f21c'
                  '9faec62cb95892e890a73480b06189ed5b842d8b265c5e47cc6cf27'
                  '9d281270211cff8f90'}
    for i in ['JPEG image data', 'density 300x300', 'TIFF image data',
              '1910x1000']:
        assert i in output['data_type']
    del output['data_type']
    del expected['data_type']
    assert output == expected
    assert isinstance(parser.schema, dict)

Hmm, auto-closer didn't associate that PR with this issue properly, so closing...


[MIG-284] Add support for intelligently expanding destination PVC size

In pvc-migrate we had intelligence to determine if a PVC on the source cluster is nearly full and if so we automatically increase the size of the PVC on the destination (see: https://github.com/konveyor/pvc-migrate/tree/master/2_pvc_destination_gen#stage-2-a).
This is easier in pvc-migrate use case as we can simply run df on the source nodes prior to creating the destination PVCs. In the DVM case, we already generate the PVCs on destination prior to running the client pods which mount the volumes. For this to work we would need to add an extra step of a dummy pod to mount the source volumes to determine the actual size of the volume prior to creating the PVCs. The best way for this to work would be to offload this work to something like MigAnalytics to get the actual volume size prior to running the DVM at all.

I like the idea of offloading this to MigAnalytics. This will enable us to give users a chance to manually verify the adjustment at the time of migplan creation.
As a user, when I create a MigPlan, I would like to see the actual volume size and the utilization displayed in the MigPlan creation wizard at the time of storage class selection. I can either edit the adjusted size or mark the existing proposed size accepteable.

I don't know if above is possible or not. But IMO, this would be the best flow from user's perspective.


Fix spatial awareness mesh w.r.t. camera scale

Overview
Modify the parenting of SpatialAwareness nodes hanging off the MixedRealityPlayspace to not absorb any scale from the MRPlayspace, and then correct the (de-scaled) mesh positions.
Changes

Fixes: #8250.

Verification
There might be a better way to address this.
Note that this PR only addresses uniform scale in the camera hierarchy. Non-uniform scale is unlikely to be robustly handled, and is specifically recommended against by Unity.

As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

Change looks good - would be interesting if we could add a test case for this (even using the in-editor mesh thingy)

If you're open to writing that in this PR that works, but if you want to get this in to unblock further work elsewhere (i.e. in the WLT area) then we can also push this in first.

/azp run

Agreed @wiwei on adding the test, but I'm going to be out for a while and would like to get this in before I go. I'll put the test on my to-do for when I get back. Thanks!

/azp run


Fix python-nest version bump

Description:
The Nest climate component is not working because the python-nest dependancy won't update correct. I have run 'script/setup' several times, but the recent changes in the python-nest dependancy do not install. If the version number is changed the new version of the dependancy will be installed.
Related issue: fixes #4797

In another PR, @balloob suggested making sure the version in the REQUIREMENT and in the package's setup.py match. I bumped python-nest to 3.0.1, with a new sha of 7a2eb38d391bddeb78079437f001224c370b555a

:thumbsup: Changed the SHA in the PR.

Top 🐬


Improving performance in "ApiController"

I am getting the CA1859 suggestion in visual studio when hovering over Problem(Error error) and ValidationProblem(List<Error> errors) in ApiController
is it really a good idea to change the return type from IActionResult to ActionResult or ObjectRresult ?

Yeah sure, let's change it since the type is known. Changed in a separate commit under #10


Snap/core22

Related command
All
Description
The current version of the snapcraft.yaml is very old and uses classic confinement. These changes bring the snap to the latest base: core22 and switch the confinement to strict in order to ease the publication process.
Note that the Azure CLI is not published into the snapstore anymore. This PR creates the per-requisites for republishing the snap into the store.
Testing Guide
Build the snap by running snapcraft
Install it locally: snap install --dangerous azure-cli_*.snap
Verify that the CLI is working as expected: azure-cli.az xxx
(since the snap is not named az but azure-cli the alias is not setup by default)
History Notes
Historically, Microsoft was publishing the Azure CLI in the snapstore. It was decided to remove the snap from the store as it wasn't updated and was confusing users who would install the CLI via the snap and end up with an out-dated non-working software. For similarly reasons, Ubuntu decided to remove the upstream Debian package from its repository as the package doesn't contain an up-to-date version of the CLI. Moreover, the debian packages do not seem very well suited for this kind of CLI which are constantly updated and have to follow new API updates.
We've now ended up in a situation where users of Ubuntu cannot natively install the CLI and have to add extra package repositories to their source list in order to get it.

Thank you for your contribution! We will review the pull request and get back to you soon.

@gjolly, Thanks for the contribution. However, Azure CLI has dropped support for snap long ago. We won't make any changes to snap-related files except removing them. Supported platforms are documented by https://learn.microsoft.com/en-us/cli/azure/install-azure-cli

For similarly reasons, Ubuntu decided to remove the upstream Debian package from its repository as the package doesn't contain an up-to-date version of the CLI.

Could you provide more information regarding the upstream Debian package, such as link to it?

We've now ended up in a situation where users of Ubuntu cannot natively install the CLI and have to add extra package repositories to their source list in order to get it.

This is expected and demanded by Microsoft security policy that all Microsoft Linux packages must be released from https://packages.microsoft.com/.
Some community developers build their own Azure CLI DEB packages, but these packages have been noticed to be buggy (https://github.com/Azure/azure-cli/issues/19640).


Creating before deployment production a db backup!

Once deployment is happening to production,
it is wise to create a backup for the spark db.
At the moment, the db is now production.
no more changes from here.
if migration will failed, we need to have a way to get back to old revision.

I don't like having backup of DB part of automated deployment - this somewhat contradicts the idea of deploy quick and often. I generally think automated deployment should be as quick and minimal as possible
We use amazon RDS for DB - I believe it has daily backup (need to verify) - which is enough in my opinion
it is also very easy in amazon RDS ui to create a backup/snapshot - so you can do that as well manually before risky deployments

AWS RDS backup in buckets are the best

@johnyzed


Support Directory.Build.targets

Where  Directory.Build.props is always applied first,  Directory.Build.targets is always applied second. This is a fundamental part of the MS Build process and should be reflected by our analyzers.

Solved by #229


made dispatcher tests pass

fixed some small errors which were makign the dispatcher tests fail

obviously there are more than just the dispatcher tests failing but I managed to get them passing and the dispatcher appears to be working for me too.

Not merging anything L5 related as yet as the upgrade is going to be a little more complicated than I initially thought it would be. Cheers.


Distance measurements

Distance measurements not provided..... This is due to the fact that individuals location is unknown for calculating the approximate distance to the various taps

Please turn on your location

Aight


Update contributors on site

Signed-off-by: John Schnake<EMAIL_ADDRESS>Which issue(s) this PR fixes

Fixes #1407

@eleanor-millman Not sure if you're familiar with how to check a netlify preview; on the tests github runs if you click on the Details of the netlify one (once it is ready) then it'll take you to a preview site. Here is this one if you want to check how it looks: https://deploy-preview-1409--sonobuoy.netlify.app/


[ZEPPELIN-1065] Flaky Test - ParagraphActionsIT.testRemoveButton

What is this PR for?
This is fix for fixing flaky CI failing test
testRemoveButton(org.apache.zeppelin.integration.ParagraphActionsIT)  Time elapsed: 9.641 sec  <<< FAILURE!
java.lang.AssertionError: After Remove : Number of paragraphs are
Expected: <2>
     but: was <1>
	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
	at org.junit.Assert.assertThat(Assert.java:865)
	at org.junit.rules.ErrorCollector$1.call(ErrorCollector.java:65)
	at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:78)
	at org.junit.rules.ErrorCollector.checkThat(ErrorCollector.java:63)
	at org.apache.zeppelin.integration.ParagraphActionsIT.testRemoveButton(ParagraphActionsIT.java:161)

What type of PR is it?
[Bug Fix]
Todos

[x] - Add delay after paragraph delete.

What is the Jira issue?

ZEPPELIN-1065

How should this be tested?
CI should be green
Questions:

Does the licenses files need update? n/a
Is there breaking changes for older versions? n/a
Does this needs documentation? n/a

@prabhjyotsingh thank you for fixing this one!
What do you think, if would it make sense to reduce total wait time and get this test more stable with a wait polling implementation to locate such elements, instead of explicit wait everywhere?
I.e there are already one for text and paragraph here AbstractZeppelinIT.waitForText wich uses AbstractZeppelinIT.pollingWait underneath.
Would it make sense to add something like AbstractZeppelinIT.waitAndClick()?

@bzz fair point;

have refactored all AbstractZeppelinIT's sleep calls into ZeppelinITUtils.
added another function clickAndWait, which will click and wait for 1s.

CI fails for ZEPPELIN-1063

Thank you for pointing out ZEPPELIN-1063 - have updated it's description.

I'll merge this, and make clickAndWait related changes in https://github.com/apache/zeppelin/pull/1092.

Sounds good, and this PR looks great to me!

@prabhjyotsingh on closing the JIRA issues, please do not forget to set correct fix version field.
It's  0.7.0 now if changes were merged only to master, I have updated 1065


Event Registration Custom Fields

Hello,
Is the documentation still accurate, with regards to Event Registration Custom Fields. I wasn't able to identify this on the Registration and attendance.
Thanks

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

ID: 707145d0-2523-16ee-0a30-e3f4906cbcc3
Version Independent ID: 41461c96-4eca-40f6-1e0a-13c9bec6a753
Content: Add custom event-registration fields (Dynamics 365 Marketing)
Content Source: ce/marketing/custom-registration-fields.md
Service: dynamics-365-marketing
GitHub Login: @alfergus
Microsoft Alias: alfergus

Hi @tgradu -- thanks for bringing this to my attention! It is indeed outdated. After you create your custom field, go to the event, then go to Related > Event Custom Registration Fields. You will then be able to add your custom field from there.
I will make sure this doc gets updated! Hope that resolves your issue.


cfn-lint doesn't identify AWS::NotificationARNs as a list

cfn-lint version: cfn-lint 0.19.1
Description of issue
Pseudo Parameter AWS::NotificationARNs returns a list, yet cfn-lint identifies it as a string.
AWS::NotificationARNs

Returns the list of notification Amazon Resource Names (ARNs) for the current stack.

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-notificationarns

Fixed with release v0.20.0


Fallback for domains not matching any VIRTUAL_HOST

I have a lots of domains pointing to my server.
I would like to have some kind of "default" page for all of them without writing each domain in the VIRTUAL_HOST env variable, could it be done with your image ?

Maybe https://github.com/jwilder/nginx-proxy#default-host would work for you?

Yes, thank you !


i18n(zh-cn): Update bun.mdx

Description (required)

Update bun.mdx

Related issues & labels (optional)

Closes #
Suggested label:
https://github.com/withastro/docs/pull/8183

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
recipes/bun.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Fix Jack bind implementation

After much pondering I think I've finally cracked the "right" bind implementation for Gen (Tree a). We're careful to only split the seed once during the bind, and then we use the same seed for every gen in the Tree (Gen (Tree b)), this means that at last ap is equivalent to <*>, very exciting :)
To be concrete, these two generators now produce identical results:
foo :: Jack (Int, Int)
foo = do
  x <- choose (1, 10)
  y <- choose (1, 10)
  pure (x, y)

bar :: Jack (Int, Int)
bar =
  pure (,)
    <*> choose (1, 10)
    <*> choose (1, 10)

Previously the first generator would have a problem that if x was shrunk then we would generate an entirely new value for y, this no longer occurs as the seed for y remains the same no matter the shrinking which is applied to x.
One outstanding issue, which is annoying but probably won't cause an issue, is that this generator is not quite the same as the two above:
quux :: Jack (Int, Int)
quux =
  (,) <$> choose (1, 10) <*> choose (1, 10)

It will behave the same as far as being a distribution of values, but it is not the same function from Seed -> (Int, Int) because it only splits the seed once, where as foo and bar both split the seed twice. This is fundamental to how QuickCheck's Gen works, by splitting the seed whenever it encounters >>= or <*>.
! @charleso


Same sentence is printed three times for a specific PDF file when using pdf2txt

Bug report
When I use pdf2txt on a specific PDF file, I get some sentences printed out three times:
high  volatility  of  their  newly  traded  tokens.  By immediately  allowing  all  new  projects  to
high  volatility  of  their  newly  traded  tokens.  By immediately  allowing  all  new  projects  to
high  volatility  of  their  newly  traded tokens.  By  immediately  allowing  all  new  projects  to
come  on  board  METASEER,  this  inevitably  creates  a  utility  for  the  new  project  that
come  on  board  METASEER,  this  inevitably  creates  a  utility  for  the  new  proj
come  on  board  METASEER,  this  inevitably  creates  a  utility  for  the  new  proj
onboards with us. The new projects will have to create a small liquidity pool and will be
onboards with us. The new projects will have to create a small liquidity pool and will be
onboards with us. The new projects will have to create a small liquidity pool and will be
in the form of (project X/METAS).
in the form of (project X/METAS).

friendly  Hybrid  Options
METASEER  aims  to  provide  its  users  with  a  seamless  user-friendly  Hybrid  Options
METASEER  aims  to  provide  its  users  with  a  seamless  user
trading platform along with competitive t
ransaction fees and a broader range of markets
trading platform along with competitive transaction fees and a broader range of markets
that can be traded. In the future, METASEER will also integrate derivative assets from
that can be traded. In the future, METASEER will also integrate derivative assets from
that can be traded. In the future, METASEER will also integrate derivative assets from
traditional finance such as S&P 500 (SPX), Dow Jones Industrial (DJI), Gold and Brent
traditional finance such as S&P 500 (SPX), Dow Jones Industrial (DJI), Gold and Brent
traditional finance such as S&P 500 (SPX), Dow Jones Industrial (DJI), Gold and Brent
tocks.  Among  the  advantages  of  METASEER
Crude  Oil,  FX  majors  and  high  caps  Stocks.  Among  the  advantages  of  METASEER
Crude  Oil,  FX  majors  and  high  caps  S
include:

a.  Being  decentralized,

prevent  unnecessary  disruptions  and
Being  decentralized,  METASEER  prevent  unnecessary  disruptions  and
interventions by a centralized platform
interventions by a centralized platform

The command I use:
./pdf2txt.py filename.pdf

Expected output: Print the sentences only once, as they occur only once.
Note: I also tried to extract it using a different method (see https://git.ehtec.co/research/pie-chart-ocr/-/blob/32-read-text-and-bounding-boxes-from-pdfs-where-text-is-stored-as-text-and-not-as-image/piechartocr/pdf_extractor.py), which produced the same result. Interestingly, the bounding boxes are not the same for all copies of an affected row:
INFO:root:unsorted_output: ('success and equitable rewards. As such, METASEER Hybrid options will allow users to', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>96,<PHONE_NUMBER>489703,<PHONE_NUMBER>932544,<PHONE_NUMBER>977303))
INFO:root:unsorted_output: ('success and equitable rewards. As such, METASEER Hybrid options will allow users to', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>9199999,<PHONE_NUMBER>489703,<PHONE_NUMBER>406266,<PHONE_NUMBER>977303))
INFO:root:unsorted_output: ('success and equitable rewards. As such, METASEER Hybrid options will allow users to', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>96,<PHONE_NUMBER>489703,<PHONE_NUMBER>041473,<PHONE_NUMBER>977303))
INFO:root:unsorted_output: ('trade options in any direction either Call or Put with a variety of choices such as In th', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>96,<PHONE_NUMBER>8497037,<PHONE_NUMBER>781506,<PHONE_NUMBER>3373035))
INFO:root:unsorted_output: ('options in any direction either Call or Put with a variety of choices such as In the', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>48,<PHONE_NUMBER>8497037,<PHONE_NUMBER>395429,<PHONE_NUMBER>3373035))
INFO:root:unsorted_output: ('options in any direction either Call or Put with a variety of choices such as In th', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>52,<PHONE_NUMBER>8497037,<PHONE_NUMBER>162187,<PHONE_NUMBER>3373035))
INFO:root:unsorted_output: ('Money (ITM), At the Money (ATM) or Out of the Money (OTM) based on dynamic strike', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>9199999,<PHONE_NUMBER>209703,<PHONE_NUMBER>747468,<PHONE_NUMBER>697303))
INFO:root:unsorted_output: ('Money (ITM), At the Money (ATM) or Out of the Money (OTM) based on dynamic strike', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>96,<PHONE_NUMBER>209703,<PHONE_NUMBER>413529,<PHONE_NUMBER>697303))
INFO:root:unsorted_output: ('Money (ITM), At the Money (ATM) or Out of the Money (OTM) based on dynamic strike', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>96,<PHONE_NUMBER>209703,<PHONE_NUMBER>181643,<PHONE_NUMBER>697303))
INFO:root:unsorted_output: ('prices.', 10, 'MABLVX+Helvetica', None, 5,<PHONE_NUMBER>96,<PHONE_NUMBER>0897036,<PHONE_NUMBER>182187,<PHONE_NUMBER>5773034))

I could not reproduce the problem with another PDF file. I tried to convert the file to text using an online service (https://www.pdf2go.com) which worked without the issue; so it must be a problem with this library and not the PDF file.
This is the affected file:
METASEER_Whitepaper_v7.7.pdf
Both the python3-pdfminer package from Debian 11 and pdfminer.six from PyPi are affected.

Update: I found another file affected by a similar issue:
WHITEPAPER.pdf
When using my own code which also outputs positions, I see that entries are duplicated again. However, this time not right below each other, but the same items appear on different pages (although visible only on one):
INFO:root:unsorted_output: ('V . FLOWCOM BUSINESS MODEL: SUSTAINABILITY', 16, 'YSSKMV+VLAbelPro-Bold', None, 8, (-1187.8862, 728.0488, -834.3022, 744.0488))
INFO:root:unsorted_output: ('VII. FLOWCOM R&D', 16, 'YSSKMV+VLAbelPro-Bold', None, 8, (42.6646, 728.0488,<PHONE_NUMBER>0000006, 744.0488))
INFO:root:unsorted_output: ('VIII. ROADMAP', 16, 'YSSKMV+VLAbelPro-Bold', None, 8, (657.9404, 728.0488,<PHONE_NUMBER>999999, 744.0488))

INFO:root:unsorted_output: ('V . FLOWCOM BUSINESS MODEL: SUSTAINABILITY', 16, 'YSSKMV+VLAbelPro-Bold', None, 9, (-1803.1616, 728.0488, -1449.5775999999998, 744.0488))
INFO:root:unsorted_output: ('VII. FLOWCOM R&D', 16, 'YSSKMV+VLAbelPro-Bold', None, 9, (-572.6108, 728.0488, -435.3148, 744.0488))
INFO:root:unsorted_output: ('VIII. ROADMAP', 16, 'YSSKMV+VLAbelPro-Bold', None, 9, (42.665, 728.0488,<PHONE_NUMBER>0000002, 744.0488))

The issue appears no matter if I sort the entries by y coordinates or not.

I can reproduce this issue.


Crashing on access to most app menu items

OS 10.7.3
Quicksilver 61-65 (launching with, and without, Catalog disabled)
Quicksilver does searches fine, and performs actions on them fine.  But crashes consistently when attempting to access app config (Prefs, Guide, Catalog, etc), whether from the UI/bezel or the app menu.  I managed once to get in briefly via Quicksilver menu > Preferences > Catalog.  But it crashed again upon attempting to open that Catalog panel.
Plugins folder has been emptied, Shelves folder was already empty and has since been deleted, none of the Known Bad Apps were on the system, caches have been reset many times.  Tried all the FAQ's recommendations http://qsapp.com/wiki/FAQ#Quicksilver_crashes as well as many from https://github.com/quicksilver/Quicksilver/issues/535
Console system log messages (I'm not seeing a separate log for Quicksilver itself):
https://gist.github.com/2002727
Latest crash report (Quicksilver_2012-03-08-110052_office.crash):
https://gist.github.com/2002735

In the crash report I noticed you have the SCFinderPlugin installed. That is known to cause crashes of Quicksilver (and other applications as well). See http://qsapp.com/wiki/Known_Bad_Applications
Try completely removing it and see if QS still crashes.

Ah-hah!  Thank you.


t2t_trainer Failed to connect to the Tensorflow master

Description
trying to follow: https://github.com/tensorflow/tensor2tensor/blob/master/docs/cloud_tpu.md
getting "Failed to connect to the Tensorflow master" when running t2t_trainer
Environment information
n1-standard-2 vm
OS: Linux eyal-vm1 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux
$ pip freeze | grep tensor
tensor2tensor==1.6.6
tensorboard==1.9.0
tensorflow==1.9.0rc2
$ python3 -V
Python 3.5.3
For bugs: reproduction and error logs
Steps to reproduce:
t2t-trainer --model=transformer --hparams_set=transformer_tpu --problem=translate_ende_wmt8k --train_steps=10 --eval_steps=10 --local_eval_frequency=10 --data_dir=$DATA_DIR --output_dir=$OUT_DIR  --cloud_tpu  --cloud_delete_on_done

Error logs:
INFO:tensorflow:Running on Cloud TPU
Will delete VM and TPU instance on done.
Confirm (Y/n)? > Y
Listed 0 items.
INFO:tensorflow:VM eyaler-vm already exists, reusing.
Creating TPU instance eyaler-tpu
Confirm (Y/n)? > Y
Listed 0 items.
Waiting for operation [projects/vae-st/locations/us-central1-f/operations/operation-1530889609094-570560357271f-91684d02-e0181ff4] to complete...done.
Created tpu [eyaler-tpu].
INFO:tensorflow:VM (Name, IP): eyaler-vm, <IP_ADDRESS>
INFO:tensorflow:TPU (Name, IP): eyaler-tpu, <IP_ADDRESS>
INFO:tensorflow:To delete the VM, run: gcloud compute instances delete eyaler-vm --quiet
INFO:tensorflow:To delete the TPU instance, run: gcloud beta compute tpus delete eyaler-tpu --quiet
WARNING: The public SSH key file for gcloud does not exist.
WARNING: The private SSH key file for gcloud does not exist.
WARNING: You do not have an SSH key for gcloud.
WARNING: SSH keygen will be executed to generate a key.
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): INFO:tensorflow:Set up port forwarding. Local ports: {'tpu_profile': 34945, 'tpu': 38199}
WARNING:tensorflow:Estimator's model_fn (<function T2TModel.make_estimator_model_fn.<locals>.wrapping_model_fn at 0x7fa88485db70>) includes params argument, but params are not passed to Estimator.
INFO:tensorflow:Using config: {'_train_distribute': None, '_service': None, '_model_dir': 'gs://vae-st-storage/t2t/training/transformer_v1', '_device_fn': None, '_save_checkpoints_steps': 100, '_num_worker_replicas': 1, '_is_chief': True, '_tf_random_seed': None, '_master': 'grpc://localhost:38199', 'use_tpu': True, '_task_type': 'worker', '_tpu_config': TPUConfig(iterations_per_loop=100, num_shards=8, computation_shape=None, per_host_input_for_training=2, tpu_job_name=None, initial_infeed_sleep_secs=None), '_keep_checkpoint_max': 20, '_log_step_count_steps': None, '_session_config': gpu_options {
  per_process_gpu_memory_fraction: 0.95
}
allow_soft_placement: true
graph_options {
}
, '_keep_checkpoint_every_n_hours': 10000, '_save_checkpoints_secs': None, '_save_summary_steps': 100, '_evaluation_master': 'grpc://localhost:38199', '_global_id_in_cluster': 0, '_num_ps_replicas': 0, '_cluster': None, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x7fa87d1b7710>, '_task_id': 0}
INFO:tensorflow:_TPUContext: eval_on_tpu True
WARNING:tensorflow:ValidationMonitor only works with --schedule=train_and_evaluate
INFO:tensorflow:Running training and evaluation locally (non-distributed).
INFO:tensorflow:Start train and evaluate loop. The evaluate will happen after 600 secs (eval_spec.throttle_secs) or training is finished.
INFO:tensorflow:Querying Tensorflow master (grpc://localhost:38199) for TPU system metadata.
2018-07-06 15:11:42.090327: W tensorflow/core/distributed_runtime/rpc/grpc_session.cc:349] GrpcSession::ListDevices will initialize the session with an empty graph and other defaults because the session has not yet been created.
WARNING:tensorflow:Failed to connect to the Tensorflow master. The TPU worker may not be ready (still scheduling) or the Tensorflow master address is incorrect: got (grpc://localhost:38199).
WARNING:tensorflow:Retrying (1/120).
INFO:tensorflow:Querying Tensorflow master (grpc://localhost:38199) for TPU system metadata.
2018-07-06 15:12:42.092534: W tensorflow/core/distributed_runtime/rpc/grpc_session.cc:349] GrpcSession::ListDevices will initialize the session with an empty graph and other defaults because the session has not yet been created.
WARNING:tensorflow:Failed to connect to the Tensorflow master. The TPU worker may not be ready (still scheduling) or the Tensorflow master address is incorrect: got (grpc://localhost:38199).
WARNING:tensorflow:Retrying (2/120).
INFO:tensorflow:Querying Tensorflow master (grpc://localhost:38199) for TPU system metadata.
2018-07-06 15:13:42.095482: W tensorflow/core/distributed_runtime/rpc/grpc_session.cc:349] GrpcSession::ListDevices will initialize the session with an empty graph and other defaults because the session has not yet been created.
...
[continues like this]

i think the problem was related to the script interfering with the passphrase user input. once i ran the commands manually and created a passphrase, the issue was solved


Sequel ORM: Should use TRUNCATE ... CASCADE on Postgres

Surprised this isn't built into the Sequel ORM. There's no simple way to do this other than running the SQL directly.
This doesn't work:
DatabaseCleaner.clean_with(:truncation, :except => [:schema_migrations])

This does:
(DB.tables - [:schema_migrations]).each do |table|
  DB.run("TRUNCATE TABLE #{table} CASCADE;")
end

I didn't have a chance cleanly integrate this, but thought I'd at least create an issue. You could do a check to see if the db is a Sequel::Postgres::Database type prior to either running the default truncate method or running the custom SQL.

Ok, thanks for the heads up.  TBH, I haven't really taken a close look of the Sequel code that was merged in so I don't have any ideas ATM what would be the cleanest approach.

Hello. I've fixed this on my fork and submitted a pull-request. Cheers.

I merged in @japgolly's fix.


Make a target manifest

Be able to scroll through list of every gene that has been nominated and select a single gene to jump in to the full dashboard.
Columns:
NominatedBy
Directionality Prediction

dropping directionality prediction for this milestone, but have the necessary data now

Done.


GH-15017: harden test_memory.py for use with ARROW_USE_GLOG=ON

Use the fix suggested by @kou
Closes #15017

Closes: #15017

@github-actions crossbow submit -g conda-linux-x64-cpu-py3

I don't want to run the full barrage of conda-tests here to verify that the tests passes when glog is enabled. One run of conda-{linux,osx}-x64-cpu-py3 would be enough, but I don't know how to do that with the crossbow invocation.

@github-actions crossbow submit conda-linux-x64-cpu-py3 conda-osx-x64-cpu-py3

@github-actions crossbow submit conda-linux-x64-cpu-py3 conda-osx-x64-cpu-py3

Thanks for fixing the superfluous f-string! :)


Configure break on first line

Not sure if this is a good idea but the plugin runs debug with the --debug-brk flag every time. I think I would like a way of running debug without breaking on the first line every time which I think --debug would do.

The break on first line is because of node. It is so the debugger has plenty of time to connect. So you do not miss any parts early in the code.. What I think it should do is have an option, so once it is connected, it automatically continues. (Unless of course there is a real breakpoint on the first line.


fix(core): take into account scrollbar in active zone

Closes #6785

Can we fix that in 3.0 as well?


[stable/mongodb] Ability to add labels to service

Which issue this PR fixes

fixes #20758

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[ ] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/ok-to-test

This chart has been deprecated and moved to https://github.com/bitnami/charts/tree/master/bitnami/mongodb
Fore more information, see https://github.com/helm/charts/tree/master/stable/mongodb#this-helm-chart-is-deprecated


Minor bug fixes, quality improvements

Retains only "prediction-" files and drops "low_res"
Better documentation surrounding non-paired samples in preprocess
Names chunks for easier debugging
Removes necessary ordering on sampInfo input

i'm getting this error when running the script commandLineAlign.R :
[1] "TIL Algorithm (Threshold): Frontiers InceptionV4: 0.1"
[1] "=========== Params after R parsing, if any misalignment please check your flags ==========="
$algorithm
[1] "inceptionv4"

$tilDir
[1] "/data/results-tils"

$tilThresh
[1] 0.1

$cancDir
[1] "/data/results-tumor"

$cancThresh
[1] 0.5

$sampFile
[1] ""

$outputFile
[1] "output.csv"

$outputDir
[1] "/data/results-tilalign/"

$writePNG
[1] TRUE

$sampInfo
[1] "/data/sample_info.csv"

 . . . Dropping low_res and color- files . . .
Error in if (grepl("low_res", tils)) { : the condition has length > 1
Execution halted

@lthealy can you test this out with tumor/TIL predictions files? that will be faster than me testing it and pasting error messages here.
this is probably a good time to use grep, like grep prediction* and then remove the *low_res files.

New commits fix the error (from bottom of your screenshot) by wrapping grepl() with any(grepl()), along with small quality improvements (see commit message)


KPOP is incompatible with turbo-rails 2

https://github.com/hotwired/turbo-rails/issues/580
Kpop relies on turbo-frame navigation promotion to integrate with browser history. turbo-rails v2 breaks this functionality by adding an empty header to frame responses, which causes the turbo head change detection to fail, preventing turbo from snapshotting head.

Compatibility workaround added in 3.1.0


Why does the user have to sign in with his apple id when first installing an app using Adapty?

It kind of affects the UX of the app I am developing. When you open my app, the first screen is a sign in screen with email+password, apple id, facebook or google account.
Now, after adding the adapty SDK and calling Adapty.activate(), a popup opens where the user has to sign in with his apple id.
I hope you understand that it affects the UX negatively. How can I avoid that?

You can check from the source code that Adapty SDK does not affect your UI/UX in any possible way.

@iwitaly it doesn't affect flutter ui, but it triggers a native iOS dialogue where the user has to log in with his apple id.

Hi, @Tobi696! Indeed, you may get this dialog if you have not currently authorized your Apple Id account. In the case of sandbox testing this happens quite often, but in the production environment everything will be fine and the user will not get an authorization prompt unless you manually call the restorePurchases method.

Alright, thank you guys!


RP Radio works but Proximity chat doesn't.

Recently I updated my PMA-Voice to 6.2.5 and when I go near people I cannot hear them however the radio works fine. I use Onesync too if that helps.

Just tested, phone works aswell. Just proximity that doesn't work. I'm using 2372 as the game build and on client I am running canary. The gameversion is 5153.

I also have this problem, there is no problem with the phone and radio, but there is no sound in proximity.

@WolfzAtYT Problem solved when I closed the vMenu


Watch for Secrets

Proposed changes
Problem:
NKG doesn't watch for updates of TLS Secrets referenced by Gateway resource.
Solution:

Move secrets processing into ChangeProcessor.
Introduce helper secretResolver component to resolve Secrets (includes validation) and capture resolved Secrets.
When building Gateway Listener, resolve Secrets using secretResolver.
When building Graph, add referenced Secrets by Gateway to the Graph, including the ones that don't exists.
When Upserting or Deleting a Secret to ChangeProccessor, use Graph to determine if the Secret is referenced by the Graph and thus changes the store.
When building Configuration, add all TLS Secrets to it referenced by valid TLS Listeners.
Update NGINX file.Manager so that it can deal with multiple files of two types: regular and secret.
Remove SecretStore and SecretDiskMemoryManager components.

Testing:

Update affected and add new unit tests
Manual testing
Conformance testing. Relevant tests pass: TestConformance/GatewayInvalidTLSConfiguration

Closes https://github.com/nginxinc/nginx-kubernetes-gateway/issues/553
Closes https://github.com/nginxinc/nginx-kubernetes-gateway/issues/441
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[x] I have read the CONTRIBUTING doc
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked that all unit tests pass after adding my changes
[x] I have updated necessary documentation
[x] I have rebased my branch onto main
[x] I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

not resolving conflicts yet, so that those changes don't clutter the changes based on the feedback so far


to_date: ERROR:  date/time field value out of range: "20031301"

Cloudberry Database version
version

PostgreSQL 14.4 (Cloudberry Database 1.4.0 build commit:e83e3ffc22d538deb2dbceeeae0138ca2de064e6) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 10.2.1 20210130 (Red Hat 1
0.2.1-11), 64-bit compiled on Aug  3 2023 10:15:47
(1 row)
What happened
function to_date in cbdb got below errors:
dw_open=# select to_date('20031301','yyyymmdd');
ERROR:  date/time field value out of range: "20031301"
dw_open=#

but same function works in hashdata 2.x:
dw_open=# select to_date('20031301','yyyymmdd');
  to_date
------------
 2004-01-01
(1 row)

What you think should happen instead
No response
How to reproduce
run: select to_date('20031301','yyyymmdd');
Operating System
centos 7.9
Anything else
No response
Are you willing to submit PR?

[ ] Yes, I am willing to submit a PR!

Code of Conduct

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

This is bug in hashdata 2.x. We test hash3.x, CBDB, PG14.4, all these  output with 'ERROR:  date/time field value out of range: "20031301"'. Also this make on sense that one year has more than 12 months.


Refactor NLG metrics

This is an attempt to refactor NLG metrics to make them more general and less verbose, please take a look!

Do you think all current implementations are kinda WMT dataset oriented? We could make it generalized gradually in future PR.

Yeah, somewhat. I wanted to fix the above issue of generality before merging the current PR, but we can also generalize more in the future.


[apr] - APR 1.7.0 is failing to download.

Host Environment
Windows Server 2022
visual studio 2022 professional
Windows 10 SDK 20348
To Reproduce
Steps to reproduce the behavior:
./vcpkg install log4cxx
might even fail with just ./vcpkg install apr
have an override of log4cxx @ { "name": "log4cxx", "version": "0.11.0#3" }
Failure logs
Installing 60/62 apr:x64-windows-static...
Building apr[core]:x64-windows-static...
-- Installing port from location: C:\vcpkg\buildtrees\versioning_\versions\apr\2f23cf24a3496f9fb519512245a3e0f1a66c8ed9
-- Downloading https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2 -> apr-1.7.0.tar.bz2...
[DEBUG] To include the environment variables in debug output, pass --debug-env
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
Downloading https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2
error: Failed to download from mirror set
error: https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2: failed: status code 404

Additional context
I believe APR updated to 1.7.1 and 1.7.0 is no longer offered.

I see there is a pull request for the above, which is great! Is there a reasonable workaround in the meantime before this is made available?  We are looking at manually downloading the APR archive to our build machines locally, so it will ideally use a local copy and not try and download.  Curious if there was something more straight forward?

Oddly we are seeing APR 1.7.1 missing now and looks like an update to 1.7.2 is the only available.  Not sure if the above update can accommodate this?  @LilyWangLL

This issue has been fixed in PR #29388, please update your vcpkg by command git pull and rebuild apr.

Yep, that worked. Thanks again!


[FEATURE REQUEST] Add more playbook examples in bluebanquise/resources/examples/simple_cluster/playbooks/

It would be interesting to provide more examples in bluebanquise/resources/examples/simple_cluster/playbooks/ to speed up basic tests of addon capabilities:
cat playbooks/addons.yml
---
- name: addons roles to run everywhere
  hosts: "mg_managements,mg_computes,mg_logins"
  roles:
    - role: root_password
      tags: root_password
    - role: prometheus_client
      tags: prometheus_client

- name: addons roles to run on management nodes
  hosts: "mg_managements"
  roles:
    - role: clustershell
      tags: clustershell

- name: addons roles to run on mngt1 only
  hosts: "management1"
  roles:
    - role: conman
      tags: conman
    - role: diskless
      tags: diskless
    - role: prometheus_server
      tags: prometheus_server

# cat playbooks/logs.yml
---
- name: log server playbook
  hosts: "management1"
  roles:
    - role: log_server
      tags: log_server

- name: log clients playbook
  hosts: "mg_computes,mg_logins,management2"
  roles:
    - role: log_client
      tags: log_client

Interestingly, we discussed this with @oxedions yesterday. We might re-use playbooks from https://github.com/bluebanquise/bluebanquise-vagrant/tree/master/profiles/single_iceberg/playbooks

Well, please try to stick to a single playbook for add-ons, but also plan
one separated for advanced dns. It would be more helpful.
Le ven. 18 sept. 2020 à 16:18, Bruno Travouillon<EMAIL_ADDRESS>a écrit :

Interestingly, we discussed this with @oxedions
https://github.com/oxedions yesterday. We might re-use playbooks from
https://github.com/bluebanquise/bluebanquise-vagrant/tree/master/profiles/single_iceberg/playbooks
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bluebanquise/bluebanquise/issues/375#issuecomment-694895951,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABM6DUZ5LR6FHUHRUQ56LHLSGNT33ANCNFSM4RRUBWLQ
.

I am sorting issues. Is it still relevant ?

Yes I guess

Ok thanks 😊

Closing now since its no more needed :blush:


Fix Context leak in LatestAppVersion task #64, #66

This should fix #64 and #66 and remove crashes.

Thank you so much! 👍


Broken traverse-wordlist

Some test cases:
t{ 0 ' false wordlist traverse-wordlist -> 0 }t
t{ 0 ' false forth-wordlist traverse-wordlist ( 0 nt ) 0<> -> 0 true }t
t{ 0 :noname drop 1+ true ; forth-wordlist traverse-wordlist ( u ) 0 u>  -> true }t

Last two cases produce -9 thrown: invalid memory address.

Does (or should) TRAVERSE-WORDLIST skip :NONAME words?

Yes, travarse-wordlist only enumerates the definitions that have been placed into the word list (and not removed).
A new named definition is formally placed into the compilation word list when it becomes findable in this list; a colon-definition becomes findable on ; (Semicolon) or on does>. An unnamed definition is not placed into the compilation word list at all.
See also: TRAVERSE-WORDLIST must not expose the current definition.


Fix the docs targets

What this PR does / why we need it:
Fix  the docs targets:

make docs
make verify-docs

Special notes for your reviewer:
5048ed8 removed the pre-built docs from the code base. Following a discussion on slack with @adamreese @flynnduism, the docs targets are still required to generate the help docs for the web documentation.
If applicable:

[x] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

@bacongobbler ok, thanks for the feedback. I will simplify the pr then as just remove the target as suggested.

@bacongobbler updated and ready for review again

Updated and ready for review again.

Thanks @bacongobbler and @adamreese for reviews and merge.


Difference between using SMACC2 and QP/C++ framework?

I am relatively new to ROS and come from an embedded background. A well-known framework for Hierarchical state machines is the QP/C++ framework.
I would like to know from the ROS perspective, what are the out-of-the-box advantages that SMACC2 has when developing an event-driven state machine in comparison to using a HSM framework (such as QP) and integrating the ROS SDK directly.
Kind regards,
Victor

Hi Victor,
This could be a rather long conversation, but off the top of my head...

Out of the box integration with ROS Topics, services, actions...
Reference Library of State Machines you can use out of the box...
Client Library that currently provides reuseable behaviors for Nav2 and MoveIt2 (among others) out of the box...
Support for orthogonals/multiple physical subsystems to a greater degree than QP/C++...
Compile time validation of the state machine...
The ability to visualize your state machine both statically and at runtime via the SMACC2_RTA...

There might be one or two more that I'm forgetting.
I would like to say though that I'm a big fan of Miro Samek's work and I was definitely influenced by both his writings and QP/C++. I would characterize it though as being more suited to smaller embedded devices and PC applications as opposed to complex robotic systems. From it's inception, SMACC was designed to meet the needs of advanced robotics.
Hope this was helpful.
Cheers


Updated Typescript examples for the multi-version API SDK

also added a "download dashboard" example that supports rendering as PDF, PNG, or JPEG

Just thought of some additional updates to make the "downloads" more flexible. You can wait for the next commit if you'd like.

Ok, now it's ready for review


Failing to remote debug Python Lambda using pydevd

I've tried various combinations to get remote debugging to work, but so far I'm unsuccessful. In my environment I'm using a Mac with PyDev IDE. I start the PyDev debug server on port 5678. I can run a local Python script from the command line using pydevd and it connects to my debug server, and I'm able to remotely debug the code.
With 'sam local', I use the simple Lambda below, but it does not connect to my debug server in PyDev:
import pydevd

print('Loading function')

def handler(event, context):
    pydevd.settrace("<IP_ADDRESS>", port=5678)
    message = event['Records'][0]['Sns']['Message']
    print("From SNS: " + message)

Here is the output:
$ sam local invoke AirmileFunction --debug-port 5678 --template sam-airmile-with-stack-dependency.yml --event testSNSEvent.json
2017/08/16 11:13:42 0.1.0
2017/08/16 11:13:42 Successfully parsed sam-airmile-with-stack-dependency.yml (version 2010-09-09)
2017/08/16 11:13:42 Connected to Docker 1.27
2017/08/16 11:13:42 Fetching lambci/lambda:python2.7 image for python2.7 runtime...
python2.7: Pulling from lambci/lambda
Digest: sha256:6df7061392bd2fe09b6422b24a821f4a98c799b071d5a080989e9dda8ce3ffe7
Status: Image is up to date for lambci/lambda:python2.7
2017/08/16 11:13:46 Invoking calc-airmile-lambda.handler (python2.7)
START RequestId: 602c0719-e605-4544-8307-275f2159d54a Version: $LATEST
warning: Debugger speedups using cython not found. Run '"/usr/bin/python2.7" "/var/task/setup_cython.py" build_ext --inplace' to build.
Loading function
Could not connect to <IP_ADDRESS>: 5678
Traceback (most recent call last):
  File "/var/task/_pydevd_bundle/pydevd_comm.py", line 524, in start_client
    s.connect((host, port))
  File "/usr/lib64/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 111] Connection refused

If I run the PyDev debug server first, I see the following error, so I run 'sam local' first, then start the debug server. The usual approach is to start the debug server first, then run the python script that connects to the debug server:
Bind for <IP_ADDRESS>:5678 failed: port is already allocated

Hi @MCLDG,
In most debugging scenarios, the process inside the container will host the debug server, and the IDE will connect to that. This is how Node.JS, Java and remote-pdb for Python work.
It seems PyDev is the other way around; you're starting a debug server on your machine and want the Lambda script to connect out to it.
To do this, don't specify the -d or --debug-port options to SAM Local (these map through the port on your machine, into the container - which is why you're seeing the port already allocated message).
Instead, just specify the IP address of your main machine in the pyd.settrace() method. For example, if your laptop IP address was <IP_ADDRESS>, you would put pydevd.settrace("<IP_ADDRESS>", port=5678).
Feel free to reopen this issue if that doesn't resolve the problem for you.

Hi,
pls help me
I stay trying this:  https://cuprak.info/2017/10/09/debugging-aws-lambda-with-netbeans/amp/
and I'm having similar problems
https://drive.google.com/file/d/0B9gPdWq4OH-XTThHMktHYzlGWjg/view?usp=sharing
https://drive.google.com/file/d/0B9gPdWq4OH-XTThHMktHYzlGWjg/view?usp=sharing


Inconsistent skolemization

At the moment when we typecheck a let binding with a signature we skolemize the quantifiers in the signature, unify it with an inferred type of the bound term, and then unskolemize the quantifiers. However, when we typecheck an annotated lambda we skolemize the quantifiers, typecheck the body, and keep the skolems. Without keeping the skolems some examples rightly fail - see #3. This is inconsistent and unsatisfying. I think the right thing to do from a theoretical standpoint would be to skolemize the quantifiers when checking the type of the annotated binder against the type of the argument in a function application, and after the check succeeds unskolemize the quantifiers. However, inferno does not allow doing something like this easily. For let bindings it generates a CLet constraint so it's easy to place the skolemization logic in the right place, but for function application it generates:

so basically an existential with a nested conjunction of constraints. With such constraints it isn't immediately obvious that we are typechecking a lambda application. However, for lambdas we generate CDef constraints, so perhaps we could peek into the structure of constraints when handling CExist and if the structure is CConj (CDef ...) we could unskolemize quantifiers on the signature. This sounds like a horrible hack but I believe it will work. The first thing I need however is an example that actually breaks with the current behaviour.

After some investigation it turns out that the right thing to do is to skolemize the quantifiers in a frozen type and unskolemize them after unification (see https://github.com/jstolarek/inferno/issues/15#issuecomment-735768387), and at the same time not to skolemize the quantifiers in an annotated lambda binder. This handles all the test cases correctly.


Adding some auth to pages and doing some general cleanup

LG. I removed a redirect to a fb test page, but otherwise looks good. merging in.


Suggestion about text mode

Make "-t" get the version of API as an argument, use semantic versioning for the API, and interpret no argument and zero as the latest version. Or make another flag -tv which accepts the version and reserve -t for the latest version.

I see the point.
Until now I was hoping to rather keep the text support API stable after some initial time of maturation. So far it worked for me as it is, but I have not received any external feedback.
It's a tradeoff of CLI complexity/simplicity and long-term reproducibility.
If you doubt the long-term stability, you could also just add the 3 lines it is injecting, manually to your script. But it would be clearly a bit more verbose and not a one-liner anymore.
Finally, from a user perspective, if the -t without argument would refer to the latest version, most users would go for it, without bothering to lookup the current version of the support API I guess. Making the version a mandatory argument, would be tedious and confusing for the user.
I'd suggest to implement the fix, the first time we roll out a backwards incompatible change to the text support API. What do you think?

Perhaps printing a warning would do:
“ Text API version not supplied: This script may not work with future
versions of kscript. Please use ‘-t ’. Alternatively,
use ‘-tf’ not to see this warning.”
This makes it very easy to add the version to the command, and anyone not
using it has been warned. No need to break compatibility either.
I think a huge number of usages don’t even need future compatibility and
are one-time usages, so keeping ‘-tf’ is essential.
On Fri, Mar 23, 2018 at 1:58 AM Holger Brandl<EMAIL_ADDRESS>wrote:

I see the point.
Until now I was hoping to rather keep the text support API stable after
some initial time of maturation. So far it worked for me as it is, but I
have not received any external feedback.
It's a tradeoff of CLI complexity/simplicity and long-term reproducibility.
If you doubt the long-term stability, you could also just add the 3 lines
it is injecting, manually to your script. But it would be clearly a bit
more verbose and not a one-liner anymore.
Finally, from a user perspective, if the -t without argument would refer
to the latest version, most users would go for it, without bothering to
lookup the current version of the support API I guess. Making the version a
mandatory argument, would be tedious and confusing for the user.
I'd suggest to implement the fix, the first time we roll out a backwards
incompatible change to the text support API. What do you think?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/holgerbrandl/kscript/issues/112#issuecomment-375463575,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aii--kFgXJ1iZ0yFUwwfvrA5l2kL96XQks5thBd8gaJpZM4S3y96
.

PS: Change '-tf' to '-t 0', which can also be used as '-t0' anyways. This is simpler.

I think optional arguments can not have optional parameters. At least not when following posix conventions, and also not in docopt (which is used in kscript). So we we would need a dedicated option or make the version  mandatory. None seems really attractive.
I still think that we should simply reiterate over the text-processing API to make it a bit more feature-rich/better-designed and then freeze the API using a set of regression tests. From then on it would be just bug-fixing.
Also when using awk or sed we basically trust the authors to ensure backward compatibly. With respect to text-processing mode kscript should be no different imho.
To be 100% backwards compatible, you could

keep the current version of kscript under an alias such as kscript_2.4 and refer to this in case you wan guranteed API compatibility.
skip the text-mode and declare the text-processing preamble yourself, or
build a custom dsl wrapper with strict versioning on top of kscript via https://github.com/holgerbrandl/kscript/blob/master/docs/user_guide.md#create-interpreters-for-custom-dsls

@holgerbrandl Hmm ... You are right, I didn't know that. I think the best option now is to require a version the first time you roll out a backwards incompatible change to the text support API, as you said. Writing -t0 is as easy as -t.  We should strive to encourage progress.

Sure we should strive to encourage progress. Feel welcome to suggest features via or ticket to PR. Meanwhile, I'll try to formalize the API by writing unit-tests to cover the existing features. Because just when having a formal spec via testing, we can detect breaking changes.
The current version was more meant as a proof-of-concept, I'd be tempted to start the stable branch (e.g. kscript's non-versionable default) once we have cleared our minds about what it should include.

Another solution which crossed my mind would be to allow users to enforce a non-latest text-version api via a config annotation. Like
#!/usr/bin/env kscript

...
file:TextApiVersion("1.2.3")
...

This would keep the CLI more slim, but still enable a very defined setup for users that are more concerned about long term compatibility of kscriptlets.

Closed due to inactivity. Feel welcome to keep commenting on this thread.


fix(UI): allow non-VR UI usage

This fix makes it possible to use Unity UI in the regular, non-VR way
while making sure the VR UI interactions provided by VRTK still work.
Since this introduces a new class VRTK_EventSystem the existing logic
to disable the auto-pausing behavior in Unity 5.5 and above is moved
into the new class. Possible confusion regarding the naming of the
existing VRTK_EventSystemVRInput and the new class is resolved by
changing the name of the existing class to VRTK_VRInputModule. An
unused constant of VRTK_UIPointer is also removed.

I only seem to get canvases that are set to "screen space - overlay" to work right now. Maybe I'm just doing it the wrong way to allow for world space canvases.
Let me know if this works for you or if you know how to make world space canvases work with the mouse. 😄

I think @narfanator has done some work on this in the past. Worth hooking up and comparing notes

I integrated these changes into my project and simultaneous UI interaction is now working where it wasn't before.
I have two canvases. Both are World Space. Mouse interaction works on the desktop canvas and interaction with the VR canvas works with the new VRTK_UIPointer script. I am not getting any errors running this and made no other changes to my project.
I'll continue to run this code and if I notice any issues I'll report back but it seems very solid as is. Thanks kindly for the work on this, it's going to save me a lot of time.

Thanks for testing @GloryFish!
I just checked: If I actually create a second camera for desktop only and make sure to set that one as the "Event Camera" of the canvas it works for world space, too. :tada:
This means this should be ready to merge @thestonefox 😄

This is awesome.

Sorry :( i think my pointer PR created conflicts in here :( i shudda checked first :(

I can't tell what's going on this (yet). Still working my way through the Pointer codebase.
My best guess at  this time is that you've found a way to make the normal Unity event system / input module work while VR is active?

@narfanator Yes:

This fix makes it possible to use Unity UI in the regular, non-VR way
while making sure the VR UI interactions provided by VRTK still work.

VRTK provides a way to use Unitys UI in VR using pointers or directly interacting with it via the controllers. This change just makes it possible to still be able to use Unity UI using mouse and keyboard.
It does this by making sure to call Process on both the StandaloneInputModule and the one VRTK provides. This only works correctly because the VRTK VR input handling is doing most of its work without using EventSystem. EventSystem is not made to allow multiple active input modules... So this solution is kinda hacky, but works :)
BTW: I will update this PR sometime next week so it works on the current master again. I'm currently having a terrible cold. :(

I could've sworn that just calling Process on Standalone didn't work :/

@narfanator Yeah you have to make sure to change the private field that references the current event system of all the input modules. Otherwise those input modules aren't able to correctly communicate their stuff with the event system.
As long as the VR input module VRTK has doesn't use the selection stuff of the event system everything is fine. The selection stuff is handled partially by he current event system which totally isn't written to support multiple input modules, so stuff would break.
That's the reason this fix works for the VRTK VR input module, but wouldn't allow to use any input modules at the same time.

@thestonefox This should be ready to merge again :)

I'm trying to do something somewhat similar.
I have a virtual tablet with a world-space canvas on it, and I want to create a virtual stylus that can interact with it by tapping on the virtual screen.
I've given the canvas a VRTK_UICanvas component with "Click on Pointer Collision" set.
The stylus has a collider (with Is Trigger set) and a kinematic rigidbody. The stylus has a parent GameObject that has a VRTK_UIPointer component on it, with a Click Method of "Click on Button Down". The Controller field is set to the RightController (only because I get errors otherwise) and the pointer origin transform is set to the parent of the stylus.
The parent GameObject of the stylus also has a VRTK_Player object, with an Object Type of "Collider".
Nothing happens when the stylus touches the screen.  I've done a bit of digging, and found that the VRTK_VRInputModule's ClickOnDown() method gets called, but returns false because the list of raycast results is empty.
I checked in VRTK_UIGraphicRaycaster, and in the Raycast method it checks against all the UI elements on my virtual tablet. However, the following test:
if (!RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, pointerPosition, eventCamera))
... never succeeds.
I'm clearly missing something, but I'm really scratching my head on this one.
Note that as an alternative to the stylus, I may eventually use the fingertip of my articulated virtual hand (which is why I'm not using rigid bodies attached to the controller).
I can probably work out a way to do it without using VRTK, but I don't want to reinvent the wheel if I don't need to. I suspect that most of what I need is already implemented in VRTK, and I'd rather simply use it rather than roll my own
.
Any help is much appreciated!


Add a custom variable validator and change the properties to protected

This implements the changes as discussed in #97 which allows for a custom validator without extending the class.
Updating all properties from private to protected allows for flexibility in case the MathExecutor class is extended.

Nice stuff.  Will merge now and do a release later this week.  I may want to update the library to 7.4 to support typed properties.
Thanks!


Full fix for installation issue when My Documents on network drive

Summary of the Pull Request
Full fix for https://github.com/microsoft/PowerToys/issues/32341 that works for both per-user and per-machine installs.
PR Checklist

PR Checklist

[X ] Closes: #32341
[X ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments
A custom action is used to install DSC assets in the case of a per-user install. A WiX-based install is performed (as before) in case of a per-machine install.

Validation Steps Performed
When My Documents is on a network drive,

Checked DSC assets correctly installed when installing PerUser / PerMachine.
Checked DSC assets correctly installed when upgrading PerUser.
Checked DSC assets correctly deleted when uninstalling PerUser / PerMachine. Note that occasionally, the containing folder (e.g. Microsoft.PowerToys.Configure\v0.0.1) is not correctly deleted when My Documents is on a network drive. I think this is because there is a latency-related issue with detecting that the folder is empty on the network drive shortly after having deleted files on it. Note that this issue never seems to occur when My Documents is on a regular drive; the containing folder always correctly gets deleted.

@microsoft-github-policy-service agree company="Microsoft"


not compatible with item physics mod

when using item physics new drop animation and item despawn timer, the timer does not appear.

Has been fixed with v0.2.2, which is now available on Modrinth (and pending review on CurseForge)


logx conf add DisableStat

logx conf add DisableStat
Log:
Mode: console
Path: logs/api
Level: info
DisableStat: false

Why do this? Usually production environments don't stop or enable statistics frequently.

Thank you for submitting the pr, but this feature is not commonly used, so it is not recommended to integrate into the framework, which will increase the complexity of the configuration. Implement it yourself if needed.

The submitted function is a method already implemented by the framework, and only a configuration parameter is added。

The submitted function is a method already implemented by the framework, and only a configuration parameter is added。

Yes, thank you very much for your PR, it will increase the complexity of the configuration. we'll revisit the issue when there are more voices.


Please update Changelog.md and debian/changelog files

Please (re) start updating the StatsD changelog.md and debian/changelog files.
This is super helpful when building pkgs of statsd - esp. in the way described in this issue:
https://github.com/etsy/statsd/issues/161

See also #506

closed with https://github.com/etsy/statsd/pull/506


[COMMENT] Should getAllMMKVInstanceIDs return the ID_STORE as well

RE:
https://github.com/ammarahm-ed/react-native-mmkv-storage/blob/master/src/api.js#L276
https://github.com/ammarahm-ed/react-native-mmkv-storage/blob/4e9ecf237a11f12875dd088ab5f64c68a68dcaa5/src/mmkv/IDStore.js#L65
Sorry if this isn't the appropriate place to raise this issue, just asking questions about the code.
Should the IDStore also have its ID returned in calls to getAllMMKVInstanceIDs?
Also, should getAllMMKVInstanceIDs be static, not instance level? It seems like this function has nothing to do with instance level data, and more to do with "all instances of MMKV stores", which seems more appropriate at the class level.
Happy to PR with either of those suggestions if deemed useful, but would want to know if that works with your plans before doing so.

Should the IDStore also have its ID returned in calls to getAllMMKVInstanceIDs?

@netshade No it should not.

Also, should getAllMMKVInstanceIDs be static, not instance level? It seems like this function has nothing to do with instance level data, and more to do with "all instances of MMKV stores", which seems more appropriate at the class level.

If it doesn't break anything then yes, it should be moved. MMKVStorage.getAllMMKVInstanceIDs would be better.

Happy to PR with either of those suggestions if deemed useful, but would want to know if that works with your plans before doing so.

You can send in a PR.


Nano error on Bash on Ubuntu on Windows

When nano text editor is open you cannot use ctrl+x to close out nano.
Simply launch hyper, run the bash command on Windows 10 using Bash on Ubuntu on Windows, run "nano hello.cpp" once nano is open try to exit nano using ctrl+x, nothing happens.

Hyper 1.3.1
Electron 1.4.15
win32 x64 10.0.14393

Closing for #1424


⚠ Bofrost.de has degraded performance

In 09771a9, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1840 ms

Resolved: Bofrost.de performance has improved in 457c7d1 after 1 hour, 29 minutes.


Update cert-manager integration with recommended doc style

Updates the cert-manager integration docs with the recommended doc style.
Keeps the workaround for the working dir pilot image since this won't be fixed till tp2.

/ok-to-test

@jewertow you mind taking a look at this? It's mostly updating the existing cert-manager integration docs with the recommended style.

/override ci/prow/e2e-ocp-4-17 ci/prow/e2e-ocp-4-16-arm ci/prow/e2e-ocp-4-16 ci/prow/e2e-kind ci/prow/scorecard ci/prow/gencheck ci/prow/integration

/override ci/prow/scorecard


Potential error(e.g., deadlock) due to the unreleased lock &rd.mutex

Hi, developers:
If the pthread_create return 0,i.e., fails to create the thread, the function returns immediately with the lock rd.mutex unreleased. It is in the test folder but still worth fixing for higher quality. Thank you for your checking.
https://github.com/axboe/liburing/blob/a209abe65befe603311b6fcd861e14d28e3e2f2d/test/send_recv.c#L248
https://github.com/axboe/liburing/blob/a209abe65befe603311b6fcd861e14d28e3e2f2d/test/send_recv.c#L252
The relevant code is shown here.
static int test(int use_sqthread, int regfiles)
{
	...;
	pthread_mutex_lock(&rd.mutex);  // the lock is here
	...;

	ret = pthread_create(&recv_thread, NULL, recv_fn, &rd);
	if (ret) {
		fprintf(stderr, "Thread create failed: %d\n", ret);
		return 1;  // without releasing after returning
	}

}

Best,

Thank you!


Can the bot runtime generated by Composer be run locally independent of Composer?

Composer documentation only seems to provide the option to deploy the bot to Azure. In our environment, we would like to deploy the bot locally (on-premise), not in the cloud.
The question is not about testing - I understand that the bot can be run and tested locally under the Composer. This is for a production environment - we would like to be able to just get the bot runtime generated by Composer and run it on our VM (ideally Linux, not Windows) or in a docker container, without the Composer also being present.
Is this possible?
Thank you for any clarification.

Hi @cs-sd, it sure can! You can eject the runtime and run it as a regular bot in whatever environment existing Bot Framework bots can run in. See the following doc getting started with this: https://docs.microsoft.com/en-us/composer/how-to-add-custom-action#export-runtime


Feature Request - Homebrew

It would be nice if the installation also offered homebrew support.
Just create a folder "Formula" for this, inside this create a file called "cloudctl.rb"
Insert the following content into the "cloudctl.rb" file
(Static example for the current release 0.11.4)
`class Cloudctl < Formula
release = "0.11.4"
desc "Commandline client for Kubernetes as a Service and more!"
homepage "https://github.com/fi-ts/cloudctl"
url "https://github.com/fi-ts/cloudctl/"
version release
if OS.mac?
if Hardware::CPU.arm?
url "https://github.com/fi-ts/cloudctl/releases/download/v#{version}/cloudctl-darwin-arm64"
sha256 "eab57802c79398fde3e1c64efb57f3a518c12200d2d4274436c76cca74f5a99b"
else
url "https://github.com/fi-ts/cloudctl/releases/download/v#{version}/cloudctl-darwin-amd64"
sha256 "f1393a9ae9d18694f0e704c860a57d12b364a27b53d92f457df8b0cc5ce41a40"
end
elsif OS.linux?
if Hardware::CPU.arm?
url "https://github.com/fi-ts/cloudctl/releases/download/v#{version}/cloudctl-linux-arm64"
sha256 "notYetReleased"
else
url "https://github.com/fi-ts/cloudctl/releases/download/v#{version}/cloudctl-linux-amd64"
sha256 "9c31b948e14a62caa1acc06bbc038f44da5947f692091f264216ff102e515d6c"
end
end
def install
mv Dir.glob("cloudctl-*").first, "cloudctl"
bin.install "cloudctl"
end
test do
cloudctl help
end
end
`
To-Do :
with every release of a new cloudctl version, the parts "release" and "sha256" has to be set to the new values
Install with homebrew is than simple

brew tap fi-ts/cloudctl https://github.com/fi-ts/cloudctl

brew update

brew install cloudctl

Thanks for bringing this up, do you mind creating a PR with your already implemented Parts ?


disk: Recreate the bootc disk image when passed certain parameters

Sometimes the disk image needs to be recreated even if reusing
the same container image, for example when passing --disk-size
to create a bootc disk with a larger disk size.

disk: Refactor image pull and cache dir creation
This creates two new structs, image and cache, and removes the code to
pull the image and create the cache directory from bootc_disk. This is
done in order to check if the VM is running before creating the disk to
fail early. We need the pulled container image ID before checking
if the VM is running.
This also gets us closer to separately managing the cache dir which should
simplify some of the lock code.
This is in preparation for the code to clear the cached
disk image when modifying the disk image size or filesystem type. Prior
to these changes, the disk could be recreated before checking if the VM
is running.

I just realized the behavior of this is still a little odd.
e.g. the following will continue to use the 20G disk size.
podman-bootc run --disk-size 20G <image>
podman-bootc stop <image>
podman-bootc run <image>

Also running podman-bootc run --disk-size 20G <image> a second time after running podman-bootc stop will recreate the disk image. This is just an optimization but it's still not ideal.
I think the general weirdness stems from after the initial run command, modifying the disk-size, etc. would behave more like an edit operation rather than run. I'm not sure we want to add an explicit edit operation like podman-bootc edit <image> --disk-size 20G though, since the cache is meant to be transparent.
Anyways, this PR gets us closer to the correct behavior so I'd prefer to get this in and refine the behavior in the future. The fixes for the above known issues will require us to load the existing cache/config earlier which likely means more refactoring.

I just realized the behavior of this is still a little odd.
e.g. the following will continue to use the 20G disk size.
podman-bootc run --disk-size 20G <image>
podman-bootc stop <image>
podman-bootc run <image>

Also running podman-bootc run --disk-size 20G <image> a second time after running podman-bootc stop will recreate the disk image. This is just an optimization but it's still not ideal.

Hmmm we should not do that, we need tp store the disk size in the xattr or the json file and only re-create it if is different

I think the general weirdness stems from after the initial run command, modifying the disk-size, etc. would behave more like an edit operation rather than run. I'm not sure we want to add an explicit edit operation like podman-bootc edit <image> --disk-size 20G though, since the cache is meant to be transparent.
Anyways, this PR gets us closer to the correct behavior so I'd prefer to get this in and refine the behavior in the future. The fixes for the above known issues will require us to load the existing cache/config earlier which likely means more refactoring.

I think we need to design a proper cache API first. And split the information that persists in the disk from the info that only makes sense if the VM runs (like ssh port).
So, I think is better to do that in a different PR, so I prefer if in this PR you drop this commit and only make the changes for the disk size (if is that possible)

Unfortunately the refactor commit is required. Otherwise, the disk will be recreated even if the VM is running because currently the VM.isRunning gate happens after the disk creation.

Hmmm we should not do that, we need tp store the disk size in the xattr or the json file and only re-create it if is different

Agreed. This will require loading the cache/config before the disk creation which requires more refactoring. I'm currently working through that. The refactor in this PR along with the cache/config refactor will get us most of the way to the simplified locking/cache loading.
I still think doing these separately makes sense to avoid a giant MR, and this fixes an existing bug. I'll fix the issues from the other suggestions and let you know when I'm done.

actually not sure there are any code changes needed so this is ready for another look.

I still think we can make this much simpler, without a partial refactor that makes the locking non-obviously worse.
Like, if we add a DiskSize field to diskFromContainerMeta:
type diskFromContainerMeta struct {
	// imageDigest is the digested sha256 of the container that was used to build this disk
	ImageDigest string `json:"imageDigest"`
        DiskSize string `json:"diskSize"`
}

and in bootcInstallImageToDisk():
bootcInstallImageToDisk() {
...
	serializedMeta := diskFromContainerMeta{
		ImageDigest: p.ImageId,
		DiskSize: diskConfig.DiskSize,
	}
...
}

and finally checking the size ingetOrInstallImageToDisk():
getOrInstallImageToDisk() {
    ...
	if serializedMeta.ImageDigest == p.ImageId
	   && (diskConfig.DiskSize == ""
	       || serializedMeta.DiskSize == diskConfig.DiskSize) {
		return nil
	}
    ...
}

I think that will be enough, or am I missing something?

Unfortunately the refactor commit is required. Otherwise, the disk will be recreated even if the VM is running because currently the VM.isRunning gate happens after the disk creation.

If we don't add the code to check if the VM is running before doing the disk creation then the behavior is weird. If the VM is running, then doing podman-bootc run --disk-size will recreate the disk image before erroring because the VM is running.

that makes the locking non-obviously worse.

I don't see how this makes it worse. Could you give an example use case that would break with this?

Unfortunately the refactor commit is required. Otherwise, the disk will be recreated even if the VM is running because currently the VM.isRunning gate happens after the disk creation.

If we don't add the code to check if the VM is running before doing the disk creation then the behavior is weird. If the VM is running, then doing podman-bootc run --disk-size will recreate the disk image before erroring because the VM is running.

This is a problem right now in the main branch, so I'm ok of checking if the VM is running, and checking the error of os.Remove(), but I think those 2 changes should be in different commits. Sadly, we cornered ourselves requiring to call NewVm() to call .isRunning(), so let me think it a bit more, probably we can just extract the isRunning() to be a function instead a method.
My comment was only related to how to rebuild the image if the disk size requested is different, without the need to refactor

that makes the locking non-obviously worse.

I don't see how this makes it worse. Could you give an example use case that would break with this?

with this PR we install the disk holding a read-only lock instead of a write lock

This is a problem right now in the main branch

If it already exists, the disk is never recreated in the main branch (which is what this PR fixes). So while the disk is created before checking if the vm is running in main, it doesn't result in a bug.

with this PR we install the disk holding a read-only lock instead of a write lock

Ah, I got it. I can add the exclusive lock back to the bootc.Install(). Would that be sufficient?

This is a problem right now in the main branch

If it already exists, the disk is never recreated in the main branch (which is what this PR fixes). So while the disk is created before checking if the vm is running in main, it doesn't result in a bug.

with this PR we install the disk holding a read-only lock instead of a write lock

Ah, I got it. I can add the exclusive lock back to the bootc.Install(). Would that be sufficient?

Nop, in that case you will be unable to ssh into the VM, because the ssh command will try t acquire a read-only lock.
An ugly solution, will be to create a new VM inside of BootcDisk.Install(), so instead of :
locked, err := lock.TryLock(utils.Exclusive)

we do
vm.NewVM(vm.NewVMParameters{
    ...
    Locking:    utils.Exclusive,
    ...
}

so we can run
isRunning, err := bootcVM.IsRunning()

inside Install()
we can also move bootcVM.WriteConfig(*bootcDisk) inside Install() so we do that while holding a ReadWrite lock, we still have a race on the selection of the ssh port, but that is something we cannot fix rigth now

I realized with this refactor, we are already able to decouple the lock from the VM/disk and do the lock once for each command instead. This is because the container image id and cache directory are now initialized first. Pushed a PR showing how this would work. All the e2e tests passed.

@germag this is ready for another look

@germag force pushed fixes

extracted the FullImageIdFromPartial call out of NewCache to enable locking before creating the cache
added lock to the list command
removed the unnecessary Create calls

@germag did you get a chance to look at this again?

I still think we should do this in at least 2 steps, getting the cache/locak etc is tricky, so let's split this PR as I mentioned in
https://github.com/containers/podman-bootc/pull/33#issuecomment-2117063401 first (even if it's not perfect), and then work on the cache refactoring

I'm refactoring the cache code (and other parts), so wait a bit until a post a draft