Call to undefined method Illuminate\Events\Dispatcher::fire()

I tried creating a new discussion and I get this error, I am using laravel 5.8 and it says fire method is deprecated. Do you think there will be many of similar errors so I should move on to another package, or I could fix it myself?

Same here with 5.8. looks like this method was deprecated in laravel 5.4 and was an alias to Illuminate\Events\Dispatcher::dispatch(). But it was finally removed in 5.8.
If you want a quick fix for this one problem you can manually change Event::fire to Event::dispatch your files in the vendor folder in these two files:
vendor/devdojo/chatter/src/Controllers/ChatterDiscussionController.php
vendor/devdojo/chatter/src/Controllers/ChatterPostController.php
BUT remember that these changes won't persist through composer install (if there is ever an update) and won't be committed to your own git repo unless you move it out of the vendor folder and adjust your own composer.json to point to it for this namespace. Who knows what else doesn't work. Looks like this package has been abandoned and is ignoring pull requests. If possible I would find something else.

A quick and dirty guide for anyone who UPGRADED from Laravel 5.7 to 5.8 AFTER installing this package.
So after upgrading to laravel 5.8 I copied the entire devdojo folder under a folder in my app root called "unvendored"
WARNING: Keep in mind I installed this package when I had laravel 5.7 and ran the commands described in the original readme while I had a regular install under 5.7. I don't know if the migrations will work or the vendor:publish command.
I then changed Dispatcher::fire() to Dispatcher::dispatch() as described in this pull request: https://github.com/thedevdojo/chatter/pull/241
I added this to the main composer
    "autoload": {
        "psr-4": {
            "DevDojo\\": "unvendored/devdojo/"
        }

and added the only production required package:
composer require "luketowers/purifier=~3.0"
but then deleted the real chatter package via
composer remove devdojo/chatter
now since the vendor package doesnt have the laravel auto package discovery, i had to manually add
the service provider to config/app.php under the providers key
DevDojo\Chatter\ChatterServiceProvider::class
Now it seems to work except for the color picker. This is due to a race condition where chatter tries to load the spectrum jquery plugin before jquery is loaded. My fix is pretty ungraceful: I had to remove the "defer" attribute from <script src="{{ asset('js/app.js') }}" defer></script> in resources/views/layouts/app.blade.php. (thanks to this comment https://github.com/thedevdojo/chatter/issues/226#issuecomment-438640209)
So far everything seems to work. I hope an official fix comes out for this package because it is the nicest looking drop in forum.

Another option is to extend the facade to make it use dispatch in stead of fire.
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Event as IlluminateEvent;

class Event extends IlluminateEvent
{

    public static function fire($var)
    {
        parent::dispatch($var);
    }
}

then in config/app.php you can do
// "Event" => Illuminate\Support\Facades\Event::class,
 "Event" => App\Facades\Event::class,

worked for me, but after spending 4 hours trying to make it work and adjust it to my needs I realised I needed some extra options and I could better write a forum myself.
What a waste of my time. At least I learned how to extend facades. ;-)

@WouterClaes Thnx for your solution, even today this solution is cleaner as what I saw before.

the @WouterClaes solution is the best solution so far I think. Thanks!

@WouterClaes Please where I can add this code bellow:
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Event as IlluminateEvent;

class Event extends IlluminateEvent
{

    public static function fire($var)
    {
        parent::dispatch($var);
    }
}

@WouterClaes Please where I can add this code bellow:

`<?php
namespace App\Facades;
use Illuminate\Support\Facades\Event as IlluminateEvent;

class Event extends IlluminateEvent
{
public static function fire($var)
{
    parent::dispatch($var);
}

}`

@WouterClaes Please where I can add the code bellow:
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Event as IlluminateEvent;

class Event extends IlluminateEvent
{

public static function fire($var)
{
    parent::dispatch($var);
}
}

@WouterClaes Please where I can add the code bellow:
`<?php
namespace App\Facades;
use Illuminate\Support\Facades\Event as IlluminateEvent;
class Event extends IlluminateEvent
{
public static function fire($var)
{
parent::dispatch($var);
}
}`

@WouterClaes Please where I can add the code bellow:
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Event as IlluminateEvent;

class Event extends IlluminateEvent
{

public static function fire($var)
{
    parent::dispatch($var);
}
}

@WouterClaes Please where I can add the code bellow:
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Event as IlluminateEvent;

class Event extends IlluminateEvent
{

public static function fire($var)
{
    parent::dispatch($var);
}
}

hey @Hajar-EA do you know where to paste this code?

the @WouterClaes solution is the best solution so far I think. Thanks!

can you pls help me?? where should i paste this code in my project??

You have to create a New file in App\Facades , Event.php for example and this file extends illimunateEvent so you can change it in the config file safely so it uses that class.

oh okay thank you i solved this issue now i am facing another with the
discussion category, do u know where can i put categories?? as when i try
to select any its empty there are no categories to select..
[image: image.png]
On Sat, 10 Apr 2021 at 21:31, Wouter Claes @.***> wrote:

You have to create a New file in App\Facades , Event.php for example and
this file extends illimunateEvent so you can change it in the config file
safely so it uses that class.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/thedevdojo/chatter/issues/247#issuecomment-817162872,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATEKKRVR6DUCWX3T2WJFTKDTIB4MTANCNFSM4HLJ2XMQ
.

That's another issue. It seemed to work for me back then, but I did not went through with it so I really dont know. :-)
Good luck! Hopefuly you found the issue already. 😎


DispatcherMaxAgeHeaderFilter - Should be callable with request parameter map (at least by configuration)

https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/e6bdb0edad52c9d5f670f52ec8a9d5a4184c2441/bundle/src/main/java/com/adobe/acs/commons/http/headers/impl/AbstractDispatcherCacheHeaderFilter.java#L127
contains a check to see if there are no URL params.
I can imagine why this was added, but in my specific use-case I do want to enable TTLs on requests with a URL parameter.
I believe this should be configurable, so that we can make use of this functionality i.e. in search applications (where a max-age of 0 could be configured).

Also,
https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/e6bdb0edad52c9d5f670f52ec8a9d5a4184c2441/bundle/src/main/java/com/adobe/acs/commons/http/headers/impl/DispatcherMaxAgeHeaderFilter.java#L82
this line contains an error message that is not consistent with the code that is throwing it; the max.age setting can be 0 or more. Anything less than 0 should throw an error.


Listing help options deletes the whole todo list.

After adding some tasks, using --help deletes the whole todo list.

+1 @paramsingh This is urgent.

+1


Fixed mipmap example on version 150

@homu r+
Thanks!

:pushpin: Commit 24ac27f has been approved by kvark

:zap: Test exempted - status


HIVE-26763 : Upgraded zookeeper version to latest 3.6.3 and curator to latest 5.2.0

What changes were proposed in this pull request?
Upgraded zookeeper version to latest 3.6.3 and curator to latest 5.2.0
Why are the changes needed?
To keep zookeeper and curator updated to latest version.

Hi @amanraj2520, there are some test failures on the latest changes, cloud you please check that?
java.lang.IllegalStateException: Timed out waiting for watch removal

@dengzhhu653 @zabetak Can you please review these changes.

The changes overall look good to me, and I tested against Zookeeper 3.5.5 and was able to get HiveServer2/Metastore uris, though with a warn message:
[main-SendThread(zookeeper-1:2181)]: WARN zookeeper.ClientCnxn: An exception was thrown while closing send thread for session 0x10b8b7297f602c3.
org.apache.zookeeper.ClientCnxn$EndOfStreamException: Unable to read additional data from server sessionid 0x10b8b7297f602c3, likely server has closed socket
at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:77) ~[zookeeper-3.6.3.jar:3.6.3]
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350) ~[zookeeper-3.6.3.jar:3.6.3]
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1290) ~[zookeeper-3.6.3.jar:3.6.3]

@dengzhhu653 Can you please merge this PR

@dengzhhu653 Can you please merge this PR

I would like to leave it open for two work days, see if there are more comments from other reviewers, otherwise I will merge it. Thank you for your contribution!


OpenAPI does not output multiple errors for the same status code

Whenever we have errors shapes that are mapped to the same HTTP status code, only one of them appears in the OpenAPI document generated by the Smithy plugin.

Input Smithy model
namespace smithy.example

use aws.protocols#restJson1
use smithy.framework#ValidationException

@restJson1
service Weather {
    version: "2006-03-01",
    operations: [GetCurrentTime],
    errors: [
        QuotaExceededException,
        ThrottlingException,
        ValidationException
    ]
}

@error("client")
@retryable(throttling: true)
@httpError(429)
structure QuotaExceededException {
    @required
    message: String,
}

@error("client")
@retryable(throttling: true)
@httpError(429)
structure ThrottlingException {
    @required
    message: String,
}

@readonly
@http(uri: "/time", method: "GET")
operation GetCurrentTime {
    input: GetCurrentTimeInput,
    output: GetCurrentTimeOutput
}

@input
structure GetCurrentTimeInput {}

@output
structure GetCurrentTimeOutput {
    @required
    time: Timestamp
}

You can see below that only the ThrottlingException has been placed in the OpenAPI components section:

OpenAPI output
{
    "openapi": "3.0.2",
    "info": {
        "title": "Weather",
        "version": "2006-03-01"
    },
    "paths": {
        "/time": {
            "get": {
                "operationId": "GetCurrentTime",
                "responses": {
                    "200": {
                        "description": "GetCurrentTime 200 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetCurrentTimeResponseContent"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "ValidationException 400 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ValidationExceptionResponseContent"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "ThrottlingException 429 response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "GetCurrentTimeResponseContent": {
                "type": "object",
                "properties": {
                    "time": {
                        "type": "number",
                        "format": "double"
                    }
                },
                "required": [
                    "time"
                ]
            },
            "ThrottlingExceptionResponseContent": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    }
                },
                "required": [
                    "message"
                ]
            },
            "ValidationExceptionField": {
                "type": "object",
                "description": "Describes one specific validation failure for an input member.",
                "properties": {
                    "path": {
                        "type": "string",
                        "description": "A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints."
                    },
                    "message": {
                        "type": "string",
                        "description": "A detailed description of the validation failure."
                    }
                },
                "required": [
                    "message",
                    "path"
                ]
            },
            "ValidationExceptionResponseContent": {
                "type": "object",
                "description": "A standard error for input validation failures.\nThis should be thrown by services when a member of the input structure\nfalls outside of the modeled or documented constraints.",
                "properties": {
                    "message": {
                        "type": "string",
                        "description": "A summary of the validation failure."
                    },
                    "fieldList": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ValidationExceptionField"
                        },
                        "description": "A list of specific failures encountered while validating the input.\nA member can appear in this list more than once if it failed to satisfy multiple constraints."
                    }
                },
                "required": [
                    "message"
                ]
            }
        }
    }
}

Because API Gateway doesn't support oneOf, to address this, we'd need to introduce a configuration option to either create a kind of aggregated response that rolls up all responses mapped to a single code and makes everything optional, or to use oneOf to represent each code as a separate schema.

Fixed in #1304

This is actually not fixed (or it was reverted). @mtdowling, could you help us with this, please?

Created new issue https://github.com/awslabs/smithy/issues/1649 to replace this one which can't be re-opened.


fix: make draggable handle less intrusive

Internal Jira: https://wandb.atlassian.net/browse/WB-15763
Moves the draggable handle up a bit so it is not as intrusive when editing the panel label / expression.
Before:

After:

This looks good to me Jamie. I would lke to explore giving them a little more breathing room at some point, but this is a big improvement.

This looks good to me Jamie. I would lke to explore giving them a little more breathing room at some point, but this is a big improvement.

Yes, this is one of several things I'm hoping design can take a closer look at at some point, just wanted to get a little one-line usability improvement in for now.


Did you use the GAN structure？

No

Thank you！

And I have another question. The EDSR's paper said it is based on SRResNet architecture which is used gan architecture. EDSR is removing unnecessary modules. In SRResNet，it use pixel shuffling too. From my point of view，EDSR should also use the gan architecture because it is based on SRResNet as the paper said，am I right？

Just because it takes inspiration from SRResNet, does not need it should use the same architecture. There isn't necessarily a "right answer" in terms of NN architectures as far as I'm aware.
It's also worth making clear: I am not the person who wrote the EDSR paper. I just happen to provide a TensorFlow implementation of their work on Github.

Thank you for your replying！


docs: better explanation for insecure-options

Add to and refactor --insecure-options docs.
Refs #3503
cc: @lucab @s-urbaniak @euank @mjg59

just a post-merge :+1:, thanks!


inefficient fetch

@rultor release, tag is 0.21.2

@rultor release, tag is 0.21.2

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.21.2

@yegor256 Done! FYI, the full log is here (took me 16min)

Oops! There is no order for job gh:yegor256/jpeek#82.

Oops! Job gh:yegor256/jpeek#82 is not in scope.


⚠ Bofrost.be has degraded performance

In f037583, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2654 ms

Resolved: Bofrost.be performance has improved in f4b57a8.


tests: move ping to libnet and move expecter helpers to a new console package

What this PR does / why we need it:
Move the ping helpers to the libnet package.
As a pre-requirement, the expecter helpers have been extracted to the "console" package, allowing the use of them in helpers like libnet (to avoid dependency loops).
The function names in the console package have been updated to reflect the package naming context.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:
NONE

/cc @AlonaKaplan

/hold
Not sure why there is a change conflict or why it fails ci. Will recheck manually.

/test all

/retest

/cc @qinqon

The main reason for moving the expecter helpers to the console package was to allow the ping to be relocated under libnet.
I feel that renaming the functions in this PR will cause the console thing to take the focus.
I will post a separate PR for the renaming, hope this is ok.

On second thought, I will go the opposite path.
I will do all changes here, change the PR subject and if there is disagreement I will split to PRs.

/lgtm

changes: Rebase

/sig network

change: Rebase

change: rebase take 2 (no changes)

I will work on a follow-up PR to change ExpectBatchWithValidatedSend to a private function to avoid confusion.
Tests in general should not create expecters and then close them themselves, they should use the helper functions that do that internally.

I will work on a follow-up PR to change ExpectBatchWithValidatedSend to a private function to avoid confusion.
Tests in general should not create expecters and then close them themselves, they should use the helper functions that do that internally.

Please be aware to the effort in https://github.com/kubevirt/kubevirt/pull/4010 before start working on the PR.

/approve

I will work on a follow-up PR to change ExpectBatchWithValidatedSend to a private function to avoid confusion.
Tests in general should not create expecters and then close them themselves, they should use the helper functions that do that internally.

Please be aware to the effort in #4010 before start working on the PR.

Thanks for the heads-up.
It will collide anyway even with the approved PR/s at the moment. So solving conflicts at merge time will be required anyway.

looks really good! I would change package to consolevmi as @qinqon suggested, just to make it crisp clear.

I managed to convince him it is ok: https://github.com/kubevirt/kubevirt/pull/4296#discussion_r499665902
There is no other console except the vm ones, so it makes it redundant to specify it.

I managed to convince him it is ok: #4296 (comment)

@qinqon lgtmed but that was before you removed the VmiConsole Prefix entirely, no?

There is no other console except the vm ones, so it makes it redundant to specify it.

I get what you mean, I think it would benefit to change it, but would not block on it. up to you.

I managed to convince him it is ok: #4296 (comment)

@qinqon lgtmed but that was before you removed the VmiConsole Prefix entirely, no?

I do not think so. Since both qinqoe and maiqueb acked, I only changed the name of the "SafeExpectBatch" to sync the names.

There is no other console except the vm ones, so it makes it redundant to specify it.

I get what you mean, I think it would benefit to change it, but would not block on it. up to you.

When I look at consolevmi.ExpectBatch(...) vs console.ExpectBatch(...) all over the tests codebase, I prefer the later.
Why do you think it is better with the "vmi" at the tail? With what one will get confused here?

Why do you think it is better with the "vmi" at the tail? With what one will get confused here?

I mean, generally we can run console on the node, pod, vmi.
This module is meant solely for running stuff on vmi console. Right now there are no other modules that  handle other consoles (that I found), but it's still better to set it clear IMO.
Let me ask it this way, Let's say tomorrow someone needs to add a new "consoleOnNode" function, he'll naturally put it on the console module, (you and I are on vacation ), are you ok with that?
But to conclude, again it's totally arguable so I will not insist on it.

I mean, generally we can run console on the node, pod, vmi.

That was raise before with @qinqon and we agreed that the accessing a pod/container is not a console, it is a shell or a terminal. A console fits either a VM or Node.

This module is meant solely for running stuff on vmi console. Right now there are no other modules that handle other consoles (that I found), but it's still better to set it clear IMO.
Let me ask it this way, Let's say tomorrow someone needs to add a new "consoleOnNode" function, he'll naturally put it on the console module, (you and I are on vacation ), are you ok with that?

I do not consider the Pod/Container shell/terminal a console.
We are left with the Node, but I do not think there is any way to access a Node from our tests unless they pass through a Pod shell/terminal (usually the handler, using a trick). That is also pretty rare (if we have it at all at our tests).
But if one will like to do this, they can create a node package and add there the "console" abstraction and other goodies.
As we will use console for VMI in all, or at least most of the test code, I think it is file to reserve the name for it.

But to conclude, again it's totally arguable so I will not insist on it.

I think it is good to discuss it in order to cover all weaknesses and examine them.

I think it is good to discuss it in order to cover all weaknesses and examine them.

couldn't agree more :)
/lgtm

/retest


Parquet file compression

I am writing data to parquet files and finding the compression is very slight. I wrote 1000 files uncompressed and on average they were 200KB. With GZIP at level 9 (I think) the average file size is 170KB. If I manually gzip the files outside of arrow, the average file size is 60KB. The method I am using is at the time of writing the Table:
void writeParquet(const std::string &path, const arrow::Table& table)
{
  std::shared_ptr<arrow::io::FileOutputStream> outfile;
  arrow::io::FileOutputStream::Open(path, &outfile);
  parquet::WriterProperties::Builder builder;
  builder.compression(parquet::Compression::GZIP);
  builder.compression_level(9);
  std::shared_ptr<parquet::WriterProperties> props = builder.build();
  parquet::arrow::WriteTable(table, arrow::default_memory_pool(), outfile, 65536, props);
}

