[BREAKING CHANGES] Introduce OR logical operation

These commits will introduce:

[x] Introduce OR logical operation to APIs
[x] Add tree-based IndexFilter and TagFilter to filter items
[x] Update relevant Stream query components
[x] Update relevant TSDB query components
[x] Update relevant Measure query components

The Criteria update brings a lot of changes to query testing of Liaison, Stream, Measure, and Query modules. This PR will merge them to test/integration to reduce the duplicated cases and accelerate the testing process.

[x] Move Stream query test cases
[x] Move Mesure query test cases
[x] Move Query execution cases
[x] Move Liaison test cases

We should tweak The analysis test cases of Query due to the tricky compare operations. I will skip them since we don't have the analysis result query APIs. The follow-up PRs will bring them back.
Signed-off-by: Gao Hongtao<EMAIL_ADDRESS>

Codecov Report

Merging #170 (cd97de4) into main (40adf38) will decrease coverage by 13.44%.
The diff coverage is 1.43%.

@@             Coverage Diff             @@
##             main     #170       +/-   ##
===========================================
- Coverage   53.52%   40.07%   -13.45%
===========================================
  Files          86       68       -18
  Lines        7869     6255     -1614
===========================================
- Hits         4212     2507     -1705
- Misses       3262     3539      +277
+ Partials      395      209      -186

Impacted Files
Coverage Δ

banyand/tsdb/series_seek.go
0.00% <0.00%> (ø)

banyand/tsdb/series_seek_filter.go
0.00% <0.00%> (ø)

banyand/tsdb/series_seek_sort.go
0.00% <0.00%> (ø)

banyand/tsdb/seriesdb.go
62.83% <0.00%> (-13.11%)
:arrow_down:

pkg/query/logical/measure/measure_analyzer.go
0.00% <0.00%> (ø)

pkg/query/logical/measure/measure_plan.go
0.00% <0.00%> (ø)

.../query/logical/measure/measure_plan_aggregation.go
0.00% <0.00%> (ø)

pkg/query/logical/measure/measure_plan_groupby.go
0.00% <0.00%> (ø)

...ry/logical/measure/measure_plan_indexscan_local.go
0.00% <0.00%> (ø)

pkg/query/logical/measure/measure_plan_top.go
0.00% <0.00%> (ø)

... and 33 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Azure Icons are in HTML vs. SNG format

[Enter feedback here]

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

ID: 6624d44c-f9f6-02f8-2c67-0f0637fed62e
Version Independent ID: 9346a8ff-bab5-be2c-9dc1-d546fda1efa9
Content: Azure Icons - Azure Architecture Center
Content Source: docs/icons/index.md
Service: architecture-center
GitHub Login: @doodlemania2
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 391141

I can't download Azure icons in the proper format so I can use it. It kept giving me the HTML type instead of SNG!
Any idea?

Are you accepting the terms with the checkbox and then using the 'downlad SVG icons' button?  or are you using some context menu to 'save target as'?   You should be clicking on the button.   Otherwise, perhaps try using a different browser.  I was unable to reproduce your issue just now.


Refactor

Refactored private query function to accommodate for multiple page responses.
Refactored stats cmdlet to use parametersets
Added GetWeek private function for use in Get-GitLabCommitStats since -UFormat was being buggy for me

@ngetchell could u test this when you get a chance? i refactored the query function to use Invoke-webrequest instead of Invoke-restmethod to get raw html response back since I needed the return headers to determine if the response was multipage or not. Max results were 100 per page for API, so things were returning with missing data.

Will look into this today. Clever way to handle multi-page queries. I'll generate a couple hundred projects on my test instance to test it out.

Also, using invoke-webrequest would allow us to check HTTP status codes as well. That would be for the future though.

It works.

Cool. Thanks for double checking. Are we ready to push dev to master at
this point?
On Sat, Aug 13, 2016 at 8:13 AM, Nicholas M. Getchell <
<EMAIL_ADDRESS>wrote:

It works.
[image: works]
https://cloud.githubusercontent.com/assets/813422/17643935/facdebe8-6146-11e6-8b43-7eedac662c5f.PNG
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/ngetchell/PSGitLab/pull/59#issuecomment-239625632,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFArVEfTVAI595GmOkoGAeh1HvYeoP_Sks5qfd8ngaJpZM4JhyKH
.

I was hoping to get a build process up and running but that is a few days off. Will push to master tonight.

We can wait until build process. I'm fine with that :)
Sent from my iPhone

On Aug 15, 2016, at 5:54 PM, Nicholas M. Getchell<EMAIL_ADDRESS>wrote:
I was hoping to get a build process up and running but that is a few days off. Will push to master tonight.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.


feat: peer automatically injects existing task metadata to scheduler upon restart

Description
Announce peers to the scheduler after host announcement during SchedulerAnnouncer.new().
Related Issue
https://github.com/dragonflyoss/Dragonfly2/issues/3387
Motivation and Context
Rust's dfdaemon stores the task's metadata in RocksDB at the beginning of the download. Add a new rpc interface: AnnounceTask() to the v2 scheduler. dfdaemon of Rust will fetch the metadata of downloaded tasks (including the metadata of tasks and pieces) from RocksDB at each startup, filter out all the completed tasks, call AnnounceTask() to the schedulerscheduler to add the metadata of Task and Peer to the Manager for subsequent scheduling.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.

Use hashring.

resolved

All the problems are resolved, PTAL. Thanks! 😄
@gaius-qi

All problems resolve, PTAL. Thanks! 😄
@gaius-qi


Citations

@surchs Should I be including citations for each of the libraries that I mention in README.md?

This is a good idea. I'd say that including a link to the repositories you want to use in your Readme file might be more helpful here. For any reports that come out of your work later, you should definitely cite the libraries used to do your analyses.

Perfect, that makes sense.


WIP: Passing args to launcher

Hi. I'm trying to fix https://github.com/lihaoyi/mill/issues/577. The pull request is still in progress. I want to verify my solution before full implementation.
I propose to pass extra JVM arguments to the launcher through .mill-args file in the root of the project. sbt using the same approach with .sbtopts file.
At the current moment, only mill server on linux/macos could recognize .mill-args file. Support for windows and interactive mode is needed for full feature implementation.
What do you think about this solution?

Seems reasonable to me. @lefou what do you think?

In general, I support the idea of that approach. But if we now magically support -X options in that file, we should also support them on the regular command line, shouldn't we? Also people will wonder why regular mill cmdline options in that file will be ignored, e.g. adding a -j 0. Or maybe it's just the name that triggers some assumptions in me? If this file is only about JVM options at all but not about mill options, we might call it better .mill-jvm-opts or something like this.

@lefou

But if we now magically support -X options in that file, we should also support them on the regular command line, shouldn't we?

I thought about it too. We may add a variable like MILL_ARGS or MILL_JVM_OPTS for that. And it could be used for passing JVM options to the mill launcher. But, I think it could be done in a separate issue, as an improvement of a current file approach.

Also people will wonder why regular mill cmdline options in that file will be ignored, e.g. adding a -j 0. Or maybe it's just the name that triggers some assumptions in me? If this file is only about JVM options at all but not about mill options, we might call it better .mill-jvm-opts or something like this.

Currently, .mill-args support only JVM options. And the original issue was exactly about passing JVM options to the mill. I'm not happy with the current naming too, it's mostly temporary. I think .mill-jvm-opts is a lot better.

Yeah, ho ahead with the more specific name. Leaving the -X support for another PR, if needed.

@lihaoyi @lefou pull request is ready for the review.
Passing JVM options are now possible on all modes (client-server and interactive) and all operating systems. Windows support was hard :)

Should I do something else to make it merged?

@LMnet Could you merge or rebase to latest master to work around the failing travis tests. This would make me more confident about merging.

@lefou sure. I rebased my branch.

CI is still failing on some environments, but it looks like these errors are unrelated to my changes:
E: Unable to locate package libunwind8-dev
The command "curl https://raw.githubusercontent.com/scala-native/scala-native/master/scripts/travis_setup.sh | bash -" failed and exited with 100 during .

I restarted the failing jobs.

Finally green!


Straigthen out the "settings" reference to "clear canvas"

Like in https://github.com/459below/draw/blob/master/src/static/html/draw.html#L134
There are several references which need to be modified in order not to break the current functionality.

fixed with 46685898bcad752635ae95420513ef38a876431a


Fix README /metric(s) URL

.. so it matches the code

@sorki thanks! Ping me if I don't upload to hackage shortly.


CI: Properly throw error on panic

This is an issue on both GitHub and GitLab CI.

Can you elaborate a little on this?


[Feature Request] Better collection organisation

Unless I've missed something, currently collections need to be in the root of the source directory. Once you have more than a few collections it starts getting untidy. Is there scope for a solution? Here's a few ideas:

_collections directory in source (I suppose anything in here could be automatically parsed as a collection without adding to config)
Specify collection location in config (thought this might already exist but couldn't find anything in the docs)
Have a _collection subdirectory (e.g. source/people/_collection). Currently I have source/people/ and source/_people directories, this duplication gets more & more untidy as we add sections to the site. (this would be covered by 2nd option so probably irrelevant)

hey, assign me please
let me help you

You can create and use a separate collections folder using the Event Listeners as a current solution.
The folder structure here is:
- collections (new)
- source
- listeners
- tasks
- vendor

In bootstrap.php you can include the events:
$events->beforeBuild([
    PushCollections::class,
]);

$events->afterBuild([
    ...
    PullCollections::class
]);

Make sure that PullCollections is the very last event.
The two events copy everything in the collections folder and place it in the source folder, and then at the end of the build they remove the collections to tidy up the source folder again.
<?php

namespace App\Listeners;

use Illuminate\Filesystem\Filesystem;
use TightenCo\Jigsaw\Jigsaw;

class PushCollections
{
    protected $storage;

    public function __construct()
    {
        $this->storage = new Filesystem();
    }

    public function handle(Jigsaw $jigsaw)
    {
        // move the directories in collections folder to the source folder
        $directories = $this->storage->directories('collections');

        collect($directories)->each(function($dir) {
            $segments = explode('/', $dir, 2);
            $filename = $segments[1];

            $from = getcwd()."/{$dir}";
            $to = getcwd()."/source/{$filename}";

            $this->storage->copyDirectory($from, $to);
        });
    }
}

<?php

namespace App\Listeners;

use Illuminate\Filesystem\Filesystem;
use TightenCo\Jigsaw\Jigsaw;

class PullCollections
{
    protected $storage;

    public function __construct()
    {
        $this->storage = new Filesystem();
    }

    public function handle(Jigsaw $jigsaw)
    {
        // clean up the collections in the source folder
        $directories = $this->storage->directories('collections');

        collect($directories)->each(function($dir) {
            $segments = explode('/', $dir, 2);
            $filename = $segments[1];

            $source = getcwd()."/source/{$filename}";

            $this->storage->deleteDirectory($source);
        });
    }
}

Merging with #448


Silverstripe 3.2: language switcher doesn't collapse nicely

In SS 3.2 we seem to have a collapsed left menu more often (or some style has changed?), but the lang switcher still shows some stub of the currently selected language, see screenshot.

Ouch, I better fix that when I upgrade for 3.2. :)

