End Process

Is there a way to end it after finishing the tests:
gulp.task('testBE', ['watch-backend'], function () {
  return gulp.src(paths.specs + '/backend/**/*.spec.js')
    .pipe($.jasmine({verbose: true}));
});

It would be useful because then mongoose connections are not opened/ models are not loaded twice. I always have to quit the process in my terminal. I found this but it does not work:
http://stackoverflow.com/questions/27158530/cant-tell-when-jasmine-is-done-running

That's weird. It should always emit end  when it's done. Have you tried listening on the close` event?

It's probably because you still have an event listener open, for example a web server. See #41.

I see this problem but in a different set up, here's the terminal output:
ᐅ gulp jasmine
[08:41:28] Using gulpfile ~/.../gulpfile.js
[08:41:28] Starting 'jasmine'...
...................[08:41:33] Finished 'jasmine' after 5.09 s
...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

526 specs, 0 failures
Finished in 0 seconds

And the code is simply:
...
  .pipe(require('gulp-jasmine')())
  .on('finish', cb);

Using end or close does nothing :(

Maybe I'm wrong but I don't see me opening an express server or listening with express. I do require mongoose. But I never close the db connection, because I actually don't know how to do with the async tests.
Gulp:
gulp.task('testBE', ['watch-backend'], function () {

  return gulp.src(paths.specs + '/backend/**/*.spec.js')
    .pipe($.jasmine({verbose: true}));
});

gulp.task('watch-backend',['scripts'], function () {
  gulp.watch([
    paths.src + '/{node,config}/**/*.coffee'
  ], ['testBE']);
});

The task scripts just compiles the coffee.
Function file:
#Dependencies
mongoose = require('mongoose')
async = require('async')

#Configuration
environment = require('../config/config.js')()
configDB = require('../config/database.js')(environment)

CodeModel = require('./models/code.model.js')
DonationModel = require('./models/donation.model.js')

exports.checkGuestCode = (db, guestCode, callback) ->
 ...
)
+ dozens of functions

Specs
applicationDir = '../../.tmp/serve/'

environment = 'test'
databaseService = require(applicationDir + 'node/database.service.js')
mongoose = require('mongoose')
configDB = require(applicationDir + 'config/database.js')(environment)

There are more specs & functions than that but they all look similar. If I close it after the last describe my code fails. Thus I was hoping to close the connection with ending gulp-jasmine.
db.connection.db.dropDatabase(() ->
  console.log "dropped database"
  db.connection.close(() ->
    console.log "closed connection"
    mongoose.connect(configDB.url,{auth:{authdb:configDB.authdb}}, (err)->
      if (err)
        console.log(err)
      else
        console.log "reopened connection"
    )
    db = mongoose.connection
  )
)

I'll try to update the docs this weekend with this info, but here's my understanding of what's happening:
Gulp and gulp-jasmine run as node processes. A node process exits either when it's explicitely killed or when the event loop has no more listeners.
Gulp-jasmine has no understanding of the process in which it's running. It might run as part of a larger, long running process (for example with gulp.watch). It also has no knowledge of the resources your specs use (web server, database connections, file watchers, etc.). It's up to you as a developper to set-up your resources and clean them up once you're done with your tests.
The classic way to do this is to use test set-up (beforeEach, beforeAll) and teardown (afterEach, afterAll) to respectively set-up and clean-up your resources. I've included a pattern in #41 that I think is pretty easy to implement and versatile: Instead of having a sequential server.js file, return an object with start() and stop() functions, then create a 'start.js' file that you use to load your configurations and start your server or process. Then in your tests, import your server.js, load your test configuration and call start() in either beforeAll or beforeEach and stop() in afterAll or afterEach.
Hope this helps.

It sounds like a good solution for handling an express server. But what if I want to end it within gulp-watch? It would be good to automatically close the connections to the database.
From my understanding jasmine describes work async, only its can be synced (maybe I'm wrong). Launching mongodb on every before and closing it afterwards could cause duplicate connections. Which throw an error unless the db connections are created with createConnection.

You have to understand that Jasmine has no knowledge of your code or your requirements. This is not a gulp-jasmine issue. The hooks to let Jasmine know the set-up (opening a connection, starting a server, creating test data, etc.) and tear down required to run your tests are the before* and after* methods. That's hardly unique to Jasmine. I'm leaving this issue open because I want to update the readme with a FAQ since this is a pretty frequent question.
As for your specific issue with opening multiple connections, this is easily solvable via a singleton with a counter. Something like this:
var connCount = 0;
var conn = ...;

function open() {
    if (connCount === 0) conn.open();
    connCount++;
    return conn;
}

function close() {
    connCount--;
    if (connCount === 0) conn.close();
}

Hope this helps.

This problem seems to have been around for quite a while in general based on what I've found doing different searches:
https://github.com/sindresorhus/gulp-mocha/issues/1
https://github.com/sindresorhus/gulp-mocha/issues/54
Most people tend to use this approach here:
https://github.com/sindresorhus/gulp-mocha/issues/1#issuecomment-43454899
For anything external resource that I hold a connection to, I have a listener for SIGINT.
So I used a slightly modified version within my gulpfile:
        .pipe(jasmine())
        // Creating the reports after tests ran
        .pipe(istanbul.writeReports())
        // required otherwise the process never actually exits
        .once('end', function () {
            process.kill(process.pid, 'SIGINT');
            setTimeout(function() {
                /* eslint-disable */
                process.exit(0);
                /* eslint-enable */
            }, 100);
        });

Basically using signal SIGINT I'm able to close all connections after testing completes, and then exit cleanly.

I prefer this approach, alluded to above, but not spelled out?
For app.js:
app.connect = function() {
  mongoose.connect('mongodb://<IP_ADDRESS>/exampledb');
};

app.disconnect = function() {
  mongoose.disconnect();
};

And in an example.spec.js (full gist):
/*global describe:false, it:false, expect:false*/

var request = require('request');

var app = require('../app');
var server = require('http').createServer(app);
var baseUrl = 'http://<IP_ADDRESS>:3000/example-route';

describe('example-route', function() {

  describe('app spinup', function() {
    it('should be ok', function(done) {
      server.listen(3000);
      server.on('listening', function() {
        app.connect();
        done();
      });
    });
  });

 <add your describe/it/expect blocks here>

  describe('app spindown', function() {
    it('should be ok', function(done) {
      app.disconnect();
      server.close();
      done();
    });
  });

});

I had similar issues where gulp-jasmine ran my tests, but then the process didn't exit.
My solution was to use gulp-exit and that ended my task for me. (I'm using gulp-load-plugins, so that is the $). Perhaps not the best solution but it got my task to exit for me.
var $ = require('gulp-load-plugins')();

function test(sources) {
	return gulp.src(sources)
		.pipe($.jasmine({ verbose: true, captureExceptions: true }))
		.pipe($.exit());
}

Fwiw, my solution started failing when i added some middleware that fire up their own redis clients, making app dissconnect/spinDown/close function not really stop all listeners. I am switching to gulp-exit, I think.

I think I just ran into a similar issue myself, where the stream from gulp.src('*').pipe(jasmine()).pipe(myCleanupCode) does not behave in a consistent manner (the behavior depends on the number of files in the gulp.src).
To me, it looks like the issue is that gulp-jasmine is using the through function slightly incorrectly. I can't find it in the specification, but if you call the callback in the flush function for through in an asynchronous manner, it doesn't behave the way you would expect. I've had this problem in some of my application code with asynchronous callbacks in through. The solution I've found is to pause and resume the stream.
Here is the fix that works great for me 3ee47bb10b03c77e3bc2d03e822b253161c1bf2e
I'd be happy to make a pull request and try to write a test if you think you'd accept it.

@charleshansen
TLDR version: to be notified when jasmine completes, use: .on('jasmineDone', () => { /*...*/})
Longer version: check #71 for more context on this solution.

@jbblanchet I did read #71, even 'jasmineDone' is not emitted 100% reliably for me. I'd also really prefer using another pipe and not using on, this makes it difficult to work with multiple streams (gulp-jasmine is just one of many things that run in my default gulp task).
Regardless of what events to use, I do think it isn't cool to call the flush callback asynchronously without pausing it first. It seems that this breaks the natural stream lifecycle. The stream spec doesn't seem to mention asynchronous callbacks one way or the other.

Your idea has merit, but I'd like to think about it a bit more. It's not a replacement for the jasmineDone event, because it was implemented for people having no drain downstream, and calling pause should have no effect in that case. Please open a pull request so we can have that discussion there.

Thats what I came up with, which works for me. The db connection where indeed the problem. Unfortunately I can't properly use the disconnect event.
Connection Module
connections = 0
disConnectionRetries = 0
MAX_DISCONNECTION_RETRIES = 10

connectDB = (callback) ->
  console.log "CONNECTING TO DB", mongoose.connection.connectionState
  configDB = require(applicationDir + 'backend/config/database.js')(environment)

  if connections == 0
    mongoose.connect configDB.url,{auth:{authdb:configDB.authdb}}, (err)->
      if (err)
        console.log(err)
        return callback err

    db = mongoose.connection
    db.on 'error', console.error.bind(console, 'connection error:')

    db.once 'open', () ->
      connectionRetries = 0
      connections++
      return callback null, db
      #console.log "Database established"
      #Delete all data and seed new data

  else
    db = mongoose.connection
    return callback null, db

exports.disconnectDB = (callback) ->
  console.log "DISCONNECTING FROM DB", mongoose.connection.readyState
  mongoose.disconnect (err)->
    return callback err if err?
    connections--
    isDisconnected(callback)

isDisconnected = (callback)->
  console.log "SHOULD BE DISCONNETCED", mongoose.connection.readyState
  throw new Error "Cannot disconnect more than #{MAX_DISCONNECTION_RETRIES} retries" if disConnectionRetries > MAX_DISCONNECTION_RETRIES
  if mongoose.connection.readyState == 0
    disConnectionRetries = 0
    return callback()
  else
    disConnectionRetries++
    return setTimeout ()->
      isDisconnected(callback)
    , 50

Unit Tests
describe('>>>>>>>>>>>>>>>>>>>>>>>>>  XY CLASS  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<', () ->

  beforeAll (done)->
    db = testSettings.connectDB (err)->
      done()

   ...

  afterAll (done)->
    testSettings.disconnectDB (err)->
      console.log "DONE DISCONNECTING"
      done()


Access to Tempo Flush relais

I installed the integration, thank you very much for providing it!
It provides entities for the two connected radiators but not for the on/off state of the central floor heating and the boiler which are also available in the Clevertouch app. I believe the electrician used two Tempo Flush components (https://www.radson.com/nl-be/producten/zoneregeling/zoneregeling/bedieningen/bedradingscentra/touch-e3--tempco-flush) to enable this.
Is it normal that they don't show up? If yes, do you have plans to enable them?

Good to hear about it being useful.
So far I have only shared what has been useful to myself. Since there is no official documented API I've only implemented support for radiators which I had access. I'd be willing to try and support other types of devices though.
I would likely need some help with data in order to figure out exactly what to display. Reading values from the appliances should be much easier. More care and more testing is also needed to support writing settings to the device.
What would be your primary use case? Monitoring or controlling?

Our use case is a second home where we need to be able to turn on the relais for the floor heating beforehand, as well as make sure it's turned off when we are not there. So the TEMPCO relais is basically a connected plug with binary state on/off. I attach a screenshot of how the two relais appear in the list and what is shows when you select one of them. There is no monitoring involved except the on/off because all other features are greyed out anyway.

I have added support for "electrical outlets", but since I don't own any it is a bit experimental. I think they should work, both for reading and writing states, but I can't be certain. Please test and compare to the official app and provide feedback if possible.

Thanks. I installed this version, but no new entities show up for the switches...

Ok. That's a bit surprising. Just to confirm. You did

Install the v0.2.7 version?
Restart Home Assistant after the update? (This is always a requirement when updating HACS/custom_components, but also necessary for my integration to pick up new devices)

A test that is possible to perform on your side would be to remove the integration/account and re-add it and see if that changes anything.
If that doesn't help it means that switches might be represented in more than one way, and I likely need more information extracted from accessing the app from a desktop web browser. I'll wait for your input to above questions before looking further into this.

Just to be sure, I redid the whole thing (uninstall integration, delete component, restart, download latest again, copied to custom components, restart, add integration). Still the same thirteen entities (one climate and twelve temperature settings), no switches.

Fixed by #4 and published in release v0.3.0.


Grouped/dodged bar charts not working as documented

ALL software version info
MacOS Big Sur, M1
Python 3.10.10
JupyterLab v3.5.2
hvplot 0.8.3
bokeh 3.1.1
Description of expected behavior and the observed behavior
I'm trying to make a dodged bar chart like the one in https://hvplot.holoviz.org/reference/pandas/bar.html#basic-bar-plots but the output is always stacked, never dodged
Complete, minimal, self-contained example code that reproduces the issue
I just downloaded this notebook https://hvplot.holoviz.org/reference/pandas/bar.html#basic-bar-plots and did run-all:

No errors in the console.

Indeed, seems to be a regression in Bokeh 3.x. See also https://github.com/holoviz/holoviews/issues/5726


Urllib timeout

Hello!
Thanks for cool library.
I have one issue though: on my hardware I see the exception "Error occurred during formatting data. Trying to use fallback server" too often. Hardcoding settings.HTTP_TIMEOUT to large value like 10 makes it go away though. Could you please increase it a bit (say, to 5) or maybe add a possibility to define particular timeout when creating UserAgent instance?

@lockie hey! Thanks! I'll try to investigate and make changes asap!

@hellysmile I've measured response time from 3 different locations, it's may take up to 5 seconds =(

Ok, lets set default to 5, and allow to pass it as parameter

0.1.5 was just released, HTTP_TIMEOUT is 5 seconds


how to build sample on ubuntu14.04

I install Media SDK following: https://github.com/Intel-Media-SDK/MediaSDK/wiki/Build-Media-SDK-on-Ubuntu.
After that, I want build sample . I follow: https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/samples/Media_Samples_Guide_Linux.pdf, but I could not find build.pl in sample dir.

If you cloned git repo, then regular cmake is all that you need. By default samples build enabled, so
mkdir build && cd build cmake .. make -j4
should be enough. cmake call would produce a table with build options, so you can alter them at will.
Since Q3.1 release samples in MediaStack.tar.gz also built w/o perl wrapper.


[Snyk] Security upgrade alpine from 3.17 to 3.18.3

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

Dockerfile

We recommend upgrading to alpine:3.18.3, as this image has only 1 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

686
CVE-2023-5363 SNYK-ALPINE317-OPENSSL-6032385
No Known Exploit

686
CVE-2023-5363 SNYK-ALPINE317-OPENSSL-6032385
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Build enclave image without Docker daemon from local docker archive

What
Right now, you need a running Docker daemon to build an enclave image. The LinuxKit version currently included attempts to pull the image using the Docker daemon. https://github.com/linuxkit/linuxkit/pull/3573 now lets LinuxKit pull the images directly without the need for a Docker daemon.
Why
As part of our enclave support, we (M10 Networks) want to be able to build enclave images entirely in a Dockerfile. We distribute all of our services through Docker images, and all of the builds are entirely performed inside of Dockerfiles. While possible to change this for Nitro, I don't think it should be necessary with a simple change.
How
To supply this functionality, more or less out of the box, all that would be required would be to update the included LinuxKit to one of the latest builds. This would then allow users to use skopeo, or a similar tool, to transfer their local image into LinuxKit's cache located at ~/.linuxkit/cache themselves.
A more user-friendly follow on would be to allow the users to simply pass in a path to their own Docker image archive. At that point, the CLI would need to copy the image into the LinuxKit cache.
As a temporary workaround for our use case, I can simply replace the LinuxKit binary in /usr/share/nitro_enclaves/blobs with my own. I think this use case is common enough that it should either be supported through easier means or documented in some way

On further investigation there is actually a further reason the nitro-cli calls out to the Docker daemon to inspect the Docker image: https://github.com/aws/aws-nitro-enclaves-cli/blob/0e164db23194d9f3bca94c8f5ba42f869fbcdc7c/enclave_build/src/docker.rs#L252
There are a few ways this could be fixed. It might make sense to allow users to simply configure the env vars, and cmd themselves. That would be a useful as a feature in its own right. I am happy to open a PR adding those options to the CLI if there is interest.

Our LinuxKit also has an additional feature which doesn't seem to be merged: https://github.com/linuxkit/linuxkit/pull/3446 and needs to be rebased. @neacsu do you know what is missing for upstreaming the feature? Are there any changes we would need to do in the codebase to support it?

Our LinuxKit also has an additional feature which doesn't seem to be merged: linuxkit/linuxkit#3446 and needs to be rebased. @neacsu do you know what is missing for upstreaming the feature? Are there any changes we would need to do in the codebase to support it?

I ran into that today when I was making these changes. I rebased one of the commits from that PR onto develop: https://github.com/m10io/linuxkit
I also made some preliminary changes here: https://github.com/m10io/aws-nitro-enclaves-cli/tree/cmd-env-params
I can clean those up and open a PR if there is interest

I ran into that today when I was making these changes. I rebased one of the commits from that PR onto develop: https://github.com/m10io/linuxkit

The patch there is actually the first version from the PR, and the one that works with the current codebase from aws-nitro-enclaves-cli, i.e. the one that takes the prefix as a command option (-prefix).
@petreeftime The PR hasn't got more traction since I last addressed the required changes. I will try to ping the maintainers. The changes to linuxkit repo would require some changes in aws-nitro-enclaves-cli as well: the prefix would have to be passed in the YML file instead of as a command option.
@sphw Thanks for taking an interest in this. The proposal to specify cmd and env separately sound good. It would definitely be nice to have a way of doing things based only on Docker format and not necessarily on the Docker daemon.
In that sense, we should try to integrate the linuxkit changes in some way. Right now, the best way to do that would probably be to update the linuxkit blob with our feature patch applied, until we can merge it upstream.

We had a similar problem. We're using nix for reproducible builds, and Dockerfiles+daemon builds don't play well with the build sandbox (and the resulting images are also not reproducible).
Thankfully, the docker abstraction is not actually used later on in the .eif build, the layers are unpacked and repacked into an initramfs. This means that you can simply produce an initramfs from your docker archive and use that for your .eif builds using the eif_build command https://github.com/aws/aws-nitro-enclaves-cli/blob/8f6ed740b05225512d86163f8b02292668c4b056/eif_utils/src/bin/eif_build.rs.
Note that the official nitro init assumes a particular initramfs layout which you must follow:

/init: statically linked init.c from this repo
/nsm.ko: the NSM kernel module. You can just copy it from blobs, but then you must also use the kernel from there.
/cmd: a newline-separated list of strings that defines the "entrypoint" of your image
/env: a newline-separated VAR=VALUE list of the environment of /cmd
/rootfs: the actual root fs the nitro init will chroot to. This is where you need to unpack your docker image

Hello,
We are also facing this limitation and like to have the ability to build nitro eif on our CI without the docker daemon (using  skopeo for instance).
Thanks @shtaked for pushing this issue, will it be prioritized at some point?

We've run into this issue while trying to build a docker image.tar file into an enclave image.
@shtaked

Actually shiplift can also work with podman if you specify DOCKER_HOST environment variable pointing to podman docker-compatible REST service:

This is quite tricky to setup in my experience.

It's not possible to start podman system service inside the container without first disabling seccomp, e.g. by passing the --security-opt seccomp=unconfined flag to docker run. This is a potential security risk, and may not be possible in some trusted environments (e.g. concourse).
Due to some upstream issue, podman is difficult to install on amazonlinux, whereas nitro-cli is difficult to install anywhere except amazonlinux.

we don't have ability to use container image tar file as an input for nitro-cli. It looks like a fair request feasible to implement

This would be the ideal solution for us. We currently don't have a good way of automating these builds while there continues to be a dependency on a docker daemon.

Update from our side:

currently we are busy with removing docker daemon dependency when pulling images - basically removing shiplift library usage and rather pulling the images from OCI repositories ourselves
we updated linuxkit to a latest version and now it can be used without docker daemon
we are exploring the options to provide a flag for input container image file, but the main question here is - what format of the image should we support - docker V1 or OCI? For us it looks like more generic approach would be better to switch to OCI completely, but we would appreciate for your input of your use cases (sphw, Mikescops, awnumar).

Thanks for the updates, sounds great!
@shtaked definitely OCI, our CI builds with Kaniko to OCI, but for most cases, OCI seems to be the way to go now. (also docker v1 is deprecated)

@shtaked We are currently using Docker v1 images built using Nix. I'm not 100% sure where Nix's support for OCI images is at. If it doesn't exist yet, I can commit to adding it to nixpkgs, since the formats are similar it shouldn't be a big lift.

@shtaked hey, do you have any updates on this work? We're still blocked by this issue at the moment. Thanks!

Again would like to point out that the eif images may be built without the involvement of Docker at all. Similar to @sphw we use Nix as well, and have been building images for production use for quite a while now. There's no need for Docker or OCI indirection, you can just use a plain initrd that wraps a folder. See https://github.com/aws/aws-nitro-enclaves-cli/issues/235#issuecomment-1025129694 for details

@exFalso How do you handle the signature part of the eif? This is signature is critical for us.
Also even if your solution works it's not convenient, we use docker images everywhere to version our builds.

You can just unpack the layers into the rootfs folder if you really want to start from a docker image. That's basically what the aws tooling does as well, but for some reason it jumps through many hoops to do it.
By signatures do you mean the built-in way of signing the images (with PCR8 and whatnot)? eif_build has the corresponding options:
$ ./result/bin/eif_build --help
Enclave image format builder
Builds an eif file

USAGE:
    eif_build [FLAGS] [OPTIONS] --cmdline <String> --kernel <FILE> --output <FILE> --ramdisk <FILE>...

FLAGS:
    -h, --help       Prints help information
        --sha256     Sets algorithm to be used for measuring the image
        --sha384     Sets algorithm to be used for measuring the image
        --sha512     Sets algorithm to be used for measuring the image
    -V, --version    Prints version information

OPTIONS:
        --cmdline <String>                             Sets the cmdline
        --kernel <FILE>                                Sets path to a bzImage/Image file for x86_64/aarch64 architecture
        --output <FILE>                                Specify output file path
        --private-key <private-key>                    Specify the path to the private-key
        --ramdisk <FILE>...                            Sets path to a ramdisk file representing a cpio.gz archive
        --signing-certificate <signing-certificate>    Specify the path to the signing certificate

(Sidenote: I don't quite understand the benefit of this signature scheme btw. Attestation will verify the image hash already, which you can sign out of bands if you really want to. Having it as a built-in would only really make sense if there was specific nitro functionality tied to the signature similar to SGX MRSIGNER, e.g. sealing capabilities tied to the signing key.)

Thanks that's helpful, well the benefit for us of the signature (and then the PCR8 check) is that we trust the environment building the image but we don't trust the rest of the infrastructure. In other words, we want to prevent an operator on the infrastructure to launch a rogue eif.

Hey all,
I'm also running into this limitation - it would be awesome to build EIFs in our CI using the native nitro-cli tooling. Is this still a feature that is being looked into?

Hi all,
We ran into this limitation and we decided to go with @exFalso 's approach above, and decided to build the enclaves 'from scratch' with aws/aws-nitro-enclaves-image-format directly, rather than using the Nitro CLI. This uses Nix instead of Docker, so you don't need the daemon nor other privileged builders, and you do not need Docker images (but you can tweak it to use TARs if you do want that). You get some other benefits, like the possibility of using your own Kernel or init process (with the Nitro CLI, hard-to-reproduce binaries are used instead)
We made these efforts open-source at monzo/aws-nitro-util. We are using this to build enclaves in production.

Hi @Cottand,
Congratulations on your new project initiative! We're excited to see the added value that aws-nitro-util brings for Nitro Enclaves users.
Nowadays, @foersleo has been hard at work enabling reproducible builds on aws-nitro-enclaves-sdk-bootstrap. Once this fantastic effort is complete, all the blobs distributed via aws-nitro-enclaves-cli-devel package will be reproducible and verifiable.


Add Poster Templates

Long time ago, I made poster templates. https://benediktehinger.de/blog/science/scientific-poster-templates/
Maybe interesting to include. Maybe under open teaching graphics?
Q: Can we add text to indivudal files/websites? e.g. https://www.s-ccs.de/teaching-resources/open-teaching-graphics/Induced-Evoked/ <-- could I ask text there?

[ ] include the poster templates
[ ] add the text + gifs from the blogpost
[ ] add a link to the blog
[ ] (convert from AI to SVG in addition)

Q: Can we add text to indivudal files/websites? e.g. https://www.s-ccs.de/teaching-resources/open-teaching-graphics/Induced-Evoked/ <-- could I ask text there?
Yes we can text to individual files.

(convert from AI to SVG in addition)
Could you let me know what this task is referring to?

great, I will do the conversion. SVG is an open vector fileformat, whereas AI is the one from Adobe that is closed source. I want to offer both :)

What should be included under blog-spot in poster templates?
There are 5+ heading. Should I add all the heading + overview + images and/or gifs under each heading
Eg: open teaching graphics->poster template
TOC
1.poster template
one poster pic + link to https://benediktehinger.de/blog/science/scientific-poster-templates/
2. other poster template
blogspost headings  + overview + images and/or gifs under each heading
Is this what you had in mind?
Please let me know if you have any ideas.


issues when using my own dataset

hello，when I using my own dataset，I found a loss of 0.000, and during validation, indicators such as Iou and mIoU were also 0, which seems incorrect. However, these indicators seem to be indicators of semantic segmentation. Don't you need to consider these, just focus on the final evaluation results? When I used the bsds500 dataset, the loss was not 0.00 and kept decreasing, but the IoU and MIoU indicators were always 0. Can you explain why these indicators need to be considered
2023-09-14 11:50:02,234 - mmseg - INFO - Iter(val) [2500]	mIoU: 0.0000, mAcc: 0.0000, aAcc: 0.0000
2023-09-14 11:50:06,251 - mmseg - INFO - Iter [2520/10000]	lr: 7.724e-07, eta: 1:12:23, time: 9.334, data_time: 9.133, memory: 7677, decode.loss_seg: 0.0000, aux_0.loss_seg: 0.0000, aux_1.loss_seg: 0.0000, aux_2.loss_seg: 0.0000, aux_3.loss_seg: 0.0000, aux_4.loss_seg: 0.0000, aux_5.loss_seg: 0.0000, aux_6.loss_seg: 0.0000, aux_7.loss_seg: 0.0000, loss: 0.0000

Because I used the wrong pre-training file (located in pretrain/jx_vit_...) when training my own data set？ or because some parameters were not adjusted when I trained my own data set.

In our project, we do not use validation. If you use validation, then you will call the validation codes in MMsegmentation.

2023-09-14 23:14:32,497 - mmseg - INFO - Iter [80/5000]	lr: 9.859e-07, eta: 0:26:17, time: 0.259, data_time: 0.003, memory: 8029, decode.loss_seg: 0.0000, aux_0.loss_seg: 0.0000, aux_1.loss_seg: 0.0000, aux_2.loss_seg: 0.0000, aux_3.loss_seg: 0.0000, aux_4.loss_seg: 0.0000, aux_5.loss_seg: 0.0000, aux_6.loss_seg: 0.0000, aux_7.loss_seg: 0.0000, fuse_edge.loss_seg: 0.0000, loss: 0.0000
[                                                  ] 0/1, elapsed: 0s, ETA:Traceback (most recent call last):
  File "E:\EDTER_Edge_detection\EDTER-main\train_local.py", line 176, in <module>
    main()
  File "E:\EDTER_Edge_detection\EDTER-main\train_local.py", line 165, in main
    train_segmentor(
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\apis\train.py", line 112, in train_segmentor
    runner.run(data_loaders, cfg.workflow, cfg.total_iters)
  File "D:\Anaconda\envs\EDTER\lib\site-packages\mmcv\runner\iter_based_runner.py", line 144, in run
    iter_runner(iter_loaders[i], **kwargs)
  File "D:\Anaconda\envs\EDTER\lib\site-packages\mmcv\runner\iter_based_runner.py", line 70, in train
    self.call_hook('after_train_iter')
  File "D:\Anaconda\envs\EDTER\lib\site-packages\mmcv\runner\base_runner.py", line 317, in call_hook
    getattr(hook, fn_name)(self)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\core\evaluation\eval_hooks.py", line 29, in after_train_iter
    results = single_gpu_test(runner.model, self.dataloader, show=False)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\apis\test.py", line 36, in single_gpu_test
    result = model(return_loss=False, **data)
  File "D:\Anaconda\envs\EDTER\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\Anaconda\envs\EDTER\lib\site-packages\mmcv\parallel\data_parallel.py", line 51, in forward
    return super().forward(*inputs, **kwargs)
  File "D:\Anaconda\envs\EDTER\lib\site-packages\torch\nn\parallel\data_parallel.py", line 166, in forward
    return self.module(*inputs[0], **kwargs[0])
  File "D:\Anaconda\envs\EDTER\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "D:\Anaconda\envs\EDTER\lib\site-packages\mmcv\runner\fp16_utils.py", line 116, in new_func
    return old_func(*args, **kwargs)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\segmentors\base.py", line 126, in forward
    return self.forward_test(img, img_metas, **kwargs)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\segmentors\base.py", line 106, in forward_test
    return self.simple_test(imgs[0], img_metas[0], **kwargs)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\segmentors\encoder_decoder_local8x8.py", line 498, in simple_test
    seg_pred = self.inference(img, img_meta, rescale)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\segmentors\encoder_decoder_local8x8.py", line 480, in inference
    seg_logit = self.slide_inference(img, img_meta, rescale)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\segmentors\encoder_decoder_local8x8.py", line 375, in slide_inference
    fuse_outs_crop = self._fuse_head_forward_test(local_features_crop, global_features_crop)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\segmentors\encoder_decoder_local8x8.py", line 132, in _fuse_head_forward_test
    fuse_logits, _ = self.fuse_head.fuse_forward_test(local_features, global_features)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\decode_heads\decode_head.py", line 289, in fuse_forward_test
    fuse_logits, fuse_features = self.forward(inputs1,inputs2)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\decode_heads\local8x8_fuse_head.py", line 70, in forward
    fuse_features = self.SFT_head(local_features, global_features)
  File "D:\Anaconda\envs\EDTER\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "E:\EDTER_Edge_detection\EDTER-main\mmseg\models\decode_heads\local8x8_fuse_head.py", line 36, in forward
    fuse_features = local_features * (scale+1) +shift
RuntimeError: The size of tensor a (1272) must match the size of tensor b (1279) at non-singleton dimension 3

Process finished with exit code 1

当我用自己数据集训练train_local的时候，在又报了这样的错误
RuntimeError: The size of tensor a (552) must match the size of tensor b (559) at non-singleton dimension 3

似乎在第一阶段训练时候是正常的，但第二阶段训练中每500轮执行evaluation时候便会报错，似乎不能在1、2阶段进行融合。但奇怪的是，这一现象在我复现BSDS数据集时候并没有发生，仅在复现我自己数据集时候发生。我已经反复检查，输入是绝对没有问题的，GT与img的分辨率是相同的。请问可能是哪里出了问题呢

可能bads数据集图片分辨率都是481✖321或321✖481，才能顺利滑动窗口。因此，在制作我们自己数据集时，也要保持相同的规律。我会对图片进行resize后再进行测试，应该是可行的！


Added DataModel Angular service for interacting with backend

This PR includes Datamodel service implementation for interacting with back end.Created a new file datamodel.service.js , also created basic skeleton and functions for saving and listing datamodels from the database once canvas is created.

LGTM


Data utils

Hey @oesteban, do you know what this error is?

AttributeError                            Traceback (most recent call last)
Input In [44], in <cell line: 1>()
----> 1 transformed_nii = (~xfms).apply(nii)
File ~/miniconda3/envs/eddymotion/lib/python3.8/site-packages/nitransforms/linear.py:440, in LinearTransformsMapping.apply(self, spatialimage, reference, order, mode, cval, prefilter, output_dtype)
437 data = np.squeeze(np.asanyarray(spatialimage.dataobj))
438 output_dtype = output_dtype or data.dtype
--> 440 ycoords = self.map(_ref.ndcoords.T)
441 targets = ImageGrid(spatialimage).index(  # data should be an image
442     _as_homogeneous(np.vstack(ycoords), dim=_ref.ndim)
443 )
445 if data.ndim == 4:
AttributeError: 'NoneType' object has no attribute 'ndcoords'

Yup, you need to set a reference image for the transform

@oesteban The tests seem to be passing now, any thoughts or is this ready to merge?

Looks like the test failure is unrelated to this PR. Just one of those intermittent/random failures of the registration.


KAFKA-10532: Handle state updater failed tasks

Tasks that are registered in the state updater could raise an exception during the restoration process, for example a consumer timeout exception, a task corrupted, or any other StreamsException causing a dirty close and state store wipeouts. This PR aims to only cause a dirty close upon TaskCorruptedException detection by StateUpdater; any other exception will cause a clean close on the task.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Pinging @cadonna @mjsax @ableegoldman for review

@eduwercamacaro, spotlessJavaCheck has failed. We need to apply its code suggestions to fix the build.


[Chore]: Build docker images conditionally only if the corresponding component directory tree changed.

Background
Right now we are always building all docker images of all korifi components regardless of whether the underlying code has changed. This is slow and annoying.
Action to take
Make the build of each component conditional by calculating a stable sha of its corresponding directory tree. Here's a way of doing this from a script: https://stackoverflow.com/questions/545387/linux-compute-a-single-hash-for-a-given-folder-contents
We can check if the current version of the code has already been build by simply listing all docker images and looking for the calculated sha. Persistence has been done for us.
Impact
Deploying korifi becomes quicker.
Dev Notes
No response

A useful bash oneliner to get all the files a component needs:
export COMPONENT=api
go list -f '{{ join .Deps "\n" }}' ./$COMPONENT | grep korifi | sort | uniq | sed -e 's|code.cloudfoundry.org/korifi/||g'

Produces
api/actions
api/actions/manifest
api/actions/shared
api/apierrors
api/authorization
api/config
api/correlation
api/handlers
api/payloads
api/presenter
api/repositories
api/repositories/conditions
api/repositories/registry
controllers/api/v1alpha1
controllers/config
controllers/controllers/shared
controllers/controllers/workloads
controllers/controllers/workloads/env
controllers/webhooks
controllers/webhooks/services
tools
tools/k8s

Or, if we want to exclude $COMPONENT directory from the list:
export COMPONENT=api
go list -f '{{ join .Deps "\n" }}' ./$COMPONENT | grep korifi | grep -vE "$COMPONENT" | sort | uniq | sed -e 's|code.cloudfoundry.org/korifi/||g'

produces
controllers/config
controllers/controllers/shared
controllers/controllers/workloads
controllers/controllers/workloads/env
controllers/webhooks
controllers/webhooks/services
tools
tools/k8s

We could use that output to pipe it to the hashing utility

Looks like the builds are already properly cached by helm with the new distro format, so the chore is obsolete!


Null SoundInstance in MixinSoundSystem.vo$onPlayRecordSound without a null check

MixinSoundSystem.vo$onPlayRecordSound doesn't have a null check, despite SoundInstance being capable of being set to null through a Forge event.
crash-2023-11-22_11.17.59-client.txt

I think I am having the same issue, this mod is crashing The Aether and Alex caves mods:
The-Aether-Team:
I think this is an issue with Team Midnight Dust's Visual Overhaul mod, they should be checking if soundInstance != null here: https://github.com/TeamMidnightDust/VisualOverhaul/blob/e9539ba28fa60f023ff910480bbce31ec79de19b/common/src/main/java/eu/midnightdust/visualoverhaul/mixin/MixinSoundSystem.java#L23C1-L26C10
Here you can find the crash and latest log:
https://github.com/The-Aether-Team/The-Aether/issues/1846
Please let me know if you need anything else @TeamMidnightDust
Thank you,
Regards
Sarah


Sui doc content issue or request

If this is an issue with existing content, provide the URL or GitHub path to the topic. Otherwise, use New.
Describe the issue or request. Provide as much detail as possible. For issues, it is helpful to copy the specific section of the topic into the issue.
Thank you for taking the time to let us know about the issue or request. We triage all new issues and requests within 2 business days. We will follow up if we need additional information.

Hi @goksancebeci, could you add some additional details about the issue you found in the docs?

No content here


Revert to go 1.20

CodeQL fails on 'go 1.21.0' in go.mod, dependabot fails on 'go 1.21', just use go 1.20 for now

Codecov Report

Merging #705 (9e11a05) into main (32d972f) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 9e11a05 differs from pull request most recent head 5ed6903. Consider uploading reports for the commit 5ed6903 to get more accurate results

@@           Coverage Diff           @@
##             main     #705   +/-   ##
=======================================
  Coverage   93.63%   93.63%
=======================================
  Files          85       85
  Lines        8123     8123
=======================================
  Hits         7606     7606
  Misses        396      396
  Partials      121      121


[FEATURE_REQUEST] Allow using different faviconApi for each items

Is your feature request related to a problem? If so, please describe.
Some of my internet-facing site have basic-auth, so the faviconkit API cannot get the icon for them. For example:
appConfig:
  faviconApi: faviconkit
  statusCheck: true
  theme: Material
sections:
  - name: Media management
    items:
# This service has basic-auth
      - icon: favicon
        statusCheckAllowInsecure: true
        statusCheckUrl: http://radarr:7878
        title: Radarr
        url: https://radarr.{{ server_domain }}
# This service doesn't have basic-auth
      - icon: favicon
        title: Nextcloud
        url: https://nextcloud.{{ server_domain }}

Using faviconkit will not return a favicon for the site with basic-auth.

If I change the faviconApi to local, I'm not sure how it works, but the icon appears normally. However, other services without basic-auth doesn't have icons anymore.

Describe the solution you'd like
Allow using different faviconApi for each items entry. Something like this:
appConfig:
  statusCheck: true
  theme: Material
sections:
  - name: Media management
    items:
# This service has basic-auth
      - icon: favicon
        faviconApi: local
        statusCheckAllowInsecure: true
        statusCheckUrl: http://radarr:7878
        title: Radarr
        url: https://radarr.{{ server_domain }}
# This service doesn't have basic-auth
      - icon: favicon
        faviconApi: faviconkit
        title: Nextcloud
        url: https://nextcloud.{{ server_domain }}

Priority
Low (Nice-to-have)
Is this something you would be keen to implement
No response

Thanks for the suggestion, I can certainly implement this, should be a quick task. Will do it this weekend :)

Hey @phongngthanh - This is implemented in b756e65  of #201 released in V 1.7.1.
You can now use a different favicon API for certain items, just set icon: favicon-[api], e.g. favicon-clearbit
Hope that helps :)


Prevent unnecessary Copy-on-Write behaviour in HTTPFields

These changes were merged with #454 so this can be closed


Add free text entry to combo box

Description
TBD.
Tasks
### Checklist
- [ ] Density (HD, MD, LD, TD)
- [ ] Mode (Light, Dark)
- [ ] Fill (Primary, Secondary, Tertiary)
- [ ] State (Default, Hover, Selected/Active, Disabled, Read-only, Other)
- [ ] Controlled API
- [ ] UITK accessibility parity (screen reader + keyboard interactions)

### Deliverables
- [ ] Characteristics spec
- [ ] Interactions spec, where necessary
- [ ] In Code & Figma (Component + Guide)
- [ ] Supporting site documentation

This is thought to be possible already, so we could rescope this to create an example on the doc site
Suggest Pepper team try to compose an example that supports FreeSolo and we discuss from there

Example try which doesn't work fully: https://stackblitz.com/edit/salt-template-8udmuj?file=App.tsx

Close by #3358


Post release automated changes for core releases

Post release automated changes for azure-core-rest-pipeline

/check-enforcer override


Improve OS support

We have done testing on MacOS now. Also Linux is getting stable.
For the future we should therefore rework our OS support:

IMHO we should also release a MacOS bundle as currently MacOS users need to know that they have to download the linux distribution.
IMHO we should have separate documentation per OS for "installation and setup" of the solution.
IMHO we should rename the system folders (https://github.com/devonfw/devon-ide/tree/b9cca7862995eafbac07000f55eafa5d639019c7/scripts/src/main/resources/system) to the according OS - hence Finder should be named or be move to folder MacOs and IDEenv should be named Windows (optionally subfolder Explorer). This is especially helpful when someone downloads the all platforms release containing all the contents for any OS.

Consiedered done. I might do some polishing commits with this issue ID but can already close.


put a download button on the top nav

how easy is it to put a download button on the top nav bar so that user can download the pdf to their device using angularjs-pdf ?

You can do it directly on the server code, at least I did it that way, from the client I access through a button that links to a web API that is responsible for making the download process.

@jpca999: as @RODOBTA says, you can do it directly on the server code


Dead Slack link

Hello!  It looks like the current Slack link no longer works.  Just wondering if it can be updated. :)

Huh, didn't realize they expired.  I've updated the link.  Thanks for pointing it out.
33c24a


References in the heap prevent objects to load correctly

Hi,
as discussed in discord, when using something like:
$obj->organization = new Reference('organization', ['id' => 1]);
$tr->persist($obj);
$tr->run();

and after in the same request doing:
$obj = $select->load('organization')->wherePk(2)->fetchOne();

$obj->organization is an instance of Cycle\ORM\Promise\Reference  instead of the entity instance. It can cause quite an unpredictable behavior that turn the use of references a challenge.

Fixed in v1.3.3. Thank you!


EXA: Fix eager variable calls in notebook

This PR aims at fixing a RuntimeError happening twice during notebook execution on Colab with TensorFlow 1.9.0.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-3-f257cfd7fa84> in <module>()
----> 1 v = tf.Variable(1.0)
      2 assert v.numpy() == 1.0
      3
      4 # Re-assign the value
      5 v.assign(3.0)

/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/variables.py in __init__(self, initial_value, trainable, collections, validate_shape, caching_device, name, variable_def, dtype, expected_shape, import_scope, constraint)
    237     if context.executing_eagerly():
    238       raise RuntimeError(
--> 239           "tf.Variable not supported when eager execution is enabled. "
    240           "Please use tf.contrib.eager.Variable instead")
    241     self._in_graph_mode = True

RuntimeError: tf.Variable not supported when eager execution is enabled. Please use tf.contrib.eager.Variable instead

@aboucaud Can you sign the CLA please? This is a required step for merging this PR.

@caisq sorry I did not know about that. I signed my commits with a different address than the one I use with Google :/

tf.Variable now works on nightly with eager execution enabled, so the change to use tf.Variable was deliberate. Thanks for the contribution!


TypeError: undefined is not a function

when I try to build app:
nwbuild .
or run
nwbuild -r .
I get
[TypeError: undefined is not a function]
When I run in non-app folder it just says that it couldn't find package.json
I tried it on very simple app with just package.json and index.html, also tried it on another example app.
Is it possible to generate more logs so I could find more information about what is happening?
I use Windows 10

I'm getting the same error

I'm getting the same error, but I fixed the bug temporarily.
in line 161 @ version.js
error code:
var version = versions.find(function(version){...});
fixed code:
var version = _.find(versions,function(version){...});
I use Mac:)

Thanks for reporting. What's your Node version? nw-builder requires version 4 or newer.

Ignore the fact this was closed above. I don't think that fixes your problem. I think it's related to an old Node version. But try 2.2.6 anyway and if it does fix your problem, I'll close this.

Is this still a problem? We're now on 3.1.0 by the way.

if your node version is v0.12.xxxx  , you can use
npm install node-webkit-builder -g
and build it.
nw-builder mast less than V4.0 +


572 adex vignette

Hi @Roche-GSK/admiral-devs  - the adex vignette should be updated now. Please let me know any comment. @millerg23 - may I please ask you to check this is aligned with the updated adex script?
Thanks

Hi @kabis-ops
Apologies for late response. In the script we add the ADSL vars after the initial creation of EXDOSE and EXADJ (and adding on SUPP). We also store the ADSL vars in a vector.
 # Get list of ADSL vars required for derivations
adsl_vars <- vars(TRTSDT, TRTSDTM, TRTEDTM)

# Part 1
# Join ADSL with ex and derive required dates, variables
adex0 <- ex %>%
  # Join ADSL with EX (only ADSL vars required for derivations)
  left_join(
    adsl %>% select(STUDYID, USUBJID, !!!adsl_vars),
    by = c("STUDYID", "USUBJID")
  ) %>%

Then at the end add all other ADSL vars:
# Join all ADSL with EX
adex <- adex %>%

  left_join(select(adsl, !!!admiral:::negate_vars(adsl_vars)),
            by = c("STUDYID", "USUBJID")
  )

Only other thing I see is ASEQ is slightly different, in script its:
# Calculate ASEQ
  derive_obs_number(
    new_var = ASEQ,
    by_vars = vars(STUDYID, USUBJID),
    order = vars(PARCAT1, ASTDT, VISIT, VISITNUM, EXSEQ, PARAMN),
    check_type = "error"
  )

I don't think this really matters.

@millerg23 , thanks for the comment. I have updated the vignette.
One thing I wonder, @thomas-neitmann - is it expected that we have to specify admiral::: to call the negate_vars() function? and this generates a warning regarding attributes.

filter_if

@kabis-ops @bundfussr Agree, let's export these functions.

@thomas-neitmann , should we do it in this PR or should we create a new issue?

Let's create a separate issue for that.

@bundfussr - updated as per your comments
@thomas-neitmann - i still have the call to admiral:::, this will need to be updated once the functions are exported.

@kabis-ops I just opened a PR for exporting these utilities. Once that it merged let's merged devel into this branch to get the changes and remove the admiral::: prefix.

Ok, PR approved :)

Thanks, merged 😉

@thomas-neitmann : updated

@bundfussr Could you approve? Otherwise it's blocked as you had requested changes.


Unity 2.1 - RegisterInstance

We are using Unity 2.1 in Asp.net application.
We are using following code in BeginRequest of Global.asax:
public IUnityContainer GetContainer()
{
EngineContainer container = new EngineContainer(_correl);
container.RegisterInstance(CORRELATION, _correl);
foreach(DependencyTypeMap typeMap in _typeMapList)
{
SetupDI(container, typeMap);
}
return container;
}
    private void SetupDI(EngineContainer engContainer, DependencyTypeMap map)
    {
         foreach (var m in map.Maps)
        {
            List<object> args = new List<object>();
            args.Add(engContainer.CorrelationInfo);
            if (m.Item3 != null && m.Item3.Count() > 0)
            {
                args.AddRange(m.Item3);
            }
            if (m.Item4 != null && m.Item4.Count() > 0)
            {
                args.AddRange(m.Item4);
            }
            engContainer.RegisterType(m.Item1, m.Item2, new InjectionConstructor(args.ToArray()));
        }

        if (map.IsloggingEnabled)
        {
            foreach (var type in map.TypesToIntercept)
            {
                engContainer.SetupForInteception(type);
            }
        }
    }

Issue:
The value being passed to RegisterInstance is a session id. In one of the scenario the value being passed to RegisterInstance is user A's id. However, what we get in the Controller is user B's id. So, when Unity is creating Controller instance, incorrect session id is being supplied to the Controller.
Question:
Is RegisterInstance thread safe?
What could be the cause of problem that I am facing

The RegisterInstance method provides a similar dependency feature to the RegisterType method (when used with the ContainerControlledLifetimeManager) in that it creates a registration that always returns a reference to the same instance of the specified object, as long as that object is in scope. The RegisterType method with a ContainerControlledLifetimeManager automatically generates this single instance the first time your code calls it, and the RegisterInstance method accepts an existing instance for which it will return references.
If you foresee that object to be used per session, then registertype should be the way forward.
Just a thought...


Fix/3990 buffer emit remainder on complete

fix(buffer): Remaining buffer will be emited on source close if closingNotifier active
Gives the author control over the emission of the final buffer. If the closingNotifier completes before the source does, no more buffers will be emitted. If the closingNotifier is still active when the source completes, then whatever is in the buffer at the time will be emitted from the resulting observable before it completes.
BREAKING CHANGE: Final buffered values will now be emitted from the resulting observable if the closingNotifier is still active. The simplest workaround if you want the original behavior (where you possibly miss values), is to add a skipLast(1) at the end. Otherwise, you can try to complete the closingNotifier prior to the completion of the source.
Fixes #3990, #6035
fix(buffer): closingNotifier completion does not complete resulting observable
Resolves an issue where the resulting observable would complete when the closingNotifier completed. Notifier completion should not complete the result, only source completion should do that.
BREAKING CHANGE: closingNotifier no longer closes the result of buffer. If that is truly a desired behavior, then you should use takeUntil. Something like: source$.pipe(buffer(notifier$), takeUntil(notifier$.pipe(ignoreElements(), endWith(true)))), where notifier$ is multicast, although there are many ways to compose this behavior.

@cartant it looks like we caught another inconsistency with our API. The window operator is allowing the completion of the windowBoundaries notifier to act as a notification, rather than a simple completion. It's completing the result and the window, when really it should just mean that the author is saying they're not going to close and reopen any new windows again.
(It's a bug)

@cartant So I've added another commit that also fixes window to behave properly, and changes the behavior of buffer to the simpler thing that makes more sense. They are now equivalent. I've also rebased the commits to make sure we don't have conflicting messages in our changelog and added examples on how to get the "old" behavior to the breaking change message.

Merging despite ts@latest issue that seems unrelated.


deprecate qrztools

adds a warning to all documentation, README, and pypi description
adds DeprecationWarning on import:

>>> import qrztools
<stdin>:1: DeprecationWarning: This library is now deprecated. Use callsignlookuptools instead.

This PR should not be merged until miaowware/callsignlookuptools 1.0.0 release.

also make sure to add a changelog/release commit and check stats


Display and Update Area Field on Work Item Detail View

Description
As a user, I want to change the Area of a Work Item on the detail view.
Functional Acceptance Criteria

The detail view contains a dropdown that displays the current Area of the Work Item.
The user can change the Area value of a Work Item by using this typeahead dropdown that contains all Areas of the current Space.
It is not possible to set an empty value for the Area.

Non-functional Acceptance Criteria

All changes are done in-place.

Note: Despite popular belief, the Planner is not contextualized by the Area (for now). The Planner displays all Work Items across all Areas of the current Space.
Note: Every Work Item has a default Area set, there are not Work Items without an Area value. That default Area value is also contained in the typeahead dropdown.
Note: The Area is one-fold for now, but will be an hierarchy later. The implementation should reflect that.
Related

Userstory #913.
Userstory #914.

UX Wireframe for Areas
Fabric8-UX Story

Just to confirm:

Does every space include at least one area? (A "default" area?)
Does every workitem require that it be associated with an area?
Can a work item be associated with more than one area at a time?

Thanks!

@ldimaggi

Every space has at least one area - Spaces create default Areas upon creation of the Space
Every Work Item must be associated with an Area
Work Items cannot be associated with more than one Area at a time

Thanks Adam!
On Tue, Feb 7, 2017 at 11:28 AM, Adam Jolicoeur<EMAIL_ADDRESS>wrote:

@ldimaggi https://github.com/ldimaggi

Every space has at least one area - Spaces create default Areas upon
creation of the Space
Every Work Item must be associated with an Area
Work Items cannot be associated with more than one Area at a time

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabric8io/fabric8-planner/issues/913#issuecomment-278053601,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAnOPeyYsDM0K5P3txVRv6Q3i8zvDuurks5raJuzgaJpZM4L5m0s
.

--
Len DiMaggio<EMAIL_ADDRESS>JBoss by Red Hat
314 Littleton Road
Westford, MA 01886  USA
tel:<PHONE_NUMBER>
cell:<PHONE_NUMBER>
http://www.redhat.com
http://community.jboss.org/people/ldimaggio

is the default area anything but the "/" area ?

"It is not possible to set an empty value for the Area." this seems wrong to me.
Do you expect every user reporting issues being able to know what area is the right one ?
That said, if "/" (the root/default area) is considered a non-empty value then that sounds fine.

Adam jump in here... I believe we settled on surfacing the "/" as "/default
is the space name as the highest level of the area."
On Wed, Feb 8, 2017 at 7:06 AM, Max Rydahl Andersen <
<EMAIL_ADDRESS>wrote:

"It is not possible to set an empty value for the Area." this seems wrong
to me.
Do you expect every user reporting issues being able to know what area is
the right one ?
That said, if "/" (the root/default area) is considered a non-empty value
then that sounds fine.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fabric8io/fabric8-planner/issues/913#issuecomment-278310892,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq_ouG5RKAUCMPK4iPaCPQKZcxQ4Pks5raa_MgaJpZM4L5m0s
.

Follow-up questions:
Is the path composed of space + areas + what else?
Is there a clear definition of the elements that are contained in the path
as opposed to the URL?
Thx!
On Wed, Feb 8, 2017 at 10:08 AM, MonicaGran<EMAIL_ADDRESS>wrote:

Adam jump in here... I believe we settled on surfacing the "/" as "/default
is the space name as the highest level of the area."
On Wed, Feb 8, 2017 at 7:06 AM, Max Rydahl Andersen <
<EMAIL_ADDRESS>wrote:

"It is not possible to set an empty value for the Area." this seems wrong
to me.
Do you expect every user reporting issues being able to know what area is
the right one ?
That said, if "/" (the root/default area) is considered a non-empty value
then that sounds fine.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/fabric8io/fabric8-planner/issues/913#
issuecomment-278310892>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ARTwq_
ouG5RKAUCMPK4iPaCPQKZcxQ4Pks5raa_MgaJpZM4L5m0s>
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabric8io/fabric8-planner/issues/913#issuecomment-278354077,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAnOPSnPl22-XpUSvYhFGVJvBGMitum9ks5radpogaJpZM4L5m0s
.

--
Len DiMaggio<EMAIL_ADDRESS>JBoss by Red Hat
314 Littleton Road
Westford, MA 01886  USA
tel:<PHONE_NUMBER>
cell:<PHONE_NUMBER>
http://www.redhat.com
http://community.jboss.org/people/ldimaggio

@maxandersen @Mgranfie @ldimaggi The default Area or "/" carries the name of the Space. For instances, Space "BalloonPopGame" automatically creates a default Area called "BalloonPopGame". That is how it would display to a user to make things easily distinguishable.
sample path -> //Fabric8/BalloonPopGame/BalloonPopGame

The detail view contains a dropdown that displays the current Area of the Work Item.

The user can change the Area value of a Work Item by using this typeahead dropdown that contains all Areas of the current Space.

It's either a typeahead or a dropdown (confusion as both terms are used).

It is not possible to set an empty value for the Area.

I would also suggest having an acceptance criteria such as "by default, the '/' area is selected for the user".
Another functional acceptance criteria should be: "It is not possible to add, remove or update areas from the Work Item detail view." - this is in case people thing that you can somehow modify the areas from this screen.

UX Wireframe for Areas

This wireframe is substantially incorrect.

Callout (1) in the top left: the platform displays the current space only here. The {organization|user} name is not displayed here if the planner is open. The area is never show here.
Callout (1) in the detail view. The user story specifies this as a typeahead, the mockup shows a dropdown - needs resolving (personally I prefer a typeahead, but regardless choose one or the other).
Callout (2) is discussed but not identified on the screen.

@maxandersen @Mgranfie @ldimaggi The default Area or "/" carries the name of the Space. For instances, Space "BalloonPopGame" automatically creates a default Area called "BalloonPopGame". That is how it would display to a user to make things easily distinguishable.

In the UX, the default area in a space is / and is NOT the name of the space (note that the backend may not implement the data model exactly this way, but that is neither here nor there for the UX).

sample path -> //Fabric8/BalloonPopGame/BalloonPopGame

This sample path is incorrect, the area does not appear in the path today, as you cannot today navigate to an area
In general, I think there is some confusion that an area is a navigation element - it is not. An area is a filter that can be applied in the planner.
@michaelkleinhenz is working on a strawman for the URL structure, which will help make the URL structure clearer - in particular which elements can appear in the URL path vs the URL query string.

inline...
On Wed, Feb 8, 2017 at 11:47 PM, Pete Muir<EMAIL_ADDRESS>wrote:

The detail view contains a dropdown that displays the current Area of the
Work Item.
The user can change the Area value of a Work Item by using this typeahead
dropdown that contains all Areas of the current Space.
It's either a typeahead or a dropdown (confusion as both terms are used).
It is not possible to set an empty value for the Area.
I would also suggest having an acceptance criteria such as "by default,
the '/' area is selected for the user".
Another functional acceptance criteria should be: "It is not possible to
add, remove or update areas from the Work Item detail view." - this is in
case people thing that you can somehow modify the areas from this screen.

UX Wireframe for Areas
https://redhat.invisionapp.com/share/XCA839ET9#/217730372_Areas_-_002

This wireframe is substantially incorrect.

Callout (1) in the top left: the platform displays the current space
only here. The {organization|user} name is not displayed here if the
planner is open. The area is never show here.

(mg) Pete are you saying that the Area you are in is never displayed
anywhere for context? That would seem odd to me based on the desc. that
Todd gave. ie: I am working  int he office/excel/mobile/ios, mobile/ios
being the areas. Would I not want/need to see and know this for context? or
are you saying that a user can work in more than one area at time?

Callout (1) in the detail view. The user story specifies this as a
typeahead, the mockup shows a dropdown - needs resolving (personally I
prefer a typeahead, but regardless choose one or the other).
Callout (2) is discussed but not identified on the screen.

(mg) these are also being revised by Adam to accommodate hierarchy/paths
of the areas.

@maxandersen https://github.com/maxandersen @Mgranfie
https://github.com/Mgranfie @ldimaggi https://github.com/ldimaggi The
default Area or "/" carries the name of the Space. For instances, Space
"BalloonPopGame" automatically creates a default Area called
"BalloonPopGame". That is how it would display to a user to make things
easily distinguishable.
In the UX, the default area in a space is / and is NOT the name of the
space (note that the backend may not implement the data model exactly this
way, but that is neither here nor there for the UX).

(mg) Adam this was a discussion that you had with Todd? As I understood it
and Adam correct me here... "/" is the default area and until a user
creates an area it is surfaced as the same name as the space.

sample path -> //Fabric8/BalloonPopGame/BalloonPopGame
This sample path is incorrect, the area does not appear in the path today,
as you cannot today navigate to an area
In general, I think there is some confusion that an area is a navigation
element - it is not. An area is a filter that can be applied in the planner.
@michaelkleinhenz https://github.com/michaelkleinhenz is working on a
strawman for the URL structure, which will help make the URL structure
clearer - in particular which elements can appear in the URL path vs the
URL query string.

(mg) great keep us posted!

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabric8io/fabric8-planner/issues/913#issuecomment-278546333,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq5zNW-P1PDqNnps4h_1RQrcj934Mks5rappXgaJpZM4L5m0s
.

@pmuir @Mgranfie
Callout (1) in the top left: the platform displays the current space only here. The {organization|user} name is not displayed here if the planner is open. The area is never show here.

I'll remove any platform references, given that there are no other UX portions for that. It'll just stay as an empty bar for the time being, given that it is not part of Planner. At some point, we will need some sort of identifier to inform the user as to what Area they are currently in. Not doing so could become a pain point.

Callout (1) in the detail view. The user story specifies this as a typeahead, the mockup shows a dropdown - needs resolving (personally I prefer a typeahead, but regardless choose one or the other).

I've adjusted the wireframe to show this as an input box where once the user clicks into it and activates the input, a selection of available items will appear.

Callout (2) is discussed but not identified on the screen.

Fixed in the updated wireframe

In the UX, the default area in a space is / and is NOT the name of the space (note that the backend may not implement the data model exactly this way, but that is neither here nor there for the UX).

In emails with Todd, it was decided that the default Area will have the same name as the Space. Similarly, the default root of Iterations will also carry the name of the Space. I.E. Space 'Foo' has default Area and Iteration of 'Foo'. These are just visual queues - the data can be stored any way that is seen fit (such as '/Foo' or 143ad-75cd2-fe32A-88b1c-dde19).

(mg) Pete are you saying that the Area you are in is never displayed
anywhere for context? That would seem odd to me based on the desc. that
Todd gave. ie: I am working  int he office/excel/mobile/ios, mobile/ios
being the areas. Would I not want/need to see and know this for context? or
are you saying that a user can work in more than one area at time?

In the MVP areas are only supported in the planner, they are not supported in other areas of the platform, as this is not designed or architected out. Therefore areas are always displayed to the user in either the work item they are looking at or the filter they apply to a list view.
We may well want to expand areas to other parts of the platform, but we don't need that as part of the MVP. When we expand areas to other parts of the platform, then we can look at how it shows up in the platform UI.

In the UX, the default area in a space is / and is NOT the name of the space (note that the backend may not implement the data model exactly this way, but that is neither here nor there for the UX).

In emails with Todd, it was decided that the default Area will have the same name as the Space. Similarly, the default root of Iterations will also carry the name of the Space. I.E. Space 'Foo' has default Area and Iteration of 'Foo'. These are just visual queues - the data can be stored any way that is seen fit (such as '/Foo' or 143ad-75cd2-fe32A-88b1c-dde19).

Ok, that's fine by me - I'm of the opinion that / is a better default area, but this is a great one to A/B test down the line and see what users prefer :-)

@nimishamukherjee I created the wireframes and interactions for this, so I'll be pairing up to help with any questions/comments/concerns. Just let me know when you'd like to go over the wireframes - I'm available at all sorts of hours :-)

@nimishamukherjee is there any progress/info on this Issue? Have any more questions come up that need to be looked at? Thanks!

Functional tests pending


update binder environment for JupyterLab3 and k3d

Changes
Unpin JupyterLab plugin versions and install k3d extension in binder
Now works with jupyterlab3 and k3d extension 🚀

for some reason this worked on my fork but not on master... 🙄


Add title support VictorOps receiver

In #417 support was added for VictorOps (PagerDuty alertnative).
However the receiver doesn't support most fields listed in the docs, specificaly the entity_display_name field which serves as a title.
The result of this is the incidents created by Alertmanager have a random string as a title, forcing the user to open the incident page and search for the description body in order to understand what the incident it about.
The change should be pretty straight forward.
In addition, please allow to set the rest of the fields described in the docs above.
Thanks!

This would certainly be accepted rather quickly. Would you like to give implementing this a shot?

@fabxc sorry but no, we have moved away from VictorOps.

We are going to use VictorOps soon, so I will implement this.


Sai/options tab db properties

This PR changes add the ability to View/Modify the database properties through the options tab. Below image is for Local/On-Prem/ManagedInstance properties dialog window.
TODO:

Tests
Database Scoped Configuration (would be a new PRs)

Are you planning on updating STS with your backend changes in this PR as well? Or get this in and then do a separate follow up PR?

I can go ahead and merge this one, and then raise a separate PR to update the sts version. Also, STS PR is out for review.

I have just added a test case to validate the utils helper method, but noticed the mssql tests are disabled in .\scripts\test-extensions-unit.bat file. did we disable them compltely?


Added FAQ and Contact us sections

Pull Request Template
**Title:**Added contact us and faq sections to website
Description
faq is added above newsletter
and contact us is added below newsletter
both responsive
Related Issue
Fixes issue #84
Changes Made
added two components faq and contact us

[x] Briefly describe the changes you made. Include any relevant information.

Checklist

[x] I have tested my code and it works as expected.
[x] I have added/updated documentation where necessary.
[x] I have included tests for new features.
[x] I have followed the project's coding standards.

Screenshots (if applicable)

@thakuratul2 @saurabhbakolia check this out please

Hey @govindumeesala, I think it's cool, but what do you think about adding the FAQ section to the home page while having a separate page for Contact Us?

okay sure wil do it

@saurabhbakolia  Heyy added separate contact us page to the site
Could you please consider adding level-2 to the issue, Only if you feel its worth.

@govindumeesala your branch having conflicts fix asap

@govindumeesala your branch having conflicts fix asap

Heyy @thakuratul2 @saurabhbakolia I resolved the conflicts. Check once
level label should be without dashes between them
remove level-1 and
add level1
since they mentioned if dashes are added then not counted

@saurabhbakolia review and merge if any issue not found

@saurabhbakolia please check this out once


Poor type inference when using satisfies with default function parameters

Bug Report

🔎 Search Terms

satisfies, default parameters, type inference
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about type inference

Tested on versions 4.9.4, and 5.0.4 (@latest at time of writing) 5.1.0-dev.20230414 (@next at time of writing).
⏯ Playground Link

Playground link with relevant code
💻 Code

const obj = {
   foo: (param = "default") => param,
} satisfies {
   [key: string]: (...params: any) => any;
};

🙁 Actual behavior

In the above example, obj is an object containing a list of arbitrary functions. I'm using satisfies here because I want to ensure that obj only contains functions, but I also want the names of those functions to be available on the type. So far, everything is working as expected.
The problem is with the parameter param. Its given a default value of "default", which would normally cause typescript to infer the type as string. However, in this case typescript is inferring the type as any, which is unexpected. Interestingly, removing satisfies here causes typescript to successfully infer the type as string.
🙂 Expected behavior

I would expect typescript to infer the type of param as string instead of any. I would also expect that adding satisfies never changes the type of an object.

I think we could change this without breaking too much

Discussed at https://github.com/microsoft/TypeScript/issues/53920#issuecomment-1516616255 and determined that this is the desired behavior

It's also probably worth cross-posting here your solution from that comment that does work as intended for the presented case:

The scenario in OOP is probably the one place in TS where you should actually use the Function type (as satisfies {[key: string]: Function; }), since that's the only way to describe a function without implicitly creating a description of its parameters.

TS playground

Thanks for looking into this. The rabbit hole definitely goes deeper than I would have thought given what seemed to be a simple issue. I learned a lot by reading through the discussions on this!


fpm build for translation packages doesn't honour auto-imports of the original package docs

Implement in https://github.com/FifthTry/fpm/pull/132.


CLI throwing error; says can't find anything at given path, even when dragging file in from Finder window

I've been using Maestral for about 6 months, and not had any issues. I'd written two shortcuts which wrapped around applescripts to get the dropbox share link when right-clicking, and the dropbox file history.  These were working perfectly.
I just went to use the first shortcut, and the command line is throwing the error "! Could not create shared link. There is nothing at the given path"; this is weird because the script used to work.
I went into Terminal, and used the sharelink command, dropping the file into the terminal command by dragging it from Finder, and it throws the same error.
Am using Ventura and Maestral 1.6.3

maestral sharelink requires a path relative to the Dropbox directory. Dragging the file from Finder therefore does not work.
I'm surprised about your scripts though, you say that they used to work?

Seeing a similar issue with Maestral 1.6.5 on an Ubuntu 20.04-based Linux distribution (elementaryOS):
$ ls -l ~/Dropbox/00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf
-rw-rw-r-- 1 me me 108784 Dec 15 18:08 /home/me/Dropbox/00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf

$ maestral sharelink create ~/Dropbox/00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf
! Could not create shared link. There is nothing at the given path.

$ maestral sharelink create 00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf
! Could not create shared link. There is nothing at the given path.

Seeing a similar issue with Maestral 1.6.5 on an Ubuntu 20.04-based Linux distribution (elementaryOS):
$ ls -l ~/Dropbox/00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf
-rw-rw-r-- 1 me me 108784 Dec 15 18:08 /home/me/Dropbox/00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf

$ maestral sharelink create ~/Dropbox/00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf
! Could not create shared link. There is nothing at the given path.

$ maestral sharelink create 00_INBOX/OSDC_cheatsheet-compose-2022.4.15.pdf
! Could not create shared link. There is nothing at the given path.

@ernstki, thanks for providing examples. The last command which you have posted should succeed. The sharelink command takes paths relative to the Dropbox folder as arguments so that it also works on items which are for example excluded by selective sync.
Could you confirm that the local file was indeed uploaded?

@samschott That's a good point. This was in the middle of an initial sync, which on my home wifi was… struggling with. There's a good chance that particular file was fighting upstream against the thousands of other ones coming downstream.
The client probably did exactly the right thing under those circumstances, but the error message is just misleading. If you agree, that's something I could probably do a PR for (to make the error message more specific about which end "at the given path" is referring to).

Sure, I'm happy to review PR to improve the usability!
In general, the CLI --help output distinguishes between DROPBOX_PATH and LOCAL_PATH arguments, but I acknowledge that the meaning of DROPBOX_PATH is not immediately clear without knowing about its counterpart LOCAL_PATH`.
For example, for sharelink create, the help output shows:
Usage: maestral sharelink create [OPTIONS] DROPBOX_PATH

  Create a shared link for a file or folder. Return the URL.