The Table itself has no compression specified which I am thinking may be part of the problem. Can someone give me guidance on how to write compressed parquet files to maximize the compression ratio? Thank you in advance,
Matt

What is the number of columns and the number of rows in each table, roughly?

There are 5 columns, three are short strings (3-5 char), one is doubles (random but highly auto-correlated), one is int32 (small numbers 0-100). The row count varies, the average is 30K +/- 20K. I changed the WriteTable line to use the number of rows as the chunk size but same result:
parquet::arrow::WriteTable(table, arrow::default_memory_pool(), outfile, table.num_rows(), props);

When you say "If I manually gzip the files outside of arrow, the average file size is 60KB", is it by gzipping each file individually?

Yes, compressing each individually. For reference my measurement code is:
import os
import gzip
sizes = {}

for dir, subdir, files in os.walk('/data/'):
    if files:
        f = os.path.join(dir, files[0])
        sizes[f] = [os.path.getsize(f)]

        with open(f, 'rb') as f_in, gzip.open(f + '.gz', 'wb') as f_out:
            f_out.writelines(f_in)
            sizes[f].append(os.path.getsize(f + '.gz'))
            os.remove(f + '.gz')

(sum([v[0] for v in sizes.values()]) / len(sizes),
 sum([v[1] for v in sizes.values()]) / len(sizes))

And the result is:<PHONE_NUMBER>755365, 63077.417918454936)

f_out.writelines(f_in) looks weird. Also, os.path.getsize should be called after f_out is closed. Otherwise, not all data is flush to disk.
But, instead of writing the compressed file on disk, I would simply write:
with open(f, 'rb') as f_in:
    sizes[f].append(len(gzip.compress(f_in.read(), 9)))

I'm glad I included the reference code then, but it looks pretty similar. Using the revised measurement you suggest the result is:<PHONE_NUMBER>1287554, 70846.4597639485).
sizes = {}

for dir, subdir, files in os.walk('/home/xbk/fileserver/data/tickdata/'):
    if files:
        f = os.path.join(dir, files[0])
        sizes[f] = [os.path.getsize(f)]

        with open(f, 'rb') as f_in:
            sizes[f].append(len(gzip.compress(f_in.read(), 9)))

(sum([v[0] for v in sizes.values()]) / len(sizes),
 sum([v[1] for v in sizes.values()]) / len(sizes))

I think the problem was operator error. I had a set of files that I had created without compression earlier in the day in that filesystem it was skewing the results. I removed all the files, rewrote them and now see a result like: (27129.290355329947, 26105.685279187815).
Thanks for your help on this.


Random ejection for ctables

I've implemented this so that hardened reassembly can have random ejection of entries in the underlying data structure whenever it would otherwise be full, letting it use bounded memory without allocations/frees.
@wingo

LGTM, just a nit.

Yes it is, on line 451.

Merged, as per discussion on Jabber.

Superseded in #400


Either complete the Add Deck form or remove it

I'm inclined to change it to just a single text input taking a URL to the decklist, and pass that URL to the relevant scraper.

It's worth noting that TappedOut's "Latest Decks" is based on deckcycling, not on creation or updated dates.
There are a significant number of decks that are currently invisible.

I was thinking we might want to add interesting decks from weird places as one-offs. But we could just add it to tapped out if we want that, I suppose.
Interesting point about invisible decks. Maybe it's back to HTML scraping for tapped out ... :(

HTML scraping wouldn't help either.
Unless we scrape individual user pages of people we know play PD.

I'm thinking the bot might want to listen in discord for TappedOut links, and automatically POST them to /add.
Because most people who don't deckcycle will at least post them in chat.

Not a bad idea.
On Wed, Nov 2, 2016 at 12:59 PM, Katelyn Gigante<EMAIL_ADDRESS>wrote:

I'm thinking the bot might want to listen in discord for TappedOut links,
and automatically POST them to /add.
Because most people who don't deckcycle will at least post them in chat.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PennyDreadfulMTG/Penny-Dreadful-Tools/issues/300#issuecomment-257856990,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAGBcGJkuDLF69glYICyQpbfjY_Ke3Eks5q6IkfgaJpZM4KhtPw
.


Export chunk rows

We don't have any documentation on how to chunk rows in exports.  Right now it's a hidden feature.
https://github.com/cockroachdb/cockroach/blob/60666bdd7e3f7ed6ab6118c030c4a9973a5019ad/pkg/sql/export.go#L55
We probably should highlight it here in our docs.
https://www.cockroachlabs.com/docs/dev/export.html#parameters

Assigning to @jseldess for triage

Good catch, @chriscasano!

@lnhsingh, @mwang1026 for prioritization.

Closing this issue, as I think this was covered in a recent PR... here: #10615. Feel free to reopen is more detail is needed @chriscasano


Handle reorg on block before the selected initial block

The monitoring service does not handle reorgs on blocks which are based on a block that is older than the initial block the service has started to synchronize from (see --sync-from and its default).
As current behavior the service would start to sync backwards until reaching the genesis block. Afterwards (takes very long) it will fail without any meaningful error message. This must be caught earlier and with some useful output.
Related to:

trustlines-network/project#356

@jannikluhn ideas how we can test this in a practical way? :thinking:

With tester.take_snapshot and tester.revert_to_snapshot. See test_fetcher.py for examples.

The block is chosen in a way that it's safe from reorgs only affecting the latest MAX_REORG_DEPTH blocks. If we assume this is not safe, the current code fetching the blocks would also need to be fixed (regardless of the initial block).
I'm not sure what we're trying to fix here.

The difference is that the old code would fail within seconds, whereas it's 24h or something for the new one.

@schmir would you say this scenario is by the MAX_REORG_DEPTH so unlikely that we should ignore it completely? :thinking:
My thoughts are that first the user has no actual working monitoring service anymore, so he get not informed about new events. And second the user has no clue what happened when the client finally fails.

At least this requirement is not fulfilled:

..., but should show a helpful error message

If it's likely to happen, I do think we have chosen the wrong value for MAX_REORG_DEPTH. I do think this could happen in practice if someone accidentally starts synchronizing from another chain (i.e. start synchronizing from tlbc and then switch to kovan).
I think you provided some valid arguments here, so feel free to just go on.

I do think we have chosen the wrong value for MAX_REORG_DEPTH.

How do you think we could get a better value? Because I think this value is already pretty high. :thinking:
Nevertheless no value will ever prevent this problem, right?
As I see it the MAX_REORG_DEPTH value is a measure to make the initial block selection more safe to prevent this problem happen too often due to the usage of a careless user.
This issue is now about fulfilling the requirements to handle this scenario being recognized it as soon as possible and inform the user about it. Even if this is hopefully not very likely to happen (your example is pretty good! :+1:).


test

Codecov Report

Merging #63 into develop will increase coverage by 0.38%.
The diff coverage is 90.00%.

@@             Coverage Diff             @@
##           develop      #63      +/-   ##
===========================================
+ Coverage    84.03%   84.42%   +0.38%
===========================================
  Files           23       23
  Lines          758      764       +6
===========================================
+ Hits           637      645       +8
+ Misses         121      119       -2

Impacted Files
Coverage Δ

...sses/nn/models/classification/densenet/__init__.py
95.06% <66.66%> (ø)

test/test_ResNet.py
100.00% <100.00%> (ø)

...lasses/nn/models/classification/resnet/__init__.py
94.69% <0.00%> (+1.76%)
:arrow_up:

Continue to review full report at Codecov.

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


File not actually being uploaded to server

Ok I am trying to upload a single file to a remote server.
I get the following message...
 was successfully uploaded to !
I then go take a look in the server and the file is not there.
I have done the step function as described and see each chunk get uploaded, but still no file.
Full code snippet:
let Client = require('ssh2-sftp-client');
    let sftp = new Client();
    sftp.connect({
      host: <host>,
      port: 22,
      username: '<user>',
      password: '<password>',
    })
    .then(() => {
      return sftp.fastPut(<localFilePath>, 'remoteFilePath',{
        step: function ( totalTx, chunk, total ) {
            console.log( 'uploadFile.step totalTx', totalTx, 'chunk', chunk, 'total', total );
        }
      });
    })
    .then((data) => {
      console.log(data, 'the data info');
    }).catch((err) => {
      console.log(err, 'catch error');
    });

Any Idea what we could be doing wrong?  or could it be an issue not allowing applications on the server?  Using Transmit(SFTP Client) I can create folders and add files, but not with this application.

I test the snippet code with local server, it just works fine.

i'm also used the sftp.fastput( ) but got error:
errno: -2
no such file or directory.. IDK how to give.. i tried all methods..
I gave like this below:
sftp.fastput('/xxx/yyy','/aaa/bbbb')........

We cannot repoduce this issue and all our tests are passing. Suspect this may be a server issue.


Use GitHub for NixOS security advisories

Issue description
This is what someone get's when googling for security advisories for debian vs nixos
debian.org

nixos