Did a quick and dirty css fix for this:
/* fix a bug with fluent in 3.2 */
.cms-menu.collapsed .cms-fluent-selector .text {
    display: none;
}
.cms-menu.collapsed .cms-fluent-selector .cms-fluent-selector-locales {
    left: 0;
    right: auto;
}

though the selector is partially hidden by overflow of the whole panel. Would be better, if the selector would be able to  "pop out" like the other menu items below.

Thanks for the hack; I'll see if I can put it into an official fix.

Fixed?

Fixed with https://github.com/tractorcow/silverstripe-fluent/pull/178


Can't get docs/examples/webrtc/ code to work - says stream not found

I have RTSPtoWeb installed and running. I can see my camera feed using http://<IP_ADDRESS>:8083 and selecting my  camera feed.
http://<IP_ADDRESS>:8083/streams
responds with:
{
    "status": 1,
    "payload": {
        "27aec28e-6181-4753-9acd-0456a75f0289": {
            "channels": {
                "0": {
                    "status": 1,
                    "url"<EMAIL_ADDRESS>                }
            },
            "name": "birdcam"
        }
    }
}

the docs/examples/webrtc/index.html code has: ( I used the 'birdcam' stream link.. I think that's entered correctly....

    <meta charset="utf-8">
    <title>RTSPtoWeb WebRTC example</title>

RTSPtoWeb WebRTC example

    <input type="hidden" name="webrtc-url" id="webrtc-url"
        value="http://<IP_ADDRESS>:8083/stream/birdcam/channel/0/webrtc">

    <video id="webrtc-video" autoplay muted playsinline controls
        style="max-width: 100%; max-height: 100%;"></video>

but RTPStoWeb shows:
ERRO[2023-03-04T17:16:51-06:00] stream not found                              call=StreamChannelExist channel=0 func=HTTPAPIServerStreamWebRTC module=http_webrtc stream=birdcam
I am not sure what the correct value for the webrtc-url variable is based off of the http://<IP_ADDRESS>:8083/streams output.
I think that: http://<IP_ADDRESS>:8083/stream/birdcam/channel/0/webrtc would be correct... but the error indicates otherwise.
I am trying to show the output of my camera on a HTML5 page....

According to the API Docs, the WebRTC call signature is

http://<IP_ADDRESS>:8083/stream/{STREAM_ID}/channel/{CHANNEL_ID}/webrtc

So try http://<IP_ADDRESS>:8083/stream/27aec28e-6181-4753-9acd-0456a75f0289/channel/0/webrtc (assuming the GUID from your post is still the correct one).

Still not working... This works:
http://<IP_ADDRESS>:8083/
and I can see my camera and see the webrtc link on that widget...
http://<IP_ADDRESS>:8083/pages/player/webrtc/27aec28e-6181-4753-9acd-0456a75f0289/0
and that gets me to a web page with the video playing in it... but just trying to see JUST the video so I can display it on my own html5 page trying:
http://<IP_ADDRESS>:8083/stream/27aec28e-6181-4753-9acd-0456a75f0289/channel/0/webrtc
gets me to a web page that just says:
404 page not found
.
.
.
so the API docs do say: http://<IP_ADDRESS>:8083/stream/{STREAM_ID}/channel/{CHANNEL_ID}/webrtc should work... but it does not appear to be working... so here we are....

I assume you are also using the main.js file from the example? Do you get any errors on your browser console?

You can't take a webrtc stream url and stick it in the browser, it needs the JavaScript. That webrtc end point is posting an rdp description so it's not a valid way to test the url.

@deepch  - Lots of confusion on the WebRTC links and the expectation they work as is in a browser - would it be possible if you do a get request to one that it replies with something clarifying like - "This URL can't be used directly in a browser but it does appear to be a valid stream URL" (assuming it is).

I recommend looking at https://github.com/deepch/RTSPtoWeb/tree/master/docs/examples and https://webrtc.org/getting-started/overview for generally understanding how WebRTC works.

I don't understand your reply - I was agreeing with your point above
To quote you:
You can't take a webrtc stream url and stick it in the browser, it needs the JavaScript. That webrtc end point is posting an rdp description so it's not a valid way to test the url.
Since this seems like a common confusion, I was recommending instead of the just replying with a 404, it could reply with basically your quote with maybe a pointer to the proper instructions to avoid this common source of confusion. It would probably cut down on issues/requests for help


Version tracking issues

Since version 0.1.0, this module has downloaded the rpm file with every Puppet run, and starting with 0.3.0, the package resource causes errors from yum.
This PR is two changes that seem to fix these two issues.

@mtkraai thank you very much for catching the issue and contributing back.
QQ the changes to lib/puppet/provider/sensor_download/sensor_download.rb are they just to help debug or were you seeing a issue with that code?

Feel free to remove the extra Puppet.debug lines and change the fact lookup back to a single line.  The issue was that the hash key is a symbol (:version), not a string ('version').


Package Manager

Is your feature request related to a problem? Please describe:

Maybe the current shell isnt good enough, maybe people want another runtime instead of nodejs, maybe people want more!
Describe the solution you'd like:

A package manager allows more to make with the web containers api
Describe alternatives you've considered:

Or maybe ability to import and run linux executables in webcontainers?
Additional context:

can you at least tell me how to do this

I think they are possible but need lots of extra work :( You have to create many projects like pyodide


Synchronized Java Collections

Proposed title of article
Synchronized Java Collections
Introduction paragraph (2-3 paragraphs):
The fact that Java objects can be "locked" is a fascinating feature. This is the java.lang package. The Object interface provides an implicit locking mechanism that allows any Java object to be locked while a synchronized method or synchronized block is being executed. So that the thread in possession of the lock has exclusive access to the object for the length of the method call or block's scope. Until the thread that holds the lock "releases" the item, no other thread can "acquire" it. Mutual exclusion is provided by this synchronization policy.
In this tutorial, the reader will understand the concept of synchronized java collections in depth.
Key takeaways:

Synchronization overview.
Different method used in synchronized java collections.
Why we use array List when vector is synchronized.
Synchronized vs Concurrent Collections.

References:
N/A

Good afternoon and thank you for submitting your topic suggestion. @wanjadeno
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

@wanjadeno
How will this article differ from what is published our other blog sites

@hectorkambow
This will be a detailed article including a step by step explanation to make sure that the readers to have better understanding including all concepts. I will write a unique article all through.
Thank you.


Notification Settings

Time tracking: https://its-pro.ucsd.edu/browse/MA-60
User feedback:
The notification settings in the UC San Diego mobile app are not correctly saved. (Android 10)
Steps to reproduce:

Under Profile > Notifications, turn off all notifications.
Close the app so that it is not running in the background.
Open the app again and navigate to Profile > Notifications. All notifications have been re-enabled.

Note that notifications are pushed even if only steps 1 and 2 are followed. That is, it's not the act of manually opening the app again which re-enables the notifications.

Unable to replicate this issue in PROD using both iOS and Android. I was not able to successfully run a simulator with Android 10 but my Samsung Galaxy S6 did not face the same issue. I have run into this issue a few times in QA but not sure why I can't reproduce it in PROD.


Construct execFlags based on tags from TestSuite, mapping of tag to execFlags can be provided by consumers

Should this be done only in save-cloud or in save-cli too? We have suites and tags from save.tomls, so it seems doable in both.

I think it should be done in save-cli on save.toml level

Let's even close this. I don't think we can do it


cmd/go: get and build can interact badly on case-insensitive but case-preserving file systems

Reproduce, using stock macOS filesystem, which is case-insensitive but case-preserving:
$ go get -d github.com/0x263b/Porygon2
$ go build -toolexec="toolstash -cmp" -a -o /dev/null github.com/0x263b/...

Result: Rare object file mismatches in which only a few bytes differ. Even rarer build failures in which we emit corrupt object files.
The reason is that go get downloads the code into $GOPATH/src/github.com/0x263b/Porygon2. go build then walks $GOPATH/src/github.com/0x263b, and adds the import paths corresponding to the directory names it sees, e.g. github.com/0x263b/Porygon2/web; note the capital P. Then it reads the import paths found in the code, which are lower case, and adds those import paths, including github.com/0x263b/porygon2/web; lower case p.
There's a check in PackagesForBuild for this exact scenario, aptly described in a comment:
	// Check for duplicate loads of the same package.
	// That should be impossible, but if it does happen then
	// we end up trying to build the same package twice,
	// usually in parallel overwriting the same files,
	// which doesn't work very well.

However, that check is case-sensitive, so this package sneaks past the check. Making the check do a strings.ToLower on the package import paths catches it:
internal error: duplicate loads of github.com/0x263b/porygon2
internal error: duplicate loads of github.com/0x263b/porygon2/web

This problem is not theoretical; I just wasted four hours tracking it down, starting from non-deterministic build failures.
This seems like a can of worms, and I don't know what the right fix is, but I think we should do something. Input requested.
cc @rsc @bradfitz @shurcooL

Worth noting, in the README, it says:
go get -u github.com/0x263b/porygon2

So the canonical import path is meant to be with lower-case p. However, there is no import path comment enforcing that, and it seems there's nothing to stop one from go geting the unintended case of import path and trying to build that. Especially since the canonical name of the repository is with an upper-case P, so the chance is even higher than usual.
One solution that I want to consider is to make it so that import paths should be case sensitive on case-preserving file systems, if that's possible. If you have a package at $GOPATH/src/foo path, doing import "FOO" should tell you "FOO" doesn't exist, even though cd $GOPATH/src/FOO would work (due to case insensitive filesystem).

Will send CL. We already detect this when they're both in the same program, but we should detect it when they're just in the same build instead.


What's holding the Dart 3.2 release back?

tl;dr Dart 3.2 is ready but not released. Flutter is blocking Dart developers for no reason.
According to the CHANGELOG.md, Dart 3.2 is ready for release. All development is focused on the next version Dart 3.3.
Since October, there have been only minor changes on top of version 3.2.0-210.1.beta

Version
OS
Arch
Date

3.2.0-210.1.beta (ref 5c23602)
macOS
x64
Oct 3, 2023

3.2.0-210.2.beta (ref 620c172)
macOS
x64
Oct 11, 2023

3.2.0-210.3.beta (ref 668bef3)
macOS
x64
Oct 18, 2023

3.2.0-210.4.beta (ref a30d2ed)
macOS
x64
Nov 1, 2023

However, I cannot use the Dart 3.2 normally, because Dart 3.2 has not been released officially. This causes multiple annoyances:

As Dart fan, I want to use the latest Dart version and give early feedback from production software. But development is far ahead and hot-fixed may have to be cherry-picked into multiple Dart versions.
As Dart developer, who builds CLIs, backends and websites, I have to use the Dart beta docker container, which is not ideal for production environments.
As package author, I'd like to build and release packages with new language features. I don't want to flag the releases as pre-releases as suggested by pub publish for the time between code freeze and actually announcing it.

I have the feeling that Dart release announcements are postponed to sync with Flutter releases. That might be a good decision from a marketing perspective. But as Dart developer, who's not using the Flutter SDK in all projects, it is a bit frustrating.
Please bring back continuous Dart releases every 2-3 months, independent from Flutter, like back in the Dart 1.X days.

Hi Pascal,

Dart 3.2 is ready but not released. Flutter is blocking Dart developers for no reason.

This is not true. While the release is indeed getting very close to being ready -- hence no changes to it -- there is still final testing being completed.

According to the CHANGELOG.md, Dart 3.2 is ready for release

The changelog doesn't tell you when it's "ready" from a quality point of view

All development is focused on the next version Dart 3.3

Yes, the main channel is focused on 3.3. But we still do cherry picks from main to the release channels.

As Dart fan, I want to use the latest Dart version and give early feedback from production software.

You can use beta for this. As you say yourself it's very, very close (potentially identical) to next stable, given we're on the last beta of the next stable.

I have the feeling that Dart release announcements are postponed to sync with Flutter releases

It is correct that we for the past several years have sym-shipped Dart and Flutter SDKs on the same date. But this is not some "marketing" tactic, it's because a significant amount of Dart quality signal these days is via Flutter testing.

Please bring back continuous Dart releases every 2-3 months

We ship roughly every 3 months, and have done so for quite a while (the long gap after 2.19 was to wrap breaking changes in 3.0):

Dart 3.1: 6 August 2023
Dart 3.0: 10 May 2023
Dart 2.19: 25 January 2023
Dart 2.18: 30 August 2022
Dart 2.17: 11 May 2022
Dart 2.16: 3 February 2022

One thought: would more transparency over the release cadence help address this?

Generally any beta release is worth testing.
The general release process is that we cut a new beta release about once a month -- on occasion more frequently if we need to cherry-pick fixes into beta. And then in the end of a release cycle, the last beta channel release is promoted to be the stable release.
I think to you points -- and in extension of my comment above -- what we're missing is transparency around / comms about, when we've cut the intended last beta release, and are in the final holding period with no known issues and just final release validation missing? This would be somewhat similar to how we announced Release Candidate builds back in 2016-2017. Would that be helpful?

Just chiming in here, yes, that would be helpful, 👍

I will say that Chrome/Chromium's status page is really useful with beta and stable timelines: https://chromestatus.com/roadmap. Something similar would be nice even if the exact dates weren't as precise. It helps developers quickly understand when and what to test, what deprecations to prepare for, or what breaking changes to be aware of.

The Release Candidate announcements of Dart 1 were fantastic 👍

Looks like it has just been released!

One thought: would more transparency over the release cadence help address this?

I believe so. I even created an issue yesterday about that.


Please Disable Code Coverage

Code coverage has to be disabled for Carthage to work with Xcode 9.
Check Carthage/Carthage#2056 and Carthage/Carthage#2057.

I'd rather wait for Carthage to fix this, as per their README. Alternatively, use CocoaPods as they recommend

Ultimately, we created Carthage because we wanted the simplest tool possible—a dependency manager that gets the job done without taking over the responsibility of Xcode, and without creating extra work for framework authors. CocoaPods offers many amazing features that Carthage will never have, at the expense of additional complexity.


auto reboot even with correct VS_AUTH_KEY

Hi,
I have a V2801F stick. I have set the intel VS_AUTH_KEY (and matching ELAN_MAC_ADDR and HW_HWVER) found here but I still need to do echo 3 > /proc/fiber_mode otherwise my stick will keep rebooting in loop.
I'm not too sure it's related but # cat /tmp/authinfo shows:
auth success
My firmware is version V1.9.0-201104 --  Wed Nov 4 09:41:21 CST 2020
Any idea why? Thanks in advance.

Nice Cat XD
when did you buy V2801F? I heard there so many revision.
Have you save previous value flash get ? try put original value see if reboot still happen

I bought it recently. I tried with the original values but I'm facing the same issue... :(

if your stick is ODI with Realtek, it not work mostly, the laser driver quite different, currently I testing it


BUG | please remove github.com package

What happened?
i create new package，use pnpm dlx plasmo init example-dir, bug i can't install
/private/var/folders/qp/gt975ml91_v9zgqxzjfkmbcc0000gq/T/dlx-6307/5:
+ plasmo 0.43.6
🟣 Plasmo v0.43.6
🟠 The browser extension development framework.
🔵 INFO   | Copying template files...
🔵 INFO   | Installing dependencies...
 WARN  deprecated<EMAIL_ADDRESS>Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
Progress: resolved 461, reused 444, downloaded 0, added 0

Because there are

Version
Latest
What OS are you seeing the problem on?
MacOSX
What browsers are you seeing the problem on?
No response
Relevant log output
No response
(OPTIONAL) Contact Details
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

Whether it can be removed github.com package

gitlab install error

Thanks for the report! I think there's something going on with your mac's SSH configuration. Specifically, the saved host keys. Check this answer for help: https://stackoverflow.com/questions/13363553/git-error-host-key-verification-failed-when-connecting-to-remote-repository

updated is ok
 "devDependencies": {
     "dedent": "github.com/dword-design/dedent",
 },

Thanks for the report! I think there's something going on with your mac's SSH configuration. Specifically, the saved host keys. Check this answer for help: https://stackoverflow.com/questions/13363553/git-error-host-key-verification-failed-when-connecting-to-remote-repository

local is ok
gitlab ci is error

Argh... technically, we can fork this out. The why is as follow:
ts-ast-to-literal 1.0.5
└─┬ @dword-design/functions 4.0.7
  └── @dword-design/endent 1.0.1


Expose card env to ember component cards

My understanding of mobiledoc-kit's Card API is that env is part of the public API that a card receives from mobiledoc. If so, then it should be accessible to ember component cards.
An example of a property accessible to cards that wasn't accessible to ember component cards is env.isInEditor.

:+1:

thanks!

released in v0.4.0


J1939da addendum2

Sorry about the formatting.  Can we do something to fix that?
Instead of using a negative slot to indicate spn, there are two arguments now.

Not all of the DM data is in yet.  I'll enter the rest once we agree on the work.  There is a test verifying that the data is entered.

Even though one test (verifying all DM data is entered) is broken, I'm going to merge this so I can add a formatter and re-format all the files and hopefully resolve the formatting wars.


Create java binding for c-kzg library

We need to have a java binding for the official c-kzg library.
Currently the library is here https://github.com/dankrad/c-kzg/tree/4844 but will be probably migrated to a dedicated repo.
There are two options:

Make a PR to add a java binding in the repo itself (it already contains a binding dir with other bindings)
create a dedicated binding repo (similar to jc-kzg)

the interface is quite simple: https://github.com/dankrad/c-kzg/blob/4844/src/c_kzg_4844.h so we could skip using swig if makes things easier\faster to implement

Created a repo of the binding with a publishable artifact - https://github.com/ConsenSys/jc-kzg-4844


It seems the 'notes' field is missing when importing from CSV

I'm using docker.io/uraniadev/snapp:<IP_ADDRESS>. After testing the export and import functions, I noticed that while the CSV file includes the 'notes' field with data during export, this information is lost when importing back into the system.
The issue appears to be in this section of the code:
https://github.com/urania-dev/snapp/blob/ed21ad414443a5218f258ad23bd6d4492938ebe1/src/routes/settings/import/%2Bpage.svelte#L49-L57
Any assistance in resolving this would be greatly appreciated. Thank you!

i'll add this fix to the queue :)

try now

It's working great now! Thank you for your dedication and quick response.

thank you for taking time to signaling all the bugs :)


Disable pylint 1.6 warnings / work around breakage

Work around https://github.com/PyCQA/pylint/issues/998
Globally disable new warnings (rather than just for tests, as in #1967).
Run pylint a single file at a time:  if any exits with a non-zero status, record the name and status and continue (this helped debug the issue above).

Should we set the pylint version back to 1.5.6?

AFAIK this PR should make pylint 1.6 work fine for us.


key value mismatch when evaluation of distributed training models and distributed test

I have meet a similar issue in evaluation of distributed training models and dist_test.sh as well.
I guess there is a bug in collecting results which leads keys and results misaligned, since when I use a single GPU everything is fine.
Originally posted by @lliuz in https://github.com/open-mmlab/mmdetection/issues/3707#issuecomment-688743063

I wonder if anyone has tested the COCO dataset with dist_test.sh in the current version. That will be helpful for me to figure out what is wrong with my code.

Are you using your own dataset? It is fine for testing coco dataset with multi GPUs.
Can you give us more information about your error like the error traceback?

Thanks for your reply, I will double check my dataset and recompile mmdet.


[#132820493] cf-acceptance-tests built from alpine

What
Use alpine for cf-acceptance-tests container instead of debian wheezy. This reduces size from 670MB to 360.
Testing
To build container and run tests: bundle exec rake build:cf-acceptance-tests and bundle exec rake spec:cf-acceptance-tests. All should pass. To test new container in tasks that use it - use test-slim-acceptance-container branch, or cherry pick this commit: https://github.com/alphagov/paas-cf/commit/fcbafea678a645029636b38d35b4465215beff30 . Apply to your pipeline and run. Make sure to run all acceptance tests.
Who
not @mtekel

Will this not require changes in the pipeline. At the moment we have some things that assume a Debian system (eg adding the bosh CA cert to the OS cert store).

We already do use alpine in many places where we do CA cert stuff (e.g. https://github.com/alphagov/paas-cf/blob/master/concourse/pipelines/create-bosh-cloudfoundry.yml#L737). This all works correctly and it's not a new thing to do it in alpine...

The reason why we chose ubuntu wheezy  instead of alpine was that the cf-acceptance-tests are developt and tested upstream using ubuntu in the errand.
If we move to alpine, even if it works now, we are in risk that it stops working in later versions of cf-acceptance-tests because the test relies on some dependency of the base ubuntu.
Of course, you can argue that in that case we can troubleshoot it, and fix it or workaround it or revert this change. But then it is arguable the win of reducing the size of this container from 670MB to 360. Also the advantage of reducing the size in this container is low, because the tests take several minutes or hours to run, there is very little improvement here.
Because that, I suggest that we don't do this change.

Closing this as @bleach and @timmow have decided we shouldn't do it.


vendor script seems broken

Not too sure if there's something off in how I'm using it (on linux):
λ hex_erl → master → ./vendor.sh
Usage: vendor.sh TARGET_DIR PREFIX
λ hex_erl → master → ./vendor.sh ../rebar3/src/ hex_
sed: -e expression #1, char 1: unknown command: `.'
λ hex_erl → master → ./vendor.sh ~/code/rebar3/src/ hex_
./vendor.sh: line 39: /home/ferd/code/rebar3/src//hex_hex_erl.hrl: No such file or directory
λ hex_erl → master → ./vendor.sh ~/code/rebar3/src hex_
./vendor.sh: line 39: /home/ferd/code/rebar3/src/hex_hex_erl.hrl: No such file or directory

I couldn't get it to do anything else but these things.

should have used escript :)

@ferd The script should be working of course but I am wondering if maybe rebar3 should use hex_erl as a dependency instead of vendoring. You already have other dependencies so I assume you don't have the issue with application conflicts or have solved it some other way?

@ericmj we can't use it as a dependency if we need it to fetch packages, because we need to bootstrap ourselves to eventually go fetch packages. We can't use the gpb plugin because we need a rebar3 to run that as well, and there are currently none in the system.

Aha, that makes perfect sense. Thanks for the clarification.


Text-to-speech 5.6.0 not on NPM

Looking forward to using the new multi-speaker features in the new text-to-speech release. The changelog has been updated but the new version isn't available in NPM. Here's the changelog: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-texttospeech/CHANGELOG.md
It's been about a week and I just want to make sure it wasn't forgotten :)

Ack, we've been migrating our release process and there's some kinks. Working on it currently!

Done! https://www.npmjs.com/package/@google-cloud/text-to-speech


TypeError: undefined is not a function in  at t.default.c.value ([...]/mobx-react-devtools/index.js:1:9788)

hoi @mweststrate
I'm trying to get this example working, not having any react experience, but I'm having a couple of issues:

My atom starts complaining about eslint plugins missing. This is because may global eslint is old, fixed by installing eslint locally: npm install --save-dev eslint babel-eslint. Note that the lint tests report some problems.
After running npm start, waiting some time and browsing to localhost:4000, I just get Server error, with the following in my console:

jieter@zimri:~/workspace/mobx-react-todomvc (master)$ npm start

><EMAIL_ADDRESS>start /home/jieter/workspace/mobx-react-todomvc
> node bin/server.js

Listening on port 4000
webpack built 42dd9e7008f4e665a8d6 in 2174ms
Error on request GET /
TypeError: undefined is not a function
    at t.default.c.value (/home/jieter/workspace/mobx-react-todomvc/node_modules/mobx-react-devtools/index.js:1:9788)
    at t.render (/home/jieter/workspace/mobx-react-todomvc/node_modules/mobx-react-devtools/index.js:1:13340)
    at [object Object].ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactCompositeComponent.js:587:34)
    at [object Object].ReactCompositeComponentMixin._renderValidatedComponent (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactCompositeComponent.js:607:32)
    at [object Object].wrapper [as _renderValidatedComponent] (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactPerf.js:66:21)
    at [object Object].ReactCompositeComponentMixin.mountComponent (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactCompositeComponent.js:220:30)
    at [object Object].wrapper [as mountComponent] (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactPerf.js:66:21)
    at Object.ReactReconciler.mountComponent (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactReconciler.js:37:35)
    at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactMultiChild.js:241:44)
    at ReactDOMComponent.Mixin._createContentMarkup (/home/jieter/workspace/mobx-react-todomvc/node_modules/react/lib/ReactDOMComponent.js:591:32)

