[Bug]: Firing more than 1 event will fail with Thunk\Verbs\Exceptions\ConcurrencyException

What happened?
I run php artisan plus two times, and the second time an exception is thrown:
~/dev/php/verbs-example on  main ⌚ 23:01:12
$ pa plus

~/dev/php/verbs-example on  main ⌚ 23:01:44
$ pa plus

   Thunk\Verbs\Exceptions\ConcurrencyException

  An event with ID<PHONE_NUMBER>84609280 has been written to the database for 'App\States\ApplicationState' with ID<PHONE_NUMBER>22358016. This is higher than the in-memory value of .

  at vendor/hirethunk/verbs/src/Lifecycle/EventStore.php:118
    114▕             $max_written_id = (int) data_get($result, 'max_event_id');
    115▕             $max_expected_id = $max_event_ids->get($state_type.$state_id, 0);
    116▕
    117▕             if ($max_written_id > $max_expected_id) {
  ➜ 118▕                 throw new ConcurrencyException("An event with ID {$max_written_id} has been written to the database for '{$state_type}' with ID {$state_id}. This is higher than the in-memory value of {$max_expected_id}.");
    119▕             }
    120▕         });
    121▕     }
    122▕

      +17 vendor frames

  18  artisan:13
      Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))

How to reproduce the bug
Checkout https://github.com/remyhonig/verbs-example, run migrations and run plus command two times

php artisan plus
php artisan plus

Package Version
0.4.3
PHP Version
8.3.4
Laravel Version
11.4.0
Which operating systems does with happen with?
macOS
Notes
No response

my fault, I changed the state in the handle function, instead of the apply function


TokenStream::from_str does not return an error on invalid tokens

I tried passing some text which contains invalid Rust tokens to TokenStream::from_str hoping that I could inspect the Err variant to get information on where the lex error is. Instead from_str prints directly to stderr and panics.
This method should probably give me the option to handle the error myself since I can always .unwrap() if I want to.

Thanks for the report, do you have an example test case and/or input which shows this? Definitely sounds like a bug!

Yes, that would probably help. In my case I narrowed it down to TokenStream::from_str("\\s").

I was not able to reproduce this.
use core::str::FromStr;
use proc_macro2::TokenStream;

fn main() {
    println!("{:?}", TokenStream::from_str("\\s"));
}

Err(LexError)

It looks like the compiler's proc_macro::TokenStream::from_str is what panics. Closing in favor of https://github.com/rust-lang/rust/issues/58736.

proc_macro2 fails for me too, at least when I run it inside a procedural macro.

Cargo.toml
[package]
name = "repro"
version = "0.0.0"
edition = "2018"

[lib]
proc-macro = true

[dependencies]
proc-macro2 = "0.4.27"

src/lib.rs
extern crate proc_macro;

use proc_macro::TokenStream;
use std::str::FromStr;

#[proc_macro_derive(ParseTokenStream)]
pub fn derive(_input: TokenStream) -> TokenStream {
    println!("{:#?}", proc_macro2::TokenStream::from_str("\\s"));
    TokenStream::new()
}

src/main.rs
extern crate proc_macro;

use proc_macro::TokenStream;
use std::str::FromStr;

#[proc_macro_derive(ParseTokenStream)]
pub fn derive(_input: TokenStream) -> TokenStream {
    println!("{:#?}", proc_macro2::TokenStream::from_str("\\s"));
    TokenStream::new()
}

Output of cargo check:
    Checking repro v0.0.0 (/home/shum/rust-test)
error: unknown start of token: \
 --> src/main.rs:1:10
  |
1 | #[derive(repro::ParseTokenStream)]
  |          ^^^^^^^^^^^^^^^^^^^^^^^

error: proc-macro derive panicked
 --> src/main.rs:1:10
  |
1 | #[derive(repro::ParseTokenStream)]
  |          ^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 2 previous errors

error: Could not compile `repro`.

To learn more, run the command again with --verbose.

Thanks. When in a procedural macro, proc_macro2 functions call proc_macro so this is still best tracked in https://github.com/rust-lang/rust/issues/58736.

Okay. I figured that might be happening. Thanks!


This version of Android Studio cannot open this project, please retry with Android Studio 3.6 or newer.

this issue is displayed when I try to open GithubBrowserSample project in android studio 3.5.3

Yes, you'll need to use Android Studio 3.6 RC 3.


Update example to support 0.3.1 version

It appears that the changes from https://github.com/wouterken/crystalruby/pull/18 were reverted by this commit. Likely due to the significant changes, these updates may have been unintentionally missed while resolving conflicts.
I'm resending the changes for review.
Tohat
Local
$ bundle exec ruby examples/adder/adder.rb
3

Sorry about that! I'll make sure it sticks this time...


Nitpicking on ignite-commands.md

Grouped plugins commands and homogeneising the description of commands
Please verify the following:

[x] ~Everything works on iOS/Android~ N/A
[x] yarn ci:test jest tests pass with new tests, if relevant
[x] ./docs/ has been updated with your changes, if relevant

Describe your PR
Just documentation

Closing in favor of #1483


英文版619页 chapter15.6疑问

原文这么写的:
Key Concept: Name Lookup and Inheritance
Understanding how function calls are resolved is crucial to understanding inheritance in C++. Given the call p->mem() (or obj.mem()), the following four steps happen:
• First determine the static type of p (or obj). Because we’re calling a member, that type must be a class type.
• Look for mem in the class that corresponds to the **static** type of p (or obj). If mem is not found, look in the direct base class and continue up the chain of classes until mem is found or the last class is searched. If mem is not found in the class or its enclosing base classes, then the call will not compile.

我的理解是,先找到dynamic type,如果找到mem的话就停止,否则一层一层往上找,直到static type对应类.可书上和我理解的相反.

没看仔细.书上说的没错.这里说的是static binding.后边说的才是dynamic binding.


Adds promise scan .done particularly to handle "No cameras" error

This fixes #361

Addressed, thanks for review @vladimir-kotikov !

LGTM


Add icon to fortran files

I've added an icon for fortran related files

@GabLunaDev Thanks for the PR, do you mind adding a screenshot to your PR? Thanks!

Sure! Here is the screenshot.

Can you update the icon to be a little smaller (to match the others) and using the same type of colors from the theme? Contributing instructions for reference. It would also be great to see a better example of these files in a sample project to see how the others fit. Thanks!


add initial config generation

This adds an initial configuration command.
It can be used to let the relad binary generate a working configuration for local development. Currently only oidc and basiccredentials strategies are supported. As a bonus you can also configure the data driver (local and owncloud for now) and directory (defaults to ./data). It will also generate a ./user.json with the hardcoded oidc users if that file does not exist, yet.

Codecov Report

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

@@          Coverage Diff          @@
##           master   #149   +/-   ##
=====================================
  Coverage      75%    75%
=====================================
  Files           2      2
  Lines          40     40
=====================================
  Hits           30     30
  Misses          5      5
  Partials        5      5

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 96e7643...df4e7da. Read the comment docs.

@butonic yesterday I wonder that the cleanest approach will be to have this functionality in the client applications (reva) and leave the server as simple as possible. Can you move this code to the cmd/reva application as a new command and also remove the dependency on owncloud specific names? Can you use the existing ones (einstein and company).Thanks

@butonic I originally had it in reva, but then you need both binaries to set up a basic server. Which is why I moved it to revad ... einstein etc make sense ...

I added the demo users as well as the oidc users ... making oidc use demo users is something I dont have the time for currently.


Update standard 8x8 font to include all CP-1252 characters

@stevesims is there anyone at your end capable of doing this? I've been putting it off for a while now...


Bump miow to 0.3.6 to get rid of invalid SocketAddr cast

