Gollum with Kafka and Fallback Producer crashes at startup if Kafka Broker is unreachable

Issue description
When Gollum starts with a Kafka Producer and Kafka is not reachable (yet), Gollum crashes although a Fallback Producer is configured (s. full trace in the "Steps to Reproduce" section).
Actually, the Fallback Producer should prevent Gollum from crashing if this happens or better to say: Gollum should throw an error but not crash at all.
From its output it also seems that Gollum wasn't able to recognize the configured Fallback Producer.
Context
The behaviour could be mitigated by creating a Systemd unit file with automatic restart on failure and an increased waiting time between automatic restarts (default is 100ms, set this to 15s to make sure that Kafka is really up and running).
There was already a dependency in the unit file for Gollum to start after the Kafka unit has been started but this wasn't sufficient.
Steps to Reproduce (for bugs)

Configure Gollum to start at system startup, configure Kafka to start at system startup, Gollum is set to start after Kafka, because it needs it as a target.
Start the system, check journalctl -u name-of-your-gollum-unit
See trace like: gollum_trace.log
See detailed Gollum config at the bottom of this page.

Your Environment
Used versions

gollum version: v0.5.0-rc3.1
go version: 1.9.2
Operating System and version: Debian 9
Kafka version: 1.0.0

Config:
SystemSyslogIn:
  Type: consumer.Syslogd
  Address: "udp://<IP_ADDRESS>:514"
  Format: "RFC3164"
  SetMetadata: true
  Streams: "system-syslog"
#
FallbackSpoolSystem:
  Type: producer.Spooling
  Streams: "fallback-system"
  Path: /var/run/gollum/spooling
#
GollumFileOut:
  Type: producer.File
  Streams: "_GOLLUM_"
  File: /var/log/gollum/gollum.log
  Modulators:
    - format.Envelope
  Rotation:
    Enable: true
    Rotation: true
    At: "23:59"
#
SystemKafkaOut:
  Type: producer.Kafka
  Streams: ["system-syslog", "_GOLLUM_"]
  Modulators:
    -
      format.Clear:
        ApplyTo: "hostname"
    -
      format.Hostname:
        Separator: ""
        ApplyTo: "hostname"
  FallbackStream: "fallback-system"
  Topics:
    "system-syslog" : "system-logs-search-raw"
    "_GOLLUM_" : "system-logs-search-raw"
  Compression: "lz4"
  Servers: ['server0:9092', 'server1:9092']
  KeyFrom: "hostname"
#
KafkaSyslogIn:
  Type: consumer.Syslogd
  Address: "udp://<IP_ADDRESS>:515"
  Format: "RFC3164"
  SetMetadata: true
  Streams: "kafka-syslog"
#
FallbackSpoolSystemKafka:
  Type: producer.Spooling
  Streams: "fallback-kafka"
  Path: /var/run/gollum/spooling
#
KafkaKafkaOut:
  Type: producer.Kafka
  Streams: ["kafka-syslog"]
  FallbackStream: "fallback-kafka"
  Topics:
    "kafka-syslog" : "system-logs-kafka-raw"
  Compression: "lz4"
  Servers: ['server0:9092', 'server1:9092']
  KeyFrom: "hostname"

Turned out to be a problem within tgo when trying to assign values to private interface fields.
In this case the FallbackStream config value is affected.
Longer explanation:
We are supporting reflection based setting of private fields because of convenience reasons.
This seemed to have worked in go 1.8 but apparently broke in go 1.9.
This does not come as a surprise because the implementation is somewhat hacky as Go does not really allow setting private fields. In the long run we will probably disallow this to not constantly fight with the go runtime over this.