Am I doing something wrong?
$ node -v
v0.12.4

Hej gast, goed jouw hier te zien :)
I've just tried to reproduce the issue with a fresh checkout but it seems to start fine. Would you mind checking whether a newer node version (4+) fixes the issue?

Also tried mobx-react-typescript, which worked without problems on node 0.12.4. This works like charm with 6.0.0.
Want to keep it open for the devDependency issues?

Also note that I can't seem to find any documented minimum requirement for the node version, other than you removing them from the travis configs.

There is no specific dependency on a node version, MobX and related packages run on any ES5 compliant javascript engine (see faq), which is nowadays practically everything except IE 8.
It was removed from the travis configs in the MobX repo for more flexibility in the test-suite. So the dependency is probably coming from one of the dev deps in this repo. I updated the readme to reflect that, as it is not particularly interesting to support node 3 major versions back in an example project ;-).

Btw you could try an older version of this repo: https://github.com/mobxjs/mobx-react-todomvc/commit/0061c12fd24ba5b4dd0d5d123482af57cb7fbf77 which doesn't include server side rendering and such. Or use nvm to run multiple node versions simultaneously on the same machine.

'3 major versions back' might be a long time in your perspective, but 0.10.25 is the default for Ubuntu 15.10 I'm running, which is not really old to me. Apparently, I upgraded to nodejs 0.12.4 after installing.
Anyway, a note like you just added can save people frustration which is what you want in an example project I guess?
What about the eslint/babel-eslint deps?