Options:
  -p, --password TEXT       Optional password for the link.
  -e, --expiry DATE         Expiry time for the link (e.g. '2025-07-24
                            20:50').
  -c, --config-name CONFIG  Run command with the given configuration.
  --help                    Show this message and exit.

Closing this since it is working as intended. Feel free to open a separate issue or even a RP for documentation improvements.


Support multi region

I have AWS resources across 2 region.
However Currently terraforming outputs resources for only single region.
So please support multiple region

Thank you for reporting issue :exclamation:
In fact, it may be difficult to generate resources across multi-region at the same time .
Terraforming loads AWS_REGION environment variable, so you can generate resources in another region by switching AWS_REGION :earth_asia:
To generate SecurityGroups in ap-northeast-1 (Tokyo) and ap-southeast-1 (Singapore):
# export AWS_REGION=ap-northeast-1
$ terraforming sg # SecurityGroup in ap-northeast-1
$ AWS_REGION=ap-southeast-1 terraforming sg # SecurityGroup in ap-southeast-1

OK, It makes sense.


Add .editorconfig file

+1 A simple but usefull addition to maintain code style's consistency :)

<3


epub not rendering

When opening an epub file, the epub doesn't show.

[ ] Parse ePub file
[ ] Handle parsed epub file
[ ] Figure out how to handle images
[ ] Build UI for renderer
[ ] Link UI with parsed epub document

A little documentation on implementing linked list with Collection: https://gist.github.com/Inukinator/c7ed18bf79dbd2ff92ab23c794fc747f


Faster closest commonsuperview

The general idea is to move from an O(n^2) algorithm to a O(N) where N is the height of the view hierarchy tree. The algorithm is very simple: traverse the tree up starting from both views and keep the visited views in a set. When any of the nodes was already visited before: that must be the common superview.

@Reflejo
How necessary is this? Also what's the performance of the contains lookup? In most cases I imagine constraints are only going up a few layers though it could be more I'm hesitant to integrate this as I don't have tests in place to validate it always works and the widespread issues it would cause in cases of failure.

Sets lookups are supposed to be O(1) avg as they are backed up on a hashtable.
I can't prove correctness on the code itself but we can't neither for the old implementation. This method is being called for each set of constraints you add to the maker object, which makes the old code O(M  * N ^ 2), but yes, usually n and m are small. The only reason I'm purposing the change is because I think that this algo is very simple and doesn't seem to be risky, but I understand your hesitance.

This is, again, swift 1.2 specific since I'm using Set(s). So if you are ok with this, it should go to the 1.2 branch.

Can you open this as a new PR against the swift-1.2 branch please?


Experimental RFC 436 - using withDefaults with generic attribute cause error

I'm trying to use withDefaults function to set the default value for the property, but some error occurs. There is no error if I define props without it.

Here is a public repo to showcase the issue. The generic component with the error is AppInput.vue

See https://github.com/vuejs/language-tools/pull/1964#issuecomment-1277536987


config/MeshConfig: Update control plane to v1alpha3

Updates the OSM control plane to use the new v1alpha3 version, and
add a couple of convenience methods. Also, add install capabilities
by updating the Helm chart
Part of #4653
Signed-off-by: Keith Mattix II<EMAIL_ADDRESS>
Description:

Testing done:
Update units to reference new control plane version. Actual functionality will be tested in the next PR

Affected area:

Functional Area

New Functionality
[X]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[X]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Did you notify the maintainers and provide attribution? no

Is this a breaking change? no

Has documentation corresponding to this change been updated in the osm-docs repo (if applicable)? Not yet applicable

Is there a bug linked to this? Can you explain why we need a whole new version API? If we're just adding a field I would expect us to be able to add that to the existing API with no backwards incompatible changes.
We would just need to have our init container switch from a Create to an Apply when generating the CRD's

@steeling adding the related issue; this is a multi-part PR. The reason I opted for a new version is because this is coming after a release (v1.1) and we're likely going to be releasing this feature as a patch. I think the explicitness is helpful even though the change would be backward-compatible

@steeling adding the related issue; this is a multi-part PR. The reason I opted for a new version is because this is coming after a release (v1.1) and we're likely going to be releasing this feature as a patch. I think the explicitness is helpful even though the change would be backward-compatible

There's a lot of overhead in maintaining multiple versions. And reasoning about version change compatibility can be tricky. I'd push for a policy of only bumping versions on non-backwards compatible changes, as is standard for CRD's.
Reducing the number of API's we need to maintain is going to pay dividends down the road

Fair point; I wasn't aware of that guidance in sig-architecture. I'd love a centralized guide for these conventions, but that's a separate matter.
So since #4671 has already been merged; what do you suggested we do? cc @shashankram

@steeling adding the related issue; this is a multi-part PR. The reason I opted for a new version is because this is coming after a release (v1.1) and we're likely going to be releasing this feature as a patch. I think the explicitness is helpful even though the change would be backward-compatible

There's a lot of overhead in maintaining multiple versions. And reasoning about version change compatibility can be tricky. I'd push for a policy of only bumping versions on non-backwards compatible changes, as is standard for CRD's.
Reducing the number of API's we need to maintain is going to pay dividends down the road

In general, I agree with reducing the burden by not bumping API versions for backward compatible fields. When we bumped the version from v1alpha1->v1alpha2 previously, it was done because there were several new fields, and also because we wanted to exercise the conversion webhook path, so it made sense back then.
I am not opposed to bumping the version here, but this should be accompanied by completely removing v1alpha1 types from the code and docs, we we don't have an ever increasing list of versions to maintain.

Fair point; I wasn't aware of that guidance in sig-architecture. I'd love a centralized guide for these conventions, but that's a separate matter.
So since #4671 has already been merged; what do you suggested we do? cc @shashankram

@keithmattix since this seems to be well documented in the API convention, let's revert #4671 and add the field to the v1alpha2 version. @steeling, thanks for sharing the API guide regarding this.

Closing due to discussion.


✘ Frontend not Built (Proxmox Version: 8.2.2 - Ubuntu Version: 22.04)

Script
sh -c "$(wget --no-cache -qO- https://raw.githubusercontent.com/ej52/proxmox/main/install.sh)" -s --app nginx-proxy-manager
**Describe the bug**
✔ Operating System Updated
✔ Dependencies Installed
✔ Rust v1.74.0 Installed
✔ Python v3.10 and Pip v24.0 Installed
✔ Openresty v<IP_ADDRESS> Installed
✔ Node.js v16.20.2 Installed
✔ Yarn v1.22.19 Installed
✔ Nginx Proxy Manager v2.11.1 Downloaded
✔ Enviroment Setup
✘ Frontend not Built

[ERROR] on line 281 with exit code 128 while executing command yarn install --silent --network-timeout=30000 > $__OUTPUT
root@Nginx-Proxy-Manager:~#

System info:

Proxmox Version: 8.2.2
Ubuntu Version: 22.04

Additional context
First, let me say thank you for doing this.  It is something I do not have the skills for.
With that said, Is there any chance of adding a selector so the script could be run in Verbose?  It might allow users to gather more info on what is happening to be able to share more.  Just a thought. :)

