a question about PTS

I hava read the paper LTSmin: High-Performance Language-Independent Model Checking.
In this paper, it said A PTS is a structure P = 〈SP , →P , s0, L〉 and s0 = 〈s01, . . . , s0 N 〉 ∈ SP is the initial state.
Does this mean that the initial state of the model detected by ltsmin is a certain state ？Or can this initial state be a set of states?

Hi, a state space in LTSmin has a unique initial state. You can add a “pseudo” initial state with nondeterministic transitions to the desired initial states, when needed.
Kind regards,
Jaco van de Pol
Verzonden vanuit Outlook voor iOShttps://aka.ms/o0ukef

Van: yin99 @.>
Verzonden: Wednesday, November 15, 2023 3:49:25 AM
Aan: utwente-fmt/ltsmin @.>
CC: Subscribed @.***>
Onderwerp: [utwente-fmt/ltsmin] a question about PTS (Issue #214)
I hava read the paper LTSmin: High-Performance Language-Independent Model Checking.
In this paper, it said A PTS is a structure P = 〈SP , →P , s0, L〉 and s0 = 〈s01, . . . , s0 N 〉 ∈ SP is the initial state.
Does this mean that the initial state of the model detected by ltsmin is a certain state ？Or can this initial state be a set of states?
—
Reply to this email directly, view it on GitHubhttps://github.com/utwente-fmt/ltsmin/issues/214, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTGAZN2F37L2R543KZE3LTYEQUTLAVCNFSM6AAAAAA7LZNVFKVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4TGOJTGMYDEOI.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hi, a state space in LTSmin has a unique initial state. You can add a “pseudo” initial state with nondeterministic transitions to the desired initial states, when needed. Kind regards, Jaco van de Pol Verzonden vanuit Outlook voor iOShttps://aka.ms/o0ukef
…
________________________________ Van: yin99 @.> Verzonden: Wednesday, November 15, 2023 3:49:25 AM Aan: utwente-fmt/ltsmin @.> CC: Subscribed @.> Onderwerp: [utwente-fmt/ltsmin] a question about PTS (Issue #214) I hava read the paper LTSmin: High-Performance Language-Independent Model Checking. In this paper, it said A PTS is a structure P = 〈SP , →P , s0, L〉 and s0 = 〈s01, . . . , s0 N 〉 ∈ SP is the initial state. Does this mean that the initial state of the model detected by ltsmin is a certain state ？Or can this initial state be a set of states? — Reply to this email directly, view it on GitHub<#214>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTGAZN2F37L2R543KZE3LTYEQUTLAVCNFSM6AAAAAA7LZNVFKVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4TGOJTGMYDEOI. You are receiving this because you are subscribed to this thread.Message ID: @.>

Thanks for your answer. And there are some related questions about PTS.
Firstly, PTS said Sp = S1×...×SN. In my understanding, N refers to the dimension N of a state s, so S1... SN represents the set of values on the corresponding dimension of state s, for example, S1 is the set of values for x1. I would like to ask if my understanding is incorrect.
Secondly, Does PTS allow a state in the model to have multiple successor states? K migration groups refer to K different successor groups in a state. Or is it possible to divide the entire state space of the state machine into K groups? I don't quite understand how to determine the value of K in a state machine. Looking forward to your reply。

Hi,
Indeed, N is the dimension of the state space, so every state consists of a vector of length N (internally represented by N integers).
The transitions are also structured, where the partition relation is the union of K transition groups.
In principle, each transition group can still be non-deterministic, and different partition groups can overlap.
The transition groups are supposed to reflect the structure of the specification,
i.e., bundle transition steps that are there for the same reason.
It is up to the modeling language module to decide what the partition groups are.
For instance, in Petri Nets, a partition group corresponds with a Petri-net transition,
in Process Algebra, it could correspond with a particular (synchronization) action,
in Promela it could be a statement, or a block of statements, etc.
Hope this clarifies the definitions,
Jaco van de Pol
--
Jaco van de Pol, Professor of Computer Science
Aarhus University & University of Twente
From: yin99 @.>
Sent: Thursday, November 16, 2023 9:30 AM
To: utwente-fmt/ltsmin @.>
Cc: Jaco van de Pol @.>; Comment @.>
Subject: Re: [utwente-fmt/ltsmin] a question about PTS (Issue #214)
Hi, a state space in LTSmin has a unique initial state. You can add a “pseudo” initial state with nondeterministic transitions to the desired initial states, when needed. Kind regards, Jaco van de Pol Verzonden vanuit Outlook voor iOShttps://aka.ms/o0ukef
…
________________________________ Van: yin99 @.> Verzonden: Wednesday, November 15, 2023 3:49:25 AM Aan: utwente-fmt/ltsmin @.> CC: Subscribed @.> Onderwerp: [utwente-fmt/ltsmin] a question about PTS (Issue #214https://github.com/utwente-fmt/ltsmin/issues/214) I hava read the paper LTSmin: High-Performance Language-Independent Model Checking. In this paper, it said A PTS is a structure P = 〈SP , →P , s0, L〉 and s0 = 〈s01, . . . , s0 N 〉 ∈ SP is the initial state. Does this mean that the initial state of the model detected by ltsmin is a certain state ？Or can this initial state be a set of states? — Reply to this email directly, view it on GitHub<#214https://github.com/utwente-fmt/ltsmin/issues/214>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTGAZN2F37L2R543KZE3LTYEQUTLAVCNFSM6AAAAAA7LZNVFKVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4TGOJTGMYDEOI. You are receiving this because you are subscribed to this thread.Message ID: @.>
Thanks for your answer. And there are some related questions about PTS.
Firstly, PTS said Sp = S1×...×SN. In my understanding, N refers to the dimension N of a state s, so S1... SN represents the set of values on the corresponding dimension of state s, for example, S1 is the set of values for x1. I would like to ask if my understanding is incorrect.
Secondly, Does PTS allow a state in the model to have multiple successor states? K migration groups refer to K different successor groups in a state. Or is it possible to divide the entire state space of the state machine into K groups? I don't quite understand how to determine the value of K in a state machine. Looking forward to your reply。
—
Reply to this email directly, view it on GitHubhttps://github.com/utwente-fmt/ltsmin/issues/214#issuecomment-1813992256, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTGAZJGD3K3OOOISLUXY3TYEXFHRAVCNFSM6AAAAAA7LZNVFKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJTHE4TEMRVGY.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>

Indeed, N is the dimension of the state space, so every state consists of a vector of length N (internally represented by N integers). The transitions are also structured, where the partition relation is the union of K transition groups. In principle, each transition group can still be non-deterministic, and different partition groups can overlap. The transition groups are supposed to reflect the structure of the specification, i.e., bundle transition steps that are there for the same reason. It is up to the modeling language module to decide what the partition groups are. For instance, in Petri Nets, a partition group corresponds with a Petri-net transition, in Process Algebra, it could correspond with a particular (synchronization) action, in Promela it could be a statement, or a block of statements, etc. Hope this clarifies the definitions,

Thanks,
I would like to use an example to express my confusion.
If there is a simple automaton with only two variables a and b. I define his migration rules as follows.
State machine can translate from state s=(a，b) to state t=(a‘，b'） iff (a | b) | (a '| b')=TRUE.
It is obvious that the following conclusion can be drawn:
The state machine has a total of four states (0,0), (0,1), (1,0), and (1,1)
It is feasible to transfer any state to several other states, and all three states except state (0,0) can be transferred to themselves.
So in this example, what is K?
Is K 1? Because there is only one translation rule.
Or is K 2? Because (0,0) can only translate to three states, while the other three states can translate to four states.

Hi,
in such cases, K cannot be derived from the automaton, you will have to define (and choose) a K,
typically depending from a high level specification.
For instance, you could have two “firing” rules (modifying your example):
1: (a,b) -> (not a, b)
2: (a,b) -> (a, not b)
In this case, K=2.
The first transition group contains concrete transitions (0,0)->(1,0), (0,1)->(1,1), (1,0)->(0,0), (1,1)->(0,1)
The second transition group contains concrete transitions (0,0)->(0,1), (1,0)->(1,1), (0,1)->(0,0), (1,1)->(1,0)
But you could also specify a transition system with exactly these 8 concrete transitions by a specification
with K=1 or K=4 “symbolic” transition (groups), for instance.
Kind regards,
Jaco van de Pol
--
Jaco van de Pol, Professor of Computer Science
Aarhus University & University of Twente
From: yin99 @.>
Sent: Thursday, November 16, 2023 10:25 AM
To: utwente-fmt/ltsmin @.>
Cc: Jaco van de Pol @.>; Comment @.>
Subject: Re: [utwente-fmt/ltsmin] a question about PTS (Issue #214)
Indeed, N is the dimension of the state space, so every state consists of a vector of length N (internally represented by N integers). The transitions are also structured, where the partition relation is the union of K transition groups. In principle, each transition group can still be non-deterministic, and different partition groups can overlap. The transition groups are supposed to reflect the structure of the specification, i.e., bundle transition steps that are there for the same reason. It is up to the modeling language module to decide what the partition groups are. For instance, in Petri Nets, a partition group corresponds with a Petri-net transition, in Process Algebra, it could correspond with a particular (synchronization) action, in Promela it could be a statement, or a block of statements, etc. Hope this clarifies the definitions,
Thanks,
I would like to use an example to express my confusion.
If there is a simple automaton with only two variables a and b. I define his migration rules as follows.
State machine can translate from state s=(a，b) to state t=(a‘，b'） iff (a | b) | (a '| b')=TRUE.
It is obvious that the following conclusion can be drawn:
The state machine has a total of four states (0,0), (0,1), (1,0), and (1,1)
It is feasible to transfer any state to several other states, and all three states except state (0,0) can be transferred to themselves.
So in this example, what is K?
Is K 1? Because there is only one translation rule.
Or is K 2? Because (0,0) can only translate to three states, while the other three states can translate to four states.
—
Reply to this email directly, view it on GitHubhttps://github.com/utwente-fmt/ltsmin/issues/214#issuecomment-1814072785, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTGAZNDPACNTNRT5JH4H5TYEXLWZAVCNFSM6AAAAAA7LZNVFKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGA3TENZYGU.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>

Hi, in such cases, K cannot be derived from the automaton, you will have to define (and choose) a K, typically depending from a high level specification. For instance, you could have two “firing” rules (modifying your example): 1: (a,b) -> (not a, b) 2: (a,b) -> (a, not b) In this case, K=2. The first transition group contains concrete transitions (0,0)->(1,0), (0,1)->(1,1), (1,0)->(0,0), (1,1)->(0,1) The second transition group contains concrete transitions (0,0)->(0,1), (1,0)->(1,1), (0,1)->(0,0), (1,1)->(1,0) But you could also specify a transition system with exactly these 8 concrete transitions by a specification with K=1 or K=4 “symbolic” transition (groups), for instance. Kind regards, Jaco van de Pol
…
-- Jaco van de Pol, Professor of Computer Science Aarhus University & University of Twente From: yin99 @.> Sent: Thursday, November 16, 2023 10:25 AM To: utwente-fmt/ltsmin @.> Cc: Jaco van de Pol @.>; Comment @.> Subject: Re: [utwente-fmt/ltsmin] a question about PTS (Issue #214) Indeed, N is the dimension of the state space, so every state consists of a vector of length N (internally represented by N integers). The transitions are also structured, where the partition relation is the union of K transition groups. In principle, each transition group can still be non-deterministic, and different partition groups can overlap. The transition groups are supposed to reflect the structure of the specification, i.e., bundle transition steps that are there for the same reason. It is up to the modeling language module to decide what the partition groups are. For instance, in Petri Nets, a partition group corresponds with a Petri-net transition, in Process Algebra, it could correspond with a particular (synchronization) action, in Promela it could be a statement, or a block of statements, etc. Hope this clarifies the definitions, Thanks, I would like to use an example to express my confusion. If there is a simple automaton with only two variables a and b. I define his migration rules as follows. State machine can translate from state s=(a，b) to state t=(a‘，b'） iff (a | b) | (a '| b')=TRUE. It is obvious that the following conclusion can be drawn: The state machine has a total of four states (0,0), (0,1), (1,0), and (1,1) It is feasible to transfer any state to several other states, and all three states except state (0,0) can be transferred to themselves. So in this example, what is K? Is K 1? Because there is only one translation rule. Or is K 2? Because (0,0) can only translate to three states, while the other three states can translate to four states. — Reply to this email directly, view it on GitHub<#214 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTGAZNDPACNTNRT5JH4H5TYEXLWZAVCNFSM6AAAAAA7LZNVFKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGA3TENZYGU. You are receiving this because you commented.Message ID<EMAIL_ADDRESS>
I have read the source of LTSmin, but I still don't understand the difference between next_state and next_action.
They both set a method for type next_method_grey_t. What is the difference between them.
Besides,function pointer of type next_method_grey_t has 5 param and returns the number of new transitions found.Will the function of t return the number of next states for the current state of the input?


machinst x64: investigate remaining test failures

Opening an issue as a placeholder for remaining issues observed during testing. Initial PR for landing excluded the following tests:

[ ] implement proper stack unwinding for the new backend: codegen/src/isa/x86/unwind/{systemv, winx64}.rs, tests/all/traps.rs (also: this will require implementing the win64 fastcall ABI in x64)
[x] cranelift filetests. For those, we'd need to either make them dependent on the Cargo feature x64 being not present (for e.g. regalloc tests), or keep them enabled (e.g. run tests). It will require more triaging. One idea would be to create a new directory x64 in the filetests suite, and copy over the tests that can be ported there; then we'd need some kind of way to dispatch the x64 tests to the new backend only, and x86 to the old backend only.
[ ] tests/all/gc.rs: investigate the gc-during-gc test failure. Probably a miscompilation in new-backend x64, since aarch64 doens't seem to fail this test.
[x] tests/all/iloop.rs, tests/all/stack_overflow.rs: probably require implementing probe stacks for both. The first file relates to interrupts, which might or might not be handled the same way as stack overflows in Wasmtime; I don't know.

@bnjbvr Hi .. How do you test to see all the failures? If you run:

cargo test --all  --features=experimental_x64

or under the cranelift project:

RUST_BACKTRACE=1` RUST_LOG=debug cargo test --all --features=experimental_x64 --package cranelift-codegen  -- --nocapture

you see failures I believe related to the first bullet on stack onwinding .. but those are the only ones I can see fail.

A commit has now landed in CI with the right command line to use for running all the test cases; it's a bit long and requires Rust nightly (because of the way Cargo feature unification works in stable vs nightly):
        cargo \
            -Zfeatures=all -Zpackage-features \
            test \
            --features test-programs/test_programs \
            --features experimental_x64 \
            --all \
            --exclude lightbeam \
            --exclude peepmatic \
            --exclude peepmatic-automata \
            --exclude peepmatic-fuzzing \
            --exclude peepmatic-macro \
            --exclude peepmatic-runtime \
            --exclude peepmatic-test

Thanks ... see this now after updating the version of nightly. Did not see any errors but will take a closer look at the tests that are disabled.

implement proper stack unwinding for the new backend: codegen/src/isa/x86/unwind/{systemv, winx64}.rs, tests/all/traps.rs (also: this will require implementing the win64 fastcall ABI in x64)

This is done.

tests/all/gc.rs: investigate the gc-during-gc test failure. Probably a miscompilation in new-backend x64, since aarch64 doens't seem to fail this test.

Is this done?

I think so; we don't have any excluded GC tests anymore.


fix: incorrect ports in docker-compose

Pull Request #202 introduced a bug with port variables substitution in the docker-compose.yml file. Because of this bug clickhouse was not running correctly in a docker container. Now this bug is fixed.

Update. The first commit in this PR is no longer relevant. The config in the initial version of docker-compose.yml file was correct, but it doesn't work with docker-compose of versions earlier than 2.2.3 (because of nested variables interpolation I assume). In the next commit of this PR, this config was slightly improved.
As stated in Readme, HTTP_PORT environment variable should be optional and have a reasonable default value. But in the previous version of docker-compose file it was assumed that the HTTP_PORT value must be set. Now this assumption is eliminated and default values for HTTP_PORT and EXTERNAL_HTTP_PORT environment variables are set in docker-compose.yml.


telnetlib - module deprecated

Hello!
I'm glad to use this very good piece of software!
Unfortunately from Python 3.13 which I have already installed the "telnetlib" module has been deprecated (since 3.11) and removed (since 3.13).
Please upgrade the software into new modules telnetlib3 or Exscript.
As "workaround" you can run the software with older Python version.
Please find an information about the change here.
Thank you in advance!

Thx for the report. At the moment I'm using this solution for build and use in OS with Python >= 3.13.


MTGGoldfish deck scraper

https://www.mtggoldfish.com/deck/custom/penny_dreadful#online

People are still adding decks there so I guess we should scrape them.

Grabbing the decklist via the Download link is pretty simple and we have a parser for that already. So just a case of:

Grab index pages until we want to stop.
Parse ids, user, created_date from index.
Use id to grab text decklist.

I don't think we need to visit the HTML deck page for anything unless we want to avoid parsing "8 hours ago" and similar timestamps. Granularity on the deck page is only to the day, though, so it's no better/maybe worse and an extra HTTP request.

Date on index page is "last modified". So we do need to visit the detail page for "date created".

I (finally!) did this.


DELIA-51041: Added error checks in Network Plugin Init

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/1435/rdkcentral/rdkservices

Commit: 3e26153b2054bccd5689f18126dd0f496ba0ea96

Report detail: gist


rearrange colors for light/dark 24 palettes

Rearrance the colors to visually follow the order of
the armytage palette. This should address some issues
raised with the light24 palette used by default with
the dark theme.
Fixes #1287

Colors in the armytage, dark24, light24 compared:


[FZ Editor] Fixes for the new Editor UI

List of fixes for the new Editor UI:
Priority 0:

[ ]  The create new layout dialog renders semi-off the screen.

[x]  The custom layouts flyouts should hide the spacing settings for canvas-based layouts.

[ ]  Layout previews do not always update after editing. Needs a 'hard refresh' of the dialog.

[ ]  (Spacing) settings in layout flyout do not work.

[ ]  Duplicate custom layouts does not work (yet).

Priority 1:

[ ]  Duplicating a layout should duplicate the layout, add it to customs and add (1/2/3/4....) to the title. It should not open the editor.

[ ]  On mouse leave of the layout item, the preview should reset to the applied layout.

Priority 2:

[ ]  Move zones + and - buttons to the template layouts flyout (release vNext++)

[ ]  Disable layouts and add information tooltip describing that the layout cannot be applied to the current screen resolution.

@SeraphimaZ @enricogior FYI, I flagged the dialog offset in the ModernWPF repo here: https://github.com/Kinnara/ModernWpf/issues/222
It has been fixed with: https://github.com/Kinnara/ModernWpf/commit/d5d226601e0118c34533cb6da0324e9e65c94809
So that should be an easy fix when the new NuGet package rolls out :)!

@SeraphimaZ @enricogior FYI, I flagged the dialog offset in the ModernWPF repo here: Kinnara/ModernWpf#222
It has been fixed with: Kinnara/ModernWpf@d5d2266
So that should be an easy fix when the new NuGet package rolls out :)!

Nice, thanks! :)

Not sure if this is already covered by Layout previews do not always update after editing. Needs a 'hard refresh' of the dialog. in case let's make it explicit:

resetting the layout for the current monitor doesn't update the UI (the applied layout still shows as active)

@enricogior Yeah, correct. But also: edit custom layout, make the changes in the editor, 'save and apply' => thumbnail in the layout item is not updated. Could be that this only occurs for either grid or canvas layouts if I recall correctly.

Regarding the point "Disable layouts and add information tooltip describing that the layout cannot be applied to the current screen resolution." I think if we should add an on-off-switch to show/hide incompatible layouts.

@htcfreek

I think about if we should add an on-off-switch to show/hide incompatible layouts.

For now let's keep the UI as simple as possible, we need to focus on the actual functionalities, we will review the UX after the current work is fully implemented.

@htcfreek

I think about if we should add an on-off-switch to show/hide incompatible layouts.

For now let's keep the UI as simple as possible, we need to focus on the actual functionalities, we will review the UX after the current work is fully implemented.

Not sure but I think we have an additional issue for this point. Right?


Horizontal form label alignment

The labels in a horizontal form group layout have top-padding to align the label text with a form control element.

This alignment doesn't work when there is something other than a form control element in the horizontal form group.

Also if the label text is more than a single line, the alignment looks a little off, though I'd like to confirm with design if this is intended or not.

When adding examples that show a label for a group of checkboxes, we should also make sure that example uses semantic elements and provides labels in a way that is accessible. My last comment in this issue includes a suggestion for this: patternfly/patternfly-next#953

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


UI Redesign - Mobile - Trusted Senders

- What I did
Created a new UI design for the trusted senders screen and a remove trusted sender dialog which closes https://github.com/atsign-foundation/atmosphere_pro/issues/222
- How I did it
I created a new screen for the trusted senders screen inside the trusted_senders_screen folder
- How to verify it
add the code to the welcome screen and you should be able to click the  floating action button to view the new screen
floatingActionButton: FloatingActionButton(
    backgroundColor: const Color(0xFFF05E37),
    child: const ImageIcon(
        AssetImage("assets/images/add_icon.png"),
        color: Colors.white,
        size: 16.0,
    ),
    onPressed: () {
        showModalBottomSheet<dynamic>(
            isScrollControlled: true,
            shape: RoundedRectangleBorder(
                borderRadius: BorderRadius.circular(20.0),
            ),
            context: context,
            builder: (BuildContext context) {
                return TrustedSendersScreen();
            },
        );
    },
),

- Description for the changelog
Added Trusted Senders Screen and Dialog

Hey @ksanty, I have completed my assigned task. Can you please check it and give me feedback for corrections if any.
Thank You

We need your work to be going to the redesign branch, not the trunk branch.


[WIP] Try adding back MongoDB changes to see if it helps with the tests performance

Adding back MongoDB performance optimization changes which were (accidentally?) reverted quite a long time ago to see if it's they help with the tests performance and if it's still worth having those changes.

Even if it turns out the performance benefits are not large enough, we still want the --notablescan change which was inadvertently removed / disabled.
That flag is very handy because it makes tests fail if some MongoDB query doesn't use an index and results in a full table scan.
It also turns out that while this feature was disabled, we "regressed" / added some new features which don't correctly utilize indexes so tests are failing with that flag enabled.
I will look into fixing the code once we get baseline performance numbers.

Closing.
Will open a new PR which sets those options in the config file as discussed above with @armab.


Split up API reference

The API reference still contains a number of different things on one page - globals, matchers, the "jest" object, the API for mock functions, and some miscellaneous crap. We should have a separate page for each of those groups and put the misc crap in some non-reference place.
Also, it seems like a lot of lazy punks just wrote empty stubs into the table of contents rather than writing real documentation. If we autogenerate the table of contents we can discourage this. In particular it would be nice to avoid the need for manual github links like #methodnamearg1arg2-etc

I split it up in https://github.com/facebook/jest/pull/2388 . The process still sucks, @dmitriiabramov is gonna try to automate some of the index-generation stuff.


palemoon-bin: 32.1.1 -> 32.2.0

Description of changes
palemoon counterpart: #232307

Changelog & Notes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

(Reminder: not backporting palemoon-bin bump because it was introduced post-22.11, due to python2 being marked insecure)


SEO & meta tags optimalizations

The code needs to be optimised so that the website displays well, for example, in social media previews.
This is how previews looks currently:

Small question for this issue,
Do you mostly want to have nice looking links preview and have the meta tags filled properly, or do you also want to have things setup properly for SEO? Meaning for example the description should have the appropriate length to make search engines happy.

I believe the main concern is social media previews. SEO rules is not that important.


Problems with 2.2.0

Output
% phpbrew -v
  ______ _   _ ____________
  | ___ \ | | || ___ \ ___ \
  | |_/ / |_| || |_/ / |_/ /_ __ _____      __
  |  __/|  _  ||  __/| ___ \ '__/ _ \ \ /\ / /
  | |   | | | || |   | |_/ / | |  __/\ V  V /
  \_|   \_| |_/\_|   \____/|_|  \___| \_/\_/

PHP Deprecated:  Callables of the form ["PhpBrew\Command\HelpCommand", "parent::execute"] are deprecated in phar:///Users/marc/bin/phpbrew/src/PhpBrew/Command/HelpCommand.php on line 28

Deprecated: Callables of the form ["PhpBrew\Command\HelpCommand", "parent::execute"] are deprecated in phar:///Users/marc/bin/phpbrew/src/PhpBrew/Command/HelpCommand.php on line 28
Brew your latest php!

PHP Deprecated:  trim(): Passing null to parameter #1 ($string) of type string is deprecated in phar:///Users/marc/bin/phpbrew/vendor/corneltek/cliframework/src/Command/HelpCommand.php on line 156

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in phar:///Users/marc/bin/phpbrew/vendor/corneltek/cliframework/src/Command/HelpCommand.php on line 156

Platform
MacOS 13.5
PHP 8.2.13 and 8.3

Thanks for reporting the issue. And the reference is available here.

I cannot reproduce the issue with the PHP8.2.17 version:
$ php -v
PHP 8.2.17 (cli) (built: Mar 16 2024 08:41:44) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.17, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.17, Copyright (c), by Zend Technologies
$ phpbrew -v
  ______ _   _ ____________
  | ___ \ | | || ___ \ ___ \
  | |_/ / |_| || |_/ / |_/ /_ __ _____      __
  |  __/|  _  ||  __/| ___ \ '__/ _ \ \ /\ / /
  | |   | | | || |   | |_/ / | |  __/\ V  V /
  \_|   \_| |_/\_|   \____/|_|  \___| \_/\_/

Brew your latest php!

SYNOPSIS
        phpbrew [options] <command>

OPTIONS
        -v, --verbose
                Print verbose message.

        -d, --debug
                Print debug message.

        -q, --quiet
                Be quiet.

        -h, --help
                Show help.

        --version
                Show version.

        -p, --profile
                Display timing and memory usage information.

        --log-path=[<value>]
                The path of a log file.

        --no-interact
                Do not ask any interactive question.

        --no-progress
                Do not display progress bar.

COMMANDS
                help    Show help message of a command
                init    Initialize phpbrew config file.
               known    List known PHP versions
             install    Install php
                list    List installed PHPs
                 use    Use php, switch version temporarily
              switch    Switch default php version.
                each    Iterate and run a given shell command over all php versions managed by PHPBrew.
              config    Edit your current php.ini in your favorite $EDITOR
                info    Show current PHP information
                 env    Export environment variables
           extension    List extensions or execute extension subcommands
            variants    List php variants
                path    Show paths of the current PHP.
                  cd    Change to directories
            download    Download php
               clean    Clean up the source directory of a PHP distribution
              update    Update PHP release source file
               ctags    Run ctags at current php source dir for extension development.
                 fpm    fpm commands
            list-ini    List loaded ini config files.
         self-update    Self-update, default to master version
              remove    Remove installed php build.
               purge    Remove installed php version and config files.
                 off    Temporarily go back to the system php
          switch-off    Definitely go back to the system php
              system    Get or set the internally used PHP binary
          system-off    Use the currently effective PHP binary internally

HELP
        'phpbrew help' lists available subcommands and some topics. See
        'phpbrew help <command>' or 'phpbrew help <topic>' to read about a
        specific subcommand or phpbrew.

phpbrew 2.2.0           powered by https://github.com/c9s/CLIFramework

It will not effect with the PHP 8.3.4 version:
$ php -v
PHP 8.3.4 (cli) (built: Mar 16 2024 08:39:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.4, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.4, Copyright (c), by Zend Technologies
$ phpbrew -v
  ______ _   _ ____________
  | ___ \ | | || ___ \ ___ \
  | |_/ / |_| || |_/ / |_/ /_ __ _____      __
  |  __/|  _  ||  __/| ___ \ '__/ _ \ \ /\ / /
  | |   | | | || |   | |_/ / | |  __/\ V  V /
  \_|   \_| |_/\_|   \____/|_|  \___| \_/\_/

Brew your latest php!

SYNOPSIS
        phpbrew [options] <command>

OPTIONS
        -v, --verbose
                Print verbose message.

        -d, --debug
                Print debug message.

        -q, --quiet
                Be quiet.

        -h, --help
                Show help.

        --version
                Show version.

        -p, --profile
                Display timing and memory usage information.

        --log-path=[<value>]
                The path of a log file.

        --no-interact
                Do not ask any interactive question.

        --no-progress
                Do not display progress bar.

COMMANDS
                help    Show help message of a command
                init    Initialize phpbrew config file.
               known    List known PHP versions
             install    Install php
                list    List installed PHPs
                 use    Use php, switch version temporarily
              switch    Switch default php version.
                each    Iterate and run a given shell command over all php versions managed by PHPBrew.
              config    Edit your current php.ini in your favorite $EDITOR
                info    Show current PHP information
                 env    Export environment variables
           extension    List extensions or execute extension subcommands
            variants    List php variants
                path    Show paths of the current PHP.
                  cd    Change to directories
            download    Download php
               clean    Clean up the source directory of a PHP distribution
              update    Update PHP release source file
               ctags    Run ctags at current php source dir for extension development.
                 fpm    fpm commands
            list-ini    List loaded ini config files.
         self-update    Self-update, default to master version
              remove    Remove installed php build.
               purge    Remove installed php version and config files.
                 off    Temporarily go back to the system php
          switch-off    Definitely go back to the system php
              system    Get or set the internally used PHP binary
          system-off    Use the currently effective PHP binary internally

HELP
        'phpbrew help' lists available subcommands and some topics. See
        'phpbrew help <command>' or 'phpbrew help <topic>' to read about a
        specific subcommand or phpbrew.

phpbrew 2.2.0           powered by https://github.com/c9s/CLIFramework

Well, that's strange.  I just ran % phpbrew -v again under PHP 8.3.3 and got the same output.  These are deprecated warnings - not errors that could be caused by a missing extension or something. 🫤   However, I did update all listed dependencies for phpbrew, but that didn't change anything for me.
I wonder what could be causing this?

Maybe I need to reproduce the issue in the MacOS 13.5(Ventura).
These outputs I generate in the Ubuntu 20.04.

I cannot use the MacOS 13.5 and I try to reproduce this issue in the MacOS 12.2.
It seems that this will be verified because of this reason I found.
The deprecated notice message is not presented in the Ubuntu 20.04 because my PHP package I install turn off the deprecated warning message in the php.ini file by default.
Here are my running command logs:
% sw_vers
ProductName:    macOS
ProductVersion: 12.6.6
BuildVersion:   21G646
% brew tap shivammathur/php
% brew install<EMAIL_ADDRESS>% brew link --overwrite --force<EMAIL_ADDRESS>% php -v
PHP 8.2.17 (cli) (built: Mar 14 2024 18:17:12) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.17, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.17, Copyright (c), by Zend Technologies
% curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar
% chmod +x phpbrew.phar
% sudo mv phpbrew.phar /usr/local/bin/phpbrew
% phpbrew init
%  source /Users/cloudxmac/.phpbrew/bashrc
% phpbrew -v
  ______ _   _ ____________
  | ___ \ | | || ___ \ ___ \
  | |_/ / |_| || |_/ / |_/ /_ __ _____      __
  |  __/|  _  ||  __/| ___ \ '__/ _ \ \ /\ / /
  | |   | | | || |   | |_/ / | |  __/\ V  V /
  \_|   \_| |_/\_|   \____/|_|  \___| \_/\_/

PHP Deprecated:  Callables of the form ["PhpBrew\Command\HelpCommand", "parent::execute"] are deprecated in phar:///usr/local/bin/phpbrew/src/PhpBrew/Command/HelpCommand.php on line 28

Deprecated: Callables of the form ["PhpBrew\Command\HelpCommand", "parent::execute"] are deprecated in phar:///usr/local/bin/phpbrew/src/PhpBrew/Command/HelpCommand.php on line 28
Brew your latest php!

PHP Deprecated:  trim(): Passing null to parameter #1 ($string) of type string is deprecated in phar:///usr/local/bin/phpbrew/vendor/corneltek/cliframework/src/Command/HelpCommand.php on line 156

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in phar:///usr/local/bin/phpbrew/vendor/corneltek/cliframework/src/Command/HelpCommand.php on line 156

I plan to fix this issue in the next released version. And thanks for your reporting issue.

It finally makes sense now! 🙂  I didn't realize you could turn off deprecated warnings.
I look forward to the next release.  Thanks!


Deprecate SharedNumberSequence and SharedObjectSequence, and remove most usage of SharedObjectSequence

This change is part of #8526
This change marks SharedNumberSequence and SharedObjectSequence as deprecated to discourage new usage, and removes most SharedObjectSequence usage in our repository (replay-tool is left unchanged).  It also removes the useSyncedArray from @fluid-experimental/react which depended on SharedObjectSequence.
Changes to examples:

likes-and-comments: Removed the comments portion which relied on SharedObjectSequence, leaving it as just "likes"
badge: Removed history functionality
shared-text: Removed test object
monaco: Removed extraneous registry entry
todo: Convert back to map-based approach

I recognize that some of these example changes are not ideal, but I think we should continue discussion of the scenario in #8526.

Thanks! :-D


How can I apply timeout if fzf does not response?

Info

OS

[X] Linux
[X] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[X] zsh
[ ] fish

I observe that fzf may not respond with low memory nodes such as 4 GB. This does not happen all the time but once in a while fzf does not output anything within the shell. It just hangs like in an endless loop. Only fix is to open a new terminal windows, which requires additional time. In these cases is there any timeout mechanism, which will open native reverse history search of linux if fzf does not response in few seconds??
Related: ## Problem / Steps to reproduce

It just hangs like in an endless loop

Is it consuming CPU resources when that happens?

4 GB

4 GB is a lot of memory for fzf. How much memory fzf process takes up when that happens?

Is it consuming CPU resources when that happens?

No

$ cat /proc/88662/status
Name:	fzf
Umask:	0002
State:	S (sleeping)
Tgid:	88662
Ngid:	0
Pid:	88662
PPid:	75318
TracerPid:	0
Uid:	1001	1001	1001	1001
Gid:	1002	1002	1002	1002
FDSize:	64
Groups:	4 20 24 25 27 29 30 44 46<PHONE_NUMBER> 1001 1002
NStgid:	88662
NSpid:	88662
NSpgid:	88661
NSsid:	75318
VmPeak:	  704216 kB
VmSize:	  704216 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	    3164 kB
VmRSS:	    3164 kB
RssAnon:	     900 kB
RssFile:	    2264 kB
RssShmem:	       0 kB
VmData:	   41408 kB
VmStk:	     136 kB
VmExe:	    1100 kB
VmLib:	       8 kB
VmPTE:	      88 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
CoreDumping:	0
THP_enabled:	1
Threads:	7
SigQ:	0/3839
SigPnd:<PHONE_NUMBER>000000
ShdPnd:<PHONE_NUMBER>000000
SigBlk:	fffffffc33f83a00
SigIgn:<PHONE_NUMBER>000000
SigCgt:	fffffffc7fc3feff
CapInh:<PHONE_NUMBER>000000
CapPrm:<PHONE_NUMBER>000000
CapEff:<PHONE_NUMBER>000000
CapBnd:	000001ffffffffff
CapAmb:<PHONE_NUMBER>000000
NoNewPrivs:	0
Seccomp:	0
Seccomp_filters:	0
Speculation_Store_Bypass:	thread vulnerable
SpeculationIndirectBranch:	conditional enabled
Cpus_allowed:	3
Cpus_allowed_list:	0-1
Mems_allowed:	00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	7
nonvoluntary_ctxt_switches:	0

VmRSS:	    3164 kB
So this is obviously not a memory issue.

Any output on CTRL-?

no output on CTRL- , CTRL-r , CTRL-?, history | fzf , fzf

no output on CTRL- , CTRL-r , CTRL-?, history | fzf , fzf

What is CTRL-??

That's the combination you wrote CTRL-\?. Just ctrl followed by any character does not return any output.


[DOC] Shadow xdg-open instead of xdg-utils-handlr usage (#53)

Documentation change that I've mentioned in #53

Alright, looks good to me. Thank you!


changing the workflow handler to comply with new interface

Pending: tests

@anandswaminathan not a no-op


fix: check for valid content-length before calling request.formData() for HEAD requests

WHY are these changes introduced?
Currently the login handler will call request.formData() if no ?shop=xxx param was found and it's a GET request. In Remix HEAD requests will be handled as GET requests, so if no shop param was provided in a HEAD request, e.g. by just visiting /auth/login (using the shopify remix template), it would then call the request.formData() function on an empty body and throw a TypeError: Could not parse content as FormData.
WHAT is this pull request doing?
The PR enhances the current if (request.method === 'GET' && !shopParam) check to also check if the Content-Length header is truthy/above zero. If so, it should be safe to call request.formData(). It does not impact any other request types such as POST.
Type of change

[x] Patch: Bug (non-breaking change which fixes an issue)
[ ] Minor: New feature (non-breaking change which adds functionality)
[ ] Major: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] I have used yarn changeset to create a draft changelog entry (do NOT update the CHANGELOG.md files manually)
[x] I have added/updated tests for this change
[ ] I have documented new APIs/updated the documentation for modified APIs (for public APIs)

Hey @lizkenyon,
Sorry for the late reply!
I've created a sample repo (which basically is just the basic Shopify Remix template): https://github.com/MarcMogdanz/shopify-app-js-pull-662
The following are all of the relevant requests, the easiest way to replicate it is to use an API client.

GET /auth/login
This will render the login form as expected.

GET /auth/login?shop=xxx.myshopify.com
This will skip the login form and automatically redirect to authenticate via Shopify.

HEAD /auth/login
This request is causing the issue. There's no ?shop=xxx param which means it can't automatically redirect. Since Remix treats HEAD requests as GET requests it will still invoke the loader function in /app/routes/auth.login/route.tsx but request.method will be set to HEAD and not GET. In the current version of the shopify-app-js package it will then assume/fallback to handling the request as if it is a POST request triggered by submitting the login form rendered through request 1 since the if (request.method === 'GET' && !shopParam) check doesn't go trough.

HEAD /auth/login?shop=xxx.myshopify.com
Will be treated the same as 2. and work without issues.

Now thinking about it again, a potentially simpler fix for this would be to only change the check to also check for HEAD and change it up to something like this:
if ((request.method === 'GET' || request.method === 'HEAD') && !shopParam) {
  return {}
}

Should still do the trick and require a lot less changes to the test suite.

Hey @MarcMogdanz
Let go with your new suggested fix!

Now thinking about it again, a potentially simpler fix for this would be to only change the check to also check for HEAD and change it up to something like this:

if ((request.method === 'GET' || request.method === 'HEAD') && !shopParam) {
return {}
}


Support prefix

Just like when defining User Snippets in VSCode, it would be helpful if this extension supported prefix.
{
    "Insert heading level 1": {
       "prefix": "heading1",
       "body": ["# ${1:${TM_SELECTED_TEXT}}$0"],
       "description" : "Insert heading level 1"
    }
}

The prefix property defines the trigger phrase for the snippet. It can be a string or an array of strings (if you want multiple trigger phrases). Substring matching is performed on prefixes, so in this case, typing "h1" would match our example snippet.

@chrisgoffinet took more than a year to respond to this :D
I finally added prefix support. Edit your snippets and you'll see the new option:

Once you save the snippet, just start typing that prefix and its suggestion will popup:

The prefix will be camelized automatically (awesome snippet => awesomeSnippet). Other fixes have been implemented to show suggestions on all file formats and adding couple of settings for advanced users (like you).


where is stored the token?

Can we choose where is stored the token? For example use redis or mysql?

Would you store them at all server side? As I understand it, the point of JWT is (at least partially) to get away from having to store session information the server.

The library does not deal with storage, you're free to choose any storage that fits your use-case best.


Sweepprivkey

Importprivkey + SweepPrivKey Functions and GUI work in progress.

Add a "Sweep Private Key" feature #315

pull requests should be atomic, its needed you remove code references to the dmg background pr.
please also note the new rpc command should be covered by a test

My bad. Will re-commit.

utACK, @sherlockcoin, you might need to rebase on master or merge master to this branch

from what i read in the code, the implementation is also wrong. you are scanning through the wallet's transactions outputs with the address the user wants to sweep, while you would need to scan the whole chain.

I'm working on a different approach to this, will close and reopen. :)

@sherlockcoin were you able to get work on this?


Flutter Support

With the up and coming Flutter.io, some apps may be 'hybrid' with both native and Flutter UI scenarios to support and test. Curious if anyone has thought about EarlGrey in this world and the support for bringing visibility of both worlds into the library.

FlutterDriver is the recommended way for writing Flutter app UI tests.
https://flutter.io/docs/testing

We are working to support Flutter use-case. Because of the A11Y bindings that flutter provides, EG 2 (tested) worked fine locating and interacting with the elements however there are major synchronization gaps which makes some tests as much as 90% flaky. We will be working with them to add proper synchronization support next quarter.

@khandpur will we be able to use EarlGrey 2 from Dart?

That's still tbd. However, you should be able to do the opposite: Use EG2 to test all of Flutter hybrid apps from within XCTest (swift or objc)

That's still being debated. However, you should be able to do the opposite: Use EG2 to test all of Flutter hybrid apps from within XCTest (swift or objc)

And then duplicate the tests on Android using Espresso? 🤔
I think Flutter devs would prefer to stay in Dart to realize the cross platform benefit. It's similar to the use case of detox for react native.

Thanks for the update and discussion, much appreciated.
When the app flow moves between native and flutter views, something 'all inclusive' would be ideal. Be it in Dart or supported in EarlGrey/Espresso, or all of the above. EarlGrey being more ideal for an app just starting to integrate with Flutter, and Flutter driver ideal for a dominantly Flutter built app.
It seems the Flutter test driver is just as blind to the native UI right now. Any angle of attack on this is bound to be a fun one I think.

@bootstraponline I agree with the sentiment but we have to look at the use cases.
If your app is mostly Flutter, you likely want to write Flutter Driver tests. Just like your code moves away from ObjC/Swift/Kotlin/Java to Dart, your tests should follow. However, we (Flutter team) acknowledge that there are a lot of use cases where people will still maintain a significant portion of native code along with Flutter code. In that scenario, it is highly likely that you already have native tests so having those tests cover both Native and Flutter portion of the app is the natural way to go.
The only thing that's not on the roadmap is having Flutter Driver drive native apps. Having said that, there are already frameworks that combine different technologies to afford x-platform testing for mobile apps (e.g. http://appium.io/).

there are already frameworks that combine different technologies to afford x-platform testing for mobile apps (e.g. http://appium.io/).

As an appium developer, I'm confident it's not a fit for Flutter. Maybe you could click a button, however without solving the sync issues it's not going to be stable. Appium has the same issue with react native apps.

In that scenario, it is highly likely that you already have native tests so having those tests cover both Native and Flutter portion of the app is the natural way to go.

I'm curious to hear specific examples of users adopting a cross platform technology who then want to write UI tests twice, once per platform. When companies are adopting react native, they'd like to gain the developer productivity win by writing tests in JavaScript for the entire app (see detox).
At Instructure, when we adopted react native, it was a natural choice to try and write tests in JavaScript. Even though we had an existing native app with UI tests, there was value in being able to write UI tests once and in a common language (JavaScript) for both Android/iOS. Unfortunately react native as a technology has issues and we went back to native development.

The only thing that's not on the roadmap is having Flutter Driver drive native apps

I guess my feedback is that should be on the roadmap, and makes more sense than writing ObjC/Swift/Kotlin/Java tests for Flutter UI. Otherwise Flutter testing will be a mix of 3 different approaches (espresso, EarlGrey, Flutter Driver) in various languages instead of simply Dart + Flutter Driver.
If Flutter Driver solved the native automation problem by wrapping Earlgrey/Espresso as detox has done, I'd expect even native apps to adopt it who aren't even using Flutter. 🙂

We are just starting to understand the add2app (the codename for using Flutter in existing apps) use cases. Our recommendation so far has been:

Write as much Flutter as possible.
Write Flutter Driver tests as much as possible using fakes/mocks for the native integration points.
To test those integration points and get full E2E coverage, use native testing solutions.

We have seen some success with this. Developers generally do not complain about native testing when they already have native code to maintain. They start complaining about it when that's the only way to test a Flutter component but clearly that's not the case because you can do #2.  In fact, we have seen more complaints like the one filed here: "Espresso should support Flutter", "XCUITest should support Flutter" etc. There's clearly more apetite for using native testing solutions to drive Flutter rather than a Dart solution driving native.
Perhaps a different landscape will emerge as add2app grows in popularity. We will watch it closely.
PS: I will give you two other foods for thought, these are just my personal opinions (I am not on the Flutter team but I work very closely with them):

Supporting a test framework that drives native apps goes against the way Flutter was designed. We never wanted to "play nice with all platforms", we wanted to revamp them. To provide such a testing tool though, we would have to deeply understand and integrate with the platform detracting us from improving the platform-agnostic Flutter.

Even if such a test framework existed, it would be along the lines of "learn once, write anywhere" because despite your Flutter UI being the same, your native UI would likely differ so you can't quite use the same test code. That goes against Flutter's philosophy of "write once, run everywhere".

Again, I am not saying that what you are proposing is a bad idea. I am just saying it does not align with how Flutter wants to execute its mission. Thus, it might emerge from community but it is unlikely to come from the Flutter team.

Cool. Thanks for the insight. It'll be interesting to see how this evolves in the future.


taskid filter not working

Hey,
with this plugin standard filter like #123 or 123 which filters by task id isn't working anymore.
Regards,
Timo

https://docs.kanboard.org/en/latest/user_guide/search.html#search-by-task-id-or-title


kill does not allow 0 as a signal

   "If sig is 0, then no signal is sent, but error checking is still performed; this can be used to  check
   for the existence of a process ID or process group ID."

signal.rs seems to explicitly disallow the signal value to be 0, i.e.:
    pub fn from_c_int(signum: libc::c_int) -> Result<Signal> {
        match 0 < signum && signum < NSIG {

We have not released it yet, but in the next version you can pass None to kill in order to pass no signal. (see #441 and #445).


Moboff initialise quits if api key is wrong

Moboff initialise quits if api key is wrong, this could be changed to repetitive prompting so that user doesn't have to rerun moboff initialise again and agian.

Agreed. Can you come up with a PR of #25 and this issue?


Add recursive file inclusion

It would be nice to be able to include other djot documents inside a djot document. Even multiple nested inclusions.
The syntax might be: +[My poems](../my_poems.dj) or maybe even just like inclusion of images - ![My poems](../my_poems.dj) and the parser will check whether the file in question is an image and then generate <img> and if it is a text file - will replace the inclusion syntax by the content of the file and continue parsing...
Thank you!

The Alt text (in the example above - "My poems") or if not provided +[](../my_poems.dj) the file name - can be used as namespace to prepend before all kinds of identifiers (e.g. footnote ids) that should be unique, but might be the same by chance/mistake in different included files.

@black-desk I have a PR which is almost fully done  that would incorporate this feature. I'm getting hung up on one point. This feature would allow people to incorporate documents inside of footnotes as well (one could imagine how that can be very useful). Here's the rub: the pandoc standard doesn't allow the sort of Block elements that these documents have to be embedded inline.So nested footnotes don't work. It is however parsed correctly with the HTML parser.
So you can verify this and offer more detailed advice you can see the following below:

a minimal reproducible example extracted from a larger suite of test files (hence the names doc2 and doc3)
the AST tree these documents are producing (found in debug-ast.txt)
The pandoc that is produced by it
The markdown (used for illustrative purposes) that gets generated
when attempting to convert the pandoc into markdown using the proper pandoc application. The same error occurs with any file format (I've tried a few).
-the HTML that results when trying to convert the tree to HTML directly so you can confirm that it works with HTML (output.html.txt, remove the .txt upon downloading that was added since Github wouldn't allow me to just upload an HTML file)

Doc2.dj
Here is some text with a footnote reference.[^a] And another one here.[^b]

[^a]: Footnote A content.
+[doc3](./doc3.dj)
[^b]: Footnote B content.

Doc3.dj
Example text with footnotes.[^x] More text with another footnote.[^y]

[^x]: Footnote X explanation.
[^y]: Footnote Y explanation.

debug-ast.txt
pandoc.json
output.md
output.html.txt
I'm wondering how to go about this. A workaround I found in the process of trying to engineer my way out of this (not very successfully obviously) is to convert the AST to HTML (since, as mentioned, the HTML is rendered correctly) and then that HTML to Pandoc using Pandoc. I even found this module that allows me to do it without a local Pandoc installation https://www.npmjs.com/package/pandocjs (and this module did do the job when I tested it). I'm not sure if you want me to do that, though or if there's some other method you know of by which it could be achieved. Please let me know how you want me to implement this.

Well, I'm not sure I'd even want this feature, and if so, what the syntax should be.
But you've correctly identified a limitation of an approach that parses the included file into an AST and appends it to the AST of the including file. This won't work if the included file contains footnote definitions or, for that matter, link reference definitions.
One could decide to document and live with this limitation. But if one didn't want to do that, one would have to use an entirely different strategy. Instead of having the parser read the included document, parse it, and append the AST nodes, the parser could just read the raw text of the included document and add it to the input to be parsed.  That's how pandoc handles includes in LaTeX and RST.

@jgm I just submitted #94 to address this. (Couldn't reopen 93 since I did a force push after squashing, now I know that for the future). There are some test cases that fail, what do you want me to do with them? Should I rewrite them or can they be ignored? As you can see from the attached files the parser works just fine.

Failing tests should never be ignored.  If your commit changes output on tests that seemingly have nothing to do with it, it's important to figure out why.
Note:  I am unlikely to accept this PR (at least in the near future).  Before adding something like this to an implementation, I'd have to decide to add this syntax for inclusion to the djot syntax specification.

The feature has been rewritten and all tests now pass. Since I'm doing this for @smnto for our project to try to keep things separate (and minimize the possibility of things going wrong) I created a separate entry point that adds all file inclusions and then passes it to parse. I also wrote some unit tests and provided some files for them.

This commit enables the creation of structured documents of arbitrary complexity, contrary to the current state of affairs where only one-pagers are allowed. So now if one needs to write a book or a lengthy article all the content must be in one file. Working with big files is not convenient and may slow down/crash the editor besides being hard to read. File inclusion, implemented in #94, allows the author to subdivide the book/article into separate manageable chapters. This provides djot with the power similar to that of LaTeX and makes it positively distinct from all the Markdown-like tools. Additionally, it does not require changes to the syntax (which I remember being mentioned earlier) since the commit currently uses the same syntax as image inclusions and work whenever parse is called. It has been verified that images still work fine since before inserting the content it checks if it's an image and if so leaves it alone to be parsed by the image parser (this has been tested and works).

Sounds like a game-changer feature... I'm voting in its favor!

This feature sounds very very nice. I hope @jgm would reconsider to merge this very soon.Sendt fra min iPhone via Braille Sense U2/MBrailleDen 26. jun. 2024 kl. 22.04 skrev Avtech Scientific @.***>:
Sounds like a game-changer feature... I'm voting in its favor!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

So now if one needs to write a book or a lengthy article all the content must be in one file.

This is not really true.  I often process multi-file markdown documents using pandoc; you only need to specify the files in order on the command line and they will behave as if concatenated together.  (I tend to do this by creating a simple Makefile target so I only need to type make to build; an added advantage is that make will track the dependencies and only rebuild if something has changed in one of the content files.)
Perhaps there are advantages to having first-class includes, but I thought it was worth mentioning that multi-file documents are hardly impossible without them...

Well... it's kind of a workaround...

You depend on an external tool,
Most people who use markdown/etc. do not know what make is,
This approach doesn't really work. Consider following example:
What do you expect from concatenation of these 2 files:

File 1:
Is this **bold
File 2:
or not?**... hmm
Using make approach there will be no bold, however using real inclusion - there will be, as expected.
So, considering the fact that there is no need to introduce new syntax - will your merge this, @jgm ?

It is assigning a new meaning to an existing syntax. Since djot.js purports to be an implementation of the syntax described at jgm/djot, I'm not going to add anything to djot.js that is not described there.  (As I indicated last week.)  We could consider an inclusion syntax in the future, but the reference implementation should not diverge from the described syntax. You can open an issue there if you want to discuss the advantages of an inclusion syntax and possible syntaxes.

Honestly I don't understand this issue -- I'm already using !![...](...) in my own workflows to include things that are not necessarily images, and this doesn't even need some support for the djot reader -- It's a renderer feature. (And when one asks for embedding a file in another file, header shifting comes into the game, so I'd rather see some good language-level specification than a PR)

Embedding a file means just dumping the content of the included file into
the including file. No manipulations with the content... Header shifting,
if needed, should be done by the user.
The point here is not be dependent on external tools. And see the example
in the above mentioned issue of how rendering files separately doesn't work
in this case...
On Sun, Jun 30, 2024 at 12:15 AM Omikhleia @.***> wrote:

Honestly I don't understand this issue -- I'm already using !
in my own workflows to include things that are not necessarily images, and
this doesn't even need some support for the djot reader -- It's a renderer
feature. (And when one asks for embedding a file in another file, header
shifting comes into the game, so I'd rather see some good language-level
specification than a PR)
—
Reply to this email directly, view it on GitHub
https://github.com/jgm/djot.js/issues/85#issuecomment-2198338154, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AC6NCK3CVSV3GCZUHQQBX3LZJ4PY7AVCNFSM6AAAAABDPHRF26VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJYGMZTQMJVGQ
.
You are receiving this because you commented.Message ID: <jgm/djot.
@.***>

Embedding a file means just dumping the content of the included file into the including file

It does? I would beg to disagree, "dumping" the content of a file into another lacks any semantics.

Embedding a file means just dumping the content of the included file into the including file

It does? I would beg to disagree, "dumping" the content of a file into another lacks any semantics.

That's exactly the meaning of inclusion. But you are entitled to your own distinct opinion.


Q: Is there a delay after adding a series to the watchlist

I added a few series to my watchlist via the website, and it seems even half an hour or so later, it is not showing in https://api.trakt.tv/sync/watchlist/shows
Is there any delays or syncing necessary ?
If there's any docs im missing discussing this, please point me to them :)

sorry, probably wrong section for this question


[Feature] SQL User Authentication

Rather than local user authentication, how about sql authentication?

What do you mean by this? At the moment, the credentials are stored in the database, and the users are authenticated server side whenever an action happens. Is there a separate method of authentication within sql?
Sorry for the late response.

Sorry, I meant to say web authentication* this way you could let people register themselves.

Oh I see, no worries. I was thinking of this, but the issue is that if you have it exposed to the internet, anybody would be able to register an account and use your bandwidth and compute to download videos. I guess a way to circumvent this could be to use a special code for registration, but I haven't worked out a good system for that yet, so for now registration can be done by admins only. If I think of a good way to get it to work, I can definitely try it out.

I think an invite system would be pretty cool, I've seen some pretty good open source projects on github.

I'll take a look soon, I like that idea!

Just added a registration system in the latest commit. You can easily register users by going to Admin>User Registration, then copying one of the keys and making a URL like your.internal.ip.address:port/register?rk=key. Example URL: http://<IP_ADDRESS>:8080/register?rk=059def66a01ef12c5465735793a61acb66355eb738b7968cb8bb88aee0ab9166. This will drop the new user on the register page, and they will be able to register an account. They can also manually enter the registration key, but using the URL is easier since it autofills the key for them (and you can turn the URL into a QR code for easy access).


Fixed working with nested key names (for example, APP_KEY and PUSHER_APP_KEY)

There is a serious bug now if the .env file contains "nested" keys (for example, APP_KEY and PUSHER_APP_KEY, each modern laravel instance, lol).
At first we have this env-file:
APP_KEY=
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"

Run command:
php artisan env:set APP_KEY test

Get this output:
APP_KEY=test
MIX_PUSHER_APP_KEY=test"${PUSHER_APP_KEY}"

I have fixed this, added the unit-test for checking this behavior.

Also, @imliam, fix git tags, please. There is a chaos with them now. See also CHANGELOG.md. For example, it's impossible now to install latest version using composer and packagist, because the 1.1.0 tag points not to the latest commit.

Thanks for the fix.
The changelog looks to be wrong compared to the released tags - I'll sort them out.


Unit test configured

I have configured the test so we can import modules via the esm without any errors using babel and I have written test for generateVideoTag util function.

don't mind the redlines, that's eslint acting up on my editor but the test runs.

This is awesome man. Thank you. Just a couple of things.
Can you please move the tests to the test folder?
Also, in the jest config file, please remove all the commented-out scaffold code.

yh sure I'll do that real quick

Perfect. With the power bestowed on me, by myself, I hereby approve this PR in my name.

🤩🤩🤩🤩

Hoping to get to this kind of level some days 😊


when i use ElementPlusResolver and use '@vitejs/plugin-legacy' in chrome 60, some dependence is gone

same problem.

Could you please provide a minimum reproduction link?

https://github.com/qc-z/testbuild
@sxzz

same problem. hope to deal with it as soon as possible, thank you


feature request: datetime on android

The iOS datetime picker is great, but unfortunately the android version of this plugin doesn't support that. It would be great if it did.

+1 too


Missing tree data with virtual scroll with flex height

Hi,
I am trying to use flex height for the tree with virtual scroll. However, when I set the tree container to 100% and set the flex height, the chunk of data is missing from the screen during the scroll.
I have added the working example here https://stackblitz.com/edit/angular-d2mavw
If I open the last rootDynamic49 node, only 20 children are visible. However, it has 50 children. On the other hand, when I set the height to 100px, all the children are visible.
Is there a way where I can  keep the first div fixed on the top position and add scroll only for the tree with the flexible height?
Thank you.
Best Regards,
Sadiksha

@sadiksha
I think those nodes getting hide because of nodeHeight you set in options, if you set to 10 it will fix the issue.
options = {
    useVirtualScroll: true,
    nodeHeight: 10
  };

Closing this issue due to inactivity. Please open a new issue if the problem still exists.


Tabs: fix a 'activeName' attribute init bug

Please makes sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's Contributing Guide.
[ ] Rebase before creating a PR to keep commit history clear.
[ ] Add some descriptions and refer relative issues for you PR.

#1034


AMBARI-24998 Not supported actions(like Start/Stop) should not be shown for HDFS/YARN clients in WL cluster with externalized HDFS/YARN

How was this patch tested?
21991 passing (30s)
48 pending

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/4690/
Test PASSed.


Re-order passthrough node removal

This new ordering removes all passthrough node to passthrough node and passthrough node to ensemble connections before attempting to remove any ensemble to passthrough node connections.
On my desktop PC at work this reduces the build time from >240s to <210s for a 256-D cconv network.

Looks good to me...  the comment is quite helpful.

Thank you!


ADA-SVR (4/4) bis: adding type and assertion

This pull request includes a modification of other PR (https://github.com/mind-inria/hidimstat/pull/74, https://github.com/mind-inria/hidimstat/pull/73, https://github.com/mind-inria/hidimstat/pull/99, https://github.com/mind-inria/hidimstat/pull/100, #101)
This pull request is an example of adding types and assertions to a model.
It can be used as an example of the possibility for #96.

The issue is that the diff from this PR includes also the diff of PR #100. How do you want to proceed ? Close #100 and go on with that one ? or wait till #100 is merged ?

The issue is that the diff from this PR includes also the diff of PR #100. How do you want to proceed ? Close #100 and go on with that one ? or wait till #100 is merged ?

I prefer to wait until the #100 is merged. It's a sequence of 5 PR.


[Question] ALTER DELETE in Materialized Views

Hello, will alter delete work for materialized views as well? Thanks

You have to apply it to .inner. table (that you can find in system.tables) and mutations will work if the underlying storage is of MergeTree family.

Thank's for the reply! I also see you implememented query forwarding to the underlying table 👍


list Leaflet.fullscreen on plugin page

Checklist

[X] I've searched through the current issues to make sure this change hasn't been suggested already.
[X] I agree to follow the Code of Conduct that this project adheres to.

Which documents need updating?
https://leafletjs.com/plugins.html#fullscreen-controls
Motivation
The plugins page lists two plugins for fullscreen controls, but doesn't even mention the one that is part of the Leaflet github org:
https://github.com/Leaflet/Leaflet.fullscreen
This plugin is very easy to use, and works great.  People looking for a fullscreen control should know about this plugin.
Suggested changes
Add an entry for https://github.com/Leaflet/Leaflet.fullscreen to the plugin page.

I'd love to work on this!
I've previously contributed to Leaflet ( issue: #8183) and would absolutely love to contribute more!
Can you please assign me?

Okay, I installed ruby and ruby-devel packages, added the directory to my path variable, and reloaded the .zshrc file, yet this is happening:

Where am I going wrong? I'm on fedora.

Strange error, but no worries. If you can update the plugin file I can verify this locally.

How do I update that?

I think there just needs to be a new file added to https://github.com/Leaflet/Leaflet/tree/main/docs/_plugins/fullscreen-controls following the pattern of the existing files there.
Note that the existing leaflet-fullscreen.md file is for a different plugin by @brunob that has the same name leaflet.fullscreen.
I'm not sure how best to handle the name collision.  Hopefully @brunob and others more experienced with the leaflet plugin ecosystem can advise on this issue.

Hi, i've already proposed this on https://github.com/Leaflet/Leaflet.fullscreen/issues/119 but didn't get any feedback :p
This plugin haven't been updated since 2018. FTR, i've published https://github.com/brunob/leaflet.fullscreen on 2012, then https://github.com/Leaflet/Leaflet.fullscreen came in 2013.

I'm not sure how best to handle the name collision.

Maybe just use a . instead of a - and it will be fine ?

You can use what you want. I suggest to use Leaflet-Fullscreen, then it is listed behinde the current leaflet.fullscreen which has active maintainance (which is better).

Still having the ruby installation issue. I've even done a clean re-install of OS on my machine.

Okay, I installed ruby and ruby-devel packages, added the directory to my path variable, and reloaded the .zshrc file, yet this is happening:

Where am I going wrong? I'm on fedora.

Have you installed the ruby developement package yet?
If not, you can run sudo dnf install ruby-devel.
If you get an error about a c compiler, run  sudo dnf group install "C Development Tools and Libraries" before the above command.
Let me know if this helps

Yes, I had installed them, and yet it didn't work. Anyway, right now, I'm busy and am hence unassigning myself from this. Issue remains for others to contribute to.


ModuleNotFoundError: No module named 'yacs'

when i run the demo it happened. i try install that, but it seems useless

I have the same problem, did you have resolved ,thanks

You just have to install yacs package :
pip install yacs
or install all the requirements in for the project:
pip install -r requirements.txt

url: https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/INSTALL.md
follow the install.md
pip install ninja yacs cython matplotlib tqdm opencv-python


Configure Business Rules, Workflow and Process Visibility  - SAP Business Application Studio UI changed.

Tutorials: https://developers.sap.com/tutorials/cp-starter-ibpm-employeeonboarding-2-configure.html - SAP Business Application Studio UI changed. Please update the tutorial accordingly.
Write here how you think we can improve the tutorial ...
STEP 5 : Download and import workflow sample application
3. Click on the Dev Space to go into the workspace and from File menu choose Open Workspace
4. Drag and drop the extracted cf-onboarding-sample project in the dialog and click Open.
Points to improve : SAP Business Application Studio UI has been updated. Please update the steps and screenshots in the tutorial accordingly.  Please see the attached document (SAP_Business_Application_Studio_Screen_Updated.docx) for more clarity.
SAP_Business_Application_Studio_Screen_Updated.docx
Labels to be added:
Scenario label: SCPTest-eboard
Sprint Label: SCPTest-2211A
Landscape Label: trail2(Trial US East (VA) (AWS) ) & Trial3 (AP Region)
Priority: Medium
Thanks and Regards
Sreejith

Labels to be added:
Scenario label: SCPTest-eboard
Sprint Label: SCPTest-2211A
Landscape Label: trail2(Trial US East (VA) (AWS) ) & Trial3 (AP Region)
Priority: High

Hi,
These issues are still reproducible in March exectution
Thanks and Regards,
Farozan

Hi Colleagues,
Closing this ticket as this tutorial is replaced with "Build Your First Business Process with SAP Build Process Automation".
Thank you


Documentation is not clear on how to handle N+1th connection

Improve documentation
Describe the problem
If I have a node with default_max_clients set to 1000, what happens with the 1001st connection? Does it get rejected? Or will it be queued to connect? If so is that just governed by the connection timeout in the DB URL?
Describe the improvement
Make it clear how it handles limitations of the node.

Thanks added a FAQ!


Update ADR-0001 Event data in integration events.md

Description

References

#0000

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Placeholder for replacing our cookie library

Closing as it's not clear on the reasoning behind this any more.
We will be performing a full recon of our library usage as part of v3 which this will fall into.


fix typo from 旗 to 棋 in zh-CN

I know you no longer accept the translation trough pull request.
However nobody is available on Crowdin, https://github.com/HearthSim/HDT-Localization/issues/180

Crowdin will not pick up translations merged here, it's one way. What's the problem with it?

@azeier  Please refer to https://github.com/HearthSim/HDT-Localization/issues/180. I have tried to contact you through Crowdin, but you did not reply to me.

@azeier  I have sent the request to join the translation teams one month ago, but nobody approve it.


Upgrade to Alpine 3.19 breaks build

The upgrade last month to Alpine 3.19 seems to be causing this error in my build. Docker Hub doesn't appear to show a tag other than latest. Is there any way for me to use the previous version?
Thanks!
[2024-02-27 00:22:22] │ INFO[0047] Running: [/bin/sh -c pip install -r requirements.txt]
[2024-02-27 00:22:24] │ INFO[0049] Pushed <registry-uri-7>
[2024-02-27 00:22:25] │ error: externally-managed-environment
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │ × This environment is externally managed
[2024-02-27 00:22:25] │ ╰─>
[2024-02-27 00:22:25] │     The system-wide python installation should be maintained using the system
[2024-02-27 00:22:25] │     package manager (apk) only.
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │     If the package in question is not packaged already (and hence installable via
[2024-02-27 00:22:25] │     "apk add py3-somepackage"), please consider installing it inside a virtual
[2024-02-27 00:22:25] │     environment, e.g.:
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │     python3 -m venv /path/to/venv
[2024-02-27 00:22:25] │     . /path/to/venv/bin/activate
[2024-02-27 00:22:25] │     pip install mypackage
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │     To exit the virtual environment, run:
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │     deactivate
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │     The virtual environment is not deleted, and can be re-entered by re-sourcing
[2024-02-27 00:22:25] │     the activate file.
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │     To automatically manage virtual environments, consider using pipx (from the
[2024-02-27 00:22:25] │     pipx package).
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │ note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
[2024-02-27 00:22:25] │ hint: See PEP 668 for the detailed specification.
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │ [notice] A new release of pip is available: 23.3.2 -> 24.0
[2024-02-27 00:22:25] │ [notice] To update, run: pip install --upgrade pip
[2024-02-27 00:22:25] │ error building image: error building stage: failed to execute command: waiting for process to exit: exit status 1
[2024-02-27 00:22:25] │
[2024-02-27 00:22:25] │ command exited with code 1

@deltaGPhys Double-check that you use the latest image as I have explicitly disabled the EXTERNALLY-MANAGED flag.
I cannot reproduce your issue:


Settings table snippets is missing Variables import

Fixed in https://github.com/andriyko/sublime-robot-framework-assistant/commit/f368ca3e17c2ff7aa319e846331708fd16898048


Drop @Nullable annotations in spi-test module in favor of using SPI @Nullable annotations

We should not duplicate code, on the other hand, nullable annotation in SPI are package-protected so we do not leak unwanted SPI.

That isn't possible as SPI Test and SPI reside in different packages and SPI's annotations are kept package-private.


remove writing out lastCheckedAt status

Signed-off-by: craig<EMAIL_ADDRESS>rh-pre-commit.version: 2.2.0
rh-pre-commit.check-secrets: ENABLED

I will merge as is and then we can enhance it more afterwards as this will stop a lot of events happening anyway


Nova schedule documentation

The README now includes a section on scheduling Nova audits. Is any returner information required to send this data somewhere useful? What would that syntax look like in full?

Oh, right, I totally forgot returners. I also found return_job: False in the scheduler docs, which will be a very useful setting. We need to make sure return_job: False doesn't disable an explicit returner:  setting.

Done in #224. Tested and working.


Introducing Session, cleaning UI-facing API, refactor package structure

This PR is largely influenced by this proposal: https://docs.google.com/document/d/1fXJBd1SFIqudxdWzyFSHoq5mkER45tr_A5Yx1s-nFQs/edit#heading=h.rkdjwohfjnc0 and feedback from @mcous based on making API calls from the UI.
Session and Session Manager
In order to further separate robot API that is immediately related to the robot, instruments, containers and modules, from actual protocol and running protocols we are introducing a concept of Session and SessionManager. This concept also allows to run protocols outside python interpreter more intuitively.
SessionManager is responsible for creating and getting an active session. And Session is responsible for representing mutable state of a protocol run (execution state, commands, errors, etc). Session also contains messages related to running the protocol: run, pause, etc.
NOTE: the PR also re-orders argument sequence for SessionManager.create: name goes first, text goes next.
Removing intermediary object for making remote API calls
Before this PR, upon establishing a connection to opentrons.server, the client would receive instance and type description of of an intermediary object. This would allow to make system calls such as get_object_by_id or get_root to get the actual object the server exposes for remote calls. This mechanism introduced unnecessary boilerplate in client and unit tests, requiring to call get_root for every new connection before making calls to actual remote object.
This PR removes intermediary and returns root object and it's type upon connecting. To support system calls (get_object_by_id), the client should omit id key in request message. This will signal the server that the call is being made to an object that wraps system calls.
Refactor package structure.

added opentrons.session and moved session-related code out of opentrons.server
tests from opentrons/server/tests are now in tests/opentrons/server and tests/opentrons/session

Check List:

[ ] Are there breaking changes in the API and how are they being communicated?
[ ] Who is reviewing your code?

Closing in favor of #330