Design improvements

Add a way to display trailers on the homepage
Add some spaces between usefull links buttons. (https://prnt.sc/GzqfsvMaT0UV)
Add some space between singup and singin button (https://prnt.sc/_F0ADUut3sS-)
Advantages
Allow users to promote one videos for the server, for exemple, this could be add under the discord ID
Improve the visual appearance of the theme.

Added in 0906ef72055bd3f0a3794567e275ca89d5b78e8d, release will be published soon


Show existing methods when registering another

Raised as a follow up action from #174
Overview
If a user has at least one method and wants to register an additional method, they can do so through the 'Add another method' in admin/myprofile.
Currently, if there is only one unregistered method available, selecting 'Add another method' will default to the registration screen of that method. This could be improved to first give the user a better idea of what's already registered and what their options are.
User story
As a CMS user registering a new method, I want to see what methods I already have registered before selecting a new one, so that I have a clear idea of what methods are still available for me to use.
Notes

I'm unsure on what the current functionality will be if there are two unregistered methods available. Will it only show these two, or also the one that is already registered?

Potential design
https://invis.io/H2R2N2EFTMY#/321186220_CMS_-_Login_-_2FA_-_Editing_-_Reseting_-_User_Settings
Press Add another method

As a CMS user registering a new method, I want to see what methods I already have registered before selecting a new one, so that I have a clear idea of what methods are still available for me to use.

To be fair, you have a list of your current methods already when you click the "add method" button.
I'm not sure I agree with this story TBH

I see this issue as pretty low impact but I'm keeping it open while the project is ongoing. The designs are an improvement on what's there now.
The user story was purposefully written in a way so that it can be seen current functionality already meets the requirement.

I'm still going to vote not to do this. My reasoning is that it's already obvious to the user what they have installed when they click the button that triggers this screen to be shown, and that introducing methods that are already registered into the UI means we have two ways that this screen can be rendered (CMS: with existing methods, frontend: without) which adds complexity to the code.

Closing this. Any perceived benefit isn't going to be worth the additional work, given what current functionality is already in place.


Fix typehint for AbstractHandler level parameter

The level parameter of the AbstractHandler supports also the PSR levels as strings e.g. \Psr\Log\LogLevel::ERROR or from a ENV variable CUSTOM_ERROR_HANDLER_LEVEL=error.
This will fix issues with phpstan or other static code analyzer when given the level as string.

Thanks


dynamic or static? CRT and Library linking

I've been reading threads, issues, and posts for a while about the c-runtime and the library linking, but I'm still confused about how to set up these two parameters when using mixed triplet, as vcpkg provides separate settings for the two variables.
  set(VCPKG_CRT_LINKAGE static)
  set(VCPKG_LIBRARY_LINKAGE static)

(I'm using Visual Studio under Windows OS)
What I've understood so far (simplified):

CRT Linkage is related to the Md/Mt settings, and related to how modern cpp implementation interprets the c99 code.
The library linkage settings result either the all the libraries are linked statically (exe big, no dll), or dynamically (exe small, have dll, but potentially more linking issues if handled unproperly)
Some library only support / prefer dynamic linking, such as Qt, TBB, etc.

It seems using pure x64-windows triplet where everything is dynamic works most of the time, but there're advantages for using static version at some circumstances. I've tried different combinations (enable either of the two settings or enable both) in my x64-windows-mixed environment and different projects sometimes fail for the compilation.
Here is my question which I still cannot summarise good enough from the posts I read and need to ask here:

Are there specific advantages to use static libraries.
What is the suggested way of setting CRT/Library-linkage combination? I would say I still don't quite understand the need for using either in static mode...

P.S. I used to set both to static and only use dynamic for some libraries like Qt, but that gives me some issue on one of my projects. Then I use static only for the "library linkage", other issues for compilation emerges from some of the libraries...
I already know that once I changed the triplets, I need to re-install the package I used from vcpkg.
It'll be super appreciated if someone can help me to understand the overall concepts and in-between connections.
Thank you.

This is really not vcpkg specific. CRT linking should generally be consistent between all parts of your program unless the library interfaces have been carefully designed  to allow mixing.
Compiling some libraries into shared libs and some into static should work in principle, but there can always be library specific reasons, why a particular combination doesn't work.

Please reopen if it still be a probem for you.


World.CurrentDate does not return

I tried to receive the current day of the week but this little spike demonstrates World.CurrentDate does not return because the spike can't make it to UI.ShowSubtitle anymore.
using System.Windows.Forms;
using Cyron43.GtaV.Common;
using GTA;
namespace GTAVSpikes
{
///
/// Do whatever you currently need to research here.
///
public class DynamicSpike : Script
{
public DynamicSpike()
{
KeyDown += OnKeyDown;
UI.Notify("Spike is running.");
}
  private void OnKeyDown(object sender, KeyEventArgs e)
  {
     var testKey = new KeyContainer
                   {
                      Alt = false,
                      Ctrl = false,
                      Key = Keys.Space,
                      Name = "Test",
                      Shift = false
                   };
     if(KeyHandlingCommons.KeyIs(testKey, e))
        DoTest();
  }

  private void DoTest()
  {
     UI.Notify("DoTest called.");
     var weekDay = World.CurrentDate.DayOfWeek;
     UI.ShowSubtitle("Today is " /* + weekDay*/); //Shows only when the line before is commented out.
  }

}
}

Any errors in the logs?

Because gta date != "normal" date. In gta all months have 31 day. If your current game month is February and current game date is 30 - DateTime can't parse that.
We should use our own class for these purposes (something like this).

Log:
[17:18:41] [ERROR] Caught unhandled exception:
System.ArgumentOutOfRangeException: Die Parameter "Year", "Month", und "Day" beschreiben eine nicht darstellbare DateTime.
bei System.DateTime.DateToTicks(Int32 year, Int32 month, Int32 day)
bei GTA.World.get_CurrentDate()
bei GTAVSpikes.DynamicSpike.DoTest()
bei GTA.Script.MainLoop()

Also, month can be from 0 to 11.

One more: after 31.11.2013 new year becomes... 2010.

Doesn't crash anymore but it returns the wrong weekday.

@RainerHilmer because your current gta date corresponds to rules of normal date.
We donэt need to use DateTime object.

Fixed in feature/date. Will be merged once 2.0 is ready

:+1:

Yeah, they should only be closed once merged into the development branch.


How to write database URL in .env file (backend)?

Hello @ceIery @ProfDema @akshitgoyal @shubhbapna @shivangipathak01 ,
I am getting an error while deploying the backend server due to database URL bad format, i tried many formats:
DATABASE="myfirebaseprojectname"

DATABASE="myfirebaseprojectname.com"

DATABASE="myfirebaseprojectname.firebaseio.com"

DATABASE="https://myfirebaseprojectname.firebaseio.com"

None of those formats worked.

Error i am getting:

Can't determine Firebase Database URL.
    at FirebaseDatabaseError.FirebaseError [as constructor] (/home/user/blockchain-final-presentation/backend/node_modules/firebase-admin/lib/utils/error.js:44:28)
    at new FirebaseDatabaseError (/home/user//blockchain-final-presentation/backend/node_modules/firebase-admin/lib/utils/error.js:205:23)

Thank you

The format should be similar to the last one i.e. include the "https://"
From the docs, it says that firebase database url is constructed as ".firebaseio.com" or  "..firebasedatabase.app". Note that project name is different from database name.
You should be able to get the database name in firebase console. After you get the the database name, set the DATABASE env value as:
DATABASE="https://.firebaseio.com"


THRIFT-4896 - prevent cpp and c_glib include directories from leaking into other targets

configure.ac uses AC_CONFIG_HEADERS for cpp and c_glib to generate config.h files. However automake by default will add the parent directory of the config.h files to the DEFAULT_INCLUDES variable, which appears to be used in all other projects. This leaks the include paths to other targets that probably don't want them. Currently, it's not an issue, but I am looking at adding Objective-C (Cocoa) tests, and these classes use the same Thrift library header file names as the C++ library, which come first in the include path. This ends up trying to compile C++ for Objective-C, which fails.
To fix this, we can turn on the nostdinc option, which disables the default include directories. This requires adding back the include directories to some targets.
I tested by compiling:
--with-c_glib \
--with-cpp \
--with-libevent \
--with-lua \

[x] Did you create an Apache Jira ticket?  (not required for trivial changes)
[x] Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?  (not required for trivial changes)
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[ ] If your change does not involve any code, add  [skip ci] at the end of your pull request to free up build resources.

You can use the thrift docker container to leverage the same build environment the CI system uses to test with, in an environment where most of the languages are installed.  See https://github.com/apache/thrift/tree/master/build/docker

@jeking3 that seemed to have fixed it. Once of the Travis jobs failed for seemingly unrelated issues.


[Android]Call Video has sound, but no image，what happened？

I use this plugin, call the video, can only hear the sound, but no image, how is it?
init：
<Video
                  ref={(ref) => {
                    this.player = ref
                  }}
                  repeat={false}
                  paused={this.state.paused}
                  muted={this.state.muted}
                  resizeMode="cover"
                  onEnd={this.onEnd}
                  source={{uri: videoUrl}}
                  style={ videoStyle }
                  onLoad={this.onVideoLoaded.bind(this)}
              />

errorLog:
08-31 11:41:12.492 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake false uid: 10159, pid: 20630
08-31 11:41:12.511 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake false uid: 10159, pid: 20630
08-31 11:41:17.764 20630-20630/com.jnexpert.jnexpertapp W/MediaPlayer: setScreenOnWhilePlaying(true) is ineffective without a SurfaceHolder
08-31 11:41:17.765 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake false uid: 10159, pid: 20630
08-31 11:41:17.766 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake false uid: 10159, pid: 20630
08-31 11:41:17.768 20630-20630/com.jnexpert.jnexpertapp W/MediaPlayer: Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No content provider: http://flashmedia.eastday.com/newdate/news/2016-11/shznews1125-19.mp4
08-31 11:41:17.768 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: setDataSource(http://flashmedia.eastday.com/newdate/news/2016-11/shznews1125-19.mp4)
08-31 11:41:17.871 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake false uid: 10159, pid: 20630
08-31 11:41:17.875 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake false uid: 10159, pid: 20630
08-31 11:41:17.875 20630-20630/com.jnexpert.jnexpertapp W/MediaPlayer: Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No content provider: http://flashmedia.eastday.com/newdate/news/2016-11/shznews1125-19.mp4
08-31 11:41:17.876 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: setDataSource(http://flashmedia.eastday.com/newdate/news/2016-11/shznews1125-19.mp4)
08-31 11:41:24.134 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake true uid: 10159, pid: 20630
08-31 11:41:31.306 20630-20630/com.jnexpert.jnexpertapp I/MediaPlayer: [HSM] stayAwake false uid: 10159, pid: 20630

equipment：
rn: 0.37
react-native-video: 0.9.0
help me, thanks

I have been having the same problem. I noticed that this happens only on an emulator but works fine if use a real device. Not sure where the problem is (e.g with this package or something else?)

I have been having the same problem ,because i did not set the width and height of the Video.

Ladies and gentlemen, the reason for my problem is that the hardware acceleration attribute is not enabled in the Android code.
detail


Support multiple uploads

If an image or file widget has property media_library.config.multiple set to true, and is using an external filesystem (eg. Cloudinary or Uploadcare) – then the widget type should resolve to string[], as the widget data type is saved as an array of strings.
In other cases the data type should be string.

Added in v2.0.0 🎉


Use FileUpdateChecker as file watcher

This proves a bit more reliable when updating the codebase outside of
the VM.

Thank you @alecgibson I have removed the comment.


fix: Use get outbound payment scid for routing hints

Gets the current SCID which should be used to identify this channel for outbound payments. This should be used in Routes to describe the first hop or in other contexts where we're sending or forwarding a payment outbound over this channel.
This is either the ChannelDetails::short_channel_id, if set, or the ChannelDetails::outbound_scid_alias. See those for more information.
Obviously, the inbound_scid_alias was wrong since it is outbound from the coordinator point of view.

Cool in theory, but are the tests failing because of it?

I was using the inbound instead of the outbound alias. Obviously, the inbound doesn't make sense when the coordinator needs to forward the payment on the payment channel.

Even better, we actually do not have to ping the coordinator to create that routing hint. We can simply create the invoice on the app side and use the inbound_scid_alias.


[YAML] Get simulated clusters related code to merge clusters/commands/attributes for real clusters and simulated clusters to be into a dedicated file

Problem
When adding some test commands for YAML, there are multiple places where the new simulated cluster code needs to be added. This patch just shuffle the code so there is a single place.
Testing
I have verified that codegen does not change with this PR.

fast track: test logic updates, small patch, several checkmarks


feat(ComboButton): Move to canary

Contributes to #2075
Moving to Canary
What did you change?
carbon.yml, story-structure.js, package-settings.js.
How did you test and verify your work?

Duplicate of #2130


Actors don't seem to be getting garbage collected?

I'm running ponyc from the master branch (commit afc74c61e500dbc5e5e04ce227f978cb52c777cc) on an x86-64 machine with 4 cores.
While testing the following very small program, it seems that the peak memory usage of the program (as measured by /usr/bin/time -v), and also the memory usage of the program at time of exit (as measured by setting a breakpoing in the _exit symbol and inspecting memory usage when the breakpoint is hit) is directly proportional to N(), e.g. reaching 1.2 GB of memory when N() is 2 million, 1.8 GB if N() is 3 million, etc:
primitive N fun apply(): U64 => 2_000_000

actor Test
        new create(n: U64) =>
                if n == 0 then return end
                Test(n - 1)

actor Main
        new create(env: Env) =>
                Test(N())

Since at least in theory, after a given instance of Test.create() has finished, the actor that finished running can be garbage collected, isn't there a memory leak here (presumably related to actors not being GCed)? Or is this expected?
It also seems that setting --ponycdmax 8 or --ponycdmax 4 doesn't help, but setting --ponythreads to 1 did reduce peak memory usage from 1.2 GB to ~300 MB.

What happens if you move the creation of the next actor out of the constructor and into a behaviour - for example,
actor Test
  new create(n: U64) =>
    if n == 0 then return end
    create_next(n - 1)
  be create_next(n: U64)
    Test(n)

@jemc I just tried that, and it behaves the same as if the creation of the next actor was in the constructor, i.e. the memory usage is still the same (very high) and proportional to N().
In fact, I ran into this problem in a more complex program that didn't create actors in the constructors, but in an attempt to create a minimal test case, I wrote the simplest one I could that still exhibited this behavior.

Some more data: I built ponyc with use=valgrind and then ran the test program (with N() = 1_000_000) under valgrind:
$ valgrind ./test
==31163== Memcheck, a memory error detector
==31163== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==31163== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==31163== Command: ./test
==31163==
==31163==
==31163== HEAP SUMMARY:
==31163==     in use at exit: 429,136,620 bytes in 4,180,030 blocks
==31163==   total heap usage: 11,642,957 allocs, 7,462,927 frees, 955,428,440 bytes allocated
==31163==
==31163== LEAK SUMMARY:
==31163==    definitely lost: 704 bytes in 4 blocks
==31163==    indirectly lost: 0 bytes in 0 blocks
==31163==      possibly lost: 0 bytes in 0 blocks
==31163==    still reachable: 429,135,916 bytes in 4,180,026 blocks
==31163==         suppressed: 0 bytes in 0 blocks
==31163== Rerun with --leak-check=full to see details of leaked memory
==31163==
==31163== For counts of detected and suppressed errors, rerun with: -v
==31163== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 1 from 1)

So it seems that at exit, there was more than 400 MB of heap memory in use, i.e., the memory allocations weren't lost, but they weren't freed either.

@wizeman what's your more complex case its possible that your simple case is exhibiting a different issue.

@SeanTAllen it's a test/benchmarking program that spins-up an actor assigned to the root directory. This actor reads the directory and for each entry in the directory, it prints out the path and spins-up a new copy of itself assigned to that entry.
In the end, all the actors will end up traversing the entire filesystem tree (without following symlinks) and print out all the files in it. I was interested in seeing how it would behave, in terms of performance and memory usage, but right now it simply consumes all the memory in the system and gets killed by the Linux OOM killer.
Given my estimate of memory usage per actor, that I have less than 3 million inodes on my local filesystem, and that pony was supposed to GC an actor as soon as it finished reading a directory (or finding out the assigned entry wasn't a directory), it didn't make sense to me that it would consume all memory, so I wanted to see if this was a problem in the pony implementation, and that's why I created this simpler test case.

This one is a bit tricky.
@dipinhora and I came up with a fix for a similar problem to this one (which will land eventually).
However, this is slightly trickier.
The key to the fix that Dipin and I came up with was that when done running its behaviors, an actor can see if it has no additional messages AND no references to itself and can then tell the cycle detector to skip parts of the CD protocol and garbage collect sooner.
The above change allows for the cycle detector to keep up with many cases of generating large amounts of "one shot" actors.
The example:
primitive N fun apply(): U64 => 2_000_000

actor Test
        new create(n: U64) =>
                if n == 0 then return end
                Test(n - 1)

actor Main
        new create(env: Env) =>
                Test(N())

is more difficult because at the time that an instance of Test is done running its create behavior, it doesn't have a reference count of 0. It has a reference count of 256. Not because there are 256 references but because, the ORCA protocol, when an actor is created puts a "fake value" in the rc value such that an actor isn't gc'd prematurely. The value will be set to the correct value once the actor that created it is first traced and will be subsequently updated correctly per ORCA going forward.
However, at the time that an instance of Test is finished running its create, that information isn't available. It would be incorrect to say "if rc is 256, I'm blocked and you can gc me". 256 is a perfectly reasonable value for an rc to be in normal usage.
So what currently happens even with the fix that Dipin and I developed with this case is that there is run away memory growth as the number of actors created vastly outstrips the ability of the cycle detector to notice that they are gc-able and to gc them.
I haven't thought of a solution to that problem without changing how ORCA works that would keep up with this case. I have come up with ideas that would slow the rate of memory growth, but would only momentarily put off the impending OOM.

@SeanTAllen - thanks for taking the time to write this up.
I wonder if it would be helpful to introduce some static analysis in the compiler, to reduce unnecessary pessimism in the ORCA dance for these "one shot" actors.
For example, if the compiler can detect that the constructor value is discarded/unused by the constructor-caller, does that help the situation? That is, it would prove that any capture of the new actor's reference, if it happens at all, must happen during/after the (asynchronous) execution of its constructor, via message passing in which the actor sends out references to itself in later messages. Would this help?

@jemc that could be possible yes.
the create step is here in actor.c:
https://github.com/ponylang/ponyc/blob/master/src/libponyrt/actor/actor.c#L539
And the particular code is:
https://github.com/ponylang/ponyc/blob/master/src/libponyrt/actor/actor.c#L560
Where because context is not NULL, we set the rc count to GC_INC_MORE:
https://github.com/ponylang/ponyc/blob/master/src/libponyrt/actor/actor.c#L563
Given that pony_create is only called via some generated code from codegen.c and a couple other places AND called directly to create the cycle detector, modifying it would be straightforward if the static analysis could be done.


Inconsistent .gitignore handling of symlinks in cargo package

Problem
cargo package does not handle .gitignore rules the same as git for symlinks. Specifically, in .gitignore, /symlink will match a symlink whether even if it is a symlink to a directory, whereas Cargo will not match symlink in that case, causing it to fail to ignore the symlink and its target.
Similarly, /symlink/ in .gitignore will ignore the files under symlink in git, but not the symlink itself, whereas Cargo just dereferences the symlink and includes the referent directory contents, and essentially ends up ignoring the /symlink/ rule.
Furthermore, Cargo's behavior changes if --allow-dirty is passed. See below.
Steps
$ cargo new cargo-symlink-ignore
$ cd cargo-symlink-ignore
$ ln -s src/ src1
$ echo '/src1' >> .gitignore
$ ln -s src/ src2
$ echo '/src2/' >> .gitignore

Now, cargo --allow-dirty:
$ cargo package -l --allow-dirty | grep -v Cargo
src/main.rs
src1/main.rs
src2/main.rs

Notice that the files under both symlinks are included, and no actual symlinks are included.
Now, commit and try again without --allow-dirty:
$ git add .
$ git commit -m "x"
$ cargo package -l | grep -v Cargo
.cargo_vcs_info.json
.gitignore
src/main.rs
src2/main.rs

Ignoring the .cargo_vcs_info.json file, and the fact that .gitignore is now included(?), notice that this now (correctly) does not include src1 or the contents of its referent directory. But it still includes src2 as a directory even though /src2/ was specified as an ignore.
Constrast that with git ls-files:
$ git ls-files
.gitignore
Cargo.toml
src/main.rs
src2

Which represents the "true" behavior: src1 is not included (it matches /src1), and src2 is included, but only as a symlink.
Possible Solution(s)
Assuming we want to continue to not include symlinks in .crate files, the solution here is to make the walk implementation for --allow-dirty to make /symlink match symlink regardless of whether it points to a directory or not, and to make the git-based walk correctly handle /symlink/ exclusions. My first instinct was that for the former,
https://github.com/rust-lang/cargo/blob/b74705419e39b206b326ce1e6187ad7c383dcb0e/src/cargo/sources/path.rs#L395
should be
let is_dir = path.symlink_metadata()?.is_dir();

but unfortunately I don't think that'll work since we should continue to treat the symlink as a directory for recursion purposes. I'm not sure how best to augment the git walking.
Notes
Here is a failing test for --allow-dirty:
fn gitignore_symlink_dir() {
    if !symlink_supported() {
        return;
    }

    project()
        .file("src/main.rs", r#"fn main() { println!("hello"); }"#)
        .symlink_dir("src", "src1")
        .symlink_dir("src", "src2")
        .file(".gitignore", "/src1\n/src2/")
        .build()
        .cargo("package -l")
        .with_stderr("")
        .with_stdout(
            "\
            Cargo.lock\n\
            Cargo.toml\n\
            Cargo.toml.orig\n\
            src/main.rs\n\
         ",
        )
        .run();
}

I'm not sure how to best trigger the git-based walk inside the test suite.
Version
cargo 1.56.0 (4ed5d137b 2021-10-04)
release: 1.56.0
commit-hash: 4ed5d137baff5eccf1bae5a7b2ae4b57efad4a7d
commit-date: 2021-10-04

Though also occurs on master @ 94ca096afbf25f670e76e07dca754fcfe27134be

Okay, a couple of things from digging deeper:

Cargo only respects .gitignore when in a git-managed directory. The test above did not create a git repository, so the .gitignore was ignored.
When in a git-managed directory, Cargo currently does the right thing (🎉) — see #10047
(the source of my observed bug) Cargo gets confused about whether it's in a git-managed directory if Cargo.toml is not in the index (e.g., if you run git rm --cached Cargo.toml or simply haven't git added it yet). Test (and hopefully fix) coming shortly.

Failing test:
#[cargo_test]
/// Test that .gitignore is respected even if Cargo.toml isn't in git.
fn gitignore_with_untracked_cargo_toml() {
    if !symlink_supported() {
        return;
    }

    let (p, repo) = git::new_repo("foo", |p| {
        p.file("src/main.rs", r#"fn main() { println!("hello"); }"#)
            .file("foo.txt", "hello")
            .file(".gitignore", "foo.txt")
    });

    let mut index = repo.index().unwrap();
    index.remove_path(&Path::new("Cargo.toml")).unwrap();
    index.write().unwrap();

    p.cargo("package -l --no-metadata --allow-dirty")
        .with_stderr("")
        .with_stdout(
            "\
.gitignore
Cargo.lock
Cargo.toml
Cargo.toml.orig
src/main.rs
",
        )
        .run();
}

Fails with
test failed running `/Users/jongje/dev/cargo/target/debug/cargo package -l --no-metadata --allow-dirty`
error: stdout did not match:
1        -.gitignore
2   1     Cargo.lock
3   2     Cargo.toml
4   3     Cargo.toml.orig
    4    +foo.txt
5   5     src/main.rs

The rabbithole continues. This appears to be intentional:
https://github.com/rust-lang/cargo/blob/b74705419e39b206b326ce1e6187ad7c383dcb0e/src/cargo/sources/path.rs#L181-L182
https://github.com/rust-lang/cargo/blob/b74705419e39b206b326ce1e6187ad7c383dcb0e/src/cargo/sources/path.rs#L216-L221
In fact, the commit that originally introduced this logic states
https://github.com/rust-lang/cargo/blob/9185445ae19e682fdf622f6cab60f0d047eefd45/src/cargo/sources/path.rs#L122-L124
But I think maybe there's a case missing here, which is that if no other git repositories are found, then we should go with the "topmost" one that is at or above the found Cargo.toml.
Ultimately though, I'll leave it up to you all to decide whether that should be considered a bug or more like a lack of a feature. In the meantime I'll close this issue, since the issue as reported is not actually present.

I'll add that one place where this comes up is if someone tries to do the following:
$ cargo new project
$ cd project
$ $EDITOR # implement the first alpha of the project
$ $EDITOR .gitignore # add some huge log files to gitignore
$ cargo publish --allow-dirty

Then they'll accidentally include all the logfiles in their published artifact. It's fixed if they git add ., and they do have to explicitly choose to --allow-dirty, but it's probably still somewhat unexpected.


Fix DoneConnecting screen logic

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#145  👈
#143
#140
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @bsiaotickchong and the rest of your teammates on  Graphite

Merge activity

Sep 10, 12:57 AM EDT: @bsiaotickchong started a stack merge that includes this pull request via Graphite.


OAK-10243: Flaky test in oak-blob-cloud-azure and oak-run

Test failure in oak-search looks unrelated to changes in this PR.


[sourceComments] doesn't work

Doesn't delete comments in final .css bundle. All comments are preserved. Why?
Settings in Webpack 2.
    {
        loader: 'sass-loader',
        options: {
            sourceComments: true
        }
    }

Source file. And that comment is preserved.
/**
 * This is a comment I want to be removed in final .css bundle
 */
.foo {
    color: red;
}

This is expected by the language spec http://sass-lang.com/documentation/file.SASS_REFERENCE.html#Comments________and_____comments
The sourceComments has a different meaning if that was what you were thinking https://github.com/sass/node-sass#sourcecomments


Make admin operations on Statestore non blocking

Motivation
Admin operations should be non blocking.
Typical admin operations particularly delete table/namespace operations should not be a blocking operation.
If delete admin operation fails the maximum cost is it will leave garbage behind in the state store, which can always be cleaned up later manually by an operator.
Modifications
Delete the table in non blocking way and do not wait for operation to be completed.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@eolivelli I agree. As I mentioned in the Modification section in the PR.
"Delete the table in non blocking way and do not wait for operation to be completed." And I agree that it makes table deletion unpredictable and best effort and that was the intention.
Talking about tests. I am not sure we have test coverage for this class and I mentioned the same in PR message.

@eolivelli I agree. As I mentioned in the Modification section in the PR.
"Delete the table in non blocking way and do not wait for operation to be completed." And I agree that it makes table deletion unpredictable and best effort and that was the intention.
Talking about tests. I am not sure we have test coverage for this class and I mentioned the same in PR message.

Probably other tests use this function, and if we do not have tests then it is the good time to add them :)

Probably other tests use this function, and if we do not have tests then it is the good time to add them :)

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

I am sorry, but I am not sure this is the right way.
If you do not have feedback that something went wrong you are going to have garbage and you do not know.
Why waiting for this operation is so annoying ? does it take too much time ?

I am sorry, but I am not sure this is the right way.
If you do not have feedback that something went wrong you are going to have garbage and you do not know.
Why waiting for this operation is so annoying ? does it take too much time ?

@eolivelli I know, and I mentioned that in the commit message that we may end up leaving garbage behind which can be cleaned up manually later, as it is being logged as error log.
I can be wrong but my theory is.
Deletion of table in state store can take long time sometimes(We are trying to address that) but regardless of that deletion is a heavy operation and it may fail at multiple places. In that scenarios should we allow ingestion to fail or block because it could not delete a table?  While a cron or an operator scans the logs and deletes the garbage.

I can be wrong but my theory is.
Deletion of table in state store can take long time sometimes(We are trying to address that) but regardless of that deletion is a heavy operation and it may fail at multiple places. In that scenarios should we allow ingestion to fail or block because it could not delete a table?  While a cron or an operator scans the logs and deletes the garbage.

If you do not have feedback that something went wrong you are going to have garbage and you do not know.

This is not entirely true.  If an error occurs, it is logged.
The reason for this change:

Currently, all cleanup operations of external resources used by a Pulsar Function is best effort.  There is no guarantee a resource like subscription or table will be cleanup.  We make a best effort but there is no guarantee.  Thus, this change does not really change any guarantees from that perspective.  We will be looking into ways to improve that in the future.

Since our current model is best effort, there is no need to wait for the table deletion operation to complete.  Even though this is not an issue for Pulsar Functions, the state store client has some issues that we are investigating with cause it to block indefinitely. Thus, another reason to not to wait

@eolivelli thanks for chiming in!

If you do not have feedback that something went wrong you are going to have garbage and you do not know.

This is not entirely true.  If an error occurs, it is logged.
The reason for this change:

Currently, all cleanup operations of external resources used by a Pulsar Function is best effort.  There is no guarantee a resource like subscription or table will be cleanup.  We make a best effort but there is no guarantee.  Thus, this change does not really change any guarantees from that perspective.  We will be looking into ways to improve that in the future.

Since our current model is best effort, there is no need to wait for the table deletion operation to complete.  Even though this is not an issue for Pulsar Functions, the state store client has some issues that we are investigating with cause it to block indefinitely. Thus, another reason to not to wait

/pulsarbot run-failure-checks


Swap default-ness on draft vs. published tabs

In most of our sites, we almost always have no draft posts, so the default view is blank. I think we should consider swapping this so that you see the published posts list by default

I agree. Do you think we should swap the order or add a new tab that shows "All" as the default and we can add a label to show the ones that are drafts. The new tabs would be: All, Drafts, Published

I like the "All" idea a lot. That'd be my vote

I vote for the addition of an "All" tab as well.

+1 for All

:+1:  for All

This is added in dev and should be included in the next release.


[Documentation issue] Certain extension points are not explained anywhere

For example all the extension points in the pdf2 plugin:
  <extension-point id="org.dita.pdf2.xsl.topicmerge" name="PDF2 topic merge XSLT import"/>
 <extension-point id="depend.org.dita.pdf2.format.pre" name="Formatting pre-target"/>
 <extension-point id="depend.org.dita.pdf2.format" name="Formatting target"/>
 <extension-point id="depend.org.dita.pdf2.format.post" name="Formatting post-target"/>
<extension-point id="org.dita.pdf2.catalog.relative" name="Configuration XML catalog"/>
 <extension-point id="dita.conductor.pdf2.param" name="PDF XSLT parameters"/>

I cannot find them anywhere in the docs:
http://www.dita-ot.org/2.0/
Actually I cannot find in the docs a list with all extension points anymore.

This issue should be moved to https://github.com/dita-ot/docs/issues

@raducoravu could you report this documentation issue at dita-ot/docs repo, and close this?

Done:
https://github.com/dita-ot/docs/issues/20


Fix arity errors

This is a cherry-pick of b55f91102299e5f6f2991bf667116d4a15930c17 from
the strong-mode branch

@johnjbarton TBR

This gave another 10-15% improvement on the esprima perf test.


Replace manual spawning code in test case by kani::spawn library once it's merged

Replace the manual spawn code from #1658 with the library function, once #1659 is merged.

@fzaiser  -  are you taking a look at this?

@rahulku Unfortunately, I'll be very busy for the next two to three months, so not any time soon.


Package 'net.minecraft.client' does not exist

Versions:

Java: <IP_ADDRESS> (Eclipse Adoptium <IP_ADDRESS>+1)
Gradle: 8.1.1
Groovy: 3.0.15
OS: Windows 10 10.0 amd64

Template:

Branch: 1.20.2

Error:

Gradle Build Output: https://gist.github.com/Leialoha/8a70de015a71bf0c68a7e2568a7fe6b3

This is a fresh start of the MultiLoader Template, I haven't changed a single value I just ran these operations:

Your Project > Common > Tasks > vanilla gradle > decompile
Your Project > Forge > Tasks > forgegradle runs > genIntellijRuns
Your Project > Forge > Tasks > forgegradle runs > Client

Just to clarify, I can run fabric client no problem.

Can you test with the forge MDK and see if that has the same issue

I have tested the Forge MDK, found out my graphics driver needed to be updated. After updating my driver, the forge SDK ran and displayed the main title screen. However, updating the driver didn't seem to fix the issue above about missing the packages.

Can you try running gradlew build

https://gist.github.com/Leialoha/a0285a612f7750919960c71833243365

You said this was a fresh clone of the template, but I'm not seeing anything related to the neogradle project, which shouldn't be possible seeing as 1.20.2 was only added with neoforge.
Can you please try a proper fresh clone, with absolutely no changes made to the template, just:
cd ~/Desktop
git clone https://github.com/jaredlll08/MultiLoader-Template.git
cd MultiLoader-Template
.\gradlew build

I have no issues running those commands myself, so I'm really not sure why you would be having issues here.

Fresh install, no changes: https://gist.github.com/Leialoha/66158b2e79bcdea3e229f91996addee8

That still doesn't have the neoforge project.
Could you please open a new command prompt, run those commands, and then provide the output of the full command prompt, not just the gradle command, including the cd command itself.
Also the reason I am asking for cd ~/Desktop is to eliminate anything that could be causing any sort of problem, like running on a different drive (not that I have experienced any problems with that myself, but you never know what is up with ForgeGradle)

Fresh install in the ~/Desktop: https://gist.github.com/Leialoha/03510cae6ad9dba256a99b6e1e2844c5

After deleting the gradle cache folder ~/.gradle it builds with no errors

Relevant discord thread:
https://discord.com/channels/752944675425353768/1186408640073175050


Can bcbio customize the user-defined GLIBC directory?

Hi there,
I'm running bcbio-nextgen pipeline on an old cluster server, and bcbio just reports an error of "GLIBC 2.16 and GLIBC 2.17 not found", I just checked our platform only has GLIBC up to 2.14 version. But I found in my own directory, there is a libc.so.6 file within which I found GLIBC_2.16 and GLIBC_2.17, so I just wonder whether and how I could let bcbio to use my own libc.so.6 file (or add my directory to the default environmental path)? I'm not the root user on the cluster server, so I can't delete or change the libc.so.6 file from the root/lib64/ directory. Many thanks!

Hi, thanks for your help, I tried that before but unfortunately it didn't work.

You could try to build a newer glibc and use LD_PRELOAD?
https://www.jertype.com/upgrading-glibc/

Hi there, I tried using LD_PRELOAD but got the following errors:
Strategy 1.
LD_PRELOAD=/PHShome/wj092/miniconda3/pkgs/glibc-2.28-999/lib/libc.so.6 /data/klengellab/tools/bcbio/anaconda/bin/bcbio_nextgen.py
And I got the following error message:
/data/klengellab/tools/bcbio/anaconda/bin/python: relocation error: /lib64/librt.so.1: symbol __vdso_clock_gettime, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
Strategy 2.
export LD_PRELOAD=/PHShome/wj092/miniconda3/pkgs/glibc-2.28-999/lib/libc.so.6 /data/klengellab/tools/bcbio/anaconda/bin/bcbio_nextgen
And I got the following error message:
-bash: export: `/data/klengellab/tools/bcbio/anaconda/bin/bcbio_nextgen': not a valid identifier
The article in the link mentions linking the 'libc.so.6' to an executable app, but I'm not sure whether I did it in a correct way...

linking was to solve a timezone issue.
your second example lacks .py (bcbio_nextgen.py)

Hi, I also tried adding '.py' in the second example:
export LD_PRELOAD=/PHShome/wj092/miniconda3/pkgs/glibc-2.28-999/lib/libc.so.6 /data/klengellab/tools/bcbio/anaconda/bin/bcbio_nextgen.py
But I got the same error message...
-bash: export: `/data/klengellab/tools/bcbio/anaconda/bin/bcbio_nextgen.py': not a valid identifier

Yes, this error I can understand: export sets a variable (or many variables) in the current environment and in the child ones, i.e.
$ export A=5 B=6 C
$ echo $A
5
$ echo $B
6
$ echo $C

(C was set as an empty string variable)
However, if you are trying to add something which is not a valid variable name, i.e. a path to a program, bash errors out.
$ export A=5 ./somebin
bash: export: `./somebin': not a valid identifier

So, I am taking back the previous suggestion, you'd need to get PRELOAD working without export.
SN


Text style backgroundFill not honored when selection occurs

Hello,
We have this annoying problem with OpenLayers 4.6.5, that we can reproduce always. We are not sure how to test with OpenLayers 5.2.0 at the moment because we use TypeScript.
We have a vector layer configured with a style function that computes a style array for each feature. The effective style is used to draw an anchor, a leader line and a text label.
A select interaction is also present, which changes the style of the selected feature.
We call `addFeatures on the layer source with an array of features. When the first feature of this array is selected on the map, all other features lose their backgroundFill property on the Text styles. Weirdly enough this behavior is also present when any feature is selected, but then it depends on the count of currently visible features (by adjusting the current resolution), with more chance of triggering it as the index of the selected feature is low.
We have no code that would conditionalize the display of the Text's backgroundFill, which explains why we are pretty sure something is wrong.
We found a workaround by drawing an image to account for the defective text background, but it has two drawbacks: it is a serious performance hit, and text overlapping is not handled as nicely.
I would be more than appreciative if someone could shed some light on this issue.
Thanks!

This is a duplicate of #8150, and was fixed in v5.0.0.

Thank you Andreas, and sorry for the noise.


Move libbeat/common/match and libbeat/common/datetime

These packages are requried by the new repo elastic-agent-system-metrics: https://github.com/elastic/elastic-agent-system-metrics

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-04-01T15:09:26.345+0000

Duration: 12 min 35 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
890

Skipped
6

Total
896

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.


ssr: switch to iterative rendering and don't use process.nextTick in basic renerer (RFC)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[x] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
From comment https://github.com/vuejs/vue/issues/5415#issuecomment-327276515
" in 2.4 we already shipped a pure js build of vue-server-renderer, but we haven't announced it yet. It only supports the base renderer, but is decoupled from Node.js APIs"
That statement is not correct. basic.js still use process.nextTick() when recursion stack is to high.
With this PR switching to iterative version we can avoid process.nextTick() path.
Ideally createBasicRenderer should use different write function but currently this PR is "Request For Comments"
Also iterative version passes all SSR tests (not only basic if we switch to full server-renderer) and helps a lot for not Node.js env (in my case Nashorn)

Thanks! This is indeed something we overlooked. The basic renderer was still a proof of concept which is why we didn't include it in the 2.4 release notes. Glad that this is noticed before we make it public :)
However, if we were to make it truly env-agnostic, the basic renderer should not be even able to access process, which is a Node-specific global (maybe it also exists in Nashorn, but not in every environment). The process.env.BASIC_RENDERER needs to be converted into constants during the compilation phase. I'll take a look at this as part of 2.5 features, but feel free to try addressing that.

There isn't process in nashorn. I'm all for env-agnostic basic renderer.
I'll try switch from process.env.... to constants

FYI env vars to constant replacement can be configured here

@yyx990803
Something like this?
Another question. How to fix flow
src/server/render-context.js:64
 64:     if (__BASIC_RENDERER__ === true) {
             ^^^^^^^^^^^^^^^^^^ identifier `__BASIC_RENDERER__`. Could not resolve name

looking for WEEX I can't find anything about in config files

Thanks for looking into this! Instead of making the whole rendering synchronous, we can just use a platform specific deferring function instead. In c5d0fa05 I've made it preferring process.nextTick -> Promise.then -> setTimeout.
In php-v8js Promise is already supported; in Nashorn, you can polyfill setTimeout using Java timers.

Just for curiosity. Is there anything wrong with synchronous approach?
In my free time I'm working on Vue SSR in pure java (core still use Nashorn) and if there are some issues with synchronous approach it is better to me know this early :)

Vue's SSR is designed to be async first, because there are many operations that may be async during render:

async components
external cache calls
unwinding deep call stacks

Making things sync is just fundamentally against the design.


fix early exit in cluster creation(json+mode=auto)

When running the below command, rosa describe cluster ... is called
causing an early exit before --mode=auto+STS is evaluated.
rosa create cluster --cluster-name=testing-124 --sts --mode=auto --yes --output=json
Rather than exiting early, return to the caller to finish and exit.
Signed-off-by: Brady Pratt<EMAIL_ADDRESS>mentioned in #659
culprit
https://github.com/openshift/rosa/blob/b5af865e3f78ac8cf7ffc9d26540b89a3be893bf/cmd/create/cluster/cmd.go#L1799

/lgtm


fix tx fee issues

This is a WIP with @yHSJ we made this test that aims to help debug the fee issue we are seeing

Fixes #208


Add simple-peer config

It would be nice to have a way to set the config for the peers like custom STUN and TURN servers. I added peerSettings here to y-webrtc.js to pass it through to Peer:
https://github.com/holtwick/peer2school/blob/develop/src/lib/y-webrtc.js

Done. I implemented peerOpts and updated the README.

Thanks!


[SCB-830] update chassis from 1.0.0-m2 to 1.0.0

Signed-off-by: zhengyangyong<EMAIL_ADDRESS>Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [SCB-XXX] Fixes bug in ApproximateQuantiles, where you replace SCB-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean install to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage increased (+0.3%) to 94.379% when pulling 35d98a432c330ccb6fd9d2a8ddea1368758b60f0 on zhengyangyong:SCB-830 into 0069792dbffe6efaf6c172f51fac10af8da4c53e on apache:master.


Add click options for command line

It would be great in the main files main_run_multitask.py could support some command line inputs such as the config file to use and the hardware to use.

Fixed in #423 , with more CLI options further added in #433


Integration tests for sfdoc

@prescod can you add instructions for how to get set up to run these tests? Or is that no different than setting up the app for local use "for real"? Is it worth the time for me to get set up to run these myself, or not?

You need to set it up to run it "for real" which is a multi-day ordeal involving Entsys provisioning a sandbox, S3 bucket, EasyDITA account then you setting up a connected app, API keys, ....

@prescod if it's an ordeal, all the more reason to leave some breadcrumbs for the next person who has to do it.

The ordeal is primarily bureaucratic and its fairly clear given the env.example I created.
env.example says I need an EASYDITA account? Can you give me one?
env.example says I need logins to an SF.org, can you give me one?
env.example says I need an S3 bucket. Can you give me one?
I'll update README to describe that process.


Inherited extensions are evaluated twice

let
  a = pop { defaults.n = 1; extension = self: super: { n = super.n + 1; }; }
  b = pop { supers = [ a ]; }
in
  b.n

evaluates to 3 when it should be 2

I think the precedence list has duplicated entries of a

Diagnosis looks correct... now to find the root cause :-/

It looks like on the Nix 2.5.1 that I use, we don't have (no longer have?) O == O where O is an object, which causes the c3 linearization algorithm to malfunction.

The algorithm works properly when passed comparable objects such as strings or numbers. But it fails when passed objects. Maybe we could give each object a unique identifier, but doing that in a pure way is a bitch, and doing that by introducing comparable low-level markers that are pure to compare but impure to print would require extending the base language. Or is there a builtin === function?

I pushed debugging statements in branch debugMultipleInheritance that demonstrate the issue.


Added Tests for Catalog and Search

Added basic tests for Catalog and Search to test the core functionalities of the apps. More detailed tests will be added.

LGTM


requirePaddingNewLinesAfterBlocks: ignore jsx tags when checking for

newlines after blocks
Fixes #2008 - issue

@TheSavior would you mind checking it against your code?

@markelog why was this closed? The test case matched @TheSavior's code

It looks like he merged your PR in commit 95dc04b

If its like "closed this pull request in" its because the way this project does merges is by doing rebase instead of the github merge button (check the commits history)

awesome thanks @TheSavior @hzoo !


Introduce getVelocity method to the arcade velocity component

We're constantly trying to make Phaser 3 better
I am working on an example to learn the Phaser Engine. I use Pong as an quick hello world when I am learning a new game engine due to its simple rules, multiplayer/single with simple ai, score keeping, and win conditions.
One thing I would like to do is get the Vector2 that is used for the velocity so I can tell which way the ball was traveling when a score happens. There currently doesn't seem to be a way to do this. Am I missing this or is this really a missing feature from the API.
[Optional] Do you want to help provide this feature?
I would like to help contribute this if it is a missing feature. It looks like adding a getVelocity method to the Velocity component would be the most straight forward way. Thoughts?

Hi, I assume you're using Arcade Physics? If so, the velocity can be obtained from Sprite.body.velocity.

That worked.
Okay, swear I dug though the debugger looking for exactly that, but I missed it. I am just getting started with phaserjs and I was surprised that this was "missing"
Thanks for the quick response.

Wouldn't be much use if it was missing :)


error-handilng

Error handling code has been written.KIndly add the necessary labels and merge them. Thanks

@shruti49 Made the changes Kindly check now. #32


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter innoxel for common errors and appropiate suggestions to keep this adapter up to date.
This check is based on the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.innoxel
   -
ERRORS:

[ ] :heavy_exclamation_mark: [E507] missing size attributes [xs,sm,md,lg,xl] for staticText at admin/jsonConfig.json/items/txtIntervals

WARNINGS:

[ ] :eyes: [W510] "/admin/i18n/uk/translations.json" or "admin/i18n/uk.json" not found, but admin support is declared. Please add.

:thumbsup: No suggestions found
Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
or
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Mon, 09 Dec 2024 05:31:39 GMT based on commit 36548a83981c6ffe6ebedd215158add652968b2c
ioBroker.repochecker 3.2.2

@iobroker-bot recheck


SAR single node adds columns to the train and test dataframes

SAR single node implementation adds
'exponential' and 'rating_exponential' columns to the train data in fit(), and
'hashedUsers' column to the test data in recommend_k_items() or
hashedUsers' and 'hashedItems' columns in predict().
This would not be an expected behavior, especially when one uses/compares multiple models together by 're'-using the same set of train and test data to those models.
SAR pySpark implementation generates a copy of input dataframe and adds necessary columns to that when fit(), which we should do the same thing for the single node implementation.

@gramhagen do you know if this behavior is still happening?

no this has been fixed in staging by #387


Use FilterQuery instead of FilterQueryTree in optimizer.

Issue https://github.com/apache/incubator-pinot/issues/4904
When we build the BrokerRequest from AST, for the WHERE clause we do the following:
(1) Build FilterQueryTree (this is a non-serializable object)
(2) Build FilterQuery from FilterQuery -- this is thrift compliant object and is sent to servers for execution as part of BrokerRequest.
(3) Run Filter query optimizer
On the server, we convert the received FilterQuery to FilterQueryTree and use that as a basis to construct physical filter operators.
So there is essentially a conversion of FilterQueryTree  -> FilterQuery on the broker and vice-versa on the server during execution.
However, as part of (3) the broker converts the FilterQuery back to FilterQueryTree, runs the optimizer on latter, converts it back to FilterQuery and updates the FilterQuery in broker request. This is a needless conversion of FilterQueryTree <=> FilterQuery since the optimization could have directly been done on the FiterQuery.
This PR adds support for avoiding the extra conversion of FilterQueryTree <=> FilterQuery at the broker for query optimizer/rewrite.
There are currently 3 filter query tree optimizers:
MultipleOrInequalitiesToInClause
RangeMerge
Flatten
All these are invoked by BrokerRequestOptimizer. This PR adds a new version of the first one to directly work on FilterQuery. Also addresses some other cases where the rewrite was not being done in the nested predicates.
The new version is currently being used only in the test code. For the ease of review, I split the work so that when the follow-up PRs come and we have the new versions of other 2 filter query tree optimizers as well then we can simply integrate them into BrokerRequestOptimizer (simple change) and delete the 3 old optimizers.

Codecov Report

Merging #4901 into master will decrease coverage by 20.42%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             master    #4901       +/-   ##
=============================================
- Coverage     56.54%   36.12%   -20.43%
=============================================
  Files          1178     1180        +2
  Lines         62900    63060      +160
  Branches       9227     9250       +23
=============================================
- Hits          35569    22782    -12787
- Misses        24693    38253    +13560
+ Partials       2638     2025      -613

Impacted Files
Coverage Δ
Complexity Δ

...pleOrEqualitiesToInClauseFilterQueryOptimizer.java
0% <0%> (ø)
0 <0> (?)

...ot/broker/requesthandler/FilterQueryOptimizer.java
0% <0%> (ø)
0 <0> (?)

.../org/apache/pinot/common/http/MultiGetRequest.java
0% <0%> (-100%)
0% <0%> (ø)

...nullvalue/RealtimeNullValueVectorReaderWriter.java
0% <0%> (-100%)
0% <0%> (ø)

...che/pinot/common/restlet/resources/TablesList.java
0% <0%> (-100%)
0% <0%> (ø)

...che/pinot/pql/parsers/pql2/ast/OptionsAstNode.java
0% <0%> (-100%)
0% <0%> (ø)

...ot/core/query/scheduler/TableBasedGroupMapper.java
0% <0%> (-100%)
0% <0%> (ø)

...t/core/segment/index/readers/OnHeapDictionary.java
0% <0%> (-100%)
0% <0%> (ø)

...ommon/utils/retry/RetriableOperationException.java
0% <0%> (-100%)
0% <0%> (ø)

...t/core/query/scheduler/OutOfCapacityException.java
0% <0%> (-100%)
0% <0%> (ø)

... and 585 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 e4c3b56...48155d0. Read the comment docs.

Issue https://github.com/apache/incubator-pinot/issues/4904

@Jackie-Jiang and I discussed this.
This is probably not needed currently for couple of reasons:
(1) The logic to do the optimization on FilterQuery as opposed to FilterQueryTree is more complex as can be seen in this PR's code.
(2) This double conversion at the broker for FilterQueryTree <=> FilterQuery happens at the broker once for each query and we haven't seen any perf impact yet -- whether this results in excessive garbage collection is a different problem but that remains to be seen as well.
(3) The best place to do this optimization to solve the original problem of double conversion is to do this as part of query compilation when we build the AST and then traverse it build FilterQueryTree. The optimization should happen right there on the FilterQueryTree before converting it to FilterQuery and after that there is no reason for converting back.
Will hold this work until we have more clarity

@siddharthteotia closing this since we have moved over to pinotquery


vcpkg install bzip2  error:no such remote ref 75a94bea3918e612b879d6a11ca64b8689526147

Describe the bug
install bzip2
but Error:
Environment

OS: [Linux ubuntu 4.15]
Compiler: gxx 6.3

To Reproduce
Steps to reproduce the behavior:

./vcpkg install bzip2
See error

-- Fetching https://sourceware.org/git/bzip2.git...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:108 (message):
Command failed: /usr/bin/git fetch https://sourceware.org/git/bzip2.git 75a94bea3918e612b879d6a11ca64b8689526147 --depth 1 -n
Working Directory: /home/ubuntu/qqm/vcpkg/downloads/git-tmp
Error code: 128
See logs for more information:
/home/ubuntu/qqm/vcpkg/buildtrees/bzip2/git-fetch-x64-linux-err.log

Call Stack (most recent call first):
scripts/cmake/vcpkg_from_git.cmake:91 (vcpkg_execute_required_process)
ports/bzip2/portfile.cmake:1 (vcpkg_from_git)
scripts/ports.cmake:128 (include)

Error: Building package bzip2:x64-linux failed with: BUILD_FAILED
Failure logs

cat /home/ubuntu/qqm/vcpkg/buildtrees/bzip2/git-fetch-x64-linux-err.log
error: no such remote ref 75a94bea3918e612b879d6a11ca64b8689526147

@JackBoosY @NancyLi1013

Does this issue resolved?


Use a less aggressive XSS filter

Fixes #1169.
@evanp, I need a review on this to make sure that I've used the correct filter, since I don't know all the places this data might end up. At least, not as well as you.
For reference, here are the docs: https://github.com/yahoo/xss-filters/wiki#inhtmldatas--string

I'm going to go ahead and merge this, because then at least master won't be so broken. That being said, this is by no means "fixed".


Bug: Broken pipe on wishlist load

Describe the bug
When reloading the page (when behind a reverse proxy, don't know if this impacts), when on a specific wishlist, a 502 (bad gateway) is returned.  This indicates the applications fails responding.
Log says "Broken pipe"
Besides this reload, the page works perfectly. With data automatically appearing when added.
To Reproduce
Steps to reproduce the behavior:

Setup system behind nginx proxy
Go into a wishlist
Reload page
See 502 error

Expected behavior
That the page can correctly be viewed, without an error (for example linking purpose)
Logs
Anonymized logs:
wishlist  | {"level":"error","ts":1732270814.374404,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":":3000","duration":137.194354435,"request":{"remote_ip":"<IP_ADDRESS>","remote_port":"59410","client_ip":"<IP_ADDRESS>","proto":"HTTP/1.1","method":"GET","host":"<domain>","uri":"/wishlists/<username>/events","headers":{"X-Forwarded-Proto":["http"],"User-Agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"],"Sec-Fetch-Site":["same-origin"],"Cookie":["REDACTED"],"X-Real-Ip":["<server-public-ip>","<server-public-ip>"],"X-Forwarded-Host":["<domain>"],"Cache-Control":["no-cache"],"X-Forwarded-Ssl":["on"],"Sec-Fetch-Dest":["empty"],"X-Forwarded-For":["<IP_ADDRESS>"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Priority":["u=1, i"],"Accept-Language":["en-US,en;q=0.8"],"Referer":["https://<domain>/wishlists/<username>"],"Accept":["text/event-stream"],"Sec-Gpc":["1"],"Sec-Ch-Ua-Platform":["\"Windows\""],"Sec-Fetch-Mode":["cors"],"X-Forwarded-Port":["443"],"Sec-Ch-Ua":["\"Brave\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""],"Sec-Ch-Ua-Mobile":["?0"],"X-Original-Uri":["/wishlists/<username>/events"]}},"error":"writing: write tcp <IP_ADDRESS>:3280-><IP_ADDRESS>:59410: write: broken pipe"}
wishlist  | {"level":"error","ts":1732270814.3744564,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":":3000","duration":83.178405594,"request":{"remote_ip":"<IP_ADDRESS>","remote_port":"59184","client_ip":"<IP_ADDRESS>","proto":"HTTP/1.1","method":"GET","host":"<domain>","uri":"/wishlists/<username>/events","headers":{"Sec-Ch-Ua-Mobile":["?0"],"X-Forwarded-Host":["<domain>"],"Sec-Ch-Ua-Platform":["\"Windows\""],"Last-Event-Id":["6"],"Sec-Fetch-Dest":["empty"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Accept-Language":["da,en-US;q=0.9,en;q=0.8,de;q=0.7"],"X-Forwarded-Ssl":["on"],"User-Agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"],"Sec-Fetch-Site":["same-origin"],"Cache-Control":["no-cache"],"Referer":["https://<domain>/wishlists/<username>"],"Priority":["u=1, i"],"Cookie":["REDACTED"],"Sec-Ch-Ua":["\"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\""],"Dnt":["1"],"X-Original-Uri":["/wishlists/<username>/events"],"X-Forwarded-Proto":["http"],"Sec-Fetch-Mode":["cors"],"X-Real-Ip":["<client-ip>","<client-ip>"],"X-Forwarded-For":["<IP_ADDRESS>"],"X-Forwarded-Port":["443"],"Accept":["text/event-stream"]}},"error":"writing: write tcp <IP_ADDRESS>:3280-><IP_ADDRESS>:59184: write: broken pipe"}

Screenshots

Thanks for the awesome software.
It looks and feels very nice!
My brother just discovered this bug, and I wanted to share it.

Thanks for reporting this. Is this only happening on one specific wishlist? And it's only happening after you do a full reload on that wishlist page (i.e, you're able to navigate to this list from the main page)?

The application works as intended, besides when you do a full reload on any wishlist that i tested (3).
However /wishlist return 404 correctly.

Hmm, I see those logs in my instance too, but it doesn't cause that error. I think that might not be the real cause.
Can you see if there is any logs in the browser console dev tools?

Hmm, I don't think the browser would log anything, as the response returned in the UI is from the reverse proxy.
But I will give it a look, both into the browser logs, as well as reverse logs and maybe more logs from the software itself.
However, that will be tomorrow

Sure, if there are other relevant logs in the container or proxy, please share them

I think I found the issue.
It's the proxy triggers the 502 due to too big of a header
2024/11/23 12:37:44 [error] 2313140#2313140: *3065978 upstream sent too big header while reading response header from upstream, client: <IP_ADDRESS>, server: <domain>, request: "GET /wishlists/alb HTTP/2.0", upstream: "http://<IP_ADDRESS>:3280/wishlists/alb", host: "<domain>"

The request is somehow larger when on a wishlist for some reason.
Increasing the buffer size on the proxy, did solve this:
proxy_buffer_size   128k;
proxy_buffers   4 256k;
proxy_busy_buffers_size   256k;

I have quite a bit of application behind the proxy, and no other application acts like this.
So to conclude; when requesting the individual wishlist page on page reload, it has some sort of issue with header size, which made a standard nginx-proxy fail.
My 5 cents on what it is;
The "links" header needs to be longer due to needing to backtrack every link to the frontpage first (and maybe something else?). This adds around 361 chars longer links header - Based on my testing.
This might send the total header size over the threshold of buffer size in my nginx proxy.

Browser logs;
After fixing the 502, I got a browser error when full-realoading wishlist pages, which is the following:
Uncaught (in promise) TypeError: Failed to register a ServiceWorker for scope ('https://<domain>/wishlists/') with script ('https://<domain>/wishlists/sw.js'): A bad HTTP response code (404) was received when fetching the script.

I don't get this when on the front page.

Thanks for digging into that! Certainly seems like that would be the culprit, and it's a known "issue" with SvelteKit (https://github.com/sveltejs/kit/issues/11084). The header seems to help speed up app load times by telling the browser to preload certain assets like CSS. From that discussion thread, the two recommended solutions are 1) do what you have done and fix it on the proxy, or 2) update the app to not return the Link header.
Seeing as the Link header can be beneficial, I prefer option 1. I will document this on the Readme in case others run into this issue

That's a totally valid option to go with.

Thank you so much for the quick responses and help.
Absolutely amazing!


On ANDROID Cancelling an ActionSheetAsync by tapping outside the Action Sheet results in no longer being able to call up the ActionSheet

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[] iOS
[X] Android
[] UWP
[X] PCL

Version of OS(s) listed above with issue
Running ios 10 SDK
Version of ACR UserDialogs Library
6.3 but think this problem is also in some earlier version
Expected Behaviour
When using the non async ActionSheet the behavior works properly as the action sheet does not go away when the area outside the action sheet is tapped.
Actual Behavior

Press a button that results in the following async call.
Call var optionText = await ActionSheetAsync("", Dialogs.Constants.Cancel, null, options);
Action sheet with multiple options and a cancel button is raised as expected.
Tap anywhere on screen and dialog goes away.
Try pressing the button again, then ActionSheet no longer shows up.

Note that if the cancel button is pressed then there are no issues when the button is again pressed (i.e. action sheet is displayed once more).
Code of Conduct

No Library Update Requests
No Timeline Requests
Please read through the documentation and FAQs
Please be respectful of my time. I put a lot of effort into my libraries.  I try to support the issue requests within a day.  I'm not psychic, so please take the time to fill out the above form as complete as possible

Please provide a test sample.  I ran this exact case through the sample app located within this repo and it works fine.

Will generate a sample, erroneously put down IOS as being the issue, Android is the problem though, putting together sample now.

K, So I isolated the issue, see my repo Please find the repo here: [https://github.com/SOFSPEEL/App2]  to reproduce. Note that I use ACR.UserDialogs with MvvMCross and more specific to this issue, my buttons are tied to MvxAsyncCommand's,
I think the root cause of the issue is that cancelling the action sheet (by clicking outside the dialog) leaves the AsyncCommand in a running state (see IsRunning=true below), so subsequent button pushes don't result in another Async command execution. Note that it is very common to use MvxCommand and MvxAsyncCommand's, particularly when binding in MvvMCross

Note too that I recognize there are several workarounds, to this issue, like for example newing up the MvxAsyncCommand on each button push, but would doing this leave "Running" commands around?

One other thing that may be relevant to this issue, is that if ActionSheet is used (as opposed to ActionSheetAsync) then tapping outside results in the dialog not being dismissed. If you could make the async action sheet work the same way then the above problem will probably go away.

Just use the sync version for now.  I may deprecate the actionsheetasync.  I brought it over because Xamarin forms used this signature, but I find it inflexible.

Bumped into this too.
It should be good to mark the function as obsolete or something because under these conditions it never returns and is leads to tap locks .

Fixed in 6.5.1

@aritchie I am using 6.5.1 on Android 4.1.1
This is my code
        string funzioneSelezionata = await UserDialogs.Instance.ActionSheetAsync("FUNZIONE", "Annulla", "", null, _funzioni);

if I tap outside the popup, I can't press again the button that I have used to display the popup. Button is disabled...

@acaliaro I already stated in this defect to use the sync version.  The async version will likely be gone in v7.


configure: error: libfmt missing

missing configure: error: libfmt missing
when trying to build

install this library to your linux distribution.


sensor or listener is null

I run in simulator, is was this error (sensor or listener is null), and crash when declare instance of AlertDialog.

Hi, can you show me the code?


Error TS with Wrapper

Describe the bug
I try to reproduce the wrapper example seen here : https://histoire.dev/guide/vue3/wrapper.html
When I try to use the setup part, I have error TS2339 on props.story.meta?.wrapper and props.variant?.meta?.wrapper

Reproduction
Get wrapper example in VSCode
System Info
System:
    OS: macOS 13.5.1
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 497.85 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.17.1 - ~/.nvm/versions/node/v18.17.1/bin/node
    npm: 9.6.7 - ~/.nvm/versions/node/v18.17.1/bin/npm
    pnpm: 7.30.0 - /usr/local/bin/pnpm
  Browsers:
    Chrome: 117.0.5938.88
    Edge: 114.0.1823.55
    Safari: 16.6
  npmPackages:
    @histoire/controls: 0.17.0 => 0.17.0
    @histoire/plugin-vue: 0.17.1 => 0.17.1
    @vitejs/plugin-vue: 4.3.4 => 4.3.4
    histoire: 0.17.0 => 0.17.0
    vite: 4.4.9 => 4.4.9

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

I didn,t realized it's a custom meta


Updated readme examples to match ShpFile module path

Docs just probably fell out of sync at some point. Let me know if I missed something, or am totally mistaken and was doing something wrong!

TY! Appreciate.


Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT

Hi!
Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects (including many network-related projects like Envoy, HAProxy, etc.) - the results are available here. I think it could interesting to try to test PGO for optimizing the CPU part of Akasa.
I can suggest the following things to do:

Evaluate PGO's applicability to Akasa.
If PGO helps to achieve better performance - add a note to Akasa's documentation about that. In this case, users and maintainers will be aware of another optimization opportunity for Akasa.
Provide PGO integration into the build scripts. It can help users and maintainers easily apply PGO for their own workloads.

Here are some examples of how PGO is already integrated into other projects' build scripts:

Rustc: a CI script for the multi-stage build
GCC:

Official docs, section "Building with profile feedback" (even AutoFDO build is supported)
A part in a "wonderful" configure script

Clang: Docs
Python:

CPython: README
Pyston: README

Go: Bash script
V8: Bazel flag
ChakraCore: Scripts
Chromium: Script
Firefox: Docs

Thunderbird has PGO support too

PHP - Makefile command and old Centminmod scripts
MySQL: CMake script
YugabyteDB: GitHub commit
FoundationDB: Script
Zstd: Makefile
Foot: Scripts
Windows Terminal: GitHub PR
Pydantic-core: GitHub PR

After PGO, I can suggest evaluating LLVM BOLT as an additional optimization step after PGO.
For the Rust projects, I recommend starting with cargo-pgo.
I understand that the project is in the earliest stages of its lifecycle. So just think about the issue as a possible idea for improvements.

Sounds like a very awesome technology to optimize the program.

I understand that the project is in the earliest stages of its lifecycle.

Yes, currently adding more features are more higher priority tasks, but I'll definitely try this once I start doing optimization.
Thanks for your introduction to PGO :)


Bug in LockScreen.SetImageFileAsync(IStorageFile) Method when using Desktop Bridge

There is a bug in the desktop bridge that causes the SetImageFileAsync method not to work. It only seems to works on X64 architectures (where both the app and the system are X64).
See:
https://github.com/MicrosoftDocs/winrt-api/issues/2148
https://stackoverflow.com/questions/56935486/cached-image-not-being-updated-with-lockscreen-setimagefileasyncfile
This bug is still not fixed after YEARS! Unbelievable.

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

ID: 68bece6b-32da-533b-6963-b9d92ebf34c2
Version Independent ID: 987d9f45-d64c-4d8d-2b84-8ea7bac608d6
Content: LockScreen.SetImageFileAsync(IStorageFile) Method (Windows.System.UserProfile) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.System.UserProfile/LockScreen.xml
Product: uwp
Technology: winrt-reference
GitHub Login: @alvinashcraft
Microsoft Alias: aashcraft

Thanks for taking the time to let us know about this and we sincerely apologize for the delayed response. Have you reported this bug over at Microsoft Q&A? That's the best place to raise concerns about bugs like this in the APIs.
If you do create (or have already created) a thread over at Microsoft Q&A, we would appreciate if you could share that link here so we can track the progress and incorporate any technical details into our documentation. I'd like to call out the issue in the documentation if there is an official response provided about the problem. Though I'm marking this Issue as closed now, please treat this thread as an open thread for follow-ups. I'll be continuing to monitor it. Thanks!


setQueryParams should have an option for a completely silent push

First of all - thank you for the amazing work! Finally a router that we can work with, not one to hack against.
The possibility of setting params with replaceState is great! However, there is still a use case that maybe not many users need, but which is absolutely essential in certain applications, and which would be very good in Flow Router.
Say I am dealing with a view-controller type of object, such as a Google Map.
It becomes very tricky trying to save the last state of the map inside a GM event (i.e. 'bounds_changed', which is triggered after the user moves the map), because it looks like setQueryParams() still calls Router.go(), even inside FlowRouter.withReplaceState(). As such, the map will have its center/zoom set another two times - after it has already been set via the UI. Setting the map 'only' as a result of URL change is too much work - it basically means hijacking all the interaction with the map.
Perhaps something similar to Backbone's boolean option for triggering the handler  can be achieved?
I tried using the HTML5 methods directly, but I get a weird error - perhaps FlowRouter not finding the last route it expects.
I could try a pull request if you think it is a good addition.
Many thanks!

I get it. For now, you can use a reactive dict to get rid of this. So, instead of directly watching for the `FlowRouter.getQueryParam('xxx'). In an autorun set it to a reactive var.
And once the user do the action. Update the reactiveDict and then the setQueryParams().
In your appCode, watch the xxx via reactiveDict. Then only it fires once.
I am thinking a way to do you request, but I am wonder how to do it a bit.

Thank you for the advice - it works very well, and I should implement it in situations where I will be watching the values.
I found an even simpler workaround for now
In the case I describe I do not really need to watch for 'xxx' - I simply want to make the state of the map permanent (and shareable, so no fragment for now, due to search engines not picking it up), so I only need the params at map initialisation. Thus at route configuring time (I do that in bulk from a config file), I simply add a check in the trigger, to see if current route path (or name) is the same as old route. If yes, it means it fires twice so I block the call.
I was looking at the _page.redirect() function in FlowRouter and wondering how it can be done so we only call something similar to save() in page.js
If I come across a potential solution, I will report back.

Got it.
On Wed, Jul 1, 2015 at 7:54 AM Manuel Timita<EMAIL_ADDRESS>wrote:

Thank you for the advice - it works very well, and I should implement it
in situations where I will be watching the values.
I found an even simpler workaround for now
In the case I describe I do not really need to watch for 'xxx' - I simply
want to make the state of the map permanent (and shareable, so no fragment
for now, due to search engines not picking it up), so I only need the
params at map initialisation. Thus at route configuring time (I do that in
bulk from a config file), I simply add a check in the trigger, to see if
current route path (or name) is the same as old route. If yes, it means it
fires twice so I block the call.
I was looking at the _page.redirect() function in FlowRouter and wondering
how it can be done so we only call something similar to save() in page.js
If I come across a potential solution, I will report back.
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/flow-router/issues/184#issuecomment-117402843
.

Quick update maybe it helps with implementing the feature. At the moment I achieved what I needed by modifying this line in router.js:
FlowRouter.go = function(pathDef, fields, queryParams) {
  var path = this.path(pathDef, fields, queryParams);

  var useReplaceState = this.env.replaceState.get();

  if(useReplaceState) {
    this._page.replace(path, "", false, false); // our change; completely silent - no redirect
  } else {
    this._page(path);
  }
};

This is a quick and dirty solution. I guess it could be done better, by modifying the reactive var withReplaceState to accept parameters.

Sorry...closed by mistake

I need some input here.
We can silently update the URL.
But when we do so, what will be the values for FlowRouter.current()
I'm not sure about it.

Good point...
Tough one. I guess it depends on the use case and on what's considered a 'route change'.
In some situations, it could be considered that a query parameter change is not a route change - it is more or less a 'change in the options of the current route' (similar to a hash change). This is our situation. It's only the named route changes, or parameter changes, that we're interested in tracking.
However, we still need to be able to change parameters and the app to react in response to these changes, so the non-silent option (via page.redirect()) should also be considered.
I would say that, if one chooses to update a query parameter completely silently, one does it for only one reason: make a record of the current state for when going back / forward (whilst keeping the URL shareable, without the typical # fragment issues). When doing it silently, my understanding is that one wants the app to not 'know' about the change, so one should not expect FlowRouter.current() (or FlowRouter.getQueryParam() for that matter) to know either.
Now, on a somewhat different note: maybe I'm missing the point, but what is the problem with FlowRouter.current() always having some of its data from 'window.location'. I need some time to look properly through the code (also to understand the effects on the reactive .getParam()) but at first sight it seems like .current() should be fine.

Also:
I guess it could be possible to have something like this (but this does not preserve the current default option in the API). Perhaps something can be worked out from here:
// router.js
Router.prototype.withReplaceState = function(fn, silent) {
  return this.env.replaceState.withValue(silent, fn);
};

Router.prototype.go = function(pathDef, fields, queryParams) {
  var path = this.path(pathDef, fields, queryParams);

  var useReplaceState = this.env.replaceState.get();
  if (useReplaceState === false) {// redirect when 'silent' set to false explicitly
    this._page.replace(path);
  } else if (useReplaceState === true) {
    this._current.queryParams = queryParams; // track current path
    this._current.route.path = path; // track current query parameters
    this._page.replace(path, "", false, false); // completely silent if 'silent' set to true explicitly

    // so the problem has moved below; the full route load could be triggered
    // even inside FlowRouter.withReplaceState() if 'silent' is not set explicitly
  } else {
    this._page(path);
  }
};

// user's client.js
FlowRouter.withReplaceState(function() {
    FlowRouter.setQueryParams({key: 'value'});
}, true);

+1


Update sbezverk/nftableslib dependency and use mask in mark test and set

Fixes https://github.com/sbezverk/nfproxy/issues/53

@pavels  Could you please provide the output of nft with resulting nfproxy rules.

@pavels  Could you please provide the output of nft with resulting nfproxy rules.

there is 4 different variants:
Mark: &nftableslib.MetaMark{
	Set:   false,
	Value: 0x4000,
	Mask:  0x4000,
}

translates to: mark & 0x00004000 == 0x00004000
Mark: &nftableslib.MetaMark{
	Set:   false,
	Value: 0x8000,
	Mask:  0x8000,
}

translates to: mark & 0x00008000 == 0x00008000
Mark: &nftableslib.MetaMark{
	Set:   true,
	Value: 0x4000,
	Mask:  0x4000,
}

translates to: mark set mark | 0x00004000
Mark: &nftableslib.MetaMark{
	Set:   true,
	Value: 0x8000,
	Mask:  0x8000,
}

translates to: mark set mark | 0x00008000
The examples of complete rules:
	chain k8s-nfproxy-sep-XTMCFOT4CZANOJ34 {
		counter packets 0 bytes 0
		ip saddr <IP_ADDRESS> mark set mark | 0x00004000
		dnat to <IP_ADDRESS>:domain fully-random
	}

	chain k8s-nat-do-mark-masq {
		counter packets 0 bytes 0
		mark set mark | 0x00004000 return comment "mark packets for masquerading"
	}

	chain k8s-nat-postrouting {
		counter packets 40880 bytes 2458163
		ip saddr & <IP_ADDRESS> != <IP_ADDRESS> jump k8s-nat-do-masquerade
		mark & 0x00004000 == 0x00004000 jump k8s-nat-do-masquerade comment "masquerade marked packets"
	}

	chain k8s-nat-mark-drop {
		counter packets 0 bytes 0
		mark set mark | 0x00008000
	}

	chain k8s-filter-firewall {
		counter packets 1549558 bytes 532979067
		mark & 0x00008000 == 0x00008000 drop comment "kubernetes firewall for dropping marked packets"
	}

there is 4 different variants:
Mark: &nftableslib.MetaMark{
	Set:   false,
	Value: 0x4000,
	Mask:  0x4000,
}

translates to: mark & 0x00004000 == 0x00004000
Mark: &nftableslib.MetaMark{
	Set:   false,
	Value: 0x8000,
	Mask:  0x8000,
}

translates to: mark & 0x00008000 == 0x00008000
Mark: &nftableslib.MetaMark{
	Set:   true,
	Value: 0x4000,
	Mask:  0x4000,
}

translates to: mark set mark | 0x00004000
Mark: &nftableslib.MetaMark{
	Set:   true,
	Value: 0x8000,
	Mask:  0x8000,
}

translates to: mark set mark | 0x00008000
The examples of complete rules:
	chain k8s-nfproxy-sep-XTMCFOT4CZANOJ34 {
		counter packets 0 bytes 0
		ip saddr <IP_ADDRESS> mark set mark | 0x00004000
		dnat to <IP_ADDRESS>:domain fully-random
	}

	chain k8s-nat-do-mark-masq {
		counter packets 0 bytes 0
		mark set mark | 0x00004000 return comment "mark packets for masquerading"
	}

	chain k8s-nat-postrouting {
		counter packets 40880 bytes 2458163
		ip saddr & <IP_ADDRESS> != <IP_ADDRESS> jump k8s-nat-do-masquerade
		mark & 0x00004000 == 0x00004000 jump k8s-nat-do-masquerade comment "masquerade marked packets"
	}

	chain k8s-nat-mark-drop {
		counter packets 0 bytes 0
		mark set mark | 0x00008000
	}

	chain k8s-filter-firewall {
		counter packets 1549558 bytes 532979067
		mark & 0x00008000 == 0x00008000 drop comment "kubernetes firewall for dropping marked packets"
	}

@pavels thank you very much for your contribution.

@pavels thank you very much for your contribution.


add commands to exclude from tracing

fix for #6

Pull Request Test Coverage Report for Build 57

21 of 66 (31.82%)  changed or added relevant lines in 4 files are covered.
13 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.6%) to 40.331%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

opentracing-mongo-common/src/main/java/io/opentracing/contrib/mongo/common/ExcludedCommand.java
0
4
0.0%

opentracing-mongo-driver/src/main/java/io/opentracing/contrib/mongo/TracingMongoClient.java
5
24
20.83%

opentracing-mongo-common/src/main/java/io/opentracing/contrib/mongo/common/TracingCommandListener.java
14
36
38.89%

Files with Coverage Reduction
New Missed Lines
%

opentracing-mongo-common/src/main/java/io/opentracing/contrib/mongo/common/TracingCommandListener.java
1
44.58%

opentracing-mongo-driver/src/main/java/io/opentracing/contrib/mongo/TracingMongoClient.java
12
31.03%

Totals

Change from base Build 55:
0.6%

Covered Lines:
73

Relevant Lines:
181

💛  - Coveralls


pkg.go.dev doesn't like package names that are just a domain

What is the URL of the page with the issue?
https://pkg.go.dev/retort.dev
What is your user agent?
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0

Screenshot

What did you do?
I’m working on a package retort.dev (https://retort.dev).
I can pull the version info of here<EMAIL_ADDRESS>But the docs don't load at all https://pkg.go.dev/retort.dev
Downloading via the proxy works:
GOPROXY="https://proxy.golang.org" GO111MODULE=on go get -u -v retort.dev

What did you expect to see?
The package documentation.
What did you see instead?
A 404 page.
Comments
I’m wondering if pkg.go.dev isn’t expecting a package at the domain level?
You can see the package repo here https://github.com/retort-dev/retort

This appears to be working now 😀