Chiming in to confirm that I'm seeing the same issue on Proxmox 8.1.5 + Ubuntu 22.04

I ended up getting it running using the tteck script, but I had to do it with default Alpine settings.  If I modified anything it did not work either.

https://github.com/vontainment/proxmox-scripts
I fixed all the errors in my repo and made a pull request until its accepted you can use my repo.

There seems to be something up with the login shell interaction. If I pct enter and run the script I get the error. If I su - first to get all the $PATH you'd normally expect it works like a charm.

Seeing the same issue, same versions of proxmox and Ubuntu. I tried su- it made no difference.

Try this and see if it works. It did for me.
https://github.com/ej52/proxmox-scripts/issues/153#issuecomment-1891074903


Spam in server console of "Tried to add entity dynamictrees:falling_tree but it was marked as removed already"

Getting excessive spam of a warning in server console;
[Server thread/WARN] [minecraft/WorldServer]: Tried to add entity dynamictrees:falling_tree but it was marked as removed already
As of right now, loading dynamic trees into a server environment with our mod pack appears to cause this, I have also been experiencing a drastic increase in server resources being used and recently discovered this after getting several entity errors I could not diagnose.
I am running the following mod versions on Minecraft 1.12.2 with forge version <IP_ADDRESS>47;
Dynamic Trees 1.12.2-0.9.6
DT Biome O' Plenty 1.12.2-1.4.1e
DT Pams Harvest Craft 1.4.2
DT Thaumcraft 1.4.1e
However there is no crashing yet.
I will upload a full mod list later today, working on some other back end stuff at the moment and do not have a full list compiled at the moment.
Thank you for your time and creation of this wonderful mod, it makes the world feel much more alive and I would hate to have to remove it because of some weird bug.