(WIP) Add support for 'scramble appending' (issue #302)

(Resolve #302. This PR is based on PR #326)
Added 'INSERT SCRAMBLE...' syntax to support scramble appending.
The current implementation supports the statement of the following form:
INSERT SCRAMBLE <existing_scramble_table_schema>.<existing_scramble_table_name> WHERE <condition>

This command will append data into existing scramble using same scrambling method + source data that satisfy the given condition.
As a bonus feature, I also added conditional scramble creation like the following:
CREATE SCRAMBLE <scramble_table> FROM <original_table> [WHERE <condition>]

The current limitations for appending scramble are as follows:

New scramble data is appended ONLY from the original source table --> this is because current verdictdb metadata for a scramble has a mapping to its single source table. We may remove this mapping in the future, which can allow a scramble generated from multiple source tables.
Appending scramble will not work on scrambles built prior to this version as they do not have necessary information in their metadata to create same type of scramble on new data.
It is users' responsibility to make sure not to append duplicates into an existing scramble.

For current implementation, it is required to store classes implementing ScramblingMethod interface (or ScrambilngMethodBase abstract class) as a part of ScrambleMeta in JSON, thus, necessary changes are made to make them serializable (e.g., removing the use of 'Optional' in FastConvergeScramblingMethod).

Codecov Report

Merging #327 into master will increase coverage by 2.92%.
The diff coverage is 86.47%.

@@            Coverage Diff             @@
##           master     #327      +/-   ##
==========================================
+ Coverage   68.24%   71.16%   +2.92%
==========================================
  Files         167      168       +1
  Lines       11198    11422     +224
  Branches     1839     1863      +24
==========================================
+ Hits         7641     8127     +486
+ Misses       3095     2827     -268
- Partials      462      468       +6

Impacted Files
Coverage Δ

.../verdictdb/sqlreader/ScramblingQueryGenerator.java
0% <ø> (ø)
:arrow_up:

...ictdb/core/scrambling/UniformScramblingMethod.java
96.08% <100%> (+2.33%)
:arrow_up:

.../core/scrambling/FastConvergeScramblingMethod.java
92.63% <100%> (+1.86%)
:arrow_up:

.../org/verdictdb/core/scrambling/ScramblingPlan.java
100% <100%> (ø)
:arrow_up:

...java/org/verdictdb/core/sqlobject/SelectQuery.java
94.5% <100%> (+0.06%)
:arrow_up:

.../org/verdictdb/core/scrambling/ScramblingNode.java
94.19% <100%> (+0.68%)
:arrow_up:

...va/org/verdictdb/core/scrambling/ScrambleMeta.java
82.8% <100%> (+2.08%)
:arrow_up:

...erdictdb/core/sqlobject/InsertIntoSelectQuery.java
100% <100%> (ø)

...ctdb/core/scrambling/CreateScrambledTableNode.java
73.59% <100%> (+1.04%)
:arrow_up:

...ava/org/verdictdb/metastore/ScrambleMetaStore.java
91.12% <55.56%> (-7.58%)
:arrow_down:

... and 43 more

Continue to review full report at Codecov.

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

I made changes so that:

it now uses 'cumulativeDistributions' metadata (i.e., storedProbDist in ScrambleMethodBase) to figure out block sizes for existing scrambles from prior versions of VerdictDB.
a user can use either "INSERT SCRAMBLE ..." or "APPEND SCRAMBLE ..."


[md-card]: div.mat-card-header-text should have a width of 100% or something similar

Bug, feature request, or proposal:
bug/proposal
What is the expected behavior?
I would expect the the md-card-title to have a width the same as the card-width
What is the current behavior?
I would like to be able to align elements within the md-card-title . In this particular case a Title on the left and a button (or a date or something similar on the right side)
e.g.
<md-card-header>

  <md-card-title fxLayout  fxLayoutAlign="space-between stretch">
            {{ title }}
            <button md-icon-button
                    color="primary"
                    (click)="add()">
                    <md-icon>playlist_add</md-icon>
          </button>
  </md-card-title>
  <md-card-subtitle>
    subtitle
  </md-card-subtitle>
  <img md-card-avatar>
</md-card-header>

However, since there is an extra div.mat-card-header-text generated without a width: 100% the md-card-title doesn't use the cards full-width
<md-card-header>
  <img md-card-avatar>
  <div  class="mat-card-header-text">
    <md-card-title fxLayout  fxLayoutAlign="space-between stretch">
            {{ title }}
            <button md-icon-button
                    color="primary"
                    (click)="add()">
                    <md-icon>playlist_add</md-icon>
          </button>
    </md-card-title>
  </div>
</md-card-header>

And it is not possible to override the .mat-card-header-text
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
ng version
    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/
@angular/cli: 1.1.0
node: 8.0.0
os: win32 x64
@angular/animations: 4.1.3
@angular/common: 4.1.3
@angular/compiler: 4.1.3
@angular/core: 4.1.3
@angular/flex-layout: 2.0.0-rc.1
@angular/forms: 4.1.3
@angular/http: 4.1.3
@angular/material: 2.0.0-beta.6
@angular/platform-browser: 4.1.3
@angular/platform-browser-dynamic: 4.1.3
@angular/platform-server: 4.1.3
@angular/router: 4.1.3
@angular/cli: 1.1.0
@angular/compiler-cli: 4.1.3
@angular/language-service: 4.1.3

Is there anything else we should know?

See #2112

Setting the width in a global .css worked. Doesn't seem as the best solution, but thanks.
keep up the good work.

To center the content of the title, just add the following CSS code
.mat-card-header {     justify-content: center; }


sct_dmri_moco.py -bval fails

error:
UnboundLocalError: local variable 'bvecs_new' referenced before assignment

No -bval flag anymore

what happen if bvec doesn't include vector 0,0?

same as issue #124


chore: add merge_status.py script

This change is

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

Comparison is base (f39c098) 69.99% compared to head (1f72c99) 69.99%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1543   +/-   ##
=======================================
  Coverage   69.99%   69.99%
=======================================
  Files          59       59
  Lines        8221     8221
  Branches     8221     8221
=======================================
  Hits         5754     5754
  Misses       2002     2002
  Partials      465      465

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

scripts/merge_status.py line 61 at r1 (raw file):

if __name__ == "__main__":
    main()

Suggestion:
print_merge_status()

scripts/merge_status.py line 11 at r2 (raw file):

from merge_branches import MERGE_PATHS_FILE

DIR = os.path.dirname(__file__)

unused

scripts/merge_branches.py line 113 at r2 (raw file):

        run_command(
            f'git commit -m "chore: merge branch {src_branch} into {dst_branch} (with conflicts)"'
        )

Why it's part of this PR?


Playing HTML audio at "onCurrentIndexChange" is extremely laggy and slow on Firefox mobile and iOS devices

update: see next comment. I was thinking this is something related to overlay image or rotation bug in Firefox:
"Anybody having that too? I created a wheel with an overlay image and 8 items. All mobile browsers run it fine but Firefox mobile browser is lagging (v129.0). What could be the problem?"
Can this be the case ragarding rotation?
https://github.com/jonobr1/two.js/issues/464
https://www.reddit.com/r/firefox/comments/gixef8/comment/fqi8lfm/"

I think I fixed this. I am pretty sure that was caused by audio playing for ticking sound. playing repetative HTML audio is extremely slow and laggy on iOS as well as Firefox for some reason. I solved it by using the SoundJS library to play tick at this event:
 wheel.onCurrentIndexChange
https://github.com/CreateJS/SoundJS

@ArtisArtStudio Any chance you could share example? I've experienced the same problem

add this to your html:
<script src=https://code.createjs.com/1.0.0/soundjs.min.js></script>
then in your js file:
var playtick = function() {
     createjs.Sound.volume = 0.2;
     createjs.Sound.play("sound");
 };
 const wheel = new Wheel(container, props);
 wheel.onRest = functionFinished;
 wheel.onCurrentIndexChange= playtick;

a tick sound is a simple short sound (0.4s) I created by cutting a portion of a sound I found on freesound site.

@ArtisArtStudio Thanks man, appreciate it <3


Use capybara-webkit instead of akephalos

Interestingly, we already do this in the template:
https://github.com/thoughtbot/suspenders/blob/master/template/suspenders.rb#L132
However, we don't include capybara-webkit in the Gemfile. I'm surprised the features pass. Maybe javascript_driver cascades to use Rack::Test if the declared driver isn't available?

Won't it ignore javascript_driver unless one of the scenarios is tagged to use javascript, and the rest use default_driver?

@cmeiklejohn Good point. So having it set is kind of a hidden bug. It won't bite people until they tag a scenario @javascript and then realize then need to set up capybara-webkit in their Gemfile.

I'm dumb. capybara-webkit was already included in the Gemfile. I just added some notes to the README about the dependencies this adds and will now close this issue!
https://github.com/thoughtbot/suspenders/commit/9900d1590bfd5ec16960fc0942277155d4f2af25


Broken images in page document templates

https://docs.mendix.com/refguide/document-templates/

Hi @Andries-Smit,
Thanks a lot for reporting this! The issue is fixed in this PR: https://github.com/mendix/docs/pull/8782. You will be able to see the fixed images online by the end of the today.
Best,
Yiyun


How does the view update?

I'm getting it to show but not to update after initially showing the view. I guess live reload might be asking too much - but what is the update logic like?

if you can provide a repro, I'd also be happy to take a look

I upgraded to the latest version and added experimentalImportSupport: false in the metro config and it loads now.. :)
A note about the metro config though, I'm running into a maximum callstack exceeded exception when setting inlineRequires: true. Might be totally unrelated to this package though, but it seems like it's not really required?

happy to hear you got it working! Re inlineRequires, okay interesting, thanks for the heads up! tbh I can't remember exactly why I added it, will try removing it to see if everything still works as expected without it. If so, I'll remove it from the README

Apparently inlineRequires is enabled by default since v0.64. I'll remove it from the README. But that also means that your callstack exceeded exception might be caused by something else


Usage with XF

I have a few questions regarding initialization of this plugin with XF:

Should I initialize this plugin on every platform or just within XF Application class?
a. If initialized within XF Application class, should I still reference this plugin on all platfroms?
b. If initialized on every platform, should this be before or after Forms.Init();?
I see this plugin is supporting UWP; where should this be initialized on UWP?

You can put it in your application class if you want to use the tracking. That would initialize on all platforms.


Correct CodeClimate usage

This is a cleaned up continuation of #142.

@olleolleolle Could you take a look at this please? Is there anything I'm missing? Thank you!

This does the right thing!
0.68s$ bundle exec codeclimate-test-reporter
I, [2017-05-16T12:25:07.557912 #4027]  INFO -- : Reporting coverage data to Code Climate.
Sending report to https://codeclimate.com for branch master... done.

:hearts: :yellow_heart: :green_heart: :blue_heart: :purple_heart:


Add configuration to make email a required field

This patch adds a parameter to make requiring an email address configurable.
Could probably be improved by:

write tests
using HTML5 form validation
not using a nasty regex substitute to remove (required) from the placeholder (or internationalised equivalent)

Thanks for the contribution. Email verification is not easy and usually requires a validation email being sent. I am okay with the current implementation though.


Use mdl to fix long lines and other style issues

Suggest implementing some sort of coding standard for future contributions, including limiting line length.
In edit: How about some markdownlint? I just ran it, and it found 4165 issues. :(

we will need to install it globally https://github.com/igorshubovych/markdownlint-cli and add a .markdownlint.json file to the project so we can keep rules consistent.

@antgel We are now running markdownlint on our travis pull request builds


A performance issue

Will you consider calling tooltipLine method in a delayed fashion? Since it is the only access to the selected data and I need to do a lot of time-consuming things with that. It significantly reduced the UI responsiveness.
When I say delayed fashion, I mean this:
before:
onMouseEnter: (e, data) ->
    tooltip = @props.tooltipLine(data, position)
    @setState
        tooltip: tooltip

after:
onMouseEnter: (e, data) ->
    if @delayedTooltip?
        clearTimeout @delayedTooltip
    @delayedTooltip = setTimeout =>
        tooltip = @props.tooltipLine(data, position)
        @setState
            tooltip:tooltip
        @delayedTooltip = null

Actually, I can just put my heavy work in a setTimeout callback. And that is what I did, but it took me hours to realize that. I think it might be a good practice to put every callback function in this fashion, because who knows what user will do.

Thanks for the feedback! I will consider it. What are you doing in the tooltip function that takes so much time?

Since I would like to "preview" the selected data in other components, I simply set the data into the state of the father component. And a change to that data will cause all related components to update. So if user moves mouse too fast, the page will be just too busy handling all these state updating to respond to incoming mouse move events.

Honestly, I just use tooltipLine function as "onSelectedDataChange" event handler.

I see, I was thinking about changing the mouse stuff anyhow since your Issue about events. So I might use RxJS and debounce it!

Please don't put this in the library as a standard feature. I'd expect most people don't do expensive stuff in their tooltip handlers, and it's easy enough to handle this yourself as the OP demonstrated :)

True. Ultimately I want it to be broadly usable without too much forced standards etc, so in case I change it, should be optional.

I just learned that the official name for this is "debounce". It seems to be a widely applied technique to prevent browser-based JavaScript applications firing events too often that it bricks UI responsiveness.
Just put it here in case someone need further information.

Also keep in mind the difference between debounce and throttle. I would have to think more about which one is appropriate in this case. Here's a thread with resources on it from dc.js:
https://github.com/dc-js/dc.js/issues/630#issuecomment-94202879

Thanks @jefffriesen for the info I will have a look.
BTW the library is still evolving. I am almost finished adding transition support, the problem I have to solve now is to transition not only for example the line graph but also the labels and tooltip. I use this chance to rethink the components and tooltips, too (as talked about in the the other issues.)

Cool. Looking forward to seeing out transitions turn out.


Support instance-managers for v1 and v2 volumes respectively

longhorn/longhorn#6984

@c3y1huang Would you be able to review the PR? Thank you.

Closed and reviewed in https://github.com/longhorn/longhorn-manager/pull/2371/commits


Renames MovieClip to AnimatedSprite

Changed
Renames PIXI.extras.MovieClip to PIXI.extras.AnimatedSprite for these reasons:

The name "MovieClip" does not accurately reflect the nature of the class.
Preventatively, do not want to confuse this class with a new forthcoming MovieClip API

@andrewstart good 👀 !

@englercj Good to merge?


Test

Type: Incorrect
Summary:
Test
Details:
Test
Resolution:
Test
Affected definitions:

express 4.1.0

You can review the change introduced to the full definition at ClearlyDefined.


[Research] prost on osmosis proto

Generate rust types from osmosis proto to create StargateMsg for cosmwasm to call osmosis specific stuffs

copy/paste the generated type and test with StargateMsg

/// MsgCreateDenom is the sdk.Msg type for allowing an account to create
/// a new denom. It requires a sender address and a subdenomination.
/// The (sender_address, sub_denomination) pair must be unique and cannot be
/// re-used. The resulting denom created is `factory/{creator
/// address}/{subdenom}`. The resultant denom's admin is originally set to be the
/// creator, but this can be changed later. The token denom does not indicate the
/// current admin.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateDenom {
    #[prost(string, tag = "1")]
    pub sender: ::prost::alloc::string::String,
    /// subdenom can be up to 44 "alphanumeric" characters long.
    #[prost(string, tag = "2")]
    pub subdenom: ::prost::alloc::string::String,
}

pub trait MessageExt: prost::Message {
    /// Serialize this protobuf message as a byte vector.
    fn to_bytes(&self) -> Result<cosmwasm_std::Binary, ContractError>;
}

impl<M> MessageExt for M
where
    M: prost::Message,
{
    fn to_binary(&self) -> Result<cosmwasm_std::Binary, ContractError> {
        let mut bytes = Vec::new();
        prost::Message::encode(self, &mut bytes)
            .map_err(|e| ContractError::CustomError { val: e.to_string() })?;

        Ok(cosmwasm_std::Binary(bytes))
    }
}

let msg = CosmosMsg::Stargate {
    type_url: "/osmosis.tokenfactory.v1beta1.MsgCreateDenom".to_string(),
    value: MsgCreateDenom {
        sender: contract_addr,
        subdenom,
    }
    .to_binary()?,
}

I've had issues getting prost types deployed on the chains as they depend on floats (which aren't supported by the wasmvm because of indeterminism). When I tried something similar to this, it worked on the tests but not the real chains.
@iboss-ptk is there something I'm missing here? Are you using any specific compilation flags?

@nicolaslara I have tested it on LocalOsmosis, it does not complain anything about nondeterminism and there is no specific compiler flags. Do you have the code, I might miss something and cause problems later so I would like to see it. Here is my working example
https://github.com/iboss-ptk/osmosis-cosmwasm-stargate-example

I had tried something similar on Juno, but I'll try a version of your working example to see what my issue was. If this all works, I can use it to build a simple API for https://github.com/osmosis-labs/bindings

Reviewed this now. The non-determinism issue I mentioned was not related to this. That happened because I was also using serde_json as a workaround when the StargateQuery didn't work (I tried this a few months ago, so didn't remember the details).
And the reason the StargateQuery was failing on juno is because (duh) StargateQueries are disabled on juno 🤦. I just didn't see the proper error until now because https://github.com/CosmWasm/cosmwasm/pull/1299 didn't exist when I tried this last time.
Anyway. This all seems to work :) Now the fun part (of making protos easy to use for cosmwasm devs) starts. Thanks for all the good work @iboss-ptk !