Thoughts
Use https://help.github.com/en/articles/about-maintainer-security-advisories to publish advisories. Archive the GitHub repository.
This would solve https://github.com/NixOS/nixpkgs/issues/13515

Ping @ckauhaus

Perhaps this: https://github.com/NixOS/nixpkgs/labels/1.severity%3A security – I'm aware of anything better ATM.  It's a shame that the LWN project was shut down.

We do not have "proper" security advisories ATM. The closest thing are the vulnerability roundups, but you cannot really compare them to what others have.
@grahamc I'd propose to delete https://github.com/NixOS/security-advisories since there is actually nothing useful in but it creates the wrong impression that NixOS does nothing about security.

@grahamc ping - I think https://github.com/NixOS/nixpkgs/issues/65105#issuecomment-514519579 is still relevant

I still think this is important

No it's not.

Still important

No stale


feat: add etag and if-none-match support

related https://github.com/fermyon/spin-fileserver/issues/3
> curl -i http://<IP_ADDRESS>:3000/content/hello-test.txt
HTTP/1.1 200 OK
cache-control: max-age=31536000
etag:<PHONE_NUMBER>195007572
content-type: text/plain
content-length: 14
date: Sat, 25 Jun 2022 14:22:11 GMT

hello, world!

> curl --header "if-none-match:<PHONE_NUMBER>195007572" -i http://<IP_ADDRESS>:3000/content/hello-test.txt
http://<IP_ADDRESS>:3000/content/hello-test.txt
HTTP/1.1 304 Not Modified
cache-control: max-age=31536000
etag:<PHONE_NUMBER>195007572
content-type: text/plain
date: Sat, 25 Jun 2022 14:22:33 GMT

# change content in content/hello-test.txt and restart spin-fileserver

> curl --header "if-none-match:<PHONE_NUMBER>195007572" -i http://<IP_ADDRESS>:3000/content/hello-test.txt
HTTP/1.1 200 OK
cache-control: max-age=31536000
etag:<PHONE_NUMBER>6890654158
content-type: text/plain
content-length: 4
date: Sat, 25 Jun 2022 14:23:39 GMT

123

> curl --header "if-none-match:<PHONE_NUMBER>6890654158" -i http://<IP_ADDRESS>:3000/content/hello-test.txt
http://<IP_ADDRESS>:3000/content/hello-test.txt
HTTP/1.1 304 Not Modified
cache-control: max-age=31536000
etag:<PHONE_NUMBER>6890654158
content-type: text/plain
date: Sat, 25 Jun 2022 14:23:51 GMT

Thanks!


Intellij 114.98 - incompatible

The recent early access versions of intellij claims it's incompatible.
Can it just be a configuration problem, of the version expected?

It looks to me that this line in plugin.xml needs to be updated

Two days ago I uploaded version (0.3) with fixed plugin.xml as workaround, but didn't have time to update sources yet.
Sorry for inconvenience.

Thanks. I have updated the plugin now and can verify it works.


can not go build

When build this git repo, I got the following errors:
github.com/taomin597715379/redisvo
./handler.go:34: undefined: Asset
./handler.go:52: undefined: Asset
./handler.go:92: undefined: Asset

It is a great honor to use this tool. the reason for the error is due to the lack of a bindata.go file and this file can be generated using the following command:
go-bindata static / ...
go-bindata should be compiled by yourself and this tools will compress the resources in the static directory of the project into bindata.go(the go-bindata tool refers to the https://github.com/jteeuwen/go-bindata project).
then this will be ok.

Since I have not released the release version, so if you want to use this tool, you have to compile by yourself. I apologize for that

Thanks a lot.


Add functionality to modify plots (and their look)

Missing functionality
I have searched pandas profiling documentation, the advanced usage webpage and also the plotting but I could not find how to customise plots that it generates. Eg. now it shows correlation matrices with a colorbar having blue as 1 and red as -1. It would be great if one could play with the plots (eg pass some arguments to the underlying matplotlib) to change the colours, the palette, the labels/legend, ...
Proposed feature
Be able to add eg cmap argument or color argument to the plotting function to change the look of the graphs. The same way as one can skip some correlations using the advanced options for usage.
Thanks, your work is really great!

It's already possible to change the cmap, however it's not directly documented (you can find the related parameters in the config file). Feel free to extend the docs with the relevant settings in a PR.

Perfect, thanks a lot. How detailed should it be? Do you have some guidelines on how to write your docs? Or is it enough to load some dataset and show on some examples how to make it, eg. as seaborn does.

The addtions should be consistent with the existing docs and helpful to readers. You can find the relevant page here: https://github.com/pandas-profiling/pandas-profiling/blob/develop/docsrc/source/pages/advanced_usage.rst. Feel free to add in examples or anything you feel is useful to the reader. Much appreciated!

I have updated the docs (see here) but I have noticed a few problems when testing it.

For the histogram, both max_bins and x_axis_labels do not exist and raise:

ValueError: Config parameter "max_bins" does not exist.

and the last, bins, seems to change nothing.

It is still not possible to pass an argument to the plot itself, eg. what if I want to have the plots red? Or if I would want to adjust the interaction plots? Anyhow.

This PR introduces improved config: https://github.com/pandas-profiling/pandas-profiling/pull/751. We can introduce additional plotting parameters easily. Feel free to contribute.

I have updated the docs (see here) but I have noticed a few problems when testing it.

For the histogram, both max_bins and x_axis_labels do not exist and raise:

ValueError: Config parameter "max_bins" does not exist.

and the last, bins, seems to change nothing.

It is still not possible to pass an argument to the plot itself, eg. what if I want to have the plots red? Or  if I would want to adjust the interaction plots? Anyhow.


Brig Timers are lacking some important features

Description

In order of importance:

[x] They don't check access when used
[x] They need sane defaults and to clamp the timer
[x] They're spammable and need more UI feedback when the timer is running.
[x] They need examine text which tells you how much time is remaining.
[x] If there's an active timer it should instead allow you to cancel
[x] They need to give more attention grabbing indication they are ending
[x] The obsolete methods in SignalTimerSystem need to be removed
[x] Its arc should be reduced to 180 and it should be made directional
[x] "Link defaults" should link defaults lol
[x] Needs some sort of visualizer for being active
[ ] Should work with minutes in addition to seconds
[ ] Need an audio pass
[ ] The rsi meta.json has some superfluous delays

Most of this refers to the old timers we had before SS14 got proper brig timers. I think the audio one might still be relevant, and I don't believe the timers we have from SS14 contact the radio like we used to have, so there's still something to look at. Either way, all of it should be sent upstream at some point since it makes sense.


Update the condition in perpendicular_momentum

As indicated in the title, this is a tiny change about the function of perpendicular_momentum, it should be ready to be merged. @awalter-bnl

THanks @Jiemin-Li , much appreciated


TypeScript: Property 'append' does not exist on type 'ReadableStream'

Code example:
      import memoryStreams = require('memory-streams');

      const reader = new memoryStreams.ReadableStream('');
      reader.append('whatever');

error:
error TS2339: Property 'append' does not exist on type 'ReadableStream'.

Thanks for feedback. Please feel free to add a PR to fix, I no longer actively work with Node or in the Node community, so this project exists purely to not break consumers.


Search links to wrong anchor with $*SCHEDULER

Searching for "scheduler" and then clicking on "$*SCHEDULER" leads to http://<IP_ADDRESS>:10010/language/variables#index-entry-$*SCHEDULER But that anchor doesn't exist. http://<IP_ADDRESS>:10010/language/variables#$*SCHEDULER exists though.

It boils down to https://gist.github.com/Altai-man/c15e580480d44616eace320ccda95ed3
Alas no feedback for the document so far.

I left a comment.

So after 1 weekend of "no, I won't do it" denial and a weekend of acceptance, this one is... fixed.
With https://github.com/Raku/Pod-To-HTML/commit/813ef63bf8c3c48df55e87f24053e542edab5b28 and https://github.com/Raku/Documentable/commit/00c443272874504263102088f778673b338d670c we also got proper escaping of the URL fragments, which means all the non-standard URL fragments we had prior to this are broken, but I guess even if you walked 1000 miles into wrong direction you still have to go back and start to use percentage encoding for URLs.
Doing the build to upload the fix.


Enable releasing to latest channel

Currently this repo automatically releases to a prerelease channel on NPM, we need to add a system for releasing on the latest channel when appropriate.

The plan is to continue releasing extensions with the current PF process


Revert "Timer based pointer event resampling"

Reverts flutter/flutter#73042
This caused failure Null check operator used on a null value.
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): Null check operator used on a null value
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [   +8 ms] I/flutter (11319): #0      _Resampler.sample (package:flutter/src/gestures/binding.dart:149)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #1      GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:331)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #2      TestWidgetsFlutterBinding.handlePointerEvent (package:flutter_test/src/binding.dart:507)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #3      LiveTestWidgetsFlutterBinding.handlePointerEvent (package:flutter_test/src/binding.dart:1535)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #4      main.<anonymous closure>.scroll (file:///opt/s/w/ir/k/recipe_cleanup/tmpUoXBJx/flutter%20sdk/dev/benchmarks/complex_layout/test/measure_scroll_smoothness.dart:171)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): <asynchronous suspension>
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): <asynchronous suspension>
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): (elided one frame from package:stack_trace)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): Null check operator used on a null value
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #0      _Resampler.sample (package:flutter/src/gestures/binding.dart:149)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #1      GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:331)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #2      TestWidgetsFlutterBinding.handlePointerEvent (package:flutter_test/src/binding.dart:507)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #3      LiveTestWidgetsFlutterBinding.handlePointerEvent (package:flutter_test/src/binding.dart:1535)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): #4      main.<anonymous closure>.scroll (file:///opt/s/w/ir/k/recipe_cleanup/tmpUoXBJx/flutter%20sdk/dev/benchmarks/complex_layout/test/measure_scroll_smoothness.dart:171)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): <asynchronous suspension>
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): <asynchronous suspension>
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): (elided one frame from package:stack_trace)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319): 00:00 +0: Smoothness test (resample on with 90Hz input) [E]
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319):   Test failed. See exception logs above.
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319):   The test description was: Smoothness test (resample on with 90Hz input)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] I/flutter (11319):
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [   +1 ms] I/flutter (11319): 00:00 +0 -1: Smoothness test (resample on with 59Hz input)
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [  +92 ms] Failure Details:
[complex_layout_android__scroll_smoothness] [STDOUT] stdout: [        ] Failure in method: Smoothness test (resample on with 90Hz input)