I also see these messages. I have a rather large set of mods, though none that overlap with yours.
https://gist.github.com/fatlard1993/fb7983dc78fb2556f002a99c499d43d6

Recently we reset the server, in doing so we removed dynamic trees, prob just gonna keep it out until this is fixed as it has caused a massive amount of tps issues.

This is caused by a very basic mistake.
https://github.com/ferreusveritas/DynamicTrees/blob/45090027fbe6d400949630ad4188169f33739717/src/main/java/com/ferreusveritas/dynamictrees/entities/EntityFallingTree.java#L451-L454
That should never happen. You're not supposed to do anything even remotely like this, and trees should be saved to disk when falling.

Thanks for the good info, I'll look into correcting this.  Do you have any additional reasons as to why it can't be done this way?  Such as why not saving it can cause this problem?

It can't be done this way, because the server never expects to see something die as it's loaded. Doing so causes it to freak out, because there's a discrepancy between what should have resulted from the load and what didn't.
You should never change the state of the object except to make it match what the NBT has, in a read method. They're called by much more than just saving to disk, such as commands and various entity or chunk routines.

I'm having this spam too with a similarly large modpack, one thing stood out though: every time this spam occurs all items are being deleted from the ground.


ipykernel as a dependency?

If we are doing a demo with jupyter notebook, we should add ipykernel as a dependency in the env.