Thanks for your kind words @nicolaslara !


Add support for kots on arm64

Description
Currently, we are unable to use kots install and schedule the console on arch arm64.
The kotsadm pod will not be scheduled:
https://github.com/replicatedhq/kots/blob/c597a4aebbf5caead94419b860c3d2311146d702/pkg/kotsadm/objects/affinity_objects.go#L10-L35
More info: https://github.com/replicatedhq/kots/issues/896
Motivation

Add support for Apple Silicon
Allow users and maintainers to use and test the solution into for example Apple Silicon.
Allow users to use the solution in any linux arm64 env

Thank you for opening this issue, @camilamacedo86.  This is something that we hope to support in the future, and SC34569 is our internal tracker for this.

👍 on this one, currently I can't test KOTS locally on minikube, I'm forced to use a remote cluster

Hi folks, just got a macbook with an M2 chip and removing the arm64 affinity rule in the kots deployment allows it to be scheduled and as far as I can tell, it works without a problem after that.
Was the kots binary made arm64 compatible and it's now just a matter of removing that restriction in the deployment?
Here are the changes I made to get it to work.

I request at least an option --ignore-arch or something so we can do it. It works and might not be compiled right, but with rosetta installed it works without an issue


Add the tenant details page

Rebased with https://github.com/UKHomeOffice/right-to-rent-check/pull/4
Please merge above first before merging
Use country selector
Use the new date component
Added styling taken from other hof apps
Use latest hof-bootstrap

@joefitter are you happy to merge this PR now?

approved but it won't let me merge for some reason. Another review needed? drone misconfigured?

Can you now see the merge button @joefitter ? I rebased with master and that seemed to fix the issue

yep!

yayyy, thanks


clarifications about metadata

I have a few questions about the metadata.md. I'm grouping them here as I'm not sure how related they are:

The comment says that the list of metadatas can be included at offsets or in a blob.  "The list of metadatas".  But each metadata_ref has its own [local|blob] type.  Can some metadatarefs be local and some in blobs, or is the whole list of metadatas to be grouped?
the DIR_LIST_LOOK_BELOW is confusing to me.  What does 'below' refer to?  The comment says "when set, also look at layers below for the dir list."  First off, I assume this is a flag for dir_list.flags?  I would assume anything 'below' some dir_list would be nested directories, i.e. /a/b/c under /a/b.  But I don't think that's what you mean, since that would simply be implied by the inode types in the dir_list.

The comment says that the list of metadatas can be included at offsets or in a blob. "The list of metadatas". But each metadata_ref has its own [local|blob] type. Can some metadatarefs be local and some in blobs, or is the whole list of metadatas to be grouped?

The idea is that you can reference something else in the current blob, so we don't need container formats for everything. You can say "this is in the same blob at offset X" and then just seek() there and read whatever it is, or you can say "this is in the blob with digest Y at offset Z", open that one, and seek there. This way we can point into existing metadata blobs for lower layers without having to copy anything.

the DIR_LIST_LOOK_BELOW is confusing to me. What does 'below' refer to? The comment says "when set, also look at layers below for the dir list." First off, I assume this is a flag for dir_list.flags? I would assume anything 'below' some dir_list would be nested directories, i.e. /a/b/c under /a/b. But I don't think that's what you mean, since that would simply be implied by the inode types in the dir_list.

Right, this is for the fs layers below the current one. Motivation here being essentially the same as the above: if only one directory entry in a large directory has changed, we can just say "here's the new inode of X, look at previous layers for everything else".

essentially the same as the above: if only one directory entry in a large
directory has changed, we can just say "here's the new inode of X, look at
previous layers for everything else".

Oh - right - I see.  Thanks.


Revert "Update grpc protoc plugin to be compliant of proto3 field presence"

Reverts grpc/grpc#22998
Because this breaks internal targets - https://g3c.corp.google.com/results/invocations/c787c170-933c-4d84-88db-908739d593c1/targets/%2F%2Fgooglex%2Fdaedalus%2Fembedded%2Fbase%2Fnet%2Fngrpc2%2Fclient:channel_test/log

This is a revert. So ignoring test failures. Merging.


Missing index options

There appears to be no way to set the index order (ASC/DESC) and nulls order (FIRST/LAST). The latter is probably not available in MySQL but is nevertheless part of the SQL standard.
Another major omission is the index access type. In Postgres, this could be heap, btree, hash, gist, gin, spgist or brin. I don't know how portable this is though.

Do you want to make a PR here?

I have no plan presently.

I'm working on adding gin an gist, I'll try to finish the feature during this weekend https://github.com/cakephp/phinx/pull/2066


[c++] Implement prototype SOMA geometry array for circles in C++

Create a SOMA geometry array that supports storing circles of varying radii.
[sc-43818]

De-listed from the current sprint

This prototype is unneeded. The full implementation is already underway.


fixed help bg

changes the bg color in the help section. so that is is using the same background than tree.
Renames highlight color to headline color to eliminate confusion.

before:

after:

and it also updates all rich text table to use the same color too. (console, new script dialog, add node dialog...)

Screenshot maybe ?
Unless this a fix of a previous change and I trust you on that :)

@groud added the screenshots.


The prefix directory is not cleaned when reinstalling jruby-dev

I had a old jruby-dev on my system, installed by ruby-build jruby-dev ~/.rubies/jruby-dev.
Then I reinstalled the latest jruby-dev with the same command.
The result is there is a mix of old and new files, and so e.g. of old and new gems:
$ gem list

*** LOCAL GEMS ***

bundler (default: 2.2.29, default: 2.2.14)
cmath (default: 1.0.0)
csv (default: 3.1.2)
did_you_mean (1.3.0, 1.2.1)
e2mmap (default: 0.1.0)
ffi (default: 1.15.4 java, default: 1.15.1 java)
fileutils (default: 1.4.1)
forwardable (default: 1.2.0)
io-console (default: 0.5.9 java)
ipaddr (default: 1.2.2)
irb (default: 1.0.0)
jar-dependencies (default: 0.4.1)
jruby-launcher (1.1.19 java, 1.1.17 java)
jruby-openssl (default: 0.10.7 java, default: 0.10.5 java)
jruby-readline (default: 1.3.7 java)
json (default: 2.5.1 java)
logger (default: 1.3.0)
matrix (default: 0.3.0)
minitest (5.11.3)
mutex_m (default: 0.1.0)
net-telnet (0.1.1)
ostruct (default: 0.3.3, default: 0.1.0)
power_assert (1.1.3)
prime (default: 0.1.0)
psych (default: 3.3.2 java)
racc (default: 1.5.2 java)
rake (12.3.3)
rake-ant (default: 1.0.4)
rdoc (default: <IP_ADDRESS>, default: 6.1.2)
rexml (default: <IP_ADDRESS>, default: 3.1.9)
rss (default: 0.2.7)
rubygems-update (default: 3.2.29, default: 3.2.14)
scanf (default: 1.0.0)
shell (default: 0.7)
sync (default: 0.5.0)
test-unit (3.2.9)
thwait (default: 0.1.0)
tracer (default: 0.1.0)
webrick (default: 1.7.0)
xmlrpc (0.3.0)

(for comparison, here is the gem list after manual rm -rf ~/.rubies/jruby-dev and reinstalling with the same command)
I think it would be best to clear the destination directory if we detect it's a JRuby installation, similar to what's done for TruffleRuby: https://github.com/rbenv/ruby-build/blob/766e9c781f6898bd872a808e14c4afab39b16095/bin/ruby-build#L796-L807
@headius @enebo What do you think should happen in that case?

This used to be done for all build_package_copy Rubies no matter what was in the destination directory, but that's problematic for installing to /usr/local: https://github.com/rbenv/ruby-build/pull/1783

@headius @enebo Ping, could you share your opinion on the above?

@eregon Could we offload to the user the responsibility of removing the old installation files?
I'm not 100% sold on that JRuby and Truffleruby installation methods should do something "magic" and different from Ruby intallations.

In general we tell people never to share or reuse a gem directory across installs, which I think would apply in this case. We have never supported installing a new JRuby by overlaying a previous installation and would not expect it to work, even if it might by accident.

I'm not 100% sold on that JRuby and Truffleruby installation methods should do something "magic" and different from Ruby intallations.