https://ci.chromium.org/p/flutter/builders/prod/Linux complex_layout_android__scroll_smoothness/576

Merging on red to open the tree.


Rename Image to CheckpointPath in shim

Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

Codecov Report

Merging #889 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #889   +/-   ##
=======================================
  Coverage   59.55%   59.55%
=======================================
  Files           5        5
  Lines         759      759
=======================================
  Hits          452      452
  Misses        199      199
  Partials      108      108

Continue to review full report at Codecov.

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

LGTM (not a maintainer)


how to disable the frame when click the th cell

Question
There is a deep frame when click the header of table。How to make it invisible?
Screenshots

You can easily disable it with CSS
th:focus {     outline: 0; }

@thimo1  perfect answer.


ghost: init at 0.11.9

Motivation for this change
Add Ghost, the blogging platform to nixpkgs.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wit" (New package, no dependent)
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I am new to here, not sure if I have structured the package in a good way🙏
Description and long description are copied from Ghost's package.json and website, maybe there are some better descriptions that I didn't realise.

The main problem here is the huge amount of stuff that'd need to be checked into the repository. Now, that's a failing of the tooling as far as I can tell, but even if it can't be helped it's still way too much, IMO.

It would create a little bit less, if it was added to ./pkgs/development/node-packages/node-packages.json instead.

OK, let me try to add it via node-packages.json. I thought it is ok because I saw pump.io is doing something similar.
By the way, I think adding the module alone is not enough to make it usable. The ghost package only comes with the core part, it does not include any theme and the admin panel. To make it work, I have to run grunt init at the package level, what is the best practice of doing that? A new nix derivation that points to the generated node module, with a buildPhase?

Updated to use node-packages.json

This project seems to use bower to download assets. We have this tool for that: https://github.com/rvl/bower2nix

Hello, sorry for the late follow up, have been busy for a while... After some trial and error, I think using node-packages.json might not be very suitable and decided to revert to the original approach. The reasons are:

The existing build system of ghost is impure, for example it depends on codes from other repositories has to be pulled as a submodule without tagging. To workaround this, patch of the build script is needed, which makes it more difficult to maintain.
node2nix (which node-packages.json is depending on) is not enough to setup dependencies, the npm package "knex" looks for optional dependencies such as mysql and pq in runtime, and users are expected to install them manually. That does not work in the nix workflow because the dependency graph is generated.
A pre-build zip file already exists, why not just use it, for its simplicity?
I agree that this PR is big and hard to read every line, but using node-packages.json or bower2nix would also create a big diff, they won't make things better. If it helps, I can write a readme on how is the file generated.

I still think 11K lines for a single package is way too much.
The repo is a commons, so there has to be a reasonable payoff for each line added. This proposal falls short of that by far. Consider that 20 package expressions of this size would add more lines than is required to describe the entire open source Haskell ecosystem (thousands of packages).

Right, this is big, but is there any way to make it smaller? If I use node-packages.json, I would need extra packages (devDependencies) to build it, which probably makes the diff even bigger.

If you cannot add it into Nixpkgs yet, maybe you can provide an overlay for it, such that others can follow this overlays updates, and potentially contribute back.

I agree with @nbp. Please provide this in an overlay. I'm closing this out because of the concerns raised earlier.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixos-installing-services-from-npm-possibly-w-overlays/5479/1


How to set the parameters in a YAML file(eg : toponet_vitb_512_cityscale.yaml) for testing my own dataset?

I successfully ran inferencer.py to test my own dataset, which includes images collected from various online maps. Two sample images from the dataset are displayed below. To align with the images in Cityscale, I resized all my images to 2024x2024 pixels.
However, I observed poor results, suggesting the algorithm did not perform well. One sample images from the results is displayed below. I guess that adjusting the YAML parameters appropriately might improve the outcome. Could you please provide a more detailed explanation of these parameters and their functions?

Hi, first of all, I think you may want to try to scale the images such that they are 1.0m / pixel. That's how these checkpoints are trained. Can you give this a try first?


Request: config option to not append file's SHA to included files in context.html

Expected behaviour
An option to prevent the ?SHA from being added to the request URLs of files
Actual behaviour
No option exists
Environment Details

Karma version: 1.7

The reason I'm requesting this is I'm working with HTML imports that import other HTML imports. When Karma initially loads up the HTML imports I've included in context.html, the SHA is added from this line in lib/middleware/karma.js:
  if (requestUrl === '/context.html') {
    filePath += '?' + file.sha
  }

That presents a problem because the HTML imports I have referenced from other HTML imports do not have the SHA, so those imports end up being loaded twice.
I'm going to work on a PR that adds a config option to prevent those SHA query strings from being added to the URLs. If anyone has suggestions for what that config option should be and/or where it should be set, please let me know.
Thanks!

This now also breaks newly introduced ES6 modules for the same reasons as outlined above.
Files are injected like this:
<script type="module" src="path/to/file.js?aaaaabbbbbcccccdddddeeeeefffffggggghhhhh"></script>

If the same file is later imported by one of the modules, it is imported like this:
import Something from 'path/to/file.js'

Browsers treat the two URLs as two different files, load and execute the same content twice which leads to unintended and hard to debug side effects that break the tests.
@johnjbarton can you take a look?

Ah, true. Though I suppose it could help in our particular use case when we only use Karma with singleRun: true and updating file cache is a non-issue.
Hope a proper solution will come soon.


Springwolf autoconfiguration

After removing the need for the docket and adding the property springwolf.enabled, I would expect as a user that the @EnableAsyncApi would not be required to enable springwolf..

Just checked, but noticed that the annotation is used to activate the component scanning as well: @ComponentScan(basePackages={"io/github/stavshamir/springwolf"}).
Not sure if there is a better way to activate the component scanning.

Yes, this is possible. A spring boot autoconfiguration can itself contain a @ComponentScan.
This would make the usage of springwolf much easier because defininig an empty (!) configuration class to add @EnableAsyncApi wouldn't  be necessary any more. If I decide to use springwolf in my project, adding it (e.g. one of the concrete plugins) to the dependency list should suffice.

@tvahrst Thanks a lot for your first contribution, great work!

The new version of springwolf has been released. Thank you @tvahrst for the contribution


[IMPL] Sierpinski Pyramid Sample

A sample that creates a Sierpinski Pyramid. It is a fractal, that for a given recursion depth it will create a matching 3D mesh that can have quite a lot of triangles and detail. The mesh will also contain normals used to compute lighting/shading.

Code looks, overall, good to me. Mostly just some styling consistencies and the like that would be good to fix.


⚠ ClamAV has degraded performance

In ad7f5da, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 49 ms

Resolved: ClamAV performance has improved in ef83220.


Exception handling

Dear Tim,
Thanks for this easy-to-use Git tool!
Please find below a modest contribution. Feel free to adapt, improve, or discard it ;-)
Problem

When an error occurs in Giterm, the raw exception is thrown in the terminal. Example:

$ giterm $HOME
Traceback (most recent call last):
  File "$HOME/g.virtualenvs/giterm-pip/bin/giterm", line 8, in <module>
    sys.exit(_main())
  File "$HOME/g.virtualenvs/giterm-pip/lib/python3.10/site-packages/giterm/giterm.py", line 141, in _main
    curses.wrapper(main, repo=args.repo)
  File "/usr/lib/python3.10/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
  File "$HOME/g.virtualenvs/giterm-pip/lib/python3.10/site-packages/giterm/giterm.py", line 119, in main
    git_root_dir = run.git_root_path()
  File "$HOME/g.virtualenvs/giterm-pip/lib/python3.10/site-packages/giterm/rungit.py", line 55, in git_root_path
    raise ex.NotAGitRepositoryException(
giterm.exception.NotAGitRepositoryException: Please cd in a Git repository first.

Giving 'repo' argument to Giterm which is not a repository raises exceptions. Examples:

$ giterm $HOME/tmp.txt
Traceback (most recent call last):
  ....
NotADirectoryError: [Errno 20] Not a directory: 'tmp.txt'
$ giterm 1
Traceback (most recent call last):
  ....
FileNotFoundError: [Errno 2] No such file or directory: '1'

Proposal

Catch all exceptions that may be thrown and print them. I distinguish two types of exceptions:

GitermException : custom exceptions raised due to bad Giterm usage (Git missing on system, not a Git repository, etc). Those exceptions are printed in addition to the Giterm usage ;

$ giterm $HOME
Please cd in a Git repository first.
usage: giterm [-h] [-v] [repo]

Exception : classic exceptions mostly dedicated to "internal error", printed with the prefix "giterm: error:".

giterm: error: Height and width must be at least 8x40.

When 'repo' is defined, check if it is a repository before chdir(). If it's not, raises a GitermException such as:

$ giterm 1
Given repo argument is not a repository
usage: giterm [-h] [-v] [repo]

Neat PR, well done ;)