Just checked the transitive dependencies, the minimum listed required version is node 3, so npm install should have warned about that in your case. But in general these messages are well hidden between all the other output.
eslint deps is optional.
In general, the standard provided packages by Ubuntu for node are really behind and quite unsuitable for any practical development. I suggest using the official node channels instead: https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

I've just added polyfill for Object.assign in https://github.com/mobxjs/mobx-react-devtools/commit/8122c42b01e9b8d08c19ca6a82dbc38f86fe3940
It will work with node v0.12.4 after next version of mobx-react-devtools is published

Thx @andykog for figuring that out! I've just released it as 4.0.5.
@jieter could you verify whether this solves the issue? (I just updated package json of this repo already). Note that the react package itself depends on fbjs which requires node >= 3, so it is possible that the above issue is solved but that you encounter a new one.


PrismaClient is unable to be run in the browser

This issue occurs when attempting to import a type(enum in this case) from the prisma client in @acme/db into @acme/nextjs
Error
Error: PrismaClient is unable to be run in the browser. In case this error is unexpected for you, please report it in https://github.com/prisma/prisma/issues
To reproduce, simply create an enum in Prisma and import said enum within NextJS.
schema.json
enum ExampleEnum {
    One
    Two
}

index.tsx
import { ExampleEnum } from '@acme/db`

Pretty sure this isnt related to this setup. Prisma can never run in the browser and when you import from "@prisma/client" you violate that.

Yea i also make a custom generator that outputs the enums to a separate entrypoint.
The rest of the types i infer from trpc

I'll close this for now. If it gets requested again I might add built in support for this but for now, I'll leave this for the developer to implement on their own.
Building a generator which takes all the enums and outputs to a separate entry point isn't very hard, or you can just do as you pointed out and output your types to a separate entry point and use those.

@Rykuno, thanks for sharing your solution to this 😊 Would love to see your custom Prisma plugin if you're happy to share!


Add load testing support in e2e framework

Please describe the Improvement and/or Feature Request

Add load testing support with fortio in the e2e framework.
Currently, the e2e framework allows sending synchronous HTTP requests using curl. However, this is inconvenient to use to test more complex scenarios such as circuit breaking, where parallel connections may need to be initiated with a given number of total requests. Since the fortio tool provides this capability along with statistics per request and a dashboard, integrate this into the framework.
Scope (please mark with X where applicable)

Tests                      [X]

Possible use cases
Load testing within e2e.

If the goal of this issue overlaps of the OSM perf and scalability test suite, I think it's not necessary to migrate to fortio. We can add perf and scalability test as part of the CI. However if the goal is to improve features, e.g. further customize request in e2e test, or even to have a simple regression check on the latency, then it worth to use Fortio.

If the goal of this issue overlaps of the OSM perf and scalability test suite, I think it's not necessary to migrate to fortio. We can add perf and scalability test as part of the CI. However if the goal is to improve features, e.g. further customize request in e2e test, or even to have a simple regression check on the latency, then it worth to use Fortio.

The goal is to improve traffic test scenarios in the e2e framework to test features such as circuit breaking. This is absolutely required in the e2e framework where we need to test more complex scenarios outside the "performance and scalability" scenarios.


att_r Parameter not updating in GATConv

🐛 Bug
When running the example GATConv snippet, there is a parameter called att_r which is not being updated.
To Reproduce
Run the following minimal example (taken from the Docs), which just prints which modules have been modified:
import os.path as osp

import torch
import torch.nn.functional as F
from torch_geometric.datasets import Planetoid
import torch_geometric.transforms as T
from torch_geometric.nn import GATConv
import numpy as np

dataset = 'Cora'
path = osp.join(osp.dirname(osp.realpath(__file__)), '..', 'data', dataset)
dataset = Planetoid(path, dataset, transform=T.NormalizeFeatures())
data = dataset[0]

class Net(torch.nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = GATConv(dataset.num_features, 8, heads=8, dropout=0.6)
        # On the Pubmed dataset, use heads=8 in conv2.
        self.conv2 = GATConv(8 * 8, dataset.num_classes, heads=1, concat=False,
                             dropout=0.6)

    def forward(self):
        x = F.dropout(data.x, p=0.6, training=self.training)
        x = F.elu(self.conv1(x, data.edge_index))
        x = F.dropout(x, p=0.6, training=self.training)
        x = self.conv2(x, data.edge_index)
        return F.log_softmax(x, dim=1)

# device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
device = torch.device('cpu')
model, data = Net().to(device), data.to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=0.005, weight_decay=5e-4)

def get_stats(net):
    a = [param for name, param in net.named_parameters()]
    a_sums = [ai.sum().item() for ai in a]
    a_norms = [ai.norm().item() for ai in a]
    return a, a_sums, a_norms

def train():
    model.train()
    optimizer.zero_grad()
    F.nll_loss(model()[data.train_mask], data.y[data.train_mask]).backward()
    optimizer.step()