Bump miow dependency to 0.3.6 to get rid of the invalid memory layout assumption on std::net::SocketAddr (https://github.com/yoshuawuyts/miow/pull/39)
Yes.. I know I publish this PR with a git dependency. I want to see if this passes the CI before I actually publish miow 0.3.6.

Thanks @faern.


Added a check delted files in PRs

Error example:
https://github.com/raphaelahrens/gsd-database/runs/5576740215?check_suite_focus=true
Succesful example, but the syntax check fails for .github/workflow/json.yml:
https://github.com/raphaelahrens/gsd-database/runs/5576857093?check_suite_focus=true

Looks good! I think we should formalize all of these scripts in the gsd-tools repo and use it from there. I think we're going to end up having complex github actions and it'd be nice to use all scripts from there.

Looks good! I think we should formalize all of these scripts in the gsd-tools repo and use it from there. I think we're going to end up having complex github actions and it'd be nice to use all scripts from there.

I'm not super familiar with github actions, but I suspect this is the right thing to do. Can you explain how to do this (or feel free to just do it and submit a PR)

This is great, thanks!
I'm ignoring the failing test. There's not even any json in here


MessageInterpolator does not have access to the field name

Feature description
The context passed to the message interpolator does not have the field name (or name of the target) passed to it, only the value.  This means that you cannot include this in the message.  It is only present in the path of the constraint violation itself.

How would you like to have it fixed?


[testwatch] run all doesn't clear the filters

When I filter by file and then click a it doesn't clear the file/test filter

Oh.. maybe it's by design... What's the difference between a and c?

a simply runs all the tests with the existing filters
c clears filters and then runs all tests
this is the same behavior as jest

What's difference between a and enter?
I'm pretty sure a clears filters in Jest.

a and enter do the same
I am ok with making a and c do the same I guess

IMO:
a - clear filters and run tests
enter - run tests without clear filters
c is redundant.
But this is your call. it doesn't really matter to me for now.


Unable to add ESP32-C6 to an existing Thread network (CON-1189)

Hello,
I have an ESP32-C6 and flashed it with the “light” example.
I used the exact example and didn't change anything. I was able to integrate my device with the example QR code (https://docs.espressif.com/projects/esp-matter/en/latest/esp32c6/developing.html#commissioning-and-control) into both Home Assistant and Alexa.
After I adjusted the values for the device for Thread as described here (https://docs.espressif.com/projects/esp-matter/en/latest/esp32c6/developing.html#flashing-the-firmware)

ESP32-C6 supports both the Wi-Fi and IEEE 802.15.4 radio, so you can run Wi-Fi or Thread matter example on it.
To enable Thread, you should change the menuconfig options to CONFIG_OPENTHREAD_ENABLED=y, CONFIG_ENABLE_WIFI_STATION=n, and CONFIG_USE_MINIMAL_MDNS=n.

and flashed it again, I can neither integrate it into Home Assistant nor directly into Alexa via my Echo, which acts as a Thread border router.

@amroncz , can you please provide the below details
ESP-Matter Commit Id:
ESP-IDF Commit Id:
SoC (eg: ESP32 or ESP32-C3): ESP32s3
Device Logs (Please attach the log file):
Host Machine OS:
Commissioner app and versions if present:
Commissioner's logs if present:

@amroncz If you want to quickly try the light example with ESP32-C6 Thread enabled, you can choose ESP32C6 in the thread_light option in ESP Matter Launchpad

@amroncz , can you please provide the below details

ESP-Matter Commit Id: cd83d634248cdf142c6898c61719a60f981c0622
ESP-IDF Commit Id: 3b8741b172dc951e18509698dee938304bcf1523
SoC (eg: ESP32 or ESP32-C3): ESP32s3
Device Logs (Please attach the log file): esp32-c6_logs.txt
Host Machine OS: Microsoft Windows (Version 10.0.19045.4412) with WSL (Ubuntu 22.04.4 LTS)
Commissioner app and versions if present: Amazon Alexa (Version: 2.2.567992.0), Home Assistant Companion App (2024.6.1-full)
Commissioner's logs if present: -

@amroncz If you want to quickly try the light example with ESP32-C6 Thread enabled, you can choose ESP32C6 in the thread_light option in ESP Matter Launchpad

Unfortunately, that won't help me any further. I'm trying to learn how to use ESP devices and Matter using the example. So I'm trying to understand step by step what I need to do.

Can you share your sdkconfig in the above case where you want to commission esp32c6 over thread. From the logs, it seems that the options you had set are not enabled in the sdkconfig.

Can you share your sdkconfig in the above case where you want to commission esp32c6 over thread. From the logs, it seems that the options you had set are not enabled in the sdkconfig.

Here is my sdkconfig file. I use the Visual Studio esp-idf extension for the configuration.
sdkconfig.txt

@amroncz , I have tried to reproduce the issue with esp32c6 and thread options enabled and my device got successfully commissioned over thread. You seem to be using idf v5.2.2. I have tested the things with the idf v5.2.2 setup as well. The device gets commissioned successfully over thread without any wifi logs.
You can try the steps below and get back:
i) Please do a clean build using rm -rf build sdkconfig sdkconfig.old managed_components dependencies.lock.
ii) set the target as esp32c6 using idf.py set-target esp32c6.
iii) Enable the thread related options you mentioned above.
iv) Flash the app using  idf.py erase-flash flash monitor and commission the device using alexa or apple.

@amroncz , any update on the issue? Please close the issue if it has been addressed.

@amroncz , I have tried to reproduce the issue with esp32c6 and thread options enabled and my device got successfully commissioned over thread. You seem to be using idf v5.2.2. I have tested the things with the idf v5.2.2 setup as well. The device gets commissioned successfully over thread without any wifi logs. You can try the steps below and get back: i) Please do a clean build using rm -rf build sdkconfig sdkconfig.old managed_components dependencies.lock. ii) set the target as esp32c6 using idf.py set-target esp32c6. iii) Enable the thread related options you mentioned above. iv) Flash the app using  idf.py erase-flash flash monitor and commission the device using alexa or apple.

That worked for me. I was able to control the device via Matter over Thread with both Alexa and Home Assistant.
Alexa indicated that it was not a valid Matter device, but I had that with Matter over Wifi too and the configuration still worked.
Probably the clean build or erase-flash did it...
Many thanks for your help @shripad621git


Confident pose larger 1

Hi! Did not get your question. This code returns all poses it found.

Hope, it is clear now.


some fixes

I just created a new dev branch based on today's dev call conversation. Could you go ahead and recreate this pull request to go to dev instead? That way we only push into master when it's ready for production and has all the language strings in place and such. The PR from dev to master can be reviewed more closely as well.
We got rid of the dev branch thinking project branches would work out, but it seems with outside PRs, a dev branch people can work with makes sense, though we will have to remember to merge master back in to dev on a regular basis or make dev the default branch for everything we want to add such as language string changes and such.

Are these changes covered in https://github.com/eosdac/eosdactoolkit/pull/179 ? If so, mind if I close this one? Thanks.

Closing PR as these changes are in dev now.


update latest DMD version to 2.072

I guess we should keep in mind to update this file from time to time ;-)
It is used for all languages on e.g. the download pages

merging as this is a trivial version bump

merging as this is a trivial version bump

Sure, LGTM too.


Lazy evaluation of search results may fail if the app window gets resized

Description
Lazy evaluation of search results gets triggered on scroll, that's way the initial showed results are a bit more than what can be displayed without scrolling. The problem is that I can search for something with a lot of results, than resize the app window to be double in size and now all the initial results fit comfortably within the panel, and since I cannot scroll them I can't see the other results.
Steps to Reproduce

Resize Atom's window to be small enough
Search for something with a lot of results
Double Atom's window size, or increase it enough
Try view all the results and fail

Expected behavior: I guess a dirty and easy fix would be to recompute the initial results when a resize event happen (hopefully using debouncing) if not all of them are displayed.
Actual behavior: Only a fraction of the results are visible, in a now unscrollable list.
Versions
1.8.0-beta3

Search for something with a lot of results

Can you elaborate on how you're searching?  Is it through find-and-replace?  Keybindings?  etc.

Sure, I'm just doing:

cmd + shift + f
keyword
enter

Thanks!  In that case, can you please reopen this issue on the atom/find-and-replace repository?

Done.


[Support] Finalize earthscope domain migration, a documentation thing remains

There is a documentation matter remaining to resolve the ticket https://2i2c.freshdesk.com/a/tickets/1280, this issue tracks that.
Yuvi is aware what this is about in more detail,. I created this to not loose track of this and leave a freshdesk ticket stranded.

Fixed by #3883


(Windows) How to receive raw notification in background or when app is closed

Hi,
Currently i can receive the push notifications as long as the app is in the foreground. The push will be send as raw and the app will handle it.
Its all working fine until i set the app into the background or close the app, then i am not receiving any push message. The strange behavior is that when i run the app trough visual studio and  then close the app, its working fine (Could be because the debugger still stays attached?)
Can someone tell me what i need to do to make the Raw push notification work when the app is closed or in the background. I saw under the Declarations that there is an option for a background task - Push notication but then i need to add app settings (executable, entry point, start page or resource group)
Hope that someone can help me with this problem.
Thanks in advance!

Dup of #1532


Testing: Warnings raised by underlying seaborn and numpy libraries

Is your feature request related to a problem?
When running the test suite, currently 3 warnings will be raised from underlying libraries (seaborn and numpy) and are not catched.
These are the corresponding testcases:

tests/safeds/data/tabular/containers/_table/test_plot_correlation_heatmap.py::test_should_match_snapshot[empty]
tests/safeds/data/tabular/containers/_table/test_plot_correlation_heatmap.py::test_should_match_snapshot[empty]
tests/safeds/data/tabular/containers/_table/test_plot_histograms.py::test_should_match_snapshot[four columns]

For the first 2, the warnings are raised by some seaborn module and seems to have the same cause, the 3rd one is some numpy thing.
Desired solution
Ideal solution: Find the cause of the warnings and change the code to not produce these warnings anymore.
Possible alternatives (optional)
If it's absolutely clear that we can't do anything to fix these warnings:
Find a way to ignore these specific warnings for these specific testcases, so pytest will not report them.

We should configure Pytest to treat all warnings as errors (unless specifically ignored) in pyproject.toml, as described here.

How to ignore warnings: https://github.com/Safe-DS/Stdlib/blob/c5d75df0c6a548eafe9caef291f0360b28a1d548/src/safeds/data/tabular/containers/_table.py#L1932-L1937

Updated the description to state that we donÄt just want to silence the warnings in the tests, but in the code that throws them.

:tada: This issue has been resolved in version 0.15.0 :tada:
The release is available on:

v0.15.0
GitHub release

Your semantic-release bot :package::rocket:


ci: Use 's3-deploy' Action & 'ubuntu-latest' (PT-184551778)

PT-184551778, mostly copied from concord-consortium/activity-player#404

Yes it turns out that the s3-deploy-action supports topBranches for subfolders. It is documented here: https://github.com/concord-consortium/s3-deploy-action#top-branch-support-in-mono-repos

So if everything was working properly, this would be the place to test the "released" open-response:
https://models-resources.concord.org/question-interactives/open-response/index-ubuntu-18.04-brownout.html
But I can see that file doesn't exist:
https://s3.console.aws.amazon.com/s3/buckets/models-resources?region=us-east-1&prefix=question-interactives/open-response/&showversions=false
Which is because you didn't change the build system to create index-top.html files for each of the subfolders.
Generally we don't use the released question-interactives. Inside of LARA we point directly to the versioned path for each interactive so that would be:
https://models-resources.concord.org/question-interactives/version/v1.11.0/open-response/index.html
However there is at least one place where the released version is used. This is the full-screen interactive. So it is important to create the index-top.html files, and update the release.yml to copy them.
The full-screen interactive doesn't change often, so if this becomes urgent because of the brown out, we could merge this as is and fix that stuff afterwards.

@433eros yes it won't be there because the webpack build files have to be updated to generate index-top.html files. The Activity Player does that here:
https://github.com/concord-consortium/activity-player/blob/master/webpack.config.js#L131-L135
I don't remember the new question interactives build system well enough to tell you off hand how best to update it. Perhaps @pjanik can either do this or tell you what to do.

It's also missing report-item/index.html and version.json.
report-item/index-top.html should be added to webpack config. It's gonna look pretty much like a regular index-top.html config that you added.
Then, it needs to be copied in release.yml. Take a look how ZIP files are copied here:
https://github.com/concord-consortium/foss-simulations/blob/main/.github/workflows/release.yml#L50
You could reuse a similar pattern to copy report-item/index-top.html and version.json files.