I would say it's also a problem for CRuby (or any Ruby) to reuse an existing prefix, especially if it mixes gems like that and e.g. there are 2 "default" gem versions. If it's not gems it could be stdlib files which are still there even though they should be removed, etc.
The current logic is https://github.com/rbenv/ruby-build/blob/66311de0f8089564a232722a6b3db824b85235b3/bin/ruby-build#L806-L819. The only part really TruffleRuby-specific there is "detecting if it's a TruffleRuby prefix" but that could fairly easily be more portable if e.g. we pass the *ruby executable name to that function.
Maybe we should improve it to account for package managers installing /usr/bin/*ruby or /usr/local/bin/*ruby, where we still wouldn't want to rm -rf or override the files (e.g., we could have a list of such prefixes, there are not that many).
I think another possibility would be to just error out if trying to install to a non-empty directory, and then let the user remove that directory, or pass a flag to force installation to a non-empty directory, where they won't be able to cleanup properly after, if that's really what the user wants (e.g., /usr/local).
That would be less convenient for reinstalling dev versions though.
We could also just warn, but that could be easily missed and fixing that would mean the user cancelling the current build and retrying which seems messy.

This is a bigger issue for *-dev than releases, so another option would be to only rm -rf or error out for dev builds.
It could be an issue for a release too though if e.g. some gem has been messed up (e.g. half compiled in a broken state with a bad Makefile, or miscompiled by a bad XCode and segfaulting) it won't be cleaned up by reinstalling that release (assuming no GEM_HOME set, as with rbenv).

I dig the idea of scoping the fix to just *-dev builds. For non-dev build definitions, ruby-build should just respect the prefix given and install there regardless of what is currently present there. The user should be responsible for preparing the installation location in the way they see fit.
For *-dev builds we could error out if a bin/ruby already exists in the prefix directory, indicating the presence of a previous Ruby installation. Then the user could rm -rf the prefix directory themselves if they wanted to work around that.

As per my previous comment, I was open for a PR that changes behavior for *-dev builds, but since there was no chatter nor upvotes around this in the years since, I'm inclined to close this to clean out the backlog.
People building *-dev versions of Ruby are typically power users and I'm fine with the responsibility of a preemptive rm -rf being on their side.

I've had cases where e.g. the truffleruby installation was broken while working on the definition, and then not cleaning would result in pretty confusing behavior, and this could potentially happen to users of ruby-build too. So I think it's only for *-dev even though that's even more necessary.
I'm OK with things as they are (do this only for truffleruby), so yeah fine to close.


python312Packages.boto3-stubs: 1.34.131 -> 1.34.132, python312Packages.botocore-stubs: 1.34.131 -> 1.34.132

Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 322364 run on x86_64-linux 1

14 packages built:

aws-sam-cli
aws-sam-cli.dist
python311Packages.boto3-stubs
python311Packages.boto3-stubs.dist
python311Packages.botocore-stubs
python311Packages.botocore-stubs.dist
python311Packages.types-aiobotocore
python311Packages.types-aiobotocore.dist
python312Packages.boto3-stubs
python312Packages.boto3-stubs.dist
python312Packages.botocore-stubs
python312Packages.botocore-stubs.dist
python312Packages.types-aiobotocore
python312Packages.types-aiobotocore.dist


Feature/include original value in autocomplete

This PR is related to issue #141.

I've made this a default behaviour. I think tests can stay as they are (I only tweaked description for them).

Thanks @markph1990 !! I will take a look at this PR within the next few days 👍


Somehow untag nightly as being a 'release' on github?

Usually when I want to be notified of how a project is progress without getting spammed too much. I set the "Releases only" watch option. However, lapce appears to have a nightly release every day which defeats the point :P I do like getting notified when real releases happen, and I don't see how anybody could be getting any information from a notification that happens at the same time everyday, so wondering if this is just a box that could be unchecked somewhere?

Based on

https://github.com/community/community/discussions/10776
https://github.com/orgs/community/discussions/4993
https://github.com/community/community/discussions/29192
It doesn't seem to be possible to just ignore pre-releases, even with custom notification settings (though, if it was implemented, it should preferably be configurable on the repo side too, to avoid requiring every watcher to manually untick pre-releases).
So, unfortunately, this seems to be blocked on github doing something about it.

Hm, actually a hacky method would be to watch https://github.com/flathub/dev.lapce.lapce PRs since they only update for the full releases and not the nightlys (you'll get some minor noise, but obviously far less than the nightlys cause).

Thanks, I'll give that a try!


Actor deregistration

When the dispatcher receives RegistrationEnvelope::Deregister(actor_ref) events, it needs to remove the actor reference from the lookup table.
The ActorStore currently only has one-way mappings of Vec<String> and UUID to ActorRefs, meaning deletions are O(n) where n is the number of ActorRefs currently stored. If we want to speed this up, we can use bidirectional maps.

Things to consider

Cleanup policy

Timer-based, frequency-based, lazy deletion on lookup
Adaptive scheduling: AIMD/MIMD to respond to workloads

Execution (assuming timer-based)

Dedicated OS thread
Timer checks in dispatcher every time it "does something"
Kompics timer-driven API to schedule cleanups based on internal state (requested deletions, adaptive strategy, etc.)

At the killing of a component, the logical flow is:

system.kill_notify(...) is called
A ListenEvent::Destroyed is sent to the supervisor
A ControlEvent::Kill is sent to the component
A RegistrationEvenlope::Deregistration is sent to the dispatcher
The component receives the ControlEvent::Kill message and sets its state. It then sends a SupervisorMsg::Killed to the supervisor
The dispatcher receives the deregistration event and schedules the actor reference reaper to run according to its configured strategy and interval
The supervisor receives the SupervisoMsg::Killed event and explicitly drops the component
The actor reference reaper runs and walks through the lookup table's maps, filtering over the "marked" tombstones ready for deregistration.
When filtering, the reaper is unable to compare its stored references because the underlying components pointed to by the Weaks have been deallocated

So the only reason we are sending RegistrationEvenlope::Deregistration is so that the Dispatcher knows to schedule the ARReaper?

The deregistration event inserts the ActorRef into the reaper's deletion queue

But what's the point of having it there, since you can't do comparisons once it's deallocated anyway?

At this point, none really. I was unaware that the component is explicitly dropped before the deregistration process takes place

Also, I think 4 should happen after 7, to avoid weird remote behaviours where a component is unreachable before it is actually killed...I'd rather have a messages get dropped by failing to upgrade to weak reference, than messages to a live component not arriving


[New Source Plugin] Static Resource ZIP Compression doesn't seem to be as tight, "static resource cannot exceed 5MB"

Summary
When deploying my static resources I get the error "static resource cannot exceed 5MB" for a single resource where I've dealt with size issues in the past. If I uninstall the new Source plugin then static resources deploy correctly.
Steps To Reproduce:
I don't have a set of files I can share publicly but could share the Static Resource contents private on request.
Expected result
Static Resource should have deployed. The current SFDX (non-Source plugin) packs to a ZIP file that comes in at 4.92MB where the Source-Plugin version packs to 5.13MB.
Actual result
Static resource exceeded the 5MB file size limit and failed to deploy only when using the Source plugin.
System Information
{
"cliVersion": "sfdx-cli/7.110.0",
"architecture": "win32-x64",
"nodeVersion": "node-v14.17.3",
"pluginVersions": [
"@oclif/plugin-autocomplete 0.3.0 (core)",
"@oclif/plugin-commands 1.3.0 (core)",
"@oclif/plugin-help 3.2.2 (core)",
"@oclif/plugin-not-found 1.2.4 (core)",
"@oclif/plugin-plugins 1.10.0 (core)",
"@oclif/plugin-update 1.4.0-3 (core)",
"@oclif/plugin-warn-if-update-available 1.7.0 (core)",
"@oclif/plugin-which 1.0.3 (core)",
"@salesforce/sfdx-plugin-lwc-test 0.1.7 (core)",
"@salesforce/sfdx-trust 3.6.0 (core)",
"alias 1.1.10 (core)",
"apex 0.2.2 (core)",
"auth 1.7.1 (core)",
"config 1.2.13 (core)",
"custom-metadata 1.0.12 (core)",
"data 0.5.2 (core)",
"generator 1.1.7 (core)",
"limits 1.2.1 (core)",
"org 1.6.7 (core)",
"salesforce-alm 52.1.0 (core)",
"schema 1.0.8 (core)",
"sfdx-cli 7.110.0 (core)",
"sfdx-devops 0.4.3",
"sfdx-heber 0.0.2",
"sfdx-typegen 0.6.2",
"sfpowerkit 3.1.6",
"shane-sfdx-plugins 4.43.0",
"?????? @mshanemc/plugin-streaming 1.1.7",
"?????? @mshanemc/sfdx-sosl 1.1.0",
"telemetry 1.2.2 (core)",
"templates 52.1.0 (core)",
"user 1.3.1 (core)"
],
"osVersion": "Windows_NT 10.0.19042"
}

@aheber nice catch, thanks for reporting!

I too am hitting this after updating to version 7.112 today; It only seems to happen if I use force:source:deploy to deploy my static resources. I can push the same static resource bundle to scratch orgs using force:source:push with no problem. In my case, the problematic resource is 4,552,560 bytes in my scratch org after force:source:push, but the same static resource bundle cannot be deployed using force:source:deploy because it is exceeding 5 MB.

@mshanemc -- Will this get addressed in this week's CLI release? This is a blocker for CI/CD


⚠ Processors has degraded performance

In 820f5fd, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 119 ms

Resolved: Processors performance has improved in 172179c.


Update GeneratedMessage== to accept Object instead of dynamic

This matches the overridden == method, previously it was expanding the parameter type unnecessarily.
This also fixes Mockito codegen for fakes, which adds back an == method with type Object, which isn't allowed if the type being faked has widened it to dynamic.
Note that you can still do == null, that is special cased.

Hmm interesting, I am not sure why this fixes the Mockito issue then. It doesn't hurt to land this either way, as it is just more explicit about the type. But I will leave that  up to you.
I will reproduce the error I was getting and see if I can understand more the actual problem.

I thought the same thing. Parameter types get inherited. So strange. Perhaps a bug in mockito.

Just for the record, here's where the language spec describes inference of return and argument types of overriding methods: https://github.com/dart-lang/language/blob/ee1135e0c22391cee17bf3ee262d6a04582d25de/resources/type-system/inference.md?plain=1#L69-L72

Method override inference

If you omit a return type or parameter type from an overridden or
implemented method, inference will try to fill in the missing type using the
signature of the methods you are overriding.


⚠ Minecraft has degraded performance

In f7a7a68, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1163 ms

Resolved: Minecraft performance has improved in c6d815a.


Hash mismatch for debian-strech file dotnet-sdk-5.0.202-x64.deb on packages.microsoft.com

Our mirror-in of the microsoft-debian-stretch-prod repo on packages.microsoft.com fails with a hash mismatch of the pool/main/d/dotnet-sdk-5.0/dotnet-sdk-5.0.202-x64.deb file. This issue started some time between 2021-11-09 00:02:30 UTC and 2021-11-10 06:16:10 UTC.
I'm opening a bug here as I have no clue where else to report this issue. It would be great if packages.microsoft.com would contain a file with contact information.
Reproduction instructions:
Let's check what SHA-256 hash the file should have according to the package index:
$ curl -s https://packages.microsoft.com/repos/microsoft-debian-stretch-prod/dists/stretch/main/binary-amd64/Packages.gz | zgrep -C9 'Filename: .*/dotnet-sdk-5.0.202-x64.deb'

Package: dotnet-sdk-5.0
Priority: standard
Section: devel
Installed-Size: 222041
Maintainer: Microsoft<EMAIL_ADDRESS>Architecture: amd64
Version: 5.0.202-1
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libstdc++6 (>= 4.4.0), dotnet-runtime-5.0 (>= 5.0.5), netstandard-targeting-pack-2.1 (>= 2.1.0), aspnetcore-runtime-5.0 (>= 5.0.5), dotnet-targeting-pack-5.0 (>= 5.0.0), aspnetcore-targeting-pack-5.0 (>= 5.0.0), dotnet-apphost-pack-5.0 (>= 5.0.5)
Filename: pool/main/d/dotnet-sdk-5.0/dotnet-sdk-5.0.202-x64.deb
Size: 57105162
MD5sum: 8c762eace12a55940a48779b274aa724
SHA1: 424e8a01467993046a4c3e9c24ef1ec93d6ffaf8
SHA256: d335eb918ad93d8d42090955e7859710a56279e3bbe3261ae387a40cb39d33c9
SHA512: 0a9ede2ed4f25f2d79700a2930553db22f891186f75969ad37ed55ea42c9bd2cf266959f600e0cc0288685e4b3a65a2b72905e75e770089f2dc76e238ecf3f14
Description: Microsoft .NET SDK 5.0.202
 .NET is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/dotnet/core). We happily accept issues and PRs.
Homepage: https://dotnet.github.io/core