def test():
    model.eval()
    logits, accs = model(), []
    for _, mask in data('train_mask', 'val_mask', 'test_mask'):
        pred = logits[mask].max(1)[1]
        acc = pred.eq(data.y[mask]).sum().item() / mask.sum().item()
        accs.append(acc)
    return accs

names = [name for name, param in model.named_parameters()]
before, before_sums, before_norms = get_stats(model)
for epoch in range(1, 200):
    train()
    log = 'Epoch: {:03d}, Train: {:.4f}, Val: {:.4f}, Test: {:.4f}'
    print(log.format(epoch, *test()))

after, after_sums, after_norms = get_stats(model)

diff_norms = [before_norms[i] == after_norms[i] for i in range(len(after_norms))]
diff_sums = [before_sums[i] == after_sums[i] for i in range(len(after_sums))]
mask = np.bitwise_and(diff_norms, diff_sums)
diff = np.where(mask)[0]
print([names[idx] for idx in diff])
print(f'{mask.sum()} out of {len(mask)} did not change')

Expected behavior
I expected att_r to change (note that att_l does), since it is is a nn.Parameter. Maybe I missed something though. Note that the accuracy does get very high, and indeed most parameters are being tuned. I also noticed there is no grad there after .backward() call.

Environment

OS: Ubuntu 16.04 & 18.04
Python version: 3.6.8
PyTorch version: 1.6
CUDA/cuDNN version: 10.1 / 10.2

Thanks for this issue. This is already fixed in master, see here.

Great -- I can confirm that after upgrading it is fixed. Required uninstalling first:
pip uninstall torch-geometric
pip install git+https://github.com/rusty1s/pytorch_geometric.git


How to support other LLM Models ?  for example: Vicuna-13b  Chatglm-6B

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.

🔖 Feature description
How to support other LLM Models ?
for example: Vicuna-13b  Chatglm-6B, nwo i am tuning glm-6b.
But i wish use auto-code by local LLM（glm-6b）, it similar GPT4 Code Interpreter function。
✔ Solution
How to support other LLM Models ?
for example: Vicuna-13b  Chatglm-6B, nwo i am tuning glm-6b.
But i wish use auto-code by local LLM（glm-6b）, it similar GPT4 Code Interpreter function。
❓ Alternatives
No response
📝 Additional Context
No response
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this feature has not been requested yet.
[X] I have provided enough information for the maintainers to understand and evaluate this request.

Would welcome a PR for this 👍🏻
Duplicate of https://github.com/ricklamers/gpt-code-ui/discussions/18


Update the builder to use variables.

This PR uses the new variable system everywhere where it is possible. It
also removes the old Reduce operand as it is not needed anymore and
fixes minor bugs caught in the process.
Suggested review order:

src/ir/operand.rs
src/helper/operand.rs
src/helper/builder.rs
src/*
all the rest

bors r+

bors r+

bors r+

bors retry

bors retry

bors retry

bors r+

bors r-

bors r+


Constituencies & how did you do this?

Hi,
I'm really interested in the process behind this deck but I'm not sure where to look in terms of youtube tutorials or other tutorials. I can see you're 80% of the way through setting this up so constituencies can be studied in the same set and I have wanted to do that for a while - I'm interested in memorising constituency name, location and current MP. However I'm new to making complex decks on anki, I use other people's for my own memorisation. I don't understand how your txt and py files work with the image, and the complex card types when you look in the settings for them. I'd be really interested if you could point me in the right direction to trying to figure all this stuff out, as I am going to make this set of con name/loc/MP and if I can build on the stuff you've already done that would be great.
I know python if that helps. It seems like you keep text file dictionaries of name:name and then name:loc and the loc corresponds to a specific fill pattern on the map but I can't figure out the intricacies of it. Would love any pointers. Merry Christmas

Hi aliflo,
Constituencies
I have actually finished the deck for the constituencies, which I have used myself for memorising locations/names, it does not include the MPs. I'm personally not interested in learning the MPs so I'm unlikely to invest the time to add this.
The deck is a little rough around the edges, which is why I haven't released it formally yet. I've just added a pre-release for the constituency deck that you can have a look at if you like (here).
How did you do this?
The build process is admittedly quite complex for an Anki deck and I haven't really seen other projects out there using an approach like this so you're unlikely to find tutorials for it.
In terms of actually drawing the maps, I basically just downloaded the base maps from Wikipedia and messed around with them in Inkscape without any prior experience, I just played around with it until it looked how I wanted it to. To modify which elements of the SVG are highlighted in the cards I used a bit of CSS and Javascript, again I don't have lots of experience with these technologies, but other programming experience I have helps a lot.
I've done a little write up in a blog post that might provide some more info. I have also explained the build process to some extent in the contribution documentation the diagram is up to date, but the accompanying text may be a bit out of date in places.
I'm currently working on using a proper build system (please) to hopefully make the process a little easier to reason about.

Hi Callum,
Firstly I'd like to thank you for the in depth response. I've taken a look
at your constituencies pre-release, the blog post and the contribution
documentation. I am stuck on some of the finer elements of the SVG
manipulation going on amongst other things (particularly with the flowchart

I understand the overall process but not what is going on at each step,
e.g. crowdanki making things into a json). However, I understand a lot more.

I see from your contribution guide that you were hopeful for people to
contribute to the deck and add stuff. With your permission I'd like to
download the material from your constituencies prerelease and add MP
information. But I wonder if I could do it 'properly' and contribute to the
body of work around what you've started. I'm a maths student with an empty
Github so I should start somewhere!
I suppose what I'm really asking is do you have the capacity to answer a
couple further questions as I try and figure out what's going on with this
stuff? If not, don't worry, I'll do it anyway but I probably won't have a
deck that serves any needs other than my own at the end of it as I'll just
do it the fastest/most convenient way, whereas it might be nice to learn
some of the tools and then contribute what I've done at the end.
Once again thanks for taking the time.
On Wed, Dec 29, 2021 at 9:39 PM Callum Hart @.***>
wrote:

Hi aliflo,
Constituencies
I have actually finished the deck for the constituencies, which I have
used myself for memorising locations/names, it does not include the MPs.
I'm personally not interested in learning the MPs so I'm unlikely to invest
the time to add this.
The deck is a little rough around the edges, which is why I haven't
released it formally yet. I've just added a pre-release for the
constituency deck that you can have a look at if you like (here
https://github.com/HartBlanc/anki-uk-geography/releases/tag/v3.2.0-alpha
).
How did you do this?
The build process is admittedly quite complex for an Anki deck and I
haven't really seen other projects out there using an approach like this so
you're unlikely to find tutorials for it.
In terms of actually drawing the maps, I basically just downloaded the
base maps from Wikipedia and messed around with them in Inkscape without
any prior experience, I just played around with it until it looked how I
wanted it to. To modify which elements of the SVG are highlighted in the
cards I used a bit of CSS and Javascript, again I don't have lots of
experience with these technologies, but other programming experience I have
helps a lot.
I've done a little write up in a blog post
https://cognoteo.blogspot.com/2021/11/anki-svgs.html that might provide
some more info. I have also explained the build process to some extent in
the contribution documentation
https://github.com/HartBlanc/anki-uk-geography/blob/master/CONTRIBUTING.md
the diagram is up to date, but the accompanying text may be a bit out of
date in places.
I'm currently working on using a proper build system (please) to hopefully
make the process a little easier to reason about.
—
Reply to this email directly, view it on GitHub
https://github.com/HartBlanc/anki-uk-geography/issues/11#issuecomment-1002785736,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCFLNSLBCRCQJDHKRLPVBDUTN5ZBANCNFSM5K47MU7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi Callum,
Did you ever make any progress with this? This summer, I have more free time and I am intending to try and memorise constituencies. Because of my limited knowledge of Anki, my current plan is to just take the 100s of images from Wikipedia/your list and put them in a deck, but I thought I'd ask you - I will probably edit them to add MPs and so I could potentially make an interesting fork of your work and give it wider appeal.

Hi @HartBlanc, hope you are well. Last month the UK boundary commissions released their 2023 review, which gives constituency boundaries for the next few elections. I'm trying to follow the build process for remaking the constituencies section of the deck. So far, I've:

Taken SHP files from each boundary commission website and aligned field names in QGIS.
Merged into a single SHP and then converted the SHP file into an SVG using https://products.aspose.app/gis/viewer/shp-to-svg.
Reduced line thickness from 1pt to 0.2pt in Inkscape.

So I have a somewhat serviceable SVG which has the metadata for constituency names. I can't share it directly as it's 30MB, but here's a onedrive link where I've hosted it, and an inkscape screenshot.

I'm trying to understand how the original deck colours in sections of the map. It seems to be happening in the card template section here:

What do these codes mean and how did you identify them? My limited knowledge assumption is that these are telling Anki which section of the SVG to highlight in red, where to draw the box, and which bit to colour in. I remember this was where I got stuck last year as well when I tried to do this - I couldn't quite piece together from your documentation how you'd done it.
I read your blog post and the documentation originally linked, which seem to suggest that since my SVG file has labels on all of the constituencies, it should just be a case of creating the CSS styling template. I don't entirely see the need for the Javascript section, but I may well be wrong. I'm probably in the third 'column' of your flowchart here right now.
I appreciate you may not have time to reply to this, but I do feel relatively close to being able to crack the process, I just need to understand this bit with the SVGs, CSVs and card templates, so I thought I'd ask. My half-finished process may also be useful to anyone else who thinks about working on something similar or forking this deck in the future.


[suggestion]  Duckyscript stager?

I see there is a Teensy stager, are there any plans to add a USB Rubber Ducky  stager as well? It would make deploying  EmPyre via Kali Nethunter or USB Rubber Ducky easier.

yes please

I'll look into this

Duckyscript stager has been added. Please test it out and let us know.


Its impossible to install on Expo and<EMAIL_ADDRESS>

<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/react-native-speedometer
npm ERR!   react-native-speedometer@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /Users/vahidafshari/.npm/eresolve-report.txt for a full report.
npm ERR!      /Users/vahidafshari/.npm/_logs/2022-02-02T14_33_12_733Z-debug.log

try npm i react-native-speedometer --legacy-peer-deps


Loading fixtures which rely on associationKey with generation fails

Imagine the following 3 (simplified) entities:
Entity\Item:
    type: entity
    table: item
    fields:
        id:
            id: true
            type: integer
            unsigned: true
            nullable: false
            generator:
                strategy: IDENTITY

Entity\Product:
    type: entity
    table: product
    fields:
        id:
            id: true
            type: integer
            unsigned: true
            nullable: false
            generator:
                strategy: IDENTITY

Entity\ItemProduct:
    type: entity
    table: item_product
    id:
      item:
        associationKey: true
      product:
        associationKey: true
    fields:
        updatedAt:
            type: datetime
            nullable: false
    manyToOne:
        item:
            targetEntity: Entity\Item
    oneToOne:
        product:
            targetEntity: Entity\Product

and the following fixture file:
Entity\Item:
  item{1..10}:
    itemName: <sentence()>
    updatedAt: <dateTimeBetween('-1 year', 'now')>

Entity\Product:
  product{1..20}:
    productSku: <bothify('?????????##')>
    updatedAt: <dateTimeBetween('-1 year', 'now')>

Entity\ItemProduct:
  itemProduct{1..40}:
    item: @item<numberBetween(1, 10)>
    product: @product<numberBetween(1, 20)>
    updatedAt: <dateTimeBetween('-1 year', 'now')>

When trying to load this It will always fail with an error such as:
[Doctrine\ORM\ORMException]
  Entity of type Entity\ItemProduct has identity through a foreign entity Entity\Item,
   however this entity has no identity itself. You have to call EntityManager#persist() on the related entity and make sure that an identifier was generated before
  trying to persist 'Entity\ItemProduct'. In case of Post Insert ID Generation (such as MySQL Auto-Increment or PostgreSQL SER
  IAL) this means you have to call EntityManager#flush() between both persist operations.

Since the id for Item and Product is generated by the database if you try to persist the entity with a primary key formed by association keys it will fail since it's not able to find an id to use when persisting.
I kind of "hacked" this behaviour by catching this exception an issuing a flush then but this is far from being the right solution.
I also tried separating the fixture into files doing first Product and Item and then ItemProduct but this way you can't keep the fanciness of using things such as @item<numberBetween(1, 10)> when creating ItemProduct entities.
Another way will be to add a flag to force a flush between files, not the perfect one but it will alleviate the issue. Maybe I'm missing something else here but I'm not able to find a way to do this in a proper way :disappointed:

Hi @h4cc,
I seem to be experiencing the same issue with version: 0.5.1. cascade persist doesn't help. Is there other way around this issue?

@fliespl Do you have a minimal failing example?

@h4cc I have almost the same relation as garciall (different table names).
I have resolved it by loading main tables first (game , publisher) & then n:m relations (gamepublisher) in different set.
\ZapTvBundle\Entity\Game:
  content_game{1..25}:
    originalTitle: <word()>
    description: <paragraph(8)>

\ZapTvBundle\Entity\Publisher:
  publisher{1..10}:
    name: <word()>
    type: <randomElement(array(1, 2))>

\ZapTvBundle\Entity\GamePublisher:
  game_publishers_world{1..25}:
    game: @content_game*
    publisher: @publisher*

I have resolved it by loading main tables first (game , publisher) & then n:m relations (gamepublisher) in different set.

That should be the recommended way.
Its not a problem with loading/creating the fixtures, its about persisting in doctrine in correct order, which can not be known to alice.


Support for PI1 A+

Hi, first of all, great work thank you so much!
Secondly, I wanted to let you know that I tried this on a RPI 1 A+ (512 RAM model) and it worked great (generic 2.8 tft display). Cheers!

That’s great to hear! Pi 1 is pretty constrained in performance, though hopefully not too far away from Pi Zero. If the driver is eating too big time slices from the system, lowering the target frame rate in config.h may help cut the cpu free.


fix: remove max amount from keysend payments

it works here: https://rss.com/podcasts/alby-buzz-test/


feat: Projects API: defaultTmId, defaultGlossaryId support

First attempt at contributing, should fix https://github.com/crowdin/crowdin-api-client-python/issues/169

@galib-i thanks for the contribution!
What is the reason for closing the PR?

@andrii-bodnar Hi sorry, I thought my contribution was wrong, and was unsure how to "cancel" it - I will try again later today if possible, please


Disable console logs for every changeset

Environment
Liquibase Version: 4.7.1
Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.>
Liquibase Extension(s) & Version:
Database Vendor & Version:
Operating System Type & Version:
Description
Since 4.7.1 every changeset is logged to SOUT, and it seems like there is no way to turn it off. For us that means that tests logs are complete unusable during to hight amount of tests & changesets.
Steps To Reproduce
Just run the migration.
Actual Behavior
For every change set a message in system out is appeared:
Running Changeset: db/changelog/db.changelog-file.xml::version::author

Expected/Desired Behavior
No message in SOUT. A way to completely replace ConsoleUIService with LoggerUIService so every message could be controlled by logger implementation

@baev thanks for the feedback and details - we are reviewing.

We are looking into creating a quiet mode for those who don't want this more detailed approach. Stay tuned.

@kataggart Thanks!
Wouldn't the "natural" approach be a dedicated logger you can switch on or off?

+1 for adding a --quiet or --verbose flag.   This + the ability to suppress the banner would be ideal.  Believe there is already a ticket for hiding the banner.

There the JVM property logging.level.liquibase=WARN seems to have no effect.

Because it's not logged properly, it's just System.out. Anti pattern, if you ask me.

For anyone looking at a way to work around this, I was able to disable these messages by setting ConsoleUIService's output stream to the null output stream like this:
(doto ^liquibase.ui.ConsoleUIService (.getUI (liquibase.Scope/getCurrentScope))
  (.setOutputStream (java.io.PrintStream. (java.io.PrintStream/nullOutputStream))))

Will this be fixed? Using stdout for logging messages when you have proper logging doesn't make much sense.
If you have a lot of changesets logging all of them creates a mess.
Logging all authors in the log is also bad.

Any chance this change gets merged (soon)?

BTW, for Spring users there is a workaround available:
public class LiquibaseLoggerFix implements BeanPostProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(LiquibaseLoggerFix.class);
    @Override
    public Object postProcessAfterInitialization(final Object bean, final String beanName) {
        if (bean instanceof SpringLiquibase) {
            try {
                Scope.enter(Map.of(Scope.Attr.ui.name(), new LoggerUIService()));
            } catch (Exception e) {
                LOGGER.error("failed to apply SpringLiquibase logger fix", e);
            }
        }
        return bean;
    }
}

BTW, for Spring users there is a workaround available:
public class LiquibaseLoggerFix implements BeanPostProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(LiquibaseLoggerFix.class);
    @Override
    public Object postProcessAfterInitialization(final Object bean, final String beanName) {
        if (bean instanceof SpringLiquibase) {
            try {
                Scope.enter(Map.of(Scope.Attr.ui.name(), new LoggerUIService()));
            } catch (Exception e) {
                LOGGER.error("failed to apply SpringLiquibase logger fix", e);
            }
        }
        return bean;
    }
}

This doesn't seem to work. I still get output in stdout. You have to move it into postProcessBeforeInitialization for it to successfully change ConsoleUIService to LoggerUIService, and the stdout to be gone.
@Slf4j
@Configuration
public class LiquibaseConsoleService implements BeanPostProcessor {
  @Override
  public Object postProcessBeforeInitialization(Object bean, String beanName)
      throws BeansException {
    if (bean instanceof SpringLiquibase) {
      try {
        Scope.enter(Map.of(Scope.Attr.ui.name(), new LoggerUIService()));
      } catch (Exception e) {
        log.error("", e);
      }
    }
    return bean;
  }
}

Here is my output after the fix:
2022-05-31 16:06:36.549  INFO 6320 --- [           main] liquibase.changelog                      : Creating database history table with name: public.databasechangelog
2022-05-31 16:06:36.558  INFO 6320 --- [           main] liquibase.changelog                      : Reading from public.databasechangelog
2022-05-31 16:06:39.200  INFO 6320 --- [           main] liquibase.ui                             : Running Changeset: liquibase/changelog/1_create_all.sql::1.0.0::admin
2022-05-31 16:06:39.212  INFO 6320 --- [           main] liquibase.changelog                      : Custom SQL executed
2022-05-31 16:06:39.214  INFO 6320 --- [           main] liquibase.changelog                      : ChangeSet liquibase/changelog/1_create_all.sql::1.0.0::admin ran successfully in 13ms
2022-05-31 16:06:39.233  INFO 6320 --- [           main] liquibase.ui                             : Running Changeset: liquibase/changelog/1_create_all.sql::1.0.1::admin
2022-05-31 16:06:39.259  INFO 6320 --- [           main] liquibase.changelog                      : Custom SQL executed
2022-05-31 16:06:39.261  INFO 6320 --- [           main] liquibase.changelog                      : ChangeSet liquibase/changelog/1_create_all.sql::1.0.1::admin ran successfully in 28ms
2022-05-31 16:06:39.266  INFO 6320 --- [           main] liquibase.ui                             : Running Changeset: liquibase/changelog/1_create_all.sql::1.0.2::admin
2022-05-31 16:06:39.275  INFO 6320 --- [           main] liquibase.changelog                      : Custom SQL executed
2022-05-31 16:06:39.276  INFO 6320 --- [           main] liquibase.changelog                      : ChangeSet liquibase/changelog/1_create_all.sql::1.0.2::admin ran successfully in 9ms

Here's the reason it appeared:
https://github.com/liquibase/liquibase/commit/26f9eac8d4958455c06c2c6e97c12c19c1666dfd
Those lines are "new":
https://github.com/liquibase/liquibase/commit/26f9eac8d4958455c06c2c6e97c12c19c1666dfd#diff-e48270cbddf72e544cefef4081d2066ece7c1955b433fe7301308b75315c8d1bR46-R49
Before this change, no output was on stdout. Now I have it twice: In my custom logging implementation (liquibase-slf4j) AND on stdout. This happens to all my junit tests.
Can you please re-evaluate this commit?

For anyone doing this using the java libraries, I found I could use the following using reflection to get around this,
        try {
            Field field = Scope.getCurrentScope().getClass().getDeclaredField("values");
            field.setAccessible(true);
            SmartMap values = ((SmartMap)field.get(Scope.getCurrentScope()));
            values.set("ui", new LoggerUIService());
        } catch (IllegalAccessException | NoSuchFieldException ignored) {
        }

And anyone using log4j, adding this at the start of your application and including the log4j-jul package as a dependency,
        System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager");

Any updates on fix for this issue?

This made me lose a few minutes on our latest update.
I'm in favor of dumping all output in a separate logger, that's the more mature option in my opinion.

any update on it?

Any updates on a fix for this issue?

Having this
Scope.enter(Map.of(Scope.Attr.ui.name(), new LoggerUIService()))

before running update has worked well for me so far (that is until 4.21.x).

In our case, we are using ant migration and calling liquibase from ant
target, not sure how to set scope inside ant target.
On Sat, Apr 15, 2023, 3:35 AM Ondra Pelech @.***> wrote:

Having this
Scope.enter(Map.of(Scope.Attr.ui.name(), new LoggerUIService()))
before running update has worked well for me so far (that is until 4.21.x).
—
Reply to this email directly, view it on GitHub
https://github.com/liquibase/liquibase/issues/2396#issuecomment-1509336257,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHF736GZLJYZQ6GK3KP2Q6TXBHC33ANCNFSM5MVIWJBA
.
You are receiving this because you commented.Message ID:
@.***>

This is getting worse instead of better.
With version 4.21.1 we see additional summary info printed to stdout which cannot be disabled by the Scope.enter(...) workaround, and even the messages via the logging framework start messing up output with additional line-breaks.
2023-05-04 08:14:03,542 INFO  [liquibase.util] (ServerService Thread Pool -- 100)  UPDATE SUMMARY
2023-05-04 08:14:03,543 INFO  [liquibase.util] (ServerService Thread Pool -- 100)  Run:                        220
2023-05-04 08:14:03,543 INFO  [liquibase.util] (ServerService Thread Pool -- 100)  Previously run:               0
2023-05-04 08:14:03,543 INFO  [liquibase.util] (ServerService Thread Pool -- 100)  Filtered out:                11
2023-05-04 08:14:03,543 INFO  [liquibase.util] (ServerService Thread Pool -- 100)  -------------------------------
2023-05-04 08:14:03,543 INFO  [liquibase.util] (ServerService Thread Pool -- 100)  Total change sets:          231

2023-05-04 08:14:03,545 INFO  [liquibase.util] (ServerService Thread Pool -- 100)
FILTERED CHANGE SETS SUMMARY

2023-05-04 08:14:03,546 INFO  [liquibase.util] (ServerService Thread Pool -- 100)  DBMS mismatch:               11
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  UPDATE SUMMARY
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  Run:                        220
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  Previously run:               0
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  Filtered out:                11
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  -------------------------------
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  Total change sets:          231
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  FILTERED CHANGE SETS SUMMARY
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)  DBMS mismatch:               11
2023-05-04 08:14:03,546 INFO  [stdout] (ServerService Thread Pool -- 100)

I'll preface this by saying that one should always be grateful for the (great!) free open-source projects like Liquibase that we use. And I really am.
But I clearly remember encountering these un-silencable raw system.out log issues in my previous job more than 2 years ago now (likely was https://github.com/liquibase/liquibase/issues/1741 at the time). Yes, awkward hacks have long existed, but they're no solution.
It's rather disappointing that something so ubiquitous, widely agreed upon, and well-standardized* as using configurable loggers is STILL not the default. Or at the very least working correctly. But even so, System.out simply belongs nowhere in library code.
And on that note, why even do options like headless even exist if they don't do what they say?

allows you to force Liquibase to run without access to the console for input and output

Not only does liquibase still clearly still print to the console (unless "console" is pointing to something else than the standard output?), it even decides to do so only to duplicate what gets properly sent to its logger first, as reported by @fs-chris.
2023-05-16 23:07:29.930  INFO [                                main]  liquibase.changelog : Reading from public.databasechangelog
2023-05-16 23:07:29.933  INFO [                                main]       liquibase.util : UPDATE SUMMARY
2023-05-16 23:07:29.933  INFO [                                main]       liquibase.util : Run:                          0
2023-05-16 23:07:29.933  INFO [                                main]       liquibase.util : Previously run:               4
2023-05-16 23:07:29.933  INFO [                                main]       liquibase.util : Filtered out:                 0
2023-05-16 23:07:29.933  INFO [                                main]       liquibase.util : -------------------------------
2023-05-16 23:07:29.934  INFO [                                main]       liquibase.util : Total change sets:            4

UPDATE SUMMARY
Run:                          0
Previously run:               4
Filtered out:                 0
-------------------------------
Total change sets:            4

At this point, just tell us "screw you we really really really love System.out.println and will never stop using it" if that's what you believe to be the right way. Everyone is entitled to their opinions and so are you, especially for your own project. That's fine.
But just be forthcoming about it so we can stop filing more pointless issues.
*: even people that hate slf4j (for good or bad reasons) have the JDK logger as a portable option by now

I found out a workaround for pristine clean stdout: You also have to do
instance.setShowSummaryOutput(UpdateSummaryOutputEnum.LOG)

So now my code looks like this and everything works as expected, no unwanted lines in stdout, everything goes through a logger
  @nowarn("msg=method update in class Liquibase is deprecated")
  private def runMigration(connection: Connection, changeLogFile: String): Unit = {
    val instance = new Liquibase(changeLogFile, new ClassLoaderResourceAccessor(), new JdbcConnection(connection))
    // https://github.com/liquibase/liquibase/issues/2396
    Scope.enter(Map[String, AnyRef](Scope.Attr.ui.name() -> new LoggerUIService()).asJava)
    instance.setShowSummaryOutput(UpdateSummaryOutputEnum.LOG)
    instance.update()
  }

And without the deprecated method it looks like this
  private def runMigration(connection: Connection, changeLogFile: String): Unit = {
    val db = DatabaseFactory.getInstance.findCorrectDatabaseImplementation(new JdbcConnection(connection))
    val updateCommand = new CommandScope(UpdateCommandStep.COMMAND_NAME: _*)
    updateCommand.addArgumentValue(DbUrlConnectionArgumentsCommandStep.DATABASE_ARG, db)
    updateCommand.addArgumentValue(UpdateCommandStep.CHANGELOG_FILE_ARG, changeLogFile)
    updateCommand.addArgumentValue(ShowSummaryArgument.SHOW_SUMMARY_OUTPUT, UpdateSummaryOutputEnum.LOG)
    // https://github.com/liquibase/liquibase/issues/2396
    Scope.enter(Map[String, AnyRef](Scope.Attr.ui.name() -> new LoggerUIService()).asJava)
    val result = updateCommand.execute().getResults.asScala
    assert(result.get("statusCode").contains(0), s"Unexpected Liquibase result: $result")
  }

I hope you'll find this helpful :pray:

@sideeffffect we sill had duplicate lines like:
2024-06-05 16:03:03,085 [main] INFO  ChangeSet - ChangeSet liquibase/changelog/changes/005-batch-result-adds-colums.yml::6::foo ran successfully in 13ms
2024-06-05 16:03:03,087 [main] INFO  LoggerUIService - Running Changeset: liquibase/changelog/changes/005-batch-result-adds-colums.yml::7::foo

so we defined:
    private static class NullUIService extends LoggerUIService {
        @Override public void sendMessage(String message) {}
        @Override public void sendErrorMessage(String message, Throwable exception) {}
    }

...and made during the init:
Scope.enter(Map.of(Scope.Attr.ui.name(), new NullUIService()));

With Map[String, AnyRef](Scope.Attr.ui.name() -> new LoggerUIService()), I get logs like this:
2024-06-06T00:09:41.456+02:00 [io-compute-blocker-14] INFO  liquibase.ui.LoggerUIService - Running Changeset: db/changelog/01.tenant.yaml::tenant-03::tenant-service []
2024-06-06T00:09:41.458+02:00 [io-compute-blocker-14] INFO  liquibase.changelog.ChangeSet - Index idx_tenant_lowertenantprefix created []
2024-06-06T00:09:41.460+02:00 [io-compute-blocker-14] INFO  liquibase.changelog.ChangeSet - Index idx_tenant_loweremail created []
2024-06-06T00:09:41.461+02:00 [io-compute-blocker-14] INFO  liquibase.changelog.ChangeSet - ChangeSet db/changelog/01.tenant.yaml::tenant-03::tenant-service ran successfully in 5ms []

This doesn't seem like duplicates at all. The first line tells you that it starts to process a Changeset. The last one tells you the Changeset has been successfully processed and how long it took. And the lines in between tell you about the individual items in the Changeset. So I wouldn't call it duplication.
With
Map[String, AnyRef](Scope.Attr.ui.name() -> new LoggerUIService {
  override def sendMessage(message: String): Unit = ()
  override def sendErrorMessage(message: String, exception: Throwable): Unit = ()
})

I get logs like this
2024-06-06T00:13:57.902+02:00 [io-compute-blocker-16] INFO  liquibase.changelog.ChangeSet - Index idx_tenant_lowertenantprefix created []
2024-06-06T00:13:57.904+02:00 [io-compute-blocker-16] INFO  liquibase.changelog.ChangeSet - Index idx_tenant_loweremail created []
2024-06-06T00:13:57.906+02:00 [io-compute-blocker-16] INFO  liquibase.changelog.ChangeSet - ChangeSet db/changelog/01.tenant.yaml::tenant-03::tenant-service ran successfully in 8ms []

So the first line is indeed missing. Which may work very well for you. But I still wouldn't call it duplicate lines.

For Spring/java users:
Spring: 3.2.9
Liquibase: 4.29.0
This is the only method that works to obtain clear logs...
Liquibase liquibase = new liquibase.Liquibase(
     "/changelog/changelog-master.xml",
     new ClassLoaderResourceAccessor(),
     database
   );
Scope.enter(Map.of(Scope.Attr.ui.name(), new NullUIService()));

private static class NullUIService extends LoggerUIService {
        @Override
        public void sendMessage(String message) {
        }

        @Override
        public void sendErrorMessage(String message, Throwable exception) {
        }
    }

Scope.enter and Liquibase = new have to be in same scope.

Instead of hardcoding the behavior in code with NullUIService, you'll be better off with delegating that responsibility to your logging configuration.
E.g. this is how you ensure in Logback that only important things from Liquibase end up in logs, not polluting them with unimportant spam.
logback.xml:
    <logger name="liquibase" level="WARN"/>

@sideeffffect can we manage this from application.properties?


replace dax_webserv-os-matrix & qserv-os-matrix jobs

with new jobs that are a thin wrapper around stack-os-matrix.
Creates the following new jobs:

dax_webserv
qserv_distrib
lsst_distrib
lsst_sims

Can one of the admins verify this patch?


Document how to update translations

Do we have to update the strings like https://github.com/maproulette/docs/blob/4218de85035a5b2522e2860ea058f2e24cb288d2/src/translations/en-us.json#L31 manually inline or is there some UI?
Please add some docs that explain how to update the files.

Depending on the way those strings are created, it would be great if this could be refactored to use JS template literals, which would make the whole thing easier to read, get rid of the \n and improve the diff view. Diffs like https://github.com/maproulette/docs/commit/506de33d3e7c6dac7c80e5f0dc571f821fa65a13 are not really usefull…


All implicit object casts fixed. Fixes #127

As described in #127 this makes sure that imlicit casts do not create objects out of thin air.

Sorry, line endings broken.

Yeah I noticed. No need to close the PR, just force push if you normalise it. Perhaps @jonorossi has some context on what line endings settings should be these days. I remember we never normalised it, back in a day, and that sadly might be what you're experiencing.

Seriously? I have been trying to get this to work for hours and still ended up with broken line endings.

Yeah, I hear ya.
@jonorossi have we tried something like this to get that resolved once and for all? http://superuser.com/questions/293941/rewrite-git-history-to-replace-all-crlf-to-lf

Old doc said CRLF was to be used and some does .gitattributes. But it seems as if some files already have LF, which might explain why my git keeps trying to fix it.
However more common OSS style is LF in repo and CRLF on Windows only.

Besides I must work somehow, I probably just missed something. Thanks for taking the time to look into it anyway.
I'll get back to this tomorrow.

I've been using core.autocrlf true without problem in Windsor.
I've got normalising line endings once and for all (but not as far as rewriting all history) on my todo list for Castle Core v4 after we get rid of branches: https://github.com/castleproject/Core/issues/111. My plan was to do the same with Windsor, and replace that poor .gitattributes file with something sane.

I'll try again with autocrlf later. Thanks for the feedback. What EOL do you plan? LF or CRLF?

@Toxantron if you can't get it working, let me know. I'll make the changes and attribute them to you.
LF normalised object database (i.e. * text=auto) for everything, nothing explicitly set.

I didn't have much time over Easter, but we are not in a hurry I assume. However if you got time and a working repo feel free to do it. It's just the 5 occurrences of public static implicit that I replaced with item == null ? null : new Dependency(item). Otherwise I suppose I will find time in the next couple of days to work around this. I want to set up a working dev enviroment for Castle anyway because I think there might be another bug as well as porting what we build on top into a facility.
If I understand git correctly the .gitattributes file overrides core.autocrlf true anyway and if LF is what you want to go for the old doc page maybe should be removed. ;-)
Old Castle documentation about git

I've made the change, see #127.


Update github plugin to work with current hub versions

This is an update to a bunch of stuff in the github plugin, which seems to be broken when run using current versions of git and hub.
Fixes #4439
Closes #4164
Changes
Removes old completion setup that breaks with current _git and _hub completions.
Removes apparently-unused _github completion definition.
Ruby is no longer required by hub; removes that test.
Does not define new completions for hub; they are now defined by hub itself.
Change the functions to use hub to create the repos on GitHub. The functions weren't working as is, because they didn't create the repos on the GitHub side, and you can't just push to a nonexistent repo to create it.
Add error checking to the functions.
Uses hub's alias definition instead of a custom git() wrapper function. This will let hub's _hub completion definitions work out of the box (as long as you don't have setopt complete_aliases set).
Adds a README.
Notes
The Homebrew-installed hub needs additional configuration for its _hub completions to be seen by the system zsh.  Maybe this is something that OMZ should do itself as part of initialization?
if (( ! ${fpath[(I)/usr/local/share/zsh/site-functions]} )); then
  FPATH=/usr/local/share/zsh/site-functions:$FPATH
fi

Or, more robustly, this:
# Pick up additional site-functions that may not be on system zsh's
# $fpath by default
() {
  local site_dir site_dirs

  site_dirs=( /usr/local/share/zsh/site-functions )
  if type brew &>/dev/null; then
    site_dirs+=$(brew --prefix)/share/zsh/site-functions
  fi
  for site_dir ( $site_dirs ); do
    if [[ -d $site_dir  && ${fpath[(I)$site_dir]} == 0 ]]; then
      FPATH=$site_dir:$FPATH
    fi
  done
}

The zsh-completions project also has a _github completion definition. Their _github function looks newer and more comprehensive. Maybe we should remove the _github from this plugin and just recommend people install zsh-completions to get it instead?

Thanks @apjanke! I confirm that this PR fixes issue #4439 on my system. With oh-my-zsh master, I see:
zsh:12: command not found: ___main
(eval):1: no matches found: *:all-files
_tags:comptags:36: can only be called from completion function
_tags:comptry:55: can only be called from completion function
_tags:comptags:60: can only be called from completion function
_tags:comptags:67: can only be called from completion function

Whereas with this PR merged, I see no such errors. And the github-specific features of git work as expected. :+1:

@apjanke Regarding the zsh-completions project: I have that enabled as well (and it is great), but when I disabled the oh-my-zsh github plugin I did lose access to the hub commands.
Caveat emptor: I am not a dotfiles expert, so maybe I am doing something dumb. :wink:
You can view my zshrc (which uses oh-my-zsh via zgen) here.

@ctrueden: You still need the github plugin to alias git to hub and associate it with the right completion function. (Though it seems to use _git and not _github, so I'm not sure the _github completion definition inside the plugin is used at all.) I'm just saying maybe we should remove the completions part of it; not the entire plugin.

I'm just saying maybe we should remove the completions part of it; not the entire plugin.

OK cool, that makes sense. Thanks for the info!

I did some testing and it seems like that _github completion definition file is not used, so I've amended this PR to remove it.

Thanks for this very detailed PR!

Not sure why, but all my git completion broke a few weeks ago, and I traced it back to this merge commit when things stopped working.
This are confirmed working for me if I checkout @dfe10af
When working which git gives a function. After this merge, it simply gives the hub alias that I have elsewhere
anyhow, not sure I have time to dig deeper, as I'm happy to hold back updates, but just wanted to provide a data point

Ah, and just realized that removing the github plugin brings back all my autocompletions, even on master -- no need to hold myself back on an old commit

See discussion under #4670 wrt completion.


Update Chef Backend upgrade to 3.0 instructions

Signed-off-by: Prajakta Purohit<EMAIL_ADDRESS>Issues Resolved
https://chefio.atlassian.net/browse/INFS-43
https://github.com/chef/customer-bugs/issues/589

@PrajaktaPurohit I've made a few small tweaks to the commands in my commit for proper sequencing and to fit what we are seeing at customer sites. Maybe give that a quick review

Looks like we can add some more context from: https://github.com/chef/customer-bugs/issues/589#issuecomment-1030389025

@PrajaktaPurohit anything left here?


Add server success rate graph to dashboard

Also fix the bug where server success rate was displaying 100% even in the presence of errors.
I'll rearrange the columns to make it more in line with the client section in a follow up branch - there's code reuse that can probably happen there.
Fixes #436

Awesome -- I like this change a lot.  For the new success rate graphs that you're adding and all of the existing ones, would it be possible to add a gray label to say that the chart is displaying success rate?  Similar to this label on the RPS graph:

As it stands now there isn't a clear indicator in the UI of what is being displayed.  Also totally fine to do this in a separate branch or take a different approach altogether.

Ooooh yes good point - let me add that.

W00t! I have a minor tweak I'd like to make--I think the y axis should extend to 101% or something so that the 100% line doesn't look so much like a UI element--but that doesn't have to be part of this branch.

@wmorgan here you go:

IT'S BEAUTIFUL

👍

👍  non-blocking comments above


Rift controllers show when they're not yet active

Further testing showed this doesn't actually happen. However, SteamVR likes to think the Touch controllers are still active after having loaded them in once (even if you remove the batteries).


No Next/Prev buttons when opening a picture within a folder with many pictures.

Description
opening a picture to open it in the Photos app, opens it as if it was a separate-single pic and the Next/Previous arrows aren't displayed and also don't work with the keyboard.
Steps To Reproduce

Select OneDrive pictures folder
open one picture
no option to switch to the next one

Requirements
should be able to switch between pictures in the folder
Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.3958
Log File
can't see the option

The issue persists to version <IP_ADDRESS>.
Here is some other info about my OS:
Windows 11 version: 10.0.22631.4391
@northglide are you able to reopen the issue?

We're tracking this in #15409. You can check there or click subscribe in the right sidebar for updates.

Hey @Josh65-2201, thanks. Thought this issue was the original.


cherry-pick: cherry-pick #13271 and #13832 to v1.5.1-rc

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
cherry-pick #13271 and #13832 to v1.5.1-rc
Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

I think we need to cherry-pick to release-1.5 branch instead


Update manifests/b/Badlion/BadlionClient/3.2.4/Badlion.BadlionClient.locale.en-US.yaml

Fixes an issue where this package has multiple different monikers
Microsoft Reviewers: Open in CodeFlow

[Policy] Reset Labels


Question: Ability to authorize by IP address?

I would like to use this for a file sync project at work. We currently use WingFTP which allows us to authorize users, but also by IP address. Is there any functionality for this in the library?

Yes, you can override FTPHandler.on_connect() method in your subclass:
http://pyftpdlib.readthedocs.io/en/latest/tutorial.html#event-callbacks

Thanks, I'll take a look! Closing out.


How I can gather non-tensor objects(i.e. string) for evaluation?

I'm a new user for accelerate. I wondering how I can gather non-tensor objects(i.e. string) when evaluating.
For example:
generated_tokens, labels, choices, labs, dts = accelerator.gather((generated_tokens, labels, choices, labs, dts))
In this case, generated_tokens, labels are tensor and gather work correctly.
But labs, dts are strings and gather don't work where I obtain empty list.
How should I deal with that?

Hello @TZWwww, you can have a dataset that gives the index of the sample from the dataset. Gather that index and then retrieve the related textual features for those list of indices.

An interim option I'm thinking on as well for a utility is encode your string as an ord and transform them inside your dataset. This lets them become a tensor and you can just decode them back out. E.g.:
import torch
def _num_to_str(nums):
    s = ''
    for batch in nums:
        for char in batch:
            s += chr(char)
    return s

def _str_to_num(string, batch_size=64):
    "Encodes `string` to a decodeable number and breaks it up by `batch_size`"
    batch, inner_batch = [], []
    for i, char in enumerate(string):
        char = ord(char)
        inner_batch.append(char)
        if (len(inner_batch) == batch_size) or (i == len(string) - 1):
            batch.append(inner_batch)
            inner_batch = []
    return batch

def str_to_tensor(string, batch_size=64) -> torch.tensor:
    """
    Encodes `string` to a tensor of shape [1,N,batch_size] where
    `batch_size` is the number of characters and `n` is
    (len(string)//batch_size) + 1
    """
    return torch.tensor(_str_to_num(string), dtype=torch.long)

def tensor_to_str(x:torch.Tensor) -> str:
    """
    Decodes `x` to a string. `x` must have been encoded from
    `str_to_tensor`
    """
    return _num_to_str(x.tolist())