expressions: add section about universe levels

Depends on #77. Only the last two commits are new.

There are some conflicts now 🙏🏼

Weird that Github wasn't able to figure that out by itself. Should be fixed now. :)


type wrongly inferenced when using sqlalchemy.asc

Describe the bug
type inferenced is int
Expected behavior
type inferenced should be Uninon of int and Column

To Reproduce
session.query(Object).order_by(asc(Object.field)) where field is of type Column(Integer)
Please do not use Flask-SQLAlchemy or any other third-party extensions or dependencies in test cases.  The test case must illustrate the problem without using any third party SQLAlchemy extensions.  Otherwise, please report the bug to those projects first.
# Insert code here

Error
# Copy error here. Please include the full stack trace.

Versions.

OS: Windows
Python: 3.9
SQLAlchemy: 1.4
mypy: none
SQLAlchemy2-stubs: latest

Additional context
using PyCharm 2021
Have a nice day!

Hi,
What is the model definition?
At the moment I think this need the mypy pluging to work properly, I'm not sure what pycharm uses to provide inference.
We are experimenting with some changes that hopefully will improve things.
Thanks for reporting


Update stages.md

Conditions if overwritten remove the default succeeed/completed so calling out that this does occur if inserting a custom condition.

@JFolberth : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off
Thanks for your contribution!

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Update Contact.js

Add a placeholder in contactus section

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.

Hey... You have to mention issue no in your PR
Firat tell your issue no.

#465
On Sun, May 28, 2023, 1:01 AM SNEHA CHAUHAN @.***>
wrote:

Hey... You have to mention issue no in your PR
Firat tell your issue no.
—
Reply to this email directly, view it on GitHub
https://github.com/MonalikaPatnaik/UMatter/pull/466#issuecomment-1565658275,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXO4H7VS6Y2JZVHUAXFY7DTXIJI77ANCNFSM6AAAAAAYRLHRFY
.
You are receiving this because you authored the thread.Message ID:
@.***>

@2020B1531074 you cann't make PR until the issue is assigned to you!
We cann't merge it... Wait for assigning then make your PR.
Thanks:)

Please assigned to me this
On Sun, May 28, 2023, 1:14 AM SNEHA CHAUHAN @.***>
wrote:

Closed #466 https://github.com/MonalikaPatnaik/UMatter/pull/466.
—
Reply to this email directly, view it on GitHub
https://github.com/MonalikaPatnaik/UMatter/pull/466#event-9358428146,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXO4H7UMGISC5KY3LV2Z7BTXIJKTLANCNFSM6AAAAAAYRLHRFY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Fix: Unnamed Auth routes returns an error when inside a route group

In situations when a developer decides to put the routes in a group like so:
$routes->group('accounts', static function($routes) {
    service('auth')->routes($routes);
});

Calls to route_to('login') and route_to('register') will return an error because there isn't any named route for that.
By explicitly setting named routes for each of the auth routes, the routing works well whether in groups or not.

I think this should be fine. @codeigniter4/core-team can you think of any reason this might be problematic?

Not sure I understand clearly what you mean.
What you pointed out is the logout redirect, which by default, redirects to the login page. This PR fixes issues that may arise when the auth route is placed inside a group.
If we are also considering the login/register/logout redirects, then I think using route_to() should fix that.
Is this what you mean @datamweb ?

what you mean

Step1: add
$routes->group('accounts', static function($routes) {
    service('auth')->routes($routes);
});