Stark: Remove degree adjustment from composition poly

Remove degree adjustment from composition poly
Description
This PR removes the degree adjustment from the composition polynomial for compatibility with the stone prover.

Codecov Report

Merging #563 (857535b) into main (c2e45d0) will decrease coverage by 0.05%.
The diff coverage is 96.66%.

@@            Coverage Diff             @@
##             main     #563      +/-   ##
==========================================
- Coverage   95.50%   95.46%   -0.05%
==========================================
  Files         112      112
  Lines       18904    18811      -93
==========================================
- Hits        18054    17957      -97
- Misses        850      854       +4

Files Changed
Coverage Δ

provers/stark/src/constraints/evaluator.rs
93.30% <91.66%> (-0.13%)
:arrow_down:

provers/stark/src/prover.rs
99.86% <100.00%> (-0.01%)
:arrow_down:

provers/stark/src/verifier.rs
98.88% <100.00%> (-0.08%)
:arrow_down:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Update AsyncActions.md

typo: us => use

Appreciate the PR, but the current phrasing is correct.  The expanded wording would be "this lets us dispatch functions".


API document: tables is overlapped

Issue on page: https://github.com/opentelekomcloud-docs/elastic-cloud-server/blob/main/api-ref/source/apis_recommended/lifecycle_management/creating_an_ecs.rst

tables is overlapped by menu on the right side and horizontal scrollbar presented at the bottom of the table, it is not comfortable

It is your personal perception. We find horizontal scroll comfortable enough and it provides universal solution for too wide tables. Without scroll we need to start breaking words in cells (like current HC does) and this looks really ugly.


test-integration-cli for userns don not use DockerDaemonSuite