So the expected SHA-256 hash of the file pool/main/d/dotnet-sdk-5.0/dotnet-sdk-5.0.202-x64.deb is d335eb918ad93d8d42090955e7859710a56279e3bbe3261ae387a40cb39d33c9 according to the Package index.
However the file in question has the SHA-256 hash 7612ea0058043ef44665071f0360de87856353141e427390ee7181e219062ae5:
$ curl -s https://packages.microsoft.com/repos/microsoft-debian-stretch-prod/pool/main/d/dotnet-sdk-5.0/dotnet-sdk-5.0.202-x64.deb | sha256sum
7612ea0058043ef44665071f0360de87856353141e427390ee7181e219062ae5  -

https://packages.microsoft.com/repos/microsoft-debian-stretch-prod/pool/main/d/dotnet-sdk-5.0/ indicates that the file dotnet-sdk-5.0.202-x64.deb was last changed on 06-May-2021 17:01. So maybe the package index is faulty.

@leecow @vseanreesermsft

Behavior confirmed and yes, I would also suspect an index issue. I suspect it will be easier to republish the affected version which should force an update to the index.

Looks like that took care of it:
root@005c180724ab:/SOURCE# curl -s https://packages.microsoft.com/debian/9/prod/pool/main/d/dotnet-sdk-5.0/dotnet-sdk-5.0.202-x64.deb | sha256sum
7612ea0058043ef44665071f0360de87856353141e427390ee7181e219062ae5  -
root@005c180724ab:/SOURCE# curl -s https://packages.microsoft.com/repos/microsoft-debian-stretch-prod/dists/stretch/main/binary-amd64/Packages.gz | zgrep -C9 'Filename: .*/dotnet-sdk-5.0.202-x64.deb'

Package: dotnet-sdk-5.0
Priority: standard
Section: devel
Installed-Size: 222041
Maintainer: Microsoft<EMAIL_ADDRESS>Architecture: amd64
Version: 5.0.202-1
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libstdc++6 (>= 4.4.0), dotnet-runtime-5.0 (>= 5.0.5), netstandard-targeting-pack-2.1 (>= 2.1.0), aspnetcore-runtime-5.0 (>= 5.0.5), dotnet-targeting-pack-5.0 (>= 5.0.0), aspnetcore-targeting-pack-5.0 (>= 5.0.0), dotnet-apphost-pack-5.0 (>= 5.0.5)
Filename: pool/main/d/dotnet-sdk-5.0/dotnet-sdk-5.0.202-x64.deb
Size: 57105162
MD5sum: 15f9aae6f0633d7608ca85969b9c6d05
SHA1: cdb68858bcdcfe5bf7bcc0f732d445b236df2a07
SHA256: 7612ea0058043ef44665071f0360de87856353141e427390ee7181e219062ae5
SHA512: 4df75daabd44772ffe099ffe2d96b482f90b1895641f0a85c172e9238d2024dd577b8873c40578e30f066b1a768b5c6eb7b43c81767114f9e5c6ce9646af38de
Description: Microsoft .NET SDK 5.0.202
 .NET is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/dotnet/core). We happily accept issues and PRs.
Homepage: https://dotnet.github.io/core

Thanks for the quick fix, Lee.
What about my other request?
Quote: It would be great if packages.microsoft.com would contain a file with contact information.
IMHO it would be really helpful if there would be a http://packages.microsoft.com/contact.txt (or similar) that explains how to report issues. I just happened to find a similar older bug and also filed a bug here...