to file app/Config/Routes.php.
Step2:  login with http://localhost:8080/accounts/login.
Step3: is to logout with route http://localhost:8080/accounts/logout.
what will happen? 404 error(404 - File Not Found
Can't find a route for 'get: login'.). Because by default the after logout path is set to http://localhost:8080/login NOT http://localhost:8080/accounts/login.
Now if you change the 'logout'   => 'accounts/login'. It will not be a problem.
https://github.com/codeigniter4/shield/blob/3fede093f21cca09e7997fc46cf8c81e0b9a648d/src/Config/Auth.php#L51
So my point is that it should be explained that the grouping affects the exit performance of the user should know how to fix this issue or use as.

As @datamweb says, it seems 404 error will be reported.
The setting is URL (path), not a route name.
https://github.com/codeigniter4/shield/blob/3fede093f21cca09e7997fc46cf8c81e0b9a648d/src/Config/Auth.php#L42-L52
But the issue is not related to this PR?
If a dev changes the URL of login, it is no wonder s/he needs to change the setting.

The setting is URL (path), not a route name.

Yes, exactly that.

But the issue is not related to this PR?

Well, if you think this is not related to PR, go ahead. merge.

Now I understand your concern @datamweb.
Can we change the $redirects setting to a route name instead of just a path? I think this will fix the issue for both the grouped and ungrouped cases.
What do you think?

Can we change the $redirects setting to a route name (at least for the logout) instead of just a path? I think this will fix the issue for both the grouped and ungrouped cases.

We cannot change it easily. Because it is a URL (path), not a route name.
If we change it, it is a breaking change.
The value will be passed to site_url():
https://github.com/codeigniter4/shield/blob/3fede093f21cca09e7997fc46cf8c81e0b9a648d/src/Config/Auth.php#L375-L380

Shield is now in beta releases. So we could introduce breaking changes.
When we are using named routes in Shield,
it is better to use named routes in all places including the $redirects values.
So it seems better to change the $redirects values to:

a URL if it begins with http. E.g. http://example.com/logout
a named route if there is the named route. E.g. logout
a route (URI path). E.g. logout

We can do that if we change getUrl(), and existing system won't break even if it is not updated.

can you think of any reason this might be problematic?

If a site has more than one login URL (e.g. login and admin/login) and
the admin/login has the route name login, this PR will break the system.
The same goes with logout and register.
But there is probably no such site, so this change will not a problem.

If a site has more than one login URL (e.g. login and admin/login) and the admin/login has the route name login, this PR will break the system.

That was interesting. I had not thought about this position.
This is an example from Joomla. Admin and user login section.

But there is probably no such site, so this change will not a problem.

However, I agree with this.

Another issue is that we need to be careful when the user uses grouping. It should change as follows.
public $globals = [
    'before' => [
        // ...
        'session' => ['except' => ['login*', 'register', 'auth/a/*']],
    ],
    // ...
];

public $globals = [
    'before' => [
        // ...
        'session' => ['except' => ['accounts/login*', 'accounts/register', 'accounts/auth/a/*']],
    ],
    // ...
];

Hi @datamweb ,
I think that should go to the docs. I'll push a commit to that effect.

Sorry, I meant please update the explanation. Because it will be not only URL, but also named route.
https://github.com/codeigniter4/shield/blob/83dd09a66088af51ac6d365002fa77f0bb1eeeb4/src/Config/Auth.php#L41-L46

Is this really necessary?
I'm asking because no change was done to the $redirects.

while a logout action will redirect to /login.
https://github.com/codeigniter4/shield/blob/develop/docs/customization.md#custom-redirect-urls

This description also needs to be updated.

Oh, I get the point now, thank you.

Is this really necessary?

In the default state, the route login's path is login . There is no difference between the route name and path.
However, the meaning of the value login is the route name.
So it would be better to have an explanation that if the route name is set, it is the route name.

@lonnieezell Can you review?
If you don't have time, we will merge this.

Approved


procmon for windows server 2008 re

Hi,
Openprocmon is not working on Windows server 2008 re,  failed to load procmon driver.
Old Procmon.exe v3.33 is working fine on Win server 2008 but procmonXX.sys is not found in drivers folder.
Do you know which procmon.sys version works with Win server 2008 and where I can get the SYS file?
Thanks & Regards,
-Mak

Issue fixed after installing kb4474419 on the 2008 r2 machine.


Graphite2 doesn't build under x64

The machine setup: "I'm using Windows 10 Anniversary Update. My machine is using the zh-CN locale. I'm using VS 2017. I have successfully built several packages with vcpkg without problems.
The steps to reproduce: "I run 'vcpkg install graphite2:x64-windows'"
The outcome you expected: "I expected to see 'graphite2' successfully built and installed"
The actual outcome: "There're build errors".
Actually reading the code i've found that the json only support 32bit integer output. But the code is actually trying to output size_t, so the code can't build under 64bit compiler.
I'm made a few changes to the code locally to make the build succeed. Not sure if the fix is appropriate.
various_fixes.zip

@crlf0710 Could you open those fixes as a PR? That makes it a lot easier for everyone to review and accept them if they're perfect :)


[Bug] Error when building with the SDK 3.10

Just installed Pebble SDK 3.10.
pebble build gives me the following error:
Traceback (most recent call last):
  File "/Users/yaoyu/Library/Application Support/Pebble SDK/SDKs/current/sdk-core/pebble/.waf-1.7.11-1ba452f3b6b683932ae2af740e045993/waflib/Task.py", line 123, in process
    ret=self.run()
  File "/Users/yaoyu/Library/Application Support/Pebble SDK/SDKs/current/sdk-core/pebble/.waf-1.7.11-1ba452f3b6b683932ae2af740e045993/waflib/Task.py", line 47, in run
    return m1(self)
  File "/Users/yaoyu/Library/Application Support/Pebble SDK/SDKs/current/sdk-core/pebble/.waf-1.7.11-1ba452f3b6b683932ae2af740e045993/waflib/extras/generate_resource_ball.py", line 16, in run
    resos=[ResourceObject.load(r.abspath())for r in self.inputs]
  File "/Users/yaoyu/Library/Application Support/Pebble SDK/SDKs/current/sdk-core/pebble/common/tools/resources/types/resource_object.py", line 24, in load
    return pickle.load(f)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 858, in load
    dispatch[key](self)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1090, in load_global
    klass = self.find_class(module, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1124, in find_class
    __import__(module)
ImportError: No module named resource_object```

This seems to be Pebble JS specific since it does not give error when I do pebble build in a normal C project.

I asked on the Pebble forum and Christian Reinbacher suggested to do a pebble clean before pebble build and it solves the problem!


zos_job_submit generates NotADirectoryError: [Errno 135] EDC5135I Not a directory.: 'locale'

Running latest zos ansible core.   Having issues getting zos_job_submit to submit JCL.
Other modules such as zos_data_set, zos_operator and zos_job_output are working fine.    I attempted with and without quotes around src:

hosts: zos_host
collections:

ibm.ibm_zos_core
gather_facts: no

environment: "{{ environment_vars }}"
tasks:

name: Submit the JCL
zos_job_submit:
src: "KZANSBL.SYSK.JCLLIB(WAIT)"
location: DATA_SET
wait: true
register: response

Regardless of any type of job submit, the  EDC5135I Not a directory.: 'locale'  is the only error I see in the playbook output.
Traceback (most recent call last):
File "", line 102, in
File "", line 94, in _ansiballz_main
File "", line 40, in invoke_module
File "/u/kzansbl/python/usr/lpp/IBM/cyp/v3r9/pyz/lib/python3.9/runpy.py", line 210, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/u/kzansbl/python/usr/lpp/IBM/cyp/v3r9/pyz/lib/python3.9/runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/u/kzansbl/python/usr/lpp/IBM/cyp/v3r9/pyz/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/tmp/ansible_ibm.ibm_zos_core.zos_job_submit_payload_mc6nq6it/ansible_ibm.ibm_zos_core.zos_job_submit_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/modules/zos_job_submit.py", line 816, in
File "/tmp/ansible_ibm.ibm_zos_core.zos_job_submit_payload_mc6nq6it/ansible_ibm.ibm_zos_core.zos_job_submit_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/modules/zos_job_submit.py", line 812, in main
File "/tmp/ansible_ibm.ibm_zos_core.zos_job_submit_payload_mc6nq6it/ansible_ibm.ibm_zos_core.zos_job_submit_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/modules/zos_job_submit.py", line 647, in run_module
File "/tmp/ansible_ibm.ibm_zos_core.zos_job_submit_payload_mc6nq6it/ansible_ibm.ibm_zos_core.zos_job_submit_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/encode.py", line 65, in get_default_system_charset
File "/tmp/ansible_ibm.ibm_zos_core.zos_job_submit_payload_mc6nq6it/ansible_ibm.ibm_zos_core.zos_job_submit_payload.zip/ansible_collections/ibm/ibm_zos_core/plugins/module_utils/system.py", line 119, in run_command
File "/u/kzansbl/python/usr/lpp/IBM/cyp/v3r9/pyz/lib/python3.9/subprocess.py", line 956, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/u/kzansbl/python/usr/lpp/IBM/cyp/v3r9/pyz/lib/python3.9/subprocess.py", line 1828, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
NotADirectoryError: [Errno 135] EDC5135I Not a directory.: 'locale'

@corytx69 - I apologize for the delay, team has been extremely busy on some long term enhancements. If you are still watching this, what it appears to me to be doing is that it trying to figure out your systems locale to know what encoding to use.
On or about where it fails, in USS it runs this command locale -c charmap, on my system I get
DDIMATO:/u/ddimato #>locale -c charmap
IBM-1047

If you could share the results of that command, it might help us identify a case where this command is not available or possibly some other reason.
I would suggest as a work around, you set the encodings yourself to avoid the auto detection (running the locale command) , you can set the encoding for the submit module by adding this to the zos_job_submit` module.
    encoding:
      from: ISO8859-1
      to: IBM-037

@corytx69 - going to close this out since there has been no updates on the suggestion above about running the locale command. If you are able to, feel free to reopen this case but it really does hinge on why locale was not available and on all our systems that is not the case. I have reached out to the USS experts in  parallel to understand if its possible the command is not a default utility or can be limited by ACL/Security permissions.
In the future, issues related to a module should be opened in their respective repositories, you can visit galaxy and view each collections Git repo to know where to open an issue if you are unsure. For this particular module, the collection can be found in this repository.
Reopen if you are able to continue assisting. Thank you.

One more update, got a message back from the USS development, locale is a standard utility that is included with USS, thus it could be that your PATH is not defined with where to find locale, the standard sample we provide includes the most common locations for executibles, you can see that information here. Ansible does not honor your .profile if you have one on the managed node, it uses the environment vars we have outlined in the shared link.


Merge feature/output-reporting into develop

Ticket: []
Feature flag: n/a

Purpose

Summary of Changes

Screenshot(s)

Side Effects

QA Notes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

115 of 130 (88.46%)  changed or added relevant lines in 16 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.3%) to 71.302%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/osf-components/addon/components/resources-list/delete-resource/component.ts
4
5
80.0%

app/helpers/open-badges-icon-map.ts
12
14
85.71%

lib/osf-components/addon/components/expandable-preview/component.ts
18
20
90.0%

lib/osf-components/addon/components/open-resource/component.ts
6
8
75.0%

lib/osf-components/addon/components/resources-list/edit-resource/component.ts
38
41
92.68%

lib/osf-components/addon/components/resources-list/component.ts
12
17
70.59%

Files with Coverage Reduction
New Missed Lines
%

lib/registries/addon/overview/controller.ts
1
83.78%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
5385

Relevant Lines:
7338

💛  - Coveralls


Facebook Broken with Agar.io Update

The Facebook key system has been broken due to the new update of Agar.io. The Facebook login system, i think, has changed, and the way the client is using the Facebook keys no longer works.

For anybody who waiting fix, i'm working on it, but new auth system got much more complicated than it was. For every new connection new auth key requested.
I do not know when i will fix it, and will i be able at all.

If this helps, the extension Agario Powerups seems to be working with facebook, even after the update. You could look at that code for help.

agar.io powerups by even kara does not work after a while and i wanted 100 bots on my facebook

The eren kera one is outdated to thats why it does not work i mean the newest one by the real creator.

Okay, i need help.
I do not have experience with websites development and agar uses some "facebook sdk" which i never used and i need help with using it in Node.js
There is some window.fbAsyncInit which SDK calls and
window.FB.init({
	appId: A.fb_app_id,
	cookie: !0,
	xfbml: !0,
	status: !0,
	version: "v2.2"
});

inside it.
While this voodoo magic happens, SDK receives data with variables
_FB_f3a372f6ce2ef5cb=...
domain=agar.io
origin=http%3A%2F%2Fagar.io%2Ff3a372f6ce2ef5
relation=parent
code=...
signed_request=...
access_token=CAAJoMBwWJiMBAKU095...
expires_in=6298
base_domain=agar.io
https=1

Who have experience with this should understand this list.
And what i need is that access_token to authorize client on agar server.
I found some https://www.npmjs.com/package/fb but its uses some https://www.npmjs.com/package/passport and that uses something other and i have no idea what is happening and how to make it work.
How to get that access_token in Node.js?

One thing that may help is that the Opcode for Facebook login changed from 81 to 82.

Any news pulviscriptor ?

gthgame,
No news at the moment.

ok pulviscriptor i hope to see an update soon if you find a fix , Good luck man ...

i think is not possible without "login dialog".
when the user is connected. it's possible to have a accessToken with this url (https://facebook.com/dialog/oauth?client_id=677505792353827&redirect_uri=https://agar.io&scope=public_profile, email&response_type=token). He return the token in url but need connection before.
Look here: https://developers.facebook.com/docs/facebook-login/access-tokens

all in npm is for the developper of application and need app_secret key

    if(this.facebook_key) {
        buf = new Buffer(1 + this.facebook_key.length);
        buf.writeUInt8(81, 0);
        for (i=1;i<=this.facebook_key.length;++i) {
            buf.writeUInt8(this.facebook_key.charCodeAt(i-1), i);
        }
        this.send(buf);
    }

    this.emit('connected');
},

NEEDS to be changed to
    if(this.facebook_key) {
        buf = new Buffer(1 + this.facebook_key.length);
        buf.writeUInt8(82, 0);     // <------ the opcode changed from 81 to 82 in the update
        for (i=1;i<=this.facebook_key.length;++i) {
            buf.writeUInt8(this.facebook_key.charCodeAt(i-1), i);
        }
        this.send(buf);
    }

    this.emit('connected');
},

Endromede, thank you very much, i will look into that.
Sonicmaster13, also you need to change buffer size to +1 since there is ID of auth provider (google/facebook), write that provider to second byte and move all token bytes to one to right.
But this does not helps access_token requesting.
The problem is that previously player FB key was static and was not changing every time you update page like it does now. And i can't request new tokens from node.js,  and i can't say how long these tokens will work if you will not generate them for every new connection, like original client does.
And even more, looks like player experience/level is now requested through some new WSS server that have his own protocol. So i need to do something with that too if it is working like that now.
I will test token, if it will live more than 8 hours, i will post script to request tokens that i made while experimenting.
lets hope that will work. Now i go sleep to test token later.

By the way here is modified part of facebook key send if anybody needs it. You need set key to token. But again, i do not know for how long tokens will work without re-requesting them so this is untested solution.
        if(this.facebook_key) {
            buf = new Buffer(2 + this.facebook_key.length);
            buf.writeUInt8(82, 0);
            buf.writeUInt8(1, 1);
            for (i=1;i<=this.facebook_key.length;++i) {
                buf.writeUInt8(this.facebook_key.charCodeAt(i-1), i+1);
            }
            this.send(buf);
        }

For google replace buf.writeUInt8(1, 1); to buf.writeUInt8(2, 1);

I can try to help. I have been staring at agario's client code for about 2 hours now so i'm getting to understand it better.

pulviscriptor, the token is valid only 1hour .... that's the problem.
go on agar.io site, in console write FB.getAccessToken() and test here:https://developers.facebook.com/tools/debug/

the token is valid only 1hour
My idea was that agar itself disables tokens when you request them on main page. So my standalone script in that case would work.
But now i see that this is facebook disables key. Thanks for that link!
So... All my ideas that i made has failed.