I find that test-integration-cli for janky has 1403 testcases,  and userns has only 1091 testcases
eg. https://github.com/docker/docker/pull/25341
janky      19:53:40 OK: 1363 passed, 40 skipped
userns    19:13:38 OK: 967 passed, 124 skipped
Actually all testcases in DockerDaemonSuite are not being executed for userns, but I don't know why.
at the same time , if DockerDaemonSuite is executed,  I think we need the change to adapt userns testcases:
 func (d *Daemon) Start(args ...string) error {
+       if root := os.Getenv("DOCKER_REMAP_ROOT"); root != "" {
+               d.root = filepath.Dir(d.root)
+       }
        logFile, err := os.OpenFile(filepath.Join(d.folder, "docker.log"), os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
        d.c.Assert(err, check.IsNil, check.Commentf("[%s] Could not create %s/docker.log", d.id, d.folder))

@@ -340,9 +343,7 @@ func (d *Daemon) Restart(arg ...string) error {
        // remapped root is added--we need to subtract it from the path before calling
        // start or else we will continue making subdirectories rather than truly restarting
        // with the same location/root:
-       if root := os.Getenv("DOCKER_REMAP_ROOT"); root != "" {
-               d.root = filepath.Dir(d.root)
-       }
+
        return d.Start(arg...)
 }

ping @vdemeester  @thaJeztah

@estesp probably knows more but DockerDaemonSuite does not run for userns because docker does run inside usernamespace. There is a PR to fix that though : https://github.com/docker/docker/pull/20902 ! With that PR we should be able to re-activate some DockerDaemonSuite 'tests.

https://github.com/docker/docker/pull/20902 and https://github.com/docker/docker/pull/25672 are about running engine daemon inside a user namespace, the userns' testcase about DockerDaemonSuite are run a user namespace engine daemon inside a docker container, they are not conflict, so why Docker-PRs-userns configure has "-e TESTFLAGS='-check.f DockerSuite' " to skip DockerDaemonSuite ?
ping @estesp @vdemeester

@keloyang it is mostly about duplicating test runs that do nothing different than the "non-userns" case--only the DockerSuite tests are running against a single started daemon with user namespaces enabled. The rest of the suites either start their own daemon or test something without user namespaces that is unrelated. So, for the user namespaces "CI" the only part of the overall test suite that makes sense to actually test user namespace support is running DockerSuite with the user namespace mapping enabled.


where to import my voice audio?

Reading over the steps to pre process and start training the encoder etc.  I can't figure out where is the part where I insert my recorded voice or my utterances or embedding as they are called?  All of these commands call for data set root but  where is the source of my voice inserted at so it knows how to train a new model based on My Voice?   It's all so terribly confusing.
I recorded my voice , its in a wave file.    What do I do with my wave file of my voice?

You can place all your files  where you wants. All you need to do is to make a build(..) function like the one in datasets/preprocessor.py and you replace basename, wav_file and text by your values
Good luck

You can place all your files where you wants. All you need to do is to make a build(..) function like the one in datasets/preprocessor.py and you replace basename, wav_file and text by your values
Good luck

Thanks for your reply .  So I just train all the data sets first using the commands and then i switch the basename wave file of my voice to create a model that sounds like me.   What do you mean by text of my values?   I thought all i needed was just a few seconds of my my recorded voice to create a clone of my voice.  Also where do i insert text to make my cloned voice speak out what I typed?

If you wants to train the model you must have audio (audio file) and the text said in the audio
In my dataset for example i have 2 directorys

wavs
-- file1.wav
-- file2.wav
...
text
— file1.txt
— file2.txt
—...
And in the function build_from_path(..)
Basename : wavs/
Wav_file : file1.wav
Text : text into file1.txt

If you wants to train the model you must have audio (audio file) and the text said in the audio
In my dataset for example i have 2 directorys

wavs
-- file1.wav
-- file2.wav
...
text
— file1.txt
— file2.txt
—...
And in the function build_from_path(..)
Basename : wavs/
Wav_file : file1.wav
Text : text into file1.txt

Thanks for your help however I have abandoned this project.  It seems I totally misunderstood it's capabilities  from reading all the hype in articles which led me to google this repo ,  it was my understanding that you could take only a few seconds of audio from a speaker and then tacotron2 would create a method for you to synthesis that speakers voice by using txt inputs.   It appears this is not the case but instead you have to have a huge data set with hundreds or thousands of utterances accompanied with aligned text to synthesis a voice.   I will check back in a few years to see if anyone has manged to develop this to where it is usable on an intermediate level

If you wants to train the model you must have audio (audio file) and the text said in the audio
In my dataset for example i have 2 directorys
wavs
-- file1.wav
-- file2.wav
...
text
— file1.txt
— file2.txt
—...
And in the function build_from_path(..)
Basename : wavs/
Wav_file : file1.wav
Text : text into file1.txt
Thanks for your help however I have abandoned this project.  It seems I totally misunderstood it's capabilities  from reading all the hype in articles which led me to google this repo ,  it was my understanding that you could take only a few seconds of audio from a speaker and then tacotron2 would create a method for you to synthesis that speakers voice by using txt inputs.   It appears this is not the case but instead you have to have a huge data set with hundreds or thousands of utterances accompanied with aligned text to synthesis a voice.   I will check back in a few years to see if anyone has manged to develop this to where it is usable on an intermediate level

https://github.com/CorentinJ/Real-Time-Voice-Cloning
👆This might be what you want (I haven't tried this though)


Bug: C110 rtsp streaming issue

Hello ,
I adquire recently an TpLink Tapo C110 and I cannot make the stream working with VLC. I tried with fmpeg and I got the following output:
/config # ffmpeg -f rtsp -rtsp_transport tcp -analyzeduration 0 -probesize 32 -re -loglevel debug -timeout -1 -i rtsp://admin:password@<IP_ADDRESS>:554/stream2                                                                           ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.0 (Alpine 9.3.0)
  configuration: --prefix=/usr --enable-avresample --enable-avfilter --enable-gnutls --enable-gpl --enable-libass --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-libtheora --enable-libv4l2 --enable-libdav1d --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-libxcb --enable-libssh --disable-stripping --disable-static --disable-librtmp --enable-vaapi --enable-vdpau --enable-libopus --disable-debug
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rtsp'.
Reading option '-rtsp_transport' ... matched as AVOption 'rtsp_transport' with argument 'tcp'.
Reading option '-analyzeduration' ... matched as AVOption 'analyzeduration' with argument '0'.
Reading option '-probesize' ... matched as AVOption 'probesize' with argument '32'.
Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-timeout' ... matched as AVOption 'timeout' with argument '-1'.
Reading option '-i' ... matched as input url with argument 'rtsp://admin:password@<IP_ADDRESS>:554/stream2'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://admin:password@<IP_ADDRESS>:554/stream2.
Applying option f (force format) with argument rtsp.
Applying option re (read input at native frame rate) with argument 1.
Successfully parsed a group of options.
Opening an input file: rtsp://admin:password@<IP_ADDRESS>:554/stream2.
[tcp @ 0x76a97cb0] No default whitelist set
[tcp @ 0x76a97cb0] Original list of addresses:
[tcp @ 0x76a97cb0] Address <IP_ADDRESS> port 554
[tcp @ 0x76a97cb0] Interleaved list of addresses:
[tcp @ 0x76a97cb0] Address <IP_ADDRESS> port 554
[tcp @ 0x76a97cb0] Starting connection attempt to <IP_ADDRESS> port 554
[tcp @ 0x76a97cb0] Successfully connected to <IP_ADDRESS> port 554
[rtsp @ 0x74eb9460] SDP:
v=0
o=- 14665860 31787219 1 IN IP4 <IP_ADDRESS>
s=Session streamed by "TP-LINK RTSP Server"
i=stream2
t=0 0
a=tool:TP-LINK Streaming Media v2015.05.12
a=type:broadcast
a=control:*
a=x-qt-text-nam:Session streamed by "TP-LINK RTSP Server"
m=video 0 RTP/AVP 96
c=IN IP4 <IP_ADDRESS>
b=AS:4096
a=range:npt=0-
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; profile-level-id=4D0016; sprop-parameter-sets=Z00AFukBQF/ywgAAB9IAAMtVCA==,aOqPIA==
a=control:track1
m=audio 0 RTP/AVP 8
a=rtpmap:8 PCMA/8000
c=IN IP4 <IP_ADDRESS>
b=AS:64
a=control:track2

Failed to parse interval end specification ''
[rtsp @ 0x74eb9460] video codec set to: h264
[rtsp @ 0x74eb9460] RTP Packetization Mode: 1
[rtsp @ 0x74eb9460] RTP Profile IDC: 4d Profile IOP: 0 Level: 16
[rtsp @ 0x74eb9460] Extradata set to 0x10fed60 (size: 31)
[rtsp @ 0x74eb9460] audio codec set to: pcm_alaw
[rtsp @ 0x74eb9460] audio samplerate set to: 8000
[rtsp @ 0x74eb9460] audio channels set to: 1
rtsp://admin:password@<IP_ADDRESS>:554/stream2: Invalid data found when processing input

Has anyone knows what could be the issue ?

Not relevant to this project, closing.


[FLINK-34608][table] Migrate BatchPhysicalValuesRule to java.

What is the purpose of the change
A bit reasoning for the change
The reason is that since 1.28.0 ( CALCITE-4787 - Move core to use Immutables instead of ImmutableBeans ) Calcite started to use Immutables (https://immutables.github.io/) and since 1.29.0 removed ImmutableBeans ( CALCITE-4839 - Remove remnants of ImmutableBeans post 1.28 release ). All rule configuration related api which is not Immutables based is marked as deprecated. Since Immutables implies code generation while java compilation it is seems impossible to use for rules in Scala code.
The PR migrates BatchPhysicalValuesRule to java
Verifying this change
This change is already covered by existing tests
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

I'm going to cloase all PRs trying to migrate ConverterRule since except https://github.com/apache/flink/pull/24457
since

there is still no response on my questsion and they keep appearing
We don't need to migrate ConverterRule's


Extendability Issues

Hi, I'm using libGDX for quite a while now and I finally decided to "speak up".
I find it very annoying and problematic that the library is hardly extendable / overrideable.
Today I tried to fix Tooltips out of the box crashing on Android (for which I might open another issue).
The easy fix for me would be to extends Tooltip and fix the issues there. But most if not all important Class fields are package private and never protected. So my only option is to fork the library, make my change and use the library from source in my project, which I find rather cumbersome.
Same goes for ScrollPane in my last project. I only wanted to change a little thing and whoop, had to swap out the entire 2k+ lines class to replace some fields access modifiers.
Who made the design choices / lacks the supervision of maintaining an extendable, flexible framework design?
Regards

Nobody lacks those skills, you lack the skill to work with open source projects. That is your own lack of skill, not the "lack of supervision in extendable, flexible framework design". Instead of complaining about what is broken, create a pull request with a fix and contribute to the open source community? I'm pretty sure that makes us all move forward. Whining on an issue tracker does not.
Next time you decide to speak up, please think about whether you have the right to speak up. Insulting the maintainers of this project only makes you sound incredibly rude and incapable.

I would appreciate if the tone could be less confrontational. I do not feel
insulted, and while I wished Maximilian would have send a PR instead of
letting of steam, I can understand frustration (having used other people's
code myself :)).
Maximilian, we do think about extensibility, but it needs to be balanced
with maintainability. Protected fields and methods are a public contract,
preventing us to change the internals of an API. As such, we are open to
change things, but onoy if there are good reasons.
The preferred way to get changes going is to fork the repository, create a
patch with the wanted changes, then sending a PR with reasons why the
change is better than what's there at the moment. The reasoning should not
onoy include extensibility, but also some thoughts on what this means in
terms increase in API surface and the impact on the changability of the API
implementation.
On Oct 17, 2017 2:48 PM, "Bart Pelle"<EMAIL_ADDRESS>wrote:
Nobody lacks those skills, you lack the skill to work with open source
projects. That is your own lack of skill, not the "lack of supervision in
extendable, flexible framework design". Instead of complaining about what
is broken, create a pull request with a fix and contribute to the open
source community? I'm pretty sure that makes us all move forward. Whining
on an issue tracker does not.
Next time you decide to speak up, please think about whether you have the
right to speak up. Insulting the maintainers of this project only makes you
sound incredibly rude and incapable.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/libgdx/libgdx/issues/4921#issuecomment-337220499, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAfYBGsRnpqwrh7u6eoPeIReU64q_U8vks5stKI1gaJpZM4P2KEr
.

I understand your point and apologize for my rather rude tone. You may have seen that I've already submitted a proper PR with the one-liner fix for the particular issue.


Namespacing issues

Let me begin by saying I'm a beginner with ROS, so if this issue is just because of something I'm doing wrong, let me know. If I missed something in the docs, or this is just not supported, also let me know :)
The problem
I was unable to find something about namespaces, so I just assumed we are supposed to do this by having an appropriate node name. For example: /namespace/node. It looks like this is working, as the ros master will successfully remap new subscribers/publishers to the namespace. So creating a subscriber which subscribes to /topic on a node called /namespace/node, will successfully subscribe to /namespace/topic, and the same goes for a publisher.
Unfortunately, goroslib doesn't seem to handle namespaces that well. When using namespaces, a goroslib.Subscriber subscribed to /topic (which will be remapped to /namespace/topic), will successfully receive messages from already existing publishers. However, this is not the case for publishers created after said subscriber.
To demonstrate this I have written a small test:
package main

import (
	"fmt"
	"time"
)

func main() {
	// No namespace
	test("")

	// Namespace
	test("namespace/")
}

func test(namespace string) {
	fmt.Printf("Using namespace '%s'\n", namespace)

	// Create publisher before the subscriber, this should work
	p1 := NewPub(fmt.Sprintf("/%spub1", namespace))

	// Create the actual subscriber
	s := NewSub(fmt.Sprintf("/%ssub", namespace))

	// Create a publisher after the subscriber is running, the subscriber will not receive updates from this one
	p2 := NewPub(fmt.Sprintf("/%spub2", namespace))

	time.Sleep(time.Second * 2)

	p1.Publisher.Write(&Message{
		Msg:     "Msg before sub",
	})
	p2.Publisher.Write(&Message{
		Msg:     "Msg after sub",
	})

	time.Sleep(time.Second)
	s.Close()
	p1.Close()
	p2.Close()
	fmt.Printf("---\n")
}

Other boilerplate code
package main

import (
	"github.com/aler9/goroslib"
)

// Creates a publisher on the '/topic' topic.
type Pub struct {
	Node      *goroslib.Node
	Publisher *goroslib.Publisher
}

func NewPub(name string) *Pub {
	p := &Pub{}
	var err error

	p.Node, err = goroslib.NewNode(goroslib.NodeConf{
		MasterHost: "localhost",
		MasterPort: 11311,
		Name:       name,
	})
	if err != nil {
		panic(err)
	}

	p.Publisher, err = goroslib.NewPublisher(goroslib.PublisherConf{
		Node:  p.Node,
		Topic: "/topic",
		Msg:   &Message{},
	})

	return p
}

func (p *Pub) Close() {
	if err := p.Publisher.Close(); err != nil {
		panic(err)
	}
	if err := p.Node.Close(); err != nil {
		panic(err)
	}
}

/// main.go
package main

import (
	"fmt"
	"github.com/aler9/goroslib"
)

// Creates a subscriber for the '/topic' topic, which just prints received messages.
type Sub struct {
	Node       *goroslib.Node
	Subscriber *goroslib.Subscriber
}

func NewSub(name string) *Sub {
	s := &Sub{}
	var err error

	s.Node, err = goroslib.NewNode(goroslib.NodeConf{
		MasterHost: "localhost",
		MasterPort: 11311,
		Name:       name,
	})
	if err != nil {
		panic(err)
	}

	s.Subscriber, err = goroslib.NewSubscriber(goroslib.SubscriberConf{
		Node:     s.Node,
		Topic:    "/topic",
		Callback: s.callback,
	})

	return s
}

func (s *Sub) callback(msg *Message) {
	fmt.Printf("sub msg: %v\n", msg)
}

func (s *Sub) Close() {
	if err := s.Subscriber.Close(); err != nil {
		panic(err)
	}
	if err := s.Node.Close(); err != nil {
		panic(err)
	}
}

package main

import (
	"github.com/aler9/goroslib/msg"
)

type Message struct {
	msg.Package `ros:"ras"`
	Msg         string
}

The output is:
Using namespace ''
sub msg: &{0 Msg before sub}
sub msg: &{0 Msg after sub}
---
Using namespace 'namespace/'
sub msg: &{0 Msg before sub}
---

As you can see, the subscriber does indeed not receive updates from the publisher which was created after the subscriber.
Reproducing
The code can be found in the previous section.
I used ros noetic (1.15.8) in docker for testing:
docker run -it --network=host ros:noetic-ros-core roscore
Possible cause
Before making this issue, I did some digging, and I think I may have found the cause. When a new subscriber is created in node.go, it registers it with the master, and receives the existing publishers. This is why existing publishers do work:
// node.go:440
res, err := n.apiMasterClient.RegisterSubscriber(apimaster.RequestRegister{
				Topic:     req.sub.conf.Topic[1:],
				TopicType: req.sub.msgType,
				CallerUrl: n.apiSlaveServerUrl,
			})
			if err != nil {
				req.err <- err
				continue
			}

			n.subscribers[req.sub.conf.Topic] = req.sub
			req.err <- nil

In the test the relevant values will be:

Node name (n.conf.Name): /namespace/sub
Topic (req.sub.conf.Topic): /topic
Status response (res.StatusMessage): Subscribed to [/namespace/topic]

This is another confirmation that the master does the remapping.
Whenever a new publisher is created, node.go will handle the updating of urls. However, the topic check is done with the original topic, not with the remapped one. Since the ros master will send the remapped version, this check will fail, even though the publisher is in the same namespace as the subscriber:
//node.go:404
case req := <-n.publisherUpdate:
			sub, ok := n.subscribers[req.topic]
			if !ok {
				continue
			}

			sub.publisherUpdate <- req.urls

In the test the relevant values will be:

Received topic (req.topic): /namespace/topic
Subscribers (n.subscribers): {"/topic": [...]}

This shows the mismatch between the original and remapped topics.
Possible solutions
A quick workaround for now is to put everything in the global namespace, although this is not a solution for bigger projects or projects with conflicting node names. I think a complete solution will have to be compliant with the ROS Names, so it might take some time to fully implement.
Something quick and dirty that could work for most cases would be something like this. In this solution you would just create a list of allowed namespaces, append the original topic name, and check for any match.

I haven't tested this with services, but something similar might be happening there. So in case this really is an issue, services also might need a second look.

Hello, thank you very much for reporting this bug. I finally got time to check and is true that the master, when it receives a request through the Master API, prepends the node namespace to all topics that doesn't begin with a slash, so a call like this, performed by a node /namespace/node
topic := "/mytopic"
n.apiMasterClient.RegisterSubscriber(apimaster.RequestRegister{
  Topic:     topic[1:],
  TopicType: "mytype",
  CallerUrl: "http://url",
})

will result in subscribing the topic /namespace/mytopic instead of /mytopic.
You may ask: why is the slash dropped before performing the request (ie topic[1:])? because the reference c++ implementation does it, and since tests were successful, it was left in this way, until you discovered the bug.
In my opinion there are two problems that must be solved separately:

allow nodes not belonging to a namespace to correctly subscribe or publish to topics with multiple slashes
support for namespaces, that leads to supporting relative and private topic names

i'd start with the first one (which is a bug), and in my opinion the best solution consists in passing full topic names (with the initial slash) when communicating with the master, even if this is not the solution enrolled by the official reference.
i've already done some tests and it seems to work well.
we can then proceed to implement namespaces and support relative and private topic names.

namespaces are not fully supported; a node namespace can be set with the Namespace member:
NewNode(NodeConf{
    Namespace:  "/myns",
    Name:       "goroslib",
    MasterHost: masterHost,
})


Start code-server with no project directory

I have a single instance code server, but I like to have multiple projects open.  It used to be that if you didn't supply a root directory it would not have any folder open by default.  Is there a way to get this back, or make this a flag at startup?

This is the default still but code-server remembers the last opened directory and stores it in ~/.local/share/code-server/coder.json. It'll use this if nothing else is provided.
There's no way to circumvent this other than remove the entry from coder.json (or delete it entirely) so maybe we should add a flag like --no-default-dir or something more clever than that. Or maybe something like --no-remember to avoid writing the last opened directory so you can still use coder.json to set the default if desired.

The issue I have with the default folder is the base has 10 projects with typescript, javascript,c++, and java.  Needless to say, code-server takes it's sweet time when it starts to parse that and load the respective extensions.  A --no-default-dir would be helpful so that when I open a new window I don't have to race that process to open the correct project folder =)

Makes sense to me! In the meantime I'll throw out a couple workarounds that may or may not work for you (you've likely already considered them, but just in case):

Create and use a workspace that contains all the projects.
Manually add the ?folder=/path/to/dir URL parameter when going to code-server to open the right directory (or use bookmarks).
Kind of a silly one but remove the last visited property from coder.json and make it read-only. code-server will log a warning when trying to write but it can be ignored.

I tried the first but VS code workspaces get "funny" if you mix languages.  I was also a bit unwieldy.  The 2nd works pretty well, but for some reason, Google decided that you should not be allowed to open a PWA directly, and need to open it in a browser and then open with the PWA.  I am not sure how unique I am.  I use code-server from a Chromebook remotely, so I tend to use it as someone would use a local instance.  I think its more a limitation of the PWA technology than the code-server product itself.

Ah that's unfortunate. Fortunately adding this flag should be simple and straightforward.

I did finally find a reasonable workaround.  I used the alefragnani.project-manager extension and set my startup folder to an empty directory. I tried with a workspace for each project and that worked too, but the extension made it a bit easier to manage.  I think this is a "reasonable" workaround, so I would be comfortable closing this issue, and just putting a note about that in the faq.


Support different value types for calculated properties

itwinjs-core: https://github.com/iTwin/itwinjs-core/pull/7147

/azp run imodel-native

I'd really like a test that exercises all the type conversions being done in EvaluateECExpression custom function

Added the checks to CustomFunctionTests.EvaluateECExpression function


Documentation

This issue will track the different components of the documentation that need to be written or updated.

[ ] Architecture
[ ] CLI
[ ] Tools Used

Converted to Milestone


tuxclocker: init at 1.4.0

Description of changes
Added https://github.com/Lurkki14/tuxclocker and a NixOS module
Fixes #262668
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build tuxclocker-without-unfree

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3098

@ofborg build tuxclocker-without-unfree


Changes to BB may be blocking Pipeline

Environment
Device and OS: GitHub Runners
App version:
Kubernetes distro being used:
Other: https://repo1.dso.mil/big-bang/bigbang/-/releases/2.7.0
Steps to reproduce

https://github.com/defenseunicorns/zarf/actions/runs/5700544870/job/15489161930

Expected result
Actual Result
Visual Proof (screenshots, videos, text, etc)
Severity/Priority
Additional Context
Add any other context or screenshots about the technical debt here.

im not 100% sure that this is a bug but I am seeing the pipeline fail consistently on BB test and they had a new release. It could also be related to disk pressure

Im thinking this is most likely not related to changes in BB but to resource limitations. Im going to close this.


[v3] Error using ionic-native/geolocation (Unsecure origin)

Hello everyone,
I upgraded to 3.0.0 as recommended by the Ionic team. When trying to use the plugin ionic-native/geolocation it says: "Only secure origins are allowed (see: https://goo.gl/Y0ZkNV)."
The reason seems to be that I am using HTTP instead of HTTPS. In https://goo.gl/Y0ZkNV says HTTP is permited with localhost, but I change my server name for seacurity reasons with:
<preference name="Hostname" value="newName" />
And, for Android, I allowed the navigation with the new name:
<allow-navigation href="http://newName/*" />
Is there any workaround? Can I simulate the request from a secure origin (HTTPS)?
Info:
OS: Android, not checked in iOS
ionic-angular 3.9.2
@ionic-native/geolocation": "^4.19.0"
cordova-plugin-ionic-webview 3.0.0
Command:
ionic cordova run android
If you need more information, don't hesitate to ask for it.
Thank you very much

There are 100 ways but atleast i can set custom CORS domain name in my server (The API's also consumed by my website) instead of * .. changing the host name will be helpful .  I think this is good to have feature to set custom hostname but unfortunately my native plugins failing when i change the hostname. @jcesarmobile