Pauli string to from tableau

Part 1 of implementing Tableau -> Maybe(PauliString) and PauliString -> Tableau. Once we have settled on C++ side, Part 2 will expose in the python API.

Changes look good. Lemme know if the pybind part is troublesome.

OK, took a stab at python API bindings. Implemented to_pauli_string and to_tableau on the corresponding classes rather than to,from just on Tableau which was forced to avoid cyclic imports.
Trying to regenerate docs gives the following error:
Traceback (most recent call last):
  File "/home/danielbarter/stim_dev/Stim/glue/python/generate_stub_file.py", line 264, in <module>
    main()
  File "/home/danielbarter/stim_dev/Stim/glue/python/generate_stub_file.py", line 259, in main
    assert "stim::" not in text, "CONTAINS C++ STYLE TYPE SIGNATURE!!:\n" + text
AssertionError: CONTAINS C++ STYLE TYPE SIGNATURE!!:
    def to_tableau(
        self,
    ) -> stim::Tableau:
        """Creates a Tableau equivalent to this Pauli string.

        The tableau represents a Clifford operation that multiplies qubits
        by the corresponding Pauli operations from this Pauli string.

        Returns:
            The created tableau

        Examples:
            >>> import stim
            >>> p = stim.PauliString("ZZ")
            >>> p.to_tableau()
            stim.Tableau.from_conjugated_generators(
                xs=[
                    stim.PauliString("-X_"),
                    stim.PauliString("-_X"),
                ],
                zs=[
                    stim.PauliString("+Z_"),
                    stim.PauliString("+_Z"),
                ],
            )
            >>> q = stim.PauliString("YX_Z")
            >>> q.to_tableau()
            stim.Tableau.from_conjugated_generators(
                xs=[
                    stim.PauliString("-X___"),
                    stim.PauliString("+_X__"),
                    stim.PauliString("+__X_"),
                    stim.PauliString("-___X"),
                ],
                zs=[
                    stim.PauliString("-Z___"),
                    stim.PauliString("-_Z__"),
                    stim.PauliString("+__Z_"),
                    stim.PauliString("+___Z"),
                ],
            )
        """

not sure how to resolve

Ah, you've encountered one of the "joys" of pybind. It took me a long time to figure out the first time!
What's happening is that docstrings are dependent on order of definitoin, and you referenced something in a method before that class was registered.
What you need to do is something that's been done to more and more classes:

Split the pybind_tableau method into pybind_tableau_class and pybind_tableau_methods pieces.
In stim.pybind.cc call the tableau class binding in the block of classes being defined.
Call pybind_tableau_methods in the block of methods being defined.

If you search the codebase for the text c_dem_sampler you will see an example of this being done with another class, which you can mimic.

hmmm, something isn't exactly quite right. Getting the following error:
>>> import stim
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/danielbarter/stim_dev/Stim/out/stim.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN11stim_pybind14pybind_tableauERN8pybind117module_E

so the tableau symbols aren't being linked in correctly

hmmm, there is some devilry afoot here. 3cd5a0d to 427fe6e seems like it should be a benign refactor, but python bindings in the later isn't being linked correctly:
>>> import stim
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/danielbarter/stim_dev/Stim/out/stim.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN11stim_pybind14pybind_tableauERN8pybind117module_E

You forgot the stim_pybind:: on the implementation of the implementation of the method, so it's defined in the global namespace instead of mtaching the one declared in the header.


MM-27315 Cypress test for MM-T2834 (1.0) Slash command help stays visible for system slash command

Summary
Cypress test for MM-T2834 (1.0) Slash command help stays visible for system slash command
Test Case: MM-T2834
Additional Notes
This the first test case for MM-27315.  I created the integrations/slash_commands folder and the first spec for this folder.
Ticket Link
https://mattermost.atlassian.net/browse/MM-27315

I accidentally grabbed this ticket not noticing it was also labeled hackfest.  closing

Oh sorry about this Jason and thanks for checking.


Updating broken links in README

Image links in the README had broken. I've moved the links to use Github CDN's which hosts images from an associated blog post.

@mrutkows @csantanapr


Events: side bars

[ ] - Update {{EventRef}} to create 3 different ended event links.
[ ] - updae {{APIRef("Media Capture and Streams")}} to move ended event to media capture version

@estelle , can this one be closed?

considering i don't even remember what this is and was likely created in error (should have been a comment on another ticket), yes.


flat-remix-icon-theme: 20220525 -> 20240201

Description of changes
Update the flat-remix-icon-theme from 220525 to 20240201

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

It would be great if #235050 was merged as well, since it helps build this package faster

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

1 package built:

flat-remix-icon-theme

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

1 package built:

flat-remix-icon-theme


Maybe try fused hit shaders (such that there is only one shade driver, instead of one for each material)? This will limit optimization but allows more complex integrators (see constraints).

Dropped for a smarter approach with dynamic specialization and anonymization.


Fix deadlock in MultiprocessIterator

Fixes #2909

Hmm, what causes IOError...?
Traceback (most recent call last):
  File "C:\Miniconda\lib\multiprocessing\queues.py", line 264, in _feed
    send(obj)
IOError: [Errno 232] The pipe is being closed
.....................................................Traceback (most recent call last):
  File "C:\Miniconda\lib\multiprocessing\queues.py", line 264, in _feed
    send(obj)
IOError: [Errno 232] The pipe is being closed

Hmm... do you have any idea why this causes IOError: [Errno 232] The pipe is being closed (Only in Python 2.x)?

See #3076


Incorrect implementation of "Outcome is equals to Approve"

I'm a member of CSS in Japan.
I am posting this because our customer pointed a video of this Page out to me.
The Condition shown at 4:10 of the video is as follows.
「Outcome is equals to Approve」
It was pointed out that this implementation might be wrong because the output of Outcome is "Approve, Approve" in the case of "everyone must approve".
We believe that the correct answer is as follows, as stated in the Community article.
「Outcome does not contain Reject」
https://powerusers.microsoft.com/t5/Building-Flows/New-approvals-don-t-have-response-option/m-p/292443
We would appreciate it if you could confirm this.

ドキュメントの詳細
⚠ このセクションを編集しないでください。 docs.microsoft.com で必須です ➟ GitHub の問題のリンク。

ID: 78d8ec21-2a2d-e06d-9379-b30b3595cfe7
Version Independent ID: 978afb49-2fa2-9e95-76e4-446e689f19a0
Content: 全員が承認する必要のある承認フローを作成する (ビデオを含む) - Power Automate
Content Source: articles/all-assigned-must-approve.md
Service: power-automate
Sub-service: cloud-flow
GitHub Login: @MSFTMan
Microsoft Alias: deonhe

@Hiroyuki-Hayashi Thanks for reporting this issue. This issue is being tracked here: https://github.com/MicrosoftDocs/power-automate-docs/issues/662.

This is in no way related to #662.
It should be re-opened and properly investigated.


Special Complexity Handling for Left-Recursion Patterns?