:(  2021-12-12 14:23:58.799686:
"gpgv: Signature made Fri Dec 10 19:49:09 2021 CET using RSA key ID BE1229CF",
"gpgv: Good signature from "Microsoft (Release signing<EMAIL_ADDRESS>"ERROR: unable to update: download errors:",
"  https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/d/dotnet-sdk-5.0/dotnet-sdk-5.0.202-x64.deb: md5 hash mismatch "15f9aae6f0633d7608ca85969b9c6d05" != "8c762eace12a55940a48779b274aa724"",
"  https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/msft-identity-broker/msft-identity-broker_1.0.0~alpha01_all.deb: md5 hash mismatch "361f40f49e84ef3f677b9e3f0672b5e3" != "c8f3f9d52d97bfaf1e63ec8e0b8efec7""


Unexpected error while creating Hungarian translation

Is your feature request related to a problem? Please describe.
First of all, thank you for your work, the plugin is very useful for me. I have translated the en.json of v2.0.0b7 into Hungarian. (Can be found in the attachment) but even if I create the hu.json locally, it doesn't seem to work. Do I need to change something else so that it is handled? Or did I make a mistake with the syntax?
hu.json

Found the error, a damn comma...


Model.objects.all() won't refresh after deleting an object

This might be a usage issue rather than a bug, I'm not sure.  I've posted details here.

this is most likely an eventual consistency issue. if you wait a bit, does that object disappear?

Yes, as soon as I refresh the page.

ok, pretty sure its an eventual consistency thing and not a bug. on appengine, if you do a regular query, then you may not see the most recent changes in the datastore. there are ways around this, but only in specific cases. Model.objects.all() is not one of those cases.
take a look at django-nonrel/djangoappengine#10 for a patch to support ancestor queries. those allow you to get strong consistency on certain queries.


Make multiple plug-ins visible

By adding some sort of info or arrows that encourages the user to scroll left/right on the card to switch between them.
I, for one, thought there was only 1 plug-in (whatever random one I got when opening the app).

I would say it would be better to have the plugins on both sides almost "peek in". Meaning just show a little sliver on each side of the one that is being shown up front.

It's implemented in the newest preview version. Thanks for your suggestion.


chore: Update version and docs for Idempotency GA

Please provide the issue number

Issue number: #524
Summary
Idempotency GA
Changes

Please provide a summary of what's being changed

User experience

Please share what the user experience looks like before and after this change

Checklist
Please leave checklist items unchecked if they do not apply to your change.

[x] Meets tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

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

Comparison is base (ce0de0f) 72.28% compared to head (04cb70b) 72.18%.

:exclamation: Current head 04cb70b differs from pull request most recent head 274ad3b. Consider uploading reports for the commit 274ad3b to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #525      +/-   ##
===========================================
- Coverage    72.28%   72.18%   -0.10%
===========================================
  Files          101      101
  Lines         4106     4106
  Branches       418      418
===========================================
- Hits          2968     2964       -4
  Misses        1025     1025
- Partials       113      117       +4

Flag
Coverage Δ

unittests
72.18% <ø> (-0.10%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Ansible FAILED! => playbook: start.yml; TASK: wait for PD up; message: {"changed": false, "module_stderr": "Shared connection to <IP_ADDRESS> closed. \r\n", "module_stdout": "Traceback (most recent call last):\r\n  File "/tmp/ansible_l2N5W8/ansible_module_wait_for.py", line 579, in \r\n    main()\r\n  File "/tmp/ansible_l2N5W8/ansible_module_wait_for.py", line 519, in main\r\n    response = s.recv(1024)\r\nsocket.error: [Errno 104] Connection reset by peer\r\n", "msg": "MODULE FAILURE", "rc": 1}

Please check the communication between nodes.

This issue has been marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you are still experiencing this issue, please test against a recent version of TiDB Ansible, and open a new issue with a full reproducer showing this issue.


Hint the user to update the app if unknown protobuf fields were found

In the case, the user wants to verify a card and the parser (or rather the hash algorithm) finds unknown fields  in the protobuf, we might want to hint the user that either the scanned card is invalid or his app is outdated.
Especially, activating a card should be denied when it contains unknown fields, and we should check if an app update is available.
Originally posted by @michael-markl in https://github.com/digitalfabrik/entitlementcard/pull/787#discussion_r1097483562
We should be very cautious, though: It is not desirable, that an "attacker" can trigger this warning by simply generating a QR code with unknown fields.

we can implement this if we have an use case for this. For example a new import field gonna be added to protobuf


Docs updates for 1.0.2

I've reviewed the first four commits, and understand that work is ongoing here.  Please feel free to merge to master and publish when you're happy with the final things that were in progress as I wrote this.  👍


-inf or Zero loss values

Hi,
Thank you for providing your paper's code.
I'm quite curious about how I will use MINE in my code.
I add the output of the MINE torch model to the adversarial loss to train the generator (with Wasserstein loss).
But my issue is that I either receive -inf (if I don't utilize gradient normalization) or values that are so near to zero (1e-5), implying that the generator output and the real image are utterly misaligned (am I right?)
And this small loss will never differ from zero.
Do you have any ideas about why this is occurring? Should Increase the complexity of the MINE network or iterate more on MINE loss?

Hi,
Did you solve your problem?
Could you tell me how to solve it?
thanks


Combined balance?

Got some feedback in miami that people prefer a combined balance up top (while still showing the breakdown of individual accounts). Can riff on it a bit in figma and see if we find something we like

I fully get it's a preference but after all the trouble wallets have trying to do this and maintain it during high fee environments, I think it's better that we wait till splicing towards the end of the year.

did this in the social redesign


Tree Visual Bugs Lush Planet

Description
There is a visual bug for one of the trees at the spawning location in the Lush game area where half of one tree is missing, and there is a tree canopy without a trunk.
How To Reproduce
Steps to reproduce the behaviour:

Go to the ship on Earth
Go to the second planet
See error at the bottom left of the screen.

Screenshots

Fixed! It was to do with the sprite being wrong, and having incorrect sizes. There is still a slight issue with flowers being on the layer though.


#8 2/2 - Add getLabels-func + copy labels functionality from one repo to others

I added a new function + a flow where I ask the user if he wants to copy labels from one repo to others.
It's the second bulletpoint from issue #8
It may come to merge conflicts when PR #22 will make his way in the master (both branches are from master and both branches have console.logs added to 'createLabel()'
++ function getLabels
++ first flow by asking the user if he want to copy labels from an existing repo to others
connects to #8

Awesome work @codingCookie


[Timepicker] Fixes ordinal switch to 'am' onChange of hours.

if the selected hours is already >= 12 ('pm'), this addresses the
inconvienence of the component switching back to < 12 ('am') on any
change of hours. This makes the ordinal change explicit.

Thanks @DefiantBidet


Use of crossover filter on multi-channel data

Hi,
Thank you for developing this package. I have a question while using it. Suppose I have decomposed a signal into subbands by doing
output = pyfar.dsp.filter.fractional_octave_bands(signal, 1)
bands, _ = pyfar.dsp.filter.fractional_octave_frequencies(1)

and want to combine them back using
combined = pyfar.dsp.filter.crossover(output, 4, bands)

Maybe I'm not understanding the DSP enough: I thought each channel in output would be filtered by one corresponding band-pass (and low or high-pass) filter in the crossover filters so that I can combine the filtered channels them into a "full-band" signal. But the above process gives me the combined signal shaped as a 10 x 10 x signal_len. Reading the code for filter.process() seems it is designed to be this way.
https://github.com/pyfar/pyfar/blob/83a1fca284f0b0a33a06fecf2f4f2ba6bf672c33/pyfar/classes/filter.py#L228-L232
My question is if this is by design, doesn't this scheme create a lot of redundancies, because when doing crossover we'd expect to do N filterings instead of NxN (or am I wrong here), and I'm only going to add up combined[i][i] for each channel?
Thanks,
Zhenyu

Hi Zhenyi,
fractional_octave_bands and crossover are both filter banks, i.e., they will always return more channels than the original signal had. You can find examples for them in the newly introduced concepts: https://pyfar.readthedocs.io/en/latest/concepts/pyfar.filter_types.html
If you want to join the signals after processing you'll have to manually sum them, as there is currently no function to do that:
import numpy as np

output_joined = output.copy()
output_joined.time = np.sum(output_joined.time, 0)

Note that fractional_octave_bands is not perfectly reconstructing, this means, that output_joined will not be the same as output. If this is required you should consider reconstructing_fractional_octave_bands
Best, Fabian


Push notifications not sent

[x] You've met the prerequisites.

[x] You're running the latest version of Parse Server.

[x] You've searched through existing issues. Chances are that your issue has been reported or resolved before.

Environment Setup
Nothing special
Steps to reproduce
Using Parse Android SDK 1.13.0 and parse-server version 2.2.2
Logs/Trace
Parse Server Verbose trace:
POST /parse/push { 'user-agent': 'node-XMLHttpRequest, Parse/js1.8.1 (NodeJS 5.8.0)',
accept: '/',
'content-type': 'text/plain',
host: 'localhost:1337',
'content-length': '311',
connection: 'close' } {
"channels": [
"SOME_CHANNEL"
],
"data": {
"title": "dummy title",
"message": "dummy message",
"action": "ACTION",
"senderId": "4zSfKw2T5b"
}
}
response: {
"response": {
"result": true
}
}
response: {
"response": {
"result": "sent"
}
}
DB Record
{ "_id" : ObjectId("56f45b891eb3cdae4d74d160"), "objectId" : "WWfLEatYht", "pushTime" : "2016-03-24T21:26:33.921Z", "_created_at" : ISODate("2016-03-24T21:26:33.921Z"), "query" : "{"channels":{"$in":["SOME_CHANNEL"]}}", "payload" : { "title" : "dummy title", "message" : "dummy message", "action" : "ACTION", "senderId" : "4zSfKw2T5b"}, "source" : "rest", "title" : null, "expiry" : null, "status" : "succeeded", "numSent" : 0, "pushHash" : "d1eeaba5cb95ce819c32efe295b2fe96", "_wperm" : [ ], "_rperm" : [ ], "numFailed" : 0}
Can't find anything in server logs even when VERBOSE is set to 1, where can I find GCM request and response?
Possible duplicate #1127

how did you setup parse-server?

@flovilmart nothing special
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();
// Specify the connection string for your mongodb database
// and the location to your Parse cloud code
var api = new ParseServer({
databaseURI: 'mongodb://localhost:27017/chattie',
appId: 'APP_NAME',
masterKey: 'MASTER_KEY',
cloud: __dirname + '/cloud/main.js',
serverURL: 'http://localhost:1337/parse', // Don't forget to change to https if needed
push: {
android: {
senderId: 'SENDER_ID',
apiKey: 'API_KEY'
}
}
});
// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);
// Hello world
app.get('/', function(req, res) {
res.status(200).send('Express is running here.');
});
var port = process.env.PORT || 1337;
app.listen(port, function() {
console.log('parse-server-example running on port ' + port + '.');
});

Okay so obviously those updates weren't in the parse-server 2.2.2 release, what's the timeline for next release?

I'm adding more tests to the parse-server-push-adapter to make sure the protocol to report push is OK and working correctly

@flovilmart would love to help, just give me pointers

clone this repo, add unit tests, with your keys, make sure your device receives the push etc...

@flovilmart I can confirm the GCM adapter is working.


Feature request: ping support for detecting bad connections

Hello,
this is somewhat related to #15, but not completely. I noticed that sometimes bad websocket connections aren't detected by ruby.
So, best practice would be to send a "ping" in regular intervals (ws.send(Time.now.to_i, {type: :ping })) and to do something when there is no reply.
I could implement all that in my code, but helper functions in the simple client would be great :)
Like a way to specify the ping interval, and after what time without reply something happens. E.g. it could emit a "ping_timeout" event.
Does this make sense, is that something that would be useful for more than me? :)
Thanks
Sebastian

"ping_timeout",  a configuration value that does nothing if nil (or 0 ?) is specified, would help existing users avoid dealing with breaking changes.
Anyone who waiting for this feature, please comment here.


Added Game tic-tac-toe.py

do not add two different commits for PR,no need to update bubble sort,we have stopped accepting DSA PRs.


error with keyword argument "options" - : 'REGISTER' not found in ('KEYMAP_FALLBACK')

error with keyword argument "options" - : 'REGISTER' not found in ('KEYMAP_FALLBACK')

just delete 'REGISTER'

you better commit it brother, its a breaking change if happens on >=3.0.0


Improve developer onboarding docs

I've tried to make it easy to get started with PRQL development, but I'm not sure whether that's been successful, so I'd really like feedback on what's currently missing.

Is DEVELOPMENT.md clear?

Other contiguous files are CONTRIBUTING.md & USING_DOCKER.md, which we could combine / split up more.

Do people use the task setup-dev? Would folks prefer a copy-pasta?

At least a copy-paste to get to being able to run cargo insta test? (as discussed with @aljazerzen on Discord)
FWIW I use task setup-dev a lot to update my dependencies, I do think there are some great advantages to having something encapsulated & tested. But probably it's not for everyone. (@aljazerzen doesn't use it)

Should we more clearly indicate what is required to get set up in that doc vs. general commentary? We want to have something that someone looks at and thinks "OK that will take 2 min, let's do it"
Would folks use a Codespaces? We could provide a template.

What are good projects which have done this well? I've been chatting with @charliermarsh — ruff has had huge success at getting new contributors. Their equivalent doc is https://github.com/charliermarsh/ruff/blob/main/CONTRIBUTING.md. Their environment is simpler — just cargo install cargo-insta, no other targets / language bindings / website tools. So my guess is that the distinction between the projects is more in how easy it is to do a PR, rather than getting set up, but very open to thoughts / feedback.
Thanks in advance, all comments welcome

I prefer:

my editor of choice over Codespaces,
basic rust toolchain over helpers that I don't understand fully.

I don't know what other people use, so any feedback from @MarinPostma, @BlurrechDev, @boramalper or @JettChenT would be appreciated.

Hi! To provide some feedback on my onboarding process for developing:

I did use task setup-dev. The DEVELOPMENT.md is pretty clear on how to set up the development environment.
Codespaces would be useful, as the target folder for building this project takes up several gigabytes of storage, which could become a burden for developers who have limited storage space available.

This got lots of changes, so closing


Password input on OS X

The OS X terminal has some special provisions for entering passwords. According to Stack Overflow, “Terminal enters this mode when it sees that the TTY device is configured for canonical (aka ‘cooked’) mode and character echo is off”. It would be nice if getpass were able to trigger this.

Sadly all that node.js gives us for this is the setRawMode() call on ttys -- which calls uv_tty_set_mode from libuv. You can see exactly what it does here: https://github.com/libuv/libuv/blob/v1.x/src/unix/tty.c#L216 -- and also see that there is no way to make it turn off ECHO without also turning off ICANON (canonical mode).
You could happily do this in a C extension yourself, but then you have to fight the endless wars of node C API/ABI instability and version breakage. One of the reasons I made this module was to do it in pure Javascript without dealing with that.
So... I'm sorry, but I don't think it's going to happen. Maybe we could make a C extension as an optionalDependency of this module -- like the way that bunyan does dtrace-provider -- so that if it fails to build it falls back to the pure JS code... but that's been pretty flakey lately, too (npm doesn't seem to care very much about testing optionalDependencies build failures)

Thanks for the thorough response. None of your suggestions sounds worth it, as you'd already concluded.


crash when mismatch between DTSTART and RRULE

seen but needs documentation of crash when following occurs:
if DTSTART is of type DATETIME and if RDATE if of type DATE then it is believed to create following crash:

File "/Users/entolusis/git/pyCal2PDF/venv/lib/python2.7/site-packages/pyICSParser/pyiCalendar.py", line 1249, in _flatten
t_res = t_res + [val for val in rdates if val not in t_res and val>=tmp_event["DTSTART"] and  val>=WindowStart and val<WindowEnd]
TypeError: can't compare datetime.datetime to datetime.date

on version pyICSParser v0.6.2a10

easy fix was to touch the ics file
-> need to add fix in the code


Call .start_worker to start the runner in run_single_worker.rb

We need to do this because MiqWebServerRunnerMixin overrides .start_worker to start the rails server. This needs to happen.
Broken in 7776e35c877e2ee344f858dbd3c46d58543a2b16
Without this change, you cannot access the UI using foreman start

@carbonin can we possibly do something like this instead (don't know if it is "better" though):
diff --git a/app/models/mixins/miq_web_server_runner_mixin.rb b/app/models/mixins/miq_web_server_runner_mixin.rb
index f901db3..cc1eebb 100644
--- a/app/models/mixins/miq_web_server_runner_mixin.rb
+++ b/app/models/mixins/miq_web_server_runner_mixin.rb
@@ -15,29 +15,26 @@ module MiqWebServerRunnerMixin
     at_exit { do_exit("Exit request received.") }
   end

-  module ClassMethods
-    def start_worker(*args)
-      runner = self.new(*args)
-      _log.info("URI: #{runner.worker.uri}")
+  def start
+    _log.info("URI: #{worker.uri}")

-      # Do all the SQL worker preparation in the main thread
-      runner.prepare
+    # Do all the SQL worker preparation in the main thread
+    prepare

-      # The heartbeating will be done in a separate thread
-      Thread.new { runner.run }
+    # The heartbeating will be done in a separate thread
+    Thread.new { run }

-      runner.worker.class.configure_secret_token
-      start_rails_server(runner.worker.rails_server_options)
-    end
+    worker.class.configure_secret_token
+    start_rails_server(worker.rails_server_options)
+  end

-    def start_rails_server(options)
-      require "rails/commands/server"
+  def start_rails_server(options)
+    require "rails/commands/server"

-      _log.info("With options: #{options.except(:app).inspect}")
-      Rails::Server.new(options).tap do |server|
-        Dir.chdir(Vmdb::Application.root)
-        server.start
-      end
+    _log.info("With options: #{options.except(:app).inspect}")
+    Rails::Server.new(options).tap do |server|
+      Dir.chdir(Vmdb::Application.root)
+      server.start
     end
   end
 end

Is there a reason we don't want this in the forking worker code?
Alternatively we could just hold this change off until we branch Gaprindashvilli?

@carbonin Part of what the current implementation of MiqWorker::Runner is doing is handling SIGTERM in it's own way here:
https://github.com/ManageIQ/manageiq/blob/master/app/models/miq_worker/runner.rb#L131
This won't get called normally unless a worker is killed via a timeout when stopping.  Normally a stop signal is received by by processing it from messages received over DRB as part of the worker runner loop (called from heartbeat):
https://github.com/ManageIQ/manageiq/blob/master/app/models/miq_worker/runner.rb#L330
https://github.com/ManageIQ/manageiq/blob/master/app/models/miq_worker/runner.rb#L330
https://github.com/ManageIQ/manageiq/blob/master/app/models/miq_worker/runner.rb#L263
The SIGTERM rescue in #start is a "oh S4!#, I need to exit", but dumps any work that it was currently doing on the ground.  I was going around this via the signal trap for workers using run_single_worker.rb because they won't want to stop what they are doing when a SIGTERM is called, but continue working until there current work is finished, then break (trap has a higher precedence then the rescue... basically).  This is not functionality that we want in the normal workers though when SIGTERM is called.
Hopefully this makes sense...

Ah okay, thanks for the explanation @NickLaMuro
I was under the impression that you were replacing the current signal handling rather than trying to write something to go along side it.
I'm not sure that we send SIGTERM to any of our workers during normal operation (MiqWorker#kill is implemented with SIGKILL), but if you think there's a chance we do and we should preserve the original behavior, I'll go with your suggestion.

I'm not sure that we send SIGTERM to any of our workers during normal operation (MiqWorker#kill is implemented with SIGKILL)

Yup, you are right @carbonin, my bad.  That said, I would think that customers doing a SIGTERM or similar would be expecting it to die, and not finish what it is doing.
Anyway, hope my suggestion works :crossed_fingers:

@gtanzillo @Fryguy can you guys take a look at this?


Polyglot error

"Polyglot" shows "Package doesn't load". In deps/build.jl I try to fetch a submodule, which fails with the following:
You need to run this command from the toplevel of the working tree.
==============================[ ERROR: Polyglot ]===============================
failed process: Process(`git submodule update --init`, ProcessExited(1)) [1]

Do you have better ideas for fetching submodules?
I'm giving you headaches... sorry about that :/

Did you ever figure this out?

On 06/16/2015 12:41 AM, Iain Dunning wrote:

Did you ever figure this out?

No.. it looks as if pkgeval switches to a different directory?
Is it possible?
But if I run the evaluator locally it works...

It runs it in a nonstandard directory, i.e. ~/pkgtest/.julia/..., but thats all really.

On 06/17/2015 08:29 AM, Iain Dunning wrote:

It runs it in a nonstandard directory, i.e. ~/pkgtest/.julia/..., but thats all really.

So that's the cwd during run("...") in deps/build.jl ?

This is still happening and as PkgEval now pretty much just does Pkg.add and Pkg.test in the default directories, I don't think this is a PackageEval problem.


mysql_install_db script takes an inconsistent amount of time to terminate self

Hello,
In the CI process for our app, we are seeing an inconsistency in terms of how long it takes for mysql_install_db to terminate itself when using DB.newEmbeddedDB. This is becoming an issue as it makes the timed health check flaky.
I have seen anywhere between 5 seconds and over 2 and a half minutes, as below.
Is there any known reason for this inconsistency?
Example log of a longer termination below:
2019/08/27 18:16:09.431 INFO [ManagedProcess] [main] [application] [] Thread is now going to wait for this process to terminate itself: Program [/export/content/apps/application/tmp/MariaDB4j/base/scripts/mysql_install_db, --datadir=
/export/content/apps/application/tmp/MariaDB4j/data/9653, --basedir=/export/content/apps/application/tmp/MariaDB4j/base, --no-defaults, --force, --skip-name-resolve] (in working directory /export/content/apps/application/tmp/MariaDB4j/base)
2019/08/27 18:16:09.641 INFO [ManagedProcess] [Exec Stream Pumper] [application] [] mysql_install_db: Installing MariaDB/MySQL system tables in '/export/content/apps/application/tmp/MariaDB4j/data/9653' ...
2019/08/27 18:18:46.946 INFO [ManagedProcess] [Exec Stream Pumper] [application] [] mysql_install_db: OK

I don't suppose #285 would help?
If not, you'll have to debug it, and maybe raise a PR with an Improvement?
Please support this project via the Sponsor button.

#285 unfortunately does not help.
I've tried debugging the various SQL statements that are run and have been unable to pinpoint one specific statement that causes this to hang. mysql_system_tables_data does throw an error on insertion where ssl_cipher, x509_issuer, x509_subject, and authentication_string do not have defined defaults. Even after updating those, it seems to hang on different parts of the install intermittently.
I ran the script 400 times with different install directories and found times between 5 and 61 seconds, with an average of about 11.22 seconds on my machine.
My proposed fix would be to:

Add defaults to the script that are missing values as per above
Have a timeout and number of attempts on the install script that is configurable. If not defined, it will just wait for the exit (current behavior).

To do this:

Add a destroyed flag to ManagedProcess (watchdog doesn't seem to set this)
Add the attempt loop to DB, if timeout and attempts are defined.

Does this seem reasonable to you? Any further suggestions?

I have created: https://github.com/vorburger/MariaDB4j/pull/299 and https://github.com/vorburger/ch.vorburger.exec/pull/28 to attempt to alleviate some of this issue.

@Anthoknee is this OK to close now?


Remove ResourceT and move to LTS-15.12

The API is using ExceptT on top of IO. This is not a good idea as
it makes the error reporting ambiguous. We should fix this.
At the same time, we were using ResourceT and that now depends on
MonadUnliftIO which was failing the build. Our REST API calls do not
return large bodies. So, I simply removed ResourceT. This allowed for
an easier transition to the newer stackage LTS version.
The library now build on the latest stackage LTS-15.12
Testing on cabal still to be done.

I'm ambivalent about the "ExceptT-over-IO is an antipattern" mantra, feeling that ExceptT is fine for calling out common domain-specific error cases that should be handled as soon as possible. But the minimal set of errors defined in the current codebase don't seem terribly informative, and anyway I'm happy to try another approach. What do you have in mind?
I looked over this PR briefly. Looks good, I'll review properly later today, hopefully.
Does updating to the latest Stack LTS really not require any further changes? If so, we might want to merge this before my old PR, as I think there are a few things related to those changes that were awkward with the old dependency set that I may be able to polish up after rebasing on this. (I just have to remember what those things were, six months later. ...)

I don't know what happened here. It seems something went wrong when... "and then a merge was required for some reason before pushing back to your branch". I --forced a cleanup.


Using calico as overlay network in GKE clusters

In GKE seems like calico can be installed only for network policies. I was looking into installing calico for it's overlay network support but could not find any documentation how that can be accomplished. Is it possible to use calico for it's overlay capabilities on GKE? Using VPC-native which is default in GKE can lead to IP exhaustion so looking to this option.

Unfortunately, the answer is "No, Google don't allow it"

IIUC, Google consider the pod-network to be part of what they're managing for you when you use their managed kubernetes, so they lock it down tight.


Development: Refactor participation access checks

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[ ] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[ ] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I implemented the changes with a good performance and prevented too many database calls.
[x] I documented the Java code using JavaDoc style.

Changes affecting Programming Exercises

[ ] I tested all changes and their related features with all corresponding user types on Test Server 1 (Atlassian Suite).
[ ] I tested all changes and their related features with all corresponding user types on Test Server 2 (Jenkins and Gitlab).

Motivation and Context
While implementing another feature I needed to check access for participations.
Description
Instead of either duplicating code, or making the AuthCheckService depend on programming exercise services which might not be available for all profiles, I added a new service that checks the authorization for participations.
This also simplifies the access checks for participations in other places.
Steps for Testing
ToDo

Prerequisites:

1 Instructor
2 Students
1 Programming Exercise with Complaints enabled

Log in to Artemis
Navigate to Course Administration
...

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Class/File
Branch
Line

ParticipationAuthorizationCheckService.java
ToDo%
ToDo%

Codecov Report

Merging #6384 (86746be) into develop (395abef) will decrease coverage by 4.42%.
The diff coverage is 90.74%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #6384      +/-   ##
=============================================
- Coverage      84.79%   80.38%   -4.42%
+ Complexity     12977    12976       -1
=============================================
  Files           1069     2311    +1242
  Lines          41968    88785   +46817
  Branches        4398    13128    +8730
=============================================
+ Hits           35586    71368   +35782
- Misses          3948     9623    +5675
- Partials        2434     7794    +5360

Impacted Files
Coverage Δ

...rest/ProgrammingExerciseParticipationResource.java
76.78% <71.42%> (+4.85%)
:arrow_up:

...itoryProgrammingExerciseParticipationResource.java
66.42% <71.42%> (+1.68%)
:arrow_up:

...ervice/ParticipationAuthorizationCheckService.java
96.42% <96.42%> (ø)

...ww1/artemis/service/AuthorizationCheckService.java
76.19% <100.00%> (-0.39%)
:arrow_down:

...mming/ProgrammingExerciseParticipationService.java
65.33% <100.00%> (-5.13%)
:arrow_down:

...vice/programming/ProgrammingSubmissionService.java
85.63% <100.00%> (+1.06%)
:arrow_up:

...n/www1/artemis/web/rest/ParticipationResource.java
84.87% <100.00%> (+0.04%)
:arrow_up:

...rtemis/web/rest/ProgrammingSubmissionResource.java
88.74% <100.00%> (+1.16%)
:arrow_up:

...e/tum/in/www1/artemis/web/rest/ResultResource.java
80.00% <100.00%> (+1.05%)
:arrow_up:

... and 1244 files with indirect coverage changes

Flag
Coverage Δ

client
76.41% <ø> (?)

server
84.80% <90.74%> (+0.01%)
:arrow_up:

Continue to review full report in Codecov by Sentry.

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

Codecov Report

Merging #6384 (efd40e8) into develop (395abef) will decrease coverage by 4.41%.
The diff coverage is 90.74%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #6384      +/-   ##
=============================================
- Coverage      84.79%   80.38%   -4.41%
  Complexity     12977    12977
=============================================
  Files           1069     2311    +1242
  Lines          41968    88785   +46817
  Branches        4398    13128    +8730
=============================================
+ Hits           35586    71371   +35785
- Misses          3948     9620    +5672
- Partials        2434     7794    +5360

Impacted Files
Coverage Δ

...rest/ProgrammingExerciseParticipationResource.java
76.78% <71.42%> (+4.85%)
:arrow_up:

...itoryProgrammingExerciseParticipationResource.java
66.42% <71.42%> (+1.68%)
:arrow_up:

...ervice/ParticipationAuthorizationCheckService.java
96.42% <96.42%> (ø)

...ww1/artemis/service/AuthorizationCheckService.java
76.19% <100.00%> (-0.39%)
:arrow_down:

...mming/ProgrammingExerciseParticipationService.java
65.33% <100.00%> (-5.13%)
:arrow_down:

...vice/programming/ProgrammingSubmissionService.java
85.63% <100.00%> (+1.06%)
:arrow_up:

...n/www1/artemis/web/rest/ParticipationResource.java
84.87% <100.00%> (+0.04%)
:arrow_up:

...rtemis/web/rest/ProgrammingSubmissionResource.java
88.74% <100.00%> (+1.16%)
:arrow_up:

...e/tum/in/www1/artemis/web/rest/ResultResource.java
80.00% <100.00%> (+1.05%)
:arrow_up:

... and 1243 files with indirect coverage changes

Flag
Coverage Δ

client
76.41% <ø> (?)

server
84.81% <90.74%> (+0.02%)
:arrow_up:

Continue to review full report in Codecov by Sentry.

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


Is it possible to open with this library a sqlite database that has a password? ( I have the password)

Summary
const sqlite3 = require('sqlite3');
const sqlite = require('sqlite');async function main() {
try {
const db = await sqlite.open({ filename: './LocalData.db', driver: sqlite3.Database });
const rows = await db.all('SELECT * FROM ProductionData');
console.log(rows);
await db.close();
} catch (error) {
console.log(error);
}
}
main();
Proposed implementation
Is it possible to open with this library a sqlite database that has a password? ( I have the password)

If you're using SQLCipher, there's a blog post here detailing how to use it: https://coolaj86.com/articles/building-sqlcipher-for-node-js-on-raspberry-pi-2/
Otherwise, this issue is not detailed enough for me to know your setup. Please re-open an issue if there's a bug or feature request 🙂


Docs - Remove Deploy to GH pages action and serve docs using iota-wiki-cli

Description

Migrated to using iota-wiki-cli to have the same local setup as on the wiki
Removed deploy-docs-to-gh-pages action as we're moving to wiki.iota.org
Removed Docusaurus files which are no longer used

Replaces https://github.com/gohornet/hornet/pull/1187
Type of change
Please delete options that are not relevant.

[x] Enhancement (non-breaking change which adds functionality)
[x] Documentation Fix

How Has This Been Tested?
Docs site was mounted locally within the wiki using iota-wiki-cli.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have made corresponding changes to the documentation
[x] I have tested my code extensively

Merged by hand


Search and Sort on Uplifted Refchains

@jamesagnew will Location.near also be a valid parameter to this _sort?


Added FindAllMods

Works kinda like FindById with all set to true but matches mods based on names instead of IDs.

Doesn't it exist in vanilla already?
https://rimworldwiki.com/wiki/Modding_Tutorials/PatchOperations#PatchOperationFindMod

Doesn't it exist in vanilla already? https://rimworldwiki.com/wiki/Modding_Tutorials/PatchOperations#PatchOperationFindMod

Not exactly, Vanilla's FindMod considers that it is enough to consider a match even if only one of the mods in the list is present, while FindAllMods only matches if all of the mods in the list are present.

Thanks


Speedups, Documentation improvements, and Testing improvements

These are the set of speedups to tobac tracking and feature detection, documentation improvements, and testing improvements that we have been working on.
Feature Detection Speedups
Made several changes to the feature_detection_threshold function resulting in about a 2x speedup over the original tobac code, primarily from removing some operations on the large label array, including using the region properties functions from Scikit image. Results are bitwise identical to the existing feature detection code.
Tracking Speedups
Made improvements to the tracking that makes it up to several million percent faster than existing code for large arrays by removing all of the pandas .loc calls that result in O(N^2) behavior. On my large dataset, this results in tracking taking a few minutes instead of several months.
Documentation improvements
All docstrings have been ported to Numpy Docstring format to have the API reference in the docs. Documentation has been cleaned up and simplified overall, but there is still work to do here.
Testing improvements
New Dockerfile that runs pytest for testing purposes (we have ported to GitHub actions on our side using this Dockerfile for CI).
These changes have been done by @galexsky and myself; note that while @galexsky's changes are not necessarily as thoroughly documented here, he did contribute a significant amount to this codebase.

@freemansw1 : Sean, thanks for your comprehensive update. We currently collect all new stuff in the branch v2.0-dev, here https://github.com/climate-processes/tobac/tree/v2.0-dev . The master is kept at the latest release level (beside some small docu fixes). Could you please redo the PR onto our development branch v2.0-dev ? Thanks, Fabian.

Moving this to a draft PR to both resolve the conflicts and add in more of our optimizations and documentation info.

This PR seems to have gotten messed up; I'm going to close it and open a new one later this week or next with our changes.


FATAL error: Failed to handle request: {id: 3,

Analyzer Feedback from IntelliJ
Version information

IDEA AI-182.5<IP_ADDRESS>14842
2.2.1-edge.571ea80e1101e706980ea8aefa7fc18a0c8ba2ec
AI-182.5<IP_ADDRESS>14842, JRE 1.8.0_152-release-1248-b01x64 JetBrains s.r.o, OS Windows 10(amd64) v10.0 , screens 1536x864, 1920x1080

Exception
Dart analysis server, SDK version 2.2.1-edge.571ea80e1101e706980ea8aefa7fc18a0c8ba2ec, server version 1.24.0, FATAL error: Failed to handle request: {id: 3, method: analysis.setAnalysisRoots, params: {included: [D:\AndroidStudioProjects\flutter_app], excluded: [D:\AndroidStudioProjects\flutter_app\.idea, D:\AndroidStudioProjects\flutter_app\.dart_tool, D:\AndroidStudioProjects\flutter_app\.idea, D:\AndroidStudioProjects\flutter_app\.pub, D:\AndroidStudioProjects\flutter_app\build]}, clientRequestTime:<PHONE_NUMBER>980}
NoSuchMethodError: The getter 'fullName' was called on null.
Receiver: null
Tried calling: fullName
#0      Object.noSuchMethod (dart:core/runtime/lib/object_patch.dart:50:5)
#1      _DartNavigationComputerVisitor._addUriDirectiveRegion (package:analysis_server/src/domains/analysis/navigation_dart.dart:361:47)
#2      _DartNavigationComputerVisitor.visitPartDirective (package:analysis_server/src/domains/analysis/navigation_dart.dart:232:5)
#3      PartDirectiveImpl.accept (package:analyzer/src/dart/ast/ast.dart:8299:49)
#4      _DartNavigationComputerVisitor.visitCompilationUnit (package:analysis_server/src/domains/analysis/navigation_dart.dart:149:12)
#5      CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2170:49)
#6      computeDartNavigation (package:analysis_server/src/domains/analysis/navigation_dart.dart:28:10)
#7      ServerContextManagerCallbacks._computeNavigationParams (package:analysis_server/src/analysis_server.dart:1023:5)
#8      ServerContextManagerCallbacks.addAnalysisDriver.<anonymous closure>.<anonymous closure> (package:analysis_server/src/analysis_server.dart:832:19)
#9      new Future.<anonymous closure> (dart:async/future.dart:176:37)
#10     _rootRun (dart:async/zone.dart:1120:38)
#11     _CustomZone.run (dart:async/zone.dart:1021:19)
#12     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#13     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#14     _rootRun (dart:async/zone.dart:1124:13)
#15     _CustomZone.run (dart:async/zone.dart:1021:19)
#16     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#17     Timer._createTimer.<anonymous closure> (dart:async/runtime/lib/timer_patch.dart:21:15)
#18     _Timer._runTimers (dart:isolate/runtime/lib/timer_impl.dart:382:19)
#19     _Timer._handleMessage (dart:isolate/runtime/lib/timer_impl.dart:416:5)
#20     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/lib/isolate_patch.dart:171:12)

For additional log information, please append the contents of
file://C:\Users\info\AppData\Local\Temp\report.txt.

Thanks for reporting this issue!  This was previously reported in https://github.com/dart-lang/sdk/issues/36182; it  should be fixed now in a recent release  of Dart.


Duplicate verbiage

Greetings,
This article has this verbiage duplicated...
"From inside of the Kubernetes cluster, Webhook Token Authentication is used to verify authentication tokens. Webhook token authentication is configured and managed as part of the AKS cluster."

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

ID: 92b18eba-07a5-dbbf-b697-0264e326f4d4
Version Independent ID: 8c025ef6-38a6-eca5-7729-8f040fbbbe10
Content: Concepts - Access and identity in Azure Kubernetes Services (AKS) - Azure Kubernetes Service
Content Source: articles/aks/concepts-identity.md
Service: container-service
GitHub Login: @palma21
Microsoft Alias: jpalma

@ShaXam-King Thanks for pointing this out.
We have updated the document and changes will go live soon.
Please see the previous doc update done for fixing this here.


Casing of 'Open In Portal' is wrong for database context menu

Storage Explorer Version: 20180424.5(1.0.0)
OS Version: Win10/Mac/Linux
Regression: Not a regression
Steps to Reproduce:

Launch Storage Explorer and expand one Cosmos DB accounts.
Right click database node and check the context menu.

Expected Experience:
Display 'Open in Portal' on the context menu.
Actual Experience:
Display 'Open In Portal' on the context menu.

More info:
This issue doesn't reproduce for Cosmos DB account context menu.

Merged into master.


Release 2.3.3

I am preparing a new minor release.
@carpasse  do we want to include more thinngs? Current state: https://github.com/expressjs/response-time/compare/2.3.2...master

I'd release the current changes for now, and we can save the improvements for the next major update

I just checked the backlog and seems like this release is a patch and not a minor.

Released :partying_face:

GH: https://github.com/expressjs/response-time/releases/tag/2.3.3
npm: https://www.npmjs.com/package/response-time/v/2.3.3