oh. before needed 1 token by bot ( client ) in same map with same account.
Now 1 token for all bot in same map with same account work ! Ok need change all hour but only one needed. i had created a generator of token ( client side) but is useless.
the token is disable when you logout and after the "cycle" is finish. When you generate the first token a setinterval for remove token is launch. ( the time is recorded in secondes in "expires_in" )
test with that (https://facebook.com/dialog/oauth?client_id=677505792353827&redirect_uri=https://agar.io&scope=public_profile, email&response_type=token) launch in browser url and look url.
ps: unknow if the timer is reset to zero when you logout or if continue and remove token after x secondes same if not token is generated because it's strange never same time when i logout/login and generate token.
ok now.
the only solution( in node) is to connect in facebook, set the "email" and "pass".but unknow if possible to record the session in node ( cookie, a "localStorage", ... )

Good news here.
Endromede contacted me and with his help now we have working token requester.
Is uses cookies from domain "facebook.com" so i need to see if they will work 24 hours later or they will expire like tokens.
I will post results here some time later.

I updated package.
Please check if it works for you. My test show that everything is fine, but i could forget something.
If anybody have problems with new update, report them please.

Ok. Does this mean that i can use the same token for many "bots" in the same map?

Sonicmaster13, i do not know. It depends on agar's server-side code.


Severity Name Toggling

@devGregA Details?

@grendel513 right now in the metrics 'severity' is displayed as s3-s0 instead of low-critical. Should we axe this? Or make it toggle-able?

@devGregA - i see.  All the graphs (or most) do use the full severity name, it is the text based metrics that use the numerical severity value.  We can either show both "Critical (S0)" or we can have a toggle (javascript based) that can translate one to the other.

Sent you a Slack message, but I think it should be togglable from the settings. What are your thoughts?


[demos] Update images potinting to personal repos

A couple of changes:
Music store demo

Copied mimik code into a subfolder
Created Github action to generate the image and upload to Kiali Quay.io repo.

In order for this to work, it requires the following secrets:

QUAY_USER
QUAY_PASSWORD

service spawner

Just replacing image pointing to personal repos

Fixes #5283

LGTM

@leandroberetta thanks for the review!
If we are not generating the image, I think the mimik folder can we removed

Removed mimik folder, no needed as the image was manually updated.


CSRF detected

I don't know if this is an issue or just me doing something wrong but I keep getting the following error:
(office365) Authentication failure! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected
I redirect the browser to https://login.windows.net/common/oauth2/authorize?response_type=code&client_id=[my client id]
The office authentication works fine and it redirects back to my callback page, and then I get that error.
Is there anything you can advise?

Can you ping me at<EMAIL_ADDRESS>I have not access to office365 right now, so it will be nice if you are able to provide me some testing access (mainly id and secret) to some test app so i can dig deeper into this.

@dayash is this solved?

Yes, thx.
On Mon, May 25, 2015 at 1:59 PM, Josef Šimánek<EMAIL_ADDRESS>wrote:

@dayash https://github.com/dayash is this solved?
—
Reply to this email directly or view it on GitHub
https://github.com/simi/omniauth-office365/issues/4#issuecomment-105206087
.


Refactor SqlTranslatingExpressionVisitor

This commit adds the OuterPropertyExpression, which is a dedicated expression to represent expressions bound to parent query models. This expression allows us to defer the decision of whether to bind directly to the parent query (i.e. an AliasExpression) or to bind via an outer parameter. There are several improved generated SQL queries in this PR as a result.
To facilitate this change, other changes take place:

Subquery models are now visited only once, meaning no more unnecessary uniquification (things like FROM Orders AS o4 instead of FROM Orders AS o)
The _bindParentQueries field/parameter to RelationalQueryModelVisitor and SqlTranslatingExpressionVisitor is now gone, instead being driven by the context of the query model visitor and its ancestors via CanBindOuterProperties, CanBindOuterParameters, and RequiresOuterParameterInjection
The _targetSelectExpression field/parameter to SqlTranslatingExpressionVisitor is now gone, being replaced by a _mutateProjections field/parameter. This helps to make it clearer what is being done every time and place the visitor is used (also, there were cases where the _targetSelectExpression comparison bit would hinder things from binding correctly.)

This PR is split from (and integral to) #7650 and #7543, and this PR includes/depends on the changes that make up #7619.

Hi @tuespetre, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

List of queries with improved generated SQL (ignoring those that just changed in alias names due to the uniquification):

https://github.com/aspnet/EntityFramework/pull/7663/files#diff-4685ea6da86b37b446cabc9dbe924057R1658
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-4685ea6da86b37b446cabc9dbe924057R2438
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2c68636402e93e86a3d0108bbd4ba1ddL2074
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-e8ff8dabc15c4214f1f4885c86b23ce2R190
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-e8ff8dabc15c4214f1f4885c86b23ce2R448
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-e8ff8dabc15c4214f1f4885c86b23ce2R1017
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2L265
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2L297
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2R313
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2R508
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2R585
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2R3115
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2R3180
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2R5521
https://github.com/aspnet/EntityFramework/pull/7663/files#diff-2602188597986ba3e53c5b56162786d2R6207

:up::date:

Fixed the possible NRE pointed out
Renamed 'mutateProjections' parameter to 'addToProjections'
Undid the changes related to #7619

:up::date:
Was able to remove MaybeAnonymousSubquery()


Conditional timed event trigger

Is it possible to add a conditional timed fire? Like if current state is x or not x then trigger it
This will avoid piling up triggered goroutines if no need to trigger
@Gurpartap  - this project is very involved thanks for the comprehensive library

it's already possible with TimedEvery(duration time.Duration).
the 'tick' event usage in the cognizant example exhibits the use case rather well. add a transition/event callback, if necessary.

@Gurpartap yes I saw that example but a bit confused

is the choice function there to determine whether the tick will happen or not? i.e. has the tick already been scheduled and it is just a boolean for the ontrue on false functins?
What state is the state machine in when we are in the choice function?

I want to only trigger the tick only if the current state is 'idle'  - i am not sure if choice will allow me to do that

is the choice function there to determine whether the tick will happen or not? i.e. has the tick already been scheduled and it is just a boolean for the ontrue on false functins?

the tick event triggers a transition defined by Choice, which is just a glorified if {} else {}.
in other words, on TimedEvery(...), tick event will always happen (unless the state machine is busy processing another event/transition/callback – or TimedEvery is being paused manually using SkipUntil(...)).
once tick event is fired, it'll call Choice(...), which can define transitions based on whether the result of Choice was true or not.

What state is the state machine in when we are in the choice function?

events are just for triggering a transition, and transitions cause the state to change. if there is no transition, nothing happens.
in other words, the state will only change when a choice result triggers a transition successfully.

I want to only trigger the tick only if the current state is 'idle'  - i am not sure if choice will allow me to do that

if you only want the machine to change state automatically when it becomes idle, one of the way to do it with TimedEvery and without Choice would be as simple as:
TimedEvery(1 * time.Second).
  Transition().From("idle").To("processing")

m.Event("tick").
  TimedEvery(1 * time.Second).
  Transition().From("idle").To("processing")

in this example it only creates a tick event if the current state is idle? and nothing happens if the current state is something else?
What happens in terms of threading/concurrency if another non-tick event is sent at the same time as that tick gets fired?

m.Event("tick").

  TimedEvery(1 * time.Second).

  Transition().From("idle").To("processing")

in this example it only creates a tick event if the current state is idle? and nothing happens if the current state is something else?

TimedEvery is like a cron job. it fires the tick event every second in that example. on every tick event, if current state is "idle" it will transition to "processing". you can add a transition callback to trigger some func in your code when the transition occurs.

What happens in terms of threading/concurrency if another non-tick event is sent at the same time as that tick gets fired?

machine.Fire("event") is blocking. each event is handled one after the other. the current event (and the resulting transition, if any) would have to finish before the next event trigger is handled.

hmm ok ok
Will have to try out various things
thanks


[FEATURE] Allow LDAP groups to impersonate users

Is your feature request related to a problem?
I have integrated LDAP for authentication and authorisation in my OpenSearch clusters.
Each cluster is "managed" by a different LDAP group, that are acting as superadmins (i.e. essentially they are mapped to the "all_access" role, through backend_role).
Now, reading the official doc I thought of giving an LDAP group the possibility to impersonate users in my cluster.
So,  I add this on my opensearch.yml config, hoping that besides user "joe", all people in "it-opensearch-administrators" LDAP group will be able to impersonate every user in the cluster.
plugins.security.authcz.rest_impersonation_user.admin:
- "*"
plugins.security.authcz.impersonation_dn:
  "CN=it-opensearch-administrators,OU=e-groups,OU=Workgroups,DC=mydomain,DC=com":
  - "*"

authenticating (using basic auth) and impersonating any user with user  "admin" works as expected.
and then I try this (authenticating through kerberos) with a user "joe" who is member of "it-opensearch-administrators" LDAP group:
curl --negotiate -u : -k -H "opendistro_security_impersonate_as: paok" https://mycluster.mydomain.com/_cluster/health?pretty

I get this:
{
  "error" : {
    "root_cause" : [
      {
        "type" : "security_exception",
        "reason" : "'joe' is not allowed to impersonate as 'paok'"
      }
    ],
    "type" : "security_exception",
    "reason" : "'joe' is not allowed to impersonate as 'paok'"
  },
  "status" : 403
}

What solution would you like?
I would like to be able to give impersonation rights to an LDAP group dynamically, so that any user of the organisation that is member of that group (which changes over time), automatically gets impersonation rights over other users.
What alternatives have you considered?
Setting up an internal_user for each cluster and let them use that for impersonation. But that's a work-around more than a solution to the problem.
Do you have any additional context?
Here's my entire config.yml, in case it helps.
_meta:
  type: "config"
  config_version: 2

config:
  dynamic:
    http:
      anonymous_auth_enabled: false
      xff:
	enabled: false
        internalProxies: '192\.168\.0\.10|192\.168\.0\.11' # regex pattern

    kibana:
      multitenancy_enabled: true
      server_username: iteskibanauser
      index: '.kibana'
    do_not_fail_on_forbidden: true

    authc:
      basic_internal_auth_domain:
        description: "Authenticate via HTTP Basic against internal users database"
        http_enabled: true
        transport_enabled: true
        order: 1
        http_authenticator:
          type: basic
          challenge: false
        authentication_backend:
          type: intern
      openid_auth_domain:
        description: "Authenticate via OpenID Connect"
        http_enabled: true
        transport_enabled: true
        order: 0
        http_authenticator:
          type: openid
          challenge: false
          config:
            subject_key: preferred_username
            openid_connect_url: 'https://keycloak.mydomain.com/auth/realms/mydomain/.well-known/openid-configuration'
            skip_users:
            - iteskibanauser
        authentication_backend:
          type: noop
      ldap_auth_domain:
        description: "Authenticate via LDAP or Active Directory"
        http_enabled: true
        transport_enabled: true
        order: 2
        http_authenticator:
          type: basic
          challenge: false
        authentication_backend:
          type: ldap
          config:
            enable_ssl: false
            enable_start_tls: false
            enable_ssl_client_auth: false
            verify_hostnames: true
            hosts:
            - xldap.mydomain.com:389
            bind_dn: null
            password: null
            userbase: 'OU=Users,OU=Organic Units,DC=mydomain,DC=com'
            usersearch: '(sAMAccountName={0})'
            username_attribute: 'cn'
      kerberos_auth_domain:
        description: "Authenticate via Kerberos"
        http_enabled: true
        transport_enabled: true
        order: 3
        http_authenticator:
          type: kerberos
          challenge: true
          config:
            krb_debug: false
            strip_realm_from_principal: true
        authentication_backend:
          type: noop

    authz:
      roles_from_myldap:
        description: "Authorize via LDAP or Active Directory"
        http_enabled: true
        transport_enabled: false
        authorization_backend:
          type: ldap
          config:
            enable_ssl: false
            enable_start_tls: false
            enable_ssl_client_auth: false
            verify_hostnames: true
            hosts:
            - xldap.mydomain.com:389
            bind_dn: null
            password: null
            userbase: 'OU=Users,OU=Organic Units,DC=mydomain,DC=com'
            usersearch: '(sAMAccountName={0})'
            username_attribute: 'cn'
            rolebase: 'OU=Unix,OU=Workgroups,DC=mydomain,DC=com'
            rolesearch: '(member={0})'
            userroleattribute: null
            userrolename: 'memberOf'
            rolename: 'cn'
            resolve_nested_roles: true
            skip_users:
            - iteskibanauser

[Triage] Thank you for filing this issue and providing details @spapadop.


De-duplicate code from lab13, lab14 and lab15

In the process I found a few discrepancies that are now fixed, and also back-ported one improvement to lab9,
and found and fixed bugs in lab11 and lab12.

In the interests of time, going to go ahead and land this.


Invalidate internal cache on unOAuth

This fixes the case experienced when a previous twitter client is cached for a given user_id who has successfully unOAuthed, and then re OAuths only to see that the previous twitter client is still cached for them.
(Fixes https://github.com/Half-Shot/matrix-appservice-twitter/issues/46)

FTR, the tests are failing due to linting errors (outside of this PR)

Yup LGTM. Merging.


Pause Function

Can you add a pause function if needed? keep clicking

Hey @SherlockLee592, check the Interactive mode, which already has a "pause" option: https://github.com/ffuf/ffuf#interactive-mode


[BUG] Polish translation needs more expansive font

Describe the bug
Default font doesnt have polish(translation) characters (ąęźćżł, etc)
Screenshots

Additional context
This version of font should work (I used free .ttf to .woff converter locally):
https://fonts.google.com/specimen/Cormorant

A workaround:
Use Custom CSS module, and replace the font(s) you want. I had to do it for my World, as I could not stand Polish diacritics messed up.

This was fixed with commits 150c1f5798a41d972107047b8c86e2a750c6f748 and 5100ca3c6c21b0e4b5858cba783c17b21d49db68 with the swap from Cormorant to Vollkorn. (Screenshot below to reference with the original issue's)


Text composables: Android Basics with Compose

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-compose-classes-and-objects?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-2-pathway-1%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-classes-and-objects#6
In which task and step of the codelab can this issue be found?
7. Implement a relationship between classes
Describe the problem
This is a small typo and I wanted to report it.
In the second paragraph of the section: "Reuse superclass code in subclasses with the super keyword", "the" is misspelled as "teh"
"To call the overridden method in the superclass from teh subclass," please fix that typo.
Thank you
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Hi @chamodhk
Thank you for writing in and bringing this to our attention.
It has been corrected and the updated content will be republished again in the near future.
Hope you are enjoying the course!
Regards.


fribidi: 0.19.6 -> 0.19.7

Motivation for this change
maintenance.
tested binary.
Things done

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

[x] NixOS
[ ] OS X
[ ] Linux

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

Travis filled up:
fetching path â€˜/nix/store/byy7fnz2gqkfzwg2hy2iqd6cs4rbfw16-argyllcms-1.8.3â€™...

*** Downloading â€˜https://cache.nixos.org/nar/01z44lskwyz9zyy6x91b199fgcvw96w5bnz1zk2nizv8dbhphq9k.nar.xzâ€™ to â€˜/nix/store/byy7fnz2gqkfzwg2hy2iqd6cs4rbfw16-argyllcms-1.8.3â€™...
error: preallocating file of 4347760 bytes: No space left on device
curl: (23) Failed writing body (1616 != 16384)
download of â€˜https://cache.nixos.org/nar/0qvn83yczvshjy7m1rf34z0fnxx58icc8wyc61i3p5w356ld8m7y.nar.xzâ€™ failed: No such file or directory
could not download â€˜/nix/store/9nij5nc6lh04prq1gzlh8wwrg1ghqfvl-ghc-8.0.1â€™ from any binary cache
fetching path â€˜/nix/store/9nij5nc6lh04prq1gzlh8wwrg1ghqfvl-ghc-8.0.1â€™ failed with exit code 1

This has been open without feedback for way too long.

Thanks!


[Issue]After the step"Open module:app build.gradle"

and Changing applicationId "com.material.dashboard.candybar.sample" to my package name, i'm prompted"(1 too large file was ignored)", and the file location and name is "\build\generated\mockable-android-25.jar' (32 megabytes) is too large and cannot be scanned, what shall i do.

Post the error message here

That's not an error


the [add layer] button  disappeared

I add 11 tiles layer in map layers.
the [add layer] button  disappeared.
Can someone help me? thanks!

Can you give a little more information on how you did this? I would expect that you could just add several custom layers and this wouldn't happen. But it looks like you modified the code? If so, you'll need to also re-design the layout of the tileset display so that this doesn't happen.


Chroot unmounts immediately after opening

Version information stuff:
chronos@localhost / $ sudo edit-chroot -all
name: trusty2
encrypted: yes, locked
Unmounting /mnt/stateful_partition/crouton/chroots/trusty2...

chronos@localhost / $ sudo enter-chroot croutonversion
Enter encryption passphrase for trusty2:
Entering /mnt/stateful_partition/crouton/chroots/trusty2...
Unmounting /mnt/stateful_partition/crouton/chroots/trusty2...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/trusty2...

chronos@localhost / $ sudo enter-chroot
Enter encryption passphrase for trusty2:
Entering /mnt/stateful_partition/crouton/chroots/trusty2...
(trusty2)trashboat@localhost:~$ croutonversion
crouton: version 1-20160715134041~master:0dc76a22
release: trusty
architecture: armhf
xmethod: xiwi
targets: xfce,audio,xiwi,xorg,lxde,extension,lxde-desktop,keyboard,core,cli-extra
host: version 8350.68.0 (Official Build) stable-channel veyron_speedy
kernel: Linux localhost 3.14.0 #1 SMP PREEMPT Tue Aug 2 21:03:28 PDT 2016 armv7l armv7l armv7l GNU/Linux
freon: yes

When I try logging into LXDE, it unmounts right away:
chronos@localhost / $ sudo startlxde
Enter encryption passphrase for trusty2:
Entering /mnt/stateful_partition/crouton/chroots/trusty2...
Unmounting /mnt/stateful_partition/crouton/chroots/trusty2...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/trusty2...

I tried installing XFCE, in case it was an LXDE thing, but the same problem occurs:
chronos@localhost / $ sudo startxfce4
Enter encryption passphrase for trusty2:
Entering /mnt/stateful_partition/crouton/chroots/trusty2...
Unmounting /mnt/stateful_partition/crouton/chroots/trusty2...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/trusty2...

It doesn't matter if I try using xiwi or xorg:
chronos@localhost / $ sudo startlxde -n trusty2 XMETHOD=xorg
Enter encryption passphrase for trusty2:
Entering /mnt/stateful_partition/crouton/chroots/trusty2...
Unmounting /mnt/stateful_partition/crouton/chroots/trusty2...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/trusty2...
chronos@localhost / $ sudo startlxde -n trusty2 XMETHOD=xiwi
Enter encryption passphrase for trusty2:
Entering /mnt/stateful_partition/crouton/chroots/trusty2...
Unmounting /mnt/stateful_partition/crouton/chroots/trusty2...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/trusty2...

and the same result occurs under XFCE. I can enter-chroot just fine, so it seems to be a problem with X:
(trusty2)trashboat@localhost:~$ Xorg

X.Org X Server 1.15.1
Release Date: 2014-04-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-67-highbank armv7l Ubuntu
Current Operating System: Linux localhost 3.14.0 #1 SMP PREEMPT Tue Aug 2 21:03:28 PDT 2016 armv7l
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity payload=PARTUUID=bc1a65bb-078d-614a-900c-7b2b0796401c/PARTNROFF=1 hashtree=PARTUUID=bc1a65bb-078d-614a-900c-7b2b0796401c/PARTNROFF=1 hashstart=2506752 alg=sha1 root_hexdigest=b47e5e621c30781bcc1cf12ad8d80f697715385a salt=221d09801cc251854eb55485f1dc9215f2fe6e7a5061e6f650e5661a33b0a410" noinitrd vt.global_cursor_default=0 kern_guid=bc1a65bb-078d-614a-900c-7b2b0796401c
Build Date: 12 February 2015  02:55:07PM
xorg-server 2:1.15.1-0ubuntu2.7 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.30.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Aug  6 14:39:28 2016
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension DRI3
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
(EE)
Fatal server error:
(EE) xf86OpenConsole: Cannot open /dev/tty0 (No such file or directory)
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.

I already tried the card0 thing, and updating the chroot (several times) didn't fix the tty0 problem as in #1118 et al. I also tried creating a hardlink to tty0 from tty, but that didn't work because it's a stupid idea; the error simply changed to:
Fatal server error:
(EE) xf86OpenConsole: Cannot find a free VT: Inappropriate ioctl for device
(EE)
(EE)

The problem appeared a little while ago. I don't think it was following a ChromeOS update, but I can't be sure. ChromeOS has updated since then.

I murdered the chroot and installed a new one with enlightenment, seems to be working now.


[BUG] UI Breaks when switching from light to dark

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have tested that this issue has not been fixed in the latest (beta or stable) release.
[X] I have checked the FAQ section for solutions
[X] This issue is about a bug (if it is not, please use the correct template)

Describe your issue
Apparently there's an incompatibility with win32mica and the current theming interface
Steps to reproduce the issue
No response
WingetUI Log
N/A

Package Managers Logs
N/A

Relevant information
No response
Screenshots and videos
No response

Is this the same problem that I have? Sometimes I open WingetUI and the text is not visible. Everything is a very similar shade of gray. After changing the theme to anything (light/dark/system default), the UI is OK again.

Yes, it should be the same issue

It does seem like this issue is also resolved with a slight caveat. When the accent color or theme (light/dark) is changed, the UI does appear in a broken color state briefly, but it corrects itself after about 2 seconds. I think this would be barely noticeable and can probably be considered fixed.

This is expected, and cannot be removed. Is part of the fix


deps(sccache): bump sccache

Update sccache to 0.7.4 which contains a couple of important fixes for Windows.

@compnerd
Thanks for the change, the other sha is still failing. Can you fix this one as well?

@hendrikmuhs oh, whoops, sorry about that!

This fixed ccache-action/sccache for me, for what it's worth. It mysteriously stopped working over the new year period (e.g. https://github.com/graphia-app/graphia/actions/runs/7434050480/job/20227773915). Bit odd though in that it had been working fine with 0.5.3 for at least of couple of months prior to that. Anyway, HEAD working for me now, 1.2.11 not so much.

Thanks for the feedback!
I can make a release soonish.
(Unfortunately I am flying blind when it comes to windows and sscache. I don't know if it works or not as I am using neither of the 2 in my projects. So best effort I release something and users use dependabot and if a certain version breaks, they roll back.)

Good to know!  I'm using this for building the swift toolchain, and will hopefully be looking to do more with it soon :).


Execution failed for task ':background_locator:compileDebugKotlin'.

I am trying to compile the latest version and it is giving me this error.
Flutter version: 2.0.6
background_locator: ^1.6.0+1-beta
I've done:
flutter clean but still the same.
e: C:\flutter\.pub-cache\hosted\pub.dartlang.org\background_locator-1.6.0+1-beta\android\src\main\kotlin\rekab\app\background_locator\provider\AndroidLocationProviderClient.kt: (10, 1): Class 'AndroidLocationProviderClient' is not abstract and does not implement abstract member public abstract fun onStatusChanged(p0: String!, p1: Int, p2: Bundle!): Unit defined in android.location.LocationListener

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':background_locator:compileDebugKotlin'.
> Compilation error. See log for more details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Hi @DomingoMG
Thank you for opening an issue;
I believe the method onStatusChanged(p0: String!, p1: Int, p2: Bundle!) is deprecated and there shouldn't be any issue not overriding it. Please update to the latest version of Dart and Android SDK and let me know if your problem has been solved.


[BUG] Subscription product does not show up after updating Mollie Subscription module to v.1.9.0 for existing customers

Describe the bug
We can not order a subscription product for existing customers after updating to Mollie Subscription module v.1.9.0. Also, the existing subscriptions are also not visible anymore in the existing customers account (see screenshot).
However this issue is not occurring for new customers. They can order without any issue.
The following error shows up after ordering in the magento 2 checkout (see screenshot as well).
[2023-03-13T08:28:42+0000] Error executing API call (404: Not Found): No customer exists with token cst_ffjntq2pLA.. Field: customerId. Documentation: https://docs.mollie.com/reference/v2/payments-api/create-payment
Used versions

Magento v.: 2.4.3-p1
Open source v.: <IP_ADDRESS>
Mollie v.: v2.20.0
Mollie Subscription module v.: v1.9.0

Expected behavior
Existing and new curstomers are able to order a subscription product and view them in their account. The following screenshot is the My Account > My Subscription page showing the subscription product (for new customers).

Actual behavior
The following error occurs after ordering a subscription product in the checkout.

The following screenshot shows the My Account > My Subscription page (for an existing customers) without any subscriptions.

HI @CreamDevelopment ,
Thanks for raising this issue! We haven't been able to replicate it directly. Is it possible that there has been a switch between different API keys or a change between test/live mode?

Hello, @CreamDevelopment. Can you please provide an update regarding this matter? Is it still ongoing, or can we consider closing this issue for the time being?

We are closing this issue temporarily due to inactivity, but please feel free to reopen it if necessary by mentioning @CreamDevelopment.


Workflow for clone and save Model with associations

Steps to reproduce
I got a simple setup for models: customers and addresses and a custom component in which I input the data. This component I use for new data as well as changing data. Here is an example how the customers-model is set up:
// customers.model.js
  static setupInstance(data, { models, store, options }) {
    const { Address } = models.api;
    data.address = data.address && new Address(data.address);

    data.createdAt = data.createdAt && new Date(data.createdAt);
    data.updatedAt = data.updatedAt && new Date(data.updatedAt);
    data.deletedAt = data.deletedAt && new Date(data.deletedAt);

    return data;
  }

Now I want to use the clone/reset/commit/save-workflow with the diffOnPatch-function. To make temporare changes and discard them or save them I use this.customer.clone() and save() or reset() which works perfect for direct customer-fields like company/fullName/... but obviously not for the associated customer.address-fields like street/zipCode/...
Here are my questions:

When I clone customer it seems to make sense to me that customer.address is also a copy. Do you agree? Is this something worth implementing? Maybe by passing the options-object to setupInstance.
If it's not a good idea. Is there an easy way to discard changes to customer.address without programming to much? I want to keep my custom component clean because I use it also for new data where clone doesnt make sense.
What is the use-case of commit at all?

Do you had the use case of nested clones and how did you solve this? Maybe it's more about documentation of the clone-workflow than new code.
Any help or hints are kindly appreciated. If there is a code idea which can be baked into feathers-vuex I would be happy to help with this.
Thanks in advance.
Module versions (especially the part that's not working):
"@feathersjs/authentication-client": "^4.3.3",
"@feathersjs/feathers": "^4.3.3",
"@feathersjs/socketio-client": "^4.3.3",
"feathers-vuex": "^2.0.0-pre.78",

Related records are independent in the store, and must be treated that way.  This mean that when you clone customer, the nested records are still original records and not clones.  You'll need to call clone on an address record before you edit it.
After you call clone on an address records, to discard changes and revert back to the original store record, just call addressClone.reset().
The .commit() method copies modified clone data back to the original record while maintaining reactivity for all of the properties.  I regularly use it for eager updating store data after submitting a form.

addressClone.commit() // Updates the store and parts of UI displaying the record.
addressClone.save() // Sends update to server, which can take however much time to respond.

const customerClone = customer.clone()

addressClone = customerClone.addresses[0].clone()

Pass the cloned address to some address editor component.  Setup the component to $emit('save') and handle the event with .commit() or .save().  You can also hook up a $emit('reset') to call addressClone.reset() when you want to reset the form.

addressClone.commit() // Updates the store and parts of UI displaying the record.
addressClone.save() // Sends update to server, which can take however much time to respond.

When I use the diffOnPatch method it is necessary to call save() before commit(), isn't it?

@fratzinger that's correct.  The simplest implementation of a diffOnPatch method would probably just need to call save.  Save will commit the changes when they return from the API server.

I've added this to the docs for version 3.0, to be release within the next couple of days.


android_set_version_name sets versionName to empty string

Fastfile
gradle_file = "./android/app/build.gradle"
android_set_version_name(
  gradle_file: gradle_file,
  bump_type: "patch"
)
version_name = android_get_version_name(gradle_file: gradle_file)
puts(version_name) # Returns an empy string

build.gradle
versionName ""

While android_set_version_code(gradle_file: gradle_file) works perfectly, no problem.
Why?

I'm having the same problem, did you solve it?

@hcyildirim I ended up setting the version using npm version and then taking it from package.json, and explicitly setting it instead of making android_set_version_name to it like so:
  $package = load_json(json_path: "./package.json")
  $version_number = $package["version"]
  # ...
  android_set_version_name(
    gradle_file: gradle_file,
    version_name: $version_number
  )

Any update on this issue? Running into it now...

Yep, same issue here. It seems bump_type doesn't work anymore.

Thank you @jgsheffer ... let me check and merge! I'll get back to you ASAP.

This should be fixed within v0.1.1.

@igorlamos I don't see version 1.1 in RubyGems.  Is there something else that need to be done in order to pull it in to our project?

anybody plan to update it to 0.1.1 ? still 0.1.0

Sorry guys, I didn't have too much time to handle it. Let me check what's the status and update to 0.1.1.

Version 0.1.1 was pushed to RubyGems.

thanks, i fixed by adding direct git
cat Pluginfile
Autogenerated by fastlane

Ensure this file is checked in to source control!
gem 'fastlane-plugin-versioning_android', git: "https://github.com/beplus/fastlane-plugin-versioning_android.git"
gem 'fastlane-plugin-telegram'
gem 'fastlane-plugin-increment_version_code'


Add index support to to_timestamptz function

In theory it should be possible to rewrite the plan tree when uuid_v1_to_timestamptz is called in various contexts, such as:
select * from mytbl where uuid_v1_to_timestamptz(myuuid) > now() - interval'1 day';

or even
select * from mytbl order by uuid_v1_to_timestamptz(myuuid) limit 10;

Ideally both should be able to use the index with our opclass.

Possible transformations:

Timestamp comparison
Source:

select * from mytbl where uuid_v1_to_timestamptz(myuuid) > now() - interval'1 day';

Target:
select * from mytbl where myuuid ~> uuid_v1_from_timestamptz(now() - interval'1 day');

In this case we generate the smallest possible UUID v1 for a given timestamp and filter on it based on an already existing ~> operator (the operator should be mapped from the operator in the query).
This type of conversion can support >, <, >=, <= and even =, although = is equivalent to u >= timestamp and u <=timestamp (so we match all possible UUIDs with the given timestamp).

Ordering (see note below)
Source:

select * from mytbl order by uuid_v1_to_timestamptz(myuuid);

Target:
select * from mytbl order by myuuid using ~>;

Note: In this case we use a stricter version of a sort, which can have an unpleasant side-effect. for given two UUIDs A and B with exactly matching timestamps in a table mytbl(u uuid, x int8), a query like:
select * from mytbl order by to_timestamptz(u), x;

The result of ordering can be different depending on the values of x, whereas in the rewritten query the sort order depends on u (not just the timestamp bits of u) and thus the order will almost never be affected by x.


Question: Mapping for Grid

hi
Nice Template.
I'm extending the Account model, with a property of type AccountInfo.
I have everything working, all the views updated, and the menu rendering my object etc
The issue I have is the Administration -> Accounts -> Index.
RoleId gets mapped to RoleTitle and the rolename gets pulled through.
However - my RealName is always null.
columns.AddProperty(model => model.Username);                     columns.AddProperty(model => model.Email);                     columns.AddProperty(model => model.RealName);                     columns.AddProperty(model => model.RoleTitle);
Where AccountInfo is a string which I want to map to AccountInfo.RealName
On AccountView.cs I have
  public String RealName { get; set; }         public String RoleTitle { get; set; }
I don't understand where RoleTitle is getting mapped to Role.Title
Is it automatically mapped from the name?
Thanks

Yes, it is automatically mapped by AutoMapper library convention.
If you want to automatically map from account info, your property name would have to be AccountInfoRealName. Or you can override it in ObjectMapper, like this
Configuration.CreateMap<Account, AccountView>().ForMember(
    account => account.RealName,
    member => member.MapFrom(account => account.AccountInfo.RealName))

I understand - thanks man :)


Gray out unused items

Existing behavior
Any code piece, independent of whether it is being used or not, is displayed as active and used.
Expected behavior
Gray out unused imports, variables, structures, constants, functions, abstract contracts, interfaces, etc.

implemented in 1.4


Colibri cleanup

Thanks, @bbaldino . I've made the three modifications you suggested locally and will include them in the next PR I open since this one is already merged.


Allow normal Swift default property initialization syntax

This change allows the normal var foo = "blah" default initialization syntax for Options, as a parallel initialization method as using the default parameter.
This syntax may feel more natural to some developers (myself included), but does not break any existing code using the original initialization method.
Checklist

[ ] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary

I've tested this with this simple change, and it seems to work as expected (and all the test cases still pass locally); however, I want to make sure this is something that would be desired before continuing to extend this to the other parameter types.

A simple implementation to test:
import ArgumentParser

struct SomeCli: ParsableCommand {
	@Option()
	var data: String = "test"

	func run() throws {
		print(data)
	}
}

SomeCli.main()

$ swift run cli
test
$ swift run cli --data=test2
test2

@swift-ci Please test

Looks like everything passed in CI, so is this something that would be desired for the remaining parameter types?

Thanks for starting this implementation! It’s been on my to-do list to investigate, but I apparently hadn’t opened an issue. I have a couple in-flight changes that you might want to wait for, most notably removing ExpressibleByArgument conformance for Optional, which will change the list of inits for @Argument and @Option. I’ll try to get that in so you can keep moving forward with this.
The biggest downside I see to this change is that it can effectively double the number of inits in some cases, where the default: Value? = nil parameter needs to be replaced by two separate inits (one with a wrappedValue parameter and one without). That said, I think the improved syntax is worth it as long as type checking/etc still works out.

Given those concerns, would it maybe make sense to drop the current default: syntax entirely, assuming that this change works as I intend it to? I realize it would break a lot of existing usage, but this is also in very early development so it may be the best time to do it if you feel this syntax is an improvement over the current one.
And honestly I’ll probably push ahead with the development on this more just as an exercise for myself, so don’t rush your other changes on my account; once they’re done, I can always integrate them back into this.

I think this is a great direction

Given those concerns, would it maybe make sense to drop the current default: syntax entirely, assuming that this change works as I intend it to? I realize it would break a lot of existing usage, but this is also in very early development so it may be the best time to do it if you feel this syntax is an improvement over the current one.

I definitely agree that we'd just want the one syntax long term. To help existing users transition, we'll want to go from the status quo to three different inits:
// current
init(default: Value? = nil, ...)

// new
init(wrappedValue: Value, ...)
init(...)
@available(*, deprecated, message: "Use regular property initialization for default values")
init(default: Value?, ...)

There's ample room for code deduplication in the initializers, but that can definitely come after this change.

And honestly I’ll probably push ahead with the development on this more just as an exercise for myself, so don’t rush your other changes on my account; once they’re done, I can always integrate them back into this.

That change landed in #173, so you've got a clear field for this. Thanks again!

I'll continue work on this tomorrow/over the next week, but I believe Options are now fully ready for review so please let me know if you have any feedback.

I just submitted #186, which adds the default parameter to the last two initializers for Option and Argument (when value is an array), so those would have to be reworked as well. 😬
I like this direction for initialization over the default parameters.

Other than the issue I've pointed out above, this should be functionally complete. I'll work on the high-level documentation next, but please let me know if you see any other changes I should make!

This should be ready for review, let me know if you find any issues!

@swift-ci Please test

This is looking great, @MPLew-is! I've reconciled changes with the array defaults addition in #186 — going to merge and then continue that integration. 🎉🎉

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test Linux platform


Add Support for RFC-9209: Proxy-Status Header

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
Problem
When end-users have difficulty receiving content from our service, we don't always all the information we'd like to have to gracefully handle this situation in clients of Traefik or to provide our monitoring systems with enough information for alerting and debugging.
Context
our (very simplified) request flow goes something like:
graph LR
  client --> CDN
  CDN --> traefik

  subgraph CloudProvider
    traefik --> svc[Kubernetes Service]
    svc --> pods
  end

While this setup may appear complex, many SAAS companies use something like this as the very most basic blueprint for their architecture. Additionally, while the problems raised here at framed in the context of the above architecture, the proposed solution would like provide helpful information to Traefik users with simpler architectures as well.
Example 1
During a code deployment, we've wound up with no pods running for a given service due to misconfiguration. Unfortunately, traefik reports a response status code of 404 in this case.
Example 2
Clients receive many 500s from the CDN layer, but our operations team is unable to determine the source of the problem. Is it the CDN? Traefik? Our pods in kubernetes? Because we cannot trace metadata together on specific 500 requests that we could observe from the client, it might take hours or days to determine the cause through a process of elimination.
Proposed Solution
Implement support for RFC 9209 Proxy-Status Header. This RFC provides more in-depth error codes and free-form details in a manner that can be additive with other proxy layers both upstream and downstream. In order to provide this level of detailed information, either some form of plugin would need to be implemented or additional code added directly to Traefik itself.
Insufficient Solutions

Use different status code in traefik for different - Even with the very simplified, the number possible failures that traefik could encounter (DNS timeout, connection refused, headers too large, etc, etc) would significantly increase complexity for clients of traefik (the client and CDN above) to respond in intelligent ways.
capturing a metric from Traefik (or kubernetes) - a metric cannot be correlated with our CDN access logs does not inform us about which requests from our clients have failed. We would like to be able to see both from CDN and the client exactly what problem occurred in Traefik as a proxy in case that situation can be handled more gracefully (ex: retry, flip a circuit breaker, etc)
add static headers to traefik responses - The conditions that give rise to the most helpful information require in-depth integration into the request lifecycle (see RFC-9209 sections 2.1.1 and 2.3) although perhaps some other useful information could be added (ex: received-status)

Hey @brycefisher!
Thanks for your suggestion.
We are interested in this issue but are unsure about the use case and the traction it will receive, so we are going to leave the status as “kind/proposal” to give the community time to let us know that they would like this.
On top of that the RFC is still a proposition, and we prefer working on RFC once they are validated.
If you can inform us once the RFC status evolves, we will reevaluate if necessary.


Add CustomStringItem example

Codecov Report

Merging #19 (8bd0102) into main (24ff34a) will increase coverage by 20.47%.
The diff coverage is n/a.

:exclamation: Current head 8bd0102 differs from pull request most recent head 9e02bf7. Consider uploading reports for the commit 9e02bf7 to get more accurate results

@@             Coverage Diff             @@
##             main      #19       +/-   ##
===========================================
+ Coverage   76.63%   97.11%   +20.47%
===========================================
  Files          64       33       -31
  Lines        1862      763     -1099
  Branches      721      316      -405
===========================================
- Hits         1427      741      -686
+ Misses        422       20      -402
+ Partials       13        2       -11

Flag
Coverage Δ

QAMenu
97.11% <ø> (ø)

QAMenuUIKit
?

QAMenuUtils
?

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

Impacted Files
Coverage Δ

...AMenu/Public/Data Structure/Items/StringItem.swift
100.00% <ø> (ø)

...l/UI/ItemViews/ButtonItemView/ButtonItemView.swift

Sources/QAMenuUIKit/Internal/Searcher.swift

...nal/UI/Helper/SingleLineTextEditorController.swift

...AMenuUIKit/Internal/UI/UIWindow+ShakeGesture.swift

Sources/QAMenuUtils/Public/WeakBox.swift

...UI/ItemViews/BooleanItemView/BooleanItemView.swift

...lper/UnsupportedItemView/UnsupportedItemView.swift

Sources/QAMenuUIKit/Public/QAMenuPresenterUI.swift

.../Public/UIRepresentables/ItemUIRepresentable.swift

... and 20 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 24ff34a...9e02bf7. Read the comment docs.