Hello, I have implemented the work here in C++ (https://github.com/schrodingerzhu/pika_cxx) but I found a special cases in the complexity analysis?
Consider
A <- (A ~ 'a') / 'a'

Of course, this should better be written in A <- 'a'+, but the form should be okay for pika parser.
However, consider parsing aaaaaaaa from the rightmost position,
at the k-th step:
parsed 'a' -> add A to queue -> parsed A with 'a' -> add A to queue -> parsed A with 'aa' -> add A to queue ...

This will repeat for k times, so overall we should obtain a
1 + 2 + 3 + ... + length

steps and this should be quadratic?

The problem should be:

A is seeding itself (indirectly)
It is possible that A's length will grow per trial.

I think forbidding left-recursion in complexity analysis will then remove the possibility of condition 1 and linearity can therefore be obtained.

Hi, that's amazing that you reimplemented this!
And you're absolutely right about the O(n^2) behavior of a default implementation. For a rule that matches a sequence of one or more letters, the input string abcd will produce the matches d, cd, bcd, and abcd, with storage of these taking O(n^2) space.
I address this in the paper, I think in the optimizations section. The solution is to store these matches as a linked list of suffixes. In this case, the matches will be d, c->d, b->c->d, and a->b->c->d -- however the shared suffixes can be combined into a single list -- the four suffix lists are shown below:
   a->b->c->d
0: ^---------
1:    ^------
2:       ^---
3:          ^

With this change, both storage and time are O(n) in sequence length.
You can see the code for this here:
https://github.com/lukehutch/pikaparser/blob/master/src/main/java/pikaparser/clause/nonterminal/OneOrMore.java#L66
Does that make sense?

Ah, I see what you're saying -- you're claiming the left recursive grammar you gave suffers from the same O(n^2) behavior as the naive implementation of the OneOrMore operator. I'll have to think about this some more later, but I don't think this is the case? A left-recursive tree only ever has one right child.

Thanks for your rapid reply.
Here is my current idea:
For OneOrMore, or Plus<Sub> in my reimplementation, I think the parser is actually doing:

subclaused matched
push seed parent OneOrMore(Sub) to queue
In OneOrMore(Sub) matching:

find matched subclause until the end or meet the next OneOrMore(Sub) and reuse it

basically, meet the next OneOrMore and reuse it gives us something like a->b->c->d and stops the parser properly.
But for indirect left-recursion,
'a' -> A -> (A ~ 'a') -> A -> (A ~ 'a') -> A -> ...

It seems hard to find a stop criterion unless we touches the end. Given this, I think maybe it is still possible to find a solution?

A left-recursive tree only ever has one right child.

This is true but it may still be repeatedly pushed to the queue during the parsing process.

This is true but it may still be repeatedly pushed to the queue during the parsing process.

Ah, I think I see what you mean -- this is handled here:
https://github.com/lukehutch/pikaparser/blob/master/src/main/java/pikaparser/memotable/MemoTable.java#L119
The isBetterThan method checks if the new match is longer than the old match -- so a left-recursive tree (whether direct or indirect) can only get bigger if it consumes at least one additional character, and this means that the matching has to get monotonically longer with each extension upwards of the left-recursive tree. (I'm ignoring the case of First for simplicity, which you can see in the code for isBetterThat -- but another way to trigger a higher-level match is to match an earlier subclause of a First parent clause.)

The isBetterThan method checks if the new match is longer than the old match -- so a left-recursive tree (whether direct or indirect) can only get bigger if it consumes at least one additional character, and this means that the matching has to get monotonically longer with each extension upwards of the left-recursive tree. (I'm ignoring the case of First for simplicity, which you can see in the code for isBetterThan -- but another way to trigger a higher-level match is to match an earlier subclause of a First parent clause, since these match subclauses left-to-right until one matches.)

'a' -> A -> (A ~ 'a') -> A -> (A ~ 'a') -> A -> ...

So I ran an experiment with your implementation:
@Test
    public void left_recursion_investigation() throws IOException, URISyntaxException {
        final var grammarSpec =
                "A[1] <- 'a';      \n" + "A[0] <- A 'a'; ";

        final Function<String, MemoTable> parseGrammarAndParseInput = (String input) -> {
            final var grammar = MetaGrammar.parse(grammarSpec);
            return grammar.parse(input);
        };
        for (int i = 100; i < 2000; i += 100) {
            final var toBeParsed = TestUtils.repeatPatterns('a', i);
            executeInTimedLoop(parseGrammarAndParseInput, toBeParsed, "left_recursion " + i);
        }
    }
/// In Test Utils

    static String repeatPatterns(char target, int times) {
        return String.valueOf(target).repeat(Math.max(0, times));
    }

And the results seems quadratic to me:
===================== RESULTS FOR left_recursion 100=====================
DoubleSummaryStatistics{count=100, sum=0.279014, min=0.001382, average=0.002790, max=0.030774}

===================== RESULTS FOR left_recursion 200=====================
DoubleSummaryStatistics{count=100, sum=0.477485, min=0.003982, average=0.004775, max=0.010666}

===================== RESULTS FOR left_recursion 300=====================
DoubleSummaryStatistics{count=100, sum=0.877443, min=0.008174, average=0.008774, max=0.013498}

===================== RESULTS FOR left_recursion 400=====================
DoubleSummaryStatistics{count=100, sum=1.571691, min=0.014392, average=0.015717, max=0.020301}

===================== RESULTS FOR left_recursion 500=====================
DoubleSummaryStatistics{count=100, sum=2.509857, min=0.023694, average=0.025099, max=0.032841}

===================== RESULTS FOR left_recursion 600=====================
DoubleSummaryStatistics{count=100, sum=3.637247, min=0.034502, average=0.036372, max=0.060869}

===================== RESULTS FOR left_recursion 700=====================
DoubleSummaryStatistics{count=100, sum=4.963544, min=0.044877, average=0.049635, max=0.060995}

===================== RESULTS FOR left_recursion 800=====================
DoubleSummaryStatistics{count=100, sum=6.773566, min=0.064231, average=0.067736, max=0.083306}

===================== RESULTS FOR left_recursion 900=====================
DoubleSummaryStatistics{count=100, sum=8.401704, min=0.074128, average=0.084017, max=0.094510}

===================== RESULTS FOR left_recursion 1000=====================
DoubleSummaryStatistics{count=100, sum=9.942691, min=0.093746, average=0.099427, max=0.139812}

===================== RESULTS FOR left_recursion 1100=====================
DoubleSummaryStatistics{count=100, sum=12.104040, min=0.107561, average=0.121040, max=0.149044}

===================== RESULTS FOR left_recursion 1200=====================
DoubleSummaryStatistics{count=100, sum=14.928875, min=0.135344, average=0.149289, max=0.183875}

===================== RESULTS FOR left_recursion 1300=====================
DoubleSummaryStatistics{count=100, sum=17.265035, min=0.164140, average=0.172650, max=0.192745}

===================== RESULTS FOR left_recursion 1400=====================
DoubleSummaryStatistics{count=100, sum=22.498928, min=0.186118, average=0.224989, max=0.420250}

===================== RESULTS FOR left_recursion 1500=====================
DoubleSummaryStatistics{count=100, sum=23.645746, min=0.219509, average=0.236457, max=0.361282}

===================== RESULTS FOR left_recursion 1600=====================
DoubleSummaryStatistics{count=100, sum=26.328569, min=0.242884, average=0.263286, max=0.323445}

===================== RESULTS FOR left_recursion 1700=====================
DoubleSummaryStatistics{count=100, sum=29.392791, min=0.276287, average=0.293928, max=0.343185}

===================== RESULTS FOR left_recursion 1800=====================
DoubleSummaryStatistics{count=100, sum=33.331704, min=0.309980, average=0.333317, max=0.391991}

===================== RESULTS FOR left_recursion 1900=====================
DoubleSummaryStatistics{count=100, sum=36.619543, min=0.349443, average=0.366195, max=0.411813}

Process finished with exit code 0

A plot will follow

@SchrodingerZhu I'm so sorry for the very delayed response. I was busy last October, then I forgot to come back to this.
Thanks for the detailed statistics and analysis. This does show that you are correct.
I think this is going to be unavoidable as a result of bottom-up, right-to-left parsing with this grammar, since the beginning of the OneOrMore run cannot be known a priori.
The following grammar should exhibit linear performance, since the rule is right-associative:
A <- ('a' ~ A) / 'a'

The reason this degrades to O(N^2) in the left-associative (left-recursive) case is that the beginning (innermost match) of the tree of left-associative (left-recursive) matches cannot be known a priori when matching right to left. But all matches have to be memoized along the way -- so this is wasted work.
I actually don't see a way to fix this, and I don't think it's fixable for this algorithm. This does undermine the strongest claim of this algorithm -- that it is linear in the length of the input, albeit with a large constant overhead of wasted work. (Now the overhead is itself linear in the length of the input, making the overall performance O(N^2) in the length of the input.)
I really appreciate you pointing this out! This makes me think I should not publish this paper...
Actually the reason I remembered to come back to this bug report though was because this evening I had an idea about an extremely simple modification of standard left-to-right, top-down packrat parsing to enable it to support left recursion. I am planning to implement this to test it. I can let you know whether it works, if you are interested.


Hangs with "Loading youtube attempt 1 of 10"

Hello, I got message from title in the extension view.
Also I get repeatedly this error in background console
GET https://i1.ytimg.com/vi/J1Ol6M0d9sg/hqdefault.jpg 404 (Not Found) html5player.js:1618
3Untrusted origin: chrome-extension://boadgeojelhgndaghljhdicfkmllpafd www-embed-player.js:331
GET https://i1.ytimg.com/vi/J1Ol6M0d9sg/hqdefault.jpg 404 (Not Found)
My env configuration:
Streamus 0.169
Chromium Version 37.0.2062.120 Ubuntu 12.04 (281580) (64-bit)
Google Cast extension is installed. I tried to uninstall it and than run streamus but it still is not working.
Thanks

Hey,
Does updating your Google Chrome version fix anything for you? You're
~3 versions out of date currently.
Sean
On 2/24/15, Alexander Mishurov<EMAIL_ADDRESS>wrote:

Hello, I got message from title in the extension view.
Also I get repeatedly this error in background console
GET https://i1.ytimg.com/vi/J1Ol6M0d9sg/hqdefault.jpg 404 (Not Found)
html5player.js:1618
3Untrusted origin: chrome-extension://boadgeojelhgndaghljhdicfkmllpafd
www-embed-player.js:331
GET https://i1.ytimg.com/vi/J1Ol6M0d9sg/hqdefault.jpg 404 (Not Found)
My env configuration:
Streamus 0.169
Chromium Version 37.0.2062.120 Ubuntu 12.04 (281580) (64-bit)
Google Cast extension is installed. I tried to uninstall it and than run
streamus but it still is not working.
Thanks

Reply to this email directly or view it on GitHub:
https://github.com/MeoMix/StreamusChromeExtension/issues/451

Unfortunately, Precise (12.04) dist don't suggests versions of chromium newer than 37. I'll try to find new binary and tell about results. Please don't close this ticket yet.

Sure. I won't close it. Also, does normal YouTube work for you?
On 2/24/15, Alexander Mishurov<EMAIL_ADDRESS>wrote:

Unfortunately, Precise (12.04) dist don't suggests versions of chromium
newer than 37. I'll try to find new binary and tell about results. Please
don't close this ticket yet.

Reply to this email directly or view it on GitHub:
https://github.com/MeoMix/StreamusChromeExtension/issues/451#issuecomment-75824264

YouTube works as expected

After clear install chromium 37  problem disappeared. I really don't understand the  reason but now all works fine. Thank you

Glad to hear it! :)
On 2/25/15, Alexander Mishurov<EMAIL_ADDRESS>wrote:

After clear install chromium 37  problem disappeared. I really don't
understand the  reason but now all works fine. Thank you

Reply to this email directly or view it on GitHub:
https://github.com/MeoMix/StreamusChromeExtension/issues/451#issuecomment-75941352


If applied this commit implements a flexible social login mechanism with already active GitHub login

Better version of #211

Code Flow:

2 flexible routes to handle all social login services.
An array in config/social.php file that lists the services to be allowed to pass through the middleware.
A middleware app/Http/Middleware/Social.php that checks is the incoming social login allowed in the above array or not.
A migration CreateUserSocialsTable to create the new table that will consist of all the social login data.
Covers all duplicate logins & signup scenarios.

Steps to get this working:

Run composer update since Laravel Socialite is added.
Run php artisan migrate to migrate the new required social login table.
Update the .env file with GitHub credentials.

To add & remove a new social login:

Update the array in config/social.php file to allow the respective social login to pass the middleware.
Remove the name from the array in config/social.php file so the middleware will not allow it go through.

UI

PS: Ordered imported namespaces alphabetically as @mattstauffer taught me & CSS properties are also alphabetized as learned from @imjohnbon :relaxed:

@imjohnbon fixed everything else, but running gulp seems to make the img url go back to the old one. Did some research and this seems to be a known issue. Why these automation tools are so confusing :cry: Let me know should I push the remaining changes or the next step to make. Will research and try to solve this myself till then.

@introwit Thanks for the update! You can feel free to push the remaining changes that you had worked on. If the image issue is still happening in Gulp, I can take a look at it later today :).

@imjohnbon done :)

@introwit Thanks! I was able to make the update to load the background image locally. Not sure what was going wrong before, is it possible you were accidentally editing the compiled app.css instead of the app.scss? That's the only thing I can really think of. Anyway, this is looking good to me. I'm going to pass it along for final review. 😄

@imjohnbon I was editing app.scss only but after running gulp it was going back to the previous url. I know it sounds weird but that was the thing happening 😅 Thank you for approving the changes, learned new things because of this PR ❤


[spaceship] Version bump