Can do!

From a slack conversation with Brenda - we want to create a seperate testing/dev/demo environment so that we can keep the users env more lightweight since we've been running into various environment problems.
Assigning to brenda or I.


Add definition and description about recognition_03

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Can one of the admins verify this patch?

@mayurid can you please merge?

We are experiencing deployment issues on two regions, will send update in this PR to notice when it's ready to merge, sorry about that, and thank you.

Close this PR temporarily, will reopen afterwards.

/azp run automation - sdk


Groom code, templates, externalURLs and especially DBTemplates for trac.ietf.org references

Point trac.ietf.org references to the new right place to avoid the redirects.

I've changed the DBTemplates, except for a dead one related to nomcom2022's email messages to nominees that has nowhere now to point to that's correct.

The only *ExtResource class with impacted objects is GroupExtResource:
>>> GroupExtResource.objects.filter(value__contains='trac.ietf.org').count()
556
>>> GroupExtResource.objects.filter(value__contains='trac.ietf.org').first().value
'https://trac.ietf.org/trac/banana/wiki'

A migration will need to move these.
Research to understand the shape of the rewriting is needed. There are things like:
'https://trac.ietf.org/trac/appsawg/report/1'

for which there's nothing now to point to (as the group did not move to another issue tracker).

See also #5958, which I'll close now as a duplicate.


startContinuousRecognition will automatically stop

I downloaded the official iOS SDK "MicrosoftCognitiveServicesSpeech-XCFramework-1.34.0.zip" from your official website.
I want to use [speechRecognizer startContinuousRecognition] to implement real-time continuous  recognition, that the speech source come from microphone.
here is my relevant code:
    SPXPushAudioInputStream *stream = [[SPXPushAudioInputStream alloc] init];
    AudioRecorder *recorder = [[AudioRecorder alloc]initWithPushStream:stream];
    SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc]initWithStreamInput:stream];

    speechRecognizer = [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig language:lang audioConfiguration:audioConfig];

  [speechRecognizer startContinuousRecognition];

when I call [speechRecognizer startContinuousRecognition], it will begin recognizing, but will soon stop immediately.(even though i don't call [speechRecognizer stopContinuousRecognition] )
but if i sleep for N seconds, it will recognize N seconds, and then stop.
 SPXPushAudioInputStream *stream = [[SPXPushAudioInputStream alloc] init];
    AudioRecorder *recorder = [[AudioRecorder alloc]initWithPushStream:stream];
    SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc]initWithStreamInput:stream];

    speechRecognizer = [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig language:lang audioConfiguration:audioConfig];

  [speechRecognizer startContinuousRecognition];

  [NSThread sleepForTimeInterval:3.0f];      // add this code will delay stop

What I expected
if i don't call  [speechRecognizer stopContinuousRecognition];,    I expect continuous recognition not stopping.

Could you please make sure that the speech recognizer instance you create does not go out of scope before recognition has been completed.

Thanks, this issue has already be solved.

hi~ @Zuckjet ,  How to resolve this issue? i get the same issue recently.


"workbench.action.terminal.clear" command has problems with Python REPL under PowerShell.

(originally reported to vscode-python)
@KonstantinsM

VS Code version: Code 1.37.0 (036a6b1d3ac84e5ca96a17a44e63a87971f8fcc8, 2019-08-08T02:33:50.993Z)
OS version: Windows_NT x64 10.0.18362
Steps to Reproduce:

add a keybinding for ctrl-k to "workbench.action.terminal.clear"
open a terminal (PowerShell)
run a python executable to get a Python REPL prompt
type "print" (do not hit enter)
hit ctrl-k (clear terminal)
hit enter

The cursor will be in the wrong place.
(see: https://github.com/microsoft/vscode-python/issues/6970)

Does this issue occur when all extensions are disabled?: Yes/No
Yes

/duplicate https://github.com/microsoft/vscode/issues/75141


Add IOC attribute to alert artifacts.

Regarding feature request #126 .

This has been already added by https://github.com/TheHive-Project/TheHive4py/commit/afb1ee4f18cc80bf2170ab5bc1a7a49e0f3fa87c
Thanks for the PR