Update spaceship to work with the new iTunes Connect screenshot API

Same as https://github.com/fastlane/fastlane/pull/5646#issuecomment-238440081


Having to open .exe multiple times for it to work

So when i open the .exe file, it just closes but then after like 4 tries it works again
I also sometimes get this error:
Ignoring exception in on_message Traceback (most recent call last):   File "discord\client.py", line 396, in _run_event   File "C:\Users\JBinding.c82\AppData\Local\Temp\_MEI91082\cogs\stream.py", line 79, in on_message     await self.bot.select(message, 0, 0, game)                                          ^^^^ NameError: name 'game' is not defined

should be fixed


rustPlatform: Allow impure cache.

I hope this isn't too controversial. Right now if you make any change to your rust source (including any non-source files) a subsequent Nix build will recompile all of your dependencies and do a full compile of your crate. This change allows using a directory of your choice to cache cargo's artifacts. This allows incremental rebuilds.
The intent of this is that it can be used in CI, and possibly local development to reduce full rebuilds. This is especially useful if you depend on a large number of crates.
This is not intended to be used for production releases and other cases where complete correctness is required.
Concerns:

I think executables that have been removed from the source will be grabbed by the installPhase so might not be removed from the package output.

Motivation for this change
Reduce development and CI time while being able to use the same Nix build process for CI and deployment.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Why do this rather than using buildRustCrate or one of the other rust/nix builders?

https://github.com/edolstra/import-cargo
https://github.com/kolloch/crate2nix
https://github.com/nmattia/naersk
https://github.com/tenx-tech/cargo2nix
Probably one or two others that I've forgotten.

I didn't know about https://github.com/edolstra/import-cargo and all the rest require generating files instead just just using the regular cargo setup for development.  I guess I'll have to check out the status of flakes to see if that one will work well.
However IIUC even in that case it won't cache the incremental build of the crate itself. However as long as I don't need to rebuild dependencies it will be fast enough for my CI.

I also tested edolstra's and it doesn't appear to avoid recompiling dependencies (or I set it up wrong).

... all the rest require generating files instead just just using the regular cargo setup for development.

Sorry but I still don't understand why you would want to use buildRustPackageif you want a "regular cargo setup"?

* I think executables that have been removed from the source will be grabbed by the installPhase so might not be removed from the package output.

cargo clean -p SPEC could be used to (only) clean the main package, which would avoid surch left-overs.

I hope this isn't too controversial. Right now if you make any change to your rust source (including any non-source files)

I don't know. This feels like an invitation for people to disable sandboxing, which will lead to more breakage of Nix' model [1] and potentially more incorrect PR submissions. As @zowoq mentions, there are proper solutions to this. E.g. buildRustCrate+crate2nix build every transitive (crate) dependency as a Nix derivation, giving you fully incremental builds. As a bonus, built outputs are shared between projects. We have been using crate2nix with a binary cache in CI over year and it works great.
I would prefer to see crate2nix added to nixpkgs (ping @kolloch, any objections?) and steering people in that direction.
[1] Which buildRustPackage already is, since it doesn't use proper fixed-output derivations.

The author should look at naersk https://github.com/nmattia/naersk as that
does a two stage compilation. One for the dependencies and another for your
crate.
On Sat, Sep 26, 2020, 08:20 Daniël de Kok<EMAIL_ADDRESS>wrote:

I think executables that have been removed from the source will be grabbed by the installPhase so might not be removed from the package output.

cargo clean -p SPEC could be used to (only) clean the main package, which
would avoid surch left-overs.
I hope this isn't too controversial. Right now if you make any change to
your rust source (including any non-source files)
I don't know. This feels like an invitation for people to disable
sandboxing, which will lead to more breakage of Nix' model [1] and
potentially more incorrect PR submissions. As @zowoq
https://github.com/zowoq mentions, there are proper solutions to this.
E.g. buildRustCrate+crate2nix build every transitive (crate) dependency
as a Nix derivation, giving you fully incremental builds. As a bonus, built
outputs are shared between projects. We have been using crate2nix with a
binary cache in CI over year and it works great.
I would prefer to see crate2nix added to nixpkgs (ping @kolloch
https://github.com/kolloch, any objections?) and steering people in
that direction.
[1] Which buildRustPackage already is, since it doesn't use proper
fixed-output derivations.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/98813#issuecomment-699437248, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE365HXBYZOMRMI5OSB6LTSHWB23ANCNFSM4R2QOSEQ
.

The author should look at naersk https://github.com/nmattia/naersk as that does a two stage compilation. One for the dependencies and another for your crate.

naerks is nice too, but the caveat is that all the dependencies are recompiled when Cargo.lock is modified. My experience is that even with modest projects using the async ecosystem (lots of dependencies), this generally leads to ~8 minute rebuilds on GitHub actions. For an early-stage project with quickly-changing dependencies I quickly burned through my GH Actions minutes  in a few days ;).
So I guess it depends a bit on your CI capacity and how often you expect to make changes that affect Cargo.lock.
(Yes, I should get an enterprise plan or use my GH Actions runner ;).)

I think I'll finally work on a comparison blog post for all those
approaches that I used in the past. There are always a few trade offs to
make.
On Sat, Sep 26, 2020, 11:08 Daniël de Kok<EMAIL_ADDRESS>wrote:

The author should look at naersk https://github.com/nmattia/naersk as
that does a two stage compilation. One for the dependencies and another for
your crate.
naerks is nice too, but the caveat is that all the dependencies are
recompiled when Cargo.lock is modified. My experience is that even with
modest projects using the async ecosystem (lots of dependencies), this
generally leads to ~8 minute rebuilds on GitHub actions. For an early-stage
project with quickly-changing dependencies I quickly burned through my GH
Actions minutes in a few days ;).
So I guess it depends a bit on your CI capacity and how often you expect
to make changes that affect Cargo.lock.
(Yes, I should get an enterprise plan or use my GH Actions runner ;).)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/98813#issuecomment-699465933, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE365A5FKV4ZIBG7LWPCBLSHWVRJANCNFSM4R2QOSEQ
.

I think I'll finally work on a comparison blog post for all those approaches that I used in the past. There are always a few trade offs to make.

That would be really nice!

I think I'll finally work on a comparison blog post for all those approaches that I used in the past. There are always a few trade offs to make.

That would be really nice!

The nixpkgs manual is also quite outdated when it comes to comparisons. E.g., it still suggest Carnix for buildRustCrate. As far as I can see, Carnix is not actively maintained anymore.

and potentially more incorrect PR submissions

Just to be clear I don't think this option should ever be used in nixpkgs.
However there are cases where perfect purity are not worth the cost. This is why every CI system I am aware of except hydra has support for caching. Sure, it would be more correct if you built from source, but the time and resource cost isn't worth it.

Sorry but I still don't understand why you would want to use buildRustPackage if you want a "regular cargo setup?

It makes the project approachable for people who don't use nix.
I can use tools like cargo-edit with no extra steps.
I can still use nix to declare and fetch my dependencies (very helpful for CI and also helps people who want to use nix locally)

My primary use case here is speeding up my CI. I have found nix very helpful in CI however full rebuilds are a source of pain. I have resorted to useing nix-shell --run cargo build but this means that I am bypassing a large part of the buuld I have defined, which looses features and leads to skew.
This PR makes an option that is very similar to a regular build with just the addition of allowing caching.

I have resorted to useing nix-shell --run cargo build but this means that I am bypassing a large part of the buuld I have defined, which looses features and leads to skew.

Why not define the build once and import it into both nix-shell and buildRustPackage?

On Sat, Sep 26, 2020, 08:28 Daniël de Kok<EMAIL_ADDRESS>wrote:

@danieldk commented on this pull request.
In pkgs/build-support/rust/default.nix
https://github.com/NixOS/nixpkgs/pull/98813#discussion_r495452026:

releaseDirPrefix = if impureCacheDir == null

then "target"
else

 assert

   stdenv.lib.assertMsg (stdenv.lib.hasPrefix "/" impureCacheDir)

   "impureCacheDir must be an absolute path.";

 impureCacheDir;

Maybe impureCacheDir could just be renamed cacheDir with the default set
to "target"? Then this absolute path check is not necessary.

That could be done.

...because then the derivation does not encourage impure use

I'm not sure. This just sounds like hiding the true purpose because I can't
think another reason to set the cache directory.
One possible alternative would be allow passing in the cache directory
manually and provide the resulting cache directory as a separate output.
This is weirder to use and technically pure. However I decided against this
solution as it didn't seem to add any real value other than working without
sandboxing.

I'm closing this for now because naersk was good enough for me. However I think the approach is still viable when impute benefits such as caching are desired.


Support for LBaaS

As of now, openshift-on-openstack just support OS::Neutron::LoadBalancer (LBaaS v1)
LBaaS v1 API was deprecated in Red Hat OpenStack Platform 9 and removed in version 10.
It would be nice to support OS::Neutron::LBaaS v2 API
Maybe we could need a bit of tuning in the environment https://bugzilla.redhat.com/show_bug.cgi?id=1410013
An old ticket about supporting LBaaS https://github.com/redhat-openstack/openshift-on-openstack/issues/229

We've forked and tuned openshift-on-openstack, and put LBaaS v2 into use.
Not sure about the roadmap of this project, but perhaps pull-request could be arranged.

@bartpved Nice, that would be awesome.

@bartpved if you can share a stub of the code we can work it out together. @drgogeta86

great, I'll have to first get a green light from code owners, will come back soonish

@bartpved can you tell at least if it's trivial or requires many changes of other templates? In the first case we'll  start to write our own ;)

The setup of LBaaS listener & co seems easy  here
https://gist.github.com/ioggstream/4e85cb9e45d7f884f332d8ed51a2add6
I don't know how to integrate

OS::Nova::ServerGroup and OS::Neutron::LBaaS::Pool / PoolMember

limiting the changes on openshift.yaml

Sorry for low traffic :-) I am now working on a merge from our branch (forked on October) with upstream master. Once I got that in good shape, I'll submit a pull request, which may be a unpolished if you guys want to see something fast.


/current_weather does not accept source_id

https://api.brightsky.dev/current_weather?source_id=11695 returns code 400.
Either change the endpoint or change the docs

Is there any progress yet in correcting this error?

Not yet, but we are entering another funding (read: active development) period the day after tomorrow and I plan to tackle some low-hanging fruit like this issue first, so expect an update within the next two weeks!

Fix will probably land in our public instance later this week. :)
Note that only sources with observation_type: 'synop' will yield any data for the current_weather endpoint.


Added ST7789 Support to Pillow Demos

Note, this was originally tested on the 2.0" ST7789 which is 320x240. I just tested on 240x240 and the width may need to be specified for that since the image isn't centering, so I may need to do another push.


OpenLDAP Read Only LDIF ConfigMap Fix

What this PR does / why we need it:
When using the openldap container's customLdifFiles property the container attempts to make changes to the linked ConfigMap. This now fails due to these resources being linked as Read Only (https://github.com/coreos/bugs/issues/2384).
In this PR I added an initial container to copy resources to an EmptyDir volume to unblock the read write needs of the container.
Special notes for your reviewer:
I've followed the pattern here: https://github.com/BestMile/charts/commit/c12f29d66a029750056131bac529ebd01f836c78 but this may not be the "right solution". This is my first helm contribution so love to hear if I'm holding it wrong

/ok-to-test
/assign

/lgtm


add append method

addresses #8

sorry, i found this fork deep in my repositories tab with some changes I made months ago and thought the feature was working so I'd put in a PR.. now I'm not sure where I left it..
I'll close since I don't plan to fix it.


Don't overpromise in zig --help, zig targets, etc

Just add the things that are currently supported and expand it as support is added.

Huh, interesting. I thought this was working better than it is. Good call.
Was there a particular target that you tried and it didn't work?

freestanding

what do you think should be the sizes of these types in freestanding?
c_short         short               for ABI compatibility with C
c_ushort        unsigned short      for ABI compatibility with C
c_int           int                 for ABI compatibility with C
c_uint          unsigned int        for ABI compatibility with C
c_long          long                for ABI compatibility with C
c_ulong         unsigned long       for ABI compatibility with C
c_longlong      long long           for ABI compatibility with C
c_ulonglong     unsigned long long  for ABI compatibility with C
c_long_double   long double         for ABI compatibility with C

That should be derived from the target architecture, not the target OS

freestanding is now working as expected.
All these targets are in fact supported, at least at one layer:

Layer 1 support - can generate machine code for the target. This is true of all of the items in the list of zig targets.
Layer 2 support - we have standard library support for the target in the OS-specific parts. This is true of x86_64/i386 Linux,MacOS.


Add outgoing payment endpoints

https://docs.openpayments.guide/reference/create-outgoing-payment
https://docs.openpayments.guide/reference/get-outgoing-payment
https://docs.openpayments.guide/reference/update-outgoing-payment
https://docs.openpayments.guide/reference/update-outgoing-payment

@sabinebertram
I'm thinking we should have a shared util tryParseAmount for amount objects in incoming and outgoing payment request bodies.


remove unused "closeQuietly" static method for Orchestration datasource.

remove unused "closeQuietly" static method for Orchestration datasource.
add some junit-test for sharding-proxy.

Codecov Report

Merging #836 into dev will increase coverage by 0.53%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev     #836      +/-   ##
==========================================
+ Coverage   63.19%   63.73%   +0.53%
==========================================
  Files         498      498
  Lines        9790     9785       -5
  Branches     1610     1608       -2
==========================================
+ Hits         6187     6236      +49
+ Misses       3253     3198      -55
- Partials      350      351       +1

Impacted Files
Coverage Δ

...api/OrchestrationMasterSlaveDataSourceFactory.java
23.07% <ø> (-8.18%)
:arrow_down:

...on/api/OrchestrationShardingDataSourceFactory.java
23.07% <ø> (-8.18%)
:arrow_down:

...tration/reg/zookeeper/ZookeeperRegistryCenter.java
44.85% <100%> (+0.52%)
:arrow_up:

...oxy/transport/mysql/packet/MySQLPacketPayload.java
1.12% <0%> (+1.12%)
:arrow_up:

.../internal/config/ConfigurationListenerManager.java
75% <0%> (+3.57%)
:arrow_up:

...al/state/datasource/DataSourceListenerManager.java
54.54% <0%> (+4.54%)
:arrow_up:

...here/proxy/transport/common/codec/PacketCodec.java
8.33% <0%> (+8.33%)
:arrow_up:

.../mysql/packet/command/text/quit/ComQuitPacket.java
66.66% <0%> (+66.66%)
:arrow_up:

.../proxy/transport/mysql/codec/MySQLPacketCodec.java
70.58% <0%> (+70.58%)
:arrow_up:

...nsport/mysql/packet/command/CommandPacketType.java
89.18% <0%> (+89.18%)
:arrow_up:

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 0ed6e36...bd1a28c. Read the comment docs.


SSB: add dialougue to link to players guide

When one is actually made, link me to it so i can update the PR> yes I know that there is a url where the actual link instead of where the future players guide will be

Why not add a README.md in the mods/sgssb/ folder? the README can contain the info.

Good idea

#187 merge that for guide

Test
Sent from my iPad

On Apr 5, 2017, at 10:49 AM, HoeenHero<EMAIL_ADDRESS>wrote:
Why not add a README.md in the mods/sgssb/ folder? the README can contain the info.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

added 2 readmes for rssb and ssbffa]

I'm abandoning this ship for now @AshleyPikachu can you make a guide for all 3 ssb games for sg?


false conditionals should not fail build

/build

tested with builder:
https://ci-ops.aporeto.io/teams/main/pipelines/builder-tools-artifacts/jobs/tg-build/builds/1


Update to the latest nightly

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ 08313a3
Thanks!

:hourglass: Testing commit 08313a3 with merge 07cd618...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-32, cargo-win-64


Pod failing to initialize due to no prior node

I have made a 3-node mysql cluster to have a play around with mysql-operator
When draining the node containing mysql-0, it seems to be unable to restore from a sibling/master in the cluster after the pod has been rescheduled on another node.
When inspecting, the sidecar errors with this message
https://github.com/presslabs/mysql-operator/blob/c26526ee7be6e22d0f2825e7ce33ae71781b87e3/pkg/sidecar/appclone/appclone.go#L73
Since i am using emptyDir, the clone-mysql sidecar should download from the current master, or a sibling, but due to the serverId being 100, it goes straight to the error-message above.
https://github.com/presslabs/mysql-operator/blob/c26526ee7be6e22d0f2825e7ce33ae71781b87e3/pkg/sidecar/appclone/appclone.go#L65

It seems some kind of recovery option for pod 0 is needed.
I would suggest something along the lines of this
if util.GetServerID() > 100 {
	sourceHost := util.GetHostFor(util.GetServerID() - 1)
	err := cloneFromSource(sourceHost)
	if err != nil {
		return fmt.Errorf("failed to clone from %s, err: %s", sourceHost, err)
	}
+} else if util.GetServerID() == 100 {
+	sourceHost := util.GetMasterHost()
+	err := cloneFromSource(sourceHost)
+	if err != nil {
+		return fmt.Errorf("failed to clone from %s, err: %s", sourceHost, err)
+	}
} else {
	return fmt.Errorf(
		"failed to initialize because no of no prior node exists, check orchestrator maybe",
	)
}

I dont think this will result in the pod trying to connect to itself for recovery, due to this check above
https://github.com/presslabs/mysql-operator/blob/c26526ee7be6e22d0f2825e7ce33ae71781b87e3/pkg/sidecar/appclone/appclone.go#L52

Easiest way to reproduce this behaviour is to create a new cluster with volumeSpec.emptyDir: {} and a few replicas, and delete the  my-cluster-mysql-0 pod.

Nice catch, @pedep ! Indeed this is a bug, I didn't test too much with emptyDir.
I think your patch should fix this issue.
I will be happy to review and merge a PR with the fix.

@AMecea Thanks :smile:
I will try my hand at a PR in a moment


Added a Heroku button

Added a Heroku button to deploy this example to Heroku in one click. Also added sbt-native-packager, which is needed by Heroku to stage the app, and a Procfile to define how it runs. The app.json file describes the project.

That's a very nice contribution, thanks! I wasn't aware of 'Deploy to Heroku' button :)


Realtime servers using Low Level Kafka Consumers

Motivations:

We can improve scalability for tables that have a high ingestion rate.
We avoid storing multiple segments containing more or less the same data
Ease capacity expansion

One thing from ops side, we need to handle upstream kafka topic expansion automatically.

Design outline:
We will be adding a new helix state, CONSUMING. For realtime segments, the controller will place them in CONSUMING state first. This state indicates that the segment is not completed on the server side.
With multiple replicas in CONSUMING state (set to consume either by time or number of records), the controller co-ordinates amongst the consumers so that one of them commits the segment (by uploading it), and the others either keep what they have (if they are at the same offset), or catch up to the correct offset, or discard and download the segment from the controller.
The replica instances for each segment is stored in PROPERTYSTORE as a map, when the table is provisioned, and updated when the cluster is expanded (the update requires no downtime).
When a segment is committed, the controller marks the segment state in IDEALSTATE as ONLINE and starts another segment in the CONSUMING state.
The protocol has been validated by prototype as in the branch https://github.com/linkedin/pinot/tree/LLConsumerPrototype
The Broker will be modified to introduce a routing table that routes to the new low-level consumer segments (differentiated by segment naming convention).
Transitioning a cluster from high-level consumer to low-level consumer will not require a downtime. Extra hardware may be required during transition phase.

@mcvsubbu, kafka could handle topic partition expansion without downtime, but not partition shrink.
Since I have multiple realtime tables on same host and it maybe hard to do this maintenance.

It should be doable to have this expansion handled on the Pinot side. Depending on whether or not there's a way to be notified whenever that cluster expansion happens, we might be able to do the expansion automatically or it might have to be done manually (ie. through some API). I haven't checked the newer Kafka APIs, though I think they're a lot better with this than the old ones.

Also, since we are using simple consumer, it would be better to open api to reset consumer offset to a particular position. So we can skip some bad data or re-consume some old data.

As we move forward,
I discovered that the table config information for realtime tables has "replication" field. For high-level consumers, this value must match the number of instances. For low-level consumers, this value is independent of the number of instances.
I am considering introducing another config variable called replicasPerPartition.
Only realtime table code will pay attention to this value, when low-level consumers are enabled.
Doesn't look pretty, but I don't see an alternative (other than introducing a new config variable). The old one is already called "replication" ...

How about changing existing code to always use number of instances or  use
a new variable numConsumerGroups and falls back to replication if it does
not exist.
On Thu, Jul 14, 2016 at 5:10 AM, Subbu Subramaniam<EMAIL_ADDRESS>
wrote:

As we move forward,
I discovered that the table config information for realtime tables has
"replication" field. For high-level consumers, this value must match the
number of instances. For low-level consumers, this value is independent of
the number of instances.
I am considering introducing another config variable called
replicasPerPartition.
Only realtime table code will pay attention to this value, when low-level
consumers are enabled.
Doesn't look pretty, but I don't see an alternative (other than
introducing a new config variable). The old one is already called
"replication" ...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/linkedin/pinot/issues/178#issuecomment-232518092, or mute
the thread
https://github.com/notifications/unsubscribe/AAz7Z7wDkVya5QvMoZ01EQBdulgFDVeCks5qVXdlgaJpZM4IxkOA
.

I like the idea of changing the existing code to use number of instances, but the exception thrown right now, says "Number of instance in current tenant should be an integer multiples of the number of replications", and there is code (@fx19880617) that balances the same kafka consumer group across multiple instances.  Can this even work? I thought Kafka cannot guarantee exactly once delivery when high-level consumers are split across hosts?
Otherwise, numConsumerGroups (essentially same as my proposal of 'replicasPerPartition') works.
@fx19880617, can you comment?

The plan to migrate deployments from high-level consumers to simple consumers is to start servers (either existing or new) with simple consumers consuming and completing realtime segments. We will change the broker to route a percentage of requests to the simple consumer segments, and the rest to the highlevel consumer segments. Over time, we will increase this percentage to 100, and then stop the old high-level consumers.
In order for us to do this, the code in HelixExternalViewBasedRouting needs to be modified to be aware of LLC segments.
Modifying this class with the existing logic (of using routing table builder classes provided via configuration) is proving to result in a very messy piece of code.
We are getting rid of the configurations that allow Pinot deployers to specify their own routing table builders.
@fx19880617  has already confirmed that customized routing is not used in their environment.

@fx19880617 we now support automatic handling of change in number of kafka partitions, change in capacity or number of replicas. See https://github.com/linkedin/pinot/pull/903

@fx19880617 we don't have a feature to set offsets individually on a per partition basis. We can open that as a separate issue.


An endianness abstraction

I think I've come up with a nice abstraction for endianness. The idea is that a dynamic enum should be used insofar as it is viable, whereas NBKBigEndian and NBKLittleEndian can be used when performance matters more than binary size (and as a namespace for appropriate methods). As far I can tell, dynamic endianness sensitive collections are viable (#72).
@frozen public struct NBKBigEndian:    NBKEndianness { }
@frozen public struct NBKLittleEndian: NBKEndianness { }
@frozen public enum   NBKAnyEndian:    NBKEndianness { case bigEndian, littleEndian }

public protocol NBKEndianness {

    @inlinable var endianness: NBKAnyEndian { get }
}

//  here are some examples of nice endianness conveniences
extension NBKEndianness {

    @_transparent public var direction: Int {
        self.matchesSystemEndianness ? 1 : -1
    }

    @_transparent public var matchesSystemEndianness: Bool {
        #if _endian(big)
        return self.endianness == .bigEndian
        #else
        return self.endianness == .littleEndian
        #endif
    }
}

I think I want the enum, but perhaps the protocol is premature. Hm.

Hm. This ended up not being used anywhere, so I'll probably remove it.

Hm. I think I'll remove the rawValue and the ! operator. It's unused, and I don't want to overcommit.

An interesting observation: raw values make enum comparisons (much) faster prior to Swift 5.8.


Settings refactor

This will include the following:

Wind Speed units
Pressure units
Distance units
Precipitation units
Settings refactor


What is the SYNC frequency for DSL jdbc connector?

Thank you for making this project available as open source. This looks very interesting. But could not find much info on how exactly the streaming works with different connectors in the DSL.
For example, what are the best practices to use postgres/clickhouse as the source/destination tables?
I am following the detect the loops sample from the quickstart but want to use Postgres or Clickhouse as the table sources / destinations.
Question: With table source as postgres or clickhouse, how frequently does the geaflow check for new data in the source table?

Does geaflow keep track of last synced row from the source, or does it always scan the full table periodically?
For example, what happens when a row that was already synced earlier by geaflow is changed in the source table (e.g. an old row was updated in the postgres source table) - does geaflow treat it as a new record and sync to the graph again or ignore it as old row?
the quickstart uses bin/gql_submit.sh to run the DSL. What happens if that process gets shutdown and restarted again (with the same DSL file)? Would there be duplicates in the results table or does geaflow  only scan the source for new changed data (and ignores the already seen data from previous run)?

Here is the part of the DSL with JDBC as the source and destination for reference (modified from the quickstart detect loops example to use JDBC):
CREATE TABLE IF NOT EXISTS tbl_source (
  id1 bigint,
  id2 bigint
) WITH (
	type='jdbc',
    geaflow.dsl.jdbc.driver = 'org.postgresql.Driver',
    geaflow.dsl.jdbc.url = 'jdbc:postgresql://<IP_ADDRESS>:5432/postgres',
    geaflow.dsl.jdbc.username = '',
    geaflow.dsl.jdbc.password = '',
    geaflow.dsl.jdbc.table.name = 'source_table'
);

CREATE TABLE IF NOT EXISTS tbl_result (
  a_id bigint,
  b_id bigint,
  c_id bigint,
  d_id bigint,
  a1_id bigint
) WITH (
	type='jdbc',
    geaflow.dsl.jdbc.driver = 'org.postgresql.Driver',
    geaflow.dsl.jdbc.url = 'jdbc:postgresql://<IP_ADDRESS>:5432/postgres',
    geaflow.dsl.jdbc.username = '',
    geaflow.dsl.jdbc.password = '',
    geaflow.dsl.jdbc.table.name = 'sink_table'
);

@KrishnaPG Thank you for your interest in our project. GeaFlow is designed with the concept of stream-batch integration in mind, so in the DSL, we control the reading and writing of data only through the config of geaflow.dsl.window.size
In the engine, each time it scans a batch of windowSize number of data items, and if there isn't that much data available, it might block and wait, depending on the specific implementation of the Connector. Custom Connectors can be designed to return immediately, and the engine will also process the partial data returned as a batch.
Specifically for the JDBC Connector, it is currently an implementation provided by community members, and you can refer to the source code at https://github.com/TuGraph-family/tugraph-analytics/tree/master/geaflow/geaflow-dsl/geaflow-dsl-connector/geaflow-dsl-connector-jdbc/src/main/java/com/antgroup/geaflow/dsl/connector/jdbc
The specific logic is to execute the following SQL statement to scan the tables in the database, "SELECT * FROM %s %s OFFSET %d ROWS FETCH NEXT (%d) ROWS ONLY;" where the offset is the offset of the last row returned from the previous scan.
This implementation may not be able to meet complex requirements, and if there are other incremental needs, you can customize the Connector logic. In any case, the engine will treat the most recent batch of scanned rows as an incremental batch for processing.
Hope this answers your questions.

Thank you @Leomrlin It is helpful. The fetch method is receiving an Optional<Offset> param, so I presume the geaflow core is sending that offset to the JDBC connector during the fetch call. https://github.com/TuGraph-family/tugraph-analytics/blob/27c4421e152df854cd3407ff46fc121b8652d8d0/geaflow/geaflow-dsl/geaflow-dsl-connector/geaflow-dsl-connector-jdbc/src/main/java/com/antgroup/geaflow/dsl/connector/jdbc/JDBCTableSource.java#L144

Does it mean the geaflow core is keeping track of the last read offset for each connector?
What happens when old records (from already synced batches) are modified? e.g. an old record was deleted or updated. From the code the JDBC connector does not seem to process them.

Databases such as postgres allow oplog (change streams) to be observed. To track all modifications from the source table through such change streams, I guess we have to write custom adapter as you have suggested. Thanks for details. It is helpful.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4207

Questions ?
Please refer to the Backport tool documentation


Feature Request: Key Equivalent for Open Article Page

I would like to see a single key equivalent for the "Open Article Page" menu item. My preferred key would be the right arrow key, but any single key would work.

The enter key already does that.

Then, consider the feature request to be placing the key equivalent in the menu option to let user know it exists.


Error on using POVME3

Hi all, When I run POVME3.py sample_input.ini, it says:
"print "WARNING: Use of multiple processors is not supported in Windows. Proceeding with one processor..."
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("WARNING: Use of multiple processors is not supported in Windows. Proceeding with one processor...")?"
Could someone help me with this?

Hi @TianmingQu,
I think the problem is that you need to use Python 2.7 - POVME3 doesn't yet
have python 3 support.
Hope this helps! I'm just heading out on holiday vacation so I may not
respond very quickly to subsequent posts.
On Tue, Dec 14, 2021 at 2:06 PM TianmingQu @.***> wrote:

Hi all, When I run POVME3.py sample_input.ini, it says:
"print "WARNING: Use of multiple processors is not supported in Windows.
Proceeding with one processor..."
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean
print("WARNING: Use of multiple processors is not supported in Windows.
Proceeding with one processor...")?"
Could someone help me with this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/POVME/POVME/issues/43, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD4STV33LUPHZAXLP6PGKVLUQ65U7ANCNFSM5KCCIJZQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi @TianmingQu, I think the problem is that you need to use Python 2.7 - POVME3 doesn't yet have python 3 support. Hope this helps! I'm just heading out on holiday vacation so I may not respond very quickly to subsequent posts.
…
On Tue, Dec 14, 2021 at 2:06 PM TianmingQu @.***> wrote: Hi all, When I run POVME3.py sample_input.ini, it says: "print "WARNING: Use of multiple processors is not supported in Windows. Proceeding with one processor..." ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print("WARNING: Use of multiple processors is not supported in Windows. Proceeding with one processor...")?" Could someone help me with this? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#43>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD4STV33LUPHZAXLP6PGKVLUQ65U7ANCNFSM5KCCIJZQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi, I switch the python version to python2.7, but it still shows the same error information. Looking forward to your further reply, wish you have a nice holiday!

I don't think your environment is set up correctly - python2 shouldn't require parentheses in print statements. Could you reinstall using the installation instructions from the README and let me know if the problem persists?


Feature: Suspense or SWR? Anticipate loading content

Type of feature
🔥 Performance
Current behavior
When loading from the API the screen presents empty space. Ideally, we would provide a loading component but I also think adding something SWR would make sense. We are doing both in app.opensauced.pizza - LINK to that
Open to suggestions too.
Loading

Loaded

Suggested solution

Implement SWR
Bonus, implement global state for storing repositories. This would assist in repainting the screen on refresh despite the data not changing.

Additional context
https://github.com/open-sauced/open-sauced/blob/93654fb65801283385cc423a3e04caced0353db0/src/lib/hooks.js
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[X] I agree to follow this project's Contribution Docs

.take


Improve XLIFF workflow

Refactor XLIFF converter, drop BS4, directly use LXML.
Remove outdated tests, no current tests sadly.
Enable exporting a selection of pages into XLIFF for one specific target language.
Move export to bottom of page list.
Add frame for bulk actions.
Add documentation to xliff helper classes.
Clean up XLIFF helper classes.
Fixes #238, #239, #332, #84, #104

Missing:

Add import confirmation page
Add target translation version to notes section and compare on import. If version of target translation has changed since import, display warning with diff to user. Allow importing if user asks for it.

One general note:
The file src/cms/static/js/page-tree.js is somehow empty, but I couldn't tell whether there is actually code missing or the empty file was just committed unintentionally.

I think I added it in the beginning and totally forgot about it. I intended to move all JS code into this file. But it was much less JS Code than I anticipated.

It is possible to upload xliffs with empty titles, whereas it is not possible to add translations with empty titles via the normal form. But we should probably validate this at the model-level, not in this module, right?

I guess so, yes.

Unicode characters are encoded, e.g. خوش آمدید to خوش آمدید. This leaves the diff unreadable and doesn't work in page titles. But I'm not sure what's causing this and if this should be part of this PR or addressed in another issue.

I guess that is due to the pre tag. I think we need to iterate on the diff preview at some point. But for now this works in my opinion. Most people importing text can't read Arabic anyways.


Feature Request: disable email notifications

Hello.
In the HockeyApp Fastlane action, we had access to a "notify" parameter, with which it was possible to disable automatic email notifications when uploading a new release. See https://docs.fastlane.tools/actions/hockey/
This parameter seems to be missing from the new appcenter_upload action, and emails are being sent to everyone for each release. I can't seem to find a way to have any control over this.
Could it be possible to add this parameter for appcenter_upload as well?
Thanks.

We'll be adding that soon.

I opened a while back #38 to add this feature.

@c0un7-z3r0 thanks for your contribution, but we'll be switching to new distribution api in upcoming update, and silent release option will be part of this changes


[KAFKA-6702]Wrong className in LoggerFactory.getLogger method

https://issues.apache.org/jira/browse/KAFKA-6702
[KAFKA-6702]Wrong className in LoggerFactory.getLogger method

Sorry, there is something wrong in my local git, so i push a new commit and delete the old one.
@hachikuji @omkreddy

LGTM


Adapt reduceSeries to match the documentation

Dispatch match results as individual series lists of length one to the arguments of the called reduction function.
This would resolve #1066 and is related to #1015.

Oops, right, print statements are gone.

Thanks @languitar


[Feature] The default toolbar doesn't have a font size, the official tinymce version does.

Although there is no font and font size in the configuration file, but you can directly add your own, it has the same effect, or hope that the next version of the fontfamily and fontsize and so on the available configurations can at least be increased to 'full' within the


Inactive TRAMP sessions hangs emacs

If I leave a tramp session inactive for some length of time (~ 20 or 30 mins), emacs basically becomes unresponsive. Holding down C-g doesn't help either. I'm not entirely sure if this is unique to doom-emacs, but tramp didn't bring down emacs in my vanilla config. I do not have a private doom config setup, since I only started using doom a couple of days ago.
What did you expect to happen?
...
Emacs stays responsive even if tramp times out
What actually happened?
...
No response from emacs, had to kill the process with kill, since it wouldn't respond to closing the window via GUI either.
Steps to reproduce:

SSH into a remote server via tramp
Leave the buffer open until tramp goes inactive
emacs then becomes unresponsive.

System information:

Package cl is deprecated
((emacs
  (version . "28.0.50")
  (features . "XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS LIBSYSTEMD PDUMPER LCMS2 GMP")
  (build . "Feb 20, 2020")
  (buildopts "--build=x86_64-linux-gnu --prefix=/usr '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' --sysconfdir=/etc --localstatedir=/var --disable-silent-rules '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --sharedstatedir=/var/lib --program-suffix=-snapshot --with-modules=yes --with-x=yes --with-x-toolkit=gtk3 --with-xwidgets=yes 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs-snapshot-W1CepB/emacs-snapshot-99749=. -fstack-protector-strong -Wformat -Werror=format-security' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'")
  (windowsys . batch)
  (daemonp . server-running))
 (doom
  (version . "2.0.9")
  (build . "HEAD -> develop, origin/develop, origin/HEAD e3d7b2662 2020-02-18 00:20:35 -0500")
  (dir . "~/.doom.d/"))
 (system
  (type . gnu/linux)
  (config . "x86_64-pc-linux-gnu")
  (shell . "/bin/bash")
  (uname . "Linux 5.3.0-40-generic #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020 x86_64")
  (path "~/src/anaconda3/bin" "~/src/anaconda3/condabin" "~/.local/bin" "~/bin" "/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/snap/bin" "~/stuff/data/casa/casa-pipeline-release-5.6.1-8.el7/bin" "~/bin" "/usr/lib/x86_64-linux-gnu/emacs/28.0.50/x86_64-linux-gnu"))
 (config
  (envfile . envvar-file)
  (elc-files . 1)
  (modules :completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints (popup +all +defaults) vc-gutter vi-tilde-fringe window-select workspaces :editor (evil +everywhere) file-templates fold multiple-cursors rotate-text snippets :emacs dired electric ibuffer vc :checkers syntax :tools (eval +overlay) (lookup +docsets) magit :lang data emacs-lisp markdown (org +dragndrop +present) sh :config (default +bindings +smartparens))
  (packages . "<(void-function sp-point-in-string)>")
  (elpa "n/a")
  (unpin . "<(void-function sp-point-in-string)>")))

This problem seems to have disappeared for the moment - I modified my config and ran doom sync yesterday, and since then it hasn't been an issue. I'll update here if that changes.

False positive - the problem has resurfaced, where an inactive SSH session completely hangs emacs and has to be killed. Likewise - any assistance on what information would be useful is great.

I'm told that the common cause for this is that the remote host has an unconventional prompt, and setting your prompt to $  when $TERM == "dumb" in your shell config (on the remote machine(s)) should fix it. e.g.
if [[ "$TERM" == "dumb" ]]; then
  unset zle_bracketed_paste
  unset zle
  PS1='$ '
  return
fi

Could you give that a try?

@hlissner Thanks for the suggestion! I'm going to cautiously say it's worked, but I haven't tested it out too much to confirm. The prompt on the remote was the standard CentOS bash prompt, but maybe tramp had some trouble with it.

@hlissner The issue seems to be resolved most of the time with that change, which is a huge improvement! I notice now that when emacs tends to hang, there are a lot of anaconda processes hanging about.
I suspect that anaconda-mode might be the issue preventing me from C-g-ing my way out of a hung TRAMP session. The list of processes is below, if that helps. Happy to help with further debugging.
krishna@compesh:~$ ps ax | grep emacs
  583 pts/14   S+     0:00 /home/krishna/src/anaconda3/bin/python3 /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/jedi-0.16.0-py3.7.egg/jedi/inference/compiled/subprocess/__main__.py /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/parso-0.6.0-py3.7.egg 3.7.6
 1484 pts/14   S+     0:00 /home/krishna/src/anaconda3/bin/python3 /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/jedi-0.16.0-py3.7.egg/jedi/inference/compiled/subprocess/__main__.py /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/parso-0.6.0-py3.7.egg 3.7.6
 2954 pts/14   S+     0:00 /home/krishna/src/anaconda3/bin/python3 /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/jedi-0.16.0-py3.7.egg/jedi/inference/compiled/subprocess/__main__.py /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/parso-0.6.0-py3.7.egg 3.7.6
 3325 pts/14   S+     0:00 /home/krishna/src/anaconda3/bin/python3 /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/jedi-0.16.0-py3.7.egg/jedi/inference/compiled/subprocess/__main__.py /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/parso-0.6.0-py3.7.egg 3.7.6
 3598 pts/14   S+     0:00 /home/krishna/src/anaconda3/bin/python3 /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/jedi-0.16.0-py3.7.egg/jedi/inference/compiled/subprocess/__main__.py /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/parso-0.6.0-py3.7.egg 3.7.6
 3722 ?        Sl     6:06 /usr/bin/emacs-snapshot
10331 ?        Rl     8:48 /usr/bin/emacs-snapshot
16564 pts/7    S+     0:00 grep --color=auto emacs
31717 pts/14   Ssl+   0:05 /home/krishna/src/anaconda3/bin/python3 -c  from __future__ import print_function  # CLI arguments.  import sys  assert len(sys.argv) > 3, 'CLI arguments: %s' % sys.argv  server_directory = sys.argv[-3] server_address = sys.argv[-2] virtual_environment = sys.argv[-1]  # Ensure directory.  import os  server_directory = os.path.expanduser(server_directory) virtual_environment = os.path.expanduser(virtual_environment)  if not os.path.exists(server_directory):     os.makedirs(server_directory)  # Installation check.  jedi_dep = ('jedi', '0.13.0') service_factory_dep = ('service_factory', '0.1.5')  missing_dependencies = []  def instrument_installation():     for package in (jedi_dep, service_factory_dep):         package_is_installed = False         for path in os.listdir(server_directory):             path = os.path.join(server_directory, path)             if path.endswith('.egg') and os.path.isdir(path):                 if path not in sys.path:                     sys.path.insert(0, path)                 if package[0] in path:                     package_is_installed = True         if not package_is_installed:             missing_dependencies.append('>='.join(package))  instrument_installation()  # Installation.  def install_deps():     import site     import setuptools.command.easy_install     site.addsitedir(server_directory)     cmd = ['--install-dir', server_directory,            '--site-dirs', server_directory,            '--always-copy','--always-unzip']     cmd.extend(missing_dependencies)     setuptools.command.easy_install.main(cmd)     instrument_installation()  if missing_dependencies:     install_deps()  del missing_dependencies[:]  try:     import jedi except ImportError:     missing_dependencies.append('>='.join(jedi_dep))  try:     import service_factory except ImportError:     missing_dependencies.append('>='.join(service_factory_dep))  # Try one more time in case if anaconda installation gets broken somehow if missing_dependencies:     install_deps()     import jedi     import service_factory  # Setup server.  assert jedi.__version__ >= jedi_dep[1], 'Jedi version should be >= %s, current version: %s' % (jedi_dep[1], jedi.__version__,)  if virtual_environment:     virtual_environment = jedi.create_environment(virtual_environment, safe=False) else:     virtual_environment = None  # Define JSON-RPC application.  import functools import threading  def script_method(f):     @functools.wraps(f)     def wrapper(source, line, column, path):         timer = threading.Timer(30.0, sys.exit)         timer.start()         result = f(jedi.Script(source, line, column, path, environment=virtual_environment))         timer.cancel()         return result     return wrapper  def process_definitions(f):     @functools.wraps(f)     def wrapper(script):         definitions = f(script)         if len(definitions) == 1 and not definitions[0].module_path:             return '%s is defined in %s compiled module' % (                 definitions[0].name, definitions[0].module_name)         return [[definition.module_path,                  definition.line,                  definition.column,                  definition.get_line_code().strip()]                 for definition in definitions                 if definition.module_path] or None     return wrapper  @script_method def complete(script):     return [[definition.name, definition.type]             for definition in script.completions()]  @script_method def company_complete(script):     return [[definition.name,              definition.type,              definition.docstring(),              definition.module_path,              definition.line]             for definition in script.completions()]  @script_method def show_doc(script):     return [[definition.module_name, definition.docstring()]             for definition in script.goto_definitions()]  @script_method @process_definitions def goto_definitions(script):     return script.goto_definitions()  @script_method @process_definitions def goto_assignments(script):     return script.goto_assignments()  @script_method @process_definitions def usages(script):     return script.usages()  @script_method def eldoc(script):     signatures = script.call_signatures()     if len(signatures) == 1:         signature = signatures[0]         return [signature.name,                 signature.index,                 [param.description[6:] for param in signature.params]]  # Run.  app = [complete, company_complete, show_doc, goto_definitions, goto_assignments, usages, eldoc]  service_factory.service_factory(app, server_address, 0, 'anaconda_mode port {port}')  ~/.emacs.d/.local/etc/anaconda/0.1.13 <IP_ADDRESS>
32311 pts/14   S+     0:00 /home/krishna/src/anaconda3/bin/python3 /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/jedi-0.16.0-py3.7.egg/jedi/inference/compiled/subprocess/__main__.py /home/krishna/.emacs.d/.local/etc/anaconda/0.1.13/parso-0.6.0-py3.7.egg 3.7.6

Just recently i got myself connecting to remote server doom tramp mode and experienced this issue as well. After some gap of inactivity it took a good 5 minutes or so for emacs to become responsive again. I dont know if running a script in the remote shell sort of a loop ping to keep the activity will work. In my dot ssh/config file i keep ServerAliveInterval value to 5 but doesnt seem to improve things.

I have the same problem. If the server goes down, the entire emacs will stop. Even C-g doen's work.
I got following message buffer.
 Quit QuitError during redisplay: (eval (doom-modeline-segment--buffer-info)) signaled (quit "") Error during redisplay: (eval (doom-modeline-segment--buffer-info)) signaled (quit "") Quit Process has died Tramp: Opening connection for<EMAIL_ADDRESS>using ssh... Tramp: Sending command ‘exec ssh -l root  -o ControlMaster=auto -o ControlPath='tramp.%C' -o ControlPersist=no -e none <IP_ADDRESS>’ Tramp: Waiting for prompts from remote shell...failed Tramp: Opening connection for<EMAIL_ADDRESS>using ssh...failed Cleaning up the recentf list... File /ssh:root@<IP_ADDRESS>:/xxx removed from the recentf list File ~/xxxxx removed from the recentf list Error during redisplay: (eval (doom-modeline-segment--buffer-info)) signaled (quit "") Tramp: Opening connection for<EMAIL_ADDRESS>using ssh...

I am having the same issue.  Emacs goes into a period of high CPU activity for 5-10 minutes and then becomes responsive again.  Interestingly, I had two Emacs sessions connected to the same server, and both hung at the same time, and then both became responsive again at about the same time.
Using sudo pkill -SIGUSR2 emacs in the terminal doesn't seem to help, but when Emacs did come back I had the following backtrace.  (This backtrace seems very typical when it does happen.)
Debugger entered--entering a function:
* tramp-signal-hook-function(quit nil)
  tramp-get-connection-property(#<process *tramp/ssh test.stat.novisci.internal*> "check-remote-echo" nil)
  tramp-check-for-regexp(#<process *tramp/ssh test.stat.novisci.internal*> "\\(^\\|\0\\)[^#$\n]*///e1491450520ad247f723a2baea851150...")
  tramp-wait-for-regexp(#<process *tramp/ssh test.stat.novisci.internal*> nil "\\(^\\|\0\\)[^#$\n]*///e1491450520ad247f723a2baea851150...")
  tramp-wait-for-output(#<process *tramp/ssh test.stat.novisci.internal*>)
  tramp-send-command((tramp-file-name "ssh" nil nil "test.stat.novisci.internal" nil "/share/projects/P0025/users/dpritchard/R/analy-est..." nil) "/usr/bin/test -e /share/projects/P0025/users/dprit...")
  tramp-send-command-and-check((tramp-file-name "ssh" nil nil "test.stat.novisci.internal" nil "/share/projects/P0025/users/dpritchard/R/analy-est..." nil) "/usr/bin/test -e /share/projects/P0025/users/dprit...")
  tramp-sh-handle-file-exists-p("/ssh:test.stat.novisci.internal:/share/projects/P0...")
  apply(tramp-sh-handle-file-exists-p "/ssh:test.stat.novisci.internal:/share/projects/P0...")
  tramp-sh-file-name-handler(file-exists-p "/ssh:test.stat.novisci.internal:/share/projects/P0...")
  apply(tramp-sh-file-name-handler file-exists-p "/ssh:test.stat.novisci.internal:/share/projects/P0...")
  tramp-file-name-handler(file-exists-p "/ssh:test.stat.novisci.internal:/share/projects/P0...")
  file-exists-p("/ssh:test.stat.novisci.internal:/share/projects/P0...")
  doom-modeline-update-buffer-file-state-icon()
  doom-modeline-segment--buffer-info()
  eval((doom-modeline-segment--buffer-info))
  redisplay_internal\ \(C\ function\)()

Judging from these error logs, it seems the issue is originating from the doom-modeline plugin. I'd recommend reporting it upstream (I do not maintain that package).

This also reliably breaks TRAMP on sudo: paths. It hangs with Tramp: Opening connection for root@megumi using sudo... forever. I can get out of it using C-g, but it renders sudo: unusable. Switching to light modeline fixes it.

Actually, now that I went back to doom-modeline to verify things for the bug report, it works even after I re-enabled it and re-ran doom sync. I'm confused, but it seems to work fine now.

I'm told that the common cause for this is that the remote host has an unconventional prompt (which tramp can't parse), and setting your prompt to $  when $TERM == "dumb" in your shell config (on the remote machine(s)) should fix it. e.g.

Your suggestion worked for me, HOWEVER I think my issue is different than what @Kitchi is experiencing, as I was trying to establish an initial connection which was hanging and eventually timing out.

Is the original issue still occuring @Kitchi? I cannot reproduce it, so I figure it must've been resolved at some point upstream.

@hlissner It hasn't happened in quite some time, so I guess it must have resolved itself! Thanks your help!


Migrate from deprecated node-sass to sass

Description
Migrate from deprecated node-sass to sass
Closes #529  <-- link the issue number here
Browser checklist
This PR has been tested in the following browsers:

[x] Chrome
[x] Firefox
[ ] Safari

Testing checklist

[ ] End-to-end tests have been created if necessary

I guess you'll need to commit the changes on package-lock.json as well.


Fixed #32236 -- Made LoginRequiredMixin/PermissionRequiredMixin subclass UserPassesTestMixin.

Ticket: https://code.djangoproject.com/ticket/32236

Thanks for the review @felixxm
Initially, I have updated the LoginRequiredMixin class and PermissionRequiredMixin by subclassing them from UserPassesTestMixin, as the ticket intended. But, that made the AccessMixinTests.test_stacked_mixins_not_logged_in() test cases failed :astonished:

Suppose we have a situation like below,
class LoginRequiredMixin(UserPassesTestMixin):
    """Verify that the current user is authenticated."""

    def is_authenticated(self):
        return self.request.user.is_authenticated

    def get_test_func(self):
        return self.is_authenticated

class PermissionRequiredMixin(UserPassesTestMixin):
    """Verify that the current user has all specified permissions."""
    permission_required = None

    def get_permission_required(self):
        """
        Override this method to override the permission_required attribute.
        Must return an iterable.
        """
        if self.permission_required is None:
            raise ImproperlyConfigured(
                '{0} is missing the permission_required attribute. Define {0}.permission_required, or override '
                '{0}.get_permission_required().'.format(self.__class__.__name__)
            )
        if isinstance(self.permission_required, str):
            perms = (self.permission_required,)
        else:
            perms = self.permission_required
        return perms

    def has_permission(self):
        """
        Override this method to customize the way permissions are checked.
        """
        perms = self.get_permission_required()
        return self.request.user.has_perms(perms)

    def get_test_func(self):
        return self.has_permission

from django.views.generic import View

class IsSuperUser(UserPassesTestMixin):
    def test_func(self):
        return self.request.user.is_superuser

class StackedView(
    LoginRequiredMixin,
    PermissionRequiredMixin,
    IsSuperUser,
    View
):
    permission_required = [
        'auth_tests.add_customuser',
        'auth_tests.change_customuser'
    ]
    raise_exception = True

If we consider the StackedView, only the is_authenticated(...) method of  LoginRequiredMixin is gets executed because of how the mro works in Python (correct me if I am wrong here).
So, I thought of calling the super() method of get_test_func() is the appropriate way to tackle the situation. Again, that resulted in another issue. The get_test_func() supposed to return only a single function. At last, I reached this solution.

This issue has already been mentioned in our doc under "Stacking UserPassesTestMixin" section. So, I am afraid that the "proposed solution" will result in a situation where we will not able to use the LoginRequiredMixin and PermissionRequiredMixin in a stacked fashion.

@jerinpetergeorge Thanks for details :+1: I think we should wontfix this ticket, isn't worth the complexity.
Closing per ticket.


Github Commit checks should feature link to the task in openshift

Is your feature request related to a problem? Please describe.
User should be given enough visibility into task execution
Describe the solution you'd like
Link to OCP taskrun.
Describe alternatives you've considered
none
Additional context
N/A

how can we check, if it is done?


Fix --gdb-port handling

Followup to #208. In this case I actually tested the changes. /cc @hannesm
Two problems in the original change to --gdb-port:

Can't use strncmp() to test for "--gdb" since this is true for "--gdb-port=X" also.
strtol() error handling is horrible and will happily return 0 with errno=0 if no digits were matched. Use sscanf() instead.

thanks, and sorry for breaking this


[Enhancement]:  The Navbar UI needs improvement

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The current navbar doesn't look good. It's too crowded. Also in the desktop view there is a gap between the main screen and the navbar tab in light mode.

Use Case
The navbar needs to be simple and eye-pleasing. The navbar doesn't need to have too many components. It will be easy to use the website where the design is simple and easy to interact with.
Benefits
No response
Add ScreenShots
No response
Priority
Medium
Record

[X] I have read the Contributing Guidelines
[ ] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

Hlo! @apu52 I would like to work on this issue. Plz, assign it to me.


added timestamp to error messages

Context: Currently when looking at messages on an error queue it is very difficult to decipher when they arrived
This PR:

adds a timestamp to metadata of message payload for messages hitting error queue
adding "metadata": {"timestamp": "2022-03-16T18:38:20.972894Z"}

Notes: could additionally show unix timestamp property of RMQ messages if there's no drawback to that

Codecov Report

Merging #74 (3b8fb2c) into master (3a4242b) will decrease coverage by 0.06%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master      #74      +/-   ##
==========================================
- Coverage   66.52%   66.45%   -0.07%
==========================================
  Files          33       33
  Lines        1422     1425       +3
==========================================
+ Hits          946      947       +1
- Misses        476      478       +2

Impacted Files
Coverage Δ

ergo/amqp_invoker.py
29.29% <33.33%> (+0.12%)
:arrow_up:

ergo/version.py
33.33% <100.00%> (ø)

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 3a4242b...3b8fb2c. Read the comment docs.


quic-go  checksum mismatch ?

any one come across this error when doing go mod download ?
I  am seeing this error in docker builds
verifying<EMAIL_ADDRESS>checksum mismatch
	downloaded: h1:dYHUyB50gEQlK3KqytmNySzuyzAcaQ3iuI2ZReAfVrE=
	go.sum:     h1:TRbvZ6F++sofeGbh+Z2IIyIOhl8KyGnYuA06g2yrHdI=

SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

For more information, see 'go help module-auth'.

i'm not able to fix this via go mod magic, so i simply change hash sum inside go.sum file with provided
h1:dYHUyB50gEQlK3KqytmNySzuyzAcaQ3iuI2ZReAfVrE=

Try to purge modules cache ($GOPATH/pkg) and go.sum file.

This library is causing me all sorts of trouble. I can fix it by changing the go.mod, but it goes without saying that's sketchy. Maybe there's a version of it that can be pinned that's ok.

We have updated go.mod for go 1.13 and this issue should be fixed. In some cases it may require doing go clean -modcache.

Have anyone checked why the checksum have changed? Is it really the author of quic-go that changed the v0.12.0 release or ... someone else? Ruby have recently had problem with some support libraries that have been hijacked by hackers.

We had discovered something interesting couple of day ago:
If go.mod refers to a specific version of Go then no matter what version of go you use locally you'll probably be served the checksums for the version of the Go in the go.sum.
Checksum seem to differ between go versions i.e. checksums for Go 1.13 is different from the checksum for the very same package for Go 1.12.

The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

For more information, see 'go help module-auth'.

i just remove all contents in the go.sum file and run command again, the issue is gone.


Add this package on npm registery

Hi team.
I'm not using bower anymore;
Could you submit this package on npm?

Hey would be so nice to have access via npm.
Any thoughts on this?

here ti is :)
https://www.npmjs.com/package/medium-editor-embed-button


Update python3.12 in build runner

Type of change
Note: Fill x in []

[x] bug
[x] enhancement
[ ] documentation
[ ] dependencies

Description

Update python3.12 in build runner and adding setuptools package installation
For security reasons, all pull requests need to be approved first before running any automated CI

Changes merged into PR

Changes merged into PR


SecInf Test-TargetResource can return value other than true

https://github.com/jcwalker/SeceditDsc/blob/dev/DSCResources/MSFT_SecInf/MSFT_SecInf.psm1#L100
https://github.com/jcwalker/SeceditDsc/blob/dev/DSCResources/Library/Helper.psm1#L211
Ralph Kyttle reported the following issue to me on WS2016, and I think it's in the above lines of code - the output of secedit.exe can return a value which PS treats as a return in the function. Piping to out-null should fix this, like I did here: https://github.com/zjalexander/AuditPolicyDsc/blob/master/DSCResources/Helper.psm1#L385
PS C:\Program Files\DSC-EA\Output> Test-DscConfiguration -ComputerName DSCTEST10 -ReferenceConfiguration 'C:\Program Files\DSC-EA\localhost.mof'
WARNING: [DSCTEST10]:                            [[SecInf]SecurityTemplate] Cannot bind argument t
o parameter 'ReferenceObject' because it is null.
The PowerShell DSC resource C:\Program
Files\WindowsPowerShell\Modules\SeceditDSC\DscResources\MSFT_SecInf returned results in a format
that is not valid. The results from running Test-TargetResource must be the boolean value True
or False.
    + CategoryInfo          : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimE
   xception
    + FullyQualifiedErrorId : TestTargetResourceInvalidResultFormat
    + PSComputerName        : DSCTEST10

Made the suggested corrections @zjalexander suggested to MSFT_SecInf.psm1 but not to Helper.psm1 as the line of code in question is not executed in Test-TargetResource.

Thanks Jason!  I was able to test and this is working correctly now.


Initial Stickler CI configuration

Your configuration file uses an unknown linter. The sass-lint linter is not a supported linter.


Can't use Tab/Enter in IME candidates list

Describe the bug
After #12560, Tab can't be used anymore to select composition candidates, and Enter never commits the composition.
To Reproduce
Switch to Japanese Kana keyboard layout, type a few chars until the IME candidates list appear.
Try to use Tab to select a candidate: Tab is handled by Avalonia instead and the focus moves.
Try to use Enter to validate the IME: Enter is handled by Avalonia instead and inputs a line break.
(And probably other special shortcuts I'm not aware of.)
Expected behavior
While an IME session is active, the keys should go to it.
Remarks
I'm not sure what's the best resolution is here, the reversed TextInput/KeyDown events order before #12560 wasn't ideal but it ensured that special keys were handled by the IME.
There's no IME start/end notification on macOS?
@danwalmsley @Gillibald

If IME is in play user code should never get events that are processed by IME. Attempting to handle those is invalid behavior which needs to be removed.


Convert FormulaLock to more generic LockFile.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

Converts FormulaLock to LockFile, which is then again subclassed as CaskLock and FormulaLock.

@reitermarkus Merge when you're ready and able to be around for a bit in case the cosmetic change goes 💥


Alibi-explain runtime kernel_shap fixes

fixes #1008
This PR adds two extra optional configuration fields:

explainer_batch: whether an explainer can consume a batch (e.g. in the case of kernel_shap)
infer_output: allowing the user to specify which output to explain in the case of multi-output inference models

LGTM!


Added taskwarrior flutter

#643
https://github.com/CCExtractor/taskwarrior-flutter
This is the repo of mobile app of taskwarrior

please merge my pr

@ashitaprasad please merge my pr


Normalize variable names

Current behavior

We have a number of different variable naming conventions in the project:
For referring to elements, by:

non-prefixed atomic name (ex)
non-prefixed atomic name BEM-style (ex)
element name (ex)
conceptual name (ex)

For the states of things we use:

BEM style (ex)
dash style (ex)
mix of BEM and dash (ex)

Expected behavior

Variable naming conventions are consistent and when creating new variable names it's clear how to name them.

Things we target with variables:

text color
border color
background color
outline color
drop-shadow color
The above for hover, focus, disabled, active (for links).
margin
padding
height
width (for breakpoints)
font-size
font family


Refactor cert selector to read domain names from the X509Cert object

Follow-up to #41. The X509 cert itself contains all the info necessary to figure out which domains it can support. Use this instead of a separate parameter for DNS names.

Don't know why this change is causing the X509 cert store tests to change on Windows...

Nevermind. It looks like this test is flaky. https://dev.azure.com/natemcmaster/github/_build/results?buildId=735


Need help installing plug-in for 64 bit Firefox.

Skype for Business will join meetings if your Firefox browser is 32 bit.  But the web-app installer does not install a plugin for 64 bit Firefox (version 51.01). Please help.

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

ID: 7ce7a531-5b1f-f404-50a3-58eb285a0a1a
Version Independent ID: 61d27af3-cfd6-ed7f-102c-072721db0209
Content: Plan for Meetings clients (Web App and Meetings App)
Content Source: Skype/SfbServer/plan-your-deployment/clients-and-devices/meetings-clients.md
Product: skype-for-business-itpro
GitHub Login: @jambirk
Microsoft Alias: jambirk

Thank you for this feedback and for contributing to the wellness of the content! This is a good idea and we have added it into our backlog for triage and prioritization.

@tseward Is investigating this.

Hi @nsshommo thanks for your feedback, @yogkumgit can you please redirect him to Support services?

@nsshommo helped me move a bunch of these issues from the old proprietary TechNet feedback system so he wasn't actually the one with the issue. I just wanted to get them in here in case we could capture any knowledge. The original person that opened this long ago solved their problem so will go ahead and close this one out.


handle different verify callbacks

comply with passport's weirdness
https://github.com/jaredhanson/passport-oauth2/blob/master/lib/strategy.js#L180

LGTM

lgtm otherwise


Internal Events

Sometimes, It can be useful to produce an event after an action and do something else with that event!
I think handle this kind of process can be a great improvement.
Thanks

In nestjs, it can use interceptors to accomplish this purpose.
You can see how to use them in 'spec/request-interceptor' and 'spec/response-interceptor'

Thank you @jiho-kr


pull request for e2e test at 01/17/2017 21:15